Mention trace.el facilities in the ELisp manual
[emacs.git] / ChangeLog.3
blob9bf9bab1178d38f8b57823db21f7d8092931af97
1 2018-01-12  Katsumi Yamaoka  <yamaoka@jpl.org>
3         * lisp/gnus/message.el (message-do-auto-fill): Prevent do-auto-fill from
4         adding extra citation mark (bug#29767, but it is a different bug).
6 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
8         Improve documentation of etags
10         * doc/emacs/maintaining.texi (Tag Syntax, Create Tags Table):
11         Improve documentation of etags options and of source language
12         detection.
14 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
16         Teach etags new interpreters for some languages
18         * lib-src/etags.c (Erlang_interpreters, Lua_interpreters)
19         (Prolog_interpreters, Python_interpreters, Ruby_interpreters): New
20         static variables.
21         (lang_names): Use them to set interpreters for Erlang, Lua,
22         Prolog, Python, and Ruby.
23         (find_entries): Support "/usr/bin/env FOO" form of specifying an
24         interpreter.
26         * test/manual/etags/perl-src/htlmify-cystic: Modify the has-bang
27         line to test the "env FOO" interpreter spec.  (Bug#30075)
28         * test/manual/etags/ETAGS.good_1:
29         * test/manual/etags/ETAGS.good_2:
30         * test/manual/etags/ETAGS.good_3:
31         * test/manual/etags/ETAGS.good_4:
32         * test/manual/etags/ETAGS.good_5:
33         * test/manual/etags/ETAGS.good_6: Adapt to latest changes in test
34         files.
36 2018-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
38         * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-string' prop.
40         * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#29767
42 2018-01-10  Charles A. Roelli  <charles@aurox.ch>
44         Improve documentation of fill-separate-heterogeneous-words-with-space
46         * lisp/textmodes/fill.el
47         (fill-separate-heterogeneous-words-with-space): Fix grammar.
49 2018-01-10  Eli Zaretskii  <eliz@gnu.org>
51         Fix documentation of some x-* functions
53         * lisp/term/pc-win.el (x-display-pixel-width)
54         (x-display-pixel-height, x-display-planes)
55         (x-display-color-cells, x-server-max-request-size)
56         (x-server-vendor, x-server-version, x-display-screens)
57         (x-display-mm-height, x-display-mm-width)
58         (x-display-backing-store, x-display-visual-class): Provide doc
59         strings, so that 'makedoc' produces non-empty documentation in
60         etc/DOC for these functions.  (Bug#30068)
62 2018-01-10  Philipp Stephani  <phst@google.com>
64         Inherit query-on-exit flag to stderr process (Bug#30031)
66         * src/process.c (Fmake_process): Have the pipe process honor the
67         parent's query-on-exit flag.
69         * test/src/process-tests.el (make-process/noquery-stderr): New test.
71 2018-01-10  Michael Albinus  <michael.albinus@gmx.de>
73         Fix Bug#30057
75         * test/lisp/filenotify-tests.el (file-notify--test-tmpdir): New defvar.
76         (file-notify--test-cleanup, file-notify--test-make-temp-name)
77         (file-notify-test01-add-watch, file-notify-test03-events)
78         (file-notify-test05-file-validity)
79         (file-notify-test09-watched-file-in-watched-dir)
80         (file-notify-test10-sufficient-resources): Use it.  (Bug#30057)
82 2018-01-10  Glenn Morris  <rgm@gnu.org>
84         Tag some unstable tests, and skip by default (bug#24503)
86         * Makefile.in (check-all): New phony target.
87         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE):
88         Also skip unstable tests.
89         (SELECTOR_ALL): New variable.
90         (check-all): New phony target.
91         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
92         (eieio-test-method-order-list-6):
93         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
94         (eieio-test-37-obsolete-name-in-constructor):
95         Mark as unstable rather than skipping on hydra.nixos.org.
97 2018-01-10  Paul Eggert  <eggert@cs.ucla.edu>
99         Merge from Gnulib
101         This incorporates:
102         2018-01-05 maint: Add encoding marker for Emacs to non-ASCII sources
103         2018-01-04 update-copyright: Handle use of ©
104         2018-01-04 pthread_sigmask: Avoid compilation error on mingw
105         2018-01-02 stat-time: silence -Wunused-parameter regression
106         * build-aux/config.guess, build-aux/config.sub:
107         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/gnulib.mk.in:
108         * lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c:
109         * lib/sha256.h, lib/sha512.c, lib/sha512.h, lib/signal.in.h:
110         * lib/stat-time.h: Copy from Gnulib, or regenerate.
112 2018-01-09  Glenn Morris  <rgm@gnu.org>
114         * lisp/epg.el (epg-start-sign): Replace obsolete functions.
116 2018-01-09  Glenn Morris  <rgm@gnu.org>
118         Small fix for erc-logging-enabled
120         * lisp/erc/erc-log.el (erc-logging-enabled):
121         Respect buffer-locality of erc-enable-logging variable.
123 2018-01-09  Glenn Morris  <rgm@gnu.org>
125         Quieten semantic normal usage
127         * lisp/cedet/semantic/lex.el (semantic-flex): Mark obsolete at
128         compile time in the normal way, not at run-time.  (Bug#30035)
130 2018-01-08  Eli Zaretskii  <eliz@gnu.org>
132         Avoid irrelevant hyperlink in doc string of 'epa-pinentry-mode'
134         * lisp/epa.el (epa-pinentry-mode): Doc fix.  (Bug#30025)
136 2018-01-08  Michael Albinus  <michael.albinus@gmx.de>
138         * doc/misc/tramp.texi (Remote processes): Mention gdb restrictions with I/O.
140 2018-01-08  Noam Postavsky  <npostavs@gmail.com>
142         Query background for gnome terminal version 3.22 (Bug#29716)
144         * lisp/term/xterm.el (xterm--version-handler): Use
145         xterm--report-background-handler for terminals reporting minor version
146         4000 and above.
148 2018-01-07  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
150         Make pixel-wise scrolling less laggy
152         * lisp/pixel-scroll.el (pixel-dead-time, pixel-last-scroll-time):
153         New variables.
154         (pixel-scroll-up, pixel-scroll-down): Invoke 'scroll-up' or
155         'scroll-down' when called within 'pixel-dead-time'.  (Bug#29737)
157 2018-01-07  Alan Third  <alan@idiocy.org>
159         Fix child frame placement issues (bug#29953)
161         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS):
162         (NS_PARENT_WINDOW_TOP_POS): Get the parent frame through the frame
163         struct as invisible child windows are detached from their parents in
164         NS.
165         * src/nsterm.m (x_set_offset): Offscreen frames have `nil' screen
166         value, so handle that gracefully.  Child frames with negative left and
167         top should be positioned relative to the bottom right of the parent
168         frame.
170 2018-01-06  Alan Mackenzie  <acm@muc.de>
172         Describe the precise interaction of complex primitives with the change hooks
174         * doc/lispref/text.texi (Change Hooks): Document that most buffer changing
175         primitives call before- and after-change-functions in balanced pairs, but that
176         some complex primitives call b-c-f once, and a-c-f zero, one, or several
177         times.
179 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
181         Fix valgrind report in call-interactively
183         * src/callint.c (Fcall_interactively): Don't try to access more
184         bytes than are available in the interactive spec.  (Bug#30004)
186 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
188         * src/editfns.c (Fsave_excursion): Doc fix.  (Bug#30001)
190 2018-01-06  Alan Mackenzie  <acm@muc.de>
192         Fix mark-defun when there's no spaces between successive defuns.
194         The problem was a parse-partial-sexp call which tried to use the STOPBEFORE
195         argument to detect non-syntactic WS.  This fails on a "}", which does not
196         begin a sexp.
198         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p): Enhance to
199         handle BOL being in a string.
200         (beginning-of-defun-comments): Call the above function in place of the call
201         to parse-partial-sexp.
203 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
205         Fix Dired display and operations on file names with raw bytes
207         * src/coding.c (decode_coding): When flushing remaining raw bytes
208         from multibyte text, copy 2-byte forms of eight-bit-*
209         characters as single characters, not as 2 raw bytes.  (Bug#29189)
211 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
213         Improve documentation of 'gdb-many-windows'
215         * doc/emacs/building.texi (GDB User Interface Layout): Add advice
216         for using a separate frame for 'gdb-many-windows'.
218 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
220         Fix failures in smerge-mode on MS-Windows
222         * lisp/vc/smerge-mode.el (smerge--refine-chopup-region): Use
223         utf-8-emacs-unix, not emacs-internal, to make the forced EOL
224         convention explicit.
225         (smerge-refine-regions): Use utf-8-emacs instead of
226         emacs-internal, to allow decoding of non-Unix EOL conventions.
227         (Bug#29916)
229 2018-01-04  Stephen Leake  <stephen_leake@stephe-leake.org>
231         Fix description of 'struct' generic function specializer
232         Backport:
234         * doc/lispref/functions.texi (Generic Functions): Fix description of
235         'struct' specializer; it must be the named struct or a child, not a
236         parent.
238         (cherry picked from commit b6add8c7cfc6d36f9dd8ad99be06bd8ab41cc6f8)
240 2018-01-04  Charles A. Roelli  <charles@aurox.ch>
242         * etc/DEBUG (Getting control to the debugger): Fix grammar.
244 2018-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
246         * lisp/vc/vc.el (vc-region-history): log-view-vc-fileset holds a list!
248 2018-01-03  Noam Postavsky  <npostavs@gmail.com>
250         Don't bind dframe events on load (Bug#29599)
252         * lisp/dframe.el (dframe-setup-hook): New hook.
253         (dframe-set-special-events): New function, containing previous
254         top-level key binding code.
255         (top-level): Add it to dframe-setup-hook.
256         (dframe-frame-mode): Run the hook.
258 2018-01-02  Eli Zaretskii  <eliz@gnu.org>
260         * lisp/textmodes/picture.el (picture-mode-exit): Doc fix.  (Bug#29949)
262         * lisp/textmodes/picture.el (picture-open-line): Doc fix.  (Bug#29948)
264 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
266         Fix description of 'emacs-internal'
268         * doc/lispref/nonascii.texi (Coding System Basics): Correct
269         inaccuracy in description of 'emacs-internal'.  (Bug#29916)
271 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
273         Update PROBLEMS with selection-related issues
275         * etc/PROBLEMS: Update the entry about large selections and
276         klipper.  (Bug#29661)
278 2018-01-01  Ross Donaldson  <gastove@gmail.com>  (tiny change)
280         New customization variable for python-mode indentation (Bug#28475)
282         * lisp/progmodes/python.el (python-indent-def-block-scale): New variable.
283         (python-indent--calculate-indentation): Let it control how many indent
284         levels are inserted for multi-line function signatures.
286 2018-01-01  Alan Third  <alan@idiocy.org>
288         Fix menu keyboard shortcuts on macOS (Bug#29595)
290         * src/nsmenu.m (addItemWithWidgetValue)[NS_IMPL_COCOA]: It looks like
291         macOS 10.13 no longer ignores long modifier strings, so explicitly use
292         an empty string.
294 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
296         Fix copyright years by hand
298         These are dates that admin/update-copyright did not update, or
299         updated incorrectly.
301 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
303         Update copyright year to 2018
305         Run admin/update-copyright.
307 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
309         Merge from Gnulib
311         This incorporates:
312         2018-01-01 maint: Run 'make update-copyright'
313         2017-12-29 Add cross-compilation results for GNU/Hurd.
314         2017-12-12 explicit_bzero: port to macOS + Clang 9.0.0
316 2017-12-31  Gemini Lasswell  <gazally@runbox.com>
318         Don't add empty keyboard macro to macro ring (Bug#24992)
320         * lisp/kmacro.el (kmacro-end-call-mouse): Don't save a newly defined
321         macro if it is empty.
323         * test/lisp/kmacro-tests.el (kmacro-tests-end-and-call-macro-mouse):
324         Remove expected failure tag.
326 2017-12-31  Eli Zaretskii  <eliz@gnu.org>
328         Allow customization of decoding of "man" command
330         * lisp/man.el (Man-coding-system): New defcustom.
331         (Man-start-calling): Use it, and also pay attention to user
332         overriding coding-system-for-read.  (Bug#29872)
334 2017-12-31  Daiki Ueno  <ueno@gnu.org>
336         * etc/NEWS: Add security consideration note on passphrase input
338 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
340         Fix subtle problem with scroll-down when scroll-margin is nonzero
342         * src/window.c (window_scroll_pixel_based): Account for
343         scroll-margin when scrolling down, i.e. moving window-start
344         towards the beginning of the buffer.  Reported by zhang cc
345         <ccsmile2008@outlook.com> in
346         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00894.html.
348 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
350         Fix problems with indexing in User manual
352         * doc/emacs/basic.texi (Continuation Lines, Inserting Text)
353         (Moving Point):
354         * doc/emacs/help.texi (Help Echo, Package Keywords, Help Mode):
355         * doc/emacs/trouble.texi (Quitting):
356         * doc/emacs/mark.texi (Setting Mark, Disabled Transient Mark):
357         * doc/emacs/custom.texi (Modifier Keys, Init Examples)
358         (Creating Custom Themes):
359         * doc/emacs/programs.texi (Program Modes, Expressions, Hideshow)
360         (Basic Indent, Info Lookup, Symbol Completion):
361         * doc/emacs/screen.texi (Echo Area):
362         * doc/emacs/xresources.texi (Table of Resources, GTK Names in Emacs):
363         * doc/emacs/display.texi (Line Truncation, Cursor Display):
364         * doc/emacs/files.texi (File Names, Backup, File Archives):
365         * doc/emacs/dired.texi (Operating on Files, Dired Enter):
366         * doc/emacs/commands.texi (User Input):
367         * doc/emacs/mule.texi (International, Unibyte Mode)
368         (International Chars):
369         * doc/emacs/vc1-xtra.texi (RCS and SCCS, Version Headers)
370         (CVS Options):
371         * doc/emacs/modes.texi (Major Modes, Minor Modes):
372         * doc/emacs/indent.texi (Just Spaces):
373         * doc/emacs/frames.texi (Mouse Avoidance, Mode Line Mouse)
374         (Frame Commands):
375         * doc/emacs/cmdargs.texi (Initial Options):
376         * doc/emacs/abbrevs.texi (Dabbrev Customization):
377         * doc/emacs/mini.texi (Completion Example, Completion Commands):
378         * doc/emacs/calendar.texi (Writing Calendar Files, Calendar Unit Motion)
379         (From Other Calendar):
380         * doc/emacs/regs.texi (Text Registers, Bookmarks):
381         * doc/emacs/buffers.texi (Several Buffers, Select Buffer):
382         * doc/emacs/maintaining.texi (Xref Commands):
383         * doc/emacs/windows.texi (Pop Up Window):
384         * doc/emacs/text.texi (Text, Org Mode):
385         * doc/emacs/killing.texi (Other Kill Commands):
386         * doc/emacs/misc.texi (Document View, Gnus Group Buffer)
387         (Gnus Summary Buffer, Shell Mode):
388         * doc/emacs/cal-xtra.texi (Sexp Diary Entries): Remove or reword
389         redundant identical index entries.
390         * doc/emacs/custom.texi (Mouse Buttons)
391         * doc/emacs/files.texi (Reverting): Fix hyphenation.
392         * doc/emacs/emacs.texi (Top): Improve wording of Index menu items.
393         * doc/emacs/files.texi (File Conveniences):
394         * doc/emacs/programs.texi (MixedCase Words): Make entries that
395         belong to Concept Index be indexed with @cindex.  (Bug#29888)
397 2017-12-29  Alan Mackenzie  <acm@muc.de>
399         * lisp/help.el (describe-key): Only (copy-sequence elt) when elt is a list.
401 2017-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
403         * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
405         Don't mess with the lock file when inhibit_modification_hooks is set,
406         just like we do in prepare_to_modify_buffer_1.
408 2017-12-28  Eli Zaretskii  <eliz@gnu.org>
410         Improve documentation of 'inhibit-modification-hooks' and friends
412         * src/buffer.c (Fset_buffer_modified_p)
413         (Frestore_buffer_modified_p): Doc fixes.
414         * src/insdel.c (syms_of_insdel) <inhibit-modification-hooks>:
415         Document in the doc string that this variable also inhibits file
416         locks and active region handling.  (Bug#29846)
418 2017-12-28  David Pathakjee  <dpathakjee@gmail.com>  (tiny change)
420         Fix doc string of 'enable-recursive-minibuffers'
422         * src/minibuf.c (syms_of_minibuf) <enable-recursive-minibuffers>:
423         Doc fix.  (Bug#29873)
425 2017-12-27  Eli Zaretskii  <eliz@gnu.org>
427         Fix documentation of delsel and of killing text
429         * doc/emacs/killing.texi (Appending Kills): Make sure the text
430         with 2 spaces is not broken between 2 lines.
431         * doc/emacs/mark.texi (Using Region): Remove the sentence about
432         delsel mode that describes behavior which exists even without
433         delsel mode turned on.  Suggested by Petteri Hintsanen
434         <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
436         * lisp/delsel.el (delete-selection-mode): Doc fix.
438 2017-12-27  Glenn Morris  <rgm@gnu.org>
440         * doc/lispref/strings.texi (Case Conversion):
441         Use a TeX font that support ligatures.
443 2017-12-27  Charles A. Roelli  <charles@aurox.ch>
445         * doc/misc/speedbar.texi (Top): Fix grammar.
447         * lisp/subr.el (with-silent-modifications): Doc fixes.
449 2017-12-26  Eli Zaretskii  <eliz@gnu.org>
451         Fix curved quotes in printed manual
453         * doc/emacs/text.texi (Quotation Marks): Fix curved quote
454         characters in the printed version of the manual.
456 2017-12-25  Paul Eggert  <eggert@cs.ucla.edu>
458         Say that "gnus-cloud" is a parody name
460 2017-12-25  Eli Zaretskii  <eliz@gnu.org>
462         More improvements for text.texi
464         * doc/emacs/text.texi (Outline Motion): Avoid unneeded
465         repetition.  Suggested by Petteri Hintsanen <petterih@iki.fi> in
466         emacs-manual-bugs@gnu.org.
468 2017-12-24  Eli Zaretskii  <eliz@gnu.org>
470         Adjudicate review comments for the "Text" chapter of user manual
472         * doc/emacs/text.texi (Text): Rearrange text for clarity.  Add
473         cross-reference to the Org manual.  Make the cross-reference to
474         Outline Mode appear in online manuals as well (the conditional was
475         a forgotten remnant from time immemoriam).
476         (Paragraphs): Add a note that 'paragraph-start' and
477         'paragraph-separate' should not be anchored.
478         (Auto Fill): Remove redundant text.  Suggested by Petteri
479         Hintsanen <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
481 2017-12-24  Andreas Schwab  <schwab@linux-m68k.org>
483         * lisp/url/url-http.el
484         (url-http-wait-for-headers-change-function): Change message to
485         url-http-debug.
487 2017-12-24  Alan Mackenzie  <acm@muc.de>
489         In C-h k <mouse-n>, alert user to existence of any matching down-mouse-event
491         , and instruct her to hold the mouse button to display its documentation.
493         * lisp/help.el (help-downify-mouse-event-type): New function.
494         (help-read-key-sequence, describe-key): handle double-click-time being nil or
495         t.
496         (describe-key): Print out instructions for displaying documentation of
497         matching mouse down key sequence command when such exists.
499 2017-12-23  Andreas Schwab  <schwab@linux-m68k.org>
501         * net/eww.el (eww): Handle URLs without host part.
503 2017-12-23  Alan Mackenzie  <acm@muc.de>
505         Make C-h c/k S-mouse-1 display message for mouse-appearance-menu, etc.
507         Currently, C-h c/k for S-mouse-1 reports that S-mouse-1 is unbound, ignoring
508         that S-down-mouse-1 is bound.  We fix this by reporting on the "latest" mouse
509         event of a sequence which is bound.
511         * lisp/help.el (help-read-key-sequence): Save all encountered mouse events in
512         a list.  Return the latest one which has a binding.
514 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
516         Avoid crashes when ':eval' deletes our frame
518         * src/xdisp.c (display_mode_element): Signal an error if
519         ':eval' somehow deletes the frame whose window we are
520         redisplaying. (Bug#29726)
522 2017-12-23  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
524         Fix scrolling up in pixel-scroll.el
526         * lisp/pixel-scroll.el (pixel-scroll-up): Do not try to move cursor
527         down when EOB is shown at the top.  This function is reverted to
528         commit 1bda71ec3b11eeb4d06c3da094a3cb21bac18d5c. (bug#29737)
530 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
532         Fix problems with ligatures in PDF version of ELisp manual
534         * doc/lispref/strings.texi (Case Conversion): Avoid problems with
535         ligatures in printed versions of the manual.  (Bug#29818)
537 2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
539         (elisp-flymake-byte-compile): Handle killed buffer in sentinel
541         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
542         Don't burp if the source-buffer has been killed.
544 2017-12-22  Glenn Morris  <rgm@gnu.org>
546         Avoid some overfull lines in PDF lispref
548         * doc/lispref/commands.texi (Reading One Event):
549         * doc/lispref/display.texi (SVG Images):
550         * doc/lispref/frames.texi (Size Parameters):
551         * doc/lispref/syntax.texi (Categories):
552         * doc/lispref/windows.texi (Frame Layouts with Side Windows):
553         Avoid overfull lines.
555 2017-12-22  Glenn Morris  <rgm@gnu.org>
557         Avoid some overfull lines in PDF manual
559         * doc/emacs/display.texi (Display Custom):
560         * doc/emacs/search.texi (Other Repeating Search):
561         * doc/emacs/text.texi (Quotation Marks): Avoid overfull lines.
563 2017-12-22  Glenn Morris  <rgm@gnu.org>
565         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
566         Fix ref.
568 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
570         * lisp/emacs-lisp/inline.el (define-inline): Add a doc string.
572 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
574         Fix doc string of 'footnote-style-alist'
576         * lisp/mail/footnote.el (footnote-style-alist): Remove a reference
577         to non-existing files from doc string.  (Bug#29759)
579 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
581         Improve documentation of selecting windows
583         * doc/lispref/windows.texi (Basic Windows, Selecting Windows):
584         Clarify what selecting a window means for keyboard input, and that
585         input focus may need to be considered when selecting windows on
586         other frames.  See
587         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00372.html
588         for more details.
590 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
592         Improve documentation of records
594         * doc/lispref/Makefile.in (srcs): Add the forgotten records.texi.
595         * doc/lispref/records.texi (Records): Recommend that record type
596         names use package-naming conventions.
598         * etc/NEWS: Add the naming convention recommendation for record
599         types.
601 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
603         * etc/NEWS: Mention the removal of pinentry.el.  (Bug#27445)
605 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
607         Fix interactive spec of 'semantic-ia-show-variants'
609         * lisp/cedet/semantic/ia.el (semantic-ia-show-variants): Fix the
610         interactive spec to match the function's expectations.  (Bug#29770)
612 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
614         Fix documentation of 'mouse-drag-and-drop-region' and friends
616         * doc/emacs/frames.texi (Drag and Drop): Index
617         'mouse-drag-and-drop-region-cut-when-buffers-differ',
618         'mouse-drag-and-drop-region-show-tooltip', and
619         'mouse-drag-and-drop-region-show-cursor'.
621         * etc/NEWS: Fix the format of the related entries.
623 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
625         Improve detection of speller version in ispell.el
627         * lisp/textmodes/ispell.el (ispell-check-version): Accept more
628         general forms of version numbers for Aspell, Hunspell, and
629         Enchant, to include various beta and prereleases.  (Bug#29801)
631 2017-12-22  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
633         Document 'mouse-drag-and-drop-region' options and mention them in NEWS
635         * doc/emacs/frames.texi (Drag and Drop):
636         * etc/NEWS (times): Document options for
637         'mouse-drag-and-drop-region' and mention them in NEWS.
639 2017-12-22  Martin Rudalics  <rudalics@gmx.at>
641         Fix uses of 'nil' and 'non-nil' in manuals and a few more minor issues
643         * doc/emacs/building.texi (Grep Searching): Fix doc of
644         'grep-save-buffers'.
645         (Drag and Drop): Reorder paragraphs.  Fix doc of
646         'mouse-drag-and-drop-region'.
647         * doc/emacs/frames.texi (Word and Line Mouse):
648         * doc/emacs/search.texi (Other Repeating Search):
649         * doc/lispref/compile.texi (Compilation Functions):
650         * doc/lispref/files.texi (Directory Names):
651         * doc/lispref/functions.texi (Advising Named Functions):
652         * doc/lispref/keymaps.texi (Controlling Active Maps):
653         * doc/lispref/lists.texi (Association Lists):
654         * doc/lispref/windows.texi (Quitting Windows): Fix uses of
655         'non-nil' and 'nil'.
657 2017-12-21  Philipp Stephani  <phst@google.com>
659         Document that mode commands should be idempotent.
661         * doc/lispref/modes.texi (Major Mode Conventions, Minor Mode
662         Conventions): Document that the mode commands should be idempotent.
664 2017-12-21  Alan Mackenzie  <acm@muc.de>
666         Fontify a CPP construct correctly when a comment follows without spaces
668         Do this by removing a broken optimization in the state cache which put
669         category text properties on a character between the end of the CPP construct
670         and the beginning of the comment.  This can't work when there's no such
671         character.
673         * lisp/progmodes/cc-defs.el (c-cpp-delimiter, c-set-cpp-delimiters)
674         (c-clear-cpp-delimiters, c-comment-out-cpps, c-with-cpps-commented-out)
675         (c-with-all-but-one-cpps-commented-out): Remove.
677         * lisp/progmodes/cc-engine.el (c-no-comment-end-of-macro): Return the comment
678         start position rather than one character before it.
679         (c-invalidate-state-cache, c-parse-state): Remove the invocations of
680         c-with-all-but-one-cpps-commented-out and c-with-cpps-commented-out.
682         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Rename to
683         c-neutralize-syntax-in-CPP and remove the bits which applied category
684         properties.
686         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Incorporate the
687         new name of the function c-neutralize-syntax-in-CPP.
689 2017-12-21  Eli Zaretskii  <eliz@gnu.org>
691         Prevent infloop in redisplay on TTY frames
693         * src/xdisp.c (extend_face_to_end_of_line): Avoid infloop when
694         filling up display margins with the default face's background.
695         (Bug#29789)
697 2017-12-21  Alan Mackenzie  <acm@muc.de>
699         Fix loss of documentation face in certain CC Mode doc comment situations
701         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Take into account
702         the possibility of font-lock-comment-delimiter-face.  Test rigorously for
703         "/**" (etc.) being itself inside a literal, rather than just depending on the
704         face of the previous character.
706 2017-12-21  Daiki Ueno  <ueno@gnu.org>
708         Remove pinentry.el
710         * lisp/epg.el (epg--start): Remove the use of pinentry.el.
711         * lisp/net/pinentry.el: Remove (bug#27445).
713 2017-12-21  Ted Zlatanov  <tzz@lifelogs.com>
715         Special-case %DUMBFW for GnuTLS between 3.2.5 and 3.5.1
717         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT__DUMBFW for GnuTLS >= 3.2.5.
718         (Fgnutls_available_p): Use it.
720 2017-12-21  Andy Moreton  <andrewjmoreton@gmail.com>
722         Work around GnuTLS version issues with %DUMBFW (tiny change)
724         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT_GET_NAME and use it.
725         (init_gnutls_functions): Use it.
726         (Fgnutls_available_p): Use it (Bug#25061). Fix Vlibrary_cache bug.
728 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
730         Merge branch 'widen-less' into emacs-26
732 2017-12-20  Glenn Morris  <rgm@gnu.org>
734         * lisp/erc/erc.el (erc-shorten-server-name): Silence compiler warning.
736 2017-12-20  Glenn Morris  <rgm@gnu.org>
738         Fix some more aliases to user options
740         * lisp/cus-edit.el (custom-mode-hook):
741         * lisp/erc/erc.el (erc-default-coding-system):
742         * lisp/progmodes/python.el (python-indent, python-guess-indent)
743         (python-shell-virtualenv-path)
744         (python-shell-completion-module-string-code)
745         (python-shell-completion-pdb-string-code, python-use-skeletons):
746         Define aliases to user options before the options are defined.
748 2017-12-20  Glenn Morris  <rgm@gnu.org>
750         Fix some flymake aliases
752         * lisp/progmodes/flymake-proc.el (flymake-xml-program)
753         (flymake-compilation-prevents-syntax-check, flymake-master-file-dirs)
754         (flymake-master-file-count-limit, flymake-allowed-file-name-masks):
755         * lisp/progmodes/flymake.el (flymake-start-syntax-check-on-find-file):
756         Define aliases to user options before the options are defined.
758 2017-12-20  Glenn Morris  <rgm@gnu.org>
760         Unbreak a fileio test on non-Mac OS X systems
762         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
763         Don't use an undefined coding system.
765 2017-12-20  Robert Pluim  <rpluim@gmail.com>
767         Fix updating scrollbar sizes when scaling is in effect
769         * src/gtkutil.c (xg_update_scrollbar_pos): Update width of
770         scrollbar when scaling is in effect.
771         (xg_update_horizontal_scrollbar_pos): Update scrollbar size
772         when scaling is in effect.
774 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
776         Widen in indent-for-tab-command in the normal case, too
778         Fixing this obvious omission.
779         * lisp/indent.el (indent--funcall-widened): New function.
780         (indent-for-tab-command): Use it.
782 2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>
784         Collect GnuTLS extensions and use them to set %DUMBFW if supported
786         * lisp/net/gnutls.el (gnutls-boot-parameters): Use it to set %DUMBFW
787         only when it's supported as "ClientHello Padding" (Bug#25061).
789         * src/gnutls.c (Fgnutls_available_p): Get extension names and
790         put them in the GnuTLS capabilities, using a hard-coded limit
791         of 100 since GnuTLS MAX_EXT_TYPES is not exported.
793 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
795         * test/lisp/emacs-lisp/derived-tests.el: Fix copy&paste leftovers
797 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
799         * lisp/subr.el (delayed-after-hook-functions): Rename from ...-forms
801         (run-mode-hooks): `funcall` the functions instead of `eval`ing the forms.
802         * lisp/emacs-lisp/derived.el (define-derived-mode): Push functions
803         rather than forms (bug#29679).
805 2017-12-18  Katsumi Yamaoka  <yamaoka@jpl.org>
807         * lisp/net/shr.el (shr-string-pixel-width): Return pixel-width,
808         not position (bug#29734).
810 2017-12-18  Dmitry Gutov  <dgutov@yandex.ru>
812         Replace the mention of c-indent-defun with js-indent-line
814         * doc/lispref/text.texi (Mode-Specific Indent):
815         Avoid mentioning c-indent-defun in the context of multi-mode
816         indentation.
818 2017-12-17  Charles A. Roelli  <charles@aurox.ch>
820         python.el doc fixes
822         * lisp/progmodes/python.el (python-shell-accept-process-output):
823         (python-shell-comint-end-of-output-p):
824         (python-shell-first-prompt-hook):
825         (python-info-beginning-of-backslash): Doc fixes.
827 2017-12-17  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
829         Make 'mouse-drag-and-drop-region' more robust and customizable
831         * lisp/mouse.el
832         (mouse-drag-and-drop-region-cut-when-buffers-differ): New option
833         to permit 'mouse-drag-and-drop-region' to cut text also when source
834         and destination buffers differ.
835         (mouse-drag-and-drop-region-show-tooltip): New option to toggle
836         display of tooltip during mouse dragging on graphic displays.
837         (mouse-drag-and-drop-region-show-cursor): New option to toggle
838         moving point with mouse cursor during mouse dragging of region.
839         (mouse-drag-and-drop-region): New face to highlight original
840         text while dragging.
841         (mouse-drag-and-drop-region): Make use of new options and face.
842         Ignore errors during tracking.
844 2017-12-17  Oscar Fuentes  <ofv@wanadoo.es>
846         Backport: Don't compare arguments that can be nil (Bug#28039)
848         copy-region-as-kill can be called passing nil as `beg' and
849         `end'. Magit does that, which caused an error when this advice was in
850         effect.
852         * lisp/ses.el (ses--advice-copy-region-as-kill): avoid comparison
853           unless `beg' and `end' are non-nil.
855 2017-12-17  Noam Postavsky  <npostavs@gmail.com>
857         Don't mess up syntax-ppss cache in electric-pair (Bug#29710)
859         In Emacs 25 and above, calling `scan-sexps', `parse-partial-sexp', or
860         similar may update the syntax-ppss cache if
861         `parse-sexp-lookup-properties' is non-nil.  Therefore, when calling
862         any of these functions with a different than normal syntax-table, the
863         cache must be cleaned afterwards.
864         * lisp/elec-pair.el (electric-pair--with-uncached-syntax): New macro.
865         (electric-pair--syntax-ppss, electric-pair--balance-info): Use it.
867 2017-12-17  Glenn Morris  <rgm@gnu.org>
869         * etc/emacs.appdata.xml: Update file format.
871 2017-12-16  Alan Third  <alan@idiocy.org>
873         Use utf-8-hfs-unix on macOS (Bug#29712)
875         This is a quick fix for the Emacs 26 release. Do not merge to master.
877         * test/src/fileio-tests.el (fileio-tests--symlink-failure): Override
878         file-name-coding-system to utf-8-hfs-unix to prevent test failure.
880 2017-12-16  Alan Mackenzie  <acm@muc.de>
882         * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
884 2017-12-16  Michael Albinus  <michael.albinus@gmx.de>
886         Improve fix for Bug#29712
888         * test/lisp/net/tramp-tests.el
889         (tramp-test32-environment-variables-and-port-numbers):
890         Adapt check for systems which do not support "echo -n".  (Bug#29712)
892 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
894         * doc/lispref/sequences.texi (Sequence Functions): Improve indexing.
896 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
898         Avoid reordering of output in 'shr-insert-document'
900         * lisp/net/shr.el (shr-string-pixel-width): Preserve point across
901         shr-pixel-column invocations.  (Bug#29734)
903 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
905         Improve documentation of 'invisible-p'
907         * doc/lispref/display.texi (Invisible Text): Document the return
908         value of 'invisible-p'.
910         * src/xdisp.c (Finvisible_p): Rename the argument POS.  Doc fix.
911         (Bug#29721)
913 2017-12-16  Martin Rudalics  <rudalics@gmx.at>
915         Remove one more check that Vframe_list is non-nil
917         * src/dispnew.c (check_glyph_memory): Remove no-longer-needed
918         check that Vframe_list is non-nil, as FOR_EACH_FRAME no longer
919         assumes that.
921 2017-12-16  Simen Heggestøyl  <simenheg@gmail.com>
923         Fix off-by-one error in 'css--hex-color'
925         * lisp/textmodes/css-mode.el (css--hex-color): Fix off-by-one error.
927         * test/lisp/textmodes/css-mode-tests.el (css-test-hex-color): New test
928         for 'css--hex-color'.
930 2017-12-16  Aaron Jensen  <aaronjensen@gmail.com>
932         Save and restore text-pixel height and width of frames (Bug#28442)
934         * lisp/frameset.el (frameset--record-relationships): Record
935         text-pixel-height and text-pixel-width of frame.
936         (frameset--restore-frame): Restore text-pixel-height and
937         text-pixel-width of frame if available.  (Bug#28442)
939 2017-12-16  Noam Postavsky  <npostavs@gmail.com>
941         Partially revert "Mention new strictness for &optional, &rest..."
943         The changes to cl argument parsing are not backwards compatible, and
944         cause inconvenience when writing macros (e.g., instead of doing '&aux
945         ,@auxargs', some more complicated conditionals would be required).
946         The `cl-defstruct' macro makes use of this convenience when defining
947         empty structs (Bug#29728).
948         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
949         (cl--do-&aux, cl--do-arglist): Undo strict checking of &rest, &key,
950         and &aux.
951         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): Remove
952         test.
954 2017-12-15  Glenn Morris  <rgm@gnu.org>
956         * lisp/vc/smerge-mode.el (smerge-refine): Respect font-lock-mode.
958         * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete alias.
960 2017-12-15  Paul Eggert  <eggert@cs.ucla.edu>
962         FOR_EACH_FRAME no longer assumes frame-list
964         This cleans up a recent fix related to Bug#29661.
965         Suggested by Stefan Monnier in:
966         https://lists.gnu.org/r/emacs-devel/2017-12/msg00544.html
967         * src/frame.c (next_frame, prev_frame, delete_frame):
968         Restore debugging checks that Vframe_list is non-nil,
969         as FOR_EACH_FRAME no longer has these checks.
970         (delete_frame): Remove no-longer-needed checks that Vframe_list is
971         non-nil, as FOR_EACH_FRAME no longer assumes that.
972         * src/frame.h (FOR_EACH_FRAME): Do not assume Vframe_list is non-nil.
974 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
976         * src/font.c (Ffont_info): Doc fix.  (Bug#29682)
978 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
980         Modernise message.el face spec syntax
982         * lisp/gnus/message.el (message-header-to, message-header-cc)
983         (message-header-subject, message-header-newsgroups)
984         (message-header-other, message-header-name, message-header-xheader)
985         (message-separator, message-cited-text, message-mml):
986         Use (DISPLAY . PLIST) face spec syntax as recommended in
987         `(elisp) Defining Faces'.  (Bug#29405)
989 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
991         Update message.el obsolete face aliases
993         * lisp/gnus/message.el: (message-header-to, message-header-cc)
994         (message-header-subject, message-header-newsgroups)
995         (message-header-other, message-header-name, message-header-xheader)
996         (message-separator, message-cited-text, message-mml):
997         Use define-obsolete-face-alias.  (Bug#29405)
999 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
1001         Improve documentation of TERM environment variable
1003         * doc/emacs/trouble.texi (Checklist):
1004         * doc/emacs/building.texi (Compilation Shell):
1005         * doc/emacs/misc.texi (Shell Options): Improve indexing of TERM.
1006         * doc/emacs/building.texi (Compilation Shell): Mention
1007         'comint-terminfo-terminal' in conjunction with the TERM value.
1009 2017-12-15  Allen Li  <darkfeline@felesatra.moe>
1011         Add option to configure comint TERM
1013         * lisp/comint.el (comint-terminfo-terminal): New defcustom.
1014         (comint-term-environment): New function for setting terminal options
1015         (comint-exec-1): Use comint-term-environment.  (Bug#29583)
1016         * lisp/progmodes/compile.el (compilation-start): Use comint-term-environment.
1018         * etc/NEWS:
1019         * doc/emacs/misc.texi (Shell Options): Document the new option.
1021 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
1023         Better support utf-8-with-signature and utf-8-hfs in XML/HTML
1025         * lisp/international/mule.el (sgml-xml-auto-coding-function):
1026         Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
1027         obey the buffer's encoding if it is one of these variants, instead
1028         of re-encoding in UTF-8 proper.  (Bug#20623)
1030 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
1032         * lisp/menu-bar.el (menu-bar-mode): Doc fix.
1034 2017-12-15  Michael Albinus  <michael.albinus@gmx.de>
1036         Fix Bug#29712 in tramp-tests.el
1038         * test/lisp/net/tramp-tests.el
1039         (tramp-test32-environment-variables-and-port-numbers):
1040         Skip for macOS.  (Bug#29712)
1042 2017-12-15  Martin Rudalics  <rudalics@gmx.at>
1044         Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961)
1046         This does not fix Bug#29961 but avoids that Emacs segfaults when
1047         trying to shut down because it lost connection to the X server.
1049         * src/dispnew.c (check_glyph_memory):
1050         * src/frame.c (delete_frame): Don't run FOR_EACH_FRAME when
1051         there's no frame left (Bug#29961).
1053 2017-12-15  Glenn Morris  <rgm@gnu.org>
1055         * lisp/textmodes/tex-mode.el: Ensure uncompiled file is loadable.
1057 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
1059         Remember password change for IMAP in Gnus (Bug#29692)
1061         Reported by Trey Jackson <trey_jackson@mentor.com>.
1063         * lisp/gnus/mail-source.el (mail-source-fetch-imap): Check
1064         `mail-source-password-cache' for password.
1066 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
1068         Add %DUMBFW to the default GnuTLS priority strings
1070         * lisp/net/gnutls.el (gnutls-boot-parameters): Add %DUMBFW to
1071         the default priority strings (Bug#25061).
1073         * etc/NEWS: Mention it.
1075         * doc/misc/emacs-gnutls.texi (Help For Users): Point to the
1076         GnuTLS priority string documentation URL.
1078 2017-12-15  Glenn Morris  <rgm@gnu.org>
1080         Small fixes prompted by make check-declare
1082         * lisp/frame.el (x-focus-frame): Update declaration.
1083         (ns-mouse-absolute-pixel-position): Fix declaration.
1084         * lisp/vc/diff-mode.el (diff-refine-hunk):
1085         Use smerge-refine-regions rather than obsolete alias.
1086         (smerge-refine-subst): Remove declaration, no longer relevant.
1088 2017-12-15  Glenn Morris  <rgm@gnu.org>
1090         Fix some custom groups
1092         * lisp/vc/vc-hooks.el (vc-faces): Rename from vc-state-faces.
1093         * lisp/vc/cvs-status.el (cvs-status): Unused, remove.
1095 2017-12-14  Alan Mackenzie  <acm@muc.de>
1097         Fix fontification of first declaration within a C++ lambda form.
1099         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Cease
1100         spuriously recognizing the braces of a lambda form as a brace list when there
1101         is an "=" preceding the introductory brackets.
1103 2017-12-14  Charles A. Roelli  <charles@aurox.ch>
1105         * src/data.c (Fadd_variable_watcher): Doc fix.
1107 2017-12-14  Alan Mackenzie  <acm@muc.de>
1109         Fix misfontification of C++ member initialization list after "throw"
1111         * lisp/progmodes/cc-engine.el (c-forward-type): Stop recognizing a "type"
1112         starting with "throw", by using c-opt-type-modifier-prefix-key.
1114         * lisp/progmodes/cc-langs.el (c-type-modifier-prefix-kwds): New lang const
1115         which, in C++, doesn't contain "throw", otherwise like c-type-modifier-kwds.
1116         (c-opt-type-modifier-prefix-key): New lang const and var, a regexp matching
1117         any keyword in the previous lang const.
1119 2017-12-14  Dmitry Gutov  <dgutov@yandex.ru>
1121         Consolidate 'widen' calls
1123         * lisp/progmodes/prog-mode.el (prog-indentation-context):
1124         Un-document all elements but the first.
1125         (prog-widen): Remove.
1126         (http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00321.html)
1128         * doc/lispref/text.texi (Mode-Specific Indent): Update.
1130         * lisp/progmodes/ruby-mode.el (ruby-calculate-indent):
1131         Don't call widen.
1133         * lisp/progmodes/python.el
1134         (python-indent-guess-indent-offset)
1135         (python-info-current-defun): Replace prog-widen with widen;
1136         these functions are not called during indentation.
1137         (python-indent-context)
1138         (python-indent--calculate-indentation)
1139         (python-info-dedenter-opening-block-message)
1140         (python-info-line-ends-backslash-p)
1141         (python-info-beginning-of-backslash)
1142         (python-info-continuation-line-p)
1143         (python-info-current-defun): Remove 'widen' calls.
1145         * lisp/indent.el (indent-according-to-mode)
1146         (indent-for-tab-command, indent-region): Move them here.
1148         * lisp/textmodes/mhtml-mode.el (mhtml-indent-line):
1149         Bind prog-indentation-context to one-element list.
1151 2017-12-14  Martin Rudalics  <rudalics@gmx.at>
1153         Fix doc-string of Fbuffer_list
1155         * src/buffer.c (Fbuffer_list): Fix doc-string.
1157 2017-12-14  Basil L. Contovounesios  <contovob@tcd.ie>
1159         Don't raise an extraneous frame (bug#29696)
1161         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Lookup
1162         summary buffer keys from article buffer without affecting window
1163         configuration (bug#29696).
1165 2017-12-13  Noam Postavsky  <npostavs@gmail.com>
1167         Mention new strictness for &optional, &rest in arglists (Bug#29165)
1169         * etc/NEWS: Explain that '&optional' not followed by a variable is now
1170         an error.
1171         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda, cl--do-&aux)
1172         (cl--do-arglist): Also reject '&optional', '&rest', or '&aux' not
1173         followed by a variable for consistency.
1174         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): New
1175         test.
1177 2017-12-13  Alan Mackenzie  <acm@muc.de>
1179         Don't misfontify "foo ()" inside C++ initialization parentheses as a type
1181         Also recognize and handle function names introduced by "extern" inside a
1182         function.
1184         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add a new element to
1185         the result list which is t when our declaration is, or is to be treated as,
1186         being at top level.
1188         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Detect being
1189         inside a C++ uniform initialization and return (not-decl nil) for this case.
1190         (c-font-lock-declarations): Use the new element 4 of the result of
1191         c-forward-decl-or-cast-1.
1193         * lisp/progmodes/cc-langs.el (c-make-top-level-kwds, c-make-top-level-key):
1194         New lang consts/vars.
1196 2017-12-13  Glenn Morris  <rgm@gnu.org>
1198         Fixes for defcustoms, prompted by cus-test-opts
1200         * lisp/files.el (save-some-buffers-default-predicate):
1201         * lisp/time.el (display-time-world-list):
1202         * lisp/gnus/gnus-art.el (gnus-article-show-cursor):
1203         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-names):
1204         * lisp/progmodes/verilog-mode.el (verilog-auto-wire-type):
1205         * lisp/textmodes/less-css-mode.el (less-css-output-directory)
1206         (less-css-output-file-name, less-css-input-file-name):
1207         * lisp/vc/emerge.el (emerge-metachars):
1208         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles):
1209         Fix :types.
1210         * lisp/net/newst-backend.el (newsticker-url-list-defaults): Fix url.
1212 2017-12-13  Glenn Morris  <rgm@gnu.org>
1214         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
1215         Update.
1217         * lisp/htmlfontify.el (hfy-which-etags): Fix it.
1219 2017-12-13  Glenn Morris  <rgm@gnu.org>
1221         Add missing :version tags revealed by cusver-check
1223         * lisp/comint.el (comint-move-point-for-matching-input):
1224         * lisp/epa.el (epa-replace-original-text):
1225         * lisp/image-dired.el (image-dired-cmd-optipng-program)
1226         (image-dired-cmd-optipng-options):
1227         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table):
1228         * lisp/gnus/gnus-cloud.el (gnus-cloud-storage-method)
1229         (gnus-cloud-interactive):
1230         * lisp/net/mailcap.el (mailcap-user-mime-data):
1231         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag)
1232         (c-noise-macro-names, c-noise-macro-with-parens-names):
1233         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode)
1234         (flymake-wrap-around):
1235         * lisp/progmodes/grep.el (grep-use-null-filename-separator):
1236         * lisp/progmodes/js.el (js-indent-align-list-continuation):
1237         * lisp/progmodes/perl-mode.el (perl-flymake-command):
1238         * lisp/progmodes/python.el (python-flymake-command)
1239         (python-flymake-command-output-pattern, python-flymake-msg-alist):
1240         * lisp/progmodes/ruby-mode.el (ruby-flymake-use-rubocop-if-available)
1241         (ruby-rubocop-config):
1242         * lisp/textmodes/less-css-mode.el (less-css):
1243         * lisp/textmodes/tex-mode.el (tex-chktex-program)
1244         (tex-chktex-extra-flags): Add missing :version tags.
1246 2017-12-13  Glenn Morris  <rgm@gnu.org>
1248         Escape column-zero doc parens
1250         * lisp/htmlfontify.el (hfy-display-class):
1251         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm):
1252         * lisp/net/shr.el (shr-external-rendering-functions):
1253         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag):
1254         * lisp/textmodes/tildify.el (tildify-tildify):
1255         Escape column-zero doc parens.  A shame bug#21871 remains unfixed.
1257 2017-12-12  Alan Third  <alan@idiocy.org>
1259         Remove ObjC blocks (Bug#23753)
1261         * src/macfont.m (macfont_get_glyph_for_character):
1262         (mac_font_get_glyphs_for_variants): Inline Objective-C blocks.
1264         (cherry picked from commit 4590f1d768adbb2120a2b02c614f7ed3b21a4a3e)
1266 2017-12-12  Eli Zaretskii  <eliz@gnu.org>
1268         Import the latest IVD_Sequences.txt
1270         * admin/unidata/IVD_Sequences.txt: New version from
1271         http://www.unicode.org/ivd/, the 2017-12-12 version of the Unicode
1272         Ideographic Variation Database.
1274         * src/macuvs.h: Regenerated.
1276 2017-12-11  Max  <mu@magi.net.ru>  (tiny change)
1278         Fix dired-do-compress when tar doesn't default to stdin (Bug#29094)
1280         * lisp/dired-aux.el (dired-compress-file-suffixes): Use argument '-f-'
1281         to write to stdout rather than relying on the default (the choice of
1282         default is decided when compiling tar, BSD systems usually set it to a
1283         tape drive).  Drop '-v', since the output is not used anywhere.
1285 2017-12-11  Noam Postavsky  <npostavs@gmail.com>
1287         Suppress warnings during elisp completion macroexpansion
1289         Errors are already suppressed, therefore it is logical to suppress
1290         warnings as well.  Some macros (e.g., use-package) may produce
1291         warnings when given the `elisp--witness--lisp' symbol.
1292         * lisp/progmodes/elisp-mode.el (elisp--local-variables): Let-bind
1293         warning-minimum-log-level to :emergency.
1295 2017-12-11  Chunyang Xu  <xuchunyang.me@gmail.com>
1297         * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo (Bug#24410).
1299 2017-12-11  Michael Albinus  <michael.albinus@gmx.de>
1301         Make tramp-interrupt-process more robust
1303         * lisp/net/tramp.el (tramp-interrupt-process): Fall back to
1304         the default implementation if there's no success.
1306 2017-12-11  Katsumi Yamaoka  <yamaoka@jpl.org>
1308         Make quail-input-method work when inhibit-read-only is non-nil (bug#29504)
1310         * lisp/international/quail.el (quail-input-method): Work not only
1311         when buffer-read-only is nil but also when inhibit-read-only is non-nil
1312         (bug#29504).
1314 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
1316         Fix 'fontset-name-p'
1318         * lisp/international/fontset.el (fontset-name-p): Make the
1319         function work with full fontset names and fontset alias names.
1321 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
1323         Fix fontset documentation inconsistencies for bug#29630
1325         * doc/lispref/display.texi (Face Attributes): Don't document
1326         :family as accepting a fontset.  Document that :font accepts a
1327         fontset.
1329         * lisp/faces.el (set-face-attribute): Doc fix.
1331 2017-12-10  Martin Rudalics  <rudalics@gmx.at>
1333         Remove sentence from child frames section in Elisp manual
1335         * doc/lispref/frames.texi (Child Frames): Remove one sentence.
1336         Suggested by Bob Weiner <rsw@gnu.org>.
1338 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
1340         Avoid crashes in 'font-at' after 'set-fontset-font'
1342         * src/fontset.c (free_realized_fontsets): Call
1343         recompute_basic_faces, so that the basic faces are available to
1344         any Lisp that calls this function, e.g. via set-fontset-font.
1345         (Bug#29632)
1347 2017-12-10  Ted Zlatanov  <tzz@lifelogs.com>
1349         * lisp/files-x.el (connection-local-set-profile-variables): Fix docstring.
1351 2017-12-09  Ted Zlatanov  <tzz@lifelogs.com>
1353         Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
1355         Problem reported by Mark Ferlatte (Bug#28603).
1356         * lisp/net/gnutls.el (gnutls-trustfiles): Add /etc/ssl/cert.pem for macOS.
1358 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
1360         Fix tool-tip display when display margins are non-zero by default
1362         * src/buffer.h (bset_left_margin_cols, bset_right_margin_cols):
1363         New inline functions.
1364         * src/xfns.c (Fx_show_tip):
1365         * src/w32fns.c (Fx_show_tip): Force display margins of the tip
1366         buffer to zero, as it will be displayed in a pseudo-window, which
1367         doesn't support display margins.  (Bug#29627)
1369 2017-12-09  Eric Abrahamsen  <eric@ericabrahamsen.net>
1371         Handle hash tables and vectors when reading/writing EIEIO objects
1373         * lisp/emacs-lisp/eieio.el (eieio-override-prin1): EIEIO objects
1374           printed with `prin1' can no longer be read with `read'. Make sure
1375           they are printed with object-write instead, even when they're inside
1376           hash tables and vectors.
1377         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
1378           Check for written representations of objects inside hash tables and
1379           vectors, and reconstruct them.
1381 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
1383         Improve interactive debugging commands in xdisp.c
1385         * src/xdisp.c (Fdump_glyph_row, Fdump_tool_bar_row): Allow to
1386         specify ROW via prefix argument.  Fix the doc strings.
1388 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
1390         Fix calculation of continuation_pixel_width in display engine
1392         * src/xdisp.c (display_line): Remove incorrect increment of
1393         it->continuation_pixel_width when word-wrap is used.  (Bug#29594)
1395 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
1397         Improve documentation of 'save-abbrevs'.
1399         * doc/emacs/abbrevs.texi (Saving Abbrevs): Document the 'silently'
1400         value of 'save-abbrevs'.  Suggested by Alex Branham
1401         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
1403 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
1405         Improve documentation of Dired
1407         * doc/emacs/dired.texi (Dired): Mention that the Dired buffer can
1408         be made modifiable in Wdired.  Suggested by Alex Branham
1409         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
1411 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
1413         * lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)
1415 2017-12-08  Michael Albinus  <michael.albinus@gmx.de>
1417         Minor Tramp fixes
1419         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
1420         Fix a bug when renaming.
1422         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
1423         (tramp-test42-delay-load, tramp-test42-remote-load-path):
1424         Skip unless Emacs >= 26.
1426 2017-12-08  Glenn Morris  <rgm@gnu.org>
1428         * lisp/help-mode.el (help-function-def):
1429         Allow help-make-xrefs to call with one argument.  (Bug#29611)
1431 2017-12-07  Martin Rudalics  <rudalics@gmx.at>
1433         Fix doc-string of 'display-buffer-in-side-window'
1435         * lisp/window.el (display-buffer-in-side-window): In doc-string
1436         clarify why the window returned gets dedicated to its buffer.
1438 2017-12-06  Michael Albinus  <michael.albinus@gmx.de>
1440         Fix Bug#29579
1442         * lisp/files.el (file-name-non-special):
1443         Inhibit `file-name-handler-alist' only for some operations.
1444         Add missing operations.  (Bug#29579)
1446         * lisp/net/tramp-compat.el (tramp-compat-file-name-quote):
1447         Do not quote if it is quoted already.
1449         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
1450         Use `copy-tree' but `copy-sequence'.
1452         * lisp/net/tramp.el (tramp-handle-file-truename): Handle several
1453         trailing slashes correctly.
1455         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
1456         (tramp-test12-rename-file, tramp-test24-file-acl)
1457         (tramp-test25-file-selinux, tramp--test-check-files):
1458         Handle also quoted file names.
1459         (tramp-test21-file-links): Fix file name quoting test.
1460         (tramp-test24-file-acl): Be more robust for "smb" method.
1461         (tramp-test35-make-auto-save-file-name): Enable hidden test cases.
1463 2017-12-06  Rasmus  <rasmus@gmx.us>
1465         Backport: Update Org to v9.1.4
1467         Please note this is a bugfix release. See etc/ORG-NEWS for details.
1469         (cherry picked from commit 567b5efe1f338c10c574758fb968915c5c34c909)
1471 2017-12-06  Martin Rudalics  <rudalics@gmx.at>
1473         In windows.texi mention special splitting behavior of side and atomic windows
1475         * doc/lispref/windows.texi (Splitting Windows): Add note about
1476         and links to side and atomic windows.
1478 2017-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
1480         * lisp/gnus/gnus-group.el (gnus-group-mode-map):
1481         Bind [follow-link] to mouse-face, not 'mouse-face (bug#29538).
1483 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
1485         Avoid compilation warning in xterm.c
1487         * src/xterm.c (x_draw_underwave): Move the declaration of
1488         'thickness' to the non-USE_CAIRO branch, to avoid compiler
1489         warning.  (Bug#29567)
1491 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
1493         * README: Document all the top-level directories.  (Bug#29558)
1495 2017-12-04  Glenn Morris  <rgm@gnu.org>
1497         Don't enable erc modules on simply loading erc.el
1499         * lisp/erc/erc.el (erc-modules): Use default :initialize.  (Bug#29417)
1501 2017-12-03  Lars Ingebrigtsen  <larsi@gnus.org>
1503         Allow shr to use data: URLs without encoding
1505         * lisp/net/shr.el (shr-image-from-data): Don't bug out on
1506         image data: URLs that have no base64 encoding like
1507         (shr-image-from-data
1508         "text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E").
1510 2017-12-03  E. Choroba  <choroba@matfyz.cz>  (tiny change)
1512         Don't add newlines in minibuffer history
1514         * lisp/simple.el (next-line-or-history-element): Bind
1515         next-line-add-newlines to nil.  (Bug#29529)
1517 2017-12-03  Syohei YOSHIDA  <syohex@gmail.com>
1519         modhelp.py: Support Python 3 (Bug#24954)
1521         * modules/modhelp.py: 'print' statement was removed in Python
1522         3.  'print' function should be used instead of 'print' statement.
1524 2017-12-03  Noam Postavsky  <npostavs@gmail.com>
1526         Use forward slashes for python w32 config example (Bug#21656)
1528         * lisp/progmodes/python.el: Use forward slashes for Windows path
1529         example, it doesn't require doubling of slashes which reduces chances
1530         of confusion.
1532 2017-12-03  Paul Eggert  <eggert@cs.ucla.edu>
1534         Fix bug in i18n/l10n optimization
1536         This fixes a off-by-one buffer overrun bug introduced in
1537         2017-06-04T15:39:37Z!eggert@cs.ucla.edu.  Problem uncovered by an
1538         experimental version of Emacs built with -fcheck-pointer-bounds
1539         and running on Intel MPX hardware.
1540         * src/editfns.c (styled_format): Avoid overrunning internal buffers.
1542 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
1544         Let autoload-compute-prefix be set file-locally (Bug#29471)
1546         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): Mark
1547         boolean values as safe.
1549 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
1551         Improve edit-kbd-macro prompting in case of remapped keys (Bug#29399)
1553         * lisp/edmacro.el (edit-kbd-macro): Use substitute-command-keys to
1554         present the current bindings in the prompt.  Check the the
1555         non-remapped binding of the entered key sequence as well.
1557 2017-12-02  Lele Gaifax  <lele@metapensiero.it>
1559         Add tests on electric-indentation and Python multiline strings (Bug#29305)
1561         * test/lisp/progmodes/python-tests.el
1562         (python-indent-electric-comma-inside-multiline-string,
1563         python-indent-electric-comma-after-multiline-string): New tests.
1565 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
1567         Disable electric indent for python strings (Bug#29305)
1569         * lisp/progmodes/python.el (python-indent-post-self-insert-function):
1570         Do nothing when point or beginning of line is in string.
1572 2017-12-02  Yuuki Harano  <masm-emacs@masm11.ddo.jp>  (tiny change)
1574         Fix buffer overflow in fontname conversion (Bug#29523)
1576         * src/nsterm.m (ns_xlfd_to_fontname): Fix sscanf format.
1578 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
1580         Fix byte compilation of files with leading directories
1582         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Pass basename
1583         of target-file to make-temp-file, in case target-file includes a
1584         leading directory that might not exist under TMPDIR.  See
1585         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00680.html
1586         for the details.
1588 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
1590         * lisp/files.el (make-backup-file-name-1): Fix scoping error.
1592 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
1594         Revert Tramp commit from 2017-11-20
1596         * lisp/net/tramp.el (tramp-drop-volume-letter)
1597         (tramp-handle-find-backup-file-name): Revert change from
1598         2017-11-20.  Emacs' `make-backup-file-name-1' handles this
1599         case now.
1601 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
1603         Improve documentation of buffer-list commands and features
1605         * doc/emacs/buffers.texi (List Buffers): Add a cross-reference to
1606         "Several Buffers", to establish a relation between the two
1607         sections.
1608         (Buffer Menus): Expand on customizability of alternative buffer
1609         menu offered by bs.el.  Mention IBuffer.
1610         Suggested by Alex Branham <alex.branham@gmail.com> in
1611         emacs-manual-bugs@gnu.org.
1613 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
1615         Fix backing up remote files in local directories on MS-Windows
1617         * lisp/files.el (make-backup-file-name-1): Support remote file
1618         names correctly when they are backed up into a local directory on
1619         MS-Windows and MS-DOS.  (Bug#29440)
1621 2017-12-02  Glenn Morris  <rgm@gnu.org>
1623         * doc/emacs/mule.texi (Output Coding): Clarify sendmail coding.
1625 2017-12-01  John Wiegley  <johnw@newartisans.com>
1627         Revert "Fix backing up remote files in local directories on MS-Windows"
1629         This reverts commit 8c8b6732882248df4ca3b687e0a4b4e5e4ab3777.
1631 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
1633         Fix a typo in ELisp manual
1635         * doc/lispref/sequences.texi (Sequence Functions): Fix the example
1636         of using 'seq-uniq'.  (Bug#29524)
1638 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
1640         * lisp/composite.el (find-composition): Fix a typo in the doc string.
1642 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
1644         Fix backing up remote files in local directories on MS-Windows
1646         * lisp/files.el (make-backup-file-name-1): Support remote file
1647         names correctly when they are backed up into a local directory on
1648         MS-Windows and MS-DOS.  (Bug#29440)
1650 2017-12-01  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
1652         Fix vertical cursor motion in pixel-scroll.el
1654         * lisp/pixel-scroll.el (pixel-scroll-up): Move cursor down
1655         regardless of whether EOB is shown at the top.
1656         (pixel-scroll-down) Move cursor up regardless of whether BOB
1657         is shown at the top.  (Bug#29374)
1659 2017-12-01  Basil L. Contovounesios  <contovob@tcd.ie>
1661         Fix typos in doc strings of message.el
1663         * lisp/gnus/message.el (message-header-to)
1664         (message-header-subject, message-header-newsgroups)
1665         (message-header-other): Fix typos in doc strings.  (Bug#29405)
1667 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
1669         Fix a typo in the Emacs manual
1671         * doc/emacs/abbrevs.texi (Abbrev Concepts): Fix a typo.  Reported
1672         by clemens.radermacher@posteo.de in emacs-manual-bugs@gnu.org.
1674 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
1676         Improve the documentation of 'table-insert-sequence'
1678         * doc/emacs/text.texi (Table Misc): Fix the description of
1679         'table-insert-sequence'.  Reported by jack <jackh@gmx.co.uk> in
1680         emacs-manual-bugs@gnu.org.
1682 2017-12-01  Paul Eggert  <eggert@cs.ucla.edu>
1684         Port better to QNX
1686         Problem reported by Elad Lahav on emacs-devel.
1687         * configure.ac: On QNX, default CC to qcc (a GCC wrapper),
1688         and default LDFLAGS to -N2MB so that the initial stack size
1689         is not too small.  Also, fix misspelling of ‘qnxnto’.
1691 2017-11-30  Michael Albinus  <michael.albinus@gmx.de>
1693         Make tramp-test42-auto-load more robust
1695         * test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
1696         Make it more robust.  Don't skip.
1698 2017-11-30  Eli Zaretskii  <eliz@gnu.org>
1700         Avoid assertions in find-composition
1702         * src/font.c (font_range): If called with STRING non-nil and FACE
1703         a NULL pointer, compute face by calling face_at_string_position.
1704         (Bug#29506)
1706         * lisp/composite.el (find-composition): Doc fix.
1708 2017-11-29  Glenn Morris  <rgm@gnu.org>
1710         Restore obsolete method of changing byte-compile-dest-file
1712         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
1713         Restore seven-year obsolete feature that was removed for six months,
1714         since automake uses it.
1716 2017-11-29  Michael Albinus  <michael.albinus@gmx.de>
1718         Some minor Tramp corrections
1720         * lisp/net/tramp.el (tramp-handle-directory-file-name):
1721         Handle several trailing slashes correctly.
1722         (tramp-handle-file-selinux-context): New defun.
1724         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
1725         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
1726         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
1727         Use `tramp-handle-file-selinux-context'.
1729         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
1730         Extend test.
1731         (tramp-test17-insert-directory): Make check more robust.
1732         (tramp-test42-auto-load): Combine several let forms.
1733         (tramp-test42-delay-load, tramp-test42-recursive-load)
1734         (tramp-test42-remote-load-path, tramp-test43-unload): Rename.
1736 2017-11-29  Tino Calancha  <tino.calancha@gmail.com>
1738         * doc/misc/url.texi (http/https): Fix typo
1740 2017-11-29  Glenn Morris  <rgm@gnu.org>
1742         Remove some bogus definition-prefixes from loaddefs
1744         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
1745         Don't register a definition prefix from define-erc-module,
1746         which adds an erc- prefix to its argument.
1748 2017-11-28  Robert Pluim  <rpluim@gmail.com>
1750         Shell-quote wildcards when invoking 'vc-git-grep'
1752         * lisp/vc/vc-git.el (vc-git-grep): Apply shell quoting to
1753         filename wildcards to ensure globbing is done by git rather
1754         than the shell.  (Bug#29303)
1756 2017-11-28  Kaushal Modi  <kaushal.modi@gmail.com>
1758         Update documentation of '.dir-locals-2.el'
1760         See https://lists.gnu.org/r/emacs-devel/2017-11/msg00649.html
1761         for more details.
1762         * lisp/files.el (dir-locals-file-2): Remove unused constant.
1763         * lisp/files.el (dir-locals-file): Mention ".dir-locals-2.el" in
1764         the doc string.
1765         * doc/lispref/variables.texi (Directory Local Variables): Mention
1766         ".dir-locals-2.el".
1767         * etc/NEWS: Replace `dir-locals-file-2' mention with
1768         `dir-locals-file'.
1770 2017-11-27  Noam Postavsky  <npostavs@gmail.com>
1772         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64]: Bump to 22 MiB.
1774 2017-11-27  Glenn Morris  <rgm@gnu.org>
1776         A few small doc fixes for bytecomp.el
1778         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-file-regexp)
1779         (byte-compile-dest-file-function, byte-compile-dest-file): Doc fixes.
1781 2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
1783         * src/lread.c (syms_of_lread): Fix thinko in commit b1573a97e17b5
1785 2017-11-27  Glenn Morris  <rgm@gnu.org>
1787         * lisp/tree-widget.el (tree-widget-end-guide): Escape it.  (Bug#27797)
1789 2017-11-27  Eli Zaretskii  <eliz@gnu.org>
1791         Fix ELisp "Warning Tips"
1793         * doc/lispref/tips.texi (Warning Tips): Clarify when to use
1794         'require' wrapped by 'eval-when-compile'.  (Bug#29462)
1796 2017-11-27  Michael Albinus  <michael.albinus@gmx.de>
1798         Fix Bug#29163
1800         * lisp/net/tramp.el (tramp-autoload-file-name-regexp):
1801         Do not use "\\'" in regexp.  (Bug#29163)
1802         (top) Do not run (tramp-register-autoload-file-name-handlers)
1803         when loading tramp.el.
1805         * test/lisp/net/tramp-tests.el (tramp--test-mock-p): New defun.
1806         (tramp-test32-environment-variables-and-port-numbers)
1807         (tramp-test41-asynchronous-requests): Use it.
1808         (tramp-test42-auto-load): New test.
1809         (tramp-test43-recursive-load, tramp-test44-remote-load-path)
1810         (tramp-test45-delay-load, tramp-test46-unload): Rename.
1812 2017-11-27  Paul Eggert  <eggert@union>
1814         Harden exec_byte_code against redefining 'error'
1816         Problem discovered by configuring with --enable-gcc-warnings on
1817         Ubuntu 17.10 x86-64 with gcc (Ubuntu 7.2.0-8ubuntu3).
1818         * src/bytecode.c (exec_byte_code): Call the C error function
1819         instead of the Lisp one, so that the Emacs interpreter does not go
1820         haywire if the user redefines the Lisp error function.
1822 2017-11-27  Gemini Lasswell  <gazally@runbox.com>
1824         Fix Edebug specs for if-let* and and-let* (Bug#29236)
1826         * test/lisp/emacs-lisp/subr-x-tests.el (if-let*, if-let):
1827         Change Edebug spec to cause Edebug to instrument tests the
1828         results of which are not bound to symbols (the (VALUEFORM)
1829         case).
1830         (and-let*): Change Edebug spec to allow empty body.
1832         *test/lisp/emacs-lisp/subr-x-tests.el:
1833         (subr-x-and-let*-test-group-1): Add missing quote to erroneous
1834         form so Edebug will work on this test.
1836 2017-11-26  Gemini Lasswell  <gazally@runbox.com>
1838         Fix Edebug's handling of dotted specs (bug#6415)
1840         * lisp/emacs-lisp/cl-macs.el (cl-destructuring-bind): Use
1841         cl-macro-list1 instead of cl-macro-list in Edebug spec.
1843         * lisp/emacs-lisp/edebug.el (edebug-after-dotted-spec): Delete
1844         unused variable.
1845         (edebug-dotted-spec): Add docstring.
1846         (edebug-match-specs): Allow &optional and &rest specs to
1847         match nothing at the tail of a dotted form. Handle matches of
1848         dotted form tails which return non-lists.
1850         * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-dotted-forms):
1851         New test.
1853         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el:
1854         (edebug-test-code-use-destructuring-bind): New function.
1856 2017-11-26  Eli Zaretskii  <eliz@gnu.org>
1858         Improve documentation of "constant" symbols
1860         * src/font.c (syms_of_font) <font-weight-table, font-slant-table>
1861         <font-width-table>:
1862         * src/data.c (syms_of_data) <most-positive-fixnum>
1863         <most-negative-fixnum>:
1864         * src/buffer.c (syms_of_buffer) <enable-multibyte-characters>:
1865         Mention in the doc strings that these variables are read-only.
1867         * doc/lispref/variables.texi (Creating Buffer-Local): Document
1868         that making a constant variable buffer-local signals an error.
1869         * doc/lispref/variables.texi (Constant Variables):
1870         * doc/lispref/errors.texi (Standard Errors): More accurate and
1871         up-to-date documentation of which symbols cannot be assigned
1872         values.
1874 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
1876         maint: shorten https://lists.gnu.org/archive/html/... links
1878 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
1880         Merge from Gnulib
1882         This incorporates:
1883         2017-11-23 stat: work around Solaris bug with tv_nsec < 0
1884         2017-11-12 maint: shorten https://lists.gnu.org/archive/html/... links
1885         * build-aux/config.sub, doc/misc/texinfo.tex, lib/allocator.h:
1886         * lib/fstatat.c, lib/intprops.h, lib/lstat.c, lib/signal.in.h:
1887         * lib/stat-time.h, lib/stdio-impl.h, lib/stdio.in.h:
1888         * lib/timespec.h, m4/alloca.m4, m4/extern-inline.m4:
1889         * m4/faccessat.m4, m4/fstatat.m4, m4/gnulib-common.m4:
1890         * m4/lstat.m4, m4/std-gnu11.m4, m4/sys_types_h.m4:
1891         * m4/vararrays.m4:
1892         Copy from Gnulib.
1894 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
1896         Work around GCC bug 80776 on Fedora 27 x86
1898         * src/buffer.c (Fgenerate_new_buffer_name): Pacify GCC 7.2.1
1899         20170915 (Red Hat 7.2.1-2) on i686 with -Wformat-overflow -O2 by
1900         using XINT rather than XFASTINT and by adding an eassume.  This
1901         works around GCC bug 80776.
1903 2017-11-25  Paul Eggert  <eggert@cs.ucla.edu>
1905         Tweak copy-file, rename-file doc
1907         * src/fileio.c (Fcopy_file, Frename_file): Tweak the recent change
1908         slightly, as NEWNAME is treated as a directory name depending only
1909         on the contents of the NEWNAME string, and independently of
1910         whether NEWNAME names a directory (i.e., whether the directory
1911         exists) (Bug#29362).
1913 2017-11-25  Tom Tromey  <tom@tromey.com>
1915         Change font-lock-extend-region-multiline handling in mhtml-mode
1917         Bug#29159
1918         * lisp/textmodes/mhtml-mode.el (mhtml-mode): Remove
1919         font-lock-extend-region-multiline from
1920         font-lock-extend-region-functions.
1921         (mhtml--extend-font-lock-region): Call font-lock-extend-region-multiline.
1923 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
1925         Minor cleanup in tramp-gvfs-handle-file-local-copy
1927         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy):
1928         Move error message up.
1930 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
1932         Add test for Bug#29423 in Tramp.
1934         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
1935         Add test for Bug#29423.
1937 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
1939         Avoid jumbled order in HTML rendered by shr.el
1941         * lisp/net/shr.el (shr-render-td): Preserve point, as
1942         shr-render-td-1 might move it as a side effect of
1943         save-window-excursion.  (Bug#29348)
1945 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
1947         Make sure 'dired-filename' property is always put by ls-lisp
1949         * lisp/ls-lisp.el (ls-lisp-classify): Do not put the
1950         'dired-filename' text property on the file name here...
1951         (ls-lisp-classify-file): ...put it here instead.  (Bug#29423)
1953 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
1955         A better solution for bug#29347
1957         * src/thread.c (really_call_select): Don't try to take the global
1958         lock if the same thread is already holding it.  (Bug#29347)
1960 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
1962         Avoid a hang after C-g while sit-for on a Unix TTY
1964         * src/thread.c (acquire_global_lock): Don't try to take the global
1965         lock if the same thread is already holding it.  (Bug#29347)
1967 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
1969         Improve the doc string of 'list-packages'
1971         * lisp/emacs-lisp/package.el (list-packages): Describe in the doc
1972         string the columns shown by the command.  (Bug#29420)
1974 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
1976         Improve discoverability of 'defvar' for suppressing warnings
1978         * doc/lispref/compile.texi (Compiler Errors): Add index entries.
1979         * doc/lispref/variables.texi (Defining Variables): Mention that
1980         defvar with no value is used for suppressing compiler warnings.
1981         (Bug#29400)
1983 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
1985         Improve discoverability of 'read-buffer-completion-ignore-case'
1987         * lisp/window.el (switch-to-buffer)
1988         (switch-to-buffer-other-window, switch-to-buffer-other-frame):
1989         Mention 'read-buffer' in the doc string.  (Bug#29389)
1991         * doc/emacs/buffers.texi (Select Buffer): Add a cross-reference to
1992         where 'read-buffer-completion-ignore-case' is documented.
1994 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
1996         Improve documentation of self-insert-uses-region-functions
1998         * lisp/simple.el (self-insert-uses-region-functions): Clarify the
1999         doc string.
2000         * lisp/delsel.el (delete-selection-uses-region-p): Mention
2001         'self-insert-command' in the doc string.  (Bug#29373)
2003         * doc/lispref/text.texi (Commands for Insertion): Mention
2004         'self-insert-uses-region-functions'.
2005         * doc/lispref/modes.texi (Keymaps and Minor Modes): Add a
2006         cross-reference to "Commands for Insertion".
2008 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
2010         Reflect changes in copy-file and rename-file in doc strings
2012         * src/fileio.c (Fcopy_file, Frename_file): Mention in the doc
2013         strings that directory names must end in a slash.  (Bug#29362)
2015 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
2017         * lisp/progmodes/cc-vars.el (c-offsets-alist): Doc fix.  (Bug#29407)
2019 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
2021         Reorder type predicates in ELisp manual
2023         * doc/lispref/objects.texi (Type Predicates): Restore alphabetical
2024         order of listed predicates.  (Bug#29411)
2026 2017-11-23  Eli Zaretskii  <eliz@gnu.org>
2028         Fix backward scrolling in buffers with header-line
2030         * src/window.c (window_scroll_pixel_based): Account for the
2031         header-line when comparing Y coordinate with the last_visible_y.
2032         (Bug#29325)
2034 2017-11-22  Glenn Morris  <rgm@gnu.org>
2036         * lisp/bindings.el (buffer-file-coding-system):
2037         Add explicit permanent-local mark.
2039         * src/fns.c (syms_of_fns) <overriding-plist-environment>: Doc fix.
2041 2017-11-22  Alan Third  <alan@idiocy.org>
2043         Fix incorrect interaction of drag/drop and double click (bug#29121)
2045         * src/nsterm.m (EmacsView::performDragOperation): Drag and drop
2046         doesn't use ns-input-file.
2048 2017-11-22  Glenn Morris  <rgm@gnu.org>
2050         * lisp/menu-bar.el (menu-bar-options-save):
2051         Add display-line-numbers-type.
2053         * lisp/menu-bar.el (menu-bar-options-save):
2054         Add global-display-line-numbers-mode.  (Bug#28396)
2056         * lisp/follow.el (follow-mode): Restore mode line lighter.  (Bug#28495)
2058 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
2060         Extract the common part of ruby-flymake-simple and ruby-flymake-rubocop
2062         * lisp/progmodes/ruby-mode.el (ruby-flymake-simple)
2063         (ruby-flymake-rubocop):
2064         Extract the common part as ruby-flymake--helper.
2065         (ruby--rubocop-flymake-proc): Remove.  Use the first proc
2066         variable instead.
2068 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
2070         Add Rubocop Flymake backend
2072         * lisp/progmodes/ruby-mode.el (ruby-flymake-command):
2073         Inline the value.  There are no known substitutes.
2074         (ruby-flymake): Rename to `ruby-flymake-simple' and simplify
2075         the docstring.
2076         (ruby-flymake-use-rubocop-if-available): New option.
2077         (ruby--rubocop-flymake-proc): New variable.
2078         (ruby-rubocop-config): New option.
2079         (ruby-flymake-rubocop, ruby-flymake-auto): New functions.
2080         (ruby-mode): Use `ruby-flymake-auto'.
2082 2017-11-21  Noam Postavsky  <npostavs@gmail.com>
2084         Update nt/INSTALL.W64 (Bug#28601)
2086         * nt/INSTALL.W64 (Download and install MinGW-w64 and MSYS2): Move
2087         suggestion about modifying PATH to...
2088         (Test Emacs): ... here.
2089         (Run configure): Remove the unnecessary setting of PKG_CONFIG_PATH.
2090         (Troubleshooting): New section, includes suggestion to check
2091         PKG_CONFIG_PATH.
2093 2017-11-21  Charles A. Roelli  <charles@aurox.ch>
2095         Remove incorrect NEWS item about VC state indicator (Bug#28817)
2097         * etc/NEWS (VC and related modes): Remove news item about the VC
2098         state indicator.  This should have been done with commit 7882dc6
2099         of 2016-03-06 'Revert "Use colors in the VC mode lines"'.
2101 2017-11-21  Glenn Morris  <rgm@gnu.org>
2103         * lisp/emacs-lisp/byte-run.el (defsubst): Doc fix.
2105 2017-11-21  Alan Mackenzie  <acm@muc.de>
2107         Make c-defun-name analyze more thoroughly a function type which is a struct
2109         This fixes bug #29293.
2111         * lisp/progmodes/cc-cmds.el (c-defun-name): When a struct (etc.) type is
2112         encountered, check whether it is the return type of a function rather than a
2113         declaration of the struct itself.  Similarly adapt the cond arm which deals
2114         with functions properly to recognize struct return types.
2116 2017-11-21  Glenn Morris  <rgm@gnu.org>
2118         Avoid bogus abbreviated file names if HOME changes
2120         * lisp/files.el (abbreviate-file-name):
2121         If HOME changes, ignore `abbreviated-home-dir'.  (Bug#19657#20)
2122         * test/lisp/files-tests.el (files-test-abbreviated-home-dir): New.
2124 2017-11-21  Glenn Morris  <rgm@gnu.org>
2126         * lisp/emacs-lisp/byte-run.el (inline): Give it a doc.
2128 2017-11-21  Jay Kamat  <jaygkamat@gmail.com>  (tiny change)
2130         Fix erc keep-place module with new defaults (Bug#29111)
2132         * lisp/erc/erc-goodies.el (erc-keep-place): Allow erc
2133         keep-place to continue working with
2134         switch-to-buffer-preserve-window-point set to t, the new default.
2136 2017-11-20  Alan Third  <alan@idiocy.org>
2138         Add window divider faces to NS (bug#29353)
2140         * src/nsterm.m (ns_draw_window_divider): Use
2141         window-divider-first-pixel and window-divider-last-pixel faces.
2143 2017-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
2145         * src/keyboard.c: Undo last change, meant for master only
2147 2017-11-20  Michael Albinus  <michael.albinus@gmx.de>
2149         Fix Bug#29149
2151         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle also
2152         backup file names.
2153         (tramp-handle-find-backup-file-name):
2154         Call `tramp-drop-volume-letter' on the results.  (Bug#29149)
2156 2017-11-20  Martin Rudalics  <rudalics@gmx.at>
2158         Fix misbehavior when drawing three-pixel high horizontal dividers (Bug#29353)
2160         * src/xterm.c (x_draw_window_divider):
2161         * src/w32term.c (w32_draw_window_divider): Fix misbehavior when
2162         drawing three-pixel high horizontal dividers (Bug#29353).
2164         The misbehavior was noted by Keith David Bershatsky and analyzed by Alan
2165         Third.
2167 2017-11-19  Mike Kupfer  <mkupfer@alum.berkeley.edu>
2169         MH-E: don't automatically download external-body parts
2171         * lisp/mh-e/mh-mime.el (mh-mime-display-single): Use
2172         mm-automatic-display-p to verify that a part should be
2173         displayed before doing the inline checks (SF#475).
2175 2017-11-19  Michael Albinus  <michael.albinus@gmx.de>
2177         Further fix for Bug#29291
2179         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
2180         Check for local ACL support.  (Bug#29291)
2182 2017-11-19  Alan Third  <alan@idiocy.org>
2184         Fix divider frame params on NS (bug#29352)
2186         * src/nsfns.m (Fx_create_frame): Set right-divider-width and
2187         bottom-divider-width parameters.
2189 2017-11-19  Paul Eggert  <eggert@cs.ucla.edu>
2191         Spelling fixes
2193         * lisp/help-fns.el (help-fns--analyze-function):
2194         Rename from help-fns--analyse-function.
2195         All uses changed.
2197 2017-11-19  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
2199         * src/keyboard.c: Make xterm-mouse clicks on mode-line work
2201         (read_key_sequence): Recompute first_event
2202         after replay_sequence, since it might have changed (bug#29104).
2204 2017-11-18  Martin Rudalics  <rudalics@gmx.at>
2206         Don't let delete_frame select a tooltip frame (Bug#27647)
2208         * src/frame.c (delete_frame): Don't select a tooltip
2209         frame. (Bug#27647)
2211 2017-11-18  Alan Mackenzie  <acm@muc.de>
2213         Filter obtrusive events in help-read-key-sequence.
2215         This fixes most of bug #29272.
2217         * lisp/help.el (help-read-key-sequence): After a mouse event, pause for 0.01s,
2218         discarding any events (such as <help-echo>) received in this time, before
2219         polling for the double-click (etc.) events which may follow.  This fixes the
2220         infinite loop which occurred whwn <help-echo> events triggered a sit-for
2221         whilst handling menu events.
2223 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
2225         Fix symlink flag in tramp-gvfs-handle-file-attributes
2227         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
2228         Set proper symlink file mode flag.
2230 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
2232         Fix bug in tramp-handle-file-truename
2234         * lisp/net/tramp.el (tramp-handle-file-truename): Expand localname.
2236         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Check also
2237         relative symbolic links.
2239 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
2241         Fix a typo in doc string of electric-indent-functions-without-reindent
2243         * lisp/electric.el (electric-indent-functions-without-reindent):
2244         Doc fix.  (Bug#29304)
2246 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
2248         Avoid assertion violations in echo_area_display
2250         * src/xdisp.c (echo_area_display): Don't try redisplaying the echo
2251         area if the selected-frame's mini-window is nil.  (Bug#27647)
2253 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
2255         Fix case-folding in Occur
2257         * lisp/replace.el (occur-engine): Bind case-fold-search in each
2258         buffer we search.  (Bug#29254)
2260 2017-11-18  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)
2262         Fix quick-calc in C mode with hex values
2264         * lisp/calc/calc-aent.el (math-read-token): Make sure the match
2265         against "0[xX][0-9a-fA-F]+" is found at math-exp-pos.  See
2266         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00174.html
2267         for the details.
2269 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
2271         Improve documentation of dired-next/prev-marked-file
2273         * lisp/dired.el (dired-next-marked-file, dired-prev-marked-file):
2274         Doc fixes.  (Bug#29340)
2276 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
2278         Prevent aborts in line-move-visual
2280         * src/indent.c (line_number_display_width): Avoid assertion
2281         violations in init_iterator when the window's buffer was
2282         temporarily switched without updating window-start.  (Bug#29326)
2284 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
2286         More fixes in src/.gdbinit
2288         * src/.gdbinit (pwinx): Update to match 'struct window'.
2289         (pcursorx): Use "." instead of "->" because the argument is a
2290         struct, not a pointer.
2292 2017-11-17  Robert Pluim  <rpluim@gmail.com>
2294         Document how to enter whitespace when using grep-read-files
2296         * lisp/progmodes/grep.el (lgrep, rgrep, grep-read-files): Explain
2297         how to enter whitespace when using grep-read-files.  (Bug#29303)
2298         * lisp/progmodes/project.el (project-find-regexp): Likewise.
2299         * lisp/vc/vc-git.el (vc-git-grep): Likewise.
2301 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
2303         Fix .gdbinit following lisp.h changes
2305         * src/.gdbinit (xsymname, pwinx, pgx, xbuffer, xcar, xcdr, xlist)
2306         (xprintstr): Adapt to latest changes in Lisp object C structures.
2307         (Bug#29332)
2309 2017-11-15  Charles A. Roelli  <charles@aurox.ch>
2311         * lisp/simple.el (shell-command): Doc fixes.
2313 2017-11-15  Noam Postavsky  <npostavs@gmail.com>
2315         Fix marker adjustment for undo (Bug#29118)
2317         * lisp/simple.el (primitive-undo): Compare marker against absolute
2318         value of POS, because the sign of POS is irrelevant to markers.
2320 2017-11-14  Daniel Pittman  <slippycheeze@google.com>
2322         Fix Bug#28139
2324         * lisp/net/tramp-sh.el: Set TERM and INSIDE_EMACS environment earlier.
2325         (tramp-remote-process-environment): Remove TERM and INSIDE_EMACS.
2326         (tramp-remote-process-environment): Document their special handling.
2327         (tramp-open-shell): Set TERM and INSIDE_EMACS prior to starting the
2328         initial remote shell, so that it is also aware of the environment
2329         in which it is operating.  (Bug#28139)
2331 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
2333         Fix Bug#29291
2335         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
2336         Preserve permissions when copying.  (Bug#29291)
2338 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
2340         Fix Bug#2928
2342         * test/lisp/net/tramp-tests.el (tramp-test25-file-selinux):
2343         Enhance test.  (Bug#29287)
2344         (tramp-test44-delay-load): Fix for older Emacsen.
2346 2017-11-14  Martin Rudalics  <rudalics@gmx.at>
2348         Make 'mouse-drag-and-drop-region' work with 'mouse-autoselect-window' non-nil
2350         * lisp/mouse.el (mouse-drag-and-drop-region): Ignore
2351         'select-window' events to make it work with
2352         'mouse-autoselect-window'.
2354 2017-11-14  Alexander Gramiak  <agrambot@gmail.com>
2356         * etc/PROBLEMS: Remove fixed xterm-mouse-mode problems
2358         See: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29143#26
2360 2017-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
2362         Fix cookie handling (bug#29282)
2364         * lisp/url/url-cookie.el (url-cookie-handle-set-cookie):
2365         Regard a Set-Cookie header as it contains a single cookie;
2366         prefer Max-Age to Expires and convert it to Expires;
2367         remove support for old time string styles (bug#29282).
2369 2017-11-13  Gemini Lasswell  <gazally@runbox.com>
2371         Improve documentation of Edebug and macros
2373         * doc/lispref/edebug.texi (Instrumenting Macro Calls): Improve
2374         discussion of when it might be necessary to find and evaluate macro
2375         specifications before instrumenting.
2376         (Specification List): Clarify what "defining form" means to Edebug
2377         and when 'def-form' or 'def-body' should be used instead of 'form'
2378         or 'body'.
2380 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
2382         Port to IBM xlc 12.01
2384         Work around a compiler bug by using a separate enum for alignment.
2385         * src/alloc.c (roundup_size): Declare in a separate enum.
2387 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
2389         Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED
2391         * configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.  No longer
2392         needed, since we no longer rely on __attribute__ ((aligned (8))).
2393         All uses removed.
2394         * src/emacs-module.c (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.
2395         (lisp_to_value): Simplify now that we no longer need to worry
2396         whether HAVE_STRUCT_ATTRIBUTE_ALIGNED is false.
2398 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
2400         Use alignas to fix GCALIGN-related bugs
2402         Use alignas and unions to specify alignments of objects needing
2403         addresses that are at least a multiple of GCALIGNMENT.  Using
2404         these standard C facilities should be safer than relying on ad hoc
2405         and poorly-understood features like GCC’s __attribute__
2406         ((aligned (N))), the root cause for recent porting bugs like
2407         Bug#29040.  The alignas macro was standardized by C11 and Gnulib
2408         supports alignas for pre-C11 platforms.  I have tested this on Sun
2409         Studio 12 sparc (2007) and GCC 4.4.7 x86-64 (2012) as well as on
2410         more recent platforms like GCC 7.2.1 (2017) on Fedora 26 (both
2411         x86-64 and x86).
2412         * lib-src/make-docfile.c (close_emacs_globals): lispsym is now
2413         just an array of struct Lisp_Symbol, since struct Lisp_Symbol is
2414         now properly aligned.  All uses changed.
2415         * src/alloc.c (NEXT_FREE_LISP_STRING): Just use the new u.next
2416         member; this is simpler and safer than casting a pointer that
2417         might not be aligned properly.
2418         (aligned_Lisp_Symbol): Remove.  No longer needed, now that struct
2419         Lisp_Symbol is aligned properly.  All uses replaced with struct
2420         Lisp_Symbol.
2421         * src/lisp.h (GCALIGNED): Remove, as it does not work as expected:
2422         it can cause the natural alignment to be ignored.  All uses
2423         replaced by unions with a ‘char alignas (GCALIGNMENT)’ member as
2424         described below.
2425         (struct Lisp_Symbol, struct Lisp_Cons, struct Lisp_String):
2426         Change definition from ‘struct TAG { MEMBERS };’ to
2427         ‘struct TAG { union { struct { MEMBERS } s; char alignas
2428         (GCALIGNMENT) gcaligned; } u; };’.  This guarantees ‘struct TAG’
2429         to have an alignment that at least max (GCALIGNMENT, N) where N is
2430         its old alignment.  All uses like ‘PTR->MEMBER’ changed to
2431         ‘PTR->u.s.MEMBER’; these uses were supposed to be mostly private
2432         anyway.  Verify that the resulting ‘struct TAG’ is properly
2433         aligned for Emacs.
2434         (union vectorlike_header): New member ‘gcaligned’ to guarantee
2435         that this type, and its containing types like ‘struct Lisp_Subr’,
2436         ‘struct buffer’ and ‘struct thread_state’, are all properly
2437         aligned for Emacs.
2438         (struct Lisp_String): New union member ‘next’, for the benefit
2439         of NEXT_FREE_LISP_STRING.
2440         (union Aligned_Cons, union Aligned_String): Remove.  All uses
2441         replaced by struct Lisp_Cons and struct Lisp_String, since they
2442         are now properly aligned.
2443         (USE_STACK_CONS, USE_STACK_STRING): Simplify now that we can
2444         assume struct Lisp_Cons and struct Lisp_String are properly
2445         aligned.
2447 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
2449         Change vectorlike from struct to union
2451         * src/lisp.h (vectorlike_headed): Change from struct to union.
2452         All uses changed.  Since it has only one member, this does not
2453         change semantics.  This is designed to simplify future changes
2454         needed to fix bugs like Bug#29040.  All uses changed.
2456 2017-11-12  Tom Tromey  <tom@tromey.com>
2458         Don't enable cursor-sensor-mode in mhtml-mode
2460         * lisp/textmodes/mhtml-mode.el (mhtml--last-submode): Update doc
2461         string.
2462         (mhtml-mode): Don't call cursor-sensor-mode.
2464 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
2466         * lisp/files.el (abbreviate-file-name): Doc fix.  (Bug#29267)
2468 2017-11-12  João Távora  <joaotavora@gmail.com>
2470         Unbreak interactive run of a flymake test (bug#29267)
2472         See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19657#20 for the
2473         technique used here.
2475         * test/lisp/progmodes/flymake-tests.el (ruby-backend):
2476         Let-bind abbreviated-home-dir.
2478 2017-11-12  Michael Albinus  <michael.albinus@gmx.de>
2480         Fix Bug#29225
2482         * src/fileio.c (Fset_file_acl): Report error only when
2483         acl_errno_valid returns true.  (Bug#29225)
2485         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl)
2486         (tramp-test25-file-selinux): New tests.
2487         (tramp-test26-file-name-completion, tramp-test27-load)
2488         (tramp-test28-process-file, tramp-test29-start-file-process)
2489         (tramp-test30-interrupt-process, tramp-test31-shell-command)
2490         (tramp-test32-environment-variables)
2491         (tramp-test32-environment-variables-and-port-numbers)
2492         (tramp-test33-explicit-shell-file-name)
2493         (tramp-test34-vc-registered)
2494         (tramp-test35-make-auto-save-file-name)
2495         (tramp-test36-find-backup-file-name)
2496         (tramp-test37-make-nearby-temp-file)
2497         (tramp-test38-special-characters)
2498         (tramp-test38-special-characters-with-stat)
2499         (tramp-test38-special-characters-with-perl)
2500         (tramp-test38-special-characters-with-ls, tramp-test39-utf8)
2501         (tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
2502         (tramp-test39-utf8-with-ls, tramp-test40-file-system-info)
2503         (tramp-test41-asynchronous-requests)
2504         (tramp-test42-recursive-load, tramp-test43-remote-load-path)
2505         (tramp-test44-delay-load, tramp-test45-unload): Rename.
2507 2017-11-12  Alan Mackenzie  <acm@muc.de>
2509         CC Mode: Fix defun-open being recognized as brace-list-open at EOB.
2511         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Add handling
2512         for an open brace at EOB and nested braces inside an unclosed brace block.
2514 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
2516         Merge from Gnulib
2518         This incorporates:
2519         2017-11-11 faccessat: port to macOS (Bug#29231)
2520         2017-11-05 fstatat: pacify GCC on unusual platform
2521         * build-aux/config.guess, build-aux/config.sub:
2522         * doc/misc/texinfo.tex, lib/faccessat.c, lib/fstatat.c:
2523         * lib/unistd.in.h, m4/faccessat.m4, m4/unistd_h.m4:
2524         Copy from Gnulib.
2525         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
2527 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
2529         Pacify GCC when configured --with-x-toolkit=no
2531         Without these changes, Emacs does not build on Fedora 26 x86-64
2532         when configured --with-x-toolkit=no --enable-gcc-warnings.
2533         * oldXMenu/Activate.c (XMenuActivate): Add FALLTHROUGH.
2534         * src/xterm.c (x_dispatch_event): Define only if
2535         USE_X_TOOLKIT || USE_MOTIF || USE_GTK.
2537 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
2539         * lisp/find-dired.el (find-grep-dired): Doc fix.  (Bug#29262)
2541 2017-11-12  João Távora  <joaotavora@gmail.com>
2543         Fix more flymake-diag-region eob corner cases and add tests (bug#29201)
2545         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
2546         more eob corner cases.
2548         * test/lisp/progmodes/flymake-tests.el
2549         (eob-region-and-trailing-newline): New test.
2551 2017-11-11  Basil L. Contovounesios  <contovob@tcd.ie>
2553         Keep Man sections in natural order (bug#28998)
2555         * lisp/man.el (Man-build-section-alist): Reverse sections.
2557 2017-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2559         * lisp/minibuffer.el: Install a workaround for bug#16274
2561         * lisp/minibuffer.el (completion--nth-completion): Avoid signaling an
2562         error when `md` is applied to another table.
2564 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
2566         Fix comparisons with tip_frame in GTK builds
2568         * src/xterm.c (x_update_begin, x_new_font):
2569         * src/xfns.c (Fx_display_monitor_attributes_list):
2570         * src/frame.c (Fframe_list) [USE_GTK]: Don't consider tip_frame a
2571         tooltip frame unless its 'tooltip' parameter is non-nil.  (Bug#26747)
2573 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
2575         Improve the documentation of M-n for entering file names
2577         * lisp/files.el (find-file, find-file-other-window)
2578         (find-file-other-frame): Mention file-name-at-point-functions in
2579         the doc string.  Reported by Florian Weimer <fw@deneb.enyo.de> in
2580         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00224.html.
2582         * doc/emacs/mini.texi (Minibuffer History): Document
2583         file-name-at-point-functions and its effect on M-n when typing
2584         file names in the minibuffer.
2585         * doc/emacs/files.texi (File Names):
2586         * doc/emacs/mini.texi (Minibuffer File): Add a cross-reference to
2587         "Minibuffer History", where special features of M-n regarding
2588         files are described.
2590 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
2592         Fix desktop auto-save timer when linum-mode is used
2594         * lisp/desktop.el (desktop-read): Use toplevel value of
2595         window-configuration-change-hook when deciding whether desktop
2596         auto-saving is enabled.  Suggested by Peter Neidhardt
2597         <pe.neidhardt@googlemail.com>.  (Bug#28945)
2599 2017-11-11  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
2601         Fix "C-h k" in xterm-mouse-mode
2603         * lisp/help.el (help-read-key-sequence): Support "C-h k" for
2604         xterm-mouse-mode by calling read-key-sequence-vector instead of
2605         read-event.  (Bug#29150)
2607 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
2609         Fix off-by-1 bug in --enable-checking=stringbytes
2611         Evidently nobody builds Emacs with --enable-checking=all,
2612         which is no surprise as it is so slow as to be unusable nowadays.
2613         Perhaps we should remove the slowest checks, or move them into
2614         another category, or speed them up, or something.
2615         * src/alloc.c (SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Fix off-by-one
2616         error in size calculation, which caused a failure when
2617         --enable-checking=stringbytes was used.  I introduced this bug in
2618         2016-09-08T01:08:45!eggert@cs.ucla.edu "Port flexible array
2619         members to GCC + valgrind".
2621 2017-11-10  Alan Mackenzie  <acm@muc.de>
2623         Correct the indentation of C99's compound literals.
2625         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Amend so that
2626         if there is only syntactic whitespace in a brace block, it is regarded as a
2627         statement block.  Also, if there is no semicolon or comma delimiter, treat as
2628         a statement block when there is a keyword.
2629         (c-guess-basic-syntax): CASE 9 test: Regard a brace as starting a brace block
2630         when its contents indicate a brace block.
2632 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
2634         Improve the doc string of 'dired-isearch-filter-filenames'
2636         * lisp/dired-aux.el (dired-isearch-filter-filenames): Doc fix.
2637         (Bug#29215)
2639 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
2641         * lisp/isearch.el (search-invisible): Doc fix.  (Bug#29222)
2643 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
2645         Fix display of line numbers in GTK builds
2647         * src/xdisp.c (should_produce_line_number) [USE_GTK]: Make sure
2648         tip_frame is indeed a tooltip frame, before disabling line numbers
2649         on it.  (Bug#27647)
2651         * src/dispextern.h (tip_frame): Add commentary describing the
2652         kludgey usage of this variable in GTK builds.
2654 2017-11-10  João Távora  <joaotavora@gmail.com>
2656         Fix previous change to flymake-diag-region (bug#29174)
2658         * lisp/progmodes/flymake.el (flymake-diag-region):
2659         Pass line and col to commit.
2661 2017-11-09  João Távora  <joaotavora@gmail.com>
2663         flymake-diag-region really returns nil if region is invalid (bug#29174)
2665         Reported by Lele Gaifax <lele@metapensiero.it>.
2667         * lisp/progmodes/flymake.el (flymake-diag-region): Really
2668         return nil if the region is invalid.
2670 2017-11-09  João Távora  <joaotavora@gmail.com>
2672         Flymake correctly highlights whole last line if eob (bug#29201)
2674         If a line/column pair indicates an end-of-buffer position, flymake
2675         should behave like the case where the last line of the buffer is
2676         referenced without a column indication.  This behavior is currently
2677         to highlight the whole last line.
2679         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
2680         conditions of fallback to the fallback-eol local function.
2682 2017-11-09  João Távora  <joaotavora@gmail.com>
2684         Protect Flymake checkdoc backend against checkdoc errors (bug#29176)
2686         The function checkdoc-current-buffer may error if there are unbalanced
2687         parens, for example, but this shouldn't disable the
2688         elisp-flymake-checkdoc backend.
2690         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc): Use
2691         ignore-errors.
2693 2017-11-09  João Távora  <joaotavora@gmail.com>
2695         Sort entries of the Flymake diagnostics buffer (bug#29175)
2697         Reported by Lele Gaifax <lele@metapensiero.it>.
2699         * lisp/progmodes/flymake.el
2700         (flymake--diagnostics-buffer-entries): Sort results of flymake-diagnostics.
2702 2017-11-09  Alan Mackenzie  <acm@muc.de>
2704         Correctly indent C++14 brace lists which are a second argument to a function.
2706         In particular, don't indent contained brace lists in "staircase" fashion.
2707         This fixes bug #28623.
2709         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): When
2710         testing for being enclosed in parens, recognise also a brace directly
2711         following a comma, as well as a brace being the first thing inside the paren.
2712         Enhance the return value, by indicating when we're directly inside an open
2713         paren.
2714         (c-inside-bracelist-p): Add an extra argument ACCEPT-IN-PARAM which indicates
2715         whether we will accept a bracelist directly inside an open parenthesis.
2716         Simplify the manipulation of PAREN-STATE by dispensing with variable LIM and
2717         using c-pull-open-brace.  Enhance the return value, respecting the new argument.
2718         (c-guess-basic-syntax): Save a copy of the initial parse-state in the new
2719         variable STATE-CACHE.  Use this variable in place of C-STATE-CACHE throughout
2720         the function.  At CASE 7B, call c-inside-bracelist-p with extra argument nil.
2721         At CASE 9, call that function with extra argument t.
2723 2017-11-09  Eli Zaretskii  <eliz@gnu.org>
2725         Fix redisplay of overlay-arrows on GUI frames
2727         * src/xdisp.c (try_window_reusing_current_matrix)
2728         (try_cursor_movement): Disallow these optimizations if the buffer
2729         has overlay arrow(s) shown on the fringe(s).  (Bug#29198)
2731 2017-11-09  João Távora  <joaotavora@gmail.com>
2733         Protect Flymake tests against older Ruby and Perl (bug#29187)
2735         * test/lisp/progmodes/flymake-tests.el (perl-backend): Search
2736         for the error from the bottom.
2737         (ruby-backend): Protect against situation of bug#29187
2739 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2741         Fix URL cookie expiration bug
2743         Problem reported by Damien Cassou (Bug#29223).
2744         * lisp/url/url-cookie.el (url-cookie-expired-p):
2745         Fix typo in previous change, which caused unexpired cookies
2746         to be treated as expired and vice versa.
2748 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2750         Use GCALIGNED properly for GCC
2752         Apparently GCC requires that ‘__attribute__ ((aligned (8)))’ must
2753         immediately follow the ‘struct’ keyword when aligning a structure.
2754         The attribute silently does not work if it follows a tag after the
2755         ‘struct’ keyword.  Who knew?  Anyway, this patch is designed to
2756         fix a SIGSEGV problem reported by John Mastro (Bug#29183).
2757         * lib-src/make-docfile.c (close_emacs_globals):
2758         * src/buffer.c (buffer_defaults, buffer_local_symbols):
2759         * src/lisp.h (DEFUN):
2760         * src/thread.c (main_thread):
2761         Put 'GCALIGNED' immediately after 'struct'.
2763 2017-11-09  Glenn Morris  <rgm@gnu.org>
2765         In f90.el, set fill-paragraph-function to a useful value
2767         * lisp/progmodes/f90.el (f90-mode-map) <menu>: Add fill-paragraph.
2768         (f90-mode): Set fill-paragraph-function.
2769         (f90-fill-paragraph): New command.
2771 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
2773         Fix to 2fddfb7ce7
2775         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
2776           Fix bogus paren wrapping.
2778 2017-11-08  Glenn Morris  <rgm@gnu.org>
2780         * admin/gitmerge.el (gitmerge-resolve-unmerged): Fix doc typo.
2782 2017-11-08  Charles A. Roelli  <charles@aurox.ch>
2784         Further workaround for faulty localtime() under macOS 10.6
2786         * lisp/org/org-clock.el (org-clock--oldest-date): Fix an issue
2787         when compiling on macOS 10.6 with a western time zone (a
2788         continuation of Bug#27736).  In particular, see:
2790         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27736#74
2792         and the first commit that attempted to work around this problem,
2793         "Workaround for faulty localtime() under macOS 10.6", bd49b6f1 of
2794         2017-09-30.
2796 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
2798         Handle object string name in eieio-persistent-convert-list-object
2800         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
2801           Starting to phase out the printing of object names in
2802           `object-write', handle either case.
2804 2017-11-08  Ryan C. Thompson  <rct@thompsonclan.org>
2806         Fix handling of nil PRED2 arg for completion-table-with-predicate
2808         * lisp/minibuffer.el (completion-table-with-predicate): Don't act as
2809         if strict is non-nil when pred2 is nil (Bug#27841).
2810         * test/lisp/minibuffer-tests.el
2811         (completion-table-with-predicate-test): Add a test for Bug#27841.
2813 2017-11-07  K. Handa  <handa@gnu.org>
2815         Describe Lao rendering problem
2817         * etc/PROBLEMS: Describe a workaround for the problem of Lao rendering
2818         by OpenTyype font.
2820 2017-11-07  K. Handa  <handa@gnu.org>
2822         Fix docstring of arabic-shaper-ZWNJ-handling
2824         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Adjusted
2825         the doctstring for addition of :set (bug#28312).
2827 2017-11-07  Antonin Houska  <ah@melesmeles.cz>  (tiny change)
2829         Handle single-line comments correctly (Bug#26049)
2831         * lisp/newcomment.el (comment-region-internal): Previously, the
2832         comment text had to contain at least one line break character for the
2833         ending extra line to be added.  Make the behavior more consistent by
2834         looking for end of line instead.
2835         (comment-region-internal): Remove trailing white space from the
2836         comment's initial line.
2838 2017-11-07  Glenn Morris  <rgm@gnu.org>
2840         * test/lisp/net/tramp-tests.el (tramp-test16-file-expand-wildcards):
2841         Clean up properly.
2843 2017-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>
2845         * etc/PROBLEMS: Add URL to relevant issues for xterm+evil bug
2847 2017-11-06  Martin Rudalics  <rudalics@gmx.at>
2849         Document new treatment of 'comment-auto-fill-only-comments'
2851         * doc/lispref/text.texi (Auto Filling): Add reference to Emacs
2852         manual.  Add description of 'comment-auto-fill-only-comments'.
2853         * etc/NEWS: Mention new treatment of
2854         'comment-auto-fill-only-comments'.
2856 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
2858         Do not load Tramp unless `tramp-mode' is non-nil
2860         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Load Tramp only if
2861         `tramp-mode' is non-nil.
2862         (tramp-unload-file-name-handlers): Unload also
2863         `tramp-autoload-file-name-handler'.
2865         * test/lisp/net/tramp-tests.el (tramp-test42-delay-load): Extend test.
2867 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
2869         Prefer `customize-set-variable' in tramp.texi
2871         * doc/misc/tramp.texi (Configuration, Default Method, Default User)
2872         (Default Host, Remote shell setup, Auto-save and Backup)
2873         (Ad-hoc multi-hops, Frequently Asked Questions):
2874         Prefer `customize-set-variable' over `custom-set-variables'.
2876 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
2878         Fix last change in hscroll_window_tree
2880         * src/xdisp.c (hscroll_window_tree): When hscroll suspension is
2881         being disabled, set the frame's garbaged flag less eagerly.
2882         (Bug#29002)
2884 2017-11-05  Philipp Stephani  <phst@google.com>
2886         Ediff: add some missing documentation
2888         * lisp/vc/ediff.el (ediff-files, ediff-files3, ediff-buffers)
2889         (ediff-buffers3, ediff-merge-directories)
2890         (ediff-merge-directories-with-ancestor)
2891         (ediff-merge-directory-revisions)
2892         (ediff-merge-directory-revisions-with-ancestor)
2893         (ediff-windows-wordwise, ediff-windows-linewise)
2894         (ediff-regions-wordwise, ediff-regions-linewise)
2895         (ediff-merge-files, ediff-merge-files-with-ancestor)
2896         (ediff-merge-buffers, ediff-merge-buffers-with-ancestor)
2897         (ediff-merge-revisions, ediff-merge-revisions-with-ancestor)
2898         (ediff-patch-file, ediff-revision): Document missing arguments.
2899         (ediff-patch-buffer, ediff-revision): Add second space after
2900         period.
2901         (ediff-files-command, ediff3-files-command, ediff-merge-command)
2902         (ediff-merge-with-ancestor-command, ediff-directories-command)
2903         (ediff-directories3-command, ediff-merge-directories-command): Add
2904         documentation for the command line functions.
2906 2017-11-05  Justin Timmons  <justinmtimmons@gmail.com>  (tiny change)
2908         Support python virtualenv on w32 (Bug#24464)
2910         According to the virtualenv docs only POSIX systems follow the
2911         structure "/path/to/venv/bin/", while windows systems use
2912         "/path/to/venv/Scripts" for the location of the binary files, most
2913         importantly including the python interpreter (see:
2914         https://virtualenv.pypa.io/en/stable/userguide/#windows-notes).
2915         * lisp/progmodes/python.el (python-shell-calculate-exec-path): Use the
2916         "/path/to/venv/Scripts" for `windows-nt' machines.
2918 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
2920         Improve dired deletion error handling (Bug#28797)
2922         * lisp/dired.el (dired-internal-do-deletions): Use
2923         `error-message-string' to produce a human readable error message.
2925 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
2927         Don't replace user input when completion prefix is empty (Bug#18951)
2929         * lisp/pcomplete.el (pcomplete-parse-arguments): Only replace user
2930         input if we produced a non-empty common completion stub.
2932 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
2934         Return non-nil from gnutls-available-p under GnuTLS 2.x
2936         * doc/misc/emacs-gnutls.texi (Help For Users): Update the
2937         documentation of 'gnutls-available-p'.
2939         * etc/NEWS (GnuTLS): Mention the change in the value returned by
2940         'gnutls-available-p'.
2942         * src/gnutls.c (Fgnutls_available_p): Return non-nil when GnuTLS
2943         2.x is available.  (Bug#29147)
2945 2017-11-05  João Távora  <joaotavora@gmail.com>
2947         Fix Flymake help-echo functions across windows (bug#29142)
2949         * lisp/progmodes/flymake.el (flymake--highlight-line): Use
2950         with-selected-window.
2951         (flymake-goto-next-error): Call help-echo with a window and an
2952         overlay.
2954 2017-11-05  João Távora  <joaotavora@gmail.com>
2956         Add tests for Flymake backends for Ruby and Perl
2958         * test/lisp/progmodes/flymake-tests.el (perl-backend)
2959         (ruby-backend): New tests.
2960         (warning-predicate-rx-perl, warning-predicate-function-perl):
2961         Delete tests.
2963         * test/lisp/progmodes/flymake-resources/test.pl: Include an
2964         error the test file.
2966         * test/lisp/progmodes/flymake-resources/test.rb: file.
2968 2017-11-05  João Távora  <joaotavora@gmail.com>
2970         Add a Flymake backend for Perl
2972         Define a simple backend in perl-mode.el, which cperl-mode.el also
2973         uses.
2975         * lisp/progmodes/cperl-mode.el (cperl-mode): Add to
2976         flymake-diagnostic-functions.
2978         * lisp/progmodes/flymake-proc.el
2979         (flymake-proc-allowed-file-name-masks): Disable legacy backend
2980         for perl files.
2982         * lisp/progmodes/perl-mode.el (perl-flymake-command): New
2983         defcustom.
2984         (perl--flymake-proc): New buffer-local variable.
2985         (perl-flymake): New function.
2986         (perl-mode): Add to flymake-diagnostic-functions.
2988 2017-11-05  João Távora  <joaotavora@gmail.com>
2990         Add a Flymake backend for Ruby
2992         * lisp/progmodes/ruby-mode.el (ruby-flymake-command): New
2993         defcustom.
2994         (ruby--flymake-proc): New buffer-local variable.
2995         (ruby-flymake): New function.
2996         (ruby-mode): Add flymake-diagnostic-functions.
2998 2017-11-05  Lele Gaifax  <lele@metapensiero.it>
3000         Add a Flymake backend for Python (bug#28808)
3002         Implement new Flymake backend with related customizable settings.
3004         * lisp/progmodes/python.el (python-flymake-command)
3005         (python-flymake-command-output-pattern)
3006         (python-flymake-msg-alist): New defcustom.
3007         (python--flymake-parse-output): New function, able to parse
3008         python-flymake-command output accordingly to
3009         python-flymake-command-output-pattern.
3010         (python-flymake): New function implementing the backend
3011         interface using python--flymake-parse-output for the real
3012         work.
3013         (python-mode): Add python-flymake to flymake-diagnostic-functions.
3015 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
3017         Allow "%" in Tramp host names
3019         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name): Hexify also host.
3021         * lisp/net/tramp.el (tramp-host-regexp): Allow "%" in host names.
3023 2017-11-04  Noam Postavsky  <npostavs@users.sourceforge.net>
3025         Use hybrid malloc for FreeBSD (Bug#28308)
3027         FreeBSD aarch64 does not provide sbrk, so gmalloc cannot be used; when
3028         using system malloc dumping does not work correctly (allocated data is
3029         invalid after dumping).
3030         * configure.ac: Set hybrid_malloc for freebsd.
3031         * src/gmalloc.c (gdefault_morecore) [!HAVE_SBRK]: Don't call sbrk.
3033 2017-11-04  Charles A. Roelli  <charles@aurox.ch>
3035         Add html-, mhtml- and python-mode support to semantic symref
3037         * lisp/cedet/semantic/symref/grep.el
3038         (semantic-symref-filepattern-alist): Fix the entry for
3039         'html-mode', which used a regexp-like syntax where only glob
3040         syntax is permitted.  As a result, 'xref-find-references' (M-?)
3041         can now find references in HTML files.  Also duplicate the same
3042         entry for the sake of 'mhtml-mode', and add a new one for
3043         'python-mode'.
3044         (semantic-symref-derive-find-filepatterns): In the documentation,
3045         clarify that returned patterns must follow the glob syntax.  Fix
3046         an 'if' test that always evaluates to nil.
3047         (semantic-symref-tool-grep):
3048         (semantic-symref-perform-search): Fix typos.
3050 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
3052         Improve documentation of 'window-scroll-functions'
3054         * doc/lispref/windows.texi (Window Hooks): Clarify the values of
3055         arguments of 'window-scroll-functions' functions.
3057         * src/xdisp.c (syms_of_xdisp) <window-scroll-functions>: Doc fix.
3059 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
3061         Fix subtle problems in tabulated-list-mode with line numbers
3063         * lisp/emacs-lisp/tabulated-list.el
3064         (tabulated-list-watch-line-number-width): Call
3065         tabulated-list-init-header instead of tabulated-list-revert.
3066         (tabulated-list-window-scroll-function): New function.
3067         (tabulated-list-mode): Put 'tabulated-list-window-scroll-function'
3068         on the buffer-local 'window-scroll-functions' list.
3070 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
3072         Make gdb-non-stop-setting default to nil on MS-Windows
3074         * lisp/progmodes/gdb-mi.el (gdb-non-stop-setting): Now nil on
3075         MS-Windows.
3077 2017-11-04  Mike Gulick  <mike.gulick@mathworks.com>  (tiny change)
3079         Fix gdb-mi prompt after "attach PID" command
3081         * lisp/progmodes/gdb-mi.el (gdbmi-bnf-console-stream-output): Set
3082         gdb-first-done-or-error non-nil.  (Bug#29020)
3084 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
3086         Fix doc string of 'window-configuration-change-hook'
3088         * src/window.c (syms_of_window) <window-configuration-change-hook>:
3089         Doc fix.  (Bug#29049)
3091 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
3093         Improve documentation of window hooks
3095         * doc/lispref/windows.texi (Window Hooks): Fix the description of
3096         window-configuration-change-hook.  (Bug#29049)
3097         <run-window-scroll-functions, run-window-configuration-change-hook>:
3098         Document these functions.
3100 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
3102         Fix hscroll suspension after cursor motion
3104         * src/xdisp.c (hscroll_window_tree): Trigger a thorough redisplay
3105         of the window when temporary suspension of hscrolling is
3106         disabled.  (Bug#29002)
3108 2017-11-03  Alan Mackenzie  <acm@muc.de>
3110         Introduce a function to CC Mode which displays the current function name
3112         Remove an erroneous interactive specification from two functions.
3114         * lisp/progmodes/cc-cmds.el (c-display-defun-name): New command.
3115         (c-defun-name, c-cpp-define-name): Remove interactive specification.
3117         * lisp/progmodes/cc-mode.el (c-mode-base-map): Add binding C-c C-z for the new
3118         command.
3120         * doc/misc/cc-mode.texi (Other Commands): Add documentation for the new
3121         command.
3123 2017-11-03  Eli Zaretskii  <eliz@gnu.org>
3125         Fix typos in ediff-wind.el
3127         * lisp/vc/ediff-wind.el (ediff-setup-windows-multiframe-merge):
3128         Fix typos in commentary.  (Bug#29138)
3130 2017-11-03  João Távora  <joaotavora@gmail.com>
3132         Examine tex-chktex--process in the correct buffer
3134         As in other Flymake backends, the process sentinel might run in
3135         arbitrary buffers where this variable's value doesn't make sense.
3137         For a way to trigger a problem due to this, see discussion starting in
3138         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00645.html
3140         * lisp/textmodes/tex-mode.el (tex-chktex): Use
3141         with-current-buffer.
3143 2017-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
3145         * nt/INSTALL.W64: Update to current mingw64 install instructions
3147 2017-11-03  João Távora  <joaotavora@gmail.com>
3149         Don't resignal errors in flymake-diag-region
3151         * lisp/progmodes/flymake.el (flymake-diag-region): Use
3152         flymake-log instead of flymake-error.
3154 2017-11-03  João Távora  <joaotavora@gmail.com>
3156         New xref-quit-and-goto-xref command bound to TAB (bug#28814)
3158         This is like xref-goto-xref, but quits the *xref* window just before
3159         the user jump to ref.
3161         * lisp/progmodes/xref.el (xref--show-location): Handle 'quit
3162         value for SELECT.
3163         (xref-goto-xref): Take optional QUIT arg.
3164         (xref-quit-and-goto-xref): New command.
3165         (xref--xref-buffer-mode-map): Bind "Q" and "TAB" to
3166         xref-quit-and-goto-xref.
3168         * doc/emacs/maintaining.texi (Xref Commands): Describe new bindings in
3169         *xref*.
3171         * etc/NEWS (Xref): Describe new binding.
3173 2017-11-03  João Távora  <joaotavora@gmail.com>
3175         Allow split-window-sensibly to split threshold in further edge case
3177         As a fallback, and to avoid creating a frame, split-window-sensibly
3178         would previously disregard split-height-threshold if the window to be
3179         split is the frame's root window.
3181         This change generalizes that: it disregards the threshold if the
3182         window to be split is the frame's only _usable_ window (it is either
3183         the only one, as before, or all the other windows are dedicated to
3184         some buffer and thus cannot be touched).
3186         This is required for the fix to bug#28814.
3188         * lisp/window.el (split-height-threshold): Adjust doc to match
3189         split-window-sensibly.
3190         (split-window-sensibly): Also disregard threshold if all other
3191         windows are dedicated.
3193 2017-11-03  João Távora  <joaotavora@gmail.com>
3195         Honor window-switching intents in xref-find-definitions (bug#28814)
3197         When there is more than one xref to jump to, and an *xref* window
3198         appears to help the user choose, the original intent to open a
3199         definition in another window or frame is remembered when the choice to
3200         go to or show a reference is finally made.
3202         * lisp/progmodes/xref.el (xref--show-pos-in-buf): Rewrite.
3203         (xref--original-window-intent): New variable.
3204         (xref--original-window): Rename from xref--window and move up
3205         here for clarity.
3206         (xref--show-pos-in-buf): Rewrite.  Don't take SELECT arg here.
3207         (xref--show-location): Handle window selection decision here.
3208         (xref--window): Rename to xref--original-window.
3209         (xref-show-location-at-point): Don't attempt window management here.
3210         (xref--show-xrefs): Ensure display-action intent is saved.
3212 2017-11-03  Paul Pogonyshev  <pogonyshev@gmail.com>
3214         * lisp/emacs-lisp/generator.el (iter-do): Add a debug declaration.
3216 2017-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
3218         * lisp/progmodes/flymake.el (flymake-start): Fix dead buffer case
3220         Don't try to flymake-start within a buffer that doesn't exist any more.
3222 2017-11-03  Basil L. Contovounesios  <contovob@tcd.ie>
3224         Fix buffer name comparison in async shell-command
3226         * lisp/simple.el (shell-command): Keep track of output-buffer
3227         by its name, not by its object.  (Bug#28997)
3229 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
3231         Change GCALIGNMENT back to an integer literal
3233         * src/lisp.h (GCALIGNMENT): Change it back to a macro
3234         that expands to a literal integer constant, for older GCC.
3235         I had mistakenly thought that only MSVC had the problem.
3236         Problem repored by Eli Zaretskii (Bug#29040#69).
3238 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
3240         * src/lisp.h (GCALIGNED): Clarify comment (Bug#29040).
3242 2017-11-03  Hong Xu  <hong@topbug.net>
3244         Improve the doc of eshell-cmpl-* custom variables (Bug#25069)
3246         * lisp/eshell/em-cmpl.el (eshell-cmpl--custom-variable-docstring): New
3247         function to generate the docstring for custom variables derived from
3248         pcomplete-* variables.
3249         (eshell-cmpl-file-ignore, eshell-cmpl-dir-ignore)
3250         (eshell-cmpl-ignore-case, eshell-cmpl-autolist)
3251         (eshell-cmpl-suffix-list, eshell-cmpl-recexact)
3252         (eshell-cmpl-man-function, eshell-cmpl-compare-entry-function)
3253         (eshell-cmpl-expand-before-complete, eshell-cmpl-cycle-completions)
3254         (eshell-cmpl-cycle-cutoff-length, eshell-cmpl-restore-window-delay)
3255         (eshell-command-completion-function, eshell-cmpl-command-name-function)
3256         (eshell-default-completion-function, eshell-cmpl-use-paring): Use it
3257         to set the docstring.
3259 2017-11-02  Alan Third  <alan@idiocy.org>
3261         Fix mouse-scrollbar offset on GNUstep and old macOS (bug#29053)
3263         * src/nsterm.m (EmacsScroller::mouseDown,
3264         EmacsScroller::mouseDragged): Take scroller buttons into account when
3265         calculating scroller knob position.
3267 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
3269         Merge from Gnulib
3271         This incorporates:
3272         2017-10-29 timespec: prefer ‘assume’ to ‘assure’
3273         2017-10-27 timespec.h: use "assure" to avoid a spurious warning
3274         2017-10-09 getopt-posix: Fix build failure if ac_cv_header_getopt_h=no
3275         * build-aux/config.guess, build-aux/config.sub:
3276         * lib/timespec.h, lib/unistd.in.h:
3277         Copy from Gnulib.
3279 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
3281         Fix alignment portability problems
3283         Do not assume that the natural alignment of Lisp objects is a
3284         multiple of GCALIGNMENT.  This improves on the portability of the
3285         recent fix for Bug#29040.
3286         * lib-src/make-docfile.c (close_emacs_globals):
3287         * src/buffer.c (buffer_defaults, buffer_local_symbols):
3288         * src/lisp.h (DEFUN):
3289         * src/thread.c (main_thread):
3290         Use GCALIGNED, not alignas (GCALIGNMENT).
3291         * src/alloc.c (COMMON_MULTIPLE):
3292         Move back here from lisp.h, since it is no longer used elsewhere.
3293         * src/lisp.h (GCALIGNMENT): No longer a macro, since we need not
3294         worry about MSVC.  Omit no-longer-needed consistency check.
3295         * src/thread.c (THREAD_ALIGNMENT): Remove.
3297 2017-11-02  Simen Heggestøyl  <simenheg@gmail.com>
3299         Fix completion of colon after CSS property (Bug#29056)
3301         * lisp/textmodes/css-mode.el (css-completion-at-point): Don't insert
3302         ": ;" after completing a CSS property unless the rest of the line is
3303         empty.
3305 2017-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
3307         * src/alloc.c (sweep_symbols): Tweak last change
3309         Avoid the double-free without the extra check.  Add an explanatory comment.
3311 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
3313         In frame parameters documentation mention desktop saving/restoring
3315         * doc/lispref/frames.texi (Frame Parameters): Mention that
3316         applications have to care about which parameters they want to
3317         get saved and restored by the desktop library.
3319 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
3321         Don't have frameset save the 'client' parameter (Bug#29067)
3323         * lisp/frameset.el (frameset-persistent-filter-alist): Never
3324         save 'client' parameter (Bug#29067).
3326 2017-11-02  Gemini Lasswell  <gazally@runbox.com>
3328         Handle generic variables in cl-defgeneric Edebug spec
3330         *lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix Edebug spec to
3331         match (setf name) and replace incorrect cl-lambda-list with listp
3332         (Bug#27747).
3334 2017-11-02  Noam Postavsky  <npostavs@gmail.com>
3336         Give a more sensible message if file-attributes fails (Bug#29070)
3338         * lisp/server.el (server-ensure-safe-dir): Don't claim the directory
3339         is a file if we fail to get anything from `file-attributes'.
3341 2017-11-01  Andreas Schwab  <schwab@linux-m68k.org>
3343         Avoid wrong value from file-attributes on Linux kernel before 3.6
3345         * src/dired.c (file_attributes): Handle unsupported fstat on O_PATH
3346         descriptors.  (bug#29070)
3348 2017-11-01  Noam Postavsky  <npostavs@gmail.com>
3350         Fix customization of debugger-print-function (Bug#29077)
3352         * lisp/emacs-lisp/debug.el (debugger-print-function): The :options
3353         keyword has no effect for :type 'function, use :type '(choice ...)
3354         instead.
3356 2017-10-31  Eli Zaretskii  <eliz@gnu.org>
3358         Avoid duplicate calls to xfree for the same pointer
3360         * src/alloc.c (sweep_symbols): Avoid freeing an already freed
3361         pointer to a symbol's buffer-local value.  (Bug#29066)
3363 2017-10-31  Phil Sainty  <psainty@orcon.net.nz>
3365         Don't clobber docstrings of explicitly-defined mode hook variables
3367         * lisp/emacs-lisp/derived.el (define-derived-mode):
3368         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): When defining the
3369         mode hook variable, do not clobber pre-existing docstrings.
3371 2017-10-31  Martin Rudalics  <rudalics@gmx.at>
3373         Avoid fullscreen ediff control frames by default (Bug#29026)
3375         * lisp/vc/ediff-wind.el (ediff-control-frame-parameters):
3376         Add parameter to avoid fullscreen control frames (Bug#29026).
3378 2017-10-31  Katsumi Yamaoka  <yamaoka@jpl.org>
3380         Fix the bug#24034 change (revno 9eb028f) causing infloop (bug#29047)
3382         * lisp/net/shr.el (shr-fill-line): Copy only face and image-displayer
3383         properties to gaps (bug#29047).
3385 2017-10-30  Eli Zaretskii  <eliz@gnu.org>
3387         Fix a typo in the ELisp manual
3389         * doc/lispref/functions.texi (Obsolete Functions): Fix a typo.
3390         (Bug#29068)
3392 2017-10-30  Martin Rudalics  <rudalics@gmx.at>
3394         Fix doc and doc-strings for minibuffer window related functions (Bug#28978)
3396         These fixes were suggested by Drew Adams.
3398         * src/window.c (Fminibuffer_selected_window): Disambiguate
3399         doc-string.
3400         * doc/lispref/minibuf.texi (Intro to Minibuffers)
3401         (Minibuffer Windows, Recursive Mini, Minibuffer Misc):  Avoid
3402         the term "currently active minibuffer window".  Disambiguate
3403         documentation of `minibuffer-selected-window'.
3405 2017-10-30  Alan Mackenzie  <acm@muc.de>
3407         Fix "Args out of range" error in c-determine-limit.  Fixes bug #28598.
3409         * lisp/progmodes/cc-engine.el (c-determine-limit-get-base): If the candidate
3410         position for BASE is below point-min, scan forward to the end of the current
3411         literal.
3412         (c-determine-limit): Add an extra arm to the final cond form, testing for BASE
3413         being at point-min.
3415 2017-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
3417         * lisp/progmodes/perl-mode.el: Fix electric indentation with RET
3419         (perl-electric-noindent-p): The `eolp' check should not apply to RET.
3420         Reported in https://emacs.stackexchange.com/questions/36337.
3422 2017-10-29  Tom Tromey  <tom@tromey.com>
3424         Extend mhtml submode region when in comment
3426         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Extend
3427         submode when start happens to be in a comment.
3429 2017-10-29  Tom Tromey  <tom@tromey.com>
3431         Fix mthml submode lighting at end of buffer
3433         * lisp/textmodes/mhtml-mode.el (mhtml--submode-lighter): Handle end of
3434         buffer correctly.
3436 2017-10-29  Tom Tromey  <tom@tromey.com>
3438         Remember more variables in mhtml-mode
3440         * lisp/textmodes/mhtml-mode.el (mhtml--crucial-variable-prefix): Add
3441         "completion-" and "major-mode".
3442         (mhtml--variable-prefix): Remove "major-mode".
3444 2017-10-29  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3446         * etc/NEWS (EUDC): Deprecate BBDB 2.x backward compatibility.
3448 2017-10-29  Martin Rudalics  <rudalics@gmx.at>
3450         Fix minibuffer window related docs and strings (Bug#28978)
3452         * src/frame.c (Vdefault_minibuffer_frame): Fix doc-string.
3453         * src/window.c (Fminibuffer_selected_window): Fix doc-string.
3454         * doc/lispref/frames.texi (Buffer Parameters): Rewrite
3455         description of `minibuffer' parameter.
3456         * doc/lispref/minibuf.texi (Minibuffer Windows): Reorder
3457         entries and partly rewrite section.
3458         (Minibuffer Misc): Clarify description of
3459         `minibuffer-selected-window'.
3460         * etc/NEWS: Mention new semantics of 'minibuffer' frame
3461         parameter.
3463 2017-10-29  Mark Oteiza  <mvoteiza@udel.edu>
3465         Add ChkTeX flymake backend for latex-mode
3467         * lisp/textmodes/tex-mode.el (tex-flymake): New custom group.
3468         (tex-chktex-program, tex-chktex-extra-flags): New custom variables.
3469         (latex-mode): Add backend to flymake-diagnostic-functions.
3470         (tex-chktex--process): New variable.
3471         (tex-chktex-command, tex-chktex): New functions.
3473 2017-10-29  Glenn Morris  <rgm@gnu.org>
3475         Fix doc typos
3477         * lisp/simple.el (line-move-ignore-invisible):
3478         * lisp/sort.el (sort-regexp-fields):
3479         * lisp/cedet/ede.el (project-add-file):
3480         * lisp/gnus/message.el (message-bogus-recipient-p):
3481         * lisp/international/mule.el (define-coding-system):
3482         * lisp/progmodes/ebrowse.el (ebrowse-member-buffer-object-menu):
3483         * lisp/progmodes/xscheme.el (xscheme-allow-output-p)
3484         (scheme-interaction-mode, scheme-debugger-mode)
3485         (xscheme-yank-pop, xscheme-yank-push): Doc fixes.
3487 2017-10-29  Glenn Morris  <rgm@gnu.org>
3489         Fix some duplicate word typos
3491         * doc/misc/ede.texi (ede-target):
3492         * doc/misc/flymake.texi (Using Flymake):
3493         * doc/misc/gnus.texi (The namazu Engine): Fix typos.
3495 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
3497         * doc/lispref/commands.texi (Adjusting Point): Fix wording. (Bug#29042)
3499 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
3501         Avoid segfaults in 64-bit Windows builds
3503         * src/lisp.h (COMMON_MULTIPLE): Move here from alloc.c.
3504         * src/thread.c (THREAD_ALIGNMENT): New macro.
3505         (main_thread): Use THREAD_ALIGNMENT to align propertly.  (Bug#29040)
3507 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
3509         Fix conversion of pixel coordinates to buffer position
3511         * src/dispnew.c (buffer_posn_from_coords): Adapt to
3512         auto-hscroll-mode == current-line.
3514 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
3516         Fix doc strings in desktop.el
3518         * lisp/desktop.el (desktop-auto-save-timeout)
3519         (desktop-auto-save-set-timer): Doc fixes.  (Bug#28945)
3521 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
3523         Add Index to ERT manual
3525         * doc/misc/ert.texi: Add @syncodeindex directives.
3526         (Index): New node.
3527         (Top): Add Index to the top-level menus.
3528         Add index entries to all nodes.
3530 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
3532         Make manuals and NEWS consistent
3534         * etc/NEWS: Fix markings on several entries, and rearrange others
3535         as needed.
3537         * doc/emacs/programs.texi (Hideshow): Document the new
3538         outline-like bindings.
3539         * doc/emacs/search.texi (Query Replace): Document 'u' and 'U'.
3541 2017-10-28  Martin Rudalics  <rudalics@gmx.at>
3543         Don't allow (minibuffer-window-active-p nil) to return t
3545         * lisp/window.el (minibuffer-window-active-p): Return t
3546         only if WINDOW is a live window.
3548 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
3550         Clarify obsolescence message for 'whitespace-tab'
3552         * lisp/whitespace.el (whitespace-tab): Make the obsolescence
3553         message more clear about the replacement.
3555 2017-10-28  Glenn Morris  <rgm@gnu.org>
3557         Fix some duplicate words typos
3559         * lisp/erc/erc.el (erc-hide-current-message-p):
3560         * lisp/progmodes/flymake-proc.el (flymake-proc-diagnostic-type-pred):
3561         * doc/lispref/display.texi (Bidirectional Display, Delayed Warnings):
3562         * doc/lispref/functions.texi (Defining Functions):
3563         * doc/lispref/os.texi (Terminal-Specific):
3564         * doc/misc/sem-user.texi (Analyzer Debug):
3565         * doc/misc/srecode.texi (Special Variables): Fix typos.
3567 2017-10-28  Glenn Morris  <rgm@gnu.org>
3569         * lisp/button.el (button-activate): Fix doc typo.
3571         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Fix doc typo.
3573 2017-10-28  Glenn Morris  <rgm@gnu.org>
3575         Fix some doc typos
3577         * lisp/calendar/todo-mode.el (todo-next-item)
3578         (todo-previous-item, todo-toggle-item-header):
3579         * lisp/window.el (move-to-window-group-line):
3580         * src/editfns.c (Fformat):
3581         * test/lisp/calendar/todo-mode-tests.el (todo-test-move-item05):
3582         Fix doc typos.
3584 2017-10-27  Ken Brown  <kbrown@cornell.edu>
3586         Fix startup display on Cygwin
3588         * src/xterm.c (x_make_frame_visible) [CYGWIN]: Restore code that
3589         forces input to be read.  (Bug#24091)
3591 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
3593         * src/fileio.c (Fset_default_file_modes): Fix typo in doc string.
3595         * lisp/dired.el (dired-find-alternate-file): Doc fix.  (Bug#28963)
3597 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
3599         Improve documentation of how faces are applied to display stings
3601         * doc/lispref/display.texi (Displaying Faces): Describe how the
3602         faces of the "underlying" text affect overlay and display strings.
3603         (Display Margins): Add a cross-reference to "Displaying Faces".
3605 2017-10-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
3607         Improve pixel-scroll-mode
3609         Scroll vertically by number of pixels returned by
3610         'frame-char-height' with or without horizontally scrolled.
3611         (Bug#28922)
3613         * lisp/pixel-scroll.el (pixel-resolution-fine-flag): When t, scroll
3614         by number of pixels returned by 'frame-char-height'.
3615         (pixel-scroll-up): Scroll by 'frame-char-height'. Fix algorithm to
3616         move cursor to avoid unexpected jump.
3617         (pixel-scroll-down): Scroll by 'frame-char-height'.
3618         (pixel-bob-at-top-p): Consider number of pixels that is about to
3619         scroll.
3620         (pixel-posn-y-at-point): Consider existence of an overlay string.
3621         Return nil when horizontally scrolled.
3622         (pixel-point-at-top-p): Consider number of pixels that is about to
3623         scroll. Use different algorithm when horizontally scrolled.
3624         (pixel-point-at-bottom-p): Consider number of pixels that is about
3625         to scroll. Return nil when horizontally scrolled.
3626         (pixel-scroll-pixel-down): Move cursor when horizontally scrolled.
3627         (pixel--whistlestop-line-up): Change cosmetics and move cursor when
3628         horizontally scrolled.
3629         (pixel-line-height): Call 'pixel-visual-line-height' instead of
3630         'line-pixel-height'.
3631         (pixel-visual-line-height): New function to return height in pixels
3632         of text line where cursor is with or without horizontally scrolled,
3633         considering response of display engine.
3634         (pixel-visible-pos-in-window): New function to return position of
3635         a char shown on text line where cursor is on screen with or without
3636         horizontally scrolled.
3638 2017-10-27  Daniel Lublin  <daniel@lublin.se>  (tiny change)
3640         Support Certification Authority Authorization in dns-mode.el
3642         * lisp/textmodes/dns-mode.el (dns-mode-types): Add "CAA".
3643         (Bug#28911)
3645 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
3647         Improve documentation of set-default-file-modes
3649         * src/fileio.c (Fset_default_file_modes): Doc fix.  (Bug#28875)
3651         * doc/lispref/files.texi (Changing Files): Clarify how the bits in
3652         the argument of set-default-file-modes are used for setting file
3653         permissions.
3655 2017-10-27  Ulf Jasper  <ulf.jasper@web.de>
3657         Fix documentation of `newsticker-new-item-functions' (bug#29023).
3659         * lisp/net/newst-backend.el (newsticker-new-item-functions),
3660         (newsticker-new-item-functions-sample),
3661         (newsticker-download-enclosures): Fix docstring, rename
3662         variable feed to feedname (bug#29023).
3664         * doc/misc/newsticker.texi (Automatic Processing)
3665         (Automatic Processing): Fix documentation of
3666         `newsticker-new-item-functions' (bug#29023).
3668 2017-10-27  Tino Calancha  <tino.calancha@gmail.com>
3670         Require seq in rmc.el
3672         * lisp/emacs-lisp/rmc.el: Require seq (Bug#28975).
3673         * test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice): Add test.
3675 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
3677         Make an example code introduced in the Gnus info work (bug#29008)
3679         You can find it in the bottom of (info "(gnus)Foreign Groups").
3680         NOTE: this change is worth being merged to the trunk.
3682         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-emacs-bug-group):
3683         Allow a string for bug# (bug#29008).
3685 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
3687         Enable gnus-read-ephemeral-* to run multiple times (bug#29008)
3689         NOTE: *DO NOT* merge this change to the trunk.
3691         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group)
3692         (gnus-read-ephemeral-bug-group): Make it work for any number of times
3693         for the case `url-automatic-caching' is set (bug#29008).
3695 2017-10-27  Paul Eggert  <eggert@cs.ucla.edu>
3697         Port thread.c to OpenBSD ARM
3699         Problem reported by Jeremie Courreges-Anglas (Bug#29005).
3700         * src/thread.c (main_thread): Align to GCALIGNMENT.
3702 2017-10-26  Alan Mackenzie  <acm@muc.de>
3704         Fix another "wrong side of point" error in CC Mode.
3706         This fixes (a follow-up to) bug #28850.
3707         A internal generated form for scanning text to fontify had a LIMIT parameter.
3708         It also locally bound LIMIT to a value possibly beyond the original LIMIT,
3709         allowing point to move beyond the original LIMIT, and to create the wrong side
3710         error.  Fix it by checking point is not beyond LIMIT in the outer context
3711         before using it.
3713         * lisp/progmodes/cc-fonts.el (c-make-font-lock-search-form): Add a new
3714         parameter CHECK-POINT which, when non-nil, directs the function to generate a
3715         check on point.
3716         (c-make-font-lock-context-search-function): Invoke the above function with new
3717         argument value t.
3719 2017-10-26  Michael Albinus  <michael.albinus@gmx.de>
3721         Fix Bug#28959
3723         * lisp/net/tramp.el (tramp-handle-find-backup-file-name):
3724         Use `tramp-tramp-file-p' rather than `tramp-file-name-p'.  Add
3725         hop to backup file name.  (Bug#28959)
3727         * test/lisp/net/tramp-tests.el (tramp-test34-find-backup-file-name):
3728         New test.
3729         (tramp-test35-make-nearby-temp-file)
3730         (tramp-test36-special-characters)
3731         (tramp-test36-special-characters-with-stat)
3732         (tramp-test36-special-characters-with-perl)
3733         (tramp-test36-special-characters-with-ls, tramp-test37-utf8)
3734         (tramp-test37-utf8-with-stat, tramp-test37-utf8-with-perl)
3735         (tramp-test37-utf8-with-ls, tramp-test38-file-system-info)
3736         (tramp-test39-asynchronous-requests)
3737         (tramp-test40-recursive-load, tramp-test41-remote-load-path)
3738         (tramp-test42-delay-load, tramp-test43-unload): Rename.
3740 2017-10-26  Paul Eggert  <eggert@cs.ucla.edu>
3742         Fix duplicate .o file on QNX
3744         * configure.ac (CYGWIN_OBJ): Leave empty on QNX.
3745         Problem reported by Elad Lahav in:
3746         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00750.html
3748 2017-10-26  Dmitry Gutov  <dgutov@yandex.ru>
3750         Fix two js indentation problems
3752         Fix intentation problems reported in
3753         https://github.com/mooz/js2-mode/issues/463.
3754         * lisp/progmodes/js.el (js--continued-expression-p):
3755         Check syntax state after /.
3756         (js--multi-line-declaration-indentation):
3757         Check syntax state before "const".
3759 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
3761         Update documentation for windows build
3763         * admin/nt/dist-build/README-scripts: New File.
3765 2017-10-25  Alan Mackenzie  <acm@muc.de>
3767         Fix a "wrong side of point" error in CC Mode.  Fixes bug #28850.
3769         The cause was a scanning over a bracket pair taking us beyond the supplied
3770         LIMIT parameter in c-forward-declarator.
3772         * lisp/progmodes/cc-engine.el (c-forward-declarator): Add three checks (<
3773         (point) limit) whilst dealing with tokens after the declared identifier.
3775         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Don't supply a LIMIT
3776         argument to `c-forward-declarator' (twice), since we want to fontify up till
3777         the end of a declarator, not an arbitrary jit-lock chunk end.
3779 2017-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
3781         Fix autoload of flymake from elisp-mode during bootstrap (bug#28994)
3783         * lisp/loadup.el: add `progmodes` to load-path so we can find flymake.el.
3784         * lisp/kmacro.el: Require `replace` since we use query-replace-map.
3785         * lisp/replace.el: Require `text-mode` since we use text-mode-map.
3787 2017-10-25  Alan Third  <alan@idiocy.org>
3789         Fix non-native fullscreen on NS (bug#28872)
3791         * src/nsterm.m (EmacsView::updateFrameSize): Handle case where
3792         FRAME_TOOLBAR_HEIGHT returns a negative number.  Force WM to set size
3793         of frame.
3795 2017-10-25  Michael Albinus  <michael.albinus@gmx.de>
3797         Fix Bug#28982
3799         * admin/MAINTAINERS: Add test/lisp/url/url-tramp-tests.el.
3801         * lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp)
3802         (url-tramp-convert-tramp-to-url): Adapt to recent Tramp changes.
3804         * test/lisp/url/url-tramp-tests.el: New file.  (Bug#28982)
3806 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
3808         Fix windows build errors
3810         * admin/nt/dist-build/build-zips.sh: Correct name of zip file, build
3811           64 bit first
3813 2017-10-25  Noam Postavsky  <npostavs@gmail.com>
3815         Fix compile warning for non-w32 builds
3817         Since 2017-07-25 "ls-lisp: Add an unload function and enable lexical
3818         binding", the non-w32 builds would treat the undeclared
3819         w32-collate-ignore-punctuation variable as lexical.
3820         * lisp/ls-lisp.el (top-level): Declare it as a dynamic variable.
3822 2017-10-25  David Glasser  <glasser@davidglasser.net>  (tiny change)
3824         Display commit in package description, if available (Bug#28637)
3826         MELPA includes a :commit field in its
3827         packages (https://github.com/melpa/package-build/pull/6).  You can use
3828         this to tell if MELPA has processed a recently-merged change.  This
3829         commit adds that metadata to the package description buffer.
3831         * lisp/emacs-lisp/package.el: Display commit in package description.
3833 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
3835         Port to QNX
3837         Simplified version of a patch proposed by Elad Lahav in:
3838         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00716.html
3839         which is based on a previous patch I proposed in:
3840         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00707.html
3841         * configure.ac (opsys, CFLAGS, LIBS_SYSTEM, hybrid_malloc)
3842         (system_alloc, FIRST_PTY_LETTER, CYGWIN_OBJ):
3843         Set appropriately for QNX.
3844         * src/unexelf.c [__QNX__]: Include <sys/elf.h> instead of <elf.h>.
3845         (unexec): Check for sbrk failure, and fall back on old BSS end.
3847 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
3849         * configure.ac: Tweak libcurses diagnostic.
3851 2017-10-24  Phillip Lord  <phillip.lord@russet.org.uk>
3853         Scripts to automate windows binary distribution
3855         * admin/nt/dist-build/README-windows-binaries,
3856           admin/nt/dist-build/build-dep-zips.py,
3857           admin/nt/dist-build/build-zips.sh: New Files
3859 2017-10-24  Gemini Lasswell  <gazally@runbox.com>
3861         Fix Edebug specs for map-let and with-maps-do
3863         * lisp/emacs-lisp/map.el (map-let): Fix Edebug spec (bug#24777).
3864         * test/lisp/emacs-lisp/map-tests.el (with-maps-do): Fix Edebug spec.
3866 2017-10-24  Michael Albinus  <michael.albinus@gmx.de>
3868         * test/lisp/net/tramp-tests.el (tramp-test41-delay-load): New test.
3870         (tramp-test42-unload): Rename.
3872 2017-10-24  Glenn Morris  <rgm@gnu.org>
3874         * admin/authors.el (authors-canonical-author-name):
3875         Ignore name issues in "lax" ChangeLogs.
3877         * test/lisp/progmodes/sql-tests.el
3878         (sql-tests-postgres-list-databases-error): Silence compiler.
3880 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
3882         Further work on Bug#28889
3884         * lisp/net/tramp.el (tramp-set-syntax): New defun.
3885         (tramp-syntax): Use it.  Change :package-version.  (Bug#28889)
3887 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
3889         Improve Tramp backward compatibility
3891         * lisp/net/tramp-compat.el (tramp-compat-tramp-file-name-slots):
3892         New defmacro.
3893         * lisp/net/tramp.el (with-parsed-tramp-file-name): Use it.
3895 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
3897         Improve backward compatibility of tramp-tests.el
3899         * test/lisp/net/tramp-tests.el (tramp--test-emacs26-p): Fix docstring.
3900         (tramp-test41-unload): Skip unless Emacs >= 26.
3902 2017-10-23  Martin Rudalics  <rudalics@gmx.at>
3904         Fix some ‘window-normalize-’ prefixed functions (Bug#28947)
3906         * lisp/window.el (window-normalize-buffer): Fix case where
3907         BUFFER-OR-NAME is a string specifying a dead buffer.  Fix
3908         doc-string (Bug#28947).
3909         (window-normalize-frame, window-normalize-window): Fix
3910         doc-strings (Bug#28947).
3912 2017-10-23  Paul Eggert  <eggert@cs.ucla.edu>
3914         Port to OpenIndiana
3916         Problem reported by Nelson H. F. Beebe (Bug#28893).
3917         Also see Bug#23748, Bug#9736, and Bug#5735.
3918         * configure.ac (tputs_library): Prefer libcurses to libtermcap,
3919         since OpenIndiana libtermcap lacks tparm.
3921 2017-10-22  Alexander Gramiak  <agrambot@gmail.com>
3923         Don't fill keywords after Emacs Lisp docstring
3925         This approach does mean that keywords that have spaces before them
3926         inside of docstrings aren't filled, but I think this is should be fine
3927         until Bug#28937 is fixed.
3929         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Add a colon to
3930         paragraph-start unconditionally, but require that it follows at least
3931         one space.  (Bug#24622)
3932         * test/lisp/emacs-lisp/lisp-tests.el: New tests for Bug#24622 and
3933         Bug#7751.
3935 2017-10-22  Alan Mackenzie  <acm@muc.de>
3937         Refactor c-forward-token-2 with new function c-forward-over-token-and-ws.
3939         Use the new function directly in several places where c-forward-token-2
3940         wouldn't move over the last token in the buffer.  This caused an infinite loop
3941         in c-restore-<>-properties.
3943         * lisp/progmodes/cc-engine.el (c-forward-over-token-and-ws): New function,
3944         extracted from c-forward-token-2.
3945         (c-forward-token-2): Refactor, calling the new function.
3946         (c-restore-<>-properties): Fix infinite loop.
3947         (c-forward-<>-arglist-recur, c-in-knr-argdecl)
3948         (c-looking-at-or-maybe-in-bracelist): Call the new function directly in place
3949         of c-forward-token-2.
3951         * lisp/progmodes/cc-cmds.el (c-defun-name) Call the new function directly in
3952         place of c-forward-token-2.
3954         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Call the new
3955         function directly in place of c-forward-token-2.
3957 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
3959         Avoid unnecessary rounding errors in timestamps
3961         Avoid the rounding errors of float-time when it’s easy.  E.g.,
3962         replace (< (float-time a) (float-time b)) with (time-less-p a b).
3963         * lisp/desktop.el (desktop-save):
3964         * lisp/ecomplete.el (ecomplete-add-item):
3965         * lisp/epg.el (epg-wait-for-completion):
3966         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
3967         * lisp/image-dired.el (image-dired-get-thumbnail-image)
3968         (image-dired-create-thumb-1):
3969         * lisp/info.el (info-insert-file-contents):
3970         * lisp/ls-lisp.el (ls-lisp-format-time):
3971         * lisp/net/ange-ftp.el (ange-ftp-file-newer-than-file-p)
3972         (ange-ftp-verify-visited-file-modtime):
3973         * lisp/net/rcirc.el (rcirc-ctcp-sender-PING):
3974         * lisp/textmodes/remember.el (remember-store-in-mailbox):
3975         * lisp/url/url-cookie.el (url-cookie-expired-p):
3976         Bypass float-time to avoid rounding errors.
3978         * lisp/files.el (dir-locals-find-file):
3980 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
3982         Fix xdg timestamp error on 32-bit Emacs
3984         * lisp/xdg.el (xdg-thumb-mtime): Return an Emacs timestamp,
3985         not an integer.  This avoids signaling an error on 32-bit
3986         Emacs, where timestamps typically do not fit into fixnums
3987         (Bug#28921).
3989 2017-10-22  John Williams  <jrw@pobox.com>  (tiny change)
3991         Test that advice doesn't trigger bytecomp warnings (Bug#28803)
3993         * test/lisp/emacs-lisp/bytecomp-tests.el
3994         (bytecomp-tests--test-no-warnings-with-advice): New test.
3996 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
3998         Another fix for unsafe directory error message (Bug#865)
4000         * lisp/server.el (server-ensure-safe-dir): Put file owner's uid, not
4001         current user's for the wrong owner case.  Show expanded file name in
4002         error message.
4004 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
4006         Handle https url for debbugs mbox (Bug#28831)
4008         In 2017-09-13 "Prefer HTTPS to FTP and HTTP in documentation",
4009         gnus-bug-group-download-format-alist was updated to use https for the
4010         debbugs.gnu.org mbox links, but gnus-read-ephemeral-bug-group assumed
4011         http links.
4012         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group): Use
4013         url-parse functions to get the host name, instead of ad-hoc regexps.
4015 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
4017         Ignore string properties when saving eshell history (Bug#28700)
4019         * lisp/eshell/em-hist.el (eshell-write-history): Remove properties
4020         before inserting history strings.
4021         (eshell-read-history): Remove obsolete comment.
4022         * test/lisp/eshell/em-hist-tests.el (eshell-write-readonly-history):
4023         New test.
4025 2017-10-21  Michael Albinus  <michael.albinus@gmx.de>
4027         Fix Bug#28889
4029         * lisp/net/tramp.el: Change autoload cookie to tramp-autoload cookie.
4030         (tramp-completion-file-name-regexp-default)
4031         (tramp-completion-file-name-handler-alist)
4032         (tramp-completion-file-name-handler): Remove autoload cookie.
4033         (tramp-initial-completion-file-name-regexp): Remove.
4034         (tramp-autoload-file-name-regexp): New defconst.
4035         (tramp-register-autoload-file-name-handlers): Use it.
4036         (with-parsed-tramp-file-name): Adapt docstring.  Compute
4037         `tramp-file-name' slots.  (Bug#28889)
4039 2017-10-21  Glenn Morris  <rgm@gnu.org>
4041         Update describe-function for recent Fdocumentation change
4043         * lisp/help-fns.el (describe-function-1):
4044         Handle Fdocumentation returning either void or invalid.
4046 2017-10-21  Charles A. Roelli  <charles@aurox.ch>
4048         Make flymake's mouse-wheel interaction portable (Bug#28732)
4050         * lisp/progmodes/flymake.el (flymake--mode-line-format): Bind
4051         'mouse-wheel-down-event' and 'mouse-wheel-up-event' instead of
4052         'mouse-4' and 'mouse-5'.  Update the tooltip text accordingly, and
4053         remove a stray newline in it.
4055 2017-10-21  Nick Helm  <nick@tenpoint.co.nz>
4057         Prevent eldoc from changing the mode line
4059         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Don't
4060         change the mode line if it is not displayed.  (Bug#28697)
4062 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
4064         Fix doc strings in simple.el
4066         * lisp/simple.el (shell-command-saved-pos)
4067         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
4069 2017-10-21  Phil Sainty  <psainty@orcon.net.nz>
4071         Avoid creating inconsistent buffer states in term-char-mode
4073         * lisp/term.el (term-mode, term-char-mode, term-line-mode)
4074         (term-emulate-terminal): Make buffer read-only in 'term-char-mode',
4075         except for the process filter's output.  Use 'read-only-mode-hook' to
4076         track and restore the user-set state of 'buffer-read-only' for
4077         'term-line-mode'.  (Bug#24837)
4078         (term-char-mode-buffer-read-only): New user option.
4079         (term-line-mode-buffer-read-only): New buffer-local variable.
4080         (term-line-mode-buffer-read-only-update): New function.
4081         (term-char-mode, term-line-mode): Use 'term-set-goto-process-mark'
4082         in pre-command-hook, and 'term-goto-process-mark-maybe' in
4083         post-command-hook to counter-act unexpected changes to point when
4084         using 'term-char-mode'.
4085         (term-char-mode-point-at-process-mark): New user option.
4086         (term-goto-process-mark): New buffer-local variable.
4087         (term-set-goto-process-mark): New function.
4088         (term-goto-process-mark-maybe): New function.
4089         (term-process-mark): New function.
4091         * etc/NEWS: Mention the new behavior and user options.
4093 2017-10-21  Bahodir Mansurov  <bahodir@mansurov.org>  (tiny change)
4095         New input method 'usbek-cyrillic'
4097         * lisp/leim/quail/cyrillic.el (uzbek-cyrillic): New input method.
4098         (Bug#28848)
4100         * etc/NEWS: Mention the new input method.
4102 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
4104         Document 'minibuffer-with-setup-hook'
4106         * doc/lispref/minibuf.texi (Minibuffer Misc): Document
4107         minibuffer-with-setup-hook.  (Bug#28877)
4109 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4111         Simplify make-progress-reporter vs float-time
4113         * lisp/subr.el (make-progress-reporter): Remove no-longer-needed
4114         doc and code for the case where float-time is not supported,
4115         since float-time is always present now.
4117 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4119         Fix two more minor Gnus typos
4121         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
4122         The old code had two minor bugs: first, it multiplied by 1/65536
4123         instead of by 1/86400.  Second, it called current-time twice and
4124         glued part of the two results together, resulting in a race.
4125         Fix both bugs by simplifying the code and using
4126         time-to-number-of-days.
4128 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4130         Fix two minor Gnus typos
4132         * lisp/gnus/gnus-sum.el (gnus-summary-import-article):
4133         Remove unused local, and fix use of local that was never assigned to.
4135 2017-10-21  Glenn Morris  <rgm@gnu.org>
4137         Tweak Fdocumentation's error for an undefined function
4139         * src/doc.c (Fdocumentation): Restore the pre-25 behavior
4140         of signalling a void-function error for an undefined function.
4141         This seems cleaner than Emacs 25's "invalid-function: nil" error,
4142         which was (probably) an unintended consequence of changes to
4143         Findirect_function.
4145 2017-10-21  Glenn Morris  <rgm@gnu.org>
4147         Tweak format of list of old files in NEWS header
4149         * etc/NEWS: Stop list of old NEWS files growing without limit.
4150         * admin/admin.el (set-version): Handle either NEWS header format.
4152 2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
4154         * lisp/help-fns.el (describe-function-1):
4155         Fix help-fns-test-dangling-alias.  (Bug#28918)
4157         (cherry picked from commit e1d42f8f4a945669ff8b5159a569cb4b18f56e18)
4159 2017-10-20  Glenn Morris  <rgm@gnu.org>
4161         Fix flymake's loading of subr-x
4163         * lisp/progmodes/flymake.el, test/lisp/progmodes/flymake-tests.el:
4164         No need to load subr-x at run-time.
4166 2017-10-20  Michael Albinus  <michael.albinus@gmx.de>
4168         Fix Bug#28896
4170         * lisp/net/tramp-adb.el (tramp-adb-handle-rename-file):
4171         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
4172         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): Handle FILENAME
4173         being a directory.  (Bug#28896)
4175         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
4176         (tramp-test12-rename-file): Test also FILENAME being a directory.
4178 2017-10-20  João Távora  <joaotavora@gmail.com>
4180         Skip a Flymake test for old gcc versions
4182         Fixes: 28906
4184         * test/lisp/progmodes/flymake-tests.el
4185         (different-diagnostic-types): Skip this test for gcc versions
4186         < 5.
4188 2017-10-20  Eli Zaretskii  <eliz@gnu.org>
4190         Make :align-to account for display-line-numbers
4192         These changes also update the various bundled packages to use
4193         new feature, and better support customizations of the line-number
4194         face.
4195         * src/xdisp.c (calc_pixel_width_or_height): Improve commentary.
4196         Make :align-to count from the end of the line-number display when
4197         the offset or the width form reference that of the text area.
4198         (Bug#28855)
4200         * src/indent.c (Fline_number_display_width): Implement support for
4201         the PIXELWISE argument being 'columns'.  Update the doc string.
4202         (syms_of_indent): New symbol 'columns'.
4204         * lisp/ruler-mode.el (ruler-mode-window-col, ruler-mode-ruler):
4205         Call line-number-display-width with last argument 'columns'.
4207         * lisp/proced.el (proced-header-line): Call
4208         line-number-display-width with 2nd arg 'columns', which also fixes
4209         a problem when display-line-numbers is nil.
4211         * lisp/emacs-lisp/tabulated-list.el
4212         (tabulated-list-line-number-width): Call line-number-display-width
4213         with 2nd arg 'columns.
4214         (tabulated-list-entry-lnum-width): Remove unneeded defvar.
4215         (tabulated-list-print, tabulated-list-print-entry): No need to
4216         account for the value of tabulated-list-entry-lnum-width.
4217         (tabulated-list--current-lnum-width): New defvar.
4218         (tabulated-list-watch-line-number-width): New function.
4219         (tabulated-list-mode): Bind tabulated-list--current-lnum-width
4220         locally, and set up tabulated-list-watch-line-number-width as
4221         pre-redisplay-functions hook.
4223         * doc/lispref/display.texi (Size of Displayed Text): Document the
4224         'columns' value of the PIXELWISE argument.
4225         (Pixel Specification): Update and improve the documentation of the
4226         supported forms.
4228 2017-10-20  João Távora  <joaotavora@gmail.com>
4230         Augment Flymake API for third-party extensions
4232         See
4233         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00619.html
4235         * doc/misc/flymake.texi (Flymake error types): Rewrite
4236         example.
4237         (Flymake utility functions): Augment with new API.
4239         * lisp/progmodes/flymake.el (flymake-diagnostics): New function.
4240         (flymake--diag-accessor): New helper macro.
4241         (flymake-diagnostic-buffer, flymake-diagnostic-text)
4242         (flymake-diagnostic-beg, flymake-diagnostic-end)
4243         (flymake-diagnostic-backend): Accessors for diagnostic objects.
4244         (flymake--overlays): Use flymake-diagnostic property.
4245         (flymake--highlight-line): Simplify.  Only set
4246         flymake-diagnostic property.
4247         (flymake--handle-report, flymake-goto-next-error): Use
4248         flymake-diagnostic property.
4249         (flymake-show-diagnostic): Use diagnostic object.
4250         (flymake--diagnostics-buffer-entries): Use
4251         flymake-diagnostics.
4253 2017-10-20  Glenn Morris  <rgm@gnu.org>
4255         Improve treatment of Fortran's "class default"
4257         * lisp/progmodes/f90.el (f90-start-block-re, f90-no-block-limit):
4258         Handle "class default".  (Bug#28786)
4259         * test/automated/f90.el (f90-test-bug25039): Add "class default".
4261 2017-10-20  João Távora  <joaotavora@gmail.com>
4263         Flymake backends must check proc obsoleteness in source buffer
4265         Flymake backends that rely on sentinels running asynchronously and
4266         checking buffer-local variables that hold running processes should
4267         check for obsoleteness in the correct buffers, otherwise a (harmless)
4268         warning might be triggered.
4270         * doc/misc/flymake.texi (An annotated example backend):
4271         Check buffer-local proc in the current buffer.
4273         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
4274         Check buffer-local proc in the current buffer.
4276 2017-10-19  Michael Albinus  <michael.albinus@gmx.de>
4278         Skip an rsync test in tramp-tests.el
4280         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards):
4281         Skip for "rsync".
4283 2017-10-19  Martin Rudalics  <rudalics@gmx.at>
4285         On Windows default a frame's border width to zero (Bug#28873)
4287         * src/w32fns.c (Fx_create_frame): Default `border-width' to zero
4288         as everywhere else, see Bug#28873.
4290 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
4292         Spelling fixes
4294         * lisp/cedet/semantic/analyze/refs.el:
4295         (semantic-analyze-proto-impl-toggle): Fix recently-introduced
4296         misspelling of pop-to-buffer-same-window.
4298 2017-10-19  Bastian Beischer  <bastian.beischer@gmail.com>  (tiny change)
4300         Use pop-to-buffer-same-window instead of switch-to-buffer
4302         * lisp/cedet/semantic/decorate/include.el
4303         (semantic-decoration-include-visit):
4304         Use pop-to-buffer-same-window instead of switch-to-buffer
4305         (bug#28645).
4307         * lisp/cedet/semantic/analyze/refs.el
4308         (semantic-analyze-proto-impl-toggle): Same.
4310         * lisp/cedet/semantic/senator.el (senator-go-to-up-reference):
4311         Same.
4313         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-visit):
4314         Same.
4316         * lisp/cedet/semantic/complete.el (semantic-complete-jump):
4317         Same.
4319 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
4321         Fix the MSDOS build.
4323         * msdos/sed1v2.inp (GETADDRINFO_A_LIBS, LIBLCMS2, XDBE_LIBS)
4324         (XDBE_FLAGS, HYBRID_MALLOC, LIBSYSTEMD_CFLAGS)
4325         (LIBSYSTEMD_LIBS): Edit to empty.
4326         (LIBRESOLV, DEPFLAGS, MKDEPDIR, YMF_PASS_LDFLAGS)
4327         (PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS): Remove editing.
4328         Remove editing of lines that are no longer present in
4329         src/Makefile.in.
4330         * msdos/sed2v2.inp (NEED_MKTIME_INTERNAL)
4331         (NEED_MKTIME_WORKING): Define to 1.
4332         (HAVE_STRUCT_DIRENT_D_TYPE): Define to 1 for
4333         DJGPP >= 2.05.
4334         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 1.
4335         Define PACKAGE_VERSION, not VERSION.
4336         (FLEXIBLE_ARRAY_MEMBER): Define to empty.
4337         (HAVE_DECL_*_UNLOCKED): Define to 0.
4338         (HAVE___BUILTIN_FRAME_ADDRESS): Define to 1.
4339         (PENDING_*): Don't define, as Gnulib no longer supports that.
4340         Instead, define _IOERR as it is in libc/file.h.
4341         * msdos/sed3v2.inp: Use $(CURDIR) instead of $(shell cd) to
4342         determine the current directory.
4343         (UPDATE_MANIFEST, UTILITIES): Don't edit.
4344         * msdos/sedlisp.inp (FIND_DELETE): Edit to "-delete".
4345         * msdos/sedlibmk.inp (AUTO_DEPEND): Define to yes.
4346         (HYBRID_MALLOC): Edit to empty.
4347         (am__cd): Don't edit.
4348         (../config.status): Replaces $(top_builddir)/config.status.
4349         Define OMIT_GNULIB_MODULE_foo = true for modules not built for
4350         MS-DOS.  Convert GL_GENERATE_xxx_H_TRUE and
4351         GL_GENERATE_xxx_H_FALSE into values of GL_GENERATE_xxx_H.
4352         * msdos/mainmake.v2 (src): Use 'compile-one-process', and make
4353         the command line shorter to fit into 126-char limit of
4354         command.com.
4355         * config.bat: Generate src/deps/*.d files.  Rename more files
4356         like djtar on plain DOS would.
4357         Don't rename src/dir.h: it is long gone.  Edit
4358         lib/gnulib.mk.in using the same scripts as for
4359         lib/Makefile.in.
4360         * msdos/depfiles.bat: Create *.d files, not *.Po.
4362         * src/thread.c (Fmake_thread) [!THREADS_ENABLED]: Improve the
4363         error message.
4364         * src/thread.h [MSDOS]: Include <signal.h>.
4365         * src/sysselect.h (select) [MSDOS]: Undefine, to avoid
4366         compilation errors.
4367         * src/sysdep.c (block_interrupt_signal, restore_signal_mask):
4368         Expose to MSDOS build.
4369         * src/process.c (update_processes_for_thread_death)
4370         [!subprocess]: No-op implementation.
4371         [HAVE_SETRLIMIT]: Move inclusion of sys/resource.h and
4372         declaration of nofile_limit outside "#ifdef subprocesses", as
4373         it's needed for MSDOS.
4374         * src/msdos.c (faccessat): Declare fullname[].
4375         * src/msdos.h (ENOTSUP): Define to be identical to ENOSYS.
4376         Include termhooks.h.
4377         * src/conf_post.h [WINDOWSNT]: Include ms-w32.h only on
4378         WINDOWSNT, not DOS_NT.
4380         * admin/admin.el (set-version): Set version on PACKAGE_VERSION.
4382 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
4384         Fix line number display after 'widen'
4386         * src/xdisp.c (maybe_produce_line_number): Don't use data cached
4387         by line-number-mode on the first redisplay after the buffer is
4388         widened.  (Bug#28879)
4390 2017-10-18  Alan Third  <alan@idiocy.org>
4392         Remove resizable attribute on macOS undecorated frames (bug#28512)
4394         * src/nsterm.m (FRAME_DECORATED_FLAGS): Remove Cocoa specific #define.
4395         (initFrameFromEmacs): Remove Cocoa specific window style attributes.
4397 2017-10-18  Martin Rudalics  <rudalics@gmx.at>
4399         Fix handling of `border-width' in `frameset--restore-frame' (Bug#28873)
4401         * lisp/frameset.el (frameset--restore-frame): Don't process
4402         `border-width' parameter via ‘modify-frame-parameters’
4403         (Bug#28873).
4405 2017-10-18  Tino Calancha  <tino.calancha@gmail.com>
4407         Mention how to send CC to > 1 address in a bug report
4409         * admin/notes/bugtracker (* More detailed information):
4410         mention how to CC to more than 1 address (Bug#28833).
4412 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
4414         Improve format-time-string doc
4416         * doc/lispref/os.texi (Time Parsing): Fix some errors in the
4417         documentation for format-time-string.  Document ^, #, %s, and %z
4418         with colons.  Say that unrecognized sequences are output as-is.
4419         * src/editfns.c (Fformat_time_string): %S can stand for 60.
4420         Also mention unrecognized sequences.
4422 2017-10-17  Eli Zaretskii  <eliz@gnu.org>
4424         Improve documentation of 'line-number-display-width'
4426         * doc/lispref/display.texi (Size of Displayed Text): Document the
4427         additional 2 columns used for line-number display.
4429         * src/indent.c (Fline_number_display_width): Doc fix.  (Bug#28248)
4431 2017-10-17  İ. Göktuğ Kayaalp  <self@gkayaalp.com>
4433         Implement vc-default-dir-extra-headers for vc-rcs
4435         Add a do-nothing implementation for vc-rcs to suppress the message which
4436         the default function adds to the vc-dir buffer (Bug#28570).
4437         * lisp/vc/vc-rcs.el (vc-rcs-dir-extra-headers): New function.
4439 2017-10-17  Martin Rudalics  <rudalics@gmx.at>
4441         In NEWS give advice on use of `switch-to-buffer' (Bug#28645)
4443         * etc/NEWS: Mention that applications should prefer
4444         `pop-to-buffer-same-window' to `switch-to-buffer'.  (Bug#28645)
4446 2017-10-17  Tino Calancha  <tino.calancha@gmail.com>
4447             Noam Postavsky  <npostavs@gmail.com>
4449         Dont update primary selection with winner-undo
4451         * lisp/winner.el (winner-set):
4452         Dont update primary selection when select-enable-primary
4453         is non-nil (Bug#28631).
4455 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
4457         Work around ImageMagick bug 825
4459         This should fix several bugs reported recently against Emacs
4460         (Bug#28518, Bug#28626, Bug#28632, Bug#28633, Bug#28770).
4461         * src/image.c (imagemagick_load_image):
4462         Do not call MagickWandTerminus.
4464 2017-10-17  Noam Postavsky  <npostavs@gmail.com>
4466         Document rectangle-preview option more (Bug#27974)
4468         * lisp/rect.el (string-rectangle):
4469         * etc/NEWS.25: Mention `rectangle-preview'.
4471 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
4473         Do not reject https://gnu.org in commit messages
4475         * build-aux/git-hooks/commit-msg: Do not reject commit messages
4476         containing http: or ftp: URLs to gnu.org or fsf.org.  Instead,
4477         rewrite the messages to use https: URLs.
4479 2017-10-16  Gemini Lasswell  <gazally@runbox.com>
4481         Fix Edebug spec for cl-defun (bug#24255)
4483         * lisp/emacs-lisp/cl-macs.el: Modify the Edebug spec for
4484         `cl-lambda-list' to support destructuring argument lists.
4485         (cl-defun, cl-defmacro): Fix spelling errors in docstrings.
4486         * lisp/textmodes/rst.el: Remove alternate version of Edebug
4487         specs for `cl-lambda-list' and `cl-type-spec'.
4489 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
4491         Fix errors in kmacro.el post-command-hook
4493         * lisp/kmacro.el (kmacro-step-edit-active): Initialize to nil to
4494         avoid 'void-variable' errors.  (Bug#28818)
4495         * test/lisp/kmacro-tests.el
4496         (kmacro-tests-step-edit-cleans-up-hook): Now succeeds.  (Bug#18708)
4498 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
4500         Fix range-error in image-dired.el
4502         * lisp/image-dired.el (image-dired-create-thumb-1): Avoid
4503         overflowing an Emacs integer on 32-bit hosts.  (Bug#28809)
4505 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
4507         Fix 'line-number-display-width' in hscrolled windows
4509         * src/indent.c (line_number_display_width): Make sure a line
4510         number is generated even when the first line of the window is
4511         completely hscrolled out of view.  (Bug#28854)
4513 2017-10-16  Michael Albinus  <michael.albinus@gmx.de>
4515         Fix error in tramp-smb-handle-insert-directory
4517         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
4518         Insert size information only when FULL-DIRECTORY-P is non-nil.
4520 2017-10-16  Andy Moreton  <andrewjmoreton@gmail.com>
4522         Don't reject PBM header whitespace unnecessarily
4524         * lisp/image.el (image-type-header-regexps):
4525         Allow two or more CRs or LFs in initial whitespace sequences.  See:
4526         http://netpbm.sourceforge.net/doc/pbm.html
4528 2017-10-16  Paul Eggert  <eggert@cs.ucla.edu>
4530         Fix regression in display of PPM images
4532         Problem reported by Roland Winkler (Bug#28824#35).
4533         Based on a patch proposed by Andy Moreton (Bug#28824#38).
4534         * src/image.c (pbm_scan_index): New function.
4535         (pbm_load): Use it to decode raw data correctly when its top bit
4536         is set.
4538 2017-10-16  Eric Abrahamsen  <eric@ericabrahamsen.net>
4540         Require subr-x when compiling nnimap.el
4542         * lisp/gnus/nnimap.el (require): For the when-let* macro.
4544 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
4546         Fix ert-test finding by symbol (Bug#28849)
4548         In 2017-07-28 "* lisp/subr.el (define-symbol-prop): New function", the
4549         symbol used for ert tests in load-history was changed from
4550         `ert-deftest' to `ert--test', but a couple of other places were not
4551         updated accordingly.
4552         * lisp/emacs-lisp/ert.el (ert-find-test-other-window): Pass
4553         `ert--test' as the TYPE to `find-function-do-it'.
4554         (top-level): Use `ert--test' as the key to the
4555         `find-function-regexp-alist' entry.
4557 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
4559         Don't remember old debugger window (Bug#17882)
4561         * lisp/emacs-lisp/debug.el (debug): Unset debugger-previous-window
4562         when `debugger-will-be-back' is nil.
4564 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
4566         Disable python native completion on w32 (Bug#28580)
4568         * lisp/progmodes/python.el
4569         (python-shell-completion-native-disabled-interpreters): For windows-nt
4570         systems, put an empty string to match interpreters.
4572 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
4574         Let select-frame-by-name choose any frame when called from lisp (Bug#25521)
4576         * lisp/frame.el (select-frame-by-name): Choose from the whole list of
4577         frames in the non-interactive part, if not found on the current
4578         display.
4580 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
4582         * lisp/dired-aux.el (dired-create-directory): Doc fix.
4584 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
4586         Avoid compilation warnings in optimized builds
4588         * src/process.c (Fmake_network_process):
4589         * src/image.c (xbm_scan, gif_load):
4590         * src/fileio.c (Frename_file):
4591         * src/data.c (Fmake_local_variable):
4592         * src/buffer.c (fix_start_end_in_overlays):
4593         * lib-src/etags.c (process_file_name): Mark variables with UNINIT
4594         to avoid compiler warnings in optimized builds.
4596 2017-10-15  K. Handa  <handa@gnu.org>
4598         Improve customization of arabic-shaper-ZWNJ-handling.
4600         Make the effect of customizing arabic-shaper-ZWNJ-handling appear
4601         immediately.
4602         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Add :set
4603         value.
4604         * src/composite.c (Fclear_composition_cache): New function.
4605         (syms_of_composite): Defsubr it.
4607 2017-10-15  Charles A. Roelli  <charles@aurox.ch>
4609         Improve customization type of 'mouse-drag-and-drop-region'
4611         * lisp/mouse.el (mouse-drag-and-drop-region): Provide a more
4612         precise customization type.
4614 2017-10-15  Paul Eggert  <eggert@day>
4616         Encourage https: in commit messages
4618         * CONTRIBUTE: Prefer https: when citing.
4619         * build-aux/git-hooks/commit-msg:
4620         Diagnose http: and ftp: URLs to FSF or GNU hosts.
4622 2017-10-14  Martin Rudalics  <rudalics@gmx.at>
4624         Fix wording in Elisp manual's child frames section (Bug#28819)
4626         * doc/lispref/frames.texi (Child Frames): Fix wording (Bug#28819).
4628 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
4630         Another fix for C mode fontification of w32 source files
4632         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
4633         "CALLBACK", to correctly fontify functions with this attribute.
4635 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
4637         Fix fontification of ALIGN_STACK functions
4639         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
4640         "ALIGN_STACK", to correctly fontify functions with this attribute.
4642 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
4644         Make sure thread stack is properly aligned on MS-Windows
4646         * src/systhread.c: Include w32term.h instead of windows.h.
4647         (w32_beginthread_wrapper): Add ALIGN_STACK attribute, to ensure
4648         the thread's stack is correctly aligned.
4649         * src/w32term.h (ALIGN_STACK): Update commentary.
4651 2017-10-14  Paul Eggert  <eggert@cs.ucla.edu>
4653         Do not under-align pseudovectors
4655         Problem reported by Fabrice Popineau in:
4656         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00357.html
4657         Also see diagnosis by Eli Zaretskii in:
4658         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00476.html
4659         * src/alloc.c (vector_alignment):
4660         Now a multiple of alignof (max_align_t).
4662 2017-10-13  Simen Heggestøyl  <simenheg@gmail.com>
4664         Fix indentation bug in multi-line CSS selectors
4666         * lisp/textmodes/css-mode.el (css--colon-inside-selector-p): Fix
4667         indentation of multi-line CSS selectors that include both a
4668         pseudo-class and parenthesis.
4670         * test/manual/indent/css-mode.css: Add test for the above change.
4672 2017-10-13  Andreas Schwab  <schwab@linux-m68k.org>
4674         gnutls_mac_get_nonce_size has been added in gnutls 3.3
4676         * src/gnutls.c (HAVE_GNUTLS_MAC_GET_NONCE_SIZE)
4677         [GNUTLS_VERSION_NUMBER >= 0x030300]: Define.
4678         (gnutls_mac_get_nonce_size): Depend on
4679         HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
4680         (Fgnutls_macs): Use 0 for :mac-algorithm-noncesize if
4681         !HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
4683 2017-10-13  Paul Eggert  <eggert@cs.ucla.edu>
4685         * CONTRIBUTE: Suggest American English.
4687 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
4689         Fix this-command-keys for "M-x foo" commands
4691         * src/keyboard.c (Fset__this_command_keys): Don't assume KEYS is a
4692         unibyte string.  (Bug#28798)
4694 2017-10-12  Paul Eggert  <eggert@cs.ucla.edu>
4696         Let rename-file rename dirs across filesystems
4698         Problem diagnosed by Andreas Schwab (Bug#28792#65).
4699         This fixes a bug that I introduced in
4700         2017-09-10T22:39:24@eggert@cs.ucla.edu
4701         "Fix race with rename-file etc. with dir NEWNAME".
4702         * src/fileio.c (Frename_file): Copy a source directory across
4703         file system boundaries even if its name does not end in slash.
4705 2017-10-12  João Távora  <joaotavora@gmail.com>
4707         Simplify Flymake user documentation
4709         Fix some confusing parts of Flymake user documentation, like a
4710         repeated listing of situations leading to a syntax check.
4711         Documentation is now divided into three chapters only: "Using
4712         Flymake", "Extending Flymake", and a chapter for the legacy backend.
4714         Obsolete mention of "errors" and "lines" is replaced by
4715         "diagnostics/problems" and "regions" where appropriate.
4717         * doc/misc/flymake.texi (Overview of Flymake): Delete chapter.
4718         (Using Flymake): Merge with chapter "Overview of Flymake".
4719         (Installing Flymake): Delete chapter.
4720         (Flymake mode, Running the syntax check)
4721         (Navigating to error lines): Delete sections.
4722         (Syntax check statuses): Review and augment with x-references.
4723         (Backend exceptions): Mention shortcut in menu.
4725         * lisp/progmodes/flymake.el (flymake-menu): Tweak minor mode
4726         menu to not speak of "errors".
4727         (flymake-goto-next-error, flymake-goto-prev-error): Fix
4728         wording.
4730 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
4732         * etc/NEWS: Mention the new version of Org.
4734 2017-10-12  Noam Postavsky  <npostavs@gmail.com>
4736         Don't use (format "%s" ...) for string copying (Bug#28774)
4738         As of 2017-10-04 'Speed up (format "%s" STRING) and the like', (format
4739         "%s" STRING) no longer produces a new string.
4740         * lisp/ido.el (ido-completions): Use `copy-sequence' to make a new
4741         string, so that we can add text properties to (copies of) symbol
4742         names.
4744 2017-10-11  Alan Third  <alan@idiocy.org>
4746         Make frame-list-z-order on NS match Windows behaviour (bug#28788)
4748         * src/nsfns.m (Fns_frame_list_z_order): If terminal isn't a frame,
4749         ignore it rather than returning nil.
4751 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
4753         Bump Emacs version to 26.0.90
4755         * README:
4756         * configure.ac:
4757         * msdos/sed2v2.inp:
4758         * nt/README.W32: Bump Emacs version.
4760 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
4762         Update authors.el
4764         * admin/authors.el (authors-valid-file-names)
4765         (authors-renamed-files-alist): Additions.
4767 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
4769         * admin/authors.el (authors-aliases): Additions.
4771         * ChangeLog.3: Update.
4773 2017-10-11  Radon Rosborough  <radon.neon@gmail.com>
4775         Fix docstring style for 'functionp'
4777         * src/eval.c (functionp): Make docstring start with verb.
4778         (Bug#28781)
4780 2017-10-11  Michael Albinus  <michael.albinus@gmx.de>
4782         Format shell commands in tramp.texi
4784         * doc/misc/tramp.texi (Obtaining Tramp, Remote shell setup):
4785         Format shell commands better.
4787 2017-10-10  João Távora  <joaotavora@gmail.com>
4789         Unbreak the button in the Flymake diagnostics buffer again
4791         Adding the 'keymap' property enabled RET but broke the mouse-action.
4793         * lisp/progmodes/flymake.el
4794         (flymake--diagnostics-buffer-entries): Use 'action' instead of 'keymap'.
4796 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
4798         Add mode map to Flymake diagnostic button
4800         * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries): Add
4801         keymap propery.
4803 2017-10-10  João Távora  <joaotavora@gmail.com>
4805         Tweak the Flymake diagnostics buffer again
4807         * lisp/progmodes/flymake.el
4808         (flymake-diagnostics-buffer-mode-map): Don't bind [mouse-1].
4809         (flymake-show-diagnostic): Rename from
4810         flymake-show-diagnostic-at-point.  Really use another window.
4811         (flymake-goto-diagnostic): Rename from
4812         flymake-goto-diagnostic-at-point.
4813         (flymake--diagnostics-buffer-entries): Use a button just for
4814         the message bit.
4816 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
4818         Simplify Flymake diagnostics buffer UX
4820         Don't create text-buttons unnecessarily, just bind RET and SPC in the
4821         diagnostics buffer to a command that figures out which diagnostic it
4822         was invoked on.
4824         * lisp/progmodes/flymake.el
4825         (flymake--diagnostics-buffer-mode-keymap): Renamed from
4826         flymake--diagnostics-buffer-button-keymap.
4827         (flymake-show-diagnostic-at-point): Don't take a button.
4828         (flymake-goto-diagnostic-at-point): Don't pass button to
4829         flymake-show-diagnostic-at-point.
4830         (flymake--diagnostics-buffer-entries): Simplify.
4832 2017-10-10  João Távora  <joaotavora@gmail.com>
4834         First stab at a Flymake diagnostics buffer
4836         The diagnostics buffer summarizes the diagnostics of a buffer in a
4837         tabulated list and is permanently updated after each Flymake check.
4839         * lisp/progmodes/flymake.el (flymake--handle-report): Call
4840         flymake-show-diagnostics-buffer under certain conditions.
4841         (flymake-menu, flymake--diagnostics-buffer-source)
4842         (flymake--diagnostics-buffer-button-keymap)
4843         (flymake-show-diagnostic-at-point)
4844         (flymake-goto-diagnostic-at-point)
4845         (flymake--diagnostics-buffer-entries)
4846         (flymake-diagnostics-buffer-mode)
4847         (flymake--diagnostics-buffer-name)
4848         (flymake-show-diagnostics-buffer): New definitions.
4850 2017-10-10  João Távora  <joaotavora@gmail.com>
4852         * etc/NEWS (Flymake): Rewrite entry.
4854 2017-10-10  Eli Zaretskii  <eliz@gnu.org>
4856         Improve the Flymake manual
4858         * doc/misc/flymake.texi: Add a 'coding' cookie.  Add a
4859         @syncodeindex directive for @vindex.  Use 2 spaces between
4860         sentences.  Lower-case @cindex entries.
4861         (Overview of Flymake): Fix use of @itemize and @pxref.  Fix
4862         punctuation and markup.
4863         (Backend exceptions): Use @emph instead of @dfn.  Add more
4864         indexing.
4865         (Customizable variables, Extending Flymake): Improve wording.
4866         (Flymake error types): Fix usage of @itemize.  Improve wording.
4867         (Backend functions): Fix punctuation.  Fix markup.  Add a
4868         cross-reference to ELisp manual.
4869         (Flymake utility functions): Add a cross-reference to ELisp manual.
4870         (An annotated example backend): Fix punctuation and typos.
4871         (Flymake mode, Running the syntax check)
4872         (Navigating to error lines, Backend exceptions)
4873         (Customizable variables, Flymake error types, Backend functions)
4874         (Flymake utility functions, Proc customization variables)
4875         (Locating a master file, Locating the buildfile)
4876         (Starting the syntax check process, Parsing the output)
4877         (Interaction with other modes): Fix indexing.  Add index entries
4878         for functions, variables, and concepts.
4880 2017-10-10  João Távora  <joaotavora@gmail.com>
4882         Fix two Flymake bugs
4884         * lisp/progmodes/flymake.el (define-fringe-bitmap): Protect
4885         against --without-x.
4886         (flymake--mode-line-format): Ensure mode-line's mouse-4 and mouse-5 work
4887         in their own windows.
4889 2017-10-10  João Távora  <joaotavora@gmail.com>
4891         Don't log "emergencies" in the Flymake legacy backend
4893         * lisp/progmodes/flymake-proc.el (flymake-proc--panic)
4894         (flymake-proc-legacy-flymake): Don't log "emergencies"
4896 2017-10-10  João Távora  <joaotavora@gmail.com>
4898         Add full documentation on new Flymake API
4900         Also, as a minor addition to this API, set flymake-text
4901         on the diagnostic overlay.  This enables a good example in
4902         the section "Customization Flymake annotations".
4904         * doc/misc/flymake.texi (Overview of Flymake)
4905         (Syntax check statuses): Rework.
4906         (Backend exceptions): Rename from "Troubleshooting"
4907         (Customizable variables): Add flymake-start-on-flymake-mode. Rework.
4908         (Extending Flymake): Write chapter.
4909         (Customizing Flymake annotations, Flymake backends)
4910         (Flymake utility functions, An annotated example backend):
4911         New sections and subsections
4913         * lisp/progmodes/flymake.el (flymake-diagnostic-functions)
4914         (flymake-diagnostic-types-alist): Rework docstring.
4915         (flymake--highlight-line): Set and use flymake-text property in overlay.
4916         (flymake-goto-next-error, flymake-goto-prev-error): Fix funny quotes.
4918 2017-10-10  João Távora  <joaotavora@gmail.com>
4920         Fix some Flymake docstrings and messages
4922         * lisp/progmodes/flymake.el
4923         (flymake-start-on-flymake-mode): fix typo.
4924         (flymake-mode): Add docstring.
4925         (flymake-mode-line-format): Fix help-echo indications. mouse-2
4926         describes flymake-mode.
4928 2017-10-10  João Távora  <joaotavora@gmail.com>
4930         Make three new Flymake commands for debugging common problems
4932         * lisp/progmodes/flymake.el (flymake-running-backends)
4933         (flymake-disabled-backends)
4934         (flymake-reporting-backends): Make interactive.
4935         (flymake--collect): Take optional arg.
4937 2017-10-09  Nicolas Petton  <nicolas@petton.fr>
4939         * admin/authors.el (authors-renamed-files-alist): addition.
4941 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
4943         Fix PWD check on DOS_NT
4945         * src/sysdep.c (get_current_dir_name_or_unreachable):
4946         Do not consider a file name like "a:b" to be absolute on DOS_NT.
4948 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
4950         Fix unlikely overflows with wd length
4952         * src/sysdep.c (get_current_dir_name_or_unreachable):
4953         Avoid integer overflow if working directory name is absurdly long.
4954         When allocating memory for getcwd, do not exceed MAXPATHLEN.
4956 2017-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
4958         * lisp/gnus/message.el: Improve last commit
4960         (message-clone-locals): Don't mistakenly match other variables whose
4961         name happens to include "message-default-charset".
4963 2017-10-09  Ken Olum  <kdo@cosmos.phy.tufts.edu>
4965         Fix problems when editing raw undecoded message (Bug#28671)
4967         * lisp/mail/rmailedit.el (rmail-cease-edit): If rmail-old-mime-state
4968         is set, meaning that we are editing the raw message, do not
4969         encode it again.  Delete old body after, not before, inserting
4970         new, to avoid moving marker at beginning of next message.
4972 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
4974         Avoid encoding errors in message.el
4976         * lisp/gnus/message.el (message-clone-locals): Don't clone
4977         message-default-charset.  (Bug#25645)
4979 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
4981         Improve doc string and prompt of 'grep-read-files'
4983         * lisp/progmodes/grep.el (grep-read-files): Clarify in the doc
4984         string and in the prompt that shell wildcards can be used.
4985         Suggested by Allen Li <vianchielfaura@gmail.com>.  (Bug#28615)
4987 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
4989         Avoid assertion violations when line numbers are displayed
4991         * src/xdisp.c (redisplay_window): Clear the window's desired glyph
4992         matrix before calling try_window with the same starting point.
4993         This avoids assertion violations when switching from a buffer
4994         without line numbers to a buffer with line numbers.  (Bug28710)
4996 2017-10-09  João Távora  <joaotavora@gmail.com>
4998         Be lazy when starting Flymake checks
5000         Don't start the check immediately if the buffer is not being
5001         displayed.  Wait until it is, using window-configuration-change-hook.
5003         This enables the user to batch-enable flymake-mode on many buffers and
5004         not have that operation exhaust system resources for checking each
5005         one.  Likewise, an editing or save operation in a currently
5006         non-displayed buffer does not immediately start a check.
5008         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode):
5009         Rename from flymake-start-syntax-check-on-find-file.
5010         (flymake-start-syntax-check-on-find-file): Obsolete alias for
5011         flymake-start-on-flymake-mode.
5012         (flymake-start): Redesign.  Affect the global post-command-hook
5013         and local window-configuraiton-change-hook.
5014         (flymake--schedule-timer-maybe)
5015         (flymake-after-change-function, flymake-after-save-hook): Pass
5016         t to flymake-start.
5018         * test/lisp/progmodes/flymake-tests.el (flymake-tests--call-with-fixture)
5019         (dummy-backends, recurrent-backend): Start flymake check
5020         explicitly and immediately.
5022 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
5024         Fix last change in frameset.el
5026         * lisp/frameset.el (frameset-filter-font-param): Fix a thinko in
5027         filtering the 'font' parameter.  (Bug#17352)
5029 2017-10-09  Martin Rudalics  <rudalics@gmx.at>
5031         Describe how window dividers can replicate vertical borders (Bug#27830)
5033         * doc/emacs/frames.texi (Scroll Bars): Describe how window
5034         dividers can be used to replicate vertical borders when scroll
5035         bars are disabled (Bug#27830).
5036         * doc/emacs/frames.texi (Window Dividers): Mention their use
5037         in replicating vertical borders.
5039 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
5041         Add line-number faces to the display-line-numbers group
5043         See https://lists.gnu.org/r/emacs-devel/2017-10/msg00151.html
5044         and its resulting thread.
5046         * lisp/display-line-numbers.el (display-line-numbers): Add to the
5047         convenience group.
5048         * lisp/faces.el (line-number):
5049         (line-number-current-line): Add to the display-line-numbers group.
5051 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
5053         Increase xterm click count only within double-click-fuzz
5055         * lisp/xt-mouse.el (xterm-mouse-event): Save the last click's position
5056         and check it against the current click's position.  (Bug#28658)
5058 2017-10-08  Alan Third  <alan@idiocy.org>
5060         Change pause in fullscreen toggling for NS port (bug#28496)
5062         * lisp/frame.el (toggle-frame-fullscreen): Replace sit-for with
5063         sleep-for, and reduce time.
5065 2017-10-08  Michael Albinus  <michael.albinus@gmx.de>
5067         Handle PARENTS properly in tramp-*-handle-make-directory
5069         * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
5070         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
5071         Handle PARENTS properly.
5073         * test/lisp/net/tramp-tests.el (tramp-test13-make-directory):
5074         Extend test.
5076 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
5078         Improve test for unreachable dirs
5080         * src/sysdep.c (get_current_dir_name_or_unreachable):
5081         New function, with most of the old contents of
5082         emacs_get_current_dir_name.
5083         (emacs_get_current_dir_name): Use it.  Use a simpler
5084         test for unreachable directory strings, and also apply
5085         it to getcwd etc. (Bug#27871)
5087 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
5089         * src/xsmfns.c (x_session_initialize): Fix memory leak.
5091 2017-10-08  K. Handa  <handa@gnu.org>
5093         New option for handling ZWNJ in Arabic text rendering
5095         Provide a new option 'arabic-shaper-ZWNJ-handling' that controls how
5096         to display ZWNJ in Arabic text rendering (Bug#28339).
5097         * lisp/language/misc-lang.el: Register arabic-shape-gstring in
5098         composition-function-table.
5099         (arabic-shaper-ZWNJ-handling): New variable.
5100         (arabic-shape-log): New variable.
5101         (arabic-shape-gstring): New function.
5102         * lisp/composite.el (lgstring-remove-glyph): New function.
5104 2017-10-08  Noam Postavsky  <npostavs@gmail.com>
5106         Make python prettify symbols into a defvar (Bug#28713)
5108         * lisp/progmodes/python.el (python-prettify-symbols-alist): New
5109         variable.
5110         (python--prettify-symbols-alist): Make into obsolete alias for
5111         `python-prettify-symbols-alist'.
5113 2017-10-07  Alan Third  <alan@idiocy.org>
5115         Fix fullscreen crash on macOS (bug#28496)
5117         * lisp/frame.el (toggle-frame-fullscreen): Wait for animation to
5118         complete on macOS.
5120 2017-10-07  Alan Third  <alan@idiocy.org>
5122         Fix crash when closing fullscreen frame on macOS (bug#28661)
5124         * src/nsterm.m (EmacsView::windowWillResize): Return new frame size
5125         unmodified if the frame isn't live.
5127 2017-10-07  Michael Albinus  <michael.albinus@gmx.de>
5129         Support gio tool in Tramp
5131         "gvfs-<command>" utilities have been deprecated in GVFS 1.31.1.  We
5132         must use "gio <command>" tool instead.
5134         * lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping): New defconst.
5135         (tramp-gvfs-handle-file-notify-add-watch): Support also "gio monitor"
5136         (tramp-gvfs-gio-tool-p): New defun.
5137         (tramp-gvfs-send-command): Use it.  Call gio tool if available.
5139 2017-10-07  João Távora  <joaotavora@gmail.com>
5141         Fix flymake-goto-next-error when message has %-constructs
5143         * lisp/progmodes/flymake.el (flymake-goto-next-error): Fix
5144         message call.  Add missing period in docstring.
5146 2017-10-07  Piotr Trojanek  <piotr.trojanek@gmail.com>
5148         * src/gnutls.c (syms_of_gnutls): Remove duplicated call to DEFSYM.
5150 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
5152         Move the entry about 'format' into Incompatible Lisp Changes
5154         * etc/NEWS: Move the entry about 'format' refraining from allocating
5155         new strings into Incompatible Lisp Changes.  (Bug#28625)
5157 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
5159         Fix glitches in displaying TTY menus
5161         * src/dispnew.c (update_frame_line): Accept an additional argument
5162         UPDATING_MENU_P; if non-zero, home the cursor before updating a
5163         frame's line.  All callers changed.
5164         (update_frame_1): Accept an additional argument UPDATING_MENU_P,
5165         and pass it to update_frame_line.  All callers changed.
5166         (update_frame_with_menu): Call update_frame_1 with last argument
5167         non-zero.  (Bug#17497)
5169 2017-10-06  Gemini Lasswell  <gazally@runbox.com>
5171         Create new Edebug spec for docstrings and use it in closures
5173         Since (:documentation FORM) can be used to create a docstring
5174         when lexical-binding is on, allow for that possibility in Edebug
5175         specs (bug#24773).
5176         * lisp/emacs-lisp/edebug.el: Define an Edebug spec for docstrings
5177         called lambda-doc and modify the Edebug specs for defun and
5178         defmacro to use it.
5179         (edebug-instrument-function): Check for generic functions first,
5180         to fix bug where edebug-step-in didn't work on methods now that
5181         cl-defgeneric has an Edebug spec.
5182         * lisp/subr.el (lambda): Modify Edebug spec to use lambda-doc.
5183         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Add Edebug spec
5184         (bug#27747).
5185         (cl-defmethod): Use lambda-doc in Edebug spec.
5186         * lisp/emacs-lisp/cl-macs.el: Modify Edebug spec for
5187         cl-declarations-or-string to use lambda-doc, and modify Edebug
5188         spec for cl-lambda-expr to use cl-declarations-or-string.
5189         * lisp/emacs-lisp/pcase.el (pcase-lambda): Modify Edebug spec to
5190         use lambda-doc, as well as &define and def-body which are
5191         necessary for using Edebug on code wrapped by lambda.
5192         * lisp/emacs-lisp/generator.el (iter-defun, iter-lambda): Add
5193         Edebug specs.
5195 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
5197         Avoid byte-compilation warnings in message.el
5199         * lisp/gnus/message.el: Require 'subr-x' when compiling, to
5200         avoid compiler warnings.
5202 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
5204         Fix bug in recent styled_format change
5206         Problem reported by Kaushal Modi in:
5207         https://lists.gnu.org/r/emacs-devel/2017-10/msg00141.html
5208         * src/editfns.c (styled_format): Fix bug where USE_SAFE_ALLOCA was
5209         not always followed by SAFE_FREE.  This bug was introduced in my
5210         patch 2017-09-26T23:31:57Z!eggert@cs.ucla.edu entitled "Avoid some
5211         unnecessary copying in Fformat etc."
5213 2017-10-06  João Távora  <joaotavora@gmail.com>
5215         Cleanup emacs-lisp-mode's use of Flymake
5217         * lisp/progmodes/elisp-mode.el (elisp-flymake--checkdoc-1):
5218         Delete.
5219         (elisp-flymake-checkdoc): Incorporate old
5220         elisp-flymake--checkdoc-1.
5221         (elisp-flymake--byte-compile-done): Simplify.  Don't cleanup
5222         here.
5223         (elisp-flymake-byte-compile): Remove spurious interactive spec.
5224         Simplify.  Cleanup on every possible exit.
5226 2017-10-06  João Távora  <joaotavora@gmail.com>
5228         Fix @include directive in Flymake doc
5230         * doc/misc/flymake.texi: Don't @include a relative path.
5232 2017-10-06  Mark Oteiza  <mvoteiza@udel.edu>
5234         Move read-multiple-choice to its own library
5236         * lisp/emacs-lisp/rmc.el: New file.
5237         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Remove.
5238         * lisp/gnus/message.el:
5239         * lisp/net/nsm.el: Change required library.
5241 2017-10-06  Piotr Trojanek  <piotr.trojanek@gmail.com>
5243         * src/process.c (syms_of_process): Remove duplicated call to DEFSYM.
5245         Fixes: Bug#28721
5247 2017-10-06  Lele Gaifax  <lele@metapensiero.it>
5249         Fix typos in Flymake documentation
5251         * doc/misc/flymake.texi (Syntax check statuses)
5252         (Adding support for a new syntax check tool)
5253         (Implementation overview, Locating the buildfile): Fix typos.
5255         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn)
5256         (flymake-proc--find-possible-master-files):Fix typos.
5257         (flymake-proc--panic)
5258         (flymake-proc-legacy-flymake): Fix function reference in doc.
5260         * lisp/progmodes/flymake.el (flymake-error)
5261         (flymake-diagnostic-functions): Fix typos.
5262         (flymake-diagnostic-types-alist): Rephrase and fix typos.
5263         (flymake--backend-state): Fix typos and rephrase.
5264         (flymake--handle-report): Delete empty line.
5265         (flymake--disable-backend)
5266         (flymake--run-backend): Fix typos.
5267         (flymake-goto-next-error, flymake-goto-prev-error): Rephrase.
5269 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
5271         Revert last change in 'shr-descend'
5273         * lisp/net/shr.el (shr-descend): Revert the part of the last
5274         change which introduced calls to shr-indirect-call into this
5275         function.  Add a comment explaining the rationale for that.
5276         (Bug#28402)
5278 2017-10-06  João Távora  <joaotavora@gmail.com>
5280         Don't error when turning on Flymake with no known backends
5282         Leave it to the mode line indicator to inform the user that there
5283         is still some configuration to do.
5285         * lisp/progmodes/flymake.el (flymake-mode): Simplify.
5287 2017-10-06  João Távora  <joaotavora@gmail.com>
5289         Delete a Flymake obsolete alias that can't possibly work
5291         The function `flymake-ler-make-ler' can't possibly work as an backward
5292         compatible interface to existing extensinos (even purely hypothetical
5293         ones, since none are known).  This is because every diagnostic
5294         considered by Flymake has to passed to a report-fn function.
5296         * lisp/progmodes/flymake.el (flymake-ler-make-ler): Delete.
5298 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
5300         Fix bug with unmounted directory on GNU/Linux
5302         * src/sysdep.c (emacs_get_current_dir_name): Do not use
5303         get_current_dir_name result unless it is absolute (Bug#27871).
5306 2017-10-05  Nicolas Petton  <nicolas@petton.fr>
5308         Update authors.el
5310         * admin/authors.el (authors-renamed-files-alist)
5311         (authors-valid-file-names): Additions.
5313 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
5315         Fix dynamic binding wrapper in iter-lambda (bug#25965)
5317         * lisp/emacs-lisp/generator.el (cps--make-dynamic-binding-wrapper):
5318         Remove extra evaluation of form.
5319         * test/lisp/emacs-lisp/generator-tests.el
5320         (cps-iter-lambda-with-dynamic-binding): New test.
5322 2017-10-05  Rasmus  <rasmus@gmx.us>
5324         Update Org to v9.1.2
5326         Please note this is a bugfix release.  See etc/ORG-NEWS for details.
5328 2017-10-05  Alan Mackenzie  <acm@muc.de>
5330         Fix irregularities with CC Mode fontification, particularly with "known types"
5332         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
5333         optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
5334         type.
5335         (c-font-lock-single-decl): New variable template-class, set to non-nil when we
5336         have a construct like the above.  Pass this as argument to
5337         c-font-lock-declarators.
5338         (c-font-lock-cut-off-declarators): Check more rigorously that a declaration
5339         being processed starts before the function's starting position.
5340         (c-complex-decl-matchers): Remove the redundant clause which fontified "types
5341         preceded by, e.g., "struct"".
5343         * lisp/progmodes/cc-langs.el (c-template-typename-kwds)
5344         (c-template-typename-key): New lang defconsts and defvar.
5346 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
5348         Fix breakage due to recent change in tabulated-list-print-entry
5350         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
5351         Update the doc string.
5352         (tabulated-list-print-entry): Revert to using only 2 arguments.
5353         Update the doc string.
5354         (tabulated-list-entry-lnum-width): New defvar.
5355         (tabulated-list-print): Compute the width of line-number display
5356         once, then store that value in tabulated-list-entry-lnum-width,
5357         for tabulated-list-printer to use.  (Bug#28704)
5359 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
5361         * lisp/ses.el (ses-print-cell): Fix alignment of text cells.  (Bug#27653)
5363 2017-10-05  Alexander Gramiak  <agrambot@gmail.com>
5365         Set xterm click count to 1 even with no last click
5367         * lisp/xt-mouse.el (xterm-mouse-event): Move the check for
5368         the last click so that click-count is initialized properly.
5369         Handle the value of t for double-click-time.
5370         (Bug#28658)
5372 2017-10-05  Vasilij Schneidermann  <mail@vasilij.de>
5374         Support indirection for all shr-tag-* calls
5376         The 'shr-external-rendering-functions' variable was previously only
5377         honored in the shr-descend function, now all direct calls to the
5378         shr-tag-* functions have been replaced by a call to
5379         'shr-indirect-call' which tries using an alternative rendering
5380         function first.
5382         * lisp/net/shr.el (shr-indirect-call): New helper function.
5383         (shr-descend, shr-tag-object, shr-tag-video):
5384         (shr-collect-extra-strings-in-table): Fix callers to call via
5385         shr-indirect-call.  (Bug#28402)
5387 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
5389         Speed up list-packages when 'visual' line numbers are displayed
5391         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
5392         Update the doc string.
5393         (tabulated-list-print-entry): Accept an additional optional
5394         argument INDENT.  Update the doc string.
5395         (tabulated-list-print): Compute the width of line-number display
5396         once, then call tabulated-list-printer with that value as 3rd
5397         argument.  (Bug#28704)
5399 2017-10-05  João Távora  <joaotavora@gmail.com>
5401         Misc. minor adjustments to Flymake
5403         - Add a half-decent minor-mode menu;
5404         - Fix "waiting for backends" mode line message;
5405         - Adjust the flymake-diag-region API;
5406         - Autoload the flymake-log macro;
5407         - Auto-disable the legacy backend in more situations;
5408         - Fix a couple of warnings in legacy backend.
5410         * lisp/progmodes/flymake-proc.el
5411         (flymake-proc--diagnostics-for-pattern): Use new
5412         flymake-diag-region.
5414         * lisp/progmodes/flymake-proc.el
5415         (flymake-proc-legacy-flymake): Do error when no
5416         buffer-file-name or not writable.
5417         (flymake-proc-legacy-flymake)
5418         (flymake-proc-simple-cleanup): Don't reference flymake-last-change-time
5420         * lisp/progmodes/flymake.el (flymake-diag-region):
5421         Autoload.  Take buffer as first argument.
5423         * lisp/progmodes/flymake.el (flymake-switch-to-log-buffer):
5424         New command.
5425         (flymake-menu): Add a simple menu.
5426         (flymake--mode-line-format): Use menu.  Fix message.  Switch to
5427         log buffer when clicking exceptional warnings.
5429 2017-10-05  Johan Bockgård  <bojohan@gnu.org>
5431         Fix search for ~/.Xdefaults-HOSTNAME
5433         * src/xrdb.c (get_environ_db): Fix typo when handling
5434         ~/.Xdefaults-HOSTNAME (Bug#28708).
5436 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
5438         Speed up (format "%s" STRING) and the like
5440         Although the Lisp manual said that ‘format’ returns a
5441         newly-allocated string, this was not true for a few cases like
5442         (format "%s" ""), and fixing the documentation to allow reuse of
5443         arguments lets us improve performance in common cases like
5444         (format "foo") and (format "%s" "foo") (Bug#28625).
5445         * doc/lispref/strings.texi (Formatting Strings):
5446         * etc/NEWS:
5447         Say that the result of ‘format’ might not be newly allocated.
5448         * src/callint.c (Fcall_interactively):
5449         * src/dbusbind.c (XD_OBJECT_TO_STRING):
5450         * src/editfns.c (Fmessage, Fmessage_box):
5451         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
5452         Just use Fformat or Fformat_message, as that’s simpler and no
5453         longer makes unnecessary copies.
5454         * src/editfns.c (styled_format): Remove last argument, as it
5455         is no longer needed: all callers now want it to behave as if it
5456         were true.  All remaining callers changed.  Make this function
5457         static again.  Simplify the function now that we no longer
5458         need to worry about whether the optimization is allowed.
5460 2017-10-04  Alan Mackenzie  <acm@muc.de>
5462         Fontify untyped function declarations in C Mode correctly.
5464         Also correct two bugs where deleting WS at a BOL could leave an untyped
5465         function declaration unfontified.
5467         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Don't set the flag
5468         "top-level" when we're in a macro.
5469         (c-forward-decl-or-cast-1): Recognize top-level "foo(bar)" or "foo()" in C
5470         Mode as a implicitly typed function declaration.
5471         (c-just-after-func-arglist-p): Don't get confused by "defined (foo)" inside a
5472         macro.  It's not a function plus arglist.
5474         * lisp/progmodes/cc-langs.el (c-cpp-expr-functions-key): New defconst and
5475         defvar.
5477         * lisp/progmodes/cc-mode.el (c-fl-decl-end): After c-forward-declarator, move
5478         over any following parenthesis expression (i.e. parameter list).
5479         (c-change-expand-fl-region): When c-new-END is at a BOL, include that line in
5480         the returned region, to cope with deletions at column 0.
5482 2017-10-04  Michael Albinus  <michael.albinus@gmx.de>
5484         * lisp/net/tramp.el (tramp-tramp-file-p): Use `string-match-p'.
5486         Reported by Clément Pit-Claudel <cpitclaudel@gmail.com>.
5488 2017-10-04  Eli Zaretskii  <eliz@gnu.org>
5490         Avoid crashes on C-g when several threads wait for input
5492         * src/thread.h (m_getcjmp): New member of 'struct thread_state'.
5493         (getcjmp): Define to current thread's 'm_getcjmp'.
5494         * src/thread.c (maybe_reacquire_global_lock): Switch to main
5495         thread, since this is called from a SIGINT handler, which always
5496         runs in the context of the main thread.
5497         * src/lisp.h (sys_jmp_buf, sys_setjmp, sys_longjmp): Move the
5498         definitions before thread.h is included, as thread.h now uses
5499         sys_jmp_buf.
5500         * src/keyboard.c (getcjmp): Remove declaration.
5501         (read_char): Don't call maybe_reacquire_global_lock here.
5502         (handle_interrupt): Call maybe_reacquire_global_lock here, if
5503         invoked from the SIGINT handler, to make sure
5504         quit_throw_to_read_char runs with main thread's Lisp bindings and
5505         uses the main thread's jmp_buf buffer.  (Bug#28630)
5507 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
5509         Warn if --without-pop is now the default
5511         * configure.ac (with_pop): Set to no-by-default if defaulting to "no".
5512         Warn about the change if defaulting to "no".  Update URLs.
5514 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
5516         --with-pop is now the default only on MS-Windows
5518         Problem reported by N. Jackson (Bug#28597).
5519         This improves an earlier suggestion by Robert Pluim (Bug#28597#47).
5520         * INSTALL, configure.ac, etc/NEWS:
5521         Make --with-pop the default only on native MS-Windows.
5523 2017-10-03  Michael Albinus  <michael.albinus@gmx.de>
5525         Add support for `file-system-info' in Tramp
5527         * lisp/net/tramp.el (tramp-file-name-for-operation):
5528         Add `file-system-info'.
5530         * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info): New defun.
5531         (tramp-adb-file-name-handler-alist): Use it.
5533         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-system-attributes)
5534         (tramp-gvfs-file-system-attributes-regexp): New defconst.
5535         (tramp-gvfs-handle-file-system-info): New defun.
5536         (tramp-gvfs-file-name-handler-alist): Use it.
5537         (tramp-gvfs-get-directory-attributes): Fix property name.
5538         (tramp-gvfs-get-root-attributes): Support also file system attributes.
5540         * lisp/net/tramp-sh.el (tramp-sh-handle-file-system-info): New defun.
5541         (tramp-sh-file-name-handler-alist): Use it.
5542         (tramp-sh-handle-insert-directory): Insert size information.
5543         (tramp-get-remote-df): New defun.
5545         * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): New defun.
5546         (tramp-smb-file-name-handler-alist): Use it.
5547         (tramp-smb-handle-insert-directory): Insert size information.
5549         * test/lisp/net/tramp-tests.el (tramp-test37-file-system-info):
5550         New test.
5551         (tramp-test38-asynchronous-requests)
5552         (tramp-test39-recursive-load, tramp-test40-remote-load-path)
5553         (tramp-test41-unload): Rename.
5555 2017-10-03  João Távora  <joaotavora@gmail.com>
5557         Merge branch 'scratch/flymake-refactor-clean-for-emacs-26' into emacs-26
5559 2017-10-03  João Távora  <joaotavora@gmail.com>
5561         Start rewriting Flymake manual
5563         Missing the parts pertaining to the new customization API.
5565         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
5566         (Installing Flymake): Delete most of this.
5567         (Running the syntax check): Mention flymake-start.
5568         (Navigating to error lines): Rewrite.
5569         (Viewing error messages): Commente out.
5570         (Syntax check statuses, Troubleshooting): Rewrite a bit.
5571         (Customizable variables): New section under "Using
5572         Flymake".  Don't mention any proc variables here.
5573         (Configuring Flymake): Delete
5574         (Proc backend): New chapter
5575         (Proc customization variables): New chapter.
5577         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
5578         (Installing Flymake): Mostly scratch. Flymake comes with Emacs.
5579         (Running the syntax check): Simplify.
5580         (Viewing error messages): Dekete,
5581         (Syntax check statuses): Rewrite.
5582         (Troubleshooting): Simplify.
5583         (Customizable variables): Rewrite.
5584         (Extending Flymake): New chapter, empty for now.
5585         (The legacy Proc backend): New chapter.
5586         (Proc customizable variables)
5587         (Adding support for a new syntax check tool)
5588         (Implementation overview)
5589         (Making a temporary copy)
5590         (Locating a master file)
5591         (Getting the include directories)
5592         (Locating the buildfile)
5593         (Starting the syntax check process)
5594         (Parsing the output)
5595         (Interaction with other modes)
5596         (Example---Configuring a tool called via make)
5597         (Example---Configuring a tool called directly): Rewrite a bit.
5599 2017-10-03  João Távora  <joaotavora@gmail.com>
5601         Minimal tweak as an attempt to future-proof Flymake API
5603         Discussed with Stefan that this should allow Flymake to request more
5604         from backends in the future, while also allowing backends to report
5605         more accurately.
5607         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc)
5608         (elisp-flymake-byte-compile): Adjust to new API.
5610         * lisp/progmodes/flymake-proc.el ()
5611         (flymake-proc-legacy-flymake): Adjust to new API.
5613         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
5614         Review API again.
5615         (flymake--handle-report): Allow other keys.  Change ACTION to
5616         REPORT-ACTION.
5618 2017-10-03  João Távora  <joaotavora@gmail.com>
5620         Integrate Flymake elisp checkers into elisp-mode.el directly
5622         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Use
5623         elisp-flymake-checkdoc and elisp-flymake-byte-compile.
5624         (elisp-flymake--checkdoc-1, elisp-flymake-checkdoc)
5625         (elisp-flymake--byte-compile-done)
5626         (elisp-flymake--byte-compile-process)
5627         (elisp-flymake-byte-compile): Rename from flymake-elisp
5628         counterparts in deleted flymake-elisp.el
5629         (elisp-flymake--batch-compile-for-flymake): New helper.
5630         (checkdoc-create-error-function)
5631         (checkdoc-autofix-flag)
5632         (checkdoc-generate-compile-warnings-flag)
5633         (checkdoc-diagnostic-buffer): Forward declare.
5635         * lisp/progmodes/flymake-elisp.el: Delete.
5637 2017-10-03  João Távora  <joaotavora@gmail.com>
5639         Hook Flymake onto proper checkdoc and byte-compile interfaces
5641         The interfaces in bytecomp.el and checkdoc.el are mostly boilerplate,
5642         with little knowledge of actual internals or thought given to the
5643         usefulness of said interfaces in contexts other than Flymake's.
5645         * lisp/emacs-lisp/bytecomp.el
5646         (byte-compile-log-warning-function): New variable.
5647         (byte-compile-log-warning): Use it.
5648         (byte-compile--log-warning-for-byte-compile): New function.
5650         * lisp/emacs-lisp/checkdoc.el
5651         (checkdoc-create-error-function): New variable.
5652         (checkdoc-create-error): Use it.
5653         (checkdoc--create-error-for-checkdoc): New function.xo
5655         * lisp/progmodes/flymake-elisp.el (flymake-elisp--checkdoc-1):
5656         Use checkdoc-create-error-function.
5657         (flymake-elisp--batch-byte-compile): Use
5658         byte-compile-log-warning-function.
5660 2017-10-03  João Távora  <joaotavora@gmail.com>
5662         Tweak Flymake autoloads and dependencies
5664         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add to
5665         flymake-diagnostic-functions here.
5667         * lisp/progmodes/flymake-elisp.el[top]: Don't add to
5668         emacs-lisp-mode-hook.  Don't call flymake-elisp-setup-backends in
5669         every buffer.  (flymake-elisp-checkdoc) (flymake-elisp-byte-compile):
5670         Autoload.  (flymake-elisp-setup-backends): Remove.
5672         * lisp/progmodes/flymake.el: Add some top-level comments.
5673         (flymake-make-diagnostic)
5674         (flymake-mode, flymake-mode-on, flymake-mode-off): Add autoloads
5676         Where to fixup this shit?
5678 2017-10-03  João Távora  <joaotavora@gmail.com>
5680         Capitalize "Flymake" in docstrings and comments
5682         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
5683         (flymake-elisp-setup-backends): Capitalize "Flymake"
5685         * lisp/progmodes/flymake-proc.el:
5686         (flymake-proc-reformat-err-line-patterns-from-compile-el)
5687         (flymake-proc--panic, flymake-proc-legacy-flymake)
5688         (flymake-start-syntax-check, flymake-proc-compile)
5689         (define-obsolete-variable-alias): Capitalize "Flymake"
5691         * lisp/progmodes/flymake.el (flymake-fringe-indicator-position)
5692         (flymake-make-diagnostic, flymake-delete-own-overlays)
5693         (flymake-diagnostic-functions)
5694         (flymake-diagnostic-types-alist, flymake-is-running)
5695         (flymake-make-report-fn, flymake-mode-on, flymake-mode-off)
5696         (flymake-goto-next-error, flymake-goto-prev-error): Capitalize "Flymake"
5698 2017-10-03  João Távora  <joaotavora@gmail.com>
5700         Flymake backends can report multiple times per check
5702         Rewrote a significant part of the Flymake backend API.  Flymake now
5703         ignores the return value of backend functions: a function can either
5704         returns or errors.  If it doesn't error, a backend is no longer
5705         constrained to call REPORT-FN exactly once.  It may do so any number
5706         of times, cumulatively reporting diagnostics.  Flymake keeps track of
5707         outdated REPORT-FN instances and disconsiders obsolete reports.
5708         Backends should avoid reporting obsolete data by canceling any
5709         ongoing processing at every renewed call to the backend function.
5711         Consolidated flymake.el internal data structures to require less
5712         buffer-local variables.  Adjusted Flymake's mode-line indicator to the
5713         new semantics.
5715         Adapted and simplified the implementation of elisp and legacy
5716         backends, fixing potential race conditions when calling backends in
5717         rapid succession.
5719         Added a new test for a backend that calls REPORT-FN multiple
5720         times.  Simplify test infrastructure.
5722         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
5723         (flymake-elisp-byte-compile): Error instead of returning nil
5724         if not in emacs-lisp-mode.
5725         (flymake-elisp--byte-compile-process): New buffer-local variable.
5726         (flymake-elisp-byte-compile): Mark (and kill) previous process
5727         obsolete process before starting a new one.  Don't report if
5728         obsolete process.
5730         * lisp/progmodes/flymake-proc.el
5731         (flymake-proc--current-process): New buffer-local variable.
5732         (flymake-proc--processes): Remove.
5733         (flymake-proc--process-filter): Don't bind
5734         flymake-proc--report-fn.
5735         (flymake-proc--process-sentinel): Rewrite.  Don't report if
5736         obsolete process.
5737         (flymake-proc-legacy-flymake): Rewrite.  Mark (and kill)
5738         previous process obsolete process before starting a new
5739         one.  Integrate flymake-proc--start-syntax-check-process
5740         helper.
5741         (flymake-proc--start-syntax-check-process): Delete.
5742         (flymake-proc-stop-all-syntax-checks): Don't use
5743         flymake-proc--processes, iterate buffers.
5744         (flymake-proc-compile):
5746         * lisp/progmodes/flymake.el (subr-x): Require it
5747         explicitly.
5748         (flymake-diagnostic-functions): Reword docstring.
5749         (flymake--running-backends, flymake--disabled-backends)
5750         (flymake--diagnostics-table): Delete.
5751         (flymake--backend-state): New buffer-local variable and new defstruct.
5752         (flymake--with-backend-state, flymake--collect)
5753         (flymake-running-backends, flymake-disabled-backends)
5754         (flymake-reporting-backends): New helpers.
5755         (flymake-is-running): Use flymake-running-backends.
5756         (flymake--handle-report): Rewrite.
5757         (flymake-make-report-fn): Ensure REPORT-FN runs in the correct
5758         buffer or not at all.
5759         (flymake--disable-backend, flymake--run-backend): Rewrite.
5760         (flymake-start): Rewrite.
5761         (flymake-mode): Set flymake--backend-state.
5762         (flymake--mode-line-format): Rewrite.
5764         * test/lisp/progmodes/flymake-tests.el
5765         (flymake-tests--wait-for-backends): New helper.
5766         (flymake-tests--call-with-fixture): Use it.
5767         (included-c-header-files): Fix whitespace.
5768         (flymake-tests--diagnose-words): New helper.
5769         (dummy-backends): Rewrite for new semantics.  Use cl-letf.
5770         (flymake-tests--assert-set): Use quote.
5771         (recurrent-backend): New test.
5773 2017-10-03  João Távora  <joaotavora@gmail.com>
5775         Flymake uses proper idle timers
5777         Also, flymake-no-changes-timeout can be set to nil to disable
5778         automatic periodic checks.  But even in that situation the idle timer
5779         still runs at a reduced rate to detect changes in the variable and
5780         revert that decision.
5782         * lisp/progmodes/flymake.el (flymake-no-changes-timeout): Improve doc.
5783         (flymake-last-change-time): Delete.
5784         (flymake--schedule-timer-maybe): New helper.
5785         (flymake-after-change-function): Use it.
5786         (flymake-on-timer-event): Delete
5787         (flymake-mode): Don't scheduler timer.
5789 2017-10-03  João Távora  <joaotavora@gmail.com>
5791         Flymake variable flymake-diagnostic-functions now a special hook
5793         * lisp/progmodes/flymake-proc.el: Use add-hook to affect
5794         flymake-diagnostic-functions.
5796         * lisp/progmodes/flymake-elisp.el
5797         (flymake-elisp-setup-backends): Use add-hook.
5799         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
5800         Revise docstring.
5801         (flymake-start): Use run-hook-wrapped.
5803 2017-10-03  João Távora  <joaotavora@gmail.com>
5805         Batch of minor Flymake cleanup actions agreed to with Stefan
5807         Discussed with Stefan, in no particular order
5809         - Remove aliases for symbols thought to be internal to flymake-proc.el
5810         - Don’t need :group in defcustom and defface in flymake.el
5811         - Fix docstring of flymake-make-diagnostic
5812         - Fix docstring of flymake-diagnostic-functions to clarify keywords.
5813         - Mark overlays with just the property ’flymake, not ’flymake-overlay
5814         - Tune flymake-overlays for performance
5815         - Make flymake-mode-on and flymake-mode-off obsolete
5816         - Don’t use hash-table-keys unless necessary.
5817         - Copyright notice in flymake-elisp.
5819         Added some more
5821         - Clarify docstring of flymake-goto-next-error
5822         - Clarify a comment in flymake--run-backend complaining about ert-deftest.
5823         - Prevent compilation warnings in flymake-proc.el
5824         - Remove doctring from obsolete aliases
5826         Now the changelog:
5828         * lisp/progmodes/flymake-elisp.el: Proper copyright notice.
5830         * lisp/progmodes/flymake-proc.el (flymake-warning-re)
5831         (flymake-proc-diagnostic-type-pred)
5832         (flymake-proc-default-guess)
5833         (flymake-proc--get-file-name-mode-and-masks): Move up to
5834         beginning of file to shoosh compiler warnings
5835         (define-obsolete-variable-alias): Delete many obsolete aliases.
5837         * lisp/progmodes/flymake.el (flymake-error-bitmap)
5838         (flymake-warning-bitmap, flymake-note-bitmap)
5839         (flymake-fringe-indicator-position)
5840         (flymake-start-syntax-check-on-newline)
5841         (flymake-no-changes-timeout, flymake-gui-warnings-enabled)
5842         (flymake-start-syntax-check-on-find-file, flymake-log-level)
5843         (flymake-wrap-around, flymake-error, flymake-warning)
5844         (flymake-note): Don't need :group in these defcustom and defface.
5845         (flymake--run-backend): Clarify comment
5846         (flymake-mode-map): Remove.
5847         (flymake-make-diagnostic): Fix docstring.
5848         (flymake--highlight-line, flymake--overlays): Identify flymake
5849         overlays with just ’flymake.
5850         (flymake--overlays): Reverse order of invocation for
5851         cl-remove-if-not and cl-sort.
5852         (flymake-mode-on)
5853         (flymake-mode-off): Make obsolete.
5854         (flymake-goto-next-error, flymake-goto-prev-error): Fix docstring.
5855         (flymake-diagnostic-functions): Clarify keyword arguments in
5856         docstring.
5858         Maybe squash in that one where I remove many obsoletes
5860 2017-10-03  João Távora  <joaotavora@gmail.com>
5862         Explicitly add a(n empty) keymap for Flymake
5864         Too early to decide what will be in it, if anything.  Though "M-n" and
5865         "M-p" would be great.
5867         * lisp/progmodes/flymake-ui.el (flymake-mode-map): New variable
5869 2017-10-03  João Távora  <joaotavora@gmail.com>
5871         Flymake uses some new fringe bitmaps
5873         Also fix behaviour whereby flymake wouldn't react to a change in the
5874         variable.
5876         * lisp/progmodes/flymake-ui.el (flymake-error-bitmap)
5877         (flymake-warning-bitmap): Update bitmaps.
5878         (flymake-note-bitmap): New defcustom.
5879         (flymake-double-exclamation-mark): New bitmap.
5880         (flymake-error, flymake-warning, flymake-note)
5881         (flymake--highlight-line): 'bitmap property must be a symbol.
5882         Also set default face to flymake-error.
5883         (flymake--fringe-overlay-spec): Bitmap property can be a
5884         variable symbol.
5886 2017-10-03  João Távora  <joaotavora@gmail.com>
5888         Remove old flymake-display-err-menu-for-current-line, it's useless
5890         See https://lists.gnu.org/r/emacs-devel/2017-09/msg00949.html
5892         * lisp/progmodes/flymake-ui.el
5893         (flymake-popup-current-error-menu): Remove.
5895 2017-10-03  João Távora  <joaotavora@gmail.com>
5897         Treat Flymake errors as just another type of diagnostic
5899         * lisp/progmodes/flymake.el (flymake--diag-errorp): Remove.
5900         (flymake--handle-report, flymake-popup-current-error-menu):
5901         Don't use it.
5903 2017-10-03  João Távora  <joaotavora@gmail.com>
5905         Fix three Flymake bugs when checking C header files
5907         The first of these problems is longstanding: if an error-less B.h is
5908         included from error-ridden A.h, flymake's legacy parser will panic
5909         (and disable itself) since it sees a non-zero exit for a clean file.
5910         To fix this, recommend returning 'true' in the documentation for the
5911         check-syntax target.
5913         Another problem was introduced by the parser rewrite.  For error
5914         patterns spanning more than one line, point may be left in the middle
5915         of a line and thus render other patterns useless.  Those patterns were
5916         written for the old line-by-line parser.  To make them useful again,
5917         move to the beginning of line in those situations.
5919         The third problem was also longstanding and happened on newer GCC's:
5920         The "In file included from" prefix confused
5921         flymake-proc-get-real-file-name.  Fix this.
5923         Also updated flymake--diag-region to fallback to highlighting a full
5924         line less often.
5926         Add automatic tests to check this.
5928         * lisp/progmodes/flymake-proc.el
5929         (flymake-proc--diagnostics-for-pattern): Fix bug when patterns
5930         accidentally spans more than one line.  Don't create
5931         diagnostics without error messages.
5932         (flymake-proc-real-file-name-considering-includes): New
5933         helper.
5934         (flymake-proc-allowed-file-name-masks): Use it.
5936         * lisp/progmodes/flymake.el (flymake-diag-region): Make COL
5937         argument explicitly optional.  Only fall back to full line in extreme
5938         cases.
5940         * test/lisp/progmodes/flymake-tests.el
5941         (included-c-header-files): New test.
5942         (different-diagnostic-types): Update.
5944         * test/lisp/progmodes/flymake-resources/Makefile
5945         (check-syntax): Always return success (0) error code.
5946         (CC_OPTS): Add -Wextra
5948         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c
5949         (main): Rewrite comments.
5951         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
5952         Include some dummy header files.
5954         * test/lisp/progmodes/flymake-resources/no-problems.h: New file.
5956         * test/lisp/progmodes/flymake-resources/some-problems.h: New file.
5958         * doc/misc/flymake.texi (Example---Configuring a tool called
5959         via make): Recommend adding "|| true" to the check-syntax target.
5961 2017-10-03  João Távora  <joaotavora@gmail.com>
5963         Add interactive flymake-start function
5965         * lisp/progmodes/flymake.el (flymake-on-timer-event)
5966         (flymake-after-change-function, flymake-mode): Call
5967         flymake-start.
5968         (flymake-start): Rename from flymake--start-syntax-check.
5970 2017-10-03  João Távora  <joaotavora@gmail.com>
5972         A couple of Flymake backends for emacs-lisp-mode
5974         Loading flymake-elisp.el doesn't setup flymake-mode to turn on
5975         automatically, but it affects emacs-lisp-mode-hook so that
5976         flymake-diagnostic-functions is setup with a suitable buffer-local
5977         value.  The variable flymake-diagnostic-funtions in every live
5978         emacs-lisp-mode buffer is also adjusted.
5980         * lisp/progmodes/flymake.el (top): Require flymake-elisp.
5982         * lisp/progmodes/flymake-elisp.el: New file.
5984 2017-10-03  João Távora  <joaotavora@gmail.com>
5986         Fancy Flymake mode-line construct displays status
5988         Imitates compilation-mode's mode-line a bit, and uses its faces.
5990         * lisp/progmodes/flymake.el
5991         (flymake-error, flymake-warning, flymake-note): Add
5992         mode-line-face to these flymake error types.
5993         (flymake-note): Notes don't need a noisy fringe bitmap.
5994         (flymake-lighter): Delete.
5995         (flymake--update-lighter): Delete.
5996         (flymake--mode-line-format): New function and variable.
5997         (flymake--diagnostics-table): New buffer-local variable.
5998         (flymake--handle-report): Don't update "lighters".  Affect
5999         flymake--diagnostics-table.
6000         (flymake--run-backend): Init flymake--diagnostics-table for backend.
6001         (flymake-mode): Use flymake--mode-line-format.
6002         (flymake-mode): Don't update lighter.
6003         (flymake--highlight-line): Be more careful when overriding a
6004         nil default overlay property.
6006 2017-10-03  João Távora  <joaotavora@gmail.com>
6008         Tweak Flymake commands flymake-goto-[next/prev]-error
6010         Add filters, useful for backends like the upcoming
6011         flymake-elisp-checkdoc backend, for example, which litters everything
6012         with low-priority notes.
6014         Also re-implement wraparound for flymake-goto-next-error. Manual
6015         mentions this, so it's probably a good idea to keep it.  Added a new
6016         customization variable flymake-wrap-around to control it.
6018         * lisp/progmodes/flymake.el (flymake-goto-prev-error)
6019         (flymake-goto-next-error): Accept FILTER argument.
6020         (flymake-wrap-around): New variable.
6021         (flymake-goto-next-error): Wrap around according to flymake-wrap-around.
6023         * test/lisp/progmodes/flymake-tests.el
6024         (different-diagnostic-types, dummy-backends): Pass FILTER to
6025         flymake-goto-prev-error.
6026         (different-diagnostic-types)
6027         (dummy-backends): Use flymake-wrap-around.
6029 2017-10-03  João Távora  <joaotavora@gmail.com>
6031         Flymake's flymake-proc.el backend slightly easier to debug
6033         Misc cleanup in flymake-proc.el
6035         Improve description of what this file contains.
6037         Better name for the backend function.  Fix the case where it is run
6038         interactively.
6040         Keep the output buffer alive iff the external process panics.
6042         * lisp/progmodes/flymake-proc.el
6043         (flymake-proc-legacy-flymake): Rename from
6044         flymake-proc-start-syntax-check.  Allow running interactively.
6045         (flymake-start-syntax-check): Obsolete alias for
6046         flymake-proc-legacy-flymake.
6047         (flymake-proc-start-syntax-check): Delete.
6048         (flymake-diagnostic-functions): Include flymake-proc-legacy-flymake
6049         (flymake-proc--process-sentinel): Keep output buffer alive.
6050         Clarify with comments.
6051         (flymake-proc--diagnostics-for-pattern)
6052         (flymake-proc--process-sentinel)
6053         (flymake-proc--safe-delete-directory)
6054         (flymake-proc--start-syntax-check-process): Use condition-case-unless-debug.
6056 2017-10-03  João Távora  <joaotavora@gmail.com>
6058         Simplify Flymake logging and erroring
6060         Use display-warning and a dedicated *Flymake log* buffer.
6062         To ease readability, flymake log messages are now prefixed with a
6063         common prefix and the buffer that originated them.
6065         Some situations of over-zealous logging are fixed.
6067         Use byte-compiler info, if available, to determine whence the
6068         flymake-related log message is coming.
6070         * lisp/progmodes/flymake-proc.el
6071         (flymake-proc--diagnostics-for-pattern): Improve log message.
6072         (flymake-proc--panic): Always flymake-log an error
6073         (flymake-proc--safe-delete-file)
6074         (flymake-proc--safe-delete-directory):
6075         Downgrade warning
6076         (flymake-proc-start-syntax-check): Simplify slightly.
6077         (flymake-proc--start-syntax-check-process): Simplify.
6078         (flymake-proc--init-find-buildfile-dir)
6079         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
6080         No need to warn twice.
6082         * lisp/progmodes/flymake.el (flymake-log): Convert to macro.
6083         (flymake--log-1): New helper.
6084         (flymake-log-level): Deprecate.
6085         (flymake-error): New helper.
6086         (flymake-ler-make-ler, flymake--handle-report, flymake-mode):
6087         Use flymake-error.
6088         (flymake-on-timer-event)
6089         (flymake--handle-report, flymake--disable-backend)
6090         (flymake--run-backend, flymake-start, flymake-mode-on)
6091         (flymake-mode-off, flymake-after-change-function)
6092         (flymake-after-save-hook, flymake-find-file-hook): Adjust
6093         flymake-log calls.
6095         * test/lisp/progmodes/flymake-tests.el
6096         (flymake-tests--call-with-fixture): Only log errors.
6098 2017-10-03  Philipp Stephani  <phst@google.com>
6100         Work around deprecation of gtk_style_context_get_background_color
6102         * src/gtkutil.c (xg_check_special_colors): Replace call to
6103         gtk_style_context_get_background_color with its definition.
6105 2017-10-03  João Távora  <joaotavora@gmail.com>
6107         New Flymake API variable flymake-diagnostic-functions
6109         Lay groundwork for multiple active backends in the same buffer.
6111         Backends are lisp functions called when flymake-mode sees fit.  They
6112         are responsible for examining the current buffer and telling
6113         flymake.el, via return value, if they can syntax check it.
6114         Backends should return quickly and inexpensively, but they are also
6115         passed a REPORT-FN argument which they may or may not call
6116         asynchronously after performing more expensive work.
6118         REPORT-FN's calling convention stipulates that a backend calls it with
6119         a list of diagnostics as argument, or, alternatively, with a symbol
6120         denoting an exceptional situation, usually some panic resulting from a
6121         misconfigured backend.  In keeping with legacy behaviour,
6122         flymake.el's response to a panic is to disable the issuing backend.
6124         The flymake--diag object representing a diagnostic now also keeps
6125         information about its source backend.  Among other uses, this allows
6126         flymake to selectively cleanup overlays based on which backend is
6127         updating its diagnostics.
6129         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn):
6130         New dynamic variable.
6131         (flymake-proc--process): New variable.
6132         (flymake-can-syntax-check-buffer): Remove.
6133         (flymake-proc--process-sentinel): Simplify.  Use
6134         unwind-protect.  Affect flymake-proc--processes here.
6135         Bind flymake-proc--report-fn.
6136         (flymake-proc--process-filter): Bind flymake-proc--report-fn.
6137         (flymake-proc--post-syntax-check): Delete
6138         (flymake-proc-start-syntax-check): Take mandatory
6139         report-fn.  Rewrite.  Bind flymake-proc--report-fn.
6140         (flymake-proc--process-sentinel): Rewrite and simplify.
6141         (flymake-proc--panic): New helper.
6142         (flymake-proc--start-syntax-check-process): Record report-fn
6143         in process.  Use flymake-proc--panic.
6144         (flymake-proc-stop-all-syntax-checks): Use mapc.  Don't affect
6145         flymake-proc--processes here.  Record interruption reason.
6146         (flymake-proc--init-find-buildfile-dir)
6147         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
6148         Use flymake-proc--panic.
6149         (flymake-diagnostic-functions): Add
6150         flymake-proc-start-syntax-check.
6151         (flymake-proc-compile): Call
6152         flymake-proc-stop-all-syntax-checks with a reason.
6154         * lisp/progmodes/flymake.el (flymake-backends): Delete.
6155         (flymake-check-was-interrupted): Delete.
6156         (flymake--diag): Add backend slot.
6157         (flymake-delete-own-overlays): Take optional filter arg.
6158         (flymake-diagnostic-functions): New user-visible variable.
6159         (flymake--running-backends, flymake--disabled-backends): New
6160         buffer-local variables.
6161         (flymake-is-running): Now a function, not a variable.
6162         (flymake-mode-line, flymake-mode-line-e-w)
6163         (flymake-mode-line-status): Delete.
6164         (flymake-lighter):  flymake's minor-mode "lighter".
6165         (flymake-report): Delete.
6166         (flymake--backend): Delete.
6167         (flymake--can-syntax-check-buffer): Delete.
6168         (flymake--handle-report, flymake--disable-backend)
6169         (flymake--run-backend, flymake--run-backend):  New helpers.
6170         (flymake-make-report-fn): Make a lambda.
6171         (flymake--start-syntax-check): Iterate
6172         flymake-diagnostic-functions.
6173         (flymake-mode): Use flymake-lighter.  Simplify.  Initialize
6174         flymake--running-backends and flymake--disabled-backends.
6175         (flymake-find-file-hook): Simplify.
6177         * test/lisp/progmodes/flymake-tests.el
6178         (flymake-tests--call-with-fixture): Use flymake-is-running the
6179         function.  Check if flymake-mode already active before activating it.
6180         Add a thorough test for flymake multiple backends
6182         * lisp/progmodes/flymake.el (flymake--start-syntax-check):
6183         Don't use condition-case-unless-debug, use condition-case
6185         * test/lisp/progmodes/flymake-tests.el
6186         (flymake-tests--assert-set): New helper macro.
6187         (dummy-backends): New test.
6189 2017-10-03  João Távora  <joaotavora@gmail.com>
6191         More Flymake cleanup before advancing to backend redesign
6193         Diagnostics are reported for buffers, not necessarily files.  It’s the
6194         backend’s responsibility to compute the buffer where the diagnostic is
6195         applicable.  For now, this has to match the buffer where flymake-mode
6196         is active and which is at the origin of the backend call.
6198         flymake.el knows nothing about line/column diagnostics (except for
6199         backward-compatible flymake-ler-make-ler, which must yet be tested).
6200         It’s also the backend’s reponsibility to compute a BEG and END
6201         positions for the diagnostic in the relevant buffer.
6203         * lisp/progmodes/flymake-proc.el
6204         (flymake-proc--diagnostics-for-pattern): Convert LINE/COL to
6205         region here.  Check file buffer here.
6206         (flymake-proc--process-sentinel): Don’t kill output buffer if
6207         high enough log level.
6209         * lisp/progmodes/flymake.el (flymake-diag-region): Make this a utility
6210         function.  (flymake--highlight-line): Diagnostic has region now.
6211         (flymake-popup-current-error-menu): Don’t add file and line numbers to
6212         already this silly menu.  (flymake--fix-line-numbers): Remove.
6213         (flymake-report): No need to fix diagnostics here.
6215 2017-10-03  João Távora  <joaotavora@gmail.com>
6217         Protect Flymake's eager checks against commands like fill-paragraph
6219         If flymake-start-syntax-check-on-newline is t, check should start as
6220         soon as a newline is seen by after-change-functions.  But don't rush
6221         it: since the buffer state might not be final, we might end up with
6222         invalid diagnostic regions after some commands silently insert and
6223         delete newlines (looking at you, fill-paragraph).
6225         * lisp/progmodes/flymake.el (flymake-after-change-function): Pass
6226         `deferred' to flymake--start-syntax-check.
6227         (flymake--start-syntax-check): Take optional `deferred' arg.
6229 2017-10-03  João Távora  <joaotavora@gmail.com>
6231         Flymake highlights GCC info/notes as detected by flymake-proc.el
6233         * lisp/progmodes/flymake-proc.el
6234         (flymake-proc--diagnostics-for-pattern): Rewrite (using cl-loop) to
6235         honour more sophisticated flymake-proc-diagnostic-type-pred.
6236         (flymake-warning-re): Is now an obsolete alias for
6237         flymake-proc-diagnostic-type-pred.
6238         (flymake-proc-diagnostic-type-pred): Rename and augment from
6239         flymake-proc-warning-predicate.  (flymake-proc-warning-predicate):
6240         Delete.
6242         * lisp/progmodes/flymake.el (flymake-note): New face.
6243         (flymake-diagnostic-types-alist): Simplify.
6244         (flymake-note): New overlay category.
6245         (flymake--lookup-type-property): Only lookup single keys, not lists.
6246         (flymake--diag-errorp): Rewrite.
6247         (flymake--highlight-line): Use flymake--lookup-type-property.
6249         * test/lisp/progmodes/flymake-tests.el
6250         (different-diagnostic-types): Rename from errors-and-warnings.
6251         Check notes.
6252         (flymake-tests--call-with-fixture): Use
6253         flymake-proc-diagnostic-type-pred.
6255 2017-10-03  João Távora  <joaotavora@gmail.com>
6257         Flymake checks file names before considering diagnostics
6259         The error patterns for gcc picked up errors for the Makefile itself,
6260         for example.  These shouldn't count as actual errors.
6262         * lisp/progmodes/flymake.el (flymake-report): Check
6263         matching file names.
6265 2017-10-03  João Távora  <joaotavora@gmail.com>
6267         Echo Flymake error messages when navigating errors interactively
6269         Perhaps binding M-n and M-p to flymake-goto-next-error and
6270         flymake-goto-prev-error also wouldn't be a bad idea.
6272         * lisp/progmodes/flymake.el (flymake-goto-next-error): Use
6273         target overlay's help-echo.
6275 2017-10-03  João Távora  <joaotavora@gmail.com>
6277         Add a new Flymake test for multiple errors and warnings
6279         * test/lisp/progmodes/flymake-tests.el
6280         (flymake-tests--call-with-fixture): Save excursion.
6281         (errors-and-warnings): New test.
6283         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
6284         New test fixture.
6286 2017-10-03  João Távora  <joaotavora@gmail.com>
6288         Flymake warning face easier to distinguish
6290         A orange wavy underline is very hard to tell from a red wavy
6291         underline.
6293         * lisp/progmodes/flymake.el (flymake-warning): Change color to
6294         "deep sky blue"
6296 2017-10-03  João Távora  <joaotavora@gmail.com>
6298         Flymake's flymake-proc.el parses column numbers from gcc/javac errors
6300         Column numbers are not a great way of marking diagnostic regions, but
6301         that's probably all that can be expected from the flymake-proc.el
6302         backend.  For now, try (end-of-thing 'sexp) to discover the
6303         diagnostic's end position.
6305         * lisp/progmodes/flymake-proc.el ()
6306         (flymake-proc-err-line-patterns): Also parse column numbers,
6307         if available, for gcc/javac warnings.
6309 2017-10-03  João Távora  <joaotavora@gmail.com>
6311         New Flymake variable flymake-diagnostic-types-alist and much cleanup
6313         A new user-visible variable is introduced where different diagnostic
6314         types can be categorized.  Flymake backends can also contribute to
6315         this variable.  Anything that doesn’t match an existing error type
6316         is considered.
6318         The variable’s alists are used to propertize the overlays pertaining
6319         to each error type.  The user can override the built-in properties by
6320         either by modifying the alist, or by modifying the properties of a
6321         special "category" symbol, named by the `flymake-category' entry in
6322         the alist.
6324         The `flymake-category' entry is especially useful for, say, the author
6325         of foo-flymake-backend, who issues diagnostics of type :foo-note, that
6326         should behave like notes, except with no fringe bitmap:
6328            (add-to-list 'flymake-diagnostic-types-alist
6329                         '(:foo-note
6330                           . ((flymake-category . flymake-note)
6331                              (bitmap . nil))))
6333         For essential properties like `severity', `priority', etc, a default
6334         value is produced.  Some properties like `evaporate' cannot be
6335         overriden.
6337         * lisp/progmodes/flymake.el (flymake--diag): Rename from
6338         flymake-ler.
6339         (flymake-ler-make): Obsolete alias for flymake-diagnostic-make
6340         (flymake-ler-errorp): Rewrite using flymake--severity.
6341         (flymake--place-overlay): Delete.
6342         (flymake--overlays): Now a cl-defun with &key args.  Document.
6343         Use `overlays-at' if BEG is non-nil and END is nil.
6344         (flymake--lookup-type-property): New helper.
6345         (flymake--highlight-line): Rewrite.
6346         (flymake-diagnostic-types-alist): New API variable.
6347         (flymake--diag-region)
6348         (flymake--severity, flymake--face)
6349         (flymake--fringe-overlay-spec): New helper.
6350         (flymake-popup-current-error-menu): Use new flymake-overlays.
6351         (flymake-popup-current-error-menu, flymake-report): Use
6352         flymake--diag-errorp.
6353         (flymake--fix-line-numbers): Use flymake--diag-line.
6354         (flymake-goto-next-error): Pass :key to flymake-overlays
6356         * lisp/progmodes/flymake-proc.el
6357         (flymake-proc--diagnostics-for-pattern): Use flymake-diagnostic-make.
6359 2017-10-03  João Távora  <joaotavora@gmail.com>
6361         Refactor Flymake tests in preparation for more tests
6363         Introduce a slightly more generic fixture macro.
6365         Also make flymake-tests.el friendlier to interactive runs, by not
6366         killing buffers visited by the user.
6368         * test/lisp/progmodes/flymake-tests.el
6369         (flymake-tests--call-with-fixture): New helper from
6370         flymake-tests--current-face.  Don't kill file buffers already
6371         being visited before the test starts.
6372         (flymake-tests--with-flymake): New macro.
6373         (flymake-tests--current-face): Delete.
6374         (warning-predicate-rx-gcc, warning-predicate-function-gcc)
6375         (warning-predicate-rx-perl, warning-predicate-function-perl):
6376         Use flymake-test--with-flymake.
6378 2017-10-03  João Távora  <joaotavora@gmail.com>
6380         Allow running Flymake tests from interactive sessions
6382         * test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory):
6383         Expand to reasonable value if no
6384         EMACS_TEST_DIRECTORY. (flymake-tests--current-face): Work around
6385         "weirdness" of bug 17647 with read-event.
6387 2017-10-03  João Távora  <joaotavora@gmail.com>
6389         Flymake diagnostics now apply to arbitrary buffer regions
6391         Make Flymake UI some 150 lines lighter
6393         Strip away much of the original implementation's complexity in
6394         manipulating objects representing diagnostics as well as creating and
6395         navigating overlays.
6397         Lay some groundwork for a more flexible approach that allows for
6398         different classes of diagnostics, not necessarily line-based.
6399         Importantly, one overlay per diagnostic is created, whereas the
6400         original implementation had one per line, and on it it concatenated
6401         the results of errors and warnings.
6403         This means that currently, an error and warning on the same line are
6404         problematic and the warning might be overlooked but this will soon be
6405         fixed by setting appropriate priorities.
6407         Since diagnostics can highlight arbitrary regions, not just lines, the
6408         faces were renamed.
6410         Tests pass and backward compatibility with interactive functions is
6411         maintained, but probably any third-party extension or customization
6412         relying on more than a trivial set of flymake.el internals has stopped
6413         working.
6415         * lisp/progmodes/flymake-proc.el
6416         (flymake-proc--diagnostics-for-pattern): Use new flymake-ler-make
6417         constructor syntax.
6419         * lisp/progmodes/flymake.el (flymake-ins-after)
6420         (flymake-set-at, flymake-er-make-er, flymake-er-get-line)
6421         (flymake-er-get-line-err-info-list, flymake-ler-set-file)
6422         (flymake-ler-set-full-file, flymake-ler-set-line)
6423         (flymake-get-line-err-count, flymake-get-err-count)
6424         (flymake-highlight-err-lines, flymake-overlay-p)
6425         (flymake-make-overlay, flymake-region-has-flymake-overlays)
6426         (flymake-find-err-info)
6427         (flymake-line-err-info-is-less-or-equal)
6428         (flymake-add-line-err-info, flymake-add-err-info)
6429         (flymake-get-first-err-line-no)
6430         (flymake-get-last-err-line-no, flymake-get-next-err-line-no)
6431         (flymake-get-prev-err-line-no, flymake-skip-whitespace)
6432         (flymake-goto-line, flymake-goto-next-error)
6433         (flymake-goto-prev-error, flymake-patch-err-text): Delete
6434         functions no longer used.
6435         (flymake-goto-next-error, flymake-goto-prev-error): Rewrite.
6436         (flymake-report): Rewrite.
6437         (flymake-popup-current-error-menu): Rewrite.
6438         (flymake--highlight-line): Rename from
6439         flymake-highlight-line.  Call `flymake--place-overlay.
6440         (flymake--place-overlay): New function.
6441         (flymake-ler-errorp): New predicate.
6442         (flymake-ler): Simplify.
6443         (flymake-error): Rename from
6444         flymake-errline.
6445         (flymake-warning): Rename from flymake-warnline.
6446         (flymake-warnline, flymake-errline): Obsoletion aliases.
6448         * test/lisp/progmodes/flymake-tests.el (warning-predicate-rx-gcc)
6449         (warning-predicate-function-gcc, warning-predicate-rx-perl)
6450         (warning-predicate-function-perl): Use face `flymake-warning'.
6452 2017-10-03  João Távora  <joaotavora@gmail.com>
6454         Move symbols in flymake-proc.el to separate namespace
6456         Every symbol in this flymake now starts with the prefix flymake-proc-.
6458         Make obsolete aliases for (almost?) every symbol.
6460         Furthermore, many flymake-proc.el symbols are prefixed with
6461         "flymake-proc--", that is they were considered internal.
6463         Some customization variables, interactive functions, and other symbols
6464         considered useful to user customizations or third-party libraries are
6465         considered "public" or "external" and so use a "flymake-proc-" prefix.
6467         * lisp/progmodes/flymake-proc.el: Every symbol renamed.
6469         * test/lisp/progmodes/flymake-tests.el
6470         (flymake-tests--current-face): Use
6471         flymake-proc-warning-predicate, not flymake-warning-predicate.
6473         * lisp/progmodes/flymake-proc.el
6474         (flymake-proc--get-project-include-dirs-function)
6475         (flymake-proc--get-project-include-dirs-imp)
6476         (flymake-proc--get-include-dirs-dot) (flymake-proc--get-tex-args)
6477         (flymake-proc--find-make-buildfile)
6478         (flymake-proc--get-syntax-check-program-args)
6479         (flymake-proc--init-create-temp-source-and-master-buffer-copy)
6480         (flymake-proc--init-find-buildfile-dir)
6481         (flymake-proc--get-full-nonpatched-file-name)
6482         (flymake-proc--get-full-patched-file-name) (flymake-proc--base-dir,
6483         flymake-proc--temp-master-file-name) (flymake-proc--master-file-name)
6484         (flymake-proc--temp-source-file-name)
6485         (flymake-proc--delete-temp-directory) (flymake-proc--kill-process)
6486         (flymake-proc--start-syntax-check-process)
6487         (flymake-proc--compilation-is-running)
6488         (flymake-proc--safe-delete-directory) (flymake-proc--safe-delete-file)
6489         (flymake-proc--get-program-dir) (flymake-proc--restore-formatting)
6490         (flymake-proc--clear-project-include-dirs-cache)
6491         (flymake-proc--project-include-dirs-cache)
6492         (flymake-proc--get-system-include-dirs)
6493         (flymake-proc--get-project-include-dirs)
6494         (flymake-proc--add-project-include-dirs-to-cache)
6495         (flymake-proc--get-project-include-dirs-from-cache)
6496         (flymake-proc--post-syntax-check) (flymake-proc--process-sentinel)
6497         (flymake-proc--process-filter) (flymake-proc--create-master-file)
6498         (flymake-proc--find-buffer-for-file)
6499         (flymake-proc--copy-buffer-to-temp-buffer)
6500         (flymake-proc--read-file-to-temp-buffer)
6501         (flymake-proc--save-buffer-in-file) (flymake-proc--replace-region,
6502         flymake-proc--check-include)
6503         (flymake-proc--check-patch-master-file-buffer)
6504         (flymake-proc--master-file-compare)
6505         (flymake-proc--find-possible-master-files)
6506         (flymake-proc--included-file-name, flymake-proc--same-files)
6507         (flymake-proc--fix-file-name, flymake-proc--find-buildfile)
6508         (flymake-proc--clear-buildfile-cache)
6509         (flymake-proc--add-buildfile-to-cache)
6510         (flymake-proc--get-buildfile-from-cache)
6511         (flymake-proc--find-buildfile-cache)
6512         (flymake-proc--get-real-file-name-function)
6513         (flymake-proc--get-cleanup-function) (flymake-proc--get-init-function)
6514         (flymake-proc--get-file-name-mode-and-masks)
6515         (flymake-proc--processes): Rename to internal symbol from
6516         flymake-proc- version.
6518 2017-10-03  João Távora  <joaotavora@gmail.com>
6520         Completely rewrite Flymake's subprocess output processing
6522         Instead of parsing and matching regexps line-by-line, insert
6523         subprocess output in a separate buffer and parse using
6524         `search-forward-regexp'.  This eventually enables multi-line error
6525         patterns and simplifies code all around.  Store per-check information
6526         in the subprocess using `process-get' and `process-put'.  Treat error
6527         messages, warnings, etc. more generically as "diagnostics".  Create
6528         these objects as soon as possible, reusing existing `flymake-ler'
6529         structure.  Fix some whitespace.
6531         * lisp/progmodes/flymake.el (cl-lib): Require also when
6532         loading.
6533         (flymake--fix-line-numbers): Rename from
6534         flymake-fix-line-numbers.  Simplify.
6535         (flymake-report): Call flymake--fix-line-numbers.  Rearrange
6536         plain diagnostics list into alist format expected by
6537         flymake-highlight-err-lines.
6539         * lisp/progmodes/flymake-proc.el (flymake-process-filter): Insert
6540         process output and parse in dedicated output buffer.
6541         (flymake-proc--diagnostics-for-pattern): New helper function.
6542         (flymake-process-sentinel): Call flymake-post-syntax-check with
6543         collected diagnostics.  Kill output buffer.
6544         (flymake-post-syntax-check): Receive diagnostics as third argument.
6545         (flymake-parse-output-and-residual, flymake-new-err-info)
6546         (flymake-parse-residual, flymake-parse-err-lines)
6547         (flymake-split-output, flymake-proc-parse-line)
6548         (flymake-output-residual): Delete.
6549         (flymake-start-syntax-check-process): Use make-process.  Setup
6550         dedicated an output buffer
6552 2017-10-03  João Távora  <joaotavora@gmail.com>
6554         Flymake provides flymake-report re-entry point for backends
6556         * lisp/progmodes/flymake-proc.el (flymake-post-syntax-check):
6557         Simplify.  Call flymake-report.
6559         * lisp/progmodes/flymake.el (flymake-report): New function.
6561 2017-10-03  João Távora  <joaotavora@gmail.com>
6563         Split Flymake into flymake.el into flymake-proc.el (again!)
6565         After deciding that this work would continue on master only, which
6566         caused two commits named
6568            Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
6570         and
6572            Revert "Add flymake-backends defcustom"
6574         to be added to the emacs-26 branch, further discussion reversed that
6575         decision.
6577            See:
6579              https://lists.gnu.org/r/emacs-devel/2017-09/msg01020.html
6580              https://lists.gnu.org/r/emacs-devel/2017-09/msg01030.html
6582         This means that those two commits MUST be merged to master AFTER ALL.
6584         flymke-proc.el contains the main syntax-checking backend, while
6585         flymake.el keeps mostly the UI part.
6587         * lisp/progmodes/flymake-proc.el: New file.  Require flymake.
6589         * lisp/progmodes/flymake.el: Require flymake-proc.el at the end.
6591 2017-10-03  Nicolas Petton  <nicolas@petton.fr>
6593         Update authors.el
6595         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
6596         (authors-renamed-files-alist): Additions.
6598 2017-10-03  Noam Postavsky  <npostavs@gmail.com>
6600         Give more helpful messages for python completion setup failures
6602         * lisp/progmodes/python.el (python-shell-completion-native-setup): In
6603         case the completion setup failed with some exception, print out the
6604         exception type and message.  If libedit is detected, raise an
6605         exception, since this is known to fail.
6607 2017-10-02  Eli Zaretskii  <eliz@gnu.org>
6609         Fix the --without-x build
6611         * src/frame.c (Ficonify_frame) [HAVE_WINDOW_SYSTEM]: Use
6612         frame_parent only in GUI builds to avoid compilation errors in
6613         --without-x builds.  (Bug#28611)
6615 2017-10-02  Paul Eggert  <eggert@day>
6617         Fix customization of zoneinfo-style-world-list
6619         A customizable variable's initial value cannot depend on that of
6620         another customizable variable, since the variables are initialized
6621         in other than textual order.  Problem reported by N. Jackson
6622         (Bug#24291).
6623         * lisp/time.el (display-time-world-list): Default to t,
6624         a special value that expands to zoneinfo-style-word-list
6625         if that works, and to legacy-style-word-list otherwise.
6626         (time--display-world-list): New function.
6627         (display-time-world, display-time-world-timer): Use it.
6629 2017-10-02  Alan Mackenzie  <acm@muc.de>
6631         Fix a CC Mode brace stack cache bug.
6633         * lisp/progmodes/cc-engine.el (c-update-brace-stack): Call
6634         c-beginning-of-current-token after a failing search operation, to ensure we
6635         don't cache a point inside a token.
6637 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
6639         * etc/PROBLEMS: Document Bug#26638.
6641 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
6643         Prefer HTTPS to HTTP for gnu.org
6645         This fixes some URLs I omitted from my previous pass,
6646         notably those in lists.gnu.org.  Although lists.gnu.org
6647         does not yet support TLS 1.1, TLS 1.0 is better than nothing.
6648         * lisp/erc/erc.el (erc-official-location):
6649         * lisp/mail/emacsbug.el (report-emacs-bug):
6650         Use https:, not http:.
6652 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
6654         Merge from Gnulib
6656         This is mostly to change http: to https: in licenses.
6657         * COPYING, build-aux/config.guess, build-aux/config.sub:
6658         * doc/emacs/doclicense.texi, doc/emacs/gpl.texi:
6659         * doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi:
6660         * doc/lispref/gpl.texi, doc/misc/doclicense.texi:
6661         * doc/misc/gpl.texi, etc/COPYING, leim/COPYING:
6662         * lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING:
6663         * msdos/COPYING, nt/COPYING, src/COPYING:
6664         Copy from Gnulib.
6666 2017-10-01  Simen Heggestøyl  <simenheg@gmail.com>
6668         Keep eww buffer current when looking up CSS on MDN
6670         * lisp/textmodes/css-mode.el (css-lookup-symbol): Keep the eww buffer
6671         current when looking up CSS documentation on MDN.  This fixes a bug
6672         where the eww buffer's content sometimes get mangled when switching
6673         buffers mid-render.
6675 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
6677         Workaround for faulty localtime() under macOS 10.6
6679         * lisp/org/org-clock.el (org-clock--oldest-date): Only execute
6680         'decode-time' on times later than year -2**31 under macOS 10.6.
6681         See Bug#27706.
6683 2017-10-01  Alan Mackenzie  <acm@muc.de>
6685         Doc amendment for syntax-ppss.
6687         * doc/lispref/syntax.texi (Position Parse): Note, twice, that syntax-ppss is
6688         equivalent to parse-partial-sexp from the beginning of THE VISIBLE PART OF the
6689         buffer.  Final part of the fix for bug #22983.
6691 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
6693         Remove incorrect NEWS entry about 'find-library'
6695         * etc/NEWS (Changes in Emacs 26.1): Remove an entry about
6696         'find-library' taking a prefix argument to pop to a different
6697         window.  This behavior was added in "Allow a prefix argument to
6698         find-library to pop to a different window" (commit e1f2d14a), and
6699         then removed in "New commands: find-library-other-window,
6700         find-library-other-frame" (commit 021430f4).
6702 2017-10-01  Alan Mackenzie  <acm@muc.de>
6704         Remove inadvertent changes to syntax.texi in last commit.
6706         * doc/lispref/syntax.texi (Position Parse): revert changes.
6708 2017-10-01  Alan Mackenzie  <acm@muc.de>
6710         Amend documentation for text-quoting-style becoming a user option.
6712         * doc/lispref/control.texi (Signaling Errors):
6713         * doc/lispref/display.texi (Displaying Messages):
6714         * doc/lispref/strings.texi (Formatting Strings):
6715         Edit for brevity, farming out the details to the new
6716         Text Quoting Style node.
6717         * doc/lispref/help.texi (Text Quoting Style): New section.
6718         Move detailed discussion of text-quoting-style here.
6719         Add discussion about how to output grave accent and apostrophe in
6720         documentation and messages.  Adjust xrefs to point to this section
6721         when appropriate.
6722         * etc/NEWS: text-quoting-style semantics have not changed.
6724 2017-10-01  Alan Mackenzie  <acm@muc.de>
6726         Make the value nil in text-quoting-style mean what it does in Emacs 25.
6728         This is a partial reversion of yesterday's commit by the same author, which
6729         changed the meaning of nil and introduced the new value t.
6731         * src/doc.c (text_quoting_style, text-quoting-style)
6732         (internal--text-quoting-flag): Revert yesterday's changes.
6734         * lisp/cus-start.el: (top level): Amend the entry for text-quoting-style.
6736         * etc/NEWS: Amend the entry for text-quoting-style.
6738         * doc/lispref/control.texi (Signalling Errors)
6739         * doc/lispref/display.texi (Displaying Messages)
6740         * doc/lispref/strings.texi (Formatting Strings): Bind text-quoting-style to
6741         grave rather than nil to inhibit translation of quotes.
6743         * doc/lispref/help.texi (Keys in Documentation): Revert the description of the
6744         proposed new default, t.
6746 2017-10-01  Alan Mackenzie  <acm@muc.de>
6748         Make text-quoting-style customizable.  Introduce t and new meaning for nil.
6750         A value of nil for text-quoting-style now means "no translation".  t means
6751         "Use curved quotes if displayable".
6753         * src/doc.c (text-quoting-style (function)): modify for new semantics.
6754         (text-quoting-style (variable)): Amend the doc string, set the default value
6755         to t.
6757         * lisp/cus-start.el: (top level): Create a customize entry for
6758         text-quoting-style in group display.
6760         * etc/NEWS: Amend the entry for text-quoting-style.
6762         * doc/emacs/display.texi (Text Display): Describe the translation of ASCII
6763         quotes to curved quotes, and how to influence or inhibit it.
6765         * doc/lispref/control.texi (Signalling Errors)
6766         * doc/lispref/display.texi (Displaying Messages)
6767         * doc/lispref/strings.texi (Formatting Strings): Describe binding
6768         text-quoting-style to nil to inhibit unwanted quote translation.
6770         * doc/lispref/help.texi (Keys in Documentation): Change text-quoting-style
6771         from a variable to a user option.  Describe its changed set of values.  State
6772         that it can be customized freely.
6774 2017-10-01  Michael Albinus  <michael.albinus@gmx.de>
6776         eshell.texi improvements
6778         * doc/misc/eshell.texi (Built-ins): eshell/sudo is a compiled
6779         Lisp function in `em-tramp.el'.  Mention also $*, $1, $2, ...
6780         (Aliases): Add $*, $1, $2, ... to the variable index.
6782 2017-08-15  Alan Third  <alan@breton-build.holly.idiocy.org>
6784         Fix ns-win.el on GNUstep
6786         * lisp/term/ns-win.el: Appkit version check only works on macOS, so
6787         don't try it when not using Cocoa.
6789 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
6791         Fix reference style in org.texi
6793         * doc/misc/org.texi (A Texinfo example): Fix reference style.
6795 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
6797         Improve handling of iconification of child frames (Bug#28611)
6799         * src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option.
6800         (syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible.
6801         (iconify_child_frame): New option.
6802         * lisp/cus-start.el (iconify-child-frame): Add customization
6803         properties.
6804         * doc/lispref/frames.texi (Child Frames): Describe new option
6805         `iconify-child-frame'.  Don't index "top-level frame" twice.
6807 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
6809         Revert "Don't lose arguments to eshell aliases (Bug#27954)"
6811         It broke the established argument handling methods provided by eshell
6812         aliases (Bug#28568).
6813         * doc/misc/eshell.texi (Aliases): Fix example, call out use of
6814         arguments in aliases.
6815         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Ignore
6816         ARGS.
6818 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
6820         Make "unsafe directory" error message more informative (Bug#865)
6822         * lisp/server.el (server-ensure-safe-dir): Produce a description for
6823         each "unsafe" condition.
6825 2017-10-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
6827         Fix slot typecheck in eieio-persistent
6829         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
6830           An `or' form can specify multiple potential classes (or null) as
6831           valid types for a slot, but previously only the final element of the
6832           `or' was actually checked. Now returns all valid classes in the `or'
6833           form.
6834           (eieio-persistent-validate/fix-slot-value): Check if proposed value
6835           matches any of the valid classes.
6836         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
6837           (eieio-test-multiple-class-slot): Test this behavior.
6839 2017-09-30  Dmitry Gutov  <dgutov@yandex.ru>
6841         Fix semantic-ia-fast-jump
6843         * lisp/cedet/semantic/ia.el (semantic-ia--fast-jump-helper):
6844         Use `pop-to-buffer-same-window' (bug#28645).
6846 2017-09-30  Kaushal Modi  <kaushal.modi@gmail.com>
6848         Bind vc-region-history
6850         * lisp/vc/vc-hooks.el (vc-prefix-map):
6851         Bind `vc-region-history' to 'C-x v h', which was earlier bound to
6852         `vc-insert-headers' (Bug#27644).
6853         * doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
6854         * doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
6855         'C-x v h' with `vc-insert-headers'.
6856         (https://lists.gnu.org/r/emacs-devel/2017-09/msg00957.html)
6858 2017-09-30  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
6860         Exit macro definition on undefined keys
6862         * lisp/subr.el (undefined): Error out of kmacro definition, if any.
6863         (Bug#28008)
6865 2017-09-30  Tim Landscheidt  <tim@tim-landscheidt.de>  (tiny change)
6867         Reset bidi-paragraph-direction on article rendering
6869         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Reset
6870         bidi-paragraph-direction on article rendering.  (Bug#28454)
6872 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
6874         Fix url-http use of url-current-object
6876         * lisp/url/url-http.el (url-http): Bind url-current-object before
6877         calling url-http-find-free-connection.  (Bug#28515)
6879 2017-09-30  Andy Moreton  <andrewjmoreton@gmail.com>
6881         Avoid assertions in vc-hg.el on MS-Windows
6883         * lisp/vc/vc-hg.el (vc-hg--pcre-to-elisp-re)
6884         (vc-hg--slurp-hgignore, vc-hg--read-repo-requirements)
6885         (vc-hg-state-fast): Use file-name-absolute-p and directory-name-p
6886         instead of relying on Unix file-name syntax.  This avoids
6887         assertion violations on MS-Windows.
6889 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
6891         Improve documentation of 'copy-sequence'
6893         * src/fns.c (Fcopy_sequence):
6894         * doc/lispref/sequences.texi (Sequence Functions): Mention the
6895         exception when copying an empty sequence.  (Bug#28627)
6897 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
6899         Minor update of ack.texi
6901         * doc/emacs/ack.texi (Acknowledgments): Update Eli Zaretskii's
6902         contributions.
6904 2017-09-30  N. Jackson  <nljlistbox2@gmail.com>  (tiny change)
6906         * doc/emacs/emacs.texi (Acknowledgments): Add more contributors.
6908 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
6910         Improve indexing of multi-file/buffer Isearch commands
6912         * doc/emacs/maintaining.texi (Identifier Search): Change wording
6913         of index entries to make them different from those for multi-file
6914         isearch commands.  (Bug#28584)
6915         * doc/emacs/search.texi (Other Repeating Search): Index the
6916         multi-* commands.  (Bug#28584)  Rearrange the indexing to keep
6917         each index entry close to its subject.
6919 2017-09-30  Mark Oteiza  <mvoteiza@udel.edu>
6921         Add CAM02 JCh and CAM02-UCS J'a'b' conversions
6923         * src/lcms.c (rad2deg, parse_jch_list, parse_jab_list, xyz_to_jch):
6924         (jch_to_xyz, jch_to_jab, jab_to_jch): New functions.
6925         (lcms-jch->xyz, lcms-jch->xyz, lcms-jch->jab, lcms-jab->jch): New Lisp
6926         functions.
6927         (lcms-cam02-ucs): Refactor.
6928         (syms_of_lcms2): Declare new functions.
6929         * test/src/lcms-tests.el (lcms-roundtrip, lcms-ciecam02-gold):
6930         (lcms-jmh->cam02-ucs-silver): New tests.
6931         * etc/NEWS: Mention new functions.
6933 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
6935         Fix uses of @kindex in the Emacs manual
6937         * doc/emacs/programs.texi (Expressions, Semantic, Hungry Delete):
6938         * doc/emacs/mark.texi (Global Mark Ring)
6939         (Disabled Transient Mark):
6940         * doc/emacs/buffers.texi (Select Buffer):
6941         * doc/emacs/mule.texi (File Name Coding): Fix @kindex entries
6942         which used @key.  Reported by Marcin Borkowski <mbork@mbork.pl>.
6944 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
6946         Merge from gnulib
6948         This incorporates:
6949         2017-09-28 string: code style
6950         2017-09-25 sys_types: update URL
6951         2017-09-23 install-sh: do not assume / = //
6952         2017-09-21 mktime: port to OpenVMS
6953         * build-aux/install-sh, m4/mktime.m4, m4/string_h.m4:
6954         * m4/sys_types_h.m4: Copy from Gnulib.
6955         * lib/gnulib.mk.in: Regenerate.
6957 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
6959         Prefer HTTPS to HTTP for gnu.org
6961         This catches some URLs I missed in my previous scan,
6962         or perhaps were added after the scan.
6964 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
6966         Wait for frame visibility with timeout in w32term too
6968         * src/w32term.c (syms_of_w32term) [x-wait-for-event-timeout]: New
6969         variable.
6970         (x_make_frame_visible): Wait for frame to become visible according to
6971         its value.
6972         (input_signal_count): Remove.
6974 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
6976         Bring back the busy wait after x_make_frame_visible (Bug#25521)
6978         But wait specfically for a MapNotify event, and only for a
6979         configurable amount of time.
6980         * src/xterm.c (syms_of_xterm) [x-wait-for-event-timeout]: New
6981         variable.
6982         (x_wait_for_event): Use it instead of hardcoding the wait to 0.1s.
6983         (x_make_frame_visible): Call x_wait_for_event at the end.
6984         * etc/NEWS: Announce x_wait_for_event.
6986 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
6988         Fix last doc string change in simple.el
6990         * lisp/simple.el (shell-command-saved-pos)
6991         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
6993 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
6995         Revert "bug#28609: simple.el"
6997         This reverts commit a75ab3b3fb8ab69ef38a94403d061f88f3b5b63e.
6999 2017-09-29  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
7001         bug#28609: simple.el
7003         Correct grammar; also, call a pair a pair.
7005         (cherry picked from commit 25ef543a97a80718cc4eb33734d393420a43f41e)
7007 2017-09-29  Rasmus  <rasmus@gmx.us>
7009         Merge branch 'emacs-26' into scratch/org-mode-merge
7011 2017-09-29  Noam Postavsky  <npostavs@gmail.com>
7013         Fix ert backtrace saving for non-`signal'ed errors (Bug#28333)
7015         * lisp/emacs-lisp/ert.el (ert--run-test-debugger): Take the frames
7016         above the `debugger' frame, rather than assuming there will be a
7017         `signal' frame.
7019 2017-09-28  Alan Third  <alan@idiocy.org>
7021         Revert "Fix build on macOS (bug#28571)"
7023         This reverts commit fec63089d53d2196b0348086aeed70277fbc02c0.
7025         Prematurely pushed.
7027 2017-09-28  Alan Third  <alan@idiocy.org>
7029         Fix build on macOS (bug#28571)
7031         * src/conf_post.h (HAVE_FUTIMENS, HAVE_FUTIMESAT, HAVE_UTIMENSAT)
7032         [DARWIN_OS]: Undefine.
7034 2017-09-28  Simen Heggestøyl  <simenheg@gmail.com>
7036         Add tests for `css-current-defun-name'
7038         * test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name)
7039         (css-test-current-defun-name-nested)
7040         (css-test-current-defun-name-complex): New tests for
7041         `css-current-defun-name'.
7043 2017-09-28  Martin Rudalics  <rudalics@gmx.at>
7045         In w32fullscreen_hook don't add decorations to undecorated frames
7047         * src/w32term.c (w32fullscreen_hook): Do not add (or try to
7048         remove) decorations for undecorated frames.
7050 2017-09-28  João Távora  <joaotavora@gmail.com>
7052         Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
7054         In other words, re-coalesce the two files,
7055         lisp/progmodes/flymake-proc.el and lisp/progmodes/flymake-ui.el, back
7056         into a single one, lisp/progmodes/flymake.el.
7058         The changesets "Prefer HTTPS to FTP and HTTP in documentation" and
7059         "allow nil init in flymake-allowed-file-name-masks to disable flymake"
7060         are kept in place in the new lisp/progmodes/flymake.el.
7062         This reverts Git commit eb34f7f5a29e7bf62326ecb6e693f28878be28cd.
7064         Don't merge this back to master as development happening there builds
7065         upon this work. See also
7066         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html.
7068 2017-09-28  João Távora  <joaotavora@gmail.com>
7070         Revert "Add flymake-backends defcustom"
7072         This reverts Git commit 13993c46a21495167517f76d2e36b6c09ac5e89e.
7074         Don't merge this back to master as development happening there builds
7075         upon this work. See also
7076         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html
7078 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
7080         * src/editfns.c (styled_format): Fix typo in previous change.
7082 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
7084         Avoid some unnecessary copying in Fformat etc.
7086         This patch is just for performance; it should not affect behavior.
7087         On my platform, it made the microbenchmark (format "%S" load-path)
7088         run about 45% faster.  It should also speed up calls like (message
7089         "%s" STRING).
7090         * src/callint.c (Fcall_interactively):
7091         * src/dbusbind.c (XD_OBJECT_TO_STRING):
7092         * src/editfns.c (Fmessage, Fmessage_box):
7093         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
7094         Use styled_format instead of Fformat or Fformat_message,
7095         to avoid unnecessary copying.
7096         * src/editfns.c (styled_format): New arg NEW_RESULT.
7097         All uses changed.  Reuse an input string if it has the
7098         right value and if !NEW_RESULT.
7099         * src/lisp.h (style_format): New decl.
7101 2017-09-26  John Wiegley  <johnw@newartisans.com>
7103         lisp/simple.el: Indicate when a list of pairs is meant in a docstring
7105 2017-09-26  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
7107         bug#28609: simple.el
7109         Correct grammar; also, call a pair a pair.
7111 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
7113         Use a separate syntax-ppss cache for narrowed buffers
7115         * lisp/emacs-lisp/syntax.el (syntax-ppss-wide):
7116         New variable, to contain the data from `syntax-ppss-last' and
7117         `syntax-ppss-cache'.
7118         (syntax-ppss-cache, syntax-ppss-last): Remove.
7119         (syntax-ppss-narrow, syntax-ppss-narrow-start): New variables.
7120         (syntax-ppss-flush-cache): Flush both caches.
7121         (syntax-ppss--data): Return the appropriate last result and
7122         buffer cache for the current restriction.
7123         (syntax-ppss, syntax-ppss-debug): Use it (bug#22983).
7125 2017-09-26  Joerg Behrmann  <behrmann@physik.fu-berlin.de>  (tiny change)
7127         Improve python3-compatibility of fallback completion (Bug#28499)
7129         * lisp/progmodes/python.el (python-eldoc-setup-code): Use
7130         inspect.getfullargspec instead of inspect.getargspec to avoid a
7131         deprecation warning on every usage of eldoc in python-mode.
7133 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
7135         Fix subr-x-tests when running from elc
7137         * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-and-let*-test-group-1):
7138         Use `eval' around the `should-error' cases.
7140 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
7142         * lisp/eshell/esh-util.el (eshell-condition-case): Add debug declaration.
7144 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
7146         Make sh-indentation into an alias for sh-basic-offset (Bug#21751)
7148         * lisp/progmodes/sh-script.el (sh-indentation): Redefine as obsolete
7149         variable alias for `sh-basic-offset'.
7150         (sh-mode, sh-smie--indent-continuation)
7151         (sh-smie-rc-rules, sh-basic-indent-line): Replace `sh-indentation'
7152         with `sh-basic-offset'.
7154 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
7156         Fix loading of smie-config rules (Bug#24848)
7158         * lisp/emacs-lisp/smie.el (smie-config--setter): Use `set-default'
7159         instead of `setq-default'.
7160         (smie-config): Use `custom-initialize-set' instead of
7161         `custom-initialize-default' as the :initialize argument.
7163         * lisp/progmodes/sh-script.el (sh-learn-buffer-indent): Mention that
7164         we call `smie-config-guess' so that the user will have a chance to
7165         find the correct docstring to consult.  Remove hedging comments
7166         regarding use of abnormal hooks.
7168 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
7170         Reset default-directory inside *xref-grep* buffer
7172         * lisp/progmodes/xref.el (xref-collect-matches):
7173         Reset default-directory, too. (Bug#28575)
7175 2017-09-25  Michael Albinus  <michael.albinus@gmx.de>
7177         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Special
7178         code for smb.
7180 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
7182         Loosen strict parsing requirement for desktop files
7184         There are other desktop-looking files, for instance those having to do
7185         with MIME typess, that would benefit from being able to be read by this
7186         function.  It helps to have some flexibility.
7187         * lisp/xdg.el (xdg-desktop-read-file): Remove an error condition.
7188         * test/lisp/xdg-tests.el: Remove a test.
7190 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
7192         * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
7194 2017-09-25  Martin Rudalics  <rudalics@gmx.at>
7196         Fix documentation of `make-frame' and related variables and hooks
7198         * lisp/frame.el (before-make-frame-hook)
7199         (after-make-frame-functions, frame-inherited-parameters)
7200         (make-frame): Fix doc-strings.
7201         * doc/lispref/frames.texi (Creating Frames): Fix description
7202         of `make-frame' and related variables and hooks.
7204 2017-09-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
7206         Accept new `always' value for option `buffer-offer-save'
7208         Also revert ee512e9a82
7210         * lisp/files.el (buffer-offer-save): In addition to nil and t, now
7211           allows a third symbol value, `always'. A buffer where this option is
7212           set to `always' will always be offered for save by
7213           `save-some-buffers'.
7214           (save-some-buffers): Check the exact value of this buffer-local
7215           variable. No longer check the buffer name, or the value of
7216           `write-contents-functions'.
7217         * doc/lispref/buffers.texi (Killing Buffers): Note change in manual.
7218         * doc/lispref/files.texi (Saving Buffers): Remove note about buffer
7219           names.
7220         * etc/NEWS: Mention in NEWS.
7222 2017-09-24  Alan Third  <alan@idiocy.org>
7224         Improve new NS scrolling variable names
7226         * src/nsterm.m (ns-use-system-mwheel-acceleration): Replace with
7227         'ns-use-mwheel-acceleration'.
7228         (ns-touchpad-scroll-line-height): Replace with
7229         'ns-mwheel-line-height'.
7230         (ns-touchpad-use-momentum): Replace with 'ns-use-mwheel-momentum'.
7231         * etc/NEWS: Change variable names.
7233 2017-09-24  Philipp Stephani  <phst@google.com>
7235         Document 'replace-buffer-contents' in the manual.
7237         * doc/lispref/text.texi (Replacing): New node.
7239 2017-09-23  Alan Third  <alan@idiocy.org>
7241         Fix undecorated frame resizing issues on NS (bug#28512)
7243         * src/nsterm.m (EmacsView::updateFrameSize): Don't wait for the
7244         toolbar on undecorated frames.
7245         (EmacsView::initFrameFromEmacs): Group window flags correctly.
7247 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
7249         Fix doc string of 'dired-listing-switches'
7251         * lisp/dired.el (dired-listing-switches): Fix the quoting
7252         example.  (Bug#28569)
7254 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
7256         Documentation improvements for 'display-line-numbers'
7258         * doc/emacs/display.texi (Display Custom): Document a few more
7259         options for display-line-numbers.  (Bug#28533)  Fix a typo.
7261 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
7263         Fix last change in bat-mode.el
7265         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fix last
7266         change.  (Bug#28311)
7268 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
7270         Fix restoring in GUI sessions desktop saved in TTY sessions
7272         * lisp/frameset.el (frameset-filter-font-param): New function.
7273         (frameset-persistent-filter-alist): Use it for processing the
7274         'font' frame parameter.  (Bug#17352)
7276 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
7278         Improve syntax highlighting in bat-mode
7280         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Improve
7281         font-locking of environment variables.  Suggested by Achim Gratz
7282         <Stromeko@nexgo.de>.  (Bug#28311)  (Bug#18405)
7284 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
7286         Document the 'list-FOO' convention
7288         * doc/lispref/tips.texi (Coding Conventions): Document the
7289         list-FOO convention.
7291 2017-09-22  Mark Oteiza  <mvoteiza@udel.edu>
7293         Expose viewing conditions in CAM02-UCS metric
7295         Also add tests from the colorspacious library.  Finally, catch an
7296         errant calculation, where degrees were not being converted to radians.
7297         * src/lcms.c (deg2rad, default_viewing_conditions):
7298         (parse_viewing_conditions): New functions.
7299         (lcms-cam02-ucs): Add comments pointing to references used.  Expand
7300         the docstring and explain viewing conditions.  JCh hue is given in
7301         degrees and needs to be converted to radians.
7302         (lcms-d65-xyz): Remove.  No need to duplicate this in Lisp or make the
7303         API needlessly impure.
7304         * test/src/lcms-tests.el: Reword commentary.
7305         (lcms-rgb255->xyz): New function.
7306         (lcms-cri-cam02-ucs): Fix let-binding.
7307         (lcms-dE-cam02-ucs-silver): New test, assimilated from colorspacious.
7309 2017-09-21  Alan Third  <alan@idiocy.org>
7311         Revert "Set frame size to actual requested size (bug#18215)"
7313         This reverts commit d31cd79b40dbd5459b16505a4ee4340210499277.
7315         See bug#28536. I misunderstood bug#18215. It wasn't a bug.
7317 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
7319         Add tests for Edebug
7321         * test/lisp/emacs-lisp/edebug-tests.el: New file.
7322         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el: New file.
7324 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
7326         Catch more messages in ert-with-message-capture
7328         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): Capture
7329         messages from prin1, princ and print.
7330         (ert--make-message-advice): New function.
7331         (ert--make-print-advice): New function.
7333 2017-09-21  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
7335         Support setting region from secondary selection and vice versa
7337         * lisp/mouse.el (secondary-selection-exist-p): New function to
7338         allow callers to tell existence of the secondary selection
7339         in current buffer.
7340         (secondary-selection-to-region): New function to set
7341         beginning and end of the region from those of the secondary
7342         selection.
7343         (secondary-selection-from-region): New function to set
7344         beginning and end of the secondary selection from those of
7345         the region.  (Bug#27530)
7347         * etc/NEWS: Mention the new functions.
7349 2017-09-20  Paul Eggert  <eggert@cs.ucla.edu>
7351         Fix new copy-directory bug with empty dirs
7353         Problem reported by Afdam Plaice (Bug#28520) and by Eli Zaretskii
7354         (Bug#28483#34).  This is another bug that I introduced in my
7355         recent copy-directory changes.
7356         * lisp/files.el (copy-directory): Work with empty subdirectories, too.
7357         * test/lisp/files-tests.el (files-tests--copy-directory):
7358         Test for this bug.
7360 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
7362         * doc/lispref/strings.texi (Formatting Strings): Improve indexing.
7364 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
7366         Fix 2 testsuite tests for MS-Windows
7368         * test/lisp/ibuffer-tests.el (test-buffer-list): Don't try to
7369         create files with "*" in their names.
7370         * test/src/editfns-tests.el (format-time-string-with-zone): Adapt
7371         results to MS-Windows build.  Reported by Fabrice Popineau
7372         <fabrice.popineau@gmail.com>.
7374 2017-09-20  Mark Oteiza  <mvoteiza@udel.edu>
7376         Rename timer-list to list-timers
7378         * doc/emacs/anti.texi (Antinews):
7379         * doc/lispref/os.texi (Timers):
7380         * etc/NEWS:
7381         * lisp/emacs-lisp/timer-list.el:
7382         (timer-list-mode): Rename timer-list to list-timers.
7384 2017-09-19  Alan Third  <alan@idiocy.org>
7386         Provide native touchpad scrolling on macOS
7388         * etc/NEWS: Describe changes.
7389         * lisp/term/ns-win.el (mouse-wheel-scroll-amount,
7390         mouse-wheel-progressive-speed): Set to smarter values for macOS
7391         touchpads.
7392         * src/nsterm.m (emacsView::mouseDown): Use precise scrolling deltas to
7393         calculate scrolling for touchpads and mouse wheels.
7394         (syms_of_nsterm): Add variables 'ns-use-system-mwheel-acceleration',
7395         'ns-touchpad-scroll-line-height' and 'ns-touchpad-use-momentum'.
7396         * src/keyboard.c (make_lispy_event): Pass on .arg when relevant.
7397         * src/termhooks.h (event_kind): Update comments re. WHEEL_EVENT.
7398         * lisp/mwheel.el (mwheel-scroll): Use line count.
7399         * lisp/subr.el (event-line-count): New function.
7401 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
7403         Fix MinGW64 build broken by recent MinGW64 import libraries
7405         * configure.ac (W32_LIBS): Put -lusp10 before -lgdi32, as latest
7406         MinGW64 import libraries require that.  (Bug#28493)
7408         * src/Makefile.in: Adjust commentary to the new order of w32
7409         libraries.
7411 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
7413         Fix crashes in 'move-point-visually' in minibuffer windows
7415         * src/xdisp.c (Fmove_point_visually): Fix off-by-one error in
7416         comparing against the last valid glyph_row of a window glyph
7417         matrix.  (Bug#28505)
7419 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
7421         * src/emacs.c (usage_message): Don't mention 'find-file'.
7423 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
7425         Fix a minor inaccuracy in the Emacs manual
7427         * doc/emacs/cmdargs.texi (Action Arguments): Don't mention
7428         'find-file', as the implementation has changed.  Reported by
7429         Everton J. Carpes <everton.carpes@gmail.com> in
7430         https://lists.gnu.org/r/help-gnu-emacs/2017-09/msg00146.html.
7432 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
7434         Fix errors in flyspell-post-command-hook
7436         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Handle the
7437         case of a nil Nth element of the language dictionary slot.  This
7438         avoids errors in 'flyspell-post-command-hook' when switching
7439         dictionaries with some spell-checkers.  (Bug#28501)
7441 2017-09-19  Michael Albinus  <michael.albinus@gmx.de>
7443         Work on Tramp's file-truename
7445         * lisp/net/tramp-sh.el (tramp-perl-file-truename):
7446         Check also for symlinks.
7447         (tramp-sh-handle-file-truename): Move check for a symlink
7448         cycle to the end.  Do not blame symlinks which look like a
7449         remote file name.
7451         * lisp/net/tramp.el (tramp-handle-file-truename): Expand result.
7453 2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>
7455         Fix bug with make-directory on MS-Windows root
7457         * lisp/files.el (files--ensure-directory): Treat any error, not
7458         just file-already-exists, as an opportunity to check whether DIR
7459         is already a directory (Bug#28508).
7461 2017-09-19  Tom Tromey  <tom@tromey.com>
7463         Fix log-view-diff-common when point is after last entry
7465         Bug#28466
7466         * lisp/vc/log-view.el (log-view-diff-common): If point is after last
7467         entry, look at the previous revision.
7469 2017-09-18  Ken Brown  <kbrown@cornell.edu>
7471         Adapt fileio-tests--symlink-failure to Cygwin
7473         * test/src/fileio-tests.el (fileio-tests--symlink-failure)
7474         [CYGWIN]: Skip the case of a symlink target starting with '\';
7475         this is treated specially on Cygwin.
7477 2017-09-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
7479         Ignore buffers whose name begins with a space in save-some-buffers
7481         * lisp/files.el (save-some-buffers): Consider these buffers
7482           "internal", and don't prompt the user to save them.
7483         * doc/lispref/files.texi: Document.
7485 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
7487         Improve tramp-interrupt-process robustness
7489         * lisp/net/tramp.el (tramp-interrupt-process): Wait, until the
7490         process has disappeared.
7492 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
7494         Minor Tramp doc update
7496         * doc/misc/tramp.texi (Frequently Asked Questions):
7497         Mention `vc-handled-backends'.
7499 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
7501         Fix gensym
7503         * lisp/subr.el (gensym): Actually implement the default prefix.
7504         * test/lisp/subr-tests.el (subr-tests--gensym): New test.
7506 2017-09-18  Rasmus  <rasmus@gmx.us>
7508         Update Org to v9.1.1
7510         Please see etc/ORG-NEWS for major changes.
7512 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
7514         Cleanup in files-tests.el
7516         * test/lisp/files-tests.el (files-tests--make-directory)
7517         (files-tests--copy-directory): Cleanup temporary directories.
7519 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7521         Remove old cl-assert calls in 'newline'
7523         * lisp/simple.el (newline): Remove cl-assert calls
7524         that didn't seem to be helping us debug Bug#18913,
7525         and that caused problems as reported in Bug#28280.
7526         Suggested by Glenn Morris (Bug#28280#8).
7528 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7530         Avoid crash with C-g C-g in GC
7532         Problem reported by Richard Stallman (Bug#17406).
7533         Based on fix suggested by Eli Zaretskii (Bug#28279#16).
7534         * src/term.c (tty_send_additional_strings):
7535         Use only safe accessors, to avoid crash when C-g C-g in GC.
7537 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7539         Fix format-time-string %Z bug with negative tz
7541         * src/editfns.c (tzlookup): Fix sign error in %Z when a purely
7542         numeric zone is negative (Bug#28746).
7543         * test/src/editfns-tests.el (format-time-string-with-zone):
7544         Add test for this bug.
7546 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7548         message-citation-line-format %Z is now tz name
7550         * etc/NEWS:
7551         * lisp/gnus/message.el (message-citation-line-format):
7552         Fix doc to match new behavior (Bug#28476).
7554 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
7556         Use doc-view or pdf-tools on any window-system
7558         * lisp/net/mailcap.el (mailcap-mime-data): Simply check for
7559         window-system.
7561 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7563         Fix bug with min and max and NaNs
7565         * src/data.c (minmax_driver): Fix bug with (min 0 NaN), which
7566         mistakenly yielded 0.  Also, pacify GCC in a better way.
7567         * test/src/data-tests.el (data-tests-min): Test for the bug.
7569 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
7571         Fix recently-introduced copy-directory bug
7573         Problem reported by Andrew Christianson (Bug#28451):
7574         * lisp/files.el (copy-directory): If COPY-CONTENTS, make the
7575         destination directory if it does not exist, even if it is a
7576         directory name.  Simplify, and omit unnecessary test for an
7577         already-existing non-directory target, since make-directory
7578         diagnoses that for us now.
7579         * test/lisp/files-tests.el (files-tests--copy-directory):
7580         Test for this bug.
7582 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
7584         Merge from Gnulib
7586         This incorporates:
7587         2017-09-16 manywarnings: port to GCC on 64-bit MS-Windows
7588         2017-09-13 all: Replace many more http URLs by https URLs
7589         * build-aux/config.guess, build-aux/config.sub:
7590         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
7591         * lib/allocator.h, lib/count-leading-zeros.h:
7592         * lib/count-trailing-zeros.h, lib/dup2.c, lib/filevercmp.c:
7593         * lib/fstatat.c, lib/fsync.c, lib/ftoastr.c, lib/ftoastr.h:
7594         * lib/intprops.h, lib/signal.in.h, lib/stdio-impl.h, lib/stdio.in.h:
7595         * lib/unistd.in.h, lib/utimens.c, m4/alloca.m4, m4/extern-inline.m4:
7596         * m4/fstatat.m4, m4/gnulib-common.m4, m4/manywarnings.m4:
7597         * m4/std-gnu11.m4, m4/sys_types_h.m4, m4/vararrays.m4:
7598         Copy from Gnulib.
7599         * lib/gnulib.mk.in: Regenerate.
7601 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
7603         Fix compatibility problem in Tramp
7605         * lisp/net/tramp.el (tramp-interrupt-process): Better error handling.
7607         * lisp/net/tramp-compat.el (default-toplevel-value): Move up.
7608         (top): Do not call `tramp-change-syntax' anymore.
7609         (tramp-compat-directory-name-p): New defalias.
7611         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
7612         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
7613         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
7614         (tramp-smb-handle-copy-file): Use it.
7616         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
7617         Modify test.
7619 2017-09-17  Eli Zaretskii  <eliz@gnu.org>
7621         Avoid GCC 7 compilation warning in eval.c
7623         * src/eval.c (push_handler_nosignal): Use CACHEABLE to work around
7624         GCC compilation warning.  Suggested by Paul Eggert <eggert@cs.ucla.edu>
7625         in https://lists.gnu.org/r/emacs-devel/2017-09/msg00492.html.
7627 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
7629         Adapt Tramp version.  Do not merge
7631         * doc/misc/trampver.texi:
7632         * lisp/net/trampver.el: Change version to "2.3.3.26.1".
7633         (customize-package-emacs-version-alist): Add Tramp version
7634         integrated in Emacs 26.1.
7636 2017-09-17  Tom Tromey  <tom@tromey.com>
7638         Search for Syntax section when viewing MDN
7640         * lisp/textmodes/css-mode.el (css--mdn-after-render): Also search for
7641         "Syntax" section.
7643 2017-09-17  Tom Tromey  <tom@tromey.com>
7645         Allow smerge-keep-current to work for empty hunks
7647         Bug#25555
7648         * lisp/vc/smerge-mode.el (smerge-get-current): Allow point to be at
7649         match-end.
7650         * test/lisp/vc/smerge-mode-tests.el: New file.
7652 2017-09-17  Tom Tromey  <tom@tromey.com>
7654         Call vc-setup-buffer in vc-git-log-{in,out}going
7656         Bug#28427:
7657         * lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing): Call
7658         vc-setup-buffer.
7660 2017-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
7662         Fix last change to textmodes/page-ext.el
7664         * lisp/textmodes/page-ext.el (pages-directory): Make buffer writable
7665         while we build it (bug#28431).
7667 2017-09-16  Glenn Morris  <rgm@gnu.org>
7669         * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcms2 not present.
7671 2017-09-16  Glenn Morris  <rgm@gnu.org>
7673         * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.
7675         (cherry picked from commit 8081df26911c63aadfce4ee8f6a7223d814baeaf)
7677 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
7679         Fix compilation warning in etags.c
7681         * lib-src/etags.c (etags_mktmp) [DOS_NT]: Don't dereference a NULL
7682         pointer.  Reported by Richard Copley <rcopley@gmail.com>.
7684 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
7686         Add lisp variable lcms-d65-xyz
7688         This serves as the default optional argument for functions in this
7689         library.
7690         * src/lcms.c (lcms-d65-xyz): New variable.
7691         (lcms-cam02-ucs): Use it.  Use better word in docstring.  Fix bug
7692         color1 -> color2.
7693         * test/src/lcms-tests.el: Add some tests for lcms-cri-cam02-ucs.
7694         (lcms-colorspacious-d65): New variable.
7696 2017-09-16  Gemini Lasswell  <gazally@runbox.com>
7698         * lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (bug#24765)
7700 2017-09-16  Andy Moreton  <andrewjmoreton@gmail.com>
7702         Avoid MinGW64 compiler warnings in unexw32.c
7704         * src/unexw32.c (pDWP) [MINGW_W64]: Define to "16llx" only for the
7705         64-bit build.
7707 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
7709         Start emacs-26 release branch
7711         * configure.ac:
7712         * nt/README.W32:
7713         * README:
7714         * msdos/sed2v2.inp: Increment Emacs version to 26.0.60.
7716         * lisp/cus-edit.el (customize-changed-options-previous-release):
7717         Update value to "25.3".
7719 2017-09-16  Alan Mackenzie  <acm@muc.de>
7721         Cope better with C++ and Objective-C protection keywords in class declarations
7723         This fix fixes the fontification of a method inside a class at the time it is
7724         typed, when there is a protection keyword clause preceding it.
7726         * lisp/progmodes/cc-engine.el (c-forward-keyword-clause): Handle protection
7727         keywords.
7728         (c-looking-at-decl-block): Avoid scanning forward over protection keyword
7729         clauses too eagerly.
7731         * lisp/progmodes/cc-langs.el (c-protection-key c-post-protection-token): New
7732         lang defconsts and defvars.
7734         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When we encounter a protection
7735         keyword following a semicolon or brace, move forward over it before attempting
7736         to parse a type.
7738 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
7740         Fix order of sorted overlays returned by 'overlays-at'
7742         * src/buffer.c (Foverlays_at): If SORTED is non-nil, reverse the
7743         list of results, to have their order as per the documentation.
7744         (Bug#28390)
7746         * etc/NEWS: Mention the change in the behavior of overlays-at.
7748 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
7750         Disable execution of unsafe Lisp by Enriched Text mode
7752         * src/xdisp.c (handle_display_spec): If the display property is
7753         wrapped in 'disable-eval' form, disable Lisp evaluation while
7754         processing this property.
7755         (handle_single_display_spec): Accept new argument ENABLE_EVAL_P.
7756         If that argument is false, don't evaluate Lisp while processing
7757         display properties.
7759         * lisp/textmodes/enriched.el
7760         (enriched-allow-eval-in-display-props): New defcustom.
7761         (enriched-decode-display-prop): If
7762         enriched-allow-eval-in-display-props is nil, wrap the display
7763         property with 'disable-eval' to disable Lisp evaluation when the
7764         display property is processed for display.  (Bug#28350)
7765         * lisp/gnus/mm-view.el (mm-inline-text): Re-enable processing of
7766         enriched text.
7768         * doc/lispref/display.texi (Display Property): Document the
7769         'disable-eval' wrapping of 'display' properties.
7770         * doc/emacs/text.texi (Enriched Properties): Document
7771         'enriched-allow-eval-in-display-props'.
7773         * etc/NEWS: Describe the security issues with Enriched Text mode
7774         and their solution.
7776 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
7778         Avoid MinGW64 compilation warning in w32.c
7780         * src/w32.c (sys_strerror): Provide a prototype for MinGW64.
7782 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
7784         Fix MS-Windows build broken by recent changes in lcms.c
7786         * src/lcms.c [WINDOWSNT]: Define types for cmsWhitePointFromTemp
7787         and cmsxyY2XYZ function pointers.
7788         (init_lcms_functions) [WINDOWSNT]: Load cmsWhitePointFromTemp and
7789         cmsxyY2XYZ from liblcms2.
7790         (cmsWhitePointFromTemp, cmsxyY2XYZ) [WINDOWSNT]: Redirect to the
7791         corresponding function pointers.
7792         (Flcms_temp_to_white_point): Minor stylistic changes.  Doc fix.
7793         (syms_of_lcms2): Defsubr Slcms_temp_to_white_point.
7795 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
7797         Avoid GCC 7 compilation warning in data.c
7799         * src/data.c (minmax_driver): Use UNINIT to avoid compilation
7800         warnings.  Reported by Fabrice Popineau
7801         <fabrice.popineau@centralesupelec.fr>.
7803 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
7805         Add lcms-temp->white-point and initial tests
7807         * src/lcms.c (lcms-temp->white-point): New function.
7808         * test/src/lcms-tests.el: New file.
7810 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
7812         Use cl-print in timer list
7814         * lisp/emacs-lisp/timer-list.el (timer-list): Use cl-print
7815         for handling functions.
7816         (timer-list-mode): Capitalize major mode name.  Set bidi direction
7817         as in tabulated-list-mode.
7819 2017-09-15  Vincent Belaïche  <vincentb1@users.sourceforge.net>
7821         Make landscape layout with geometry package rather than a PostScript special.
7823         * lisp/calendar/cal-tex.el (cal-tex-preamble): Make 12pt the
7824         default class option.
7825         (cal-tex-year, cal-tex-cursor-month-landscape): Pass landscape
7826         request to `cal-tex-insert-preamble' function call within the
7827         class option string.
7828         (cal-tex-cursor-month): Don't pass any longer "12pt" argument
7829         to `cal-tex-insert-preamble' function, as it is default.
7830         (cal-tex-insert-preamble): Suppress landscape and size
7831         argument, and replace them by a class-options string
7832         argument. Do not insert any longer "\special{landscape}" in
7833         case of landscape layout, as the job is made by the geometry
7834         package.
7836 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
7838         * lisp/json.el (json-read-keyword): Revert previous change to catch EOL.
7840 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
7842         One more attempt to avoid GCC 7 warnings in dispnew.c
7844         * src/dispnew.c (adjust_glyph_matrix): Use eassume instead of
7845         eassert, to avoid compilation warnings about NULL pointer
7846         dereferences.
7848 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
7850         Fix color-distance docstring
7852         Also feed the translated color to the metric argument.
7853         * src/xfaces.c (color-distance): Reword docstring to be more helpful.
7854         Avoid duplicating effort in lcms2 by passing the translated 16 bit RGB
7855         instead of the function's color arguments.
7857 2017-09-15  Michael Albinus  <michael.albinus@gmx.de>
7859         Improve Tramp behaviour according to bug#27986
7861         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
7862         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
7863         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
7864         (tramp-smb-handle-copy-file): Check, that NEWNAME is a
7865         directory name when existing.  Use `file-name-as-directory'
7866         where appropriate.
7868 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
7870         More JSON optimization
7872         Last I checked, inlining json-skip-whitespace didn't make much
7873         difference.  However, changing defsubsts to define-inline results
7874         in roughly 15% reduction in read time on a 200K file.
7875         * lisp/json.el (json-advance, json-peek, json-pop):
7876         (json-skip-whitespace): Inline with define-inline.
7877         (json-read-keyword): Don't use whitespace syntax.
7878         (json-add-to-object): Simpler condition.
7880 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
7882         Avoid crashes due to invalid error forms from sentinels/filters
7884         * src/process.c (exec_sentinel_error_handler): Make sure the error
7885         form passed to cmd_error_internal is a cons cell.  (Bug#28430)
7887 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
7889         Avoid compilation warnings with GCC 7 on MS-Windows
7891         * src/w32term.c (w32_setup_relief_color, construct_mouse_click)
7892         (w32_read_socket): Initialize variables to shut up bogus
7893         compilation warnings from GCC 7.
7894         * src/unexw32.c (COPY_CHUNK, COPY_PROC_CHUNK): Cast to DWORD_PTR
7895         to avoid compiler warnings about printing signed values using %x
7896         format spec.
7897         * src/dispnew.c (adjust_glyph_matrix): Add eassert to avoid
7898         compiler warning about possible NULL pointer dereference.
7899         * src/lisp.h (pI): Tweak the definition some more for MinGW64.
7901 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
7903         Define gnutls_rnd for WINDOWSNT and HAVE_GNUTLS3 case only
7905         * src/fns.c (gnutls_rnd): Define for WINDOWSNT and HAVE_GNUTLS3
7906         case only to avoid unused macros warning otherwise.
7908 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
7910         In w32heap.c bump up DUMPED_HEAP_SIZE
7912         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump up DUMPED_HEAP_SIZE
7913         to 13*1024*1024 for 32-bit non-wide-integer builds.
7915 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
7917         Bind n,p in timer-list
7919         * lisp/emacs-lisp/timer-list.el (timer-list-mode-map): Bind n and p
7920         to next- and previous-line, respectively.
7922 2017-09-14  Glenn Morris  <rgm@gnu.org>
7924         * lisp/net/tls.el (tls-program): Fix :version.
7926 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
7928         * configure.ac (--with-lcms2, --without-lcms2): New options.
7930 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
7932         Avoid 64-bit compilation warnings in unexw32.c
7934         * src/unexw32.c (pDWP): New macro.
7935         (COPY_CHUNK, COPY_PROC_CHUNK): Declare 'count' as DWORD_PTR.  Use
7936         pDWP for printing values that can be either 32-bit or 64-bit wide.
7938 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
7940         Fix warnings about formats in printf-like functions on MS-Windows
7942         * src/lisp.h (pI) [__MINGW32__]: Provide definition that will
7943         hopefully DTRT with both MinGW64 and mingw.org's MinGW.  See
7944         https://lists.gnu.org/r/emacs-devel/2017-09/msg00171.html
7945         for the details.
7946         * src/conf_post.h (PRINTF_ARCHETYPE) [MINGW_W64]: Separate
7947         definition specific to MinGW64.
7948         (PRINTF_ARCHETYPE) [__MINGW32__]: For mingw.org's MinGW, use
7949         __mingw_printf__ in ANSI-compatible mode.
7951 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
7953         Support lcms2 in MS-Windows builds
7955         * lisp/term/w32-win.el (dynamic-library-alist): Include
7956         association for the lcms2 library.
7958         * src/lcms.c [WINDOWSNT]: Include windows.h and w32.h.  Use
7959         DEF_DLL_FN to define pointers to dynamically loaded lcms2
7960         functions.
7961         (cmsCIE2000DeltaE, cmsCIECAM02Init, cmsCIECAM02Forward)
7962         (cmsCIECAM02Done): New macros.
7963         (init_lcms_functions, Flcms2_available_p): New functions.
7964         (Flcms_cie_de2000, Flcms_cam02_ucs) [WINDOWSNT]: Call
7965         init_lcms_functions.
7966         (syms_of_lcms2): Defsubr lcms2-available-p.
7967         * src/w32fns.c (syms_of_w32fns): DEFSYM Qlcms2.
7969         * configure.ac: Include lcms2 in the final report and in
7970         emacs_config_features.
7972         * nt/INSTALL:
7973         * nt/INSTALL.W64: Update with the information about lcms2 library.
7975 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
7977         Port renameat_noreplace to openSUSE 12.3
7979         Problem reported by M. Nomiya in:
7980         https://lists.gnu.org/r/emacs-devel/2017-09/msg00363.html
7981         * src/sysdep.c (renameat_noreplace):
7982         Call renameat2 only if CYGWIN.
7984 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
7986         Prefer HTTPS to FTP and HTTP in documentation
7988         Most of this change is to boilerplate commentary such as license URLs.
7989         This change was prompted by ftp://ftp.gnu.org's going-away party,
7990         planned for November.  Change these FTP URLs to https://ftp.gnu.org
7991         instead.  Make similar changes for URLs to other organizations moving
7992         away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
7993         fsf.org when this works, as this will further help defend against
7994         man-in-the-middle attacks (for this part I omitted the MS-DOS and
7995         MS-Windows sources and the test tarballs to keep the workload down).
7996         HTTPS is not fully working to lists.gnu.org so I left those URLs alone
7997         for now.
7999 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
8001         Prefer HTTPS to HTTP for gnu.org
8003         This patch just changes code files; a followup companion patch
8004         (much larger) will affect the commentary.  This part is
8005         separated out to make it easier to review.
8006         * .dir-locals.el (change-log-mode):
8007         * lisp/org/org-info.el (org-info-other-documents)
8008         (org-info-map-html-url):
8009         * lisp/org/ox-html.el (org-html-creator-string):
8010         * lisp/startup.el (fancy-startup-text, fancy-about-text)
8011         (fancy-splash-head):
8012         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
8013         * test/lisp/thingatpt-tests.el (thing-at-point-test-data):
8014         Use HTTPS instead of HTTP.
8016 2017-09-13  Simen Heggestøyl  <simenheg@gmail.com>
8018         Add tests for color.el
8020         * lisp/color.el (color-name-to-rgb, color-complement): Clarify in
8021         docstrings that RGB triplets should use four digits per component.
8022         (color-rgb-to-hsl): Break line to avoid "Hidden behind deeper element"
8023         warning.
8025         * test/lisp/color-tests.el: New file.
8027 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
8029         Make gnutls-verify-error work again with url-retrieve-synchronously
8031         * lisp/url/url-gw.el (url-open-stream): Only use :nowait if
8032         we're doing async connections (bug#26835).
8034         * lisp/url/url-parse.el (url): Add an asynchronous slot.
8036         * lisp/url/url.el (url-asynchronous): New variable.
8037         (url-retrieve-internal): Store the value.
8038         (url-retrieve-synchronously): Bind the variable.
8040 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
8042         Improve backward compatibility of tramp-tests
8044         * test/lisp/net/tramp-tests.el (seq): Don't require.
8045         (tramp--test-emacs26-p): New defun.
8046         (tramp-test10-write-region, tramp-test11-copy-file)
8047         (tramp-test12-rename-file, tramp-test15-copy-directory)
8048         (tramp-test21-file-links): Use it.
8049         (tramp-test16-file-expand-wildcards): Use `copy-sequence'.
8051 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
8053         * lisp/net/trampver.el (customize-package-emacs-version-alist):
8055         Add Tramp version integrated in Emacs 25.3.
8057 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
8059         Add clarification to if-let* docstring
8061         Also make its behaviour consistent with and-let* in that empty bindings
8062         results in success, not failure.
8063         * lisp/emacs-lisp/subr-x.el: Edit docstring, change else to then.
8065 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
8067         Make fully qualified domain names more fully qualified
8069         * lisp/gnus/message.el (message-make-fqdn): Don't try to use a
8070         system-name without any periods as a fully qualified domain name.
8072 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
8074         Remove unused file lib/getopt_.h
8076         * lib/getopt_.h: Remove.  It was renamed to lib/getopt.in.h etc.
8077         on 2011-01-08, but I forgot to remove the old file.
8079 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
8081         Remove "baroque" use of prefix argument from gensym
8083         'cl-gensym' was simply moved here, but let us take an opportunity to
8084         shed some historical baggage.
8085         * lisp/subr.el (gensym): Remove special treatment of PREFIX as a
8086         number.  Use "g" as prefix to differentiate from cl-gensym defaults.
8087         * doc/lispref/symbols.texi (Creating Symbols): Update accordingly.
8088         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter, cl-gensym): Restore.
8090 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
8092         Provide an lcms2 feature
8094         * src/lcms.c (syms_of_lcms2): Provide "lcms2".
8096 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
8098         Add lcms2 interface
8100         configure.ac: Add boilerplate for configuring and detecting liblcms2.
8101         etc/NEWS: Mention new configure option and color-distance change.
8102         src/Makefile.in: Add references to lcms.c and liblcms.
8103         src/emacs.c: Define lcms2 symbols.
8104         src/lcms.c: New file.
8105         src/lisp.h: Add declaration for lcms2.
8106         src/xfaces.c: Add optional METRIC argument.
8108 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
8110         Add other D series white points and some simple conversions
8112         * lisp/color.el (color-d75-xyz, color-d55-xyz, color-d50-xyz): New
8113         constants.
8114         (color-xyz-to-xyy, color-xyy-to-xyz, color-lab-to-lch):
8115         (color-lch-to-lab): New functions.
8117 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
8119         Permit non-integral color gradients
8121         * lisp/color.el (color-gradient): Float the step-number.
8123 2017-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
8125         Protect against malformed MIME messages that cause inf-loop (bugfix)
8127         * lisp/gnus/gnus-art.el (gnus-article-mime-handles):
8128         Protect against malformed MIME messages that cause inf-loop.
8130 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
8132         Merge from Gnulib
8134         This incorporates:
8135         2017-09-13 all: prefer https: URLs
8136         This just changes http: to https: in comments,
8137         in files copied from Gnulib.
8139 2017-09-13  Dmitry Gutov  <dgutov@yandex.ru>
8141         Call vc-resynch-buffer in vc-git-resolve-when-done
8143         * lisp/vc/vc-git.el (vc-git-resolve-when-done):
8144         Call vc-resynch-buffer on the current file (bug#28121).
8145         Move its autoload to before this function.
8147 2017-09-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
8149         Allow write-contents-functions to short-circuit buffer save
8151         Bug#28412
8153         * lisp/files.el (basic-save-buffer): Re-arrange function so that
8154           write-contents-functions are run earlier. If they return non-nil,
8155           consider the buffer saved without requiring the buffer to be
8156           visiting a file.
8157           (save-some-buffers): This function should consider any buffer with a
8158           buffer-local value for write-contents-functions eligible for
8159           saving.
8160         * test/lisp/files-tests.el (files-test-no-file-write-contents): New
8161           test.
8162         * doc/lispref/files.texi (Saving Buffers): Mention in docs.
8163         * etc/NEWS: And in NEWS.
8165 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
8167         * etc/NEWS.25: Copy from emacs-25 etc/NEWS.
8169 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
8171         Less chatter for ’make info/dir’
8173         * Makefile.in (${srcdir}/info/dir): Tweak shell command so
8174         that an ordinary make says just "GEN info/dir" rather than
8175         also having a seemingly-unrelated mv line.
8177 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
8179         Tweak Gnus doc re gnus-copy-file
8181         * doc/misc/gnus.texi (Saving Articles):
8182         Document behavior with directory name targets (Bug#27986).
8183         Problem reported by Katsumi Yamaoka in:
8184         https://lists.gnu.org/r/emacs-devel/2017-09/msg00216.html
8186 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
8188         Update uses of if-let and when-let
8190         * lisp/dom.el (dom-previous-sibling):
8191         * lisp/emacs-lisp/package.el (package--with-work-buffer):
8192         (package--sort-deps-in-alist, package--sort-by-dependence):
8193         (package-install-from-archive, package-install):
8194         (package-menu-execute, package-menu--populate-new-package-list):
8195         * lisp/filenotify.el (file-notify--rm-descriptor):
8196         (file-notify--event-watched-file, file-notify--event-file-name):
8197         (file-notify--event-file1-name, file-notify-rm-watch):
8198         (file-notify-valid-p):
8199         * lisp/gnus/message.el (message-toggle-image-thumbnails):
8200         * lisp/gnus/nnimap.el (nnimap-request-move-article):
8201         * lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
8202         * lisp/mpc.el (mpc-format):
8203         * lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
8204         (eww-save-history):
8205         * lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
8206         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
8207         * lisp/svg.el (svg-remove):
8208         * lisp/textmodes/css-mode.el (css--named-color):
8209         (css--colon-inside-funcall):
8210         * lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
8211         (html-current-buffer-ids): Use if-let* and when-let* instead.
8213 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
8215         Implement and-let*
8217         This also includes changes to if-let and when-let.  The single tuple
8218         special case is ambiguous, and binding a symbol to nil is not as
8219         useful as binding it to its value outside the lexical scope of the
8220         binding.  (Bug#28254)
8221         * etc/NEWS: Mention.
8222         * lisp/emacs-lisp/subr-x.el (internal--listify):
8223         (internal--build-binding-value-form): Extend to account for
8224         solitary symbols and (EXPR) items in binding varlist.
8225         (if-let*, when-let*): Nix single tuple case and incumbent
8226         bind-symbol-to-nil behavior.
8227         (and-let*): New macro.
8228         (if-let, when-let): Mark obsolete.  Redefine in terms of if-let*, so
8229         they implicitly gain the new features without breaking existing code.
8230         * test/lisp/emacs-lisp/subr-x-tests.el: Adjust tests for: lack of
8231         single-tuple special case, lack of binding solitary symbols to nil,
8232         and the introduction of uninterned symbols for (EXPR) bindings.  Add
8233         SRFI-2 test suite adapted to Elisp.
8235 2017-09-12  Eli Zaretskii  <eliz@gnu.org>
8237         Fix minor typos in the Emacs manual
8239         * doc/emacs/text.texi (Org Organizer):
8240         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of Org nodes.
8242 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
8244         Merge Emacs 25.3 fixes
8246         The security patches released for Emacs 25.3 were less drastic
8247         than what we had immediately put into master.  Adjust master to
8248         match 25.3 (Bug#28350).
8249         * lisp/textmodes/enriched.el (enriched-translations):
8250         Re-enable FUNCTION and display translations that are safe.
8251         (enriched-handle-display-prop): Bring back.
8252         (enriched-decode-display-prop): Bring back, but disable
8253         the unsafe part.
8255 2017-09-12  Alan Mackenzie  <acm@muc.de>
8257         Don't match C++ template delims starting within a token.  FIxes bug #28418.
8259         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): After failing an
8260         attempted match from the start of a token (in particular, "<<"), move to the
8261         next token rather than the nex character before searching for the next "<".
8263 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
8265         Move gensym to core Elisp
8267         * doc/lispref/symbols.texi (Creating Symbols): Mention gensym right
8268         after make-symbol.
8269         * etc/NEWS: Mention.
8270         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Alias to
8271         gensym-counter.
8272         (cl-gensym): Alias to gensym.
8273         * lisp/emacs-lisp/cl.el: Remove gensym from list of aliases.
8274         * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper):
8275         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture):
8276         (ert--expand-should-1, ert--expand-should):
8277         (ert--should-error-handle-error):
8278         * lisp/emacs-lisp/generator.el (cps--gensym):
8279         * lisp/emacs-lisp/gv.el (setf):
8280         * lisp/emacs-lisp/inline.el (inline--do-letlisteval):
8281         * lisp/emacs-lisp/pcase.el (pcase--make-docstring, pcase-dolist):
8282         (pcase--funcall, pcase--u1): Use gensym.
8283         * lisp/subr.el (gensym-counter): New variable.
8284         (gensym): New function, assimilated from cl-lib.
8286 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
8288         Fix cl-gentemp
8290         * lisp/emacs-lisp/cl-macs.el (cl--gentemp-counter): New variable.
8291         (cl-gentemp): Use it.  Change prefix to "T".
8293 2017-09-12  Sam Steingold  <sds@gnu.org>
8295         gnus-score-file-name: Do not append empty suffix.
8297 2017-09-12  Michael Albinus  <michael.albinus@gmx.de>
8299         Extend tramp-tests according to bug#27986
8301         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
8302         (tramp-test12-rename-file, tramp-test15-copy-directory)
8303         (tramp-test21-file-links): Extend tests.
8304         (tramp-test13-make-directory, tramp-test14-delete-directory):
8305         Specifiy error symbol in `should-error'.
8307 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
8309         Add cl-print method for hash tables
8311         * lisp/emacs-lisp/cl-print.el (cl-print-object): New method.
8313 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
8315         Add docstrings to cl-print entry points
8317         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): Fix docstring.
8318         (cl-prin1, cl-prin1-to-string): Add docstrings.
8320 2017-09-12  Glenn Morris  <rgm@gnu.org>
8322         Improve reproducibility of generated leim-list.el
8324         * lisp/international/quail.el (quail-update-leim-list-file):
8325         Sort the quail directory listing, for more stable output.
8327 2017-09-11  Mark Oteiza  <mvoteiza@udel.edu>
8329         Include sxhash of object with printed bytecode
8331         This printing, while succint, is rather opaque.  At least give an
8332         immediate clue of whether different byte code printouts are for the
8333         same or different byte code objects.
8334         * lisp/emacs-lisp/cl-print.el (cl-print-object): Add object sxhash to
8335         printed token "#<bytecode>".
8337 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
8339         Update documentation of 'max-lisp-eval-depth'
8341         * doc/lispref/eval.texi (Eval): Update the documented default
8342         value of 'max-lisp-eval-depth'.
8344 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
8346         Another place to produce debugging output in etags
8348         * lib-src/etags.c (Ruby_functions): One more place to print
8349         debugging output under --debug.
8351 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
8353         Improve documentation of etags-related features
8355         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
8356         'xref-prompt-for-identifier'.  (Bug#28403)
8357         (Etags Regexps): Document \D back references in etags regexps.
8359 2017-09-11  Alan Third  <alan@idiocy.org>
8361         Fix macOS compatibility versions for vibrant dark theme (bug#28415)
8363         * src/nsterm.m (ns_set_appearance, EmacsView::initFrameFromEmacs):
8364         Change macOS compatibility from 10.9 to 10.10.
8366 2017-09-11  Michael Albinus  <michael.albinus@gmx.de>
8368         Further optimization in Tramp's file name decomposition
8370         * lisp/net/tramp.el (tramp-syntax): Recompute all file name
8371         components.  Call `custom-set-variables' after loading.
8372         (tramp-build-prefix-format, tramp-build-prefix-regexp)
8373         (tramp-build-method-regexp)
8374         (tramp-build-postfix-method-format)
8375         (tramp-build-postfix-method-regexp)
8376         (tramp-build-prefix-ipv6-format)
8377         (tramp-build-prefix-ipv6-regexp)
8378         (tramp-build-postfix-ipv6-format)
8379         (tramp-build-postfix-ipv6-regexp)
8380         (tramp-build-postfix-host-format)
8381         (tramp-build-postfix-host-regexp)
8382         (tramp-build-file-name-regexp)
8383         (tramp-build-completion-file-name-regexp): New defuns.
8384         (tramp-prefix-format, tramp-prefix-regexp)
8385         (tramp-method-regexp, tramp-postfix-method-format)
8386         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
8387         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
8388         (tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
8389         (tramp-postfix-host-regexp)
8390         (tramp-remote-file-name-spec-regexp)
8391         (tramp-file-name-structure, tramp-file-name-regexp)
8392         (tramp-completion-file-name-regexp): Convert defuns into defvars.
8393         (tramp-prefix-regexp-alist)
8394         (tramp-postfix-method-regexp-alist)
8395         (tramp-prefix-ipv6-regexp-alist)
8396         (tramp-postfix-ipv6-regexp-alist)
8397         (tramp-postfix-host-regexp-alist)
8398         (tramp-remote-file-name-spec-regexp-alist): Remove.
8399         (tramp-build-remote-file-name-spec-regexp)
8400         (tramp-build-file-name-structure): Simplify.
8401         (tramp-completion-file-name-regexp-alist): New defconst.
8402         (tramp-tramp-file-p, tramp-dissect-file-name)
8403         (tramp-make-tramp-file-name)
8404         (tramp-completion-make-tramp-file-name)
8405         (tramp-rfn-eshadow-update-overlay-regexp)
8406         (tramp-register-file-name-handlers)
8407         (tramp-completion-handle-file-name-all-completions)
8408         (tramp-completion-dissect-file-name, tramp-clear-passwd):
8409         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
8410         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
8411         (tramp-compute-multi-hops): Use variables but functions for
8412         file name components.
8414         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
8415         Use variables but functions for file name components.
8417 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
8419         Port tramp-tests to new copy-directory behavior
8421         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
8422         Use directory name as arg for copy-directory when we want
8423         the special behavior.
8425 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
8427         Adjust thumbs to new rename-file behavior
8429         * etc/NEWS: Mention this.
8430         * lisp/thumbs.el (thumbs-rename-images): Treat the destination
8431         as special only if it is a directory name.  When there is
8432         a marked list, turn the destination into a directory name
8433         if it is not already.
8435 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
8437         Adjust ob-tangle to new copy-file behavior
8439         * lisp/org/ob-tangle.el (org-babel-tangle-publish):
8440         Port to new copy-file behavior.
8442 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
8444         Make gnus-copy-file act like copy-file etc.
8446         * etc/NEWS: Mention this.
8447         * lisp/gnus/gnus-util.el (gnus-copy-file): Treat the destination
8448         as special only if it is a directory name.
8450 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
8452         Make write-file act like copy-file etc.
8454         Change write-file to be consistent with the new behavior
8455         of copy-file, etc.
8456         * etc/NEWS: Mention this.
8457         * lisp/files.el (write-file): Treat the destination as special
8458         only if it is a directory name.
8460 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
8462         Make copy-directory act like copy-file etc.
8464         Do the special dance with the destination only if it is a
8465         directory name, for consistency with copy-file etc. (Bug#27986).
8466         * doc/emacs/files.texi (Copying and Naming):
8467         * doc/lispref/files.texi (Create/Delete Dirs):
8468         * etc/NEWS: Document this.
8469         * lisp/files.el (copy-directory): Treat NEWNAME as special
8470         only if it is a directory name.
8472 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
8474         Fix some make-directory bugs
8476         * lisp/files.el (files--ensure-directory): New function.
8477         (make-directory): Use it to avoid bugs when (make-directory FOO t)
8478         is invoked on a non-directory, or on a directory hierarchy that
8479         is being built by some other process while Emacs is running.
8480         * test/lisp/files-tests.el (files-tests--make-directory): New test.
8482 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
8484         Fix race with rename-file etc. with dir NEWNAME
8486         This changes the behavior of rename-file etc. slightly.
8487         The old behavior mostly disagreed with the documentation, and had
8488         a race condition bug that could allow attackers to modify victims'
8489         write-protected directories (Bug#27986).
8490         * doc/lispref/files.texi (Changing Files): Document that in
8491         rename-file etc., NEWFILE is special if it is a directory name.
8492         * etc/NEWS: Document the change in behavior.
8493         * src/fileio.c (directory_like): Remove.  All uses removed.
8494         (expand_cp_target): Test only whether NEWNAME is a directory name,
8495         not whether it is currently a directory.  This avoids a race.
8496         (Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
8497         Document behavior if NEWNAME is a directory name.
8498         (Frename_file): Simplify now that the destdir behavior occurs
8499         only when NEWNAME is a directory name.
8500         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
8501         (tramp-test12-rename-file, tramp--test-check-files):
8502         Adjust tests to match new behavior.
8504 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
8506         Extend --debug printouts in etags
8508         * lib-src/etags.c (regex_tag_multiline, readline): Under
8509         "--debug", print tags found via regexps.
8511 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
8513         Add --debug option to etags
8515         * lib-src/etags.c (make_tag): Print found tags under --debug.
8516         (longopts): Add --debug.
8518 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
8520         Spelling fixes
8522         * lisp/progmodes/cc-langs.el:
8523         (c-ambiguous-overloadable-or-identifier-prefixes): Rename from
8524         c-ambiguous-overloadable-or-identifier-prefices.  Caller changed.
8526 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
8528         Merge from gnulib
8530         This incorporates:
8531         2017-09-08 stddef: Avoid conflict with system-defined max_align_t
8532         2017-08-24 warnings: fix compilation with old autoconf
8533         2017-08-23 glob: merge from glibc with Zanella glob changes
8534         2017-08-17 random: Fix test compilation failure on Cygwin 1.5.25
8535         * doc/misc/texinfo.tex, lib/flexmember.h, lib/stddef.in.h:
8536         * lib/stdlib.in.h, m4/manywarnings.m4, m4/stdlib_h.m4:
8537         * m4/warnings.m4:
8538         Copy from Gnulib.
8539         * lib/gnulib.mk.in: Regenerate.
8541 2017-09-10  Ken Brown  <kbrown@cornell.edu>
8543         Implement renameat_noreplace on recent Cygwin
8545         * src/sysdep.c [CYGWIN]: Include cygwin/fs.h.
8546         (renameat_noreplace) [RENAME_NOREPLACE]: Use renameat2.
8547         (Bug#27986)
8549 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
8551         Avoid warnings about file names in autoloads on MS-Windows
8553         * configure.ac (srcdir) [mingw32]: Downcase the drive letter, to
8554         avoid warnings from find-file-noselect when making autoloads.  For
8555         the details, see
8556         https://lists.gnu.org/r/emacs-devel/2017-09/msg00049.html.
8558 2017-09-10  Mark Oteiza  <mvoteiza@udel.edu>
8560         Avoid looking at localized strings
8562         * lisp/xdg.el (xdg-desktop-read-group): Add condition to catch
8563         localized strings.
8564         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure
8565         parsing l10n strings doesn't error but is essentially a no-op.
8567 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
8569         * etc/NEWS.25: Document 25.3 changes.
8571 2017-09-10  Lars Ingebrigtsen  <larsi@gnus.org>
8573         Remove unsafe enriched mode translations
8575         * lisp/gnus/mm-view.el (mm-inline-text):
8576         Do not worry about enriched or richtext type.
8577         * lisp/textmodes/enriched.el (enriched-translations):
8578         Remove translations for FUNCTION, display (Bug#28350).
8579         (enriched-handle-display-prop, enriched-decode-display-prop): Remove.
8581 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
8583         Be more consistent about "directory name" in manual
8585         This clarifies the documentation, partly in response to the
8586         discussion in Bug#27986.
8588 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
8590         Remove more compilation warnings in MinGW64 build
8592         * src/w32.c (faccessat, map_w32_filename):
8593         * src/w32fns.c (w32_wnd_proc):
8594         * src/w32term.c (w32_horizontal_scroll_bar_handle_click)
8595         (w32_scroll_bar_handle_click): Use FALLTHROUGH to avoid compiler
8596         warnings with GCC 7 and later.
8598 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
8600         Improve --enable-gcc-warnings for MinGW64
8602         This partially reverts my 2016-05-30 patch.  Apparently MinGW64
8603         still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26)
8604         does not.  Also, pacify tparam.c, which isn’t used on Fedora.
8605         * lib-src/etags.c (process_file_name, TeX_commands):
8606         * src/buffer.c (fix_overlays_before):
8607         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
8608         (cons_to_signed):
8609         * src/editfns.c (Ftranslate_region_internal):
8610         Prefer UNINIT to some stray value, as this simplifies
8611         code-reading later.
8612         * src/eval.c (CACHEABLE): New macro.
8613         (internal_lisp_condition_case): Use it.
8614         * src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
8616 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
8618         Fix font-lock in Compilation mode
8620         * lisp/progmodes/compile.el (compilation-face): Restore function
8621         lost during recent changes.  (Bug#28349)
8623 2017-09-09  Mark Oteiza  <mvoteiza@udel.edu>
8625         Add function to read all entries in a group
8627         Use that to extend xdg-desktop-read-file.  Also fix a bug where all
8628         entries in all groups were read and returned by xdg-desktop-read-file.
8629         * lisp/xdg.el (xdg-desktop-read-group): New function.
8630         (xdg-desktop-read-file): Use it.
8631         * test/data/xdg/malformed.desktop: New file.
8632         * test/data/xdg/test.desktop: Add another section.
8633         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Test presence of a key
8634         in another group.  Test reading a prescribed group.  Test detecting a
8635         malformed key=value.
8637 2017-09-09  Gemini Lasswell  <gazally@runbox.com>
8639         Reduce Tramp's memory usage
8641         Construct Tramp syntax strings and regular expressions once instead
8642         of every time they are used, and store them in alists keyed by Tramp
8643         syntax.
8644         * lisp/net/tramp.el (tramp-build-remote-file-name-spec-regexp)
8645         (tramp-build-file-name-structure): New functions.
8646         (tramp-prefix-format-alist, tramp-prefix-regexp-alist)
8647         (tramp-method-regexp-alist)
8648         (tramp-postfix-method-format-alist)
8649         (tramp-postfix-method-regexp-alist)
8650         (tramp-prefix-ipv6-format-alist, tramp-prefix-ipv6-regexp-alist)
8651         (tramp-postfix-ipv6-format-alist)
8652         (tramp-postfix-ipv6-regexp-alist)
8653         (tramp-postfix-host-format-alist)
8654         (tramp-postfix-host-regexp-alist)
8655         (tramp-remote-file-name-spec-regexp-alist)
8656         (tramp-file-name-structure-alist): New constants.
8657         (tramp-lookup-syntax): New function.
8658         (tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
8659         (tramp-postfix-method-format, tramp-postfix-method-regexp)
8660         (tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
8661         (tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
8662         (tramp-postfix-host-format, tramp-postfix-host-regexp)
8663         (tramp-remote-file-name-spec-regexp, tramp-file-name-structure):
8664         Use it.
8666 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
8668         Fix compilation warnings in MinGW64 build using GCC 7
8670         Reported by Richard Copley <rcopley@gmail.com>.
8671         * src/w32heap.c (init_heap): Declare enable_lfh only for
8672         mingw.org's MinGW build.
8674         * src/w32console.c (w32con_write_glyphs):
8675         * src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some
8676         mismatches of data type vs format spec.
8678         * src/w32fns.c (compute_tip_xy):
8679         * src/w32proc.c (stop_timer_thread):
8680         * src/w32notify.c (remove_watch):
8681         * src/eval.c (internal_lisp_condition_case):
8682         * src/editfns.c (Ftranslate_region_internal):
8683         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
8684         (cons_to_signed):
8685         * src/buffer.c (fix_overlays_before): Initialize variables to
8686         avoid compiler warnings.
8688         * lib-src/etags.c (TeX_commands, process_file_name): Initialize
8689         variables to avoid compilation warnings.
8691 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
8693         Avoid infloop when scrolling under scroll-preserve-screen-position
8695         * src/window.c (window_scroll_pixel_based): If screen position is
8696         to be preserved, make sure its recorded Y coordinate is outside
8697         the scroll margin.  (Bug#28342)
8699 2017-09-09  Michael Albinus  <michael.albinus@gmx.de>
8701         Clarification in tramp-texi
8703         * doc/misc/tramp.texi (Connection caching): Two connections are
8704         regarded as different now when they differ in the port number only.
8706 2017-09-09  Miles Bader  <miles@gnu.org>
8708         * admin/quick-install-emacs: Tweak configure.ac parsing
8710 2017-09-09  Miles Bader  <miles@gnu.org>
8712         Use text-property buttons in rcirc-markup-urls
8714         * lisp/net/rcirc.el (rcirc-markup-urls): Use `make-text-button'
8715         instead of `make-button'; the former is much more efficient in large
8716         buffers, and for the purposes of rcirc, changes no functionality.
8718 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
8720         Fix line-pixel-height for lines of variable height
8722         * src/xdisp.c (Fline_pixel_height): Start moving from the
8723         beginning of the screen line, to capture the full metrics of the
8724         line.  (Bug#28391)
8726 2017-09-08  Alex Branham  <branham@utexas.edu>  (tiny change)
8728         New variable 'dired-confirm-killing-deleted-buffers'
8730         * lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers):
8731         New variable.
8732         * lisp/dired.el (dired-clean-up-after-deletion): Kill buffers
8733         visiting deleted files without confirming if
8734         dired-clean-confirm-killing-deleted-buffers is nil.  (Bug#28373)
8735         * etc/NEWS: Document the change.
8737 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
8739         Support SVN files with svn:externals property
8741         * lisp/vc/vc-svn.el (vc-svn-parse-status): Don't ignore files
8742         marked with the svn:externals property.
8744 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
8746         List locally removed files in vc-dir with SVN back-end
8748         * lisp/vc/vc-svn.el (vc-svn-after-dir-status): List files marked
8749         with ?! as needs-update.
8751 2017-09-08  Ken Olum  <kdo@cosmos.phy.tufts.edu>
8753         Fix Rmail editing with reapplying encoding to message body
8755         * lisp/mail/rmailedit.el (rmail-cease-edit):  If no
8756         content-type in edited headers, look for one in original
8757         headers and add it to edited headers.  (Bug #26918)
8758         Use a marker to track start of new body, so that
8759         content-transfer-encoding gets applied only to body.  (Bug #27353).
8760         Ensure blank line at end of message after encoding, not
8761         before.
8763 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
8765         Document last change in dired.el
8767         * etc/NEWS (Dired): Document the last change in dired.el.
8768         (Bug#27435)
8770 2017-09-08  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
8772         Make mouse clicks in Dired more customizable
8774         * lisp/dired.el (dired-mouse-find-file): Allow callers to
8775         specify functions to visit file/directory.
8776         (dired-mouse-find-file-other-window)
8777         (dired-mouse-find-file-other-frame): New functions to visit
8778         files in another window/frame.  (Bug#27435)
8780 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
8782         Avoid compiler warnings on MS-Windows with GCC 6 and 7
8784         * src/w32font.c (SUBRANGE): Use unsigned arithmetic for
8785         bit-shifting, to avoid compiler warnings.
8786         (w32font_text_extents): Tell GCC NGLYPHS is non-negative, to avoid
8787         a warning.  For details of the warning, see
8788         https://lists.gnu.org/r/emacs-devel/2017-09/msg00093.html.
8789         * src/term.c (keys) [WINDOWSNT]: Don't define, as it is not used
8790         in that build.
8791         * src/sound.c (sound_perror): Ifdef away on WINDOWSNT, as this
8792         function is not used in that build.
8794         * configure.ac: Disable -Wsuggest-attribute=format on MS-Windows.
8796 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
8798         Fix 'directory-file-name' on DOS_NT systems as well
8800         * src/fileio.c (directory_file_name) [DOS_NT]: Fix the DOS_NT case
8801         to be consistent with last change.
8803         * test/src/fileio-tests.el (fileio-tests--odd-symlink-chars):
8804         Disable on MS-Windows.
8805         (fileio-tests--directory-file-name-dos-nt)
8806         (fileio-tests--file-name-as-directory-dos-nt): New tests.
8808 2017-09-08  Wilson Snyder  <wsnyder@wsnyder.org>
8810         Fix various verilog-mode.el issues.
8812         * lisp/progmodes/verilog-mode.el (verilog-expand-dirnames): Fix expanding
8813         "*/*", msg2284. Reported by Jonathan Ferguson.
8814         (ignore-errors): Fix ignore-errors error on Emacs 22.3, bug1177. Reported
8815         by Victor Lau.
8816         (verilog-getopt, verilog-getopt-file) (verilog-library-flags,
8817         verilog-substitute-file-name-path): Support -F in verilog getopt files,
8818         bug1171. Reported by George Cuan.
8819         (verilog-do-indent): Fix misindenting symbols starting with t,
8820         bug1169. Reported by Hoai Tran.
8821         (verilog-read-auto-template-middle): Fix slow template matching on
8822         AUTOINST. Reported by Jeffrey Huynh.
8823         (verilog-pretty-expr): The extra whitespace addition before "=" operators
8824         is now done only if the whole assignment block contains the 2-character
8825         "<=" operator.  Remove the unused argument _myre.  Use `unless',
8826         `save-excursion' and `when' functions where possible.  Internal variables
8827         refactored for clarity.  Follow elisp convention for closing parentheses.
8828         By Kaushal Modi.
8829         (verilog-get-lineup-indent-2): Update docstring.  Internal variables
8830         refactored for clarity.  Earlier EDPOS argument was expected to be a
8831         marker; it is now renamed to END and is now expected to be a position.
8832         Use `when' instead of `if'.  By Kaushal Modi.
8833         (electric-verilog-terminate-line): Remove the unused second argument from
8834         `verilog-pretty-expr' call.  By Kaushal Modi.
8835         (verilog-calc-1): Fix indentation of a virtual class definition after a
8836         typedef class, bug1080.  By Kaushal Modi.
8838 2017-09-08  Katsumi Yamaoka  <yamaoka@jpl.org>
8840         Don't use summary window to visit group buffer (bugfix)
8842         * lisp/gnus/gnus-sum.el (gnus-summary-jump-to-group): Make sure that
8843         the window to open the group buffer doesn't visit the summary buffer.
8844         This fixes a bug: `gnus-summary-next-article' sometimes causes an error
8845         by trying to select nonexistent summary window.
8847 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
8849         Fix bug: (directory-file-name "///") returned "//"
8851         * src/fileio.c (directory_file_name): For "///" and longer,
8852         return "/", not "//", as per POSIX.
8853         * test/src/fileio-tests.el (fileio-tests--directory-file-name)
8854         (fileio-tests--file-name-as-directory): New tests.
8856 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
8858         Remove obsolete vc-mistrust-permissions doc
8860         * doc/emacs/vc1-xtra.texi (RCS and SCCS): Remove documentation
8861         for vc-mistrust-permissions, which no longer exists.
8863 2017-09-07  Alan Third  <alan@idiocy.org>
8865         Set frame size to actual requested size (bug#18215)
8867         * src/nsterm.m (x_set_window_size): Don't use
8868         FRAME_TEXT_TO_PIXEL_WIDTH or FRAME_TEXT_TO_PIXEL_HEIGHT.
8870 2017-09-07  Paul Eggert  <eggert@cs.ucla.edu>
8872         autogen.sh: omit bogus chatter if no .git
8874         Problem reported by Angelo Graziosi in:
8875         https://lists.gnu.org/r/emacs-devel/2017-09/msg00045.html
8876         * autogen.sh (git_config): Do not execut 'git' if $do_git fails.
8878 2017-09-07  Glenn Morris  <rgm@gnu.org>
8880         Skip emacsclient tests if --enable-profiling was used
8882         * test/lib-src/emacsclient-tests.el
8883         (emacsclient-test-call-emacsclient): Make it a macro.
8884         Handle "Profiling timer expired" return from emacsclient.  (Bug#28319)
8885         (emacsclient-test-alternate-editor-allows-arguments)
8886         (emacsclient-test-alternate-editor-allows-quotes): Update for above.
8888 2017-09-06  Eli Zaretskii  <eliz@gnu.org>
8890         Fix a minor markup problem in ELisp manual
8892         * doc/lispref/functions.texi (Mapping Functions): Fix the order of
8893         @example and @group.  For the details, see
8894         https://lists.gnu.org/r/bug-texinfo/2017-09/msg00007.html.
8896 2017-09-06  Mark Oteiza  <mvoteiza@udel.edu>
8898         Add XDG desktop file parsing and tests
8900         * lisp/xdg.el: Add support for Desktop Entry Specification.
8901         (xdg--user-dirs-parse-line): Check if file is readable.
8902         (xdg-desktop-group-regexp, xdg-desktop-entry-regexp): New variables.
8903         (xdg--desktop-parse-line, xdg-desktop-read-file, xdg-desktop-strings):
8904         New functions.
8905         * test/lisp/xdg-tests.el:
8906         * test/data/xdg/test.desktop:
8907         * test/data/xdg/wrong.desktop: New files.
8909 2017-09-06  Glenn Morris  <rgm@gnu.org>
8911         Allow for adjusting line length of test backtraces
8913         * test/Makefile.in (TEST_BACKTRACE_LINE_LENGTH): New option.
8914         (%.log): Respect backtrace line length.
8916 2017-09-06  Glenn Morris  <rgm@gnu.org>
8918         Allow customizing line length of ert backtraces in batch mode
8920         * lisp/emacs-lisp/ert.el (ert-batch-backtrace-right-margin):
8921         Make it a user option.
8922         (ert-run-tests-batch): Handle ert-batch-backtrace-right-margin nil.
8924 2017-09-06  Glenn Morris  <rgm@gnu.org>
8926         Minor emacsclient-tests simplification
8928         * test/lib-src/emacsclient-tests.el (emacsclient-test-emacs):
8929         Simplify.  Also work when running installed.
8931 2017-09-06  Alan Third  <alan@idiocy.org>
8933         Revert "Force screen update after drawing cursor glyph (bug#23774)"
8935         This reverts commit 1b492fa5456e2b6face8d0856f11d17e432693b0.
8937         See bug#28358
8939 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
8941         Refactor some loops in mailcap.el
8943         * lisp/net/mailcap.el (mailcap-mime-types):
8944         (mailcap-file-default-commands): Convert nested maps to loops.
8946 2017-09-05  Glenn Morris  <rgm@gnu.org>
8948         emacsclient-tests: remove some debug statements
8950         * test/lib-src/emacsclient-tests.el
8951         (emacsclient-test-call-emacsclient): Remove debug statements.
8953 2017-09-05  Simen Heggestøyl  <simenheg@gmail.com>
8955         Handle non-zero exit status from psql more gracefully
8957         * lisp/progmodes/sql.el (sql-postgres-list-databases): Handle non-zero
8958         exit statuses from `psql -ltX' more gracefully by returning nil.
8960         * test/lisp/progmodes/sql-tests.el
8961         (sql-tests-postgres-list-databases-error): New test.
8963 2017-09-05  Eli Zaretskii  <eliz@gnu.org>
8965         Avoid losing Ctrl-C keystrokes in compilation mode on MS-Windows
8967         * src/w32proc.c (sys_kill): Preserve the up/down state of the
8968         Ctrl key across the simulated Ctrl-C keystroke.  (Bug#28348)
8970 2017-09-05  Andreas Schwab  <schwab@linux-m68k.org>
8972         * src/image.c (Fimagemagick_types): Doc fix.
8974 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
8976         Move soundex.el test to a proper test
8978         * test/lisp/soundex-tests.el: New file.
8979         * lisp/soundex.el: Use lexical-binding.  Remove commented test.
8981 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
8983         Add tests for mailcap.el
8985         * test/data/mailcap/mime.types: New file.
8986         * test/lisp/net/mailcap-tests.el: New file.
8988 2017-09-05  Michael Albinus  <michael.albinus@gmx.de>
8990         Doc precisment about remote link targets
8992         * doc/lispref/files.texi (Truenames): Explain handling of
8993         targets of `file-truename' and `make-symbolic-link', which
8994         look like a remote file name.
8996         * etc/NEWS: Precise examples for symlinks which look like
8997         remote file names.  MUSTBENEW of `write-region' is not
8998         propagated to file name handlers.
9000 2017-09-05  John Wiegley  <johnw@newartisans.com>
9002         Remove an opinionated section on "What Eshell is not"
9004         I don't find this information to accurately reflect possible use cases
9005         for Eshell; plus, it doesn't offer much in the way of information,
9006         just opinion.
9008 2017-09-05  Ken Brown  <kbrown@cornell.edu>
9010         Fix configure test for Xpm
9012         Problem reported by Ashish Shukla in
9013         https://lists.gnu.org/r/emacs-devel/2017-09/msg00020.html.
9014         * configure.ac (HAVE_XPM) [HAVE_X11]: Include X11/xpm.h instead of
9015         noX/xpm.h in configure test.
9017 2017-09-04  Paul Eggert  <eggert@cs.ucla.edu>
9019         Revert recent float→double Motif change
9021         Problem reported by Martin Rudalics in:
9022         https://lists.gnu.org/r/emacs-devel/2017-09/msg00014.html
9023         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
9024         (x_set_toolkit_scroll_bar_thumb)
9025         (x_set_toolkit_horizontal_scroll_bar_thumb):
9026         Go back to using ‘float’ temporaries rather than ‘double’.
9027         Although quite possibly this masks an underlying bug,
9028         we lack time to look into that now.
9030 2017-09-04  Glenn Morris  <rgm@gnu.org>
9032         emacsclient-tests: add some debug statements
9034         * test/lib-src/emacsclient-tests.el
9035         (emacsclient-test-call-emacsclient): Add debug statements.
9037 2017-09-04  Michael Albinus  <michael.albinus@gmx.de>
9039         Work on Tramp's (symbolic) links
9041         * doc/misc/tramp.texi (Traces and Profiles): Mention the
9042         backtrace when tramp-verbose is greater than or equal to 10.
9044         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
9045         Use `tramp-handle-add-name-to-file'.
9047         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Use
9048         `tramp-handle-add-name-to-file' and `tramp-handle-file-truename'.
9050         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link): Improve.
9052         * lisp/net/tramp-smb.el (tramp-smb-errors):
9053         Add "NT_STATUS_CONNECTION_DISCONNECTED" and
9054         "NT_STATUS_OBJECT_PATH_SYNTAX_BAD".
9055         (tramp-smb-file-name-handler-alist): Use `tramp-handle-file-truename'.
9056         (tramp-smb-do-file-attributes-with-stat): Return non-nil only
9057         if one of the attributes is non-nil.
9058         (tramp-smb-handle-file-local-copy): Use `file-truename'.
9059         (tramp-smb-handle-file-truename): Move to tramp.el.
9060         (tramp-smb-handle-insert-directory): Show symlinks.
9061         (tramp-smb-handle-make-symbolic-link): Improve.
9062         (tramp-smb-read-file-entry): Handle extended file modes in Samba.
9064         * lisp/net/tramp.el (tramp-handle-add-name-to-file)
9065         (tramp-handle-file-truename): New defuns.
9067         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
9068         (tramp--test-check-files): Make check for "smb".
9070 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
9072         Embed JSON readtable into json-read
9074         Also unroll dispatch into a cond.
9075         * lisp/json.el (json-readtable): Remove.
9076         (json-readtable-dispatch): New macro.  Assimilate json-readtable.
9077         (json-read): Use the macro.
9079 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
9081         Hexify strings in EWW search queries
9083         Previously, inputting "cats & dogs" would lose dogs because the
9084         ampersand signifies a query parameter.  Instead, hexify each word while
9085         preserving quotes with split-string.
9086         * lisp/net/eww.el (eww--dwim-expand-url): Join hexified words together
9087         with + separators, instead of replacing whitespace with +.
9089 2017-09-03  Glenn Morris  <rgm@gnu.org>
9091         emacsclient-tests: call-process may return non-integer
9093         * test/lib-src/emacsclient-tests.el
9094         (emacsclient-test-alternate-editor-allows-arguments)
9095         (emacsclient-test-alternate-editor-allows-quotes):
9096         Handle non-integer return from call-process.
9098 2017-09-03  Eli Zaretskii  <eliz@gnu.org>
9100         * lisp/simple.el (visual-line-mode): Doc fix.  (Bug#28337)
9102 2017-09-03  Alan Third  <alan@idiocy.org>
9104         Force screen update after drawing cursor glyph (bug#23774)
9106         * src/nsterm.m (ns_draw_window_cursor): Force a screen update after
9107         drawing the glyph over the cursor.
9109 2017-09-03  Alan Mackenzie  <acm@muc.de>
9111         Correct the fontification of quote marks after buffer changes in CC Mode.
9113         * lisp/progmodes/cc-defs.el
9114         (c-search-forward-char-property-with-value-on-char): New macro.
9116         * lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
9117         (c-parse-quotes-after-change): Rewrite the functions, simplifying
9118         considerably, and removing unnecessary optimizations.
9119         Invalidate two caches after manipulating text properties.
9121 2017-09-03  Alan Mackenzie  <acm@muc.de>
9123         Fix fontification of "operator~" in C++ Mode.
9125         * lisp/progmodes/cc-langs.el (c-ambiguous-overloadable-or-identifier-prefices)
9126         (c-ambiguous-overloadable-or-identifier-prefix-re): New c-lang-defconsts/vars.
9128         * lisp/progmodes/cc-engine.el (c-forward-name): Do not try to parse "~" (and
9129         two other symbols) as a cast without good evidence.  Prefer an overloaded
9130         operator in ambiguous cases.
9132 2017-09-03  Martin Rudalics  <rudalics@gmx.at>
9134         In delete_frame do not delete terminal for any toolkit build
9136         * src/frame.c (delete_frame): Neither delete terminal for
9137         non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499,
9138         Bug#27816).
9140 2017-09-02  Philipp Stephani  <phst@google.com>
9142         Improve error messages for improper plists (Bug#27726)
9144         * src/fns.c (Fplist_put, Flax_plist_get, Flax_plist_put)
9145         (Fplist_member, syms_of_fns): Use ‘plistp’ as pseudo-predicate for
9146         improper plists instead of ‘listp.’
9148         * test/src/fns-tests.el (plist-get/odd-number-of-elements)
9149         (lax-plist-get/odd-number-of-elements)
9150         (plist-put/odd-number-of-elements)
9151         (lax-plist-put/odd-number-of-elements)
9152         (plist-member/improper-list): Add unit tests.
9154 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
9156         Fix decrypting in plstore.el on MS-Windows
9158         * lisp/plstore.el (plstore-open): Bind coding-system-for-read to
9159         raw-text, instead of using insert-file-contents-literally.
9160         (Bug#28114)
9162 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
9164         * src/fileio.c (Fexpand_file_name): Doc fix.  (Bug#27982)
9166 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
9168         Rewrite Antinews for Emacs 26
9170         * doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26.
9171         * doc/lispref/elisp.texi (Top): Update the top-level menu's
9172         Antinews entry.
9173         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26.
9174         * doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews
9175         entry.
9177         * etc/NEWS: Rearrange some entries in a more reasonable order.
9179 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
9181         Fix a mis-binding in a test
9183         * test/lisp/progmodes/python-tests.el
9184         (python-shell-calculate-process-environment-3): Fix binding of
9185         process-environment.  A level of parens was missing.
9187         This was found after Glenn Morris noticed a similar problem with the
9188         patch for Bug#28319.
9190 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
9192         Fix a mis-binding and a bad defun name in a test (Bug#28319)
9194         test/lib-src/emacs-client-tests.el (call-emacsclient): Rename
9195         emacsclient-test-call-emacsclient.
9196         (emacsclient-test-alternate-editor-allows-arguments)
9197         (emacsclient-test-alternate-editor-allows-quotes): Fix let-binding of
9198         process-environment.
9200         Thanks to Glenn Morris for noticing these errors.
9202 2017-09-02  Glenn Morris  <rgm@gnu.org>
9204         * test/Makefile.in (check-no-automated-subdir): Silence by default.
9206         * test/Makefile.in (ELFILES): Sort, for a reproducible order.
9208 2017-09-01  Mark Oteiza  <mvoteiza@udel.edu>
9210         Turn off checkdoc complaint about default argument order
9212         * etc/NEWS: Mention change.
9213         * lisp/emacs-lisp/checkdoc.el (checkdoc-arguments-in-order-flag):
9214         Disable by default, note version.
9216 2017-09-01  Reuben Thomas  <rrt@sc3d.org>
9218         Stop emacsclient tests hanging (Bug#28319)
9220         * test/lib-src/emacsclient-tests.el
9221         (emacsclient-test-alternate-editor-allows-arguments): Use a
9222         non-existent file to communicate with server, so that any existing
9223         default server will not be hijacked (in fact, the test does
9224         not need a server).
9225         (emacsclient-test-alternate-editor-allows-quotes): Likewise.
9227 2017-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
9229         * lisp/obsolete/html2text.el: Don't require CL
9231         (html2text-clean-anchor): Mark unused arg.
9233 2017-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
9235         Don't remove undisplayers from inlined MIME parts (bugfix)
9237         * lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header):
9238         Don't remove undisplayers from inlined MIME parts (bugfix);
9239         Simplify criterion that finds attachments.
9241 2017-08-31  Mark Oteiza  <mvoteiza@udel.edu>
9243         Make ucs-names a hash table (Bug#28302)
9245         * etc/NEWS: Mention the type change.
9246         * lisp/descr-text.el (describe-char): Use gethash to access ucs-names.
9247         Hardcode BEL's name into the function instead of needlessly mapping
9248         over the hash table in the spirit of rassoc.
9249         * lisp/international/mule-cmds.el (ucs-names): Fix variable and
9250         function docstrings.  Initialize a hash table for ucs-names--the
9251         number of entries is 42845 here.  Switch to hash-table
9252         getters/setters.
9253         (mule--ucs-names-annotation): Use hash-table getter.
9254         (char-from-name): Upcase the string if ignore-case is truthy.
9255         * lisp/leim/quail/latin-ltx.el: Use maphash instead of dolist.
9257 2017-08-31  Alan Third  <alan@idiocy.org>
9259         Remove unneeded version checks (bug#28222)
9261         * src/macfont.h (CGContextSetFontSmoothingStyle): Remove version
9262         check.
9263         * src/macfont.m (macfont_draw): Remove version check, and test for
9264         existence of CGContextSetFontSmoothingStyle.
9266 2017-08-31  Alan Mackenzie  <acm@muc.de>
9268         Fix a glitch in CC Mode's syntactic whitespace cache.
9270         * lisp/progmodes/cc-engine.el (c-forward-sws): Deal correctly with a block
9271         comment close at the end of a macro.
9273 2017-08-31  Alan Mackenzie  <acm@muc.de>
9275         Correct the fontification of C++ Mode enclosed declarations.
9277         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): abolish the
9278         spurious check that the character before the start of an enclosed declaration
9279         must be ; or }.  It might also be {.
9281 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
9283         In xterm.c fix some recently introduced compiler warnings
9285         * src/xterm.c (xaw_jump_callback)
9286         (x_set_toolkit_scroll_bar_thumb): Fix some recently introduced
9287         -Wdouble-promotion warnings.
9289 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
9291         Restrict fix of Bug#24963 and Bug#25887 to GTK builds
9293         * src/xterm.c (handle_one_xevent): Restrict earlier fix of
9294         Bug#24963 and Bug#25887 to avoid that a non-GTK Emacs won't
9295         react to state changes received via ConfigureNotify.
9297 2017-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
9299         Respect directory a user enters (bug#28299)
9301         * lisp/gnus/mm-decode.el (mm-save-part):
9302         Respect directory a user enters (bug#28299).
9304 2017-08-31  Samuel Freilich  <sfreilich@google.com>
9306         Do not split line before width of fill-prefix
9308         When auto-filling a paragraph, don't split a line before the width of the
9309         fill-prefix, creating a subsequent line that is as long or longer (Bug#20774).
9310         * lisp/simple.el (do-auto-fill): Only consider break-points that are later in
9311         the line than the width of the fill-prefix.  This is a more general solution
9312         than the previous logic, which only skipped over the exact fill-prefix.  The
9313         fill-prefix doesn't necessarily match the prefix of the first line of a
9314         paragraph in adaptive-fill-mode.
9316 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
9318         Support lazy loading for autogenerated usage docstrings too (Bug#27748)
9320         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
9321         Consider any documentation that ended up in code as a docstring (e.g.,
9322         autogenerated (fn ARG1 ARG2) type things), not just what the user
9323         passed.
9325 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
9327         Drop docstrings from cl-defsubst produced inline bodies (Bug#27748)
9329         * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Use macroexp-parse-progn
9330         to drop the docstring.  Add a simple docstring to the compiler-macro.
9332 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
9334         Quote file-truename symlink to "../foo:bar:"
9336         Problem reported by Michael Albinus (Bug#28264#19).
9337         * lisp/files.el (files--splice-dirname-file): Fix bug where
9338         a relative symlink to "../foo:bar:" did not quote the result.
9340 2017-08-30  Reuben Thomas  <rrt@sc3d.org>
9342         Add support for arguments in emacsclient's ALTERNATE_EDITOR (Bug #25082)
9344         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
9345         corresponding command-line argument, into quote- or space-separated
9346         tokens.  If a token starts with a quote, then it naturally is expected
9347         to end with a quote; escaping is not supported. This is enough to cope
9348         with the typical case of requiring the initial path to be quoted,
9349         common on Windows where it may contain spaces.
9350         * etc/NEWS: Document.
9351         * doc/emacs/misc.texi: Likewise.
9352         * doc/man/emacsclient.1: Tweak to remove the implication that only an
9353         editor can be specified (the manual already mentions a “command”).
9354         Fix a small error where “EDITOR” is referred to rather than
9355         “ALTERNATE_EDITOR”.
9356         * test/lib-src/emacsclient-tests.el: Add tests.
9358 2017-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
9360         * lisp/man.el (Man-softhyphen-to-minus): Avoid string-as-multibyte.
9362 2017-08-30  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>  (tiny change)
9364         Correct "hide others" shortcut on macOS (bug#28215)
9366         * lisp/term/ns-win.el: Fix shortcut for ns-do-hide-others.
9368 2017-08-30  Eli Zaretskii  <eliz@gnu.org>
9370         Sync NEWS with the documentation
9372         * etc/NEWS: Mark entries according to documentation.
9374         * doc/lispref/functions.texi (Mapping Functions): Document 'mapcan'.
9376 2017-08-30  Michael Albinus  <michael.albinus@gmx.de>
9378         Improve symlinks for Tramp
9380         * lisp/files.el (files--splice-dirname-file): Quote whole file.
9382         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
9383         Do not expand TARGET, it could be remote.
9384         (tramp-sh-handle-file-truename): Check for cyclic symlink also
9385         in case of readlink.  Quote result if it looks remote.
9386         (tramp-sh-handle-file-local-copy): Use `file-truename'.
9388         * test/lisp/net/tramp-tests.el (tramp-test08-file-local-copy)
9389         (tramp-test09-insert-file-contents): Test also file missing.
9390         (tramp-test21-file-links): Extend test.
9392 2017-08-30  Martin Rudalics  <rudalics@gmx.at>
9394         Preserve display's foreground color when clearing internal borders (Bug#28278)
9396         * src/xterm.c (x_after_update_window_line): Preserve display's
9397         foreground color when clearing internal borders (Bug#28278).
9399 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
9401         Use cl-print for all values printed by `describe-variable'
9403         * lisp/help-fns.el (describe-variable): Use cl-prin1 for original and
9404         global values too.
9406 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
9408         Minor simplification for byte-compile-constant-push
9410         * lisp/emacs-lisp/bytecomp.el (byte-compile-constant): Move the meat
9411         of the code from here...
9412         (byte-compile-constant-push): ... to here.  No need to bind
9413         byte-compile--for-effect anymore.
9415 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
9417         Prefer file-name-quote to concat "/:"
9419         Suggested by Michael Albinus (Bug#28264#13).
9420         * lisp/files.el (files--splice-dirname-file): Use file-name-quote
9421         rather than attempting to do it by hand.
9423 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
9425         * configure.ac: fix typo in previous change
9427 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
9429         Be more conservative in link time optimization doc
9431         While testing --enable-link-time-optimization with GCC 7.1.1
9432         I ran into a serious GCC code-generation bug which makes me
9433         think that --enable-link-time-optimization should be
9434         discouraged for typical installs (Bug#28213).  See:
9435         https://bugzilla.redhat.com/show_bug.cgi?id=1486455
9437 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
9439         Make garbage collection more conservative
9441         Check for a pointer anywhere within the object, as opposed to just
9442         the start of the object.  This is needed for gcc -Os -flto on
9443         x86-64 (Bug#28213).  This change means that the garbage collector
9444         is more conservative, and will incorrectly keep objects that it
9445         does not need to, but that is better than incorrectly discarding
9446         objects that should be kept.
9447         * src/alloc.c (ADVANCE, VINDEX): Now functions, not macros;
9448         this is easier to debug.
9449         (setup_on_free_list): Rename from SETUP_ON_FREE_LIST.
9450         Now a function with two args, not a macro with three.
9451         All callers changed.
9452         (live_string_holding, live_cons_holding, live_symbol_holding)
9453         (live_misc_holding, live_vector_holding, live_buffer_holding):
9454         New functions, which check for any object containing the addressed
9455         byte, not just for an object at the given address.
9456         (live_string_p, live_cons_p, live_symbol_p, live_misc_p)
9457         (live_vector_p, live_buffer_p):
9458         Redefine in terms of the new functions.
9459         (live_float_p): Refactor slightly to match the new functions.
9460         (mark_maybe_object, mark_maybe_pointer): Use the new functions.
9461         Don’t bother checking mark bits, as mark_object already does that,
9462         and omitting the checks here simplifies the code.  Although
9463         mark_maybe_object can continue to insist that tagged pointers
9464         still address the start of the object, mark_maybe_pointer now is
9465         more conservative and checks for pointers anywhere into an object.
9467 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
9469         Improve stack-top heuristic
9471         This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part
9472         of the stack when scanning for heap roots, causing Emacs to crash
9473         later (Bug#28213).  The problem is that Emacs's hack for getting an
9474         address near the stack top does not work when link-time optimization
9475         moves stack variables around.
9476         * configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro.
9477         * lib-src/make-docfile.c (DEFUN_noinline): New constant.
9478         (write_globals, scan_c_stream): Support noinline.
9479         * src/alloc.c (NEAR_STACK_TOP): New macro.
9480         (SET_STACK_TOP_ADDRESS): Use it.
9481         (flush_stack_call_func, Fgarbage_collect): Now noinline.
9483 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
9485         Align stack bottom properly.
9487         This is needed for gcc -Os -flto on x86-64 (Bug#28213).
9488         * src/emacs.c (main): Align stack-bottom variable as a pointer,
9489         since mark_memory requires this.
9491 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
9493         Avoid spinning waiting for git-gui.exe on Windows
9495         * src/w32proc.c (waitpid): If GetExitCodeProcess returns
9496         STILL_ACTIVE, and we were called with WNOHANG, pretend that the
9497         process exited.  (Bug#28268)
9499 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
9501         Document '--module-assertions'
9503         * doc/emacs/cmdargs.texi (Initial Options): Document the
9504         '--module-assertions' command-line option.
9505         * doc/lispref/loading.texi (Dynamic Modules): Add a
9506         cross-reference to the description of '--module-assertions'.
9508         * etc/NEWS: Update the NEWS entry for --module-assertions.
9510 2017-08-29  Alan Third  <alan@idiocy.org>
9512         Add news entry about new macOS features
9514         * etc/NEWS: Add entry about ns-appearance, ns-transparent-titlebar and
9515         ns-use-thin-smoothing.
9517 2017-08-29  Alan Third  <alan@idiocy.org>
9519         Fix cross macOS version building (bug#28222)
9521         * src/macfont.h (CGContextSetFontSmoothingStyle): Function
9522         declaration.
9523         * src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.
9525 2017-08-29  Ben Bonfil  <bonfil@gmail.com>  (tiny change)
9527         Enable thin font smoothing in macOS (bug#28222)
9529         * src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing.
9530         * src/macfont.m (macfont_draw): Use font smoothing.
9532 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
9534         Minor improvement in documentation of display-line-numbers
9536         * doc/emacs/display.texi (Display Custom): Document the
9537         display-line-numbers-mode and related options.
9539 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
9541         Avoid aborting in 'waitpid' on MS-Windows
9543         * src/w32proc.c (waitpid): Don't allow quitting if called with
9544         WNOHANG in OPTIONS.  (Bug#28268)
9546 2017-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
9548         * lisp/progmodes/sh-script.el: Test "in-string" of the right char!
9550         (sh-syntax-propertize-function): Fix off-by-one error.
9551         Fixes bug#23526.
9553 2017-08-29  Rasmus  <rasmus@gmx.us>
9555         Update Org to v9.0.10
9557         Please see etc/ORG-NEWS for major changes. Note, this is a bugfix
9558         release.
9560 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
9562         Silence false alarms for symlinks to sources
9564         Problem reported by Glenn Morris (Bug#28264).
9565         * lisp/files.el (files--splice-dirname-file): New function.
9566         (file-truename, file-chase-links): Use it.
9568 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
9570         Simplify remove_slash_colon
9572         * src/process.c (remove_slash_colon): Simplify
9573         and avoid a special case for "/:" by itself.
9575 2017-08-28  Tassilo Horn  <tsdh@gnu.org>
9577         Remove font family from minibuffer-prompt face
9579         * etc/themes/tsdh-light-theme.el (tsdh-light): Remove font family from
9580         minibuffer-prompt face.
9582 2017-08-28  Michael Albinus  <michael.albinus@gmx.de>
9584         Further fixes in tramp-smb.el
9586         * lisp/net/tramp-smb.el (tramp-smb-handle-file-truename): New defun.
9587         (tramp-smb-file-name-handler-alist): Use it.
9588         (tramp-smb-handle-make-symbolic-link): Unquote target.
9590         * test/lisp/net/tramp-tests.el
9591         (tramp--test-ignore-make-symbolic-link-error): New defmacro.
9592         (tramp-test18-file-attributes, tramp-test21-file-links)
9593         (tramp--test-check-files): Use it.
9595 2017-08-28  Paul Eggert  <eggert@cs.ucla.edu>
9597         Don’t assume -g3 in .gdbinit
9599         * src/.gdbinit (EMACS_INT_WIDTH, USE_LSB_TAG):
9600         Use reasonable defaults if not in the symbol table.
9602 2017-08-28  Robert Pluim  <rpluim@gmail.com>  (tiny change)
9604         Use string-match to check for dotfiles in ido
9606         * lisp/ido.el (ido-make-file-list): Use string-match to check
9607         for dotfiles instead of substring, as when using tramp
9608         simplified syntax ido-temp-list may contain empty strings.
9610 2017-08-28  Mark Oteiza  <mvoteiza@udel.edu>
9612         Font-lock FDO desktop files correctly
9614         Single and double quotes do not have a special meaning in
9615         desktop files.
9616         https://standards.freedesktop.org/desktop-entry-spec/latest/
9617         * etc/NEWS: Mention new mode.
9618         * lisp/files.el (auto-mode-alist): Split out an entry for handling
9619         the .desktop extension with conf-desktop-mode.
9620         * lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
9621         variable with rules for booleans and format specifiers.
9622         (conf-unix-mode): Remove desktop file entry example from docstring.
9623         (conf-desktop-mode): New derived major mode.
9625 2017-08-27  Tom Tromey  <tom@tromey.com>
9627         Fix auto-fill bug in js-mode
9629         * lisp/progmodes/js.el (js-do-auto-fill): New function.
9630         (js-mode): Set normal-auto-fill-function.
9631         * test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New
9632         test.
9634 2017-08-27  Noam Postavsky  <npostavs@gmail.com>
9636         Disable completion while entering python multiline statements
9638         The "legacy" completion mechanism sends newlines to the running python
9639         process to get the list of completions, which confuses things if the
9640         user is in the middle of entering a multiline statement (Bug#28051).
9641         It's better to disable completion in this case.
9642         * lisp/progmodes/python.el (python-shell--block-prompt): New variable.
9643         (python-shell-prompt-set-calculated-regexps): Set it.
9644         (python-shell-completion-at-point): Return 'ignore' as the completion
9645         function when the current prompt is a block prompt.
9647 2017-08-27  Michael Albinus  <michael.albinus@gmx.de>
9649         Tramp cleanup
9651         * lisp/net/tramp-sh.el (tramp-sh-extra-args): Remove compat code.
9652         (tramp-sh-handle-make-symbolic-link): More robust check for
9653         TARGET remoteness.
9655         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
9656         Disable copying by tar temporarily, it doesn't work reliably.
9657         (tramp-smb-do-file-attributes-with-stat): Resolve symlink.
9658         (tramp-smb-handle-make-symbolic-link): Fix implementation.
9660         * lisp/net/tramp.el (tramp-handle-file-symlink-p): Simplify.
9662         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
9663         Extend test.
9665 2017-08-27  Glenn Morris  <rgm@gnu.org>
9667         Fix previous xterm.h change for non-gtk builds
9669         * src/xterm.h (GTK_CHECK_VERSION) [!USE_GTK]: Define it.
9671 2017-08-27  Philipp Stephani  <phst@google.com>
9673         Fix GdkSettings-related deprecation warnings
9675         * src/gtkutil.c (xg_initialize): Don’t set deprecated and ignored
9676         gtk-menu-bar-accel setting in new versions of GTK+.  Use g_object_set
9677         instead of deprecated gtk_settngs_set_string_property otherwise.
9679 2017-08-27  Philipp Stephani  <phst@google.com>
9681         Always use gtk_window_move in new versions
9683         * src/gtkutil.c (my_log_handler): Don’t define in new versions of
9684         GTK+.
9685         (xg_set_geometry): Always use gtk_window_move in new versions of GTK+.
9687         * src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
9688         is ignored.
9690         * lisp/subr.el (x-gtk-use-window-move): Make obsolete.
9692 2017-08-27  Charles A. Roelli  <charles@aurox.ch>
9694         Fix 'diff-goto-source' when buffer is narrowed (Bug#21262)
9696         * lisp/vc/diff-mode.el (diff-find-file-name): Save the current
9697         narrowing, and widen the buffer before searching for the name of the
9698         file corresponding to the diff.
9700         With thanks to Noam Postavsky.
9702 2017-08-27  Philipp Stephani  <phst@google.com>
9704         Remove use of a deprecated GTK+ function in new versions
9706         * src/gtkutil.c (xg_make_tool_item): Use gtk_widget_set_focus_on_click
9707         if available
9709 2017-08-27  Philipp Stephani  <phst@google.com>
9711         Stop using deprecated GdkScreen monitor functions in newer GDK
9713         * src/xfns.c (Fx_display_monitor_attributes_list): Use GdkMonitor
9714         objects instead of the deprecated GdkScreen functions in GDK 3.22+
9716 2017-08-27  Philipp Stephani  <phst@google.com>
9718         Use GdkSeat in new GDK versions
9720         * src/gtkutil.c (xg_event_is_for_scrollbar): Use GdkSeat instead of
9721         GdkDeviceManager in GDK 3.20+
9723 2017-08-27  Philipp Stephani  <phst@google.com>
9725         * src/xterm.c (XTflash): Don’t use gdk_cairo_create in GDK 3.22+
9727 2017-08-27  Philipp Stephani  <phst@google.com>
9729         Remove call of deprecated GDK function
9731         * src/xterm.h (XSync): Don’t call gdk_window_process_all_updates in
9732         GDK 3.22 or later.
9734 2017-08-27  Alan Mackenzie  <acm@muc.de>
9736         Amend the CC Mode macro cache to cope with changes at the macro start
9738         Fixes bug #28233.
9740         * lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Fix an off-by-1
9741         error.
9743 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
9745         Fix over-protection of byte-compiled files
9747         Problem reported by Sven Joachim (Bug#28244).
9748         Also, fix similar problem for autoload files.
9749         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
9750         Set temp file modes to the buffer-file-name file modes (or 666
9751         if not available) as adjusted by umask.
9752         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
9753         Set temp file modes to 666 as adjusted by umask.
9755 2017-08-27  Tom Tromey  <tom@tromey.com>
9757         Refine conf-toml-mode font-lock
9759         Bug#28218
9760         * lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use
9761         conf-toml-recognize-section.  Use \s- in variable regexp.
9762         (conf-toml-recognize-section): New function.
9764 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
9766         Do not munge contents of local symbolic links
9768         This lets Emacs deal with arbitrary local symlinks without
9769         mishandling their contents (Bug#28156).  For example,
9770         (progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
9771         now consistently creates a symbolic link from '/tmp/x' to '~'.
9772         Formerly, it did that only if the working directory was on the
9773         same filesystem as /tmp; otherwise, it expanded the '~' to
9774         the user's home directory.
9775         * lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
9776         instead of rolling our own code.
9777         * lisp/files.el (files--name-absolute-system-p): New function.
9778         (file-truename, file-chase-links): Use it to avoid mishandling
9779         symlink contents that begin with ~.
9780         (copy-directory, move-file-to-trash):
9781         Use concat rather than expand-file-name, to avoid mishandling
9782         symlink contents that begin with ~.
9783         * src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
9784         target unless interactive.  Strip leading "/:" if interactive.
9785         (emacs_readlinkat): Do not prepend "/:" to the link target if
9786         it starts with "/" and contains ":" before NUL.
9787         * test/src/fileio-tests.el (try-link): Rename from try-char,
9788         and accept a string instead of a char.  All uses changed.
9789         (fileio-tests--symlink-failure): Also test leading ~, and "/:",
9790         to test the new behavior.
9792 2017-08-27  Reuben Thomas  <rrt@sc3d.org>
9794         Remove invalid regexp for shell builtins for wksh
9796         * lisp/progmodes/sh-script.el (sh-builtins): Shell built-ins have to
9797         be literal strings, so remove a regexp for wksh. In any case, it’s a
9798         defunct proprietary shell.
9800 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
9802         Improve doc for file-name-absolute-p.
9804 2017-08-26  Michael Albinus  <michael.albinus@gmx.de>
9806         Fix Tramp part of Bug#28156
9808         * lisp/files.el (file-name-non-special): Use `file-name-quote'
9809         instead prefixing "/:", the file could already be quoted.
9811         * lisp/net/tramp.el (tramp-error): Handle null arguments.
9812         (tramp-handle-make-symbolic-link):
9813         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
9814         (tramp-sh-handle-add-name-to-file):
9815         * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
9816         (tramp-smb-handle-make-symbolic-link): Adapt implementation to
9817         stronger semantics in Emacs.  (Bug#28156)
9819         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
9820         Extend test.
9822 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
9824         Fix bugs merged with bug#25428
9826         * lisp/simple.el (auto-fill-mode, visual-line-mode): Doc fix.
9827         (Bug#13926)  (Bug#25434)  (Bug#25435)
9829 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
9831         Improve documentation of Info virtual files and nodes
9833         * lisp/info.el (Info-virtual-files, Info-virtual-nodes): Doc fix.
9834         (Bug#28237)
9836 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
9838         * lisp/delsel.el (delete-selection-mode): Doc fix.  (Bug#25428)
9840 2017-08-26  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)
9842         Support multi-lingual detection of SEE ALSO man sections
9844         * lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO
9845         section detection in several langages: French, German, Spanish,
9846         Portugese, Italian, Polish, Turkish, Japanese, Chinese.  (Bug#28142)
9848 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
9850         Improve expand-file-name doc
9852         * doc/lispref/files.texi (Relative File Names, Directory Names)
9853         (File Name Expansion):
9854         * doc/lispref/minibuf.texi (Reading File Names):
9855         Document expand-file-name behavior with ~ more clearly
9856         and accurately.
9857         * doc/misc/org.texi (Batch execution): Simplify example
9858         script so that it does not need expand-file-name and thus
9859         will not mishandle file names with leading ~.
9861 2017-08-26  Jefferson Carpenter  <jeffersoncarpenter2@gmail.com>  (tiny change)
9863         Support all perl variable declarators and prefixes (Bug#27613)
9865         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
9866         (perl-font-lock-keywords-2): Match declators 'anon', 'argument', 'has',
9867         'local', 'state', 'supersede', 'let', and 'temp'.
9869 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9871         Fix file-attributes race on GNU hosts
9873         * doc/lispref/files.texi (File Attributes):
9874         Document file-attributes atomicity.
9875         * etc/NEWS: Document the fix.
9876         * src/dired.c (file_attributes): New args DIRNAME and FILENAME,
9877         for diagnostics.  All callers changed.  On platforms like
9878         GNU/Linux that support O_PATH, fix a race condition in
9879         file-attributes and similar functions, so that these functions do
9880         not return nonsense if a directory entry is replaced while getting
9881         its attributes.  On non-GNU platforms, do a better (though not
9882         perfect) job of detecting the race, and return nil if detected.
9884 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9886         Simplify expand_and_dir_to_file
9888         * src/fileio.c (expand_and_dir_to_file): Simplify by omitting 2nd
9889         argument, since in practice it always has the default value.  All
9890         callers changed.  Prefer C99 style decls in nearby code.
9892 2017-08-25  Eli Zaretskii  <eliz@gnu.org>
9894         Fix file-name completion on network shares
9896         * src/w32.c (faccessat): Don't assume that F_OK is non-zero.
9897         (Bug#28207)
9899 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
9901         Fix a FIXME with an exegetical comment
9903         * lisp/progmodes/sh-script.el (sh-builtins): Explain why we have a
9904         regexp for wksh builtins.
9906 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
9908         Minor docstring language fix
9910         * lisp/progmodes/sh-script.el (sh-show-indent): Remove spurious “the”.
9912 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
9914         Remove old commented code from sh-script.el
9916         * lisp/progmodes/sh-script.el (sh-abbrevs): Remove commented function
9917         and variable, commented since 2001.
9919 2017-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
9921         * lisp/emacs-lisp/package.el: Don't let failure stop us
9923         (package-activate-1): Don't throw an error for missing deps.
9924         (package-unpack): Don't bother compiling if activation failed.
9925         (package-initialize): Report failures but keep activating other packages.
9927 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9929         Prefer ‘double’ for FP temps in xterm.c
9931         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
9932         (x_set_toolkit_scroll_bar_thumb)
9933         (x_set_toolkit_horizontal_scroll_bar_thumb): Prefer ‘double’ to
9934         ‘float’ for individual local floating-point temporaries.
9936 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
9938         Avoid using string-to-multibyte in ispell.el
9940         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Use
9941         decode-coding-string instead. Note that decode-coding-string returns a
9942         string that satisfies multibyte-string-p even if its input is pure
9943         ASCII and the third argument is t, so the result of
9944         ispell-get-decoded-string is always a multibyte string.
9946 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
9948         Store the regexp just when there are matches
9950         * lisp/hi-lock.el (hi-lock-set-pattern): When font-lock-mode is
9951         disabled and there are no matches do not store REGEXP
9952         in hi-lock-interactive-patterns.
9954 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
9956         Keep face available if there are no matches
9958         If font-lock-mode is disabled in the current buffer, and
9959         there are no matches for REGEXP, then keep FACE available
9960         for a next search.
9961         * lisp/hi-lock.el (hi-lock-set-pattern): Add FACE into
9962         hi-lock--unused-faces if font-lock-mode is disabled and
9963         there are no matches.
9964         * test/lisp/hi-lock-tests.el (hi-lock-test-set-pattern): Add test.
9966 2017-08-24  Michael Albinus  <michael.albinus@gmx.de>
9968         Minor improvements for tramp-interrupt-process, documentation
9970         * doc/lispref/processes.texi (Signals to Processes):
9971         * etc/NEWS: Document interrupt-process-functions.
9973         * lisp/net/tramp.el (tramp-interrupt-process): Test also for
9974         `process-live-p'.
9976         * src/process.c (Vinterrupt_process_functions): Fix docstring.
9978         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
9979         Extend test.
9981 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
9983         Fix a comment whitespace typo.
9985         src/fileio.c: A double space was added after "..", used in a code
9986         example. Make it a single space.
9988 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
9990         Remove old commented code and obsolete comments
9992         * lisp/files.el (locate-dominating-files): Remove old commented
9993         implementation from 9 years ago.  Since the current version
9994         appears (at least to me) not just more efficient but clearer than the
9995         version removed, also delete a comment in the new version referring to
9996         the old version. Remove old commented heuristic code,
9997         and explanatory comments.
9999 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
10001         Remove old duplicate commented code
10003         * lisp/files.el (file-relative-name): Remove old commented version,
10004         replaced 14 years ago in commit 753ad9889.
10006 2017-08-24  Tom Tromey  <tom@tromey.com>
10008         Add conf-toml-mode
10010         * etc/NEWS: Mention conf-toml-mode.
10011         * lisp/files.el (auto-mode-alist): Add entry for .toml.
10012         * lisp/textmodes/conf-mode.el (conf-toml-mode-syntax-table)
10013         (conf-toml-font-lock-keywords): New defvars.
10014         (conf-toml-mode): New mode.
10016 2017-08-23  Alan Third  <alan@idiocy.org>
10018         Use lisp type in log message (bug#28176)
10020         * src/nsimage.m (ns_load_image): Use make_number on index.
10022 2017-08-23  Alan Third  <alan@idiocy.org>
10024         Fix PNGs on macOS (bug#28176)
10026         * src/nsimage.m (ns_load_image): Remove index check.
10027         (EmacsImage::getAnimatedBitmapImageRep): New function.
10028         (EmacsImage::getMetadata): Use getAnimatedBitmapImageRep.
10029         (EmacsImage::setFrame): Use getAnimatedBitmapImageRep and check index
10030         is valid.
10032 2017-08-23  Alan Third  <alan@idiocy.org>
10034         Add ability to change macOS WM theme (bug#27973)
10036         * src/frame.c (make_frame, frame_parms, syms_of_frame)
10037         [NS_IMPL_COCOA]: Add ns-appearance and ns-transparent-titlebar
10038         options.
10039         * src/frame.h (ns_appearance_type) [NS_IMPL_COCOA]: Add enum to
10040         represent NSAppearance options.
10041         (struct frame) [NS_IMPL_COCOA]: Add ns_appearance and
10042         ns_transparent_titlebar frame parameters.
10043         * src/nsfns.m (ns_frame_parm_handlers) [NS_IMPL_COCOA]: Add
10044         ns_set_appearance and ns_set_transparent_titlebar handlers.
10045         (Sx_create_frame): Handle ns-appearance and ns-transparent-titlebar
10046         frame parameters.
10047         (Qdark): Add new symbol for use with ns-appearance.
10048         * src/nsterm.h (ns_set_appearance, ns_set_transparent_titlebar)
10049         [NS_IMPL_COCOA]: Add prototypes.
10050         * src/nsterm.m (ns_set_appearance, ns_set_transparent_titlebar)
10051         [NS_IMPL_COCOA]: New functions.
10052         (initFrameFromEmacs) [NS_IMPL_COCOA]: Handle ns-appearance and
10053         ns-transparent-titlebar frame parameters.
10054         * doc/lispref/frames.texi (Window Management Parameters): Document
10055         ns-apperance and ns-transparent-titlebar.
10057 2017-08-22  Alan Mackenzie  <acm@muc.de>
10059         When looking for the end of a declarator, prevent macros fouling up the search
10061         The practical implication of this bug was a random jit-lock chunk remaining
10062         entirely unfontified.
10064         * lisp/progmodes/cc-mode.el (c-fl-decl-end): If point starts inside a macro,
10065         restrict two forward searches to the end of that macro.
10067 2017-08-22  Michael Albinus  <michael.albinus@gmx.de>
10069         Test `file-expand-wildcards' for Tramp
10071         * lisp/net/tramp-compat.el (tramp-advice-file-expand-wildcards):
10072         Remove, not needed anymore.
10074         * test/lisp/net/tramp-tests.el (top): Require seq.el.
10075         (tramp-test16-directory-files): Simplify.
10076         (tramp-test16-file-expand-wildcards): New test.
10077         (tramp-test28-interrupt-process): Skip for older Emacsen.
10079 2017-08-22  Alexander Gramiak  <agrambot@gmail.com>
10081         Add tests for cl-macs.el (Bug#27559)
10083         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-loop): Remove
10084         duplicate.
10085         (cl-loop-destructuring-with): Move to cl-macs-tests.el.
10086         * test/lisp/emacs-lisp/cl-macs-tests.el: New file.
10088 2017-08-22  Noam Postavsky  <npostavs@gmail.com>
10090         Optimize skkdic conversion (Bug#28043)
10092         The primary speedup comes from the optimizing lookup-nested-alist and
10093         set-nested-alist for the case where the key is a string.  This brings
10094         the time down to less than half the original.
10096         * lisp/international/mule-util.el (lookup-nested-alist)
10097         (set-nested-alist): Use `assq' instead of `assoc' when KEYSEQ is a
10098         string.
10100         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
10101         (skkdic-convert-okuri-nasi): Use progress-reporter functions instead
10102         of calculating ratio of work done inline.
10104         (skkdic-reduced-candidates): Call `char-category-set' on the first
10105         character of the string directly, instead of using a regexp for the
10106         character category.
10107         (skkdic--japanese-category-set): New constant.
10108         (skkdic-collect-okuri-nasi): Just set
10109         `skkdic-okuri-nasi-entries-count' at once at the end rather than
10110         updating it throughout the loop.
10112         (skkdic-convert-postfix skkdic-convert-prefix)
10113         skkdic-get-candidate-list, skkdic-collect-okuri-nasi)
10114         (skkdic-extract-conversion-data): Use `match-string-no-properties'
10115         instead of `match-string'.
10117 2017-08-22  Reuben Thomas  <rrt@sc3d.org>
10119         Treat tests in lib-src like tests in src
10121         * test/Makefile.in (test_template): Depend on a .c source file for a
10122         test under lib-src, as for src.  (Thanks, Glenn Morris for pointing me
10123         in the right direction.)
10125 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
10127         Port /bin/sh scripts to Solaris 10
10129         Its /bin/sh builtin ‘test’ command does not support -e.
10130         * autogen.sh, build-aux/git-hooks/pre-commit:
10131         * build-aux/gitlog-to-emacslog, make-dist:
10132         Use test -r, not test -e.
10134 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
10136         Avoid losing the buffer restriction in flyspell-mode
10138         * src/intervals.c (get_local_map): Don't allow C-g to quit as long
10139         as we have the buffer widened, to make sure the restriction is
10140         preserved.  (Bug#28161)
10142 2017-08-21  Sven Joachim  <svenjoac@gmx.de>
10144         Fix the 'versionclean' target in src/Makefile
10146         * src/Makefile.in (versionclean): Don't accidentally remove
10147         emacs-module.h.  (Bug#28169)
10149 2017-08-21  Michael Albinus  <michael.albinus@gmx.de>
10151         Implement `interrupt-process-functions'
10153         * lisp/net/tramp.el (tramp-interrupt-process): Rename from
10154         `tramp-advice-interrupt-process'.  Adapt according to changed API.
10155         (top): Add it to `interrupt-process-functions'.
10157         * src/process.c (Finternal_default_interrupt_process): New defun.
10158         (Finterrupt_process): Change implementation, based on
10159         Vinterrupt_process_functions.
10160         (Vinterrupt_process_functions): New defvar.
10162         * test/lisp/net/tramp-tests.el (tramp-test40-unload): Do not
10163         test removal of advice.
10165 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
10167         Avoid floating-point exceptions while drawing underwave
10169         * src/w32term.c (x_get_scale_factor):
10170         * src/xterm.c (x_get_scale_factor): Don't let the scale factors
10171         become less than 1.  Reported by Yuri D'Elia <wavexx@thregr.org> in
10172         https://lists.gnu.org/r/emacs-devel/2017-08/msg00459.html.
10174 2017-08-21  Sam Steingold  <sds@gnu.org>
10176         mark flymake-mode as safe local variable when the value is nil
10178 2017-08-21  Sam Steingold  <sds@gnu.org>
10180         allow nil init in flymake-allowed-file-name-masks to disable flymake
10182         (flymake-allowed-file-name-masks): Update doc and :type.
10183         (flymake-get-file-name-mode-and-masks): Handle nil init.
10185 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
10187         Remove the workaround for bug#20719
10189         * lisp/cedet/semantic/symref/grep.el
10190         (semantic-symref-grep-use-template): Remove the workaround for
10191         bug#20719, it's been fixed for a while now.
10193 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
10195         Fix byte-compilation warnings in semantic/symref/grep
10197         * lisp/cedet/semantic/symref/grep.el (greppattern): Remove.
10198         (grepflags): Rename to semantic-symref-grep-flags.
10199         (semantic-symref-grep-expand-keywords): Update accordingly.
10200         (semantic-symref-grep-use-template): Remove the last two
10201         arguments to make sure they don't shadow the (not renamed)
10202         global variables.
10203         (semantic-symref-perform-search)
10204         (semantic-symref-parse-tool-output-one-line): Use slot names
10205         instead of keywords, like the byte-compiler wants us to.
10207 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
10209         Simplify eldoc-message
10211         * lisp/emacs-lisp/eldoc.el (eldoc-message): Simplify.
10212         Don't use ARGS because no callers pass them.  Discussed in bug#27230.
10214 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
10216         Work around w32-python-2.x bug to fix prompt detection (Bug#21376)
10218         * lisp/progmodes/python.el (python-shell-prompt-detect): Don't put
10219         carriage returns into the temporary file when running in unbuffered
10220         mode, the w32 build of python 2.7 chokes on them.
10222 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
10224         Add missing require
10226         * lisp/textmodes/ispell.el: Require subr-x. (Thanks, Eli Zaretskii.)
10228 2017-08-20  Michael Albinus  <michael.albinus@gmx.de>
10230         Implement `interrupt-process' for remote processes (Bug#28066)
10232         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process):
10233         Support sending signals remotely.
10234         (tramp-open-connection-setup-interactive-shell):
10235         Trace "remote-tty" connection property.
10237         * lisp/net/tramp.el (tramp-advice-interrupt-process): New defun.
10238         (top): Add advice to `interrupt-process'.  (Bug#28066)
10240         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
10241         New test.
10242         (tramp-test29-shell-command)
10243         (tramp-test30-environment-variables)
10244         (tramp-test30-environment-variables-and-port-numbers)
10245         (tramp-test31-explicit-shell-file-name)
10246         (tramp-test32-vc-registered)
10247         (tramp-test33-make-auto-save-file-name)
10248         (tramp-test34-make-nearby-temp-file)
10249         (tramp-test35-special-characters)
10250         (tramp-test35-special-characters-with-stat)
10251         (tramp-test35-special-characters-with-perl)
10252         (tramp-test35-special-characters-with-ls, tramp-test36-utf8)
10253         (tramp-test36-utf8-with-stat, tramp-test36-utf8-with-perl)
10254         (tramp-test36-utf8-with-ls)
10255         (tramp-test37-asynchronous-requests)
10256         (tramp-test38-recursive-load, tramp-test39-remote-load-path)
10257         (tramp-test40-unload): Rename.
10258         (tramp-test40-unload): Test also removal of advice.
10260 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
10262         Document Enchant support
10264         * doc/emacs/fixit.texi: Mention Enchant.
10265         * doc/misc/efaq.texi: Likewise.
10266         * etc/NEWS: Add an item on Enchant support.
10268 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
10270         Remove old comments and a redundant FIXME
10272         * lisp/textmodes/ispell.el (ispell-process-line): Remove some old
10273         commented code, a redundant FIXME, and outdated usage instructions.
10275 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
10277         Add Enchant support to ispell.el (Bug#17742)
10279         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
10280         (ispell-really-enchant): Add variable.
10281         (ispell-check-version): If using Enchant, check it’s new enough (at
10282         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
10283         without.)
10284         (ispell-enchant-dictionary-alist): Add variable.
10285         (ispell-find-enchant-dictionaries): Add function, based on
10286         ispell-find-aspell-dictionaries.
10287         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
10288         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
10289         old ispell name to locale mapping code for Enchant too.
10290         (ispell-send-replacement): Make it work with Enchant.
10292 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
10294         * lisp/term.el (term-mode): Use `window-text-height' (Bug#5615).
10296 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
10298         Stop printing '4' in .elc files after 'define-symbol-prop' calls
10300         * lisp/emacs-lisp/bytecomp.el (byte-compile-define-symbol-prop):
10301         Return nil in case we have compiled the form, to prevent a redundant
10302         constant from getting added to the compiled output.
10304 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
10306         Change recent symlink tests to just test ASCII
10308         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
10309         Be less ambitious about testing non-ASCII chars and encoding
10310         errors, as there are too many portability issues.
10312 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
10314         Don’t adjust CRLF in file names
10316         * doc/misc/gnus.texi (Non-ASCII Group Names):
10317         * etc/NEWS:
10318         * test/lisp/net/tramp-tests.el (tramp--test-utf8):
10319         Use utf-8-unix, not utf-8, for default-file-name-coding-system, so
10320         that CRLF in file names is left alone.
10321         * lisp/international/mule-cmds.el (set-default-coding-systems):
10322         Do not alter CRLF in file name coding systems.
10323         (prefer-coding-system): Ignore differences in CRLF processing when
10324         checking whether we used the user-specified file name coding system.
10325         * test/src/fileio-tests.el: New file.
10327 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
10329         Make list-processes support display-line-numbers
10331         * lisp/simple.el (process-menu-mode): Move the call to
10332         tabulated-list-init-header from here...
10333         (list-processes--refresh): ...to here.  (Bug#27895)
10335 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
10337         Improve support of display-line-numbers in package.el
10339         * lisp/emacs-lisp/package.el (package-menu--refresh): Redisplay
10340         the header.  (Bug#27895)
10341         * lisp/emacs-lisp/tabulated-list.el
10342         (tabulated-list-line-number-width): Fix the case when
10343         display-line-numbers is nil.
10345 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
10347         Improve support of display-line-numbers in tabulated-list-mode
10349         * lisp/emacs-lisp/tabulated-list.el
10350         (tabulated-list-line-number-width): New function.
10351         (tabulated-list-init-header, tabulated-list-print-entry): Use it.
10352         (Bug#27895)
10354 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
10356         Fix one more issue reported by Alex (Bug#27999)
10358         * doc/lispref/windows.texi (Preserving Window Sizes)
10359         (Window Parameters): Use the term `window-preserved-size'
10360         instead of `preserved-size' (Bug#27999).
10362 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
10364         Rename `no-delete-other-window' to `no-delete-other-windows'
10366 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
10368         Fix two side window problems noted by Alex (Bug#27999)
10370         * lisp/window.el (display-buffer-in-side-window): Fix doc-string
10371         typo.
10372         (delete-other-windows): Rename the `no-delete-other-window'
10373         parameter to `no-delete-other-windows' (see the discussion in
10374         Bug#27999 for the rationale of this change).
10375         * doc/lispref/windows.texi (Deleting Windows)
10376         (Frame Layouts with Side Windows, Window Parameters): Rename
10377         `no-delete-other-window' to `no-delete-other-windows'.
10379 2017-08-19  Alex Schroeder  <alex@gnu.org>
10381         Use define-minor-mode for rcirc-omit-mode
10383 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10385         Clarify behavior of symlinks and directories
10387         * doc/lispref/files.texi (Saving Buffers): Document how functions
10388         like rename-file work with symlinks and directories.  This patch
10389         attempts to document the current behavior better, in preparation
10390         for possibly changing it.  See Bug#27986.
10392 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10394         Fix recently-introduced file descriptor leak
10396         * src/fileio.c (Fmake_temp_file_internal):
10397         Don’t leak a file descriptor if write_region signals an error.
10399 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10401         Improve make-temp-file performance on local files
10403         * lisp/files.el (make-temp-file): Let make-temp-file-internal do
10404         the work of inserting the text.
10405         * src/fileio.c (Fmake_temp_file_internal): New arg TEXT.
10406         All callers changed.
10408 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
10410         Don't lose arguments to eshell aliases (Bug#27954)
10412         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Use ARGS.
10414 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
10416         * lisp/files.el (make-temp-file): Fix directory use case.
10418 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
10420         Fix and document make-temp-file optional text parameter
10422         * lisp/files.el (make-temp-file): Fix initial TEXT parameter.
10423         (files--make-magic-temp-file): Support optional TEXT parameter.
10424         * etc/NEWS: Document it.
10425         * doc/lispref/files.texi: Document it.
10426         * test/lisp/auth-source-tests.el: Minor reformat.
10428 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
10430         * test/lisp/auth-source-tests.el: Avoid `string-join' to be simple.
10432         * test/lisp/auth-source-tests.el: Minor cleanups to use CL.
10434 2017-08-19  João Távora  <joaotavora@gmail.com>
10436         Fix default value of electric-pair-pairs and electric-pair-text-pairs
10438         (Bug#24901)
10440         A previous change, titled "Add support for curly quotation marks to
10441         electric-pair-mode", attempted to add these characters to the default
10442         value of these variables.  But it did so in a quoted list, preventing
10443         evaluation of the relevant expressions and resulting in an invalid
10444         format.
10446         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs):
10447         Use backquote and comma.
10449 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
10451         * lisp/elec-pair.el (electric-pair-text-pairs): Don't autoload (Bug#24901).
10453         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Require `elec-pair'
10454         explicitly in the interactive case.
10456 2017-08-19  Mats Lidell  <mats.lidell@cag.se>
10458         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
10460 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
10462         Add auth-source tests and codify its API better
10464         The auth-source behavior was unclear in some API use cases, so these
10465         extra tests codify and test it. For details see
10466         https://github.com/DamienCassou/auth-password-store/issues/29
10468         * lisp/files.el (make-temp-file): Add new initial TEXT parameter.
10469         * test/lisp/auth-source-tests.el (auth-source-test-searches): Add
10470           auth-source tests and simplify them with the new `make-temp-file'.
10472 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
10474         Don't call the same hook twice due to obsolete aliases
10476         * lisp/international/robin.el (robin-activate):
10477         * lisp/international/quail.el (quail-activate):
10478         * lisp/international/mule-cmds.el (deactivate-input-method):
10479         * lisp/emulation/viper-init.el (viper-deactivate-input-method):
10480         Don't call the same hook twice, when the obsolete and the
10481         advertised symbols are aliased.  (Bug#28118)
10483 2017-08-18  Felipe Ochoa  <felipe@fov.space>  (tiny change)
10485         A new face for show-paren in expression mode
10487         * lisp/faces.el (show-paren-match-expression): Define the new face.
10488         * lisp/paren.el (show-paren-function): Apply the different face
10489         when in expression mode.  (Bug#28047)
10491 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
10493         Non-ASCII support for man page section and header names
10495         * lisp/man.el (Man-name-regexp, Man-page-header-regexp)
10496         (Man-heading-regexp): Replace ASCII character classes by
10497         equivalent classes that allow non-ASCII characters.  Suggested by
10498         Grégory Mounié <Gregory.Mounie@imag.fr>.  (Bug#27978)
10500 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
10502         Implement HiDPI support for underwave on MS-Windows
10504         * src/w32term.c (x_get_scale_factor): New function.
10505         (w32_draw_underwave): Use it.
10506         * src/xterm.c (x_draw_underwave): Offset the wave starting point
10507         to make it identical with original code.
10509 2017-08-18  Stephen Pegoraro  <spegoraro@tutive.com>  (tiny change)
10511         Support HiDPI displays for wave style underlines
10513         * src/xterm.c (x_draw_underwave): Compute height, length and thickness
10514         based on scale factor.
10515         (x_get_scale_factor): New function.
10517 2017-08-18  Bastien  <bzg@gnu.org>
10519         Delete library-of-babel.org
10521         * etc/org/library-of-babel.org: Delete file.
10523 2017-08-18  Glenn Morris  <rgm@gnu.org>
10525         * doc/emacs/files.texi (Copying and Naming): Avoid confusing texi2pdf.
10527 2017-08-18  Noam Postavsky  <npostavs@gmail.com>
10529         Remove custom version parsing from epg-config.el (Bug#27963)
10531         * lisp/epg-config.el (epg-config--compare-version)
10532         (epg-config--parse-version): Remove.
10533         (epg-check-configuration): Use `version<=' instead.
10535 2017-08-18  Mark Oteiza  <mvoteiza@udel.edu>
10537         Treat control characters in JSON strings as invalid
10539         * lisp/json.el (json-peek): Reduce to following-char.
10540         (json-pop, json-read): Zero (null char) means end of file.
10541         (json-read-escaped-char): Delimit URL properly.
10542         (json-read-string): Signal error for ASCII control characters.
10543         * test/lisp/json-tests.el (test-json-peek): Check for zero instead of
10544         :json-eof symbol.
10545         (test-json-read-string): New test for control characters in JSON
10546         strings.
10548 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
10550         Support Posix semantics of 'rename' on MS-Windows
10552         * src/w32.c (sys_rename_replace): Support Posix semantics of
10553         'rename': return an error if OLD is a directory while NEW is not,
10554         or vice versa.
10556 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
10558         * src/w32.c (sys_rename_replace): Support renaming a directory.
10560 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
10562         Fix the MS-Windows build
10564         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_open): Omit Gnulib module
10565         'open'.
10567         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Restore definition.
10569 2017-08-17  João Távora  <joaotavora@gmail.com>
10571         Add flymake-backends defcustom
10573         * lisp/progmodes/flymake-proc.el (flymake-proc-can-syntax-check-buffer):
10574         Rename from flymake-can-syntax-check-file.  Suitable for adding to
10575         flymake-backends.
10576         (flymake-proc-start-syntax-check): Rename from
10577         flymake-start-syntax-check.  Don't check again if buffer can be
10578         checked.
10579         (add-to-list flymake-backends): Hook only flymake-ui.el
10581         * lisp/progmodes/flymake-ui.el (flymake-backends): New
10582         defcustom.
10583         (flymake-on-timer-event, flymake-after-change-function)
10584         (flymake-after-save-hook, flymake-find-file-hook): Call new
10585         flymake--start-syntax-check-buffer and
10586         flymake--can-syntax-check-buffer.
10587         (flymake-mode): Call flymake--can-syntax-check-buffer and set
10588         flymake-backend.
10589         (flymake--backend): New buffer-local variable.
10591 2017-08-17  João Távora  <joaotavora@gmail.com>
10593         Split flymake.el into flymake-proc.el and flymake-ui.el
10595         flymake.el is now a stub that requires both files.
10597         * lisp/progmodes/flymake-proc.el: New file.
10599         * lisp/progmodes/flymake-ui.el: New file.
10601         * lisp/progmodes/flymake.el: Split into flymake-ui.el and
10602           flymake-proc.el.  Require both files.
10604 2017-08-17  Michael Albinus  <michael.albinus@gmx.de>
10606         Set `default-directory' for watchdog in tramp-test.el
10608         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
10609         Set `default-directory' for watchdog.
10611 2017-08-17  Andreas Schwab  <schwab@suse.de>
10613         * lisp/term/konsole.el: New file.
10615 2017-08-17  Noam Postavsky  <npostavs@gmail.com>
10617         * lisp/woman.el (woman-push, woman-pop): Remove.  (Bug#27962)
10619         (woman2-RS): Use plain `push' instead of `woman-push'.
10620         (woman2-RE): Conditionally `pop' instead of `woman-pop'.
10622 2017-08-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
10624         Merge from Gnulib; use ‘open’ for O_CLOEXEC
10626         This incorporates:
10627         2017-08-15 renameat: ensure declaration in <stdio.h> on NetBSD
10628         2017-08-15 extensions: enable NetBSD specific extensions
10629         2017-08-14 open: support O_CLOEXEC
10630         2017-08-13 reallocarray: new module
10631         * admin/merge-gnulib (AVOIDED_MODULES): Remove ‘open’, since
10632         it now supports O_CLOEXEC and this simplifies Emacs.
10633         * build-aux/config.guess, lib/fcntl.in.h, lib/stdio.in.h:
10634         * lib/stdlib.in.h, m4/extensions.m4, m4/stdlib_h.m4:
10635         Copy from Gnulib.
10636         * lib/cloexec.c, lib/cloexec.h, lib/open.c:
10637         * m4/mode_t.m4, m4/open-cloexec.m4, m4/open.m4:
10638         New files, copied from Gnulib.
10639         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
10640         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]:
10641         Remove, as Gnulib does this for us.
10642         * src/filelock.c (create_lock_file):
10643         * src/sysdep.c (emacs_open, emacs_pipe):
10644         Don’t worry about O_CLOEXEC == 0, as Gnulib no longer sets it to 0.
10646 2017-08-16  Alan Third  <alan@idiocy.org>
10647             Charles A. Roelli  <charles@aurox.ch>
10649         Allow use of run-time OS version checks on macOS (bug#27810)
10651         * src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS.
10652         (MAC_OS_X_VERSION_10_6, MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8,
10653         MAC_OS_X_VERSION_10_9, MAC_OS_X_VERSION_10_12, HAVE_NATIVE_FS): Remove
10654         defines.
10655         (NSWindowStyleMaskFullScreen,
10656         NSWindowCollectionBehaviorFullScreenPrimary,
10657         NSApplicationPresentationFullScreen,
10658         NSApplicationPresentationAutoHideToolbar): Define in macOS 10.6.
10659         * src/nsterm.m (colorForEmacsRed, colorUsingDefaultColorSpace,
10660         check_native_fs, ns_read_socket, ns_select, runAlertPanel,
10661         initFrameFromEmacs, windowDidMiniaturize, windowDidEnterFullScreen,
10662         windowDidExitFullScreen, isFullscreen, updateCollectionBehavior,
10663         toggleFullScreen, constrainFrameRect, scrollerWidth, syms_of_nsterm):
10664         Allow use of run-time checks and replace version check macros.
10665         * src/nsfns.m (ns_screen_name): Use run-time OS version checks.
10666         * src/macfont.m (macfont_draw): Use run-time OS version checks.
10667         * src/nsmenu.m (menuWillOpen): Use run-time OS version checks.
10669 2017-08-16  Alan Third  <alan@idiocy.org>
10671         Add multiframe image support to NS port (bug#21714)
10673         * src/nsimage.m (ns_load_image): Handle multiple frames.
10674         (EmacsImage::getMetadata, EmacsImage::setFrame): New functions.
10675         * src/nsterm.h (EmacsImage::getMetadata, EmacsImage::setFrame): New
10676         function prototypes.
10678 2017-08-16  Tino Calancha  <tino.calancha@gmail.com>
10680         files-tests.el: Remove unused lexical variable
10682         * test/lisp/files-tests.el (file-test--do-local-variables-test);
10683         Remove unused var 'files-test-queried'.
10685 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
10687         * doc/emacs/files.texi (Copying and Naming): Mention
10689         restrictions to add-name-to-file and make-symbolic-link on
10690         remote systems.
10692 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
10694         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Further support ftp-ssl.
10696 2017-08-16  Noam Postavsky  <npostavs@gmail.com>
10698         Add tests for previous commit
10700         * test/lisp/progmodes/elisp-mode-tests.el
10701         (elisp-mode-tests--face-propertized-string): New function.
10702         (elisp--highlight-function-argument-indexed)
10703         (elisp--highlight-function-argument-keyed-1)
10704         (elisp--highlight-function-argument-keyed-2): New tests.
10706 2017-08-16  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
10708         Fix eldoc highlighting for &key args (Bug#27272)
10710         * lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument):
10711         Only switch to keyword-based searching if INDEX point beyond `&key' in
10712         the argument list.  All arguments prior to the `&key' are position
10713         based.  Additionally, be more strict about what is a keyword when
10714         searching for the current keyword.
10716 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
10718         Do not assume regular Git .git/hooks dir
10720         Apparently Gitlab doesn’t create .git/hooks, like regular Git does.
10721         Problem reported by Ted Zlatanov in:
10722         https://lists.gnu.org/r/emacs-devel/2017-08/msg00380.html
10723         * autogen.sh (git_sample_hook_src): New function.  Use it to work
10724         even if .git/hooks or its samples do not exist.
10726 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
10728         New manual section "Copying and Naming"
10730         * doc/emacs/files.texi (Copying and Naming):
10731         New section, split off from Misc File Ops and containing the
10732         operations that copy, name or rename files.  This fixes some
10733         confusion caused by the incorrect phrase "The same rule applies
10734         to all the remaining commands in this section" in the old manual.
10735         This change does not affect the confusion about directories (see
10736         Bug#27986 for ongoing discussion).
10738 2017-08-15  Eli Zaretskii  <eliz@gnu.org>
10740         Fix the MS-Windows build
10742         * src/fileio.c (Frename_file): Don't use ENOTSUP if it is equal to
10743         ENOSYS.  (Bug#28097)  (Bug#27986)
10745 2017-08-15  Ted Zlatanov  <tzz@lifelogs.com>
10747         * .gitlab-ci.yml: run "autogen.sh autoconf" to avoid Git.
10749         * .gitlab-ci.yml: add Git to the installed packages.
10751 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
10753         Support indentation of detached Less CSS rulesets
10755         * lisp/textmodes/css-mode.el (css-smie-rules): Provide better support
10756         for indentation of detached rulesets passed to Less mixins.
10758         * test/manual/indent/less-css-mode.less: New file.
10760 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
10762         Fixes and tweaks for the new Less CSS mode
10764         * etc/NEWS: Add an entry for the new mode.
10766         * lisp/textmodes/less-css-mode.el (less-css): Tweak docstring.
10767         (less-css-lessc-command): Tweak docstring. Don't mark it as
10768         safe. Don't autoload.
10769         (less-css-compile-at-save, less-css-lessc-options)
10770         (less-css-output-directory): Tweak docstrings. Don't autoload.
10771         (less-css-output-file-name): Tweak docstring. Don't mark it as safe.
10772         (less-css-input-file-name): Tweak docstring. Don't autoload.
10773         (less-css-compile-maybe): Use `when' for one-armed `if'.
10774         (less-css--output-path): Tweak docstring.
10775         (less-css--maybe-shell-quote-command): Remove function.
10776         (less-css-compile): Don't autoload. Tweak docstring and message. Fix
10777         compiler warning. Use `string-join' instead of `mapconcat'.
10778         (less-css-font-lock-keywords): Use `font-lock-variable-name-face' for
10779         variables.
10780         (less-css-mode-syntax-table, less-css-mode-map): New variables.
10781         (less-css-mode): Change status line mode name from "LESS" to
10782         "Less". Tweak docstring. Move syntax table definitions to
10783         `less-css-mode-syntax-table'.
10784         (less-css-indent-line): Remove function.
10786 2017-08-15  Steve Purcell  <steve@sanityinc.com>
10788         New major mode: Less CSS mode
10790         * lisp/textmodes/less-css-mode.el: New file.
10792 2017-08-15  Tino Calancha  <tino.calancha@gmail.com>
10794         archive-int-to-mode: Fix order of testing S_ISUID, S_ISGID bits
10796         * lisp/arc-mode.el (archive-int-to-mode):
10797         Swap order of 2048 and 1024 tests (Bug#28092).
10798         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode):
10799         Update test.
10801 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
10803         Improve rename-file port to macOS
10805         * src/fileio.c (Frename_file): On macOS, renameat_noreplace can
10806         fail with errno == ENOTSUP on file systems where it is not
10807         supported, according to the Apple documentation.
10809 2017-08-15  Noam Postavsky  <npostavs@gmail.com>
10811         Speed up ./configure with more caching (Bug#27960)
10813         * configure.ac: Cache the 'GTK compiles', 'GSettings is in gio',
10814         'LN_S', '-znocombreloc', 'sysinfo', 'gcc autodepends', '-b link',
10815         'Xkb', 'Xpm preprocessor', 'tputs library' 'GLib', 'signals via
10816         characters', and 'Windows API header' checks.  Remove pause after
10817         warning about GTK bug.
10819 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
10821         Improve rename-file behavior on macOS
10823         Problem reported by Philipp Stephani (Bug#27986).
10824         * src/fileio.c (Frename_file):
10825         Worry about file name case sensitivity only if CYGWIN or DOS_NT.
10826         * src/sysdep.c (renameat_noreplace): Use renameatx_np on macOS,
10827         since this provides the necessary atomicity guarantees.
10829 2017-08-14  Glenn Morris  <rgm@gnu.org>
10831         Clean up temp files after some tests
10833         * test/lisp/emacs-lisp/bytecomp-tests.el
10834         (bytecomp-tests--with-temp-file): Also delete .elc file if present.
10835         * test/lisp/progmodes/etags-tests.el
10836         (etags-buffer-local-tags-table-list): Delete temp file at end.
10838 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
10840         Implement renameat_noreplace for MS-Windows
10842         * src/sysdep.c (renameat_noreplace) [WINDOWSNT]: Implement minimal
10843         emulation for MS-Windows.  (Bug#27986)
10845 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
10847         Fix 'rename' on MS-Windows
10849         * src/w32.c (sys_rename_replace): Use the FORCE argument only if
10850         the primitive rename errors out with EEXIST.
10852 2017-08-14  Michael Albinus  <michael.albinus@gmx.de>
10854         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Support ftp-ssl.
10856 2017-08-14  Mark Oteiza  <mvoteiza@udel.edu>
10858         Tiny JSON performance improvement
10860         Get rid of some needless uses of apply.  Measuring with
10861           (benchmark-run 10 (json-read-file "test.json"))
10862         showed 1.5-2.5% reduction of execution time.
10863         * lisp/json.el (json-peek): Nix let-binding.
10864         (json-read-string): Use concat for making a string from chars.
10865         (json-read-array): Use cond and more appropriate conversion instead
10866         of blindly applying.
10868 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
10870         Be consistent in spelling 'ok-if-already-exists'.
10872 2017-08-13  Alexander Gramiak  <agrambot@gmail.com>
10874         Use 'header-line-highlight' face in proced and erc
10876         * lisp/erc/erc-list.el (erc-list-button):
10877         * lisp/proced.el (proced-format): Use the 'header-line-highlight
10878         face.  (Bug#28033)
10880 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
10882         Remove feeds with dead uris from newsticker--raw-url-list-defaults
10884         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
10885           Remove feeds with dead uris.
10887 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
10889         Fix vertical cursor motion when cursor is on the fringe
10891         * lisp/simple.el (line-move-visual): Fix an off-by-one error in
10892         setting temporary-goal-column when newline overflows into the
10893         fringe.  Support that use case in R2L paragraphs as well.
10895 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
10897         Fix vertical cursor motion across too wide images
10899         * src/indent.c (Fvertical_motion): If lines are truncated and we
10900         end up beyond the right margin of the window, don't assume we are
10901         in the next screen line, unless VPOS actually says so.  (Bug#28071)
10903 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
10905         Add test suites for arc-mode and tar-mode
10907         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
10908         * test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
10909         New tests.
10911 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
10913         * lisp/tar-mode.el (tar-grind-file-mode): Fix docstring
10915 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
10917         Fix uri of Emacs Wiki
10919         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults): Fix
10920           uri of Emacs Wiki.  (Bug#27981)
10922 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
10924         Fix make-temp-file bug with ""/"."/".." prefix
10926         The bug with "." and ".." has been present for a while; I
10927         introduced the bug with "" earlier today in my patch for Bug#28023.
10928         * lisp/files.el (make-temp-file): Do not use expand-file-name if
10929         PREFIX is empty or "." or "..", as it does the wrong thing.
10930         Compute absolute-prefix here ...
10931         (files--make-magic-temp-file): ... instead of here ...
10932         * src/fileio.c (Fmake_temp_file_internal): ... or here.
10934         * lisp/files.el (make-temp-file): If the prefix is empty, append
10935         "/" to the absolute prefix so that the new files are children
10936         rather than siblings of temporary-file-directory.  This fixes a
10937         bug introduced in the previous change.
10938         * test/lisp/files-tests.el (files-test-make-temp-file-empty-prefix):
10939         New test, for the bug.
10941 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
10943         Improve make-temp-file performance on local files
10945         For the motivation behind this patch, please see Bug#28023 and:
10946         http://emacshorrors.com/posts/make-temp-name.html
10947         Although, given the recent changes to Tramp, the related security
10948         problem in make-temp-file is already fixed, make-temp-file still has
10949         several unnecessary system calls.  In the typical case on GNU/Linux,
10950         this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
10951         getpid, unlink, umask) by 2 (open, close).
10952         * admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
10953         that Emacs is using it directly.
10954         * configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
10955         no longer needed.
10956         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
10957         * lisp/files.el (files--make-magic-temp-file): Rename from
10958         make-temp-file.
10959         (make-temp-file): Use make-temp-file-internal for
10960         non-magic file names.
10961         * src/fileio.c: Include tempname.h.
10962         (make_temp_name_tbl, make_temp_name_count)
10963         (make_temp_name_count_initialized_p, make_temp_name): Remove.
10964         (Fmake_temp_file_internal): New function.
10965         (Fmake_temp_name): Use it.
10966         * src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
10967         instead of make_temp_name.
10969 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
10971         Document internal-use naming conventions
10973         * doc/lispref/functions.texi (Function Names):
10974         * doc/lispref/variables.texi (Tips for Defining):
10975         Document naming conventions for internal-use functions and vars.
10976         See Bug#28023#59.
10978 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
10980         Simplify re and document 'autoconf.sh all'
10982         * GNUmakefile (ALL_IF_GIT): Remove; no longer needed, now that
10983         ./autogen.sh defaults to "all".  All uses removed.
10984         * README: Mention autoconf.sh's effect on Git configuration.
10986 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
10988         Default autogen.sh to 'all'
10990         This addresses a problem noted by RMS in:
10991         https://lists.gnu.org/r/emacs-devel/2017-08/msg00052.html
10992         * autogen.sh (do_git): Set to true if this script is invoked
10993         with no arguments and there is a .git subdirectory.
10995 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
10997         Adjust jka-compr to recent Tramp changes.
10999         * lisp/jka-compr.el (jka-compr-write-region):
11000         Two new args LOCKNAME and MUSTBENEW.
11002 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
11004         Improve doc strings of 2 functions in simple.el
11006         * lisp/simple.el (beginning-of-visual-line)
11007         (move-beginning-of-line): Doc fix.  Reported by
11008         Justin Burkett <justin@burkett.cc>.
11010 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
11012         Fix completion on directory names on MS-DOS/MS-Windows
11014         * src/msdos.c (faccessat):
11015         * src/w32.c (faccessat): Support relative file names, and add D_OK
11016         to 'mode' if the argument is a directory.  This unbreaks file-name
11017         completion when the completion result is a directory.
11019 2017-08-12  Michael Albinus  <michael.albinus@gmx.de>
11021         Implement EXCL of write-region for Tramp
11023         * lisp/net/ange-ftp.el (ange-ftp-write-region):
11024         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region)
11025         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
11026         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region)
11027         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
11028         Implement MUSTBENEW.
11030         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
11031         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
11032         (tramp-sh-handle-add-name-to-file)
11033         (tramp-do-copy-or-rename-file)
11034         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
11035         Adapt error message for `file-already-exists'.
11037         * src/lisp.h:
11038         * src/eval.c (call8): New function.
11040         * src/fileio.c (write_region): Pass also lockname and
11041         mustbenew to the file name handler.
11043         * test/lisp/net/tramp-tests.el (tramp-test10-write-region):
11044         Add tests for MUSTBENEW.
11046 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
11048         Adapt Proced display to display-line-numbers
11050         * lisp/proced.el (proced-header-line): Account for the width taken
11051         by display-line-numbers.  (Bug#27895)
11053 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
11055         Adapt tabulated list when display-line-number is turned on
11057         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Add
11058         a hook to revert the display when display-line-numbers is turned
11059         on.  (Bug#27895)
11061 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
11063         Use Gnulib 'tempname' on MS-Windows
11065         * lib-src/ntlib.h (mkdir, open): Remove redefinitions.  They are
11066         now in nt/inc/ms-w32.h.
11067         * lib-src/ntlib.c (sys_mkdir, sys_open): New functions.
11068         (mkostemp): Remove.
11070         * src/w32.c (mkostemp): Remove.
11071         (sys_mkdir): Accept a second (unused) argument.
11072         * src/fileio.c (Fmake_directory_internal): Remove the WINDOWSNT
11073         specific call to mkdir.  (Bug#28023)
11075         * nt/inc/ms-w32.h (mkdir): Remove from "#ifdef emacs" and redefine
11076         to accept 2 arguments.
11077         (open): Remove from "#ifdef emacs".
11078         * nt/mingw-cfg.site (ac_cv_func_mkostemp): Remove.
11079         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_mkostemp)
11080         (OMIT_GNULIB_MODULE_tempname): Remove.
11082 2017-08-12  Alexander Gramiak  <agrambot@gmail.com>
11084         Add new face 'header-line-highlight'
11086         * lisp/faces.el: Define the face.
11087         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
11088         * lisp/info.el (Info-fontify-node): Use the new face.
11089         * doc/emacs/display.texi (Standard Faces):
11090         * etc/NEWS: Document the new face.  (Bug#28033)
11092 2017-08-12  Arash Esbati  <arash@gnu.org>
11094         Make a case-sensitive match for strings
11096         * lisp/textmodes/reftex.el (reftex-typekey-check): Temporarily
11097         let-bind `case-fold-search' to nil in order to be case-sensitive
11098         when matching a string.  (Bug#27518)
11100 2017-08-11  Stephen Berman  <steve@rosalinde.fritz.box>
11102         Fix a minor todo-mode regression
11104         * lisp/calendar/todo-mode.el (todo-get-overlay): Wrap in
11105         save-excursion.  This fixes a regression introduced by the fix
11106         for bug#27609, whereby trying to raise the priority of the
11107         first item or lower the priority of the last item, which
11108         should be noops, moves point to the item's start.  Clarify
11109         comment.
11111         * test/lisp/calendar/todo-mode-tests.el
11112         (todo-test-raise-lower-priority): Add test cases for trying to
11113         raise first item and lower last item.
11114         (with-todo-test): Clear abbreviated-home-dir, since we change HOME.
11115         (todo-test-toggle-item-header02): Remove ":expected-result
11116         :failed" and tests of point after todo-next-item, since the
11117         effect when using Todo mode is not reproducible in the test
11118         environment.  Add commentary about this.
11120 2017-08-11  Paul Eggert  <eggert@cs.ucla.edu>
11122         Improve performance for rename-file etc.
11124         Although this does not fix Bug#27986, it is a step forward.
11125         I plan to propose a more-significant patch later.
11126         * lisp/files.el (directory-name-p): Move from here ...
11127         * src/fileio.c (Fdirectory_name_p): ... to here.
11128         (directory_like, cp_like_target): New static functions.
11129         (Fcopy_file, Frename_file, Fadd_name_to_file)
11130         (Fmake_symbolic_link):
11131         Use them, to avoid directory-testing syscalls on file names that
11132         must be directories if they exist.  Omit unnecessary
11133         initializations and CHECK_STRING calls.
11134         (Frename_file): Don't call file_name_case_insensitive_p
11135         twice on the same file.  Compare both file names expanded, instead
11136         of the old name expanded and the new one unexpanded.
11138 2017-08-11  Noam Postavsky  <npostavs@gmail.com>
11140         Respect buffer-local value of tags-table-list (Bug#27772)
11142         * lisp/progmodes/etags.el (visit-tags-table-buffer): Save the current
11143         buffer around the `tags-table-including' calls so as to get buffer
11144         local variables from the right buffer later.
11145         * test/lisp/progmodes/etags-tests.el (etags-visit-tags-table-buffer):
11146         New test.
11147         * test/lisp/progmodes/etags-tests.el (etags-tests--test-dir): New
11148         constant.
11149         (etags-bug-158, etags-bug-23164): Use it so that when running the test
11150         interactively, setting EMACS_TEST_DIRECTORY is not needed.
11152 2017-08-10  Tom Tromey  <tom@tromey.com>
11154         Fix auto-filling regression
11156         Bug#28003
11157         * lisp/newcomment.el (comment-indent-new-line): Check
11158         comment-auto-fill-only-comments.  Reverts earlier change.
11159         * lisp/simple.el (internal-auto-fill): Call auto-fill-function, not
11160         do-auto-fill.
11162 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
11164         Merge from gnulib
11166         This incorporates:
11167         2017-08-09 tempname: do not depend on secure_getenv
11168         2017-08-08 extensions: add _OPENBSD_SOURCE
11169         2017-08-06 manywarnings: Add support for C++
11170         2017-08-06 warnings, manywarnings: Add support for multiple languages
11171         * admin/merge-gnulib: Don't use m4/manywarnings-c++.m4.
11172         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
11173         * lib/secure_getenv.c, m4/secure_getenv.m4: Remove.
11174         * lib/tempname.c, m4/extensions.m4, m4/manywarnings.m4, m4/warnings.m4:
11175         Copy from gnulib.
11177 2017-08-09  Eli Zaretskii  <eliz@gnu.org>
11179         Fix crashing emacs-module tests on MS-Windows
11181         * src/w32fns.c (syms_of_w32fns) <w32-disable-abort-dialog>: New
11182         variable.
11183         (emacs_abort): If w32-disable-abort-dialog is non-nil, abort right
11184         away, without displaying the Abort dialog, which waits for the user.
11186         * test/src/emacs-module-tests.el (module--test-assertion): Run the
11187         inferior Emacs with the w32 abort dialog disabled.  Expect the
11188         status of the aborted Emacs sub-process to be 3 on MS-Windows and
11189         2 on MS-DOS.
11191 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
11193         dired-delete-file:  Dont't ask for empty dirs
11195         * lisp/dired.el (dired--yes-no-all-quit-help): New defun.
11196         (dired-delete-file): Use it.  Dont't ask for empty dirs (Bug#27940).
11198         * test/lisp/dired-tests.el (dired-test-with-temp-dirs):
11199         New auxiliar macro.
11200         (dired-test-bug27940): Add new test.
11202 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
11204         Ask files for deletion in buffer order: top first, botton later
11206         * lisp/dired.el (dired-do-flagged-delete, dired-do-delete):
11207         Call `nreverse' t invert the output of `dired-map-over-marks'.
11209 2017-08-09  Alexander Gramiak  <agrambot@gmail.com>
11211         Use help-mode xrefs in describe-font
11213         * lisp/international/mule-diag.el (describe-font): Use help-setup-xref
11214         (Bug#27890).
11216 2017-08-09  Katsumi Yamaoka  <yamaoka@jpl.org>
11218         Don't try to jump to non-existent part (bug#28013)
11220         * lisp/gnus/gnus-art.el (gnus-article-edit-part): Don't try to jump to
11221         the next part if there is the only one part in the article (bug#28013).
11223 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
11225         Replace some uses of eval
11227         There are a number of places where eval is used unnecessarily to get
11228         or set the value of a symbol.
11229         * lisp/calendar/calendar.el (diary-date-forms): Use default-value in
11230         custom setter.
11231         * lisp/desktop.el (desktop-clear): Use set-default instead.
11232         * lisp/international/ogonek.el (ogonek-read-encoding): Use
11233         symbol-value.
11235 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
11237         Convert uses of looking-at in viper-ex to following-char
11239         * lisp/emulation/viper-ex.el (viper-get-ex-token): Bind
11240         (following-char) and use it in the subsequent cond's clauses.
11241         (viper-ex, ex-quit, viper-get-ex-file): Use following-char instead.
11242         Convert single branch ifs to when
11244 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
11246         Some cleanup in message.el
11248         * lisp/gnus/message.el (message-cross-post-insert-note):
11249         (message-strip-forbidden-properties): Mark unused args.
11250         (message-canlock-generate): Remove extinct variable
11251         sha1-maximum-internal-length.
11252         (message-make-mail-followup-to): Use loop's thereis clause.
11254 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
11256         Document make-temp-name magic limitations
11258         * doc/lispref/files.texi (Unique File Names):
11259         * src/fileio.c (Fmake_temp_name): Document that make-temp-name
11260         does not guarantee uniqueness on magic file names.
11262 2017-08-08  Tom Tromey  <tom@tromey.com>
11264         Show number of errors in compilation-mode mode-line
11266         Bug#25354
11267         * lisp/progmodes/compile.el (compilation-num-errors-found): Provide
11268         default value.
11269         (compilation-num-warnings-found, compilation-num-infos-found): New
11270         defvars.
11271         (compilation-mode-line-errors): New defconst.
11272         (compilation-face): Remove.
11273         (compilation-type, compilation--note-type): New functions.
11274         (compilation-parse-errors): Call compilation--note-type.
11275         (compilation-start): Include compilation-mode-line-errors in
11276         mode-line-process.
11277         (compilation-setup): Initialize compilation-num-* variables to 0.
11278         (compilation-handle-exit): Include compilation-mode-line-errors in
11279         mode-line-process.
11280         * doc/emacs/building.texi (Compilation): Document new feature.
11282 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
11284         Do some cleanup in mailcap.el
11286         * lisp/net/mailcap.el: Use lexical-binding.
11287         (mailcap--set-user-mime-data, mailcap-possible-viewers): Use pcase
11288         destructuring.
11289         (mailcap-mime-data): Remove some entries for ancient functions.
11290         (mailcap-parse-mailcaps, mailcap-mime-info): Nix single-branch ifs.
11291         (mailcap-parse-mimetype-file): Just use append.
11292         (mailcap-command-p): Remove unused function.
11294 2017-08-08  Tino Calancha  <tino.calancha@gmail.com>
11296         query-replace: Undo replacements performed with 'comma
11298         During a `query-replace', the char ',' replaces the character
11299         at point and doesn't move point;  right after, the char 'u'
11300         must undo such replacement (Bug#27268).
11301         * lisp/replace.el (replace--push-stack):
11302         New macro extracted from `perform-replace'.
11303         (perform-replace): Use it.
11304         * test/lisp/replace-tests.el (query-replace--undo): Add test.
11306 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
11308         Don't define gv expanders in compiler's runtime (Bug#27016)
11310         This prevents definitions being compiled from leaking into the current
11311         Emacs doing the compilation.
11312         * lisp/emacs-lisp/gv.el (gv-define-expander): Use function-put instead
11313         of `put' with `eval-and-compile'.
11314         * test/lisp/emacs-lisp/gv-tests.el: New tests.
11316 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
11318         Let the cl-typep effects of defclass work during compilation (Bug#27718)
11320         * lisp/emacs-lisp/eieio.el (defclass): Use `define-symbol-prop'
11321         instead of `put'.
11322         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
11323         (eieio-tests--dummy-function): Remove.
11324         (eieio-test-25-slot-tests, eieio-test-23-inheritance-check): Don't
11325         expect to fail if compiled.
11327 2017-08-08  Stefan Monnier  <monnier@IRO.UMontreal.CA>
11328             Noam Postavsky  <npostavs@gmail.com>
11330         Let `define-symbol-prop' take effect during compilation
11332         * src/fns.c (syms_of_fns): New variable `overriding-plist-environment'.
11333         (Fget): Consult it.
11334         * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): Let-bind
11335         it to nil.
11336         (byte-compile-define-symbol-prop): New function, handles compilation
11337         of top-level `define-symbol-prop' and `function-put' calls by putting
11338         the symbol setting into `overriding-plist-environment'.
11340 2017-08-08  Gemini Lasswell  <gazally@runbox.com>
11342         Add a test of handling of circular values to testcover-tests
11344         * test/lisp/emacs-lisp-testcover-resources/testcases.el
11345         (testcover-testcase-cyc1): New function.
11346         (testcover-tests-circular-lists-bug-24402): New test.
11348 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
11350         Don't error on circular values in testcover
11352         * lisp/emacs-lisp/testcover.el (testcover-after, testcover-1value):
11353         Consider circular lists to be non-equal instead of signaling error.
11355 2017-08-08  Alexander Gramiak  <agrambot@gmail.com>
11357         Catch argument and macroexpansion errors in ert
11359         This kludge catches errors caused by evaluating arguments in ert's
11360         should, should-not, and should-error macros; it also catches
11361         macroexpansion errors inside of the above macros (Bug#24402).
11363         * lisp/emacs-lisp/ert.el: (ert--should-signal-hook): New function.
11364         (ert--expand-should-1): Catch macroexpansion errors.
11365         * test/lisp/emacs-lisp/ert-tests.el (ert-test-should-error-argument)
11366         (ert-test-should-error-macroexpansion): Tests for argument and
11367         expansion errors.
11369 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
11371         Revert "Add Enchant support to ispell.el (Bug#17742)"
11373         This reverts commit 7136e6723d87b51ae3089f5ceef6b14621bfaf87.
11375 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
11377         Revert "Add support for arguments in ALTERNATE_EDITOR to emacsclient"
11379         This reverts commit 28f1fe97daa13e13714e6c43c9a6fbb0c0e99a26.
11381 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
11383         Add support for arguments in ALTERNATE_EDITOR to emacsclient
11385         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
11386         corresponding command-line argument, into space-separated tokens.
11387         * etc/NEWS: Document.
11388         * test/lib-src/emacsclient-tests.el: Add a test.
11390 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
11392         Add Enchant support to ispell.el (Bug#17742)
11394         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
11395         (ispell-really-enchant): Add variable.
11396         (ispell-check-version): If using Enchant, check it’s new enough (at
11397         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
11398         without.)
11399         (ispell-enchant-dictionary-alist): Add variable.
11400         (ispell-find-enchant-dictionaries): Add function, based on
11401         ispell-find-aspell-dictionaries.
11402         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
11403         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
11404         old ispell name to locale mapping code for Enchant too.
11405         (ispell-send-replacement): Make it work with Enchant.
11407 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
11409         Allow async command output buffer to be shown only on output
11411         * lisp/simple.el (async-shell-command-display-buffer): Add
11412         defcustom.
11413         (shell-command): Use the new defcustom to determine whether to show
11414         the buffer immediately, or add a process filter that shows it only
11415         when there is some output.
11416         * etc/NEWS: Document the new variable.
11417         * doc/emacs/misc.texi: Likewise.
11419         Thanks to Juri Linkov and Eli Zaretskii for advice and guidance.
11421 2017-08-07  Eli Zaretskii  <eliz@gnu.org>
11423         Fix infinite recursion under prettify-symbols-mode and linum-mode
11425         * src/xdisp.c (get_overlay_strings_1)
11426         (handle_single_display_spec, push_prefix_prop): Invalidate the
11427         composition information before starting to iterate on a string.
11428         Otherwise we might think in set_iterator_to_next that we are
11429         delivering characters from a composition, and do all kinds of
11430         nonsensical things, like over-step the string end.  (Bug#27761)
11432 2017-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
11434         * lisp/gnus/gnus-bcklg.el (gnus-backlog-request-article): Fix thinko.
11436 2017-08-07  Martin Rudalics  <rudalics@gmx.at>
11438         Fix doc-string of `delete-other-windows'
11440         * lisp/window.el (delete-other-windows): Fix doc-string.
11442 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
11444         Fix a couple more make-temp-file races
11446         * lisp/files.el (basic-save-buffer-2, move-file-to-trash):
11447         Use make-temp-name, not make-temp-file with retry.
11448         (basic-save-buffer-2): Use condition-case, instead of
11449         unwind-protect with a success flag.
11451 2017-08-07  Noam Postavsky  <npostavs@gmail.com>
11453         Merge null and without-null regexp alists (Bug#27840, Bug#27873)
11455         * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Allow for NUL
11456         characters following filename in grep context lines.
11457         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
11458         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): Remove.
11459         (grep-regexp-alist): Recombine their contents here.
11460         (grep-mode):
11461         * lisp/cedet/semantic/symref/grep.el
11462         (semantic-symref-parse-tool-output-one-line):
11463         * lisp/progmodes/xref.el (xref-collect-matches): Use the variable
11464         `grep-regexp-alist' rather than the function.
11466 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
11468         Fix some crashes on self-modifying Elisp code
11470         Prompted by a problem report by Alex in:
11471         https://lists.gnu.org/r/emacs-devel/2017-08/msg00143.html
11472         * src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
11473         Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
11474         it is likely to run a bit faster with typical hardware caches.
11475         (Fif): Use Fcdr instead of XCDR, to avoid crashing on
11476         self-modifying S-expressions.
11477         (Fsetq, Flet, eval_sub): Count the number of arguments as we go
11478         instead of trusting an Flength prepass, to avoid problems when the
11479         code is self-modifying.
11480         (Fquote, Ffunction, Fdefvar, Fdefconst): Prefer !NILP to CONSP
11481         where either will do.  This is mostly to document the fact that
11482         the value must be a proper list.  It's also a tiny bit faster on
11483         typical machines nowadays.
11484         (Fdefconst, FletX): Prefer XCAR+XCDR to Fcar+Fcdr when either will do.
11485         (eval_sub): Check that the args are a list as opposed to some
11486         other object that has a length. This prevents e.g. (if . "string")
11487         from making Emacs dump core in some cases.
11488         * test/src/eval-tests.el (eval-tests--if-dot-string)
11489         (eval-tests--let-with-circular-defs, eval-tests--mutating-cond):
11490         New tests.
11492 2017-08-06  Eli Zaretskii  <eliz@gnu.org>
11494         * etc/tutorials/TUTORIAL.he: Update to match recent changes to TUTORIAL.
11496 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
11498         Minor tweak in a dired test
11500         * test/lisp/dired-tests.el (dired-test-bug27968):
11501         Ensure the new header has different length than the original one.
11503 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
11505         dired-delete-file: Do not TAB complete the user answer
11507         This action might delete directories containing valuable information.
11508         Before previous commit, we prompted users with `yes-or-no-p'
11509         which doesn't TAB complete the user answer.  Let's play safe and
11510         keep requiring full answers.
11511         * lisp/dired.el (dired-delete-file): Use `read-string'
11512         instead of `completing-read' to read the user answers.
11514 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
11516         dired-do-delete: Allow to delete dirs recursively without prompts
11518         * lisp/dired.el (dired-delete-file): Accept 2 additional answers:
11519         'all', to delete all directories recursively and no prompt anymore.
11520         'quit', to cancel directory deletions (Bug#27940).
11521         Show help message when user inputs 'help'.
11522         (dired-do-flagged-delete): Bind locally dired-recursive-deletes
11523         so that we can overwrite its global value.
11524         Wrapp the loop within a catch '--delete-cancel to catch when
11525         the user abort the directtry deletion.
11526         * doc/emacs/dired.texi (Dired Deletion): Update manual.
11527         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.1):
11528         Announce this change.
11530 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
11532         Fix a couple of make-temp-file races
11534         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
11535         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
11536         Use make-temp-file, not make-temp-name, to avoid an unlikely race
11537         that could lose data.  Remove the deletion hook as quickly as
11538         possible after the file is renamed; though a race still remains
11539         here, it is smaller than before.
11541 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
11543         Dired w/ eshell-ls: Handle shell wildcards in file name
11545         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
11546         Use eshell-extended-glob (Bug#27844).
11547         * test/lisp/dired-tests.el (dired-test-bug27844): Add test.
11549 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
11551         dired-revert: save line numbers instead of positions
11553         Positions might change if the length of one dired header line
11554         changes; this happen, for instance, if we add new files.
11555         Instead, line numbers are invariant under shrinks/enlargements
11556         of the file header.
11557         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
11558         * lisp/dired.el (dired-save-positions): Save the line numbers at point.
11559         (dired-restore-positions): Use forward-line to restore the original
11560         position (Bug#27968).
11561         * test/lisp/dired-tests.el (dired-test-bug27968): Add test.
11563 2017-08-06  Tom Tromey  <tom@tromey.com>
11565         Respect comment-auto-fill-only-comments
11567         Respect comment-auto-fill-only-comments when auto-filling and a
11568         comment syntax is defined.
11570         * lisp/newcomment.el (comment-indent-new-line): Do not check
11571         comment-auto-fill-only-comments.
11572         * lisp/simple.el (internal-auto-fill): New defun.
11573         * src/cmds.c (internal_self_insert): Call Qinternal_auto_fill, not
11574         auto_fill_function.
11575         (syms_of_cmds): Define Qinternal_auto_fill.
11577 2017-08-05  Richard Stallman  <rms@gnu.org>
11579         * etc/tutorials/TUTORIAL: Update.
11581 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
11583         Unify CNS11643-15 in a way that avoids segfaults
11585         * lisp/international/mule-conf.el: Redo unification of
11586         cns11643-15.  (Bug#27964)
11587         (chinese-cns11643-15): Add the missing :unify-map attribute.
11589 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
11591         Avoid segfaults while producing Punct.el
11593         * lisp/international/mule-conf.el: Undo unification of
11594         cns11643-15, as that causes segfaults during bootstrap.
11595         (Bug#27964)
11597 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
11599         Make header line in some modes be sensitive to display-line-numbers
11601         * lisp/ruler-mode.el (ruler-mode-ruler, ruler-mode-window-col):
11602         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header)
11603         (tabulated-list-print-entry): Account for the width taken by
11604         line-number display.  (Bug#27895)
11606 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
11608         Fix a bug in 'generate-new-buffer-name'
11610         * src/buffer.c (Fgenerate_new_buffer_name): Test IGNORE for being
11611         nil before calling string-equal, since the latter will compare
11612         "nil and 'nil' as equal.  (Bug#27966)
11614         * test/src/buffer-tests.el
11615         (test-generate-new-buffer-name-bug27966): New test.
11617 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
11619         Unify CNS11643-15
11621         * lisp/international/mule-conf.el (chinese-cns11643-15): Add a
11622         unify-charset form for it.  (Bug#27964)
11624 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
11626         Improve test of error message when Emacs cannot be suspended
11628         * lisp/term/x-win.el (x-win-suspend-error):
11629         * lisp/term/ns-win.el (ns-suspend-error): Improve the error
11630         message.  (Bug#27901)
11632 2017-08-05  Alexander Gramiak  <agrambot@gmail.com>
11634         Make "C-h o" show faces as well as variables
11636         * lisp/faces.el (describe-face): Return (buffer-string).  Reorder
11637         the placement of variables/faces in describe-symbol, to put more
11638         emphasis on the variable entry rather than the face.  (Bug#24543)
11640 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
11642         Fix files-tests.el for MS-Windows
11644         * test/lisp/files-tests.el
11645         (files-tests--file-name-non-special--subprocess): Fix this test
11646         for MS-Windows.
11648 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
11650         Improve documentation of 'region-extract-function'
11652         * lisp/simple.el (region-extract-function): Rename the argument to
11653         METHOD.  Doc fix.  (Bug#27927)
11655 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
11657         Merge from gnulib
11659         This incorporates:
11660         2017-08-04 manywarnings: port to 64-bit GCC builds of Emacs
11661         2017-08-01 manywarnings: port to 32-bit GCC bug
11662         * lib/gnulib.mk.in: Regenerate.
11663         * m4/manywarnings.m4: Copy from gnulib.
11665 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
11667         Port recent rename changes to Ubuntu 14.04
11669         * src/sysdep.c (renameat_noreplace) [!RENAME_NOREPLACE]:
11670         Don’t use syscall.  Problem reported by Tino Calancha (Bug#27946#10).
11672 2017-08-05  Tino Calancha  <tino.calancha@gmail.com>
11674         insert-directory-wildcard-in-dir-p: Tweak regexp
11676         This function must return non-nil for a wildcard like '/*/*.txt'.
11677         * lisp/files.el (insert-directory-wildcard-in-dir-p): Adjust regexp.
11678         * test/lisp/files-tests.el (files-tests--insert-directory-wildcard-in-dir-p):
11679         Add test.
11681 2017-08-04  Toby S. Cubitt  <tsc25@cantab.net>
11683         Implement iterator generator for avl-trees.
11685         * lisp/emacs-lisp/avl-tree.el (avl-tree-iter): New iter-defun.
11687 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
11689         ls-lisp: Drop eshell dependencies
11691         Use 'file-expand-wildcards' instead of 'eshell-extended-glob' to
11692         expand the wildcards.
11693         Suggested by Fabrice Popineau in:
11694         https://lists.gnu.org/r/emacs-devel/2017-08/msg00108.html
11695         * lisp/ls-lisp.el (ls-lisp--dired): Use file-expand-wildcards.
11697 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
11699         Fix dired-test-bug27631 on MS-Windows
11701         Skip the test if Dired use 'ls' emulation with lisp.  The same
11702         bug is tested in their respective test suites: ls-lisp-tests.el
11703         and em-ls-tests.el.
11704         * test/lisp/dired-tests.el (dired-test-bug27631): Skip test if 'ls-lisp'
11705         or 'eshell' features are enabled.
11707 2017-08-04  Eli Zaretskii  <eliz@gnu.org>
11709         Fix dired-test-bug25609 on MS-Windows
11711         * test/lisp/dired-tests.el (dired-test-bug25609): On MS-Windows,
11712         pass temporary files through file-truename, to avoid bogus
11713         failures due to file-name comparison as strings.
11715 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
11717         Fix 2 tests that fail in MS-Windows
11719         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
11720         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
11721         Add comments to explain the test logic.
11722         Pass '--binary' option to 'patch' program in windows environments.
11723         Check explicitly that a backup is created before compare file contents.
11725         * test/lisp/dired-tests.el (dired-test-bug25609):
11726         Declare variable 'dired-dwim-target' right before the test.
11727         Add comments to explain the test logic.
11728         Ensure, before test the bug condition, that we are displaying the
11729         2 dired buffers created in this test, and no other dired buffer
11730         is shown.
11732 2017-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
11734         * lisp/shell.el (explicit-shell-file-name): Mention shell-file-name
11736         * lisp/files.el (insert-directory): Don't hardcode "-c".
11737         * lisp/term.el (term, ansi-term): Use shell-file-name.
11739 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
11741         Fix version numbers for some GnuTLS features
11743         Problem reported by Glenn Morris (Bug#27708#58).
11744         * src/gnutls.c (HAVE_GNUTLS_X509_SYSTEM_TRUST):
11745         New macro.  Use it instead of low-level version number checks.
11746         (HAVE_GNUTLS_AEAD): Move here from gnutls.h, and rename from
11747         HAVE_GNUTLS3_AEAD.  All uses changed.  Indent preprocessor lines.
11748         * src/gnutls.h (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST)
11749         (HAVE_GNUTLS3_HMAC): Remove, since these were available
11750         before GnuTLS 3.0.0 and the code checks them only if HAVE_GNUTLS3
11751         is defined.  Remove all uses; this simplifies the code a bit.
11753 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
11755         Port recent rename changes to RHEL 7 + NFS
11757         Problem reported by Ted Zlatanov in:
11758         https://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
11759         * src/fileio.c (Frename_file): On RHEL 7 + NFS, renameat2 can fail
11760         with errno == EINVAL when it is not supported.  So treat that case
11761         like errno == ENOSYS.  Also, when ok_if_already_exists is neither
11762         nil nor an integer, just call plain rename; this avoids an extra
11763         syscall to renameat2 when the latter fails with errno == EINVAL or
11764         ENOSYS or ENOENT.
11766 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
11768         Port GnuTLS usage to Ubuntu 16.04.2 LTS
11770         * src/gnutls.h (HAVE_GNUTLS3_AEAD): Define only if GnuTLS 3.5.1 or
11771         later, as opposed to the old 3.4.0 or later.
11773 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
11775         Simplify configuration of HAVE_GNUTLS3 etc.
11777         There's only one GnuTLS, so configuring these symbols at
11778         'configure' time is overkill.  Simplify things by moving their
11779         configuration to src/gnutls.h (Bug#27708).
11780         * configure.ac (HAVE_GNUTLS3, HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
11781         (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST): Move these definitions
11782         from here ...
11783         * src/gnutls.h: ... to here, and simplify.
11785 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
11787         Default to --with-mailutils if it is installed
11789         * configure.ac (with_mailutils): Default to 'yes' if GNU Mailutils
11790         is installed.  See:
11791         https://lists.gnu.org/r/emacs-devel/2017-08/msg00054.html
11793 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
11795         Clarify when autogen.sh should run only autoconf
11797         * Makefile.in (configure, bootstrap): Run ‘./autogen.sh autoconf’,
11798         not plain ‘./autogen.sh’, to make it clear that only
11799         autoconf-related tools should be run here.
11801 2017-08-02  Toon Claes  <toon@iotcl.com>
11803         .gitlab-ci.yml: Use stretch Debian image instead of unstable
11805 2017-08-02  Stephen Berman  <stephen.berman@gmx.net>
11807         Add debugging messages to a Dired test
11809         * test/lisp/dired-tests.el (dired-test-bug27243-01): Log
11810         positions saved and restored by dired-revert to try and find
11811         out why the test fails on Hydra.
11813 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
11815         ls-lisp: Autoload call instead of cookie
11817         * lisp/ls-lisp.el (eshell-extended-glob): autoload call instead of cookie.
11819 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
11821         When renaming a file, ask only if EEXIST or ENOSYS
11823         * src/fileio.c (Frename_file): Avoid calling Ffile_directory_p
11824         more than once on FILE.  Use renameat_noreplace, so that we can
11825         ask the user (and unlink and retry) only if this fails with errno
11826         == EEXIST or ENOSYS.  This avoids the need to ask the user for
11827         permission to do an operation that will fail anyway.  Simplify
11828         computation of ok_if_already_exists for subsidiary functions.
11829         * src/filelock.c (rename_lock_file): Prefer renameat_noreplace
11830         if it works, as this avoids the need to link and unlink.
11831         * src/lisp.h (renameat_noreplace): New decl.
11832         * src/sysdep.c [HAVE_LINUX_FS_H]: Include linux/fs.h and sys/syscall.h.
11833         (renameat_noreplace): New function.
11835 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
11837         When creating a link, ask only if EEXIST
11839         * src/fileio.c (Fadd_name_to_file, Fmake_symbolic_link):
11840         Ask the user (and unlink and retry) only if link creation fails
11841         with errno == EEXIST.  This avoids the need to ask the user for
11842         permission to do an operation that will fail anyway.
11844 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
11846         dired-align-file: Inherit text properties in inserted spaces
11848         * lisp/dired.el (dired-align-file): Inherit text
11849         properties in inserted spaces (Bug#27899).
11850         * test/lisp/dired-tests.el (dired-test-bug27899): Add test.
11852 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
11854         Don't assume /bin/sh as the 'sh' location in the local host
11856         * lisp/dired.el (dired-insert-directory): Use executable-find in
11857         a local host.
11859 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
11861         Move dired tests using ls emulation to different files
11863         Suggested in:
11864         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
11865         * test/lisp/dired-tests.el (dired-test-bug27693)
11866         (dired-test-bug27762, dired-test-bug27817)
11867         (dired-test-bug27631, dired-test-bug27843): Delete those
11868         parts requiring either ls-lisp or eshell-ls.
11870         * test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762)
11871         (ls-lisp-test-bug27631, ls-lisp-test-bug27693):
11872         Add all dired tests using ls-lisp here.
11874         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631)
11875         (em-ls-test-bug27817, em-ls-test-bug27843): New test file.  Add
11876         all dired tests using eshell-ls here.
11878 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
11880         * test/lisp/ls-lisp-tests.el: Rename it from ls-lisp.el
11882 2017-08-02  Katsumi Yamaoka  <yamaoka@jpl.org>
11884         * lisp/gnus/mm-uu.el (mm-uu-org-src-code-block-extract):
11885         Say the handle is already decoded.
11886         cf. <yw.87lgnh5cfv.fsf@alex.chromebook> in the info-gnus-english list.
11888 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
11890         Don’t worry about unlink if errno == ENOENT
11892         * src/fileio.c (Fdelete_file):
11893         * src/keyboard.c (Fopen_dribble_file): Do not report failure to
11894         remove a file if unlink fails with errno == ENOENT.  This can
11895         happen even if Emacs is the only program removing the file, in
11896         case an NFS cache overflows.  The file does not exist if errno ==
11897         ENOENT, so it is OK to proceed.
11899 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
11901         Fix misalignment in Dired when dired-directory is a cons
11903         * lisp/dired.el (dired--need-align-p, dired--align-all-files):
11904         New defuns.
11905         (dired-internal-noselect): Call dired--align-all-files when
11906         dired-directory is a cons (Bug#27762).
11907         * test/lisp/dired-tests.el (dired-test-bug27762): Test should pass.
11909 2017-08-01  Eli Zaretskii  <eliz@gnu.org>
11911         Fix some dired-tests.el on MS-Windows
11913         * test/lisp/dired-tests.el (dired-test-bug27243-01)
11914         (dired-test-bug27243-02): On MS-Windows, pass test-dir through
11915         file-truename, to avoid bogus failures due to file-name comparison
11916         as strings.
11918 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
11920         Insert subdir content if dir-or-list is a string w/o wildcards
11922         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
11923         Append '("-d") into 'eshell-ls-dired-initial-args'
11924         if 'dired-directory' is a cons or there are wildcars (Bug#27843).
11925         * test/lisp/dired-tests.el (dired-test-bug27843): Add test.
11927 2017-08-01  Stephen Berman  <stephen.berman@gmx.net>
11929         Update todo-mode defcustoms in a less hideous way
11931         * lisp/calendar/todo-mode.el (todo-reevaluate-filelist-defcustoms)
11932         (todo-reevaluate-default-file-defcustom)
11933         (todo-reevaluate-category-completions-files-defcustom)
11934         (todo-reevaluate-filter-files-defcustom): Delete these functions.
11935         (todo-update-filelist-defcustoms): New function.  This replaces
11936         todo-reevaluate-filelist-defcustoms, using the 'custom-type'
11937         property instead of re-evaluating the defcustoms.
11938         (todo-add-file, todo-rename-file, todo-delete-file)
11939         (todo-delete-category, todo-move-category)
11940         (todo-convert-legacy-files, todo-check-file): Replace call of
11941         todo-reevaluate-filelist-defcustoms by
11942         todo-update-filelist-defcustoms.
11943         (todo-show, todo-category-completions): Replace call of
11944         todo-reevaluate-* function by use of 'custom-type' property.
11946 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
11948         Add more should form calls in a failing dired test
11950         Some dired tests fail intermittently in hydra.  Add few
11951         more should form calls for debugging.
11952         See:
11953         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
11954         * test/lisp/dired-tests.el (dired-test-bug27243-01): Add few more should
11955         forms for debugging.
11957 2017-08-01  Michael Albinus  <michael.albinus@gmx.de>
11959         Follow SAUNA recommendations for display-line-numbers-type
11961         * lisp/display-line-numbers.el (display-line-numbers-type): Do not autoload.
11963         * lisp/menu-bar.el (display-line-numbers-type): Declare.
11965 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
11967         Avoid most stat calls when completing file names
11969         * admin/merge-gnulib (GNULIB_MODULES): Add d-type.
11970         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
11971         * m4/d-type.m4: New file, copied from gnulib.
11972         * src/dired.c (DT_UNKNOWN, DT_DIR, DT_LINK)
11973         [!HAVE_STRUCT_DIRENT_D_TYPE]: New constants.
11974         (dirent_type): New function.
11975         (file_name_completion): Use it, to avoid unnecessary calls to
11976         stat-like functions on GNU/Linux and other platforms with d_type.
11977         (file_name_completion_stat): Just follow the link; there is no
11978         need to try first with AT_SYMLINK_NOFOLLOW since the directory
11979         entry was already checked to exist.
11981 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
11983         dired-tests: Unload tested features after test them
11985         Some tests are for Dired with ls-lisp or eshell-ls.
11986         Requiring these features add an advice on `dired' and
11987         might affect other tests.
11988         Do not require these features at the top of the file; require
11989         then inside the tests and unload then at the end.
11990         * test/lisp/dired-tests.el (dired-test-bug27693)
11991         (dired-test-bug7131, dired-test-bug27817, dired-test-bug27631):
11992         require ls-lisp and/or eshell-ls inside the test; unload the
11993         features at the end.
11995 2017-07-31  Michael Albinus  <michael.albinus@gmx.de>
11997         Small adaptions for directory wildcards
11999         * lisp/dired.el (dired-insert-directory): Remove "--dired"
12000         when there are wildcards, and the directory is remote.
12002         * test/lisp/net/tramp-tests.el (tramp--test-make-temp-name):
12003         Adapt docstring.
12004         (tramp-test17-dired-with-wildcards): Skip for all methods but
12005         those from tamp-sh.p.
12007 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
12009         * lisp/dired.el (dired-trivial-filenames): Use \` and \' to match
12010         string bounds.
12012 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
12014         Merge from gnulib
12016         This incorporates:
12017         2017-07-30 Don't interpret EOVERFLOW to mean nonexistence
12018         * lib/tempname.c: Copy from gnulib.
12020 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
12022         ls-lisp: Do not require em-glob at top of the file
12024         Require em-glob inside 'ls-lisp--dired'.  This is necessary to
12025         not break the Emacs build.
12026         See following thread for details:
12027         https://lists.gnu.org/r/emacs-devel/2017-07/msg01083.html
12028         * lisp/ls-lisp.el (dired-goto-next-file)
12029         (dired-read-dir-and-switches, eshell-extended-glob):
12030         Add function declarations.
12031         * lisp/eshell/em-ls.el (dired-goto-next-file): Fix function declaration.
12033 2017-07-30  Michael Albinus  <michael.albinus@gmx.de>
12035         * lisp/dired.el (dired-insert-directory): Move `file-remote-p' check up.
12037         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): New test.
12039 2017-07-30  Simen Heggestøyl  <simenheg@gmail.com>
12041         Change default CSS property face
12043         * lisp/textmodes/css-mode.el (css-property): Inherit from
12044         `font-lock-keyword-face' instead of `font-lock-variable-name-face' to
12045         distinguish CSS properties from variables.
12047 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
12049         Dired: Handle posix wildcards in directory part
12051         Allow Dired to handle calls like
12052         \(dired \"~/foo/*/*.el\"), that is, with wildcards within
12053         the directory part of the file argument (Bug#27631).
12054         * lisp/files.el (insert-directory-wildcard-in-dir-p): New predicate.
12055         (insert-directory-clean): New defun extracted from insert-directory.
12056         (insert-directory)
12057         * lisp/dired.el (dired-internal-noselect)
12058         (dired-insert-directory): Use the new predicate; when it's true,
12059         handle the directory wildcards with a shell call.
12060         * lisp/eshell/em-ls.el (eshell-ls-use-in-dired): Add/remove both advices.
12061         (eshell-ls-unload-hook): New defun.  Use it in
12062         eshell-ls-unload-hook instead of an anonymous function.
12063         (eshell-ls--dired)
12064         * lisp/ls-lisp.el (ls-lisp--dired):
12065         Advice dired to handle wildcards in the directory part with both
12066         eshell-ls and ls-lisp.
12067         * etc/NEWS: Announce it.
12068         * doc/emacs/dired.texi (Dired Enter): Update manual.
12069         * test/lisp/dired-tests.el (dired-test-bug27631): Add test.
12071 2017-07-29  Tino Calancha  <tino.calancha@gmail.com>
12073         * lisp/find-lisp.el: Enable lexical binding
12075         * lisp/find-dired.el: Enable lexical binding
12077 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
12079         * lisp/kmacro.el: Use lexical binding.
12081 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
12083         Use lexical-binding in dired-aux.el
12085         * lisp/dired.el: Use lexical binding.
12086         (dired-do-shell-command): Remove unused bindings.
12088 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
12090         * lisp/ido.el: Use lexical binding.
12092         * lisp/whitespace.el: Use lexical binding.
12094 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
12096         artist.el: Avoid error with keyboard command invocation
12098         * lisp/textmodes/artist.el (artist-mouse-choose-operation):
12099         Call x-popup-menu with t instead of last-nonmenu-event as the
12100         value of the position argument; this allows invoking the
12101         command from the keyboard without raising an error (bug#27819).
12103 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
12105         Preserve point under 'dired-auto-revert-buffer' (third case)
12107         * lisp/files.el (find-file): Use pop-to-buffer-same-window
12108         instead of switch-to-buffer.  This preserves Dired window
12109         point when dired-auto-revert-buffer is non-nil.  (Bug#27243)
12111         * test/lisp/dired-tests.el (dired-test-bug27243-01)
12112         (dired-test-bug27243-02, dired-test-bug27243-03): New tests.
12113         The first two replace a previous test that combined them; that
12114         test intermittently fails in the Hydra build system, so maybe
12115         separating the two cases will help locate the point of
12116         failure.  The third test involves find-file but is here
12117         because it, like the others, is testing the effect of
12118         dired-auto-revert-buffer.
12120 2017-07-29  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
12122         Do not unset user key remaps in dired-x
12124         * lisp/dired-x.el (dired-x-bind-find-file): Don't map any keys if user
12125         sets dired-x-hands-off-my-keys.  (Bug#27828)
12127 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
12129         Improve documentation of 'occur'
12131         * doc/emacs/search.texi (Other Repeating Search):
12132         * lisp/replace.el (occur): Make the documentation of 'occur' be
12133         more accurate when matches overlap.  (Bug#27818)
12135 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
12137         Minor copyedits of comments in faces.el
12139         * lisp/faces.el (face-font-family-alternatives): More info about
12140         requirements from "Monospace Serif".
12142 2017-07-29  Paul Eggert  <eggert@cs.ucla.edu>
12144         Do not worry about paxctl on newer NetBSD
12146         Problem reported privately by Thomas Klausner.
12147         * configure.ac (emacs_uname_r): New var.  Use it to avoid paxctl
12148         on newer NetBSD platforms, where it is not needed.  Also use it to
12149         simplify Cygwin diagnostic.
12151 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
12153         Clarify documentation of ':inherit' face attribute
12155         * doc/lispref/display.texi (Face Attributes): Document the special
12156         treatment of 'unspecified' in the ':inherit' attribute.
12158 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
12160         * lisp/password-cache.el (password-data): Use a hash-table
12162         * lisp/auth-source.el (auth-source-magic): Remove.
12163         (auth-source-forget+, auth-source-forget-all-cached): Adjust to new
12164         format of password-data.
12165         (auth-source-format-cache-entry): Just use a cons.
12167         (password-cache-remove, password-cache-add, password-reset)
12168         (password-read-from-cache, password-in-cache-p): Adjust accordingly.
12170         (Bug#26699)
12172 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
12174         * lisp/subr.el (define-symbol-prop): New function
12176         (symbol-file): Make it find symbol property definitions.
12178         * lisp/emacs-lisp/pcase.el (pcase-defmacro):
12179         * lisp/emacs-lisp/ert.el (ert-set-test): Use it instead of `put'.
12180         (ert-describe-test): Adjust call to symbol-file accordingly.
12182 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
12184         * lisp/subr.el (method-files): Move function to cl-generic.el
12186         * lisp/emacs-lisp/cl-generic.el (cl-generic-p): New function.
12187         (cl--generic-method-files): New function, moved from subr.el.
12188         * lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use them.
12189         * test/lisp/emacs-lisp/cl-generic-tests.el:
12190         * test/lisp/subr-tests.el: Move and adjust method-files tests accordingly.
12192 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
12194         Preserve this-command-keys across recursive-edit invocations
12196         * src/minibuf.c (read_minibuf, read_minibuf_unwind): Save and
12197         restore this-command-keys, to preserve it across recursive-edit.
12198         (Bug#27470)
12200 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
12202         Improve doc string of 'locate-dominating-file'
12204         * lisp/files.el (locate-dominating-file): Doc fix.  (Bug#27798)
12206 2017-07-28  Drew Adams  <drew.adams@oracle.com>
12208         New commands 'apropos-local-variable', 'apropos-local-value'
12210         * lisp/apropos.el (apropos-local-variable, apropos-local-value):
12211         New functions.  (Bug#27424)
12213         * doc/emacs/help.texi (Apropos): Document 'apropos-local-variable'
12214         and 'apropos-local-value'.
12215         * etc/NEWS: Mention the new commands.
12217 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
12219         * lisp/loadhist.el (unload-feature): Remove ad-hoc ELP code
12221         * lisp/emacs-lisp/elp.el (loadhist-unload-element): Un-instrument functions.
12223 2017-07-27  Alan Mackenzie  <acm@muc.de>
12225         Fix C++ class initializers not always being fontified at mode start.
12227         The problem here happened when an "outer list" of declarations moved beyond an
12228         "inner list" containing class initializers.  These weren't being checked for
12229         by the code.
12231         Also, fix places in c-get-fontification-context where point is undefined.
12233         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): when argument
12234         not-front-decl is set, test for class initializers.  Also, anchor point in
12235         places where it is moved and is otherwise undefined.
12237 2017-07-27  Alan Mackenzie  <acm@muc.de>
12239         Fix variables in C++ "for" statement not always being fontified.
12241         The error happened when there was a comma inside template delimiters.
12243         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): In "for"
12244         statements, recognize template delimiters containing "," and "&".
12246 2017-07-27  Michael Albinus  <michael.albinus@gmx.de>
12248         Add watchdog process to tramp-test36-asynchronous-requests
12250         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
12251         New defun.
12252         (tramp-test36-asynchronous-requests): Use a watchdog process,
12253         listening for SIGUSR1.
12255 2017-07-27  Alan Mackenzie  <acm@muc.de>
12257         CC Mode: Fix declarator being cut off from terminator by end of jit-lock chunk
12259         If a declarator is so cut off, extend the fontification chunk to include it.
12261         * lisp/progmodes/cc-mode.el (c-fl-decl-end): New function.
12262         (c-change-expand-fl-region, c-context-expand-fl-region): Use the new function.
12264 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12266         * lisp/vc/smerge-mode.el: Avoid N² blow up in degenerate cases
12268         (smerge--refine-long-words): New var.
12269         (smerge--refine-chopup-region): Use it.
12271 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12273         * lisp/url/url-cookie.el: Use lexical-binding
12275         (url-cookie-host-can-set-p): Remove unused var `last'.
12276         Use string-suffix-p.
12277         (url-cookie-list): De morgan.
12278         (url-cookie-quit): Remove.
12279         (url-cookie-mode): Inherit from special-mode.
12280         (url-cookie-mode-map): Simplify accordingly.
12282 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12284         * lisp/calendar/todo-mode.el (todo-print-buffer-function): Rework docstring.
12286         * lisp/ruler-mode.el (ruler-mode-ruler): Document problem.
12288 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12290         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
12292         Record this as the function's definition site if it's the first def.
12294 2017-07-26  Glenn Morris  <rgm@gnu.org>
12296         * doc/lispref/loading.texi (When to Autoload): New section.
12298 2017-07-26  Glenn Morris  <rgm@gnu.org>
12300         Stop using unibyte buffers for ert backtraces
12302         * lisp/emacs-lisp/ert.el
12303         (ert-results-pop-to-backtrace-for-test-at-point):
12304         Set multibyte true, not false.  This copies a
12305         debugger-setup-buffer change from 2009-08-30, and stops the
12306         "Backtrace for" header line containing ^X and ^Y.
12308 2017-07-26  Dmitry Gutov  <dgutov@yandex.ru>
12310         Fix semantic-symref-parse-tool-output-one-line after 644cdd1aa0
12312         * lisp/cedet/semantic/symref/grep.el
12313         (semantic-symref-grep--line-re): Delete.
12314         (semantic-symref-parse-tool-output-one-line):
12315         Use regexp and group numbers from (grep-regexp-alist).
12317 2017-07-26  Grégoire Jadi  <daimrod@omecha.info>
12319         Fix cl-defmethod indentation
12321         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
12322         Declare (indent defun).  Fixes bug#23994.
12324 2017-07-26  Martin Rudalics  <rudalics@gmx.at>
12326         Fix two customization types in frame.el
12328         * lisp/frame.el (window-divider-default-bottom-width)
12329         (window-divider-default-right-width): Fix customization types.
12331 2017-07-26  Tino Calancha  <tino.calancha@gmail.com>
12333         Dired: Support eshell-ls from the beginning if the user wants to
12335         * lisp/dired.el (dired-insert-directory): Check for eshell-ls
12336         as well (Bug#27817).
12337         * test/lisp/dired-tests.el (dired-test-bug27817): Add test.
12339 2017-07-26  Mark Oteiza  <mvoteiza@udel.edu>
12341         * lisp/progmodes/sh-script.el (sh-mode): Recognize mkshrc.
12343 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
12345         * lisp/emacs-lisp/eieio-compat.el (eieio--defgeneric-init-form):
12347         Adjust to change in cl-generic-ensure-function.
12349 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
12351         ls-lisp: Add an unload function and enable lexical binding
12353         Enable lexical binding.
12354         * lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
12355         * test/lisp/ls-lisp-tests.el (ls-lisp-unload): Add test.
12357 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
12359         register-read-with-preview: Quit if user input C-g or ESC
12361         * lisp/register.el (register-read-with-preview):
12362         Quit if user input C-g or ESC (bug#27634).
12363         * doc/emacs/regs.texi (Registers): Update manual.
12364         * test/lisp/register-tests.el (register-test-bug27634): Add test.
12366 2017-07-25  Mark Oteiza  <mvoteiza@udel.edu>
12368         Recognize MirBSD Korn shell rc file
12370         * lisp/files.el (auto-mode-alist): Add .mkshrc to the list.
12372 2017-07-25  Glenn Morris  <rgm@gnu.org>
12374         * configure.ac: Be explicit about ImageMagick version in summary.
12376 2017-07-25  Andreas Schwab  <schwab@linux-m68k.org>
12378         Properly align global lispsym
12380         * lib-src/make-docfile.c (close_emacs_globals): Wrap struct
12381         Lisp_Symbols inside struct.
12382         * src/alloc.c (sweep_symbols): Update use of lispsym.
12383         * src/lisp.h (builtin_lisp_symbol): Likewise.
12385 2017-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12387         Do not use ImageMagick 7 and later
12389         Suggested by Glenn Morris (Bug#25967#15).
12390         * configure.ac (IMAGEMAGICK_MODULE): Reject 7 and later.
12392 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
12394         * lisp/progmodes/perl-mode.el: Add support for indented here docs
12396         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
12397         Recognize the new <<~ syntax for indented here docs.
12398         (perl-syntax-propertize-special-constructs): Adjust search of the
12399         end of here docs accordingly.
12401         * test/manual/indent/perl.perl: Add test for indented here docs.
12403 2017-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>
12405         (loadhist-unload-element): Move ERT and cl-generic methods
12407         * lisp/loadhist.el (loadhist-unload-element): Don't define cl-generic
12408         and ert methods here.
12409         (loadhist-unload-element) <(head define-type)>: Remove unused var `slots'.
12411         * lisp/emacs-lisp/cl-generic.el (loadhist-unload-element): Define
12412         unload method for cl-defmethod.
12413         (cl-generic-ensure-function): Remove redundant `defalias'.
12415         * lisp/emacs-lisp/ert.el (ert-set-test): Move the current-load-list
12416         setting here...
12417         (ert-deftest): ...from here.
12418         (loadhist-unload-element): Define unload method for ert-deftest.
12420 2017-07-24  Michael Albinus  <michael.albinus@gmx.de>
12422         Fix Bug#27371
12424         * lisp/loadhist.el (loadhist-unload-element): Declare for
12425         different entry types of `load-history'.
12426         (loadhist--restore-autoload): New variable.
12427         (loadhist--unload-function): New defun.
12428         (unload-feature): Use `loadhist-unload-element'.  Recommended by
12429         Stefan Monnier.  (Bug#27371)
12431         * test/lisp/net/tramp-tests.el (tramp-test39-unload):
12432         Check, that the `tramp-file-name' structure has been unloaded.
12434 2017-07-24  Grégoire Jadi  <gjadi@omecha.info>
12436         Ensure that we parse images right in shr.el
12438         * lisp/net/shr.el (shr-image-fetched): Go back to the
12439         beginning of the buffer before trying to parse the image
12440         fetched.
12442 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12444         Update .gitignore for Valgrind and no Automake
12446         * .gitignore: Remove .deps/ since we no longer use Automake.
12447         Add vgcore.*[0-9], for debugging Emacs with Valgrind+GDB.
12449 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12451         Merge from gnulib
12453         This incorporates:
12454         2017-07-23 Rename module 'strftime' to 'nstrftime'
12455         * admin/merge-gnulib (GNULIB_MODULES): Add nstrftime, remove strftime.
12456         * build-aux/config.guess: Copy from gnulib.
12457         * lib/nstrftime.c: Rename from lib/strftime.c.
12458         * m4/nstrftime.m4: Rename from m4/strftime.m4.
12459         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
12461 2017-07-23  Philipp Stephani  <phst@google.com>
12463         Add 'rx' pattern for pcase.
12465         * lisp/emacs-lisp/rx.el (rx): New pcase macro.
12466         * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add unit test.
12468 2017-07-23  Mark Oteiza  <mvoteiza@udel.edu>
12470         Use a named function for global minor mode turn-on argument
12472         * lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
12473         New function.
12474         (global-display-line-numbers-mode): Use it.
12476 2017-07-23  Charles A. Roelli  <charles@aurox.ch>
12478         Enable GUI Emacs without 'make install' on macOS (Bug #27645)
12480         * nextstep/INSTALL: Correct it, and mention that Emacs can be run
12481         from 'src/emacs'.
12483         * src/nsterm.m (applicationDidFinishLaunching:): When Emacs is
12484         launched outside of a macOS application bundle, change its
12485         activation policy from the default 'prohibited' to 'regular'.
12487 2017-07-23  Alan Mackenzie  <acm@muc.de>
12489         Convert CC Mode's c-found-types from an obarray to a hash table.
12491         * lisp/progmodes/cc-engine.el (c-clear-found-types): create a hash table
12492         rather than an obarray.
12493         (c-copy-found-types): Remove.
12494         (c-add-type, c-unfind-type, c-check-type, c-list-found-types): Amend to use
12495         the new hash table.
12496         (c-forward-<>-arglist): Use copy-hash-table rather than c-copy-found-types.
12498 2017-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
12500         Fix image/svg+xml display in shr
12502         * lisp/net/shr.el (shr-put-image): Display svg images as svg
12503         (bug#27799).  I suspect the previous change was checked in by
12504         accident in conjuction with some other svg changes.
12506 2017-07-23  Michael Albinus  <michael.albinus@gmx.de>
12508         * lisp/display-line-numbers.el (display-line-numbers-type): Autoload it.
12510 2017-07-23  Glenn Morris  <rgm@gnu.org>
12512         Don't automatically enable Gconf if Gsettings was found
12514         * configure.ac (HAVE_GCONF) [HAVE_GSETTINGS]:
12515         Don't test for Gconf unless specifically requested.
12516         Gconf was deprecated in favor of Gsettings several years ago.
12518 2017-07-23  Glenn Morris  <rgm@gnu.org>
12520         * configure.ac (MODULES_SUFFIX): Always give it a value.
12522         This prevents a Makefile thinko like "rm *${MODULE_SUFFIX}".
12524 2017-07-23  Glenn Morris  <rgm@gnu.org>
12526         * doc/emacs/frames.texi (Fonts): Mention Gsettings.
12528 2017-07-22  Michael Albinus  <michael.albinus@gmx.de>
12530         Add line numbers display to the Options menu
12532         * lisp/menu-bar.el (toggle-display-line-numbers): Remove.
12533         (menu-bar-display-line-numbers-mode): New defun.
12534         (menu-bar-showhide-line-numbers-menu): New defvar.
12535         (menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'
12537 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
12539         Signal error for symbol names with strange quotes (Bug#2967)
12541         * src/lread.c (read1): Signal an error when a symbol starts with a
12542         non-escaped quote-like character.
12543         * test/src/lread-tests.el (lread-tests--funny-quote-symbols): New
12544         test.
12545         * etc/NEWS: Announce change.
12547 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
12549         Revert "Let delete-selection-mode work with popup-menu commands (Bug#27569)"
12551         It turns out that this change is not needed, and it leaves several
12552         command loops settings not done.
12554         https://lists.gnu.org/r/emacs-devel/2017-07/msg00757.html
12555         https://lists.gnu.org/r/emacs-devel/2017-07/msg00840.html
12557 2017-07-22  Alexander Gramiak  <agrambot@gmail.com>
12559         Add a minor mode interface for display-line-numbers
12561         * lisp/cus-start.el: Use the new display-line-numbers group.
12562         * lisp/display-line-numbers.el: New file.
12564         * doc/emacs/custom.texi (Init Rebinding): Re-add entry that used to
12565         belong to linum-mode.
12566         * doc/emacs/modes.texi (Minor Modes): Summarize the mode.
12567         * etc/NEWS: Document display-line-numbers-mode and its customization
12568         variables, and mention that display-line-numbers-width is
12569         buffer-local.
12571         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-width>: Fix a
12572         typo.
12574 2017-07-22  vividsnow  <vividsnow@gmail.com>  (tiny change)
12576         Support indented HERE-DOCs in cperl-mode
12578         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Support
12579         indented here-docs.  (Bug#27254) (Bug#27697)
12581 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
12583         Document the support for "scrollBar" X resource
12585         * doc/emacs/xresources.texi (Table of Resources): Document the new
12586         'scrollBar' setting.
12587         * etc/NEWS: Document the new 'scrollBar' setting.
12589 2017-07-22  Matthew Bauer  <mjbauer95@gmail.com>  (tiny change)
12591         Add 'scroll-bar-mode' to settings in 'x-apply-session-resources'
12593         * lisp/startup.el (x-apply-session-resources): Add scroll-bar-mode
12594         settings.
12596 2017-07-22  Alexander Kuleshov  <kuleshovmail@gmail.com>
12598         Update ld-script mode (bug#27629)
12600         * lisp/progmodes/ld-script.el: (ld-script-keywords): New commands
12601         NOCROSSREFS_TO and HIDDEN added.  Fix documentation sections
12602         numbers for PROVIDE/PROVIDE_HIDDEN commands.
12603         (ld-script-builtins): New builtin function LOG2CEIL added.
12605 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
12607         Index 'rectangle' in the ELisp manual
12609         * doc/lispref/text.texi (Registers): Index the "rectangle" value.
12610         (Bug#27541)
12612 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
12614         * lisp/subr.el (add-to-history): Doc fix.  (Bug#27494)
12616 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
12618         Doc fixes for kmacro.el functions
12620         * lisp/kmacro.el (kmacro-start-macro, kmacro-call-macro)
12621         (kmacro-end-and-call-macro): Don't use "permanent name", as that
12622         could be misinterpreted.  (Bug#27492)
12624 2017-07-22  Charles A. Roelli  <charles@aurox.ch>
12626         ElDoc: add docstrings and minor refactoring
12628         * lisp/emacs-lisp/eldoc.el (eldoc-edit-message-commands): Add
12629         docstring.
12630         (turn-on-eldoc-mode): Fix capitalization.
12631         (eldoc--supported-p): Add docstring.
12632         (eldoc-schedule-timer): Add docstring and use
12633         'eldoc--supported-p'.
12634         (eldoc-message): Add docstring and make calling convention
12635         clearer.
12636         (eldoc--message-command-p):
12637         (eldoc-pre-command-refresh-echo-area):
12638         (eldoc-display-message-p):
12639         (eldoc-display-message-no-interference-p):
12640         (eldoc-print-current-symbol-info):
12641         (eldoc-docstring-format-sym-doc):
12642         (eldoc-add-command, eldoc-add-command-completions):
12643         (eldoc-remove-command, eldoc-remove-command-completions):
12644         Add docstring.  (Bug#27230)
12646 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
12648         Mention 'C-M-i' as key binding for 'ispell-complete-word'
12650         * doc/emacs/fixit.texi (Spelling): ispell-complete-word
12651         can also be invoked by C-M-i.  (Bug#27349)
12653 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
12655         Fix the eww-search-words description in the Emacs manual
12657         * doc/emacs/search.texi (Word Search):
12658         Include the key binding for eww-search-words in the manual.
12659         Fix the spelling of the 'eww-search-words' command.
12661 2017-07-22  Andrew L. Moore  <slewsys@gmail.com>
12663         Introduce defcustom 'executable-prefix-env'
12665         * lisp/progmodes/executable.el (executable-prefix): Update the doc
12666         string.
12667         (executable-prefix-env): New defcustom.
12668         (executable-set-magic): Use executable-prefix-env.
12670         * etc/NEWS: Document the new variable.
12672 2017-07-22  Glenn Morris  <rgm@gnu.org>
12674         * test/lisp/ibuffer-tests.el: Delete temporary files.
12676 2017-07-21  Glenn Morris  <rgm@gnu.org>
12678         Further attempt to avoid hang in network-stream-tests
12680         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv6-nowait):
12681         Limit the time we wait for the external process.
12683 2017-07-21  Glenn Morris  <rgm@gnu.org>
12685         Stop skipping many ibuffer tests by default
12687         * test/lisp/ibuffer-tests.el (ibuffer-0autoload):
12688         Rename so it sorts first.
12689         (ibuffer-save-filters, ibuffer-filter-inclusion-1)
12690         (ibuffer-filter-inclusion-2, ibuffer-filter-inclusion-3)
12691         (ibuffer-filter-inclusion-4, ibuffer-filter-inclusion-5)
12692         (ibuffer-filter-inclusion-6, ibuffer-filter-inclusion-7)
12693         (ibuffer-filter-inclusion-8, ibuffer-decompose-filter)
12694         (ibuffer-and-filter, ibuffer-or-filter, ibuffer-format-qualifier)
12695         (ibuffer-unary-operand): Require ibuf-ext so tests not skipped.
12697 2017-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
12699         Use lexical-binding in todo-mode.el
12701         Adjust code accordingly and make various minor improvements.
12703         * lisp/calendar/todo-mode.el: Enable lexical-binding.
12704         (dayname, monthname, day, month, year): Make forward defvars
12705         of these keywords from macros defined in calendar.el; wrap
12706         them in with-no-warnings.
12707         (todo-files, todo-files-function, todo-date-pattern)
12708         (todo-mode-line-function, todo-show, todo-forward-category)
12709         (todo-edit-item--header, todo-set-category-number)
12710         (todo-adjusted-category-label-length)
12711         (todo-total-item-counts, todo-filter-items)
12712         (todo-print-buffer-function, todo-convert-legacy-date-time)
12713         (todo-category-number, todo-category-completions)
12714         (todo-read-file-name, todo-read-category)
12715         (todo-validate-name, todo-read-date)
12716         (todo-set-show-current-file, todo-modes-set-1)
12717         (todo-modes-set-2, todo-modes-set-3, todo-mode):
12718         Use #' instead of ' to quote functions.
12719         (todo-files): Use \' instead of $ in regexp.
12720         (todo--files-type-list): New function.
12721         (todo-default-todo-file, todo-category-completions-files)
12722         (todo-filter-files, todo-multiple-filter-files)
12723         (todo-reevaluate-default-file-defcustom)
12724         (todo-reevaluate-category-completions-files-defcustom)
12725         (todo-reevaluate-filter-files-defcustom): Use it.
12726         (todo-show, todo-rename-file, todo-move-category)
12727         (todo-edit-item--text, todo-edit-quit, todo-edit-item--header)
12728         (todo-item-undone, todo-unarchive-items, todo-search)
12729         (todo-filter-items, todo-filter-items-1, todo-find-item)
12730         (todo-category-select, todo-read-date)
12731         (todo-nondiary-marker-matcher, todo-date-string-matcher)
12732         (todo-diary-expired-matcher, todo-convert-legacy-files)
12733         (todo-read-category): Reformat to avoid code hiding behind a
12734         more deeply embedded element.
12735         (todo-forward-category, todo-set-category-number):
12736         Use 'funcall' instead of 'apply'.
12737         (todo-toggle-mark-item, todo-edit-item--diary-inclusion)
12738         (todo-edit-category-diary-inclusion)
12739         (todo-insert-sort-button, todo-insert-category-line)
12740         (todo-multiple-filter-files): Mark unused local variables.
12741         (todo-edit-item--header, todo-move-item, todo-print-buffer)
12742         (todo-edit-item--header, todo-move-item, todo-check-file)
12743         (todo-edit-item--next-key): Remove unused local variables.
12744         (todo-insert-sort-button, todo-insert-category-line):
12745         Use a closure instead of a backquoted lambda.
12746         (todo-update-categories-display, todo-print-buffer): Simplify code.
12747         (todo-print-buffer-function): Document calling convention.
12748         (todo-category-completions): Use cl-pushnew instead of add-to-list.
12749         (todo-mode-map, todo-archive-mode-map)
12750         (todo-categories-mode-map, todo-filtered-items-mode-map):
12751         Remove superfluous call of suppress-keymap, since it's already
12752         in the parent special-mode-map.
12754 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
12756         dired: Revert buffer when DIRNAME is a cons
12758         * lisp/dired.el (dired-internal-noselect): Revert buffer if DIR-OR-LIST
12759         is a cons, or dired-directory is a cons and DIR-OR-LIST a string (Bug#7131).
12760         Update the comments.
12761         * test/lisp/dired-tests.el (dired-test-bug7131): Test should pass.
12763 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
12765         Handle when dired-directory is a cons in some Dired functions
12767         * lisp/dired-aux.el (dired-rename-subdir-1)
12768         * lisp/dired-x.el (dired-mark-omitted):
12769         Handle when dired-directory is a cons.
12771 2017-07-21  Noam Postavsky  <npostavs@gmail.com>
12773         Make eshell-next-prompt more reliable (Bug#27405)
12775         * lisp/eshell/em-prompt.el (eshell-next-prompt): Search for
12776         `eshell-prompt-regexp' (and `read-only' text-property if
12777         `eshell-highlight-prompt' is set) rather than trying to use
12778         `forward-paragraph'.
12779         (eshell-previous-prompt): Don't count prompt on current line.
12781 2017-07-21  Paul Eggert  <eggert@cs.ucla.edu>
12783         Simplify recent gnutls.c changes
12785         * src/gnutls.c (clear_storage) [HAVE_GNUTLS3_AEAD]: Remove.
12786         All uses replaced by calls to explicit_bzero; that’s clear enough.
12787         (gnutls_symmetric_aead) [HAVE_GNUTLS3_AEAD]: Simplify by
12788         coalescing duplicate actions.  There is no need to invoke
12789         SAFE_FREE before calling ‘error’.
12791 2017-07-20  Michael Albinus  <michael.albinus@gmx.de>
12793         Stylistic changes in tramp-cache.el
12795         * lisp/net/tramp-cache.el (tramp-get-file-property)
12796         (tramp-set-file-property): Use `bound-and-true-p'.  Add
12797         counter variables to `tramp-cache-unload-hook'.
12799 2017-07-20  Glenn Morris  <rgm@gnu.org>
12801         * admin/notes/hydra: Small updates.
12803 2017-07-20  Glenn Morris  <rgm@gnu.org>
12805         Make tramp unloading handle debug counter variables
12807         * lisp/net/tramp-cache.el (tramp-get-file-property)
12808         (tramp-set-file-property): Add counter variables to tramp-unload-hook.
12810 2017-07-20  Eli Zaretskii  <eliz@gnu.org>
12812         Fix hscrolling calculations when display-line-numbers is set
12814         * src/xdisp.c (move_it_in_display_line_to): Account for line
12815         numbers in hscrolled lines.  (Bug#27756)
12817 2017-07-20  Katsumi Yamaoka  <yamaoka@jpl.org>
12819         Fix the bogus change made 13 years ago (bug#27084)
12821         * lisp/gnus/gnus-sum.el (gnus-summary-toggle-header):
12822         Fix the way to test if there is no visible header (bug#27084).
12824 2017-07-20  Noam Postavsky  <npostavs@gmail.com>
12826         Use grep's --null option (Bug#6843)
12828         * lisp/progmodes/grep.el (grep-use-null-filename-separator): New option.
12829         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
12830         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): New
12831         constants, replacing `grep-regexp-alist'.
12832         (grep-regex-alist): Mark the variable obsolete, add a new function of
12833         the same name to replace it.
12834         (grep-compute-defaults): Compute default for
12835         `grep-use-null-filename-separator'.
12836         (grep-mode): Set compilation-error-regexp-alist (buffer locally) to the
12837         value of `grep-with-null-regexp-alist' or `grep-fallback-regexp-alist'
12838         according to `grep-use-null-filename-separator'.
12839         * lisp/progmodes/xref.el (xref-collect-matches): Call
12840         `grep-regex-alist' instead of the obsolete variable.  Don't hardcode
12841         grep-regexp-alist match groups.
12842         * etc/NEWS: Announce new use of --null.  Move 'grep-save-buffers'
12843         item under "Grep" heading as well.
12845 2017-07-19  Philipp Stephani  <phst@google.com>
12847         * src/gnutls.c (clear_storage): Define only if needed.
12849 2017-07-19  Stephen Berman  <stephen.berman@gmx.net>
12851         Adjust todo-quit to recent change in dired
12853         * lisp/calendar/todo-mode.el (todo-quit): Use quit-window instead of
12854         bury-buffer to exit todo-mode.  This restores the desired behavior
12855         of not immediately returning to the exited todo-mode buffer on
12856         quitting another buffer, which a dired bug fix had changed (see
12857         https://lists.gnu.org/r/emacs-devel/2017-07/msg00739.html).
12859 2017-07-19  Tino Calancha  <tino.calancha@gmail.com>
12861         Add test for bugs 7131, 27762
12863         Require 'ls-lisp' at top of the file.
12864         * test/lisp/dired-tests.el (dired-test-bug7131, dired-test-bug27762):
12865         New tests.
12866         (dired-test-bug27693): Delete Dired buffer at the end.
12868 2017-07-18  Michael Albinus  <michael.albinus@gmx.de>
12870         * admin/notes/hydra: Mention environment variable EMACS_HYDRA_CI.
12872 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
12874         * lisp/emacs-lisp/nadvice.el (advice--defalias-fset): Strip advices
12876         This tries to make sure that (defalias F (symbol-function F)) stays a no-op.
12878 2017-07-18  Glenn Morris  <rgm@gnu.org>
12880         Use a more specific test for running on hydra.nixos.org
12882         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
12883         * test/Makefile.in (WRITE_LOG):
12884         * test/lisp/filenotify-tests.el:
12885         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
12886         (eieio-test-method-order-list-6):
12887         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
12888         (eieio-test-37-obsolete-name-in-constructor):
12889         * test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.
12891 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
12893         Avoid infloop due to Eshell's "smart" redisplay
12895         * src/xdisp.c (pos_visible_p): Save and restore the window's
12896         mode-line and header-line height.  (Bug#27752)
12898 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
12900         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): Accept `[]'
12902 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
12904         Fix indentation when display-line-numbers is non-nil
12906         * src/xdisp.c (x_produce_glyphs): Fix a typo in deciding whether
12907         to go one more tab stop to display a TAB.  (Bug#27743)
12909 2017-07-18  Lars Ingebrigtsen  <larsi@gnus.org>
12911         Don't use gtk_widget_get_scale_factor on old GTK3 versions
12913         * src/gtkutil.c (xg_get_scale): gtk_widget_get_scale_factor is
12914         only present since GTK 3.10.
12916 2017-07-18  Noam Postavsky  <npostavs@gmail.com>
12918         Let delete-selection-mode work with popup-menu commands (Bug#27569)
12920         * lisp/menu-bar.el (popup-menu): Run `pre-command-hook' with
12921         `this-command' set to the selected command.
12923 2017-07-18  Paul Eggert  <eggert@cs.ucla.edu>
12925         Port gnutls.c to older (buggier?) GnuTLS
12927         Problem reported for GnuTLS 3.2.1 by Glenn Morris in:
12928         https://lists.gnu.org/r/emacs-devel/2017-07/msg00716.html
12929         https://lists.gnu.org/r/emacs-devel/2017-07/msg00742.html
12930         Although I don't see how this bug can occur with vanilla GnuTLS 3.2.1,
12931         perhaps hydra was using a modified GnuTLS.
12932         * src/gnutls.c (Fgnutls_ciphers): Don't assume GNUTLS_CIPHER_NULL
12933         is at the end of the list returned by gnutls_cipher_list,
12934         or that the earlier ciphers all have non-null names.
12936 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
12938         Fix relocation with named cell referred to by a one-symbol formula.
12940         * lisp/ses.el (ses-replace-name-in-formula): Fix bug for it to
12941         work also with one symbol formulas.
12943         * test/lisp/ses-tests.el
12944         (ses-tests-renaming-cell-with-one-symbol-formula): Add new
12945         test for renaming with relocating a one symbol formula.
12947 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
12949         Fix symbol completion and document it.
12951         * doc/misc/ses.texi (Configuring what printer function
12952         applies): Add description of keys for completing local printer
12953         symbols and listing local printers in a help buffer.
12954         (Formulas): Add decription for key to list the named cell
12955         symbols in a help buffer.
12957         * lisp/ses.el (ses-completion-keys): New constant.
12958         (ses--completion-table): New defvar.
12959         (ses--list-orig-buffer): New defvar.
12960         (ses-mode-edit-map): Fixed for symbol completion, plus add
12961         help functions to list named cells or local printers.
12962         (ses-edit-cell-complete-symbol)
12963         (ses--edit-cell-completion-at-point-function): New defuns for
12964         completion during formula edition.
12965         (ses-edit-cell): Redefine dynamically edit keymap for
12966         completion keys to point at the right function.
12967         (ses-read-printer-complete-symbol)
12968         (ses--read-printer-completion-at-point-function): New defuns
12969         for completion during printer edition.
12970         (ses-read-printer): Redefine dynamically edit keymap for
12971         completion keys to point at the right function.
12972         (ses-list-local-printers): New defun.
12973         (ses-list-named-cells): New defun.
12975 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
12977         Move comments around
12979 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
12981         Make scaling work (?) on pre-GTK3 systems
12983         * src/gtkutil.c (xg_get_gdk_scale): Reinstate function.
12984         (xg_get_scale): Use it on non-GTK3 systems.
12986 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
12988         Always return the GDK scale
12990         * src/gtkutil.c (xg_get_scale): Return the GDK scale always.
12992 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
12994         Remove usage of the GDK_SCALE variable
12996         * src/gtkutil.c (xg_get_gdk_scale): Remove.
12997         (xg_get_default_scrollbar_height)
12998         (xg_get_default_scrollbar_width): Pass in a frame to check for
12999         scaling.
13000         (xg_frame_set_char_size): Use the API for querying scale
13001         instead of looking at the GDK_SCALE variable.
13002         (xg_get_default_scrollbar_width): Ditto.
13003         (xg_get_default_scrollbar_height): Ditto.
13004         (xg_update_scrollbar_pos): Ditto.
13006         * src/xfns.c (x_set_scroll_bar_default_height): Pass in the
13007         frame to get the width.
13009 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
13011         Get positions of menus and tooltips right on HiDPI
13013         * src/gtkutil.c (xg_get_scale): New function.
13014         (xg_show_tooltip): Use it.
13016         * src/xmenu.c (create_and_show_popup_menu): Put menus in the
13017         right place.
13019 2017-07-17  Eli Zaretskii  <eliz@gnu.org>
13021         Allow user control on what starts and ends a paragraph for bidi
13023         * src/buffer.h (struct buffer): New members
13024         bidi_paragraph_separate_re_ and bidi_paragraph_start_re_.
13025         * src/buffer.c (bset_bidi_paragraph_start_re)
13026         (bset_bidi_paragraph_separate_re): New setters/
13027         (Fbuffer_swap_text): Swap the values of bidi-paragraph-start-re and
13028         bidi-paragraph-separate-re.
13029         (init_buffer_once): Init the values of bidi-paragraph-start-re and
13030         bidi-paragraph-separate-re.
13031         (syms_of_buffer) <bidi-paragraph-start-re, bidi-paragraph-separate-re>:
13032         New per-buffer variables.
13033         * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
13034         Support bidi-paragraph-start-re and bidi-paragraph-separate-re.
13035         (bidi_move_to_visually_next): Handle correctly the case when the
13036         separator matches an empty string.  (Bug#27526)
13038         * doc/emacs/mule.texi (Bidirectional Editing):
13039         * doc/lispref/display.texi (Bidirectional Display): Document
13040         bidi-paragraph-start-re and bidi-paragraph-separate-re.
13042         * etc/NEWS: Mention bidi-paragraph-start-re and
13043         bidi-paragraph-separate-re.
13045 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
13047         * lisp/emacs-lisp/map.el (map-put): Fix redundancy in docstring.
13049 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
13051         alist-get: Add optional arg TESTFN
13053         If TESTFN is non-nil, then it is the predicate to lookup
13054         the alist.  Otherwise, use 'eq' (Bug#27584).
13055         * lisp/subr.el (alist-get): Add optional arg FULL.
13056         * lisp/emacs-lisp/map.el (map-elt, map-put): Add optional arg TESTFN.
13057         * lisp/emacs-lisp/gv.el (alist-get): Update expander.
13058         * doc/lispref/lists.texi (Association Lists): Update manual.
13059         * etc/NEWS: Announce the changes.
13060         * test/lisp/emacs-lisp/map-tests.el (test-map-put-testfn-alist)
13061         (test-map-elt-testfn): New tests.
13063 2017-07-17  Michael Albinus  <michael.albinus@gmx.de>
13065         Fix `tramp-test39-unload'
13067         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case-p)
13068         (tramp--test-instrument-test-case): Rename.  Adapt all callees.
13069         (tramp-test36-asynchronous-requests): Bind `timer-max-repeats'.
13070         (tramp-test39-unload): Expect it to pass.  Ignore buffer-local
13071         variables and autoload functions; they are not removed.  Check
13072         also for `-function(s)'.
13074 2017-07-17  Stephen Berman  <stephen.berman@gmx.net>
13076         Preserve point under 'dired-auto-revert-buffer' (second case)
13078         * lisp/dired.el (dired): Use pop-to-buffer-same-window instead
13079         of switch-to-buffer.  This preserves Dired window point when
13080         dired-auto-revert-buffer is non-nil.  (Bug#27243)
13082         * test/lisp/dired-tests.el (dired-test-bug27243): New test.
13084 2017-07-17  Martin Rudalics  <rudalics@gmx.at>
13086         Have Fgnutls_available_p return Qnil when GNUTLS is undefined
13088         * src/gnutls.c (Fgnutls_available_p): Return Qnil when GNUTLS is
13089         undefined to allow --with-gnutls=no builds to proceed.
13091 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
13093         * src/gnutls.c: Restore some comments.
13095 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
13097         Use memset, not bzero
13099         * src/ftcrfont.c (ftcrfont_glyph_extents): Use memset instead
13100         of the (less-portable) bzero.
13102 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
13104         Use explicit_bzero to clear GnuTLS keys
13106         * admin/merge-gnulib (GNULIB_MODULES): Add explicit_bzero.
13107         * lib/explicit_bzero.c, m4/explicit_bzero.m4: New files.
13108         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
13109         * src/gnutls.c (clear_storage): New function.
13110         (gnutls_symmetric_aead): Use it instead of memset.
13112 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
13114         Merge from gnulib
13116         This incorporates:
13117         2017-07-16 explicit_bzero: new module
13118         2017-07-15 getdtablesize: Add minimal support for OpenVMS.
13119         * lib/getdtablesize.c, lib/string.in.h, m4/getdtablesize.m4:
13120         * m4/string_h.m4:
13121         Copy from Gnulib.
13122         * lib/gnulib.mk.in: Regenerate.
13124 2017-07-17  Dieter Deyke  <dieter.deyke@gmail.com>
13126         Fix vc-src-dir-status-files
13128         * lisp/vc/vc-src.el (vc-src-dir-status-files): Fix broken
13129         copy-paste from b1a765b3 (bug#27641).
13131 2017-07-16  Wilfred Hughes  <me@wilfred.me.uk>
13133         Fix mismatched parens
13135         * etc/NEWS.21: Remove excess parenthesis in code example
13137 2017-07-16  Alan Third  <alan@idiocy.org>
13139         Add missing declare-function for new function
13141         * lisp/frame.el: Add declare function for
13142         ns-mouse-absolute-pixel-position.
13144 2017-07-16  R. Bernstein  <rocky@gnu.org>
13146         Realgud for tango themes
13148 2017-07-16  Noam Postavsky  <npostavs@gmail.com>
13150         Fix test when running from test/lisp/subr-tests.elc
13152         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests): Don't
13153         assume a lambda expression will be `equal' to its quoted form.  That's
13154         not true if the lambda expression has been compiled.
13156 2017-07-15  Alan Third  <alan@idiocy.org>
13158         Fix some frame handling issues on NS
13160         * lisp/frame.el (mouse-absolute-pixel-position): Use new NS function.
13161         * src/nsfns.m (Sns_mouse_absolute_pixel_position): New function.
13162         * src/nsterm.m (x_make_frame_visible): Re-establish parent-child
13163         relationship if it's broken.
13165 2017-07-15  Tino Calancha  <tino.calancha@gmail.com>
13167         ls-lisp: Fix file size format
13169         * lisp/ls-lisp.el (ls-lisp-filesize-d-fmt, ls-lisp-filesize-f-fmt)
13170         (ls-lisp-filesize-b-fmt): Add space in front (Bug#27693).
13171         * test/lisp/dired-tests.el (dired-test-bug27693): Add test.
13173 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
13175         Avoid link errors with older versions of GnuTLS
13177         * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
13178         (Fgnutls_macs, Fgnutls_digests): Conditionally compile code that
13179         calls GnuTLS functions which might be unavailable in older
13180         versions of GnuTLS.
13182 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
13184         Improve comments in faces.el
13186         * lisp/faces.el (face-font-family-alternatives): Improve
13187         commentary.
13189 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
13191         Improve some GnuTL error messages
13193         * src/gnutls.c (gnutls_symmetric_aead, gnutls_symmetric):
13194         * src/fns.c (Fsecure_hash_algorithms): Fix error messages.
13196 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
13198         Fix the Elisp manual wrt GnuTL cryptography
13200         * doc/lispref/elisp.texi (Top): Update the master menu.
13201         * doc/lispref/text.texi (GnuTLS Cryptography): Add a @menu, to
13202         avoid errors in makeinfo.
13204 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
13206         Fix compilation of gnutls.c with older GnuTLS
13208         * src/gnutls.c (syms_of_gnutls): Condition some defsubr's
13209         on HAVE_GNUTLS3, to avoid compilation errors when GnuTLS
13210         v3.X is not available.  Reported by Colin Baxter <m43cap@yandex.com>.
13212 2017-07-15  rocky  <rb@dustyfeet.com>
13214         Realgud for two more light themes
13216 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
13218         Rearrange MS-Windows code that dynamically loads GnuTLS functions
13220         * src/gnutls.c [WINDOWSNT]: Reorganize definitions and loading
13221         of functions using the same preprocessing directives as in the code.
13223 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
13225         Fix the MS-Windows build broken in gnutls.c
13227         * src/gnutls.c (Fgnutls_available_p) [WINDOWSNT]: Move the DLL
13228         loading code to after 'capabilities' has been calculated.  Remove
13229         redundant comments.
13231 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
13233         src/image.c (compute_image_size): Remove superfluous checks.
13235         * src/image.c (compute_image_size): Remove superfluous checks.
13237 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
13239         Make combinations of :width/:max-height image specs work reliably
13241         * doc/lispref/display.texi (ImageMagick Images): Document
13242         :width/:max-height combinations (etc) (bug #25583).
13244         * src/image.c (compute_image_size): Handle :width/:max-height
13245         (etc) combinations consistently (by letting "max" win and
13246         preserve ratio).
13248         * test/manual/image-size-tests.el (image-size-tests): Add
13249         tests for :width/:max-height (etc) combinations.
13251 2017-07-15  Glenn Morris  <rgm@gnu.org>
13253         Fix recent theme changes
13255         * etc/themes/manoj-dark-theme.el, etc/themes/tsdh-dark-theme.el:
13256         Fix typos in recent changes.
13258 2017-07-15  Paul Eggert  <eggert@cs.ucla.edu>
13260         GnuTLS integer-overflow and style fixes
13262         This tweaks the recently-added GnuTLS improvements so that
13263         they avoid some integer-overflow problems and follow typical
13264         Emacs style a bit better.
13265         * configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
13266         (HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
13267         configure-time results are displayed.
13268         * src/fns.c (extract_data_from_object): Return char *, not char
13269         const *, since one gnutls caller wants a non-const pointer.  Use
13270         CONSP rather than !NILP when testing for conses.  Use CAR_SAFE
13271         instead of rolling our own code.  Prefer signed types to unsigned
13272         when either will do.  Report problems for lengths out of range,
13273         instead of silently mishandling them.
13274         * src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
13275         callers.  All callers of gnutls_sterror changed.
13276         (Fgnutls_boot): Check for integers out of range rather than
13277         silently truncating them.
13278         (gnutls_symmetric_aead): Check for integer overflow in size
13279         calculations.
13280         (gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
13281         Prefer signed to unsigned integers where either will do.
13282         (gnutls_symmetric_aead, gnutls_symmetric):
13283         Work even if ptrdiff_t is wider than ‘long’.
13284         (gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
13285         Check for integer overflow in algorithm selection.
13287 2017-07-14  Noam Postavsky  <npostavs@gmail.com>
13289         * .gitlab-ci.yml: Don't install a C++ compiler.  Suppress apt interaction.
13291 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
13293         Fix the MS-Windows build due to added GnuTLS functions
13295         * src/gnutls.c [WINDOWSNT]: Add DEF_DLL_FN for new functions.
13296         (init_gnutls_functions) [WINDOWSNT]: Add LOAD_DLL_FN for new
13297         functions.  Add #define redirections for new functions.
13298         (gnutls_symmetric_aead): Fix format specs to be more portable when
13299         printing ptrdiff_t arguments.
13300         * src/fns.c (gnutls_rnd) [WINDOWSNT]: Redirect to w32_gnutls_rnd
13301         wrapper.
13302         * src/gnutls.h [WINDOWSNT]: Add prototype for w32_gnutls_rnd.
13304         * test/lisp/net/gnutls-tests.el (gnutls-tests-tested-macs)
13305         (gnutls-tests-tested-digests, gnutls-tests-tested-ciphers): Call
13306         gnutls-available-p, otherwise GnuTLS functions might not be loaded
13307         from the DLL on MS-Windows.
13309 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
13311         * lisp/emacs-lisp/bytecomp.el: Fix bug#14860.
13313         * lisp/emacs-lisp/bytecomp.el (byte-compile--function-signature): New fun.
13314         Dig into advice wrappers to find the "real" signature.
13315         (byte-compile-callargs-warn, byte-compile-arglist-warn): Use it.
13316         (byte-compile-arglist-signature): Don't bother with "new-style" arglists,
13317         since bytecode functions are now handled in byte-compile--function-signature.
13319         * lisp/files.el (create-file-buffer, insert-directory):
13320         Remove workaround introduced for (bug#14860).
13322         * lisp/help-fns.el (help-fns--analyse-function): `nadvice` is preloaded.
13324         * lisp/help.el (help-function-arglist):
13325         Dig into advice wrappers to find the "real" signature.
13327 2017-07-14  Ted Zlatanov  <tzz@lifelogs.com>
13329         GnuTLS HMAC and symmetric cipher support
13331             * etc/NEWS: Add news for new feature.
13333             * doc/lispref/text.texi (GnuTLS Cryptography): Add
13334             documentation.
13336             * configure.ac: Add macros HAVE_GNUTLS3_DIGEST,
13337             HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_AEAD, HAVE_GNUTLS3_HMAC.
13339             * src/fns.c (Fsecure_hash_algorithms): Add function to list
13340             supported `secure-hash' algorithms.
13341             (extract_data_from_object): Add data extraction function that
13342             can operate on buffers and strings.
13343             (secure_hash): Use it.
13344             (Fsecure_hash): Mention `secure-hash-algorithms'.
13346             * src/gnutls.h: Include gnutls/crypto.h.
13348             * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
13349             (gnutls_symmetric, Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
13350             (Fgnutls_macs, Fgnutls_digests, Fgnutls_hash_mac, Fgnutls_hash_digest)
13351             (Fgnutls_available_p): Implement GnuTLS cryptographic integration.
13353             * test/lisp/net/gnutls-tests.el: Add tests.
13355 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
13357         * lisp/emacs-lisp/cl-lib.el (cl--random-time): Remove as well
13359         It's also defined in cl-extra.el.
13361 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
13363         Do not convert ij and IJ to compatibility chars
13365         * lisp/leim/quail/latin-alt.el: Omit lines for ij and IJ in Dutch.
13366         Problem reported by James Cloos (Bug#518#10).
13368 2017-07-14  Toon Claes  <toon@iotcl.com>
13370         Remove Turkish ligatures from Dutch input method
13372         * lisp/leim/quail/latin-alt.el: Remove Turkish ligatures (Bug#518).
13374 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
13376         Improve stack-overflow heuristic on GNU/Linux
13378         Problem reported by Steve Kemp (Bug#27585).
13379         * src/eval.c (near_C_stack_top): Remove.  All uses replaced
13380         by current_thread->stack_top.
13381         (record_in_backtrace): Set current_thread->stack_top.
13382         This is for when the Lisp interpreter calls itself.
13383         * src/lread.c (read1): Set current_thread->stack_top.
13384         This is for recursive s-expression reads.
13385         * src/print.c (print_object): Set current_thread->stack_top.
13386         This is for recursive s-expression printing.
13387         * src/thread.c (mark_one_thread): Get stack top first.
13388         * src/thread.h (struct thread_state.stack_top): Now void *, not char *.
13390 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
13392         Remove duplicate cl--random-state definition
13394         * lisp/emacs-lisp/cl-lib.el (cl--random-state): Remove.
13395         This variable is now defined in cl-extra.el (Bug#27617).
13397 2017-07-14  Michael Albinus  <michael.albinus@gmx.de>
13399         Adjust timer in tramp-test36-asynchronous-requests
13401         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
13402         Adjust timer if it takes too much time.
13404 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
13406         Always display rmail progress report under user control
13408         * lisp/mail/rmail.el (rmail-show-message-1): Delete the second
13409         copy of '(message "Showing message %d..." msg)'.  (Bug#27535)
13411 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
13413         Avoid byte-compilation warnings for advised functions
13415         * lisp/files.el (insert-directory, create-file-buffer): Add an
13416         advertised-calling-convention form to shut up byte-compilation
13417         warnings.  (Bug#14860)
13419 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
13421         Add assertion related to display-line-numbers
13423         * src/xdisp.c (maybe_produce_line_number): Add assertion for the
13424         condition regarding IT->glyph_row->used[TEXT_AREA] expected by the
13425         code.  (Bug#27668)
13427 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
13429         Prevent display corruption when display-line-numbers is set
13431         * src/xdisp.c (try_window_reusing_current_matrix): If giving up
13432         due to display-line-numbers, clear the window's desired glyph
13433         matrix before returning, as the following call to try_window will
13434         call display_line, which expects rows of the desired matrix
13435         cleared.  (Bug#27668)
13437 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
13439         Revert "Use fixed-pitch font for display-line-numbers"
13441         This reverts commit d014a5e15c1110af77e7a96f06ccd0f0cafb099f.
13442         * lisp/faces.el (line-number): Don't use a fixed-pitch font, by
13443         popular demand.  For relevant discussions, see
13445          https://lists.gnu.org/r/emacs-devel/2017-07/msg00433.html
13446          https://lists.gnu.org/r/emacs-devel/2017-07/msg00445.html
13448 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
13450         Merge from gnulib
13452         This incorporates:
13453         2017-07-13 Improve cross-compilation guesses for native Windows
13454         2017-07-11 More systematic m4 quoting and indentation
13455         2017-07-10 Make sure $host and $host_os are defined when used
13456         2017-07-03 stdioext: Port to OpenVMS
13457         2017-06-24 xalloc-oversized: port to icc
13458         * doc/misc/texinfo.tex, lib/fpending.c, lib/stdio-impl.h:
13459         * lib/xalloc-oversized.h, m4/dirfd.m4, m4/gettimeofday.m4:
13460         * m4/lstat.m4, m4/mktime.m4, m4/pselect.m4, m4/putenv.m4:
13461         * m4/stdint.m4, m4/strtoimax.m4, m4/utimes.m4:
13462         Copy from Gnulib.
13464 2017-07-13  Alan Mackenzie  <acm@muc.de>
13466         C++ Mode.  Fix anomaly occurring when a ">" is deleted then reinserted.
13468         This fontification anomaly happened because after deleting the ">",
13469         c-forward-<>-arglist parses the preceding identifier as a putative type but
13470         stores it in c-found-types before it becomes clear it is not an unambiguous
13471         type.  c-forward-<>-arglist fails, leaving the spurious type id in
13472         c-found-types.  Fix this by "binding" c-found-types "to itself" in
13473         c-forward-<>-arglist, and restoring the original value when that function call
13474         fails.
13476         * lisp/progmodes/cc-engine.el (c-copy-found-types): New function.
13477         (c-forward-<>-arglist): Record the original value of c-found-types at the
13478         beginning of the function, and restore it at the end on failure.
13480         * lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens): Rewrite more
13481         accurately.
13483 2017-07-13  Vincent Belaïche  <vincentb1@users.sourceforge.net>
13485         Add tests for SES, and fix one more cell renaming bug.
13487         * lisp/ses.el (ses-relocate-all): In case of insertion, do not
13488         relocate value for named cells as they keep the same symbol.
13489         (ses-rename-cell): Set new cell name symbol to cell value --- do not
13490         rely on recalculating.  Push cells with updated data --- cell name,
13491         cell reference list, or cell formula --- to deferred write list.
13493         * test/lisp/ses-tests.el: New file, with 7 tests for SES.
13495 2017-07-12  Alan Mackenzie  <acm@muc.de>
13497         Fix some bugs in c-defun-name.  This fixes bug #25623.
13499         * lisp/progmodes/cc-cmds.el (c-defun-name): Fix some bugs to do with structs,
13500         etc.
13502 2017-07-12  Vasilij Schneidermann  <mail@vasilij.de>
13504         Make prog-mode-map the parent of c-mode-base-map.  Fixes bug #26658.
13506         * lisp/progmodes/cc-mode.el (top level): Make prog-mode-map the parent of
13507         c-mode-base-map if possible.
13509 2017-07-12  Alan Mackenzie  <acm@muc.de>
13511         CC Mode: create and use c-set-keymap-parent.
13513         * lisp/progmodes/cc-defs.el (c-set-keymap-parent): New macro.
13515         * lisp/progmodes/cc-mode.el (top-level): Remove cc-bytecomp-defun for
13516         set-keymap-parents.
13517         (c-make-inherited-keymap): Use c-set-keymap-parent in place of inline code.
13519 2017-07-12  Martin Rudalics  <rudalics@gmx.at>
13521         Minor tweaks of new line number display variables
13523         * src/xdisp.c (Vdisplay_line_numbers): Tweak doc-string.
13524         (Vdisplay_line_number_width): Rename to
13525         Vdisplay_line_numbers_width.
13526         (maybe_produce_line_number): Comply with above rename.
13527         * lisp/cus-start.el (standard):
13528         * lisp/frame.el (top-level):
13529         * etc/NEWS: Comply with renaming of
13530         `display-line-number-width' to `display-line-numbers-width'.
13532 2017-07-12  Eli Zaretskii  <eliz@gnu.org>
13534         Avoid assertion violations in close_infile_unwind
13536         * src/lread.c (close_infile_unwind): A temporary band-aid solution
13537         for bug#27642: allow 'infile' be NULL.
13539 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
13541         Use fixed-pitch font for display-line-numbers
13543         * lisp/faces.el (line-number): Use a fixed-pitch font by default,
13544         even if the default face uses a variable-pitch font.  Reported by
13545         James Cloos <cloos@jhcloos.com>.
13547 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
13549         Improve documentation of display-line-numbers
13551         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: Improve the
13552         doc string.  Suggested by Alex <agrambot@gmail.com>.
13554 2017-07-11  Nicolas Petton  <nicolas@petton.fr>
13556         Add an optional testfn parameter to assoc
13558         * src/fns.c (assoc): New optional testfn parameter used for comparison
13559         when provided.
13560         * test/src/fns-tests.el (test-assoc-testfn): Add tests for the new
13561         'testfn' parameter.
13562         * src/buffer.c:
13563         * src/coding.c:
13564         * src/dbusbind.c:
13565         * src/font.c:
13566         * src/fontset.c:
13567         * src/gfilenotify.c:
13568         * src/image.c:
13569         * src/keymap.c:
13570         * src/process.c:
13571         * src/w32fns.c:
13572         * src/w32font.c:
13573         * src/w32notify.c:
13574         * src/w32term.c:
13575         * src/xdisp.c:
13576         * src/xfont.c: Add a third argument to Fassoc calls.
13577         * etc/NEWS:
13578         * doc/lispref/lists.texi: Document the new 'testfn' parameter.
13580 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
13582         Use `with-demoted-errors' in Tramp
13584         * lisp/net/tramp.el (tramp-with-demoted-errors): New defmacro.
13586         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Use it.
13588 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
13590         Add Quick Start Guide to Tramp manual
13592         * doc/misc/tramp.texi: Use consequently "@value{tramp}" and
13593         "MS Windows".
13594         (Quick Start Guide): New node.
13596         * doc/misc/trampver.texi:
13597         * lisp/net/trampver.el: Change version to "2.3.3-pre".
13599 2017-07-10  Glenn Morris  <rgm@gnu.org>
13601         Fix failing module tests on GNU/Linux
13603         * test/src/emacs-module-tests.el
13604         (module--test-assertions--load-non-live-object)
13605         (module--test-assertions--call-emacs-from-gc):
13606         Avoid test failures due to backtraces.
13608 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
13610         Fix core dump in substitute-object-in-subtree
13612         Without this fix, (substitute-object-in-subtree #0=(#0# 'a) 'a)
13613         would dump core, since the C code would recurse indefinitely through
13614         the infinite structure.  This patch adds an argument to the function,
13615         and renames it to lread--substitute-object-in-subtree as the function
13616         is not general-purpose and should not be relied on by outside code.
13617         See Bug#23660.
13618         * src/intervals.c (traverse_intervals_noorder): ARG is now void *,
13619         not Lisp_Object, so that callers need not cons unnecessarily.
13620         All callers changed.  Also, remove related #if-0 code that was
13621         “temporary” in the early 1990s and has not been compilable for
13622         some time.
13623         * src/lread.c (struct subst): New type, for substitution closure data.
13624         (seen_list): Remove this static var, as this info is now part of
13625         struct subst.  All uses removed.
13626         (Flread__substitute_object_in_subtree): Rename from
13627         Fsubstitute_object_in_subtree, and give it a 3rd arg so that it
13628         doesn’t dump core when called from the top level with an
13629         already-cyclic structure.  All callers changed.
13630         (SUBSTITUTE): Remove.  All callers expanded and then simplified.
13631         (substitute_object_recurse): Take a single argument SUBST rather
13632         than a pair OBJECT and PLACEHOLDER, so that its address can be
13633         passed around as part of a closure; this avoids the need for an
13634         AUTO_CONS call.  All callers changed.  If the COMPLETED component
13635         is t, treat every subobject as potentially circular.
13636         (substitute_in_interval): Take a struct subst * rather than a
13637         Lisp_Object, for the closure data.  All callers changed.
13638         * test/src/lread-tests.el (lread-lread--substitute-object-in-subtree):
13639         New test, to check that the core dump does not reoccur.
13641 2017-07-10  Philipp Stephani  <phst@google.com>
13643         Minor simplification of module_free_global_ref
13645         * src/emacs-module.c (module_free_global_ref): Remove unused variable
13646         'hashcode'.  Inline variable 'value' that's only used once.
13648 2017-07-10  Philipp Stephani  <phst@google.com>
13650         Re-add a useful assertion
13652         * src/emacs-module.c (module_free_global_ref): Re-add assertion that
13653         the reference count is zero.  This assertion was removed in commit
13654         8afaa1321f8088bfb877fe4b6676e8517adb0bb7, but it's not included in the
13655         test performed by XFASTINT before, because the previous reference
13656         count could have been zero already in the case of a buggy
13657         implementation.  This assertion might have detected Bug#27587.
13659 2017-07-10  Valentin Gatien-Baron  <vgatien-baron@janestreet.com>  (tiny change)
13661         Fix bug in module_free_global_ref (Bug#27587)
13663         * src/emacs-module.c (module_free_global_ref): Actually remove entry
13664         from hash table.
13666 2017-07-09  Philipp Stephani  <phst@google.com>
13668         Further improve electric quote support for Markdown (Bug#24709)
13670         Markdown sets both 'comment-start' and 'comment-use-syntax' to non-nil
13671         values.  Therefore 'electric-quote-mode' recognized it as a
13672         programming mode.  Fix this by first checking whether the current
13673         major mode is derived from 'text-mode'.
13675         * lisp/electric.el (electric-quote-post-self-insert-function): Treat
13676         'text-mode' as stronger signal than comment syntax.
13678         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
13679         (electric-quote-markdown-in-code): Adapt unit tests.
13681 2017-07-09  Philipp Stephani  <phst@google.com>
13683         Remove pointless code in 'electric-quote-mode'
13685         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
13686         pointless form.
13688 2017-07-09  Philipp Stephani  <phst@google.com>
13690         Refactor 'electric-quote-mode'
13692         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
13693         local variable 'start', which was misnamed and only used once.
13695 2017-07-09  Saulius Menkevičius  <saulius.menkevicius@gmail.com>  (tiny change)
13697         Avoid crashes on MS-Windows starting 64-bit .NET executables
13699         * src/w32proc.c (w32_executable_type): Don't assume that the
13700         import directory in a DLL will always be non-NULL.  (Bug#27527)
13702 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
13704         Avoid compilation warning in files.el
13706         * lisp/files.el (auto-save-visited-file-name): Avoid obsoletion
13707         warning due to its use in auto-save-visited-mode.
13709 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
13711         Improve indexing of VC-related stuff in the Emacs manual
13713         * doc/emacs/maintaining.texi (Version Control): Add a "VC" index
13714         entry.  (Bug#27627)
13716 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
13718         Speed up display of line numbers for very large buffers
13720         * src/xdisp.c (maybe_produce_line_number): Speed up line counting
13721         using values cached by mode-line display of line numbers.
13722         (Bug#27622)
13724 2017-07-09  Alexander Kuleshov  <kuleshovmail@gmail.com>
13726         Define internal_border_parts for window systems only (Bug#27615)
13728         * src/keyboard.c: (internal_border_parts): Define only
13729         when HAVE_WINDOW_SYSTEM is enabled.  (Bug#27615)
13731 2017-07-09  R. Bernstein  <rocky@gnu.org>
13733         Add realgud faces faces to whiteboard...
13735         Adjust wheatgrass to use underline for enabled/disabled breakpoints
13737 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
13739         Optimize UCS normalization tests
13741         Brings the the time for `ucs-normalize-part1' from 200s down to 130s.
13742         * test/lisp/international/ucs-normalize-tests.el
13743         (ucs-normalize-tests--parse-column): Use character instead of string
13744         of length 1 for terminator.  Convert return value into string since
13745         all callers need that form anyway.
13746         (ucs-normalize-tests--normalization-equal-p): Rename from
13747         ucs-normalize-tests--normalize.  Use dedicated buffer instead of
13748         messing with narrowing.  Take string to compare against and insert it
13749         into buffer so that compare-buffer-substrings can be used instead of
13750         allocating a new string from buffer contents.
13751         (ucs-normalize-tests--normalization-chareq-p): New macro, specialized
13752         for comparing single character.
13753         (ucs-normalize-tests--rule1-holds-p)
13754         (ucs-normalize-tests--rule2-holds-p): Turn into defsubst.
13755         (ucs-normalize-tests--rule1-failing-for-partX): Use `eq' instead of
13756         `='.
13758 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
13760         Update failing lines for UCS normalize tests
13762         * test/lisp/international/ucs-normalize-tests.el
13763         (ucs-normalize-tests--failing-lines-part2): Update for new
13764         admin/unidata/NormalizationTest.txt version.
13766 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
13768         Semi-automate the procedure for updating UCS normalize test bad lines
13770         * test/lisp/international/ucs-normalize-tests.el: Remove incorrect
13771         commentary describing a manual procedure for producing the updated
13772         failing lines, it did not actually work.  Replace it with pointer to
13773         new function which prints the updated values.
13774         (ucs-normalize-tests--rule1-holds-p): Renamed from
13775         ucs-normalize-tests--invariants-hold-p.
13776         (ucs-normalize-tests--rule2-holds-p): Renamed from
13777         ucs-normalize-tests--invariants-rule2-hold-p.
13778         (ucs-normalize-tests--rule1-failing-for-partX): Renamed from
13779         ucs-normalize-tests--invariants-failing-for-part.
13780         (ucs-normalize-tests--rule1-failing-for-lines): Renamed from
13781         ucs-normalize-tests--invariants-failing-for-lines.
13782         (ucs-normalize-tests--part2-rule1-failed-lines): New variable.
13783         (ucs-normalize-part2): Set it.
13784         (ucs-normalize-part1): Always run through to end of test before
13785         checking for failures.
13786         (ucs-normalize-tests--insert-failing-lines)
13787         (ucs-normalize-check-failing-lines): New functions, used to update
13788         the *--failing-lines-part* variables.
13790 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
13792         * lisp/cus-start.el (standard): Spelling fix.
13794 2017-07-08  Philipp Stephani  <phst@google.com>
13796         Module assertions: check for garbage collections
13798         It's technically possible to write a user pointer finalizer that calls
13799         into Emacs module functions.  This would be disastrous because it
13800         would allow arbitrary Lisp code to run during garbage collection.
13801         Therefore extend the module assertions to check for this case.
13803         * src/emacs-module.c (module_assert_thread): Also check whether a
13804         garbage collection is in progress.
13806         * test/data/emacs-module/mod-test.c (invalid_finalizer)
13807         (Fmod_test_invalid_finalizer): New test module functions.
13808         (emacs_module_init): Register new test function.
13810         * test/src/emacs-module-tests.el (module--test-assertion)
13811         (module--with-temp-directory): New helper macros.
13812         (module--test-assertions--load-non-live-object): Rename existing
13813         unit test, use helper macros.
13814         (module--test-assertions--call-emacs-from-gc): New unit test.
13816 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
13818         Capitalize the menu entry for display-line-numbers
13820         * lisp/menu-bar.el (menu-bar-showhide-menu): Capitalize menu item
13821         for display-line-numbers.  Suggested by Martin Rudalics
13822         <rudalics@gmx.at>.
13824 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
13826         Update Unicode data and files to Unicode 10.0
13828         * admin/notes/unicode:
13829         * admin/unidata/README:
13830         * admin/unidata/BidiBrackets.txt:
13831         * admin/unidata/BidiMirroring.txt:
13832         * admin/unidata/Blocks.txt:
13833         * admin/unidata/IVD_Sequences.txt:
13834         * admin/unidata/NormalizationTest.txt:
13835         * admin/unidata/SpecialCasing.txt:
13836         * admin/unidata/UnicodeData.txt:
13837         * lisp/international/characters.el:
13838         * lisp/international/fontset.el (script-representative-chars):
13839         * lisp/international/mule-cmds.el (ucs-names): Update per Unicode 10.0.
13841 2017-07-08  Alexander Gramiak  <agrambot@gmail.com>
13843         Support '=' in Scheme and Lisp tags in 'etags'
13845         * lib-src/etags.c (get_lispy_tag): New function.
13846         (L_getit, Scheme_functions): Use get_lispy_tag (Bug#5624).
13847         * test/manual/etags/CTAGS.good:
13848         * test/manual/etags/ETAGS.good_1:
13849         * test/manual/etags/ETAGS.good_2:
13850         * test/manual/etags/ETAGS.good_3:
13851         * test/manual/etags/ETAGS.good_4:
13852         * test/manual/etags/ETAGS.good_5:
13853         * test/manual/etags/ETAGS.good_6:
13854         * test/manual/etags/Makefile:
13855         * test/manual/etags/el-src/TAGTEST.EL: Update tests.
13856         * test/manual/etags/scm-src/test.scm: New tests for Scheme.
13858 2017-07-08  Alexander Kuleshov  <kuleshovmail@gmail.com>
13860         Avoid compiler warnings in xdisp.c debugging code
13862         * src/xdisp.c (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
13863         Use pD directives for ptrdiff_t values instead of pI, to avoid
13864         compilation warnings on 64-bit hosts.  (Bug#27597)
13866 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
13868         Commentary enhancement in frame.el
13870         * lisp/frame.el: Explain how to test whether a variable needs to
13871         be added to the list of those which are watched for buffer
13872         redisplay.
13874 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
13876         Support display of line numbers natively
13878         This merges branch 'line-numbers'.
13879         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
13880         function.
13881         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
13882         * src/dispextern.h (struct it): New members pt_lnum, lnum,
13883         lnum_bytepos, lnum_width, and lnum_pixel_width.
13884         * src/indent.c (line_number_display_width): New function,
13885         refactored from line-number width calculations in vertical-motion.
13886         (Fvertical_motion): Call line_number_display_width when the width
13887         of line-number display is needed.
13888         (Fline_number_display_width): New defun.
13889         (syms_of_indent): Defsubr it.
13890         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
13891         the width used up by line numbers by looking near the window-start
13892         point.  If window-start is outside of the accessible portion,
13893         temporarily widen the buffer.
13894         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
13895         space taken by the line-number display.
13896         * src/xdisp.c (display_count_lines_logically)
13897         (display_count_lines_visually, maybe_produce_line_number)
13898         (should_produce_line_number, row_text_area_empty): New functions.
13899         (try_window_reusing_current_matrix): Don't use this method when
13900         display-line-numbers is in effect.
13901         (try_window_id, try_cursor_movement): Disable these optimizations
13902         when the line-number-current-line face is different from
13903         line-number face and for relative line numbers.
13904         (try_window_id, redisplay_window, try_cursor_movement): For
13905         visual line-number display, disable the same redisplay
13906         optimizations as for relative.
13907         (x_produce_glyphs): Adjust tab stops for the horizontal
13908         space taken by the line-number display.
13909         (hscroll_window_tree): Adjust hscroll calculations to line-number
13910         display.
13911         (DISP_INFINITY): Renamed from INFINITY to avoid clashes with
13912         math.h; all users changed.
13913         (set_cursor_from_row): Fix calculation of cursor X coordinate in
13914         R2L rows with display-produced glyphs at the beginning.
13915         (display_line): Use should_produce_line_number to determine
13916         whether a line number should be produced for each glyph row, and
13917         maybe_produce_line_number to produce line numbers.
13918         Don't display line numbers in the minibuffer and in tooltip
13919         frames.
13920         Call row_text_area_empty to verify that a glyph
13921         row's text area is devoid of any glyphs that came from a buffer or
13922         a string.  This fixes a bug with empty-lines indication
13923         disappearing when line numbers or line-prefix are displayed.
13924         (syms_of_xdisp) <display-line-numbers, display-line-numbers-widen>
13925         <display-line-number-width>: New buffer-local variables.
13926         <display-line-numbers-current-absolute>: New variable.
13928         * lisp/cus-start.el (standard): Provide customization forms for
13929         display-line-numbers and its sub-features.
13930         * lisp/faces.el (line-number, line-number-current-line): New faces.
13931         * lisp/frame.el: Add display-line-numbers, display-line-numbers-widen,
13932         display-line-numbers-current-absolute, and
13933         display-line-number-width to the list of variables that should
13934         trigger redisplay of the current buffer.
13935         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
13936         turn display-line-numbers on and off.
13937         (toggle-display-line-numbers): New function.
13938         * lisp/simple.el (last--line-number-width): New internal variable.
13939         (line-move-visual): Use it to adjust temporary-goal-column when
13940         line-number display changes its width.
13942         * doc/emacs/basic.texi (Position Info): Add cross-reference to
13943         "Display Custom", for line-number display.
13944         * doc/emacs/custom.texi (Init Rebinding):
13945         * doc/emacs/modes.texi (Minor Modes): Remove references to
13946         linum-mode.
13947         * doc/emacs/display.texi (Display Custom): Describe the
13948         line-number display.
13949         * doc/lispref/display.texi (Size of Displayed Text): Document
13950         line-number-display-width.
13952         * etc/NEWS: Document display-line-numbers and its customizations.
13954 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
13956         Fix more ungetc bugs with encoding errors
13958         * src/lread.c (infile): New variable, replacing ...
13959         (instream): ... this.  All uses changed.
13960         (readbyte_from_stdio): New function, which deals with lookahead.
13961         (readbyte_from_file, Fget_file_char): Use it.
13962         (Fget_file_char): When misused, signal an error instead of
13963         relying on undefined behavior.
13964         (close_infile_unwind): New function.
13965         (Fload): Use it.
13966         (readevalloop): 2nd arg is now struct infile *, not FILE *.
13967         All callers changed.
13968         (read1): Handle lookahead when copying doc strings with
13969         encoding errors.
13971 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
13973         Avoid ungetc when loading charset maps from files
13975         * src/charset.c (read_hex): New args LOOKAHEAD and TERMINATOR,
13976         replacing the old EOF.  All callers changed.  This avoids the
13977         need to call ungetc.
13979 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
13981         Fix ungetc bug when reading an encoding error
13983         * src/lread.c (readchar, read_emacs_mule_char): Fix off-by-one
13984         error when reading an encoding error from a file, e.g., a symbol
13985         in an .elc file whose name is "\360\220\200\360".
13987 2017-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
13989         * lisp/wid-edit.el (widget-color--choose-action): Use a closure
13991         * lisp/window.el (display-buffer--special-action): Use a closure.
13993 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
13995         Add new todo-mode.el tests
13997         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
13998         Declare an Edebug spec.  Restore pre-test-run state of test files.
13999         (todo-test--show, todo-test--move-item)
14000         (todo-test--insert-item): New functions.
14001         (todo-test-get-archive): Remove, as subsumed by
14002         todo-test--show.  Adjust all callers.
14003         (todo-test--is-current-buffer): Rename from
14004         todo-test-is-current-buffer and adjust uses.
14005         (todo-test-item-highlighting): Use todo-test--show.
14006         (todo-test-revert-buffer01, todo-test-revert-buffer02)
14007         (todo-test-raise-lower-priority)
14008         (todo-test-todo-mark-unmark-category, todo-test-move-item01)
14009         (todo-test-move-item02, todo-test-move-item03)
14010         (todo-test-move-item04, todo-test-move-item05)
14011         (todo-test-toggle-item-header01)
14012         (todo-test-toggle-item-header02)
14013         (todo-test-toggle-item-header03)
14014         (todo-test-toggle-item-header04)
14015         (todo-test-toggle-item-header05)
14016         (todo-test-toggle-item-header06)
14017         (todo-test-toggle-item-header07): New tests.
14019         * test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
14020         * test/lisp/calendar/todo-mode-resources/todo-test-1.todo:
14021         Modify to accommodate new tests.
14023 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
14025         todo-mode.el: Fix handling of hidden item headers (bug#27609)
14027         * lisp/calendar/todo-mode.el (todo--item-headers-hidden): New variable.
14028         (todo-toggle-item-header): Use it.  Make this command a noop
14029         if the file has no items.
14030         (todo-move-item, todo-item-done): Instead of concatenating the
14031         items to move into one string, make a list of them to
14032         facilitate handling hidden headers.  Adjust insertion accordingly.
14033         (todo-archive-done-item): Handle hidden headers in archive file.
14034         (todo-unarchive-items): Handle hidden headers in todo file.
14035         (todo-backward-item): Use todo--item-headers-hidden and handle
14036         moving backward work when item date-time headers are hidden.
14037         (todo-remove-item): Delete date-time header overlay.
14038         (todo-get-overlay, todo-insert-with-overlays): Make them work
14039         with hidden date-time headers.
14040         (todo-modes-set-2): Make todo--item-headers-hidden buffer local.
14042 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
14044         Fix several todo-mode bugs found while debugging bug#27609
14046         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Calculate
14047         current category only once.
14048         (todo-mark-category): Update number of marked items to avoid
14049         spurious duplication in todo-categories-with-marks alist and
14050         corruption of the todo-categories alist.  Handle empty line
14051         when there are no todo items and done items are shown.
14052         (todo-set-item-priority): Make noop if called from
14053         todo-raise-item-priority or todo-lower-item-priority when
14054         point is on a done todo item or an empty line.
14055         (todo-move-item): Use markers instead of integer positions to
14056         correctly handle deleting the now moved items from the source
14057         category (without markers an infinite loop arises when moving
14058         marked item to a preceding category).
14059         (todo-unarchive-items): Put point on the (first) restored done
14060         item, instead of leaving it at the end of the done items
14061         separator string.
14062         (todo-revert-buffer): Ensure buffer remains read-only after
14063         reverting.
14065 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
14067         Exclude blank columns from value of line-number-display-width
14069         * src/indent.c (Fline_number_display_width): Don't add 2 to the
14070         number of columns we return, to make this consistent with
14071         display-line-number-width.
14073 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
14075         Fix vertical-motion across the place where line-number width changes
14077         * src/indent.c (line_number_display_width): New function,
14078         refactored from line-number width calculations in vertical-motion.
14079         (Fvertical_motion): Call line_number_display_width when the width
14080         of line-number display is needed.
14081         (Fline_number_display_width): New defun.
14082         (syms_of_indent): Defsubr it.
14084         * doc/lispref/display.texi (Size of Displayed Text): Document
14085         line-number-display-width.
14087         * etc/NEWS: Mention line-number-display-width.
14089         * lisp/simple.el (last--line-number-width): New internal variable.
14090         (line-move-visual): Use it to adjust temporary-goal-column when
14091         line-number display changes its width.
14093 2017-07-07  Martin Rudalics  <rudalics@gmx.at>
14095         Remove Vwindow_text_change_functions and related code
14097         Vwindow_text_change_functions had been provided for implementing
14098         line numbers but apparently was never functional or in use.
14100         * src/xdisp.c (redisplay_window): Remove handling of
14101         Vwindow_text_change_functions.
14102         (syms_of_xdisp): Remove Qwindow_text_change_functions.
14103         (Vwindow_text_change_functions): Remove variable.
14104         * doc/lispref/hooks.texi (Standard Hooks): Remove entry for
14105         `window-text-change-functions'.
14107 2017-07-07  Mark Oteiza  <mvoteiza@udel.edu>
14109         Convert more uses of looking-at to following-char
14111         More followup to Karl Fogel's commit a84da83c1.
14112         * lisp/dired-aux.el (dired-add-entry, dired-subdir-hidden-p):
14113         * lisp/dired-x.el (dired-mark-unmarked-files, dired-mark-sexp):
14114         * lisp/help-fns.el (doc-file-to-man, doc-file-to-info):
14115         * lisp/proced.el (proced-toggle-marks):
14116         * lisp/progmodes/f90.el (f90-indent-line):
14117         * lisp/ses.el (ses-load):
14118         * lisp/tar-mode.el (tar-expunge): Replace instances of looking-at with
14119         char comparisons using following-char.
14121 2017-07-07  Noam Postavsky  <npostavs@gmail.com>
14123         Don't skip epg tests (Bug#23561)
14125         * test/lisp/epg-tests.el (with-epg-tests): Ignore REQUIRE-PASSPHRASE
14126         parameter, since we supply the passphrase via pinentry-program for all
14127         GPG versions (as of 2017-02-28 "Fix epg-tests with dummy-pinentry
14128         program (Bug#23619)").
14129         (epg-tests-program-alist-for-passphrase-callback): Remove.
14131 2017-07-06  Eli Zaretskii  <eliz@gnu.org>
14133         Implement line numbers that disregard narrowing
14135         * src/xdisp.c (display_count_lines_logically): New function,
14136         counts line numbers disregarding narrowing.  Suggested by Andy
14137         Moreton <andrewjmoreton@gmail.com>.
14138         (maybe_produce_line_number): Call display_count_lines_logically
14139         instead of display_count_lines.  Adapt BEGV, ZV, etc. to
14140         display-line-numbers-widen.
14141         (syms_of_xdisp) <display-line-numbers-widen>: New buffer-local
14142         variable.
14144         * lisp/cus-start.el (standard): Provide a customization form for
14145         display-line-numbers-widen.
14146         * lisp/frame.el: Add display-line-numbers-widen,
14147         display-line-numbers-current-absolute, and
14148         display-line-number-width to the list of variables that should
14149         trigger redisplay of the current buffer.
14151         * doc/emacs/display.texi (Display Custom): Document
14152         display-line-numbers-widen.
14154 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
14156         Fix lisp-comment-indent for single-semicolon case
14158         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): Only check for
14159         open paren if we're looking at multiple comment characters.
14160         * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-comment-indent-1)
14161         (lisp-comment-indent-2): New tests.
14163 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14165         Spelling fixes
14167         * lisp/org/org-table.el (org-table-sort-lines):
14168         Fix misspelling in prompt.
14169         * lisp/org/ox-ascii.el (org-ascii--describe-datum):
14170         Fix misspelling in call to org-element-lineage.
14172 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
14174         Don't put whitespace between open paren and comment in Lisp modes (Bug#19740)
14176         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): If current
14177         line's code ends in open paren, set comment indentation exactly to
14178         column following it.
14179         (lisp-mode-variables): Set `comment-indent-function' to
14180         `lisp-comment-indent'.
14182 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
14184         Allow comment-indent-functions to specify exact indentation (Bug#385)
14186         * lisp/newcomment.el (comment-choose-indent): Interpret a cons of two
14187         integers as indicating a range of acceptable indentation.
14188         (comment-indent): Don't apply `comment-inline-offset',
14189         `comment-choose-indent' already does that.
14190         (comment-indent-function):
14191         * doc/emacs/programs.texi (Options for Comments): Document new
14192         acceptable return values.
14193         * etc/NEWS: Announce it.
14195 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14197         Check for integer overflow in xbm images
14199         * src/image.c (XBM_TK_OVERFLOW): New constant.
14200         (xbm_scan): Check for integer overflow instead of relying on
14201         undefined behavior.  Check that octal digits are actually octal.
14203 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14205         Convert hex digits more systematically
14207         This makes the code a bit smaller and presumably faster, as
14208         it substitutes a single lookup for conditional jumps.
14209         * src/character.c (hexdigit): New constant.
14210         (syms_of_character) [HEXDIGIT_IS_CONST]: Initialize it.
14211         * src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST): New macros.
14212         (hexdigit): New decl.
14213         (char_hexdigit): New inline function.
14214         * src/charset.c: Do not include c-ctype.h.
14215         * src/charset.c (read_hex):
14216         * src/editfns.c (styled_format):
14217         * src/image.c (xbm_scan):
14218         * src/lread.c (read_escape):
14219         * src/regex.c (ISXDIGIT) [emacs]:
14220         Use char_hexdigit insted of doing it by hand.
14222 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14224         Don’t use -Woverride-init
14226         I have some further changes in mind that would also need to
14227         disable the -Woverride-init warnings.  In practice these warnings
14228         seem to be more trouble than they’re worth, so disable them in the
14229         cc command line.
14230         * configure.ac: Disable -Woverride-init here ...
14231         * src/bytecode.c: ... rather than here.
14233 2017-07-05  Glenn Morris  <rgm@gnu.org>
14235         * lisp/progmodes/python.el (auto-mode-alist): Add .pyi.  (Bug#27847)
14237         * lisp/org/ox-html.el (org-html-infojs-template): Update copyright.
14239 2017-07-05  Glenn Morris  <rgm@gnu.org>
14241         Small fix for bug-reference.el
14243         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
14244         Autoload safety property.  (Bug#27481)
14246 2017-07-05  Michael Albinus  <michael.albinus@gmx.de>
14248         Suppress timers in Tramp
14250         * lisp/net/tramp.el (tramp-file-name-handler): Don't trigger timers.
14252         * test/lisp/net/tramp-tests.el
14253         (tramp-test36-asynchronous-requests): Trigger timers.
14254         (tramp-test37-recursive-load, tramp-test38-remote-load-path):
14255         Set `default-directory' to a trustworthy value.
14257 2017-07-05  rocky  <rb@dustyfeet.com>
14259         Add realgud face definitions
14261         Add realgud faces to tdsh-dark-theme
14263 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
14265         * lisp/progmodes/cc-awk.el: Mark unused args
14267         * lisp/progmodes/cc-bytecomp.el: Mark unused args
14269 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
14271         * lisp/progmodes/cc-defs.el (lookup-syntax-properties): Move ...
14273         ... before first use
14275 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
14277         * lisp/progmodes/cc-vars.el: Mark unused args
14279 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
14281         * lisp/progmodes/cc-langs.el: Mark unused args
14283         (c-primary-expr-regexp): Remove unused vars ambiguous-prefix-ops and
14284         unambiguous-prefix-ops.
14286 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
14288         * lisp/progmodes/cc-engine.el: Mark unused args
14290         (c-beginning-of-statement-1, c-guess-basic-syntax):
14291         Remove unused var c-in-literal-cache.
14292         (c-debug-sws-msg): Silence byte-compiler, even if we don't use the arg.
14293         (c-append-to-state-cache): Remove unused var `bra+1s'.
14294         (c-remove-stale-state-cache): Remove unused var `pps-point-state'.
14295         (c-invalidate-state-cache-1): Remove unused var `pa'.
14296         (c-forward-decl-or-cast-1): Change comments so they don't look like
14297         outline headers.
14298         (c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
14299         Declare before first use.
14300         (c-forward-decl-or-cast-1): Remove unused var `backup-kwd-sym'.
14301         (c-backward-over-enum-header): Remove unused var `up-sexp-pos'.
14303 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
14305         * lisp/progmodes/cc-cmds.el: Remove unused vars
14307         (c-syntactic-context): Declare as dynbound.
14308         (c-beginning-of-defun, c-end-of-defun): Remove unused var `start'.
14310 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
14312         * lisp/progmodes/cc-guess.el: Remove unused var
14314         (c-guess-view-reorder-offsets-alist-in-style): Remove redundantly bound
14315         and computed variable `guessed-syntactic-symbols'.
14317 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
14319         * lisp/progmodes/cc-align.el: Mark unused arguments
14321 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
14323         * lisp/progmodes/cc-mode.el: Mark unused arguments
14325         (c-parse-quotes-before-change, c-parse-quotes-after-change):
14326         Remove unused vars.
14328 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
14330         Mention `ffap-url-unwrap-local' in find-file-at-point's docstring (Bug#27564)
14332         * lisp/ffap.el (find-file-at-point): Mention `ffap-url-unwrap-local'
14333         and `ffap-url-unwrap-remote'.
14335 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
14337         Fix infloop in uncomment-region-default (Bug#27112)
14339         When `comment-continue' has only blanks, `comment-padright' produces a
14340         regexp that matches the empty string, so `uncomment-region-default'
14341         will loop infinitely.
14342         * lisp/newcomment.el (comment-padright): Only return a regexp if STR
14343         has nonblank characters.
14345 2017-07-04  Eli Zaretskii  <eliz@gnu.org>
14347         Fix display of current line number in visual mode
14349         * src/xdisp.c (maybe_produce_line_number): Fix visual-mode display
14350         of current line when line-number-current-line face was customized.
14351         Reported by Filipe Silva <filipe.silva@gmail.com>.
14353 2017-07-03  Philipp Stephani  <phst@google.com>
14355         Use hook instead of face list to inhibit electric quoting
14357         This is more flexible and doesn't couple electric quoting to font
14358         locking.
14359         Give that 'electric-quote-code-faces' was just introduced, remove it
14360         without formal deprecation.
14362         * lisp/electric.el (electric-quote-inhibit-functions): New abnormal
14363         hook variable.
14364         (electric-quote-post-self-insert-function): Run the hook.  Remove
14365         use of old 'electric-quote-code-faces' variable.
14367         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
14368         (electric-quote-markdown-in-code): Adapt unit tests.
14370 2017-07-03  Ingo Lohmar  <i.lohmar@gmail.com>
14372         Offer non-aligned indentation in lists in js-mode (Bug#27503)
14374         * lisp/progmodes/js.el (js--proper-indentation):
14375         New customization option 'js-indent-align-list-continuation'.
14376         Affects argument lists as well as arrays and object properties.
14377         * test/manual/indent/js-indent-align-list-continuation-nil.js:
14378         Test the change.
14380 2017-07-03  Eli Zaretskii  <eliz@gnu.org>
14382         Avoid errors in vertical-motion when buffer is narrowed
14384         * src/indent.c (Fvertical_motion): If need to start from
14385         window-start, and it is outside of the accessible portion,
14386         temporarily widen the buffer.  This avoids errors in evil-mode.
14387         Reported by James Nguyen <james@jojojames.com>.
14389 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
14391         (Re-)activate remote tests of filenotify-tests.el
14393         * test/lisp/filenotify-tests.el
14394         (file-notify-test-remote-temporary-file-directory):
14395         Declare default host for mock method.  Offer home directory
14396         for mock method if it doesn't exist.
14397         (file-notify-test09-watched-file-in-watched-dir-remote):
14398         Remove, it doesn't work reliably.
14400 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
14402         Reset ansi escape context before printing eshell prompt (Bug#27407)
14404         * lisp/eshell/em-prompt.el (eshell-emit-prompt): Reset
14405         `ansi-color-context-region'.
14407 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
14409         Let ansi-color overlay hooks work in eshell (Bug#27407)
14411         * lisp/ansi-color.el (ansi-color-make-extent): Add
14412         `ansi-color-freeze-overlay' to `insert-behind-hooks' as well.
14413         * lisp/eshell/esh-mode.el (eshell-output-filter): Let-bind
14414         `inhibit-modification-hooks' to nil while inserting the string.
14416 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
14418         Fix and simplify ansi escape detection (Bug#21381)
14420         * lisp/ansi-color.el (ansi-color-regexp, ansi-color-drop-regexp):
14421         Remove.
14422         (ansi-color-control-seq-regexp): New constant, matches all escape
14423         sequences.
14424         (ansi-color-filter-apply, ansi-color-apply)
14425         (ansi-color-filter-region, ansi-color-apply-on-region): Use it instead
14426         of matching color sequences separately from ignored sequences.
14427         Differentiate color sequences simply by checking the last character.
14429 2017-07-03  Damien Cassou  <damien@cassou.me>
14431         Add absolute optional parameter to line-number-at-pos (Bug#26417)
14433         * lisp/simple.el (line-number-at-pos): Add a second optional
14434           argument 'absolute'.
14435         * test/lisp/simple-tests.el: Add tests for 'line-number-at-pos'.
14437 2017-07-03  R. Bernstein  <rocky@gnu.org>
14439         Add realgud faces
14441 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
14443         Fix tramp-tests.el for hydra
14445         * test/Makefile.in: Remove instrumentation for tramp-tests.
14447         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
14448         Remove instrumentation.  Wrap with a timeout.  Give hydra
14449         another timer value.  Set `default-directory' in timer.
14451 2017-07-03  Bastien  <bzg@gnu.org>
14453         Merge branch 'master' into scratch/org-mode-merge
14455         Merge branch 'master' into scratch/org-mode-merge
14457 2017-07-03  Tino Calancha  <tino.calancha@gmail.com>
14459         dired-do-shell-command: Fix check for wildcards
14461         * lisp/dired-aux.el (dired-do-shell-command): Replace just '?', '*'
14462         and '`?' i.e., keep the whitespaces.
14463         * test/lisp/dired-aux-tests.el (dired-test-bug27496): Add test.
14465 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
14467         Split shr-copy-url dwim behavior into separate functions (Bug#26826)
14469         * lisp/net/shr.el (shr-url-at-point, shr-probe-url)
14470         (shr-probe-and-copy-url, shr-maybe-probe-and-copy-url): New functions,
14471         split out from `shr-copy-url'.
14472         (shr-copy-url): Only copy the url, don't fetch it.
14473         (shr-map): Bind 'w' and 'u' to `shr-maybe-probe-and-copy-url', which
14474         has the same behavior as the old `shr-copy-url'.
14475         * etc/NEWS: Announce changes.
14477 2017-07-02  Alex Branham  <branham@utexas.edu>  (tiny change)
14479         Make eww-search-words prompt for query if nothing selected
14481         * lisp/net/eww.el (eww-search-words): Make eww-search-words prompt the
14482         user for a search query if the region is inactive or if the region is
14483         just whitespace.
14485 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
14487         * lisp/emacs-lisp/cl-print.el (cl-print-compiled-button): t by default.
14489         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace):
14490         * lisp/help-fns.el (describe-variable): No need to let-bind
14491         `cl-print-compiled-button' to t anymore.
14493 2017-07-02  Philipp Stephani  <phst@google.com>
14495         Electric quotes: Improve support for Markdown mode (Bug#24709)
14497         Introduce a new user option 'electric-quote-context-sensitive'.  If
14498         non-nil, have ' insert an opening quote if sensible.
14500         Also introduce a new variable 'electric-quote-code-faces'.  Major
14501         modes such as 'markdown-mode' can add faces to this list to treat text
14502         as inline code and disable electric quoting.
14504         * lisp/electric.el (electric-quote-context-sensitive): New user
14505         option.
14506         (electric-quote-code-faces): New variable.
14507         (electric-quote-post-self-insert-function): Treat ' as ` if
14508         desired and applicable; disable electric quoting for given faces.
14510         * test/lisp/electric-tests.el (electric-quote-opening-single)
14511         (electric-quote-closing-single, electric-quote-opening-double)
14512         (electric-quote-closing-double)
14513         (electric-quote-context-sensitive-backtick)
14514         (electric-quote-context-sensitive-bob-single)
14515         (electric-quote-context-sensitive-bob-double)
14516         (electric-quote-context-sensitive-bol-single)
14517         (electric-quote-context-sensitive-bol-double)
14518         (electric-quote-context-sensitive-after-space-single)
14519         (electric-quote-context-sensitive-after-space-double)
14520         (electric-quote-context-sensitive-after-letter-single)
14521         (electric-quote-context-sensitive-after-letter-double)
14522         (electric-quote-context-sensitive-after-paren-single)
14523         (electric-quote-context-sensitive-after-paren-double)
14524         (electric-quote-markdown-in-text)
14525         (electric-quote-markdown-in-code): New unit tests.
14527 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
14529         * doc/misc/tramp.texi: Replace ftp:// and http:// URLs by https://.
14531 2017-07-02  Eli Zaretskii  <eliz@gnu.org>
14533         Avoid off-by-one errors in column C-n/C-p calculations
14535         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
14536         the width used up by line numbers by looking near the window-start
14537         point.
14539 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
14541         Ask confirmation for all suspicious wildcards
14543         * lisp/dired-aux.el (dired-do-shell-command): Check that all
14544         the wildcards are right.  Otherwise, ask for confirmation (Bug#27496).
14546 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
14548         Extend dired-do-shell-command substitutions
14550         Substitute "`?`" inside command with the current file name.
14551         See details in:
14552         https://lists.gnu.org/r/emacs-devel/2017-06/msg00618.html
14553         * lisp/dired-aux.el (dired-quark-subst-regexp, dired-star-subst-regexp):
14554         Mark as obsolete.
14555         (dired-isolated-string-re): New defun.
14556         (dired--star-or-qmark-p): New predicate.
14557         (dired-do-shell-command): Use dired--star-or-qmark-p.  Substitute "`?`"
14558         with the current file name.
14559         * doc/emacs/dired.texi (Shell Commands in Dired): Update manual.
14561 2017-07-02  Alan Mackenzie  <acm@muc.de>
14563         Fix bug in yesterday's CC Mode commit.
14565         * lisp/progmodes/cc-mode.el (c-quoted-number-head-before-point): Check a
14566         search has succeded before using the match data.
14567         (c-quoted-number-head-before-point, c-quoted-number-head-after-point):
14568         Specify that the position of the extremity of the head or tail is in the
14569         match data.
14571 2017-07-02  Philipp Stephani  <phst@google.com>
14573         Remove FIXME comments about sentinel values
14575         These FIXMEs can't be addressed because they would require breaking
14576         changes to the module API.  Furthermore, other module functions don't
14577         return sentinel values as well, so users generally have to call
14578         non_local_exit_check anyway.
14580         * src/emacs-module.c (module_set_user_ptr)
14581         (module_set_user_finalizer, module_vec_set, module_vec_size): Remove
14582         FIXME comments.
14584 2017-07-02  Philipp Stephani  <phst@google.com>
14586         Adapt Lisp reference to reader changes
14588         The reader now warns about some unescaped character literals, but
14589         still allows them for compatibility reasons.  Slightly adapt the
14590         manual to forbid them officially.
14592         * doc/lispref/objects.texi (Basic Char Syntax): Document that
14593         backslashes are now required before some characters.
14595 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
14597         Fix Bug#27502
14599         * lisp/autorevert.el (auto-revert-find-file-function): New defun.
14600         (find-file-hook): Use it.  (Bug#27502)
14601         (auto-revert-remove-current-buffer): New defun.
14602         (auto-revert-mode, auto-revert-buffers): Use it.
14604 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
14606         Let test summary go through even if some logs were not generated
14608         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): Check
14609         for existence of log files before reading.
14611 2017-07-01  Philipp Stephani  <phst@google.com>
14613         * src/module-env-25.h (copy_string_contents): Fix comment.
14615 2017-07-01  Philipp Stephani  <phst@google.com>
14617         Also mark module init function as noexcept if possible
14619         * src/emacs-module.h.in (emacs_module_init): Mark as noexcept if
14620         possible.
14622 2017-07-01  Philipp Stephani  <phst@google.com>
14624         Improve C++98 compatibility
14626         * src/emacs-module.h.in (emacs_funcall_exit): Lose trailing comma.
14627         C++98 doesn't allow trailing commas in enumerations.
14629 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
14631         Minor copyedits of manuals regarding bidi conformance
14633         * doc/emacs/mule.texi (Bidirectional Editing):
14634         * doc/lispref/display.texi (Bidirectional Display): Update the
14635         bidi conformance text.
14637 2017-07-01  Alan Mackenzie  <acm@muc.de>
14639         Make C++ digit separators work.  Amend the handling of single quotes generally
14641         Single quotes, even in strings and comments, are now marked with the
14642         "punctuation" syntax-table property, except where they are validly bounding a
14643         character literal.  They are font locked with font-lock-warning-face except
14644         where they are valid.  This is done in C, C++, ObjC, and Java Modes.
14646         * lisp/progmodes/cc-defs.el (c-clear-char-property-with-value-on-char-function)
14647         (c-clear-char-property-with-value-on-char, c-put-char-properties-on-char): New
14648         functions/macros.
14650         * lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes): New function.
14651         (c-basic-matchers-before): invoke c-font-lock-invalid-single-quotes.
14653         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove
14654         c-before-after-change-digit-quote from wherever it occurs.  Insert
14655         c-parse-quotes-before-change into the entries for the languages where it is
14656         needed.
14657         (c-before-font-lock-functions): Remove c-before-after-change-digit-quote from
14658         wherever it occurs.  Insert c-parse-quotes-after-change into the entries for
14659         the languages which need it.
14660         (c-has-quoted-numbers): New lang-defconst/-defvar.
14662         * lisp/progmodes/cc-mode.el (c-before-after-change-digit-quote): Remove.
14663         (c-maybe-quoted-number-head, c-maybe-quoted-number-tail)
14664         (c-maybe-quoted-number): New defconsts.
14665         (c-quoted-number-head-before-point, c-quoted-number-tail-after-point)
14666         (c-quoted-number-straddling-point, c-parse-quotes-before-change)
14667         (c-parse-quotes-after-change): New functions.
14669 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
14671         Ignore mouse-movement for describe-key-briefly (Bug#12204)
14673         * lisp/help.el (help-read-key-sequence): Add optional argument ot
14674         ignore `mouse-movement' events.
14675         (describe-key-briefly): Use it.
14676         * doc/emacs/help.texi (Key Help):
14677         * etc/NEWS: Mention that mouse movement is ignored.
14679 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
14681         Refactor key describing commands
14683         * lisp/help.el (help-read-key-sequence, help--analyze-key): New
14684         functions, extracted from `describe-key' and `describe-key-briefly'.
14685         (describe-key, describe-key-briefly): Use them.
14687 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
14689         Improve display of tabs with line numbers
14691         * src/xdisp.c (x_produce_glyphs): Improve calculation of next tab
14692         stop in hscrolled lines.  Prevent aborts in compute_line_metrics.
14694 2017-07-01  Alan Third  <alan@idiocy.org>
14696         Fix threads on NS (bug#25265)
14698         src/nsterm.h (ns_select): Compiler doesn't like sigmask being const.
14699         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
14700         src/nsterm.m (ns_select): Call thread_select from within ns_select.
14701         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
14702         (ns_send_appdefined): Don't wait for main thread when sending app
14703         defined event.
14704         src/process.c (wait_reading_process_output): Call thread_select from
14705         within ns_select.
14706         src/systhread.c (sys_cond_broadcast) [HAVE_NS]: Break ns_select out of
14707         its event loop using ns_run_loop_break.
14709 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
14711         Avoid slow redisplay under 'visual' mode of line numbers
14713         * src/xdisp.c (display_count_lines_visually): Avoid very slow
14714         redisplay when this function is invoked very far from point.
14715         Reported by Alex <agrambot@gmail.com>.
14717 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
14719         * lisp/help-fns.el (describe-variable): Let-bind cl-print-compiled-button.
14721 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
14723         * lisp/emacs-lisp/cl-extra.el (cl--random-state): New defstruct
14725         (cl--random-state, cl--random-time): Move from cl-lib.el.
14726         (cl-random): Use struct accessors.
14727         (cl-random-state-p): Remove, provided by the defstruct.
14728         (cl-make-random-state): Rewrite to struct constructor.
14730 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
14732         * lisp/emacs-lisp/debug.el (debugger-list-functions): Remove obsolete msg
14734 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
14736         Improve documentation of faces related to display-line-numbers
14738         * lisp/faces.el (line-number, line-number-current-line): Warn
14739         against using non-monospaced fonts.
14741 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
14743         Fix relative-number display with non-nil display-line-number-width
14745         * src/xdisp.c (maybe_produce_line_number): Don't treat a zero
14746         value of display-line-number-width as acceptable.
14747         Handle the case of 'relative' with display-line-number-width
14748         non-nil and smaller than the absolute line number requires.
14749         Reported by Alex <agrambot@gmail.com>.
14751 2017-06-30  Michael Albinus  <michael.albinus@gmx.de>
14753         Release Tramp 2.3.2
14755         * doc/misc/tramp.texi (Android shell setup): Show default file name.
14756         Structure section.
14758         * doc/misc/trampver.texi:
14759         * lisp/net/trampver.el: Change version to "2.3.2".
14761         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
14762         Offer home directory for mock method if it doesn't exist.
14764 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
14766         Add documentation for display-line-numbers
14768         * doc/emacs/custom.texi (Init Rebinding):
14769         * doc/emacs/modes.texi (Minor Modes): Remove references to
14770         linum-mode.
14771         * doc/emacs/display.texi (Display Custom): Describe the
14772         line-number display.
14773         (Optional Mode Line): Fix the index entry to not conflict with
14774         that in "Display Custom".
14775         * doc/emacs/basic.texi (Position Info): Add cross-reference to
14776         "Display Custom", for line-number display.
14778         * src/xdisp.c (syms_of_xdisp): <display-line-numbers>: Mention
14779         display-line-numbers-disable in the doc string.
14781         * lisp/cus-start.el (standard): Fix lst change.
14783 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
14785         Support displaying zero as the number of the current line
14787         * src/xdisp.c (syms_of_xdisp)
14788         <display-line-numbers-current-absolute>: New variable.
14789         <display-line-numbers>: Doc fix.
14790         (maybe_produce_line_number): Support nil value of
14791         display-line-numbers-current-absolute.
14793         * lisp/cus-start.el (standard): Add customization form for
14794         display-line-numbers-current-absolute.
14796         * etc/NEWS: Document recently introduced features.
14798 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
14800         Speed up the visual-mode relative line numbers
14802         * src/xdisp.c (display_count_lines_visually): Introduce a
14803         shortcut: if a relative line number was already calculated for
14804         this iterator object, just increase it instead of the
14805         expensive call to move_it_to.  Argument list changed to pass a
14806         pointer to the iterator object.
14807         (maybe_produce_line_number): Adjust for change in signature of
14808         display_count_lines_visually.  Record the relative line number and
14809         the corresponding byte position in the iterator object also in the
14810         'visual' mode.
14812 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
14814         Fix hscrolling with line numbers on TTY frames
14816         * src/xdisp.c (hscroll_window_tree): Correct the X offset
14817         calculations on TTY frames.
14818         * src/term.c (produce_glyphs): Use it->lnum_pixel_width instead of
14819         a kludge using it->lnum_width.
14821 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
14823         Fix TAB display when the line-number face uses a smaller/larger font
14825         * src/dispextern.h (struct it): New member lnum_pixel_width.
14826         * src/xdisp.c (maybe_produce_line_number): Compute the width of
14827         the line-number display in pixels.
14828         (x_produce_glyphs): Use it->lnum_pixel_width instead of a kludge
14829         that used it->lnum_width and made assumptions about pixel width.
14831 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
14833         Escape NUL bytes in X selections (Bug#6991)
14835         * lisp/term/w32-win.el (w32--set-selection):
14836         * lisp/select.el (xselect--encode-string): Replace NUL bytes with
14837         "\0".
14838         * doc/emacs/killing.texi: Document new behavior.
14839         * etc/NEWS (times): Announce it.
14841 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
14843         Hide byte code in backtraces (Bug#6991)
14845         * lisp/emacs-lisp/debug.el (debugger-print-function): New defcustom,
14846         defaulting to `cl-print'.
14847         (debugger-insert-backtrace, debugger-setup-buffer): Use it instead of
14848         `prin1'.
14849         * etc/NEWS: Announce it.
14851 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
14853         Don't redundantly cl-print arglist in function docstring again
14855         * lisp/emacs-lisp/cl-print.el (cl-print-object): Don't print arglist
14856         part of docstring.
14857         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Update
14858         test accordingly.
14860 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
14862         Escape control characters in backtraces (Bug#6991)
14864         * src/print.c (syms_of_print): Add new variable,
14865         print-escape-control-characters.
14866         (print_object): Print control characters with octal escape codes when
14867         print-escape-control-characters is true.
14868         * lisp/subr.el (backtrace):
14869         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Bind
14870         `print-escape-control-characters' to t.
14872 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
14874         Improve ert backtrace recording
14876         Change ert to use the new `backtrace-frames' function instead of
14877         collecting frames one by one with `backtrace-frame'.  Additionally,
14878         collect frames starting from `signal' instead the somewhat arbitrary
14879         "6 from the bottom".  Skipping 6 frames would skip the expression that
14880         actually caused the signal that triggered the debugger.  Possibly 6
14881         was chosen because in the case of a failed test, the triggering frame
14882         is an `ert-fail' call, which is not so interesting.  But in case of a
14883         test throwing an error, this drops the `error' call which is too much.
14885         * lisp/emacs-lisp/debug.el (debugger-make-xrefs): Remove.
14886         * lisp/emacs-lisp/ert.el (ert--make-xrefs-region): Bring in relevant
14887         code from `debugger-make-xrefs'.
14888         (ert--print-backtrace): Add DO-XREFS parameter, delegate to
14889         `debugger-insert-backtrace'.
14890         (ert--run-test-debugger): Record the backtrace frames starting from
14891         the instigating `signal' call.
14892         (ert-run-tests-batch): Pass nil for `ert--print-backtrace's new
14893         DO-XREFS parameter.
14894         (ert-results-pop-to-backtrace-for-test-at-point): Pass t as DO-XREFS
14895         to `ert--print-backtrace' and remove call to `debugger-make-xrefs'.
14896         * test/lisp/emacs-lisp/ert-tests.el (ert-test-record-backtrace): Check
14897         the backtrace list instead of comparing its string representation.
14898         Expect `signal' to be the first frame.
14900 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
14902         Operate on frame list instead of printed backtrace
14904         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function,
14905         prints the given backtrace frames.
14906         (debugger-setup-buffer): Use it instead of editing the backtrace
14907         buffer text.
14909 2017-06-29  Eli Zaretskii  <eliz@gnu.org>
14911         Minor fixes
14913         * src/xdisp.c (maybe_produce_line_number): Fix bug that caused
14914         line numbers to be displayed in empty lines beyond ZV.
14915         (x_produce_glyphs): Start fixing TAB display in truncated lines.
14917 2017-06-29  Michael Albinus  <michael.albinus@gmx.de>
14919         Improve timer handling when Tramp accepts output
14921         * lisp/net/tramp-compat.el: Avoid compiler warning.
14923         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
14924         Remove lock machinery.
14926         * lisp/net/tramp.el (tramp-locked, tramp-locker): Move up.
14927         (tramp-file-name-handler): Add lock machinery from
14928         `tramp-sh-file-name-handler'.  Allow timers to run.
14929         (tramp-accept-process-output): Remove nasty workaround.
14930         Suppress timers.
14932         * test/lisp/net/tramp-tests.el (shell-command-sentinel):
14933         Suppress run in tests.
14934         (tramp--instrument-test-case-p): New defvar.
14935         (tramp--instrument-test-case): Use it in order to allow nested calls.
14936         (tramp--test-message, tramp--test-backtrace): New defsubst,
14937         will be used for occasional test instrumentation.
14938         (tramp-test00-availability, tramp-test31-vc-registered): Use them.
14939         (tramp-test28-shell-command)
14940         (tramp--test-shell-command-to-string-asynchronously): Suppress
14941         nasty messages.  Don't overwrite sentinel.
14942         (tramp-test36-asynchronous-requests): Rewrite major parts.
14943         Expect :passed.
14945 2017-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
14947         * lisp/url/url-history.el: Use lexical-binding
14949         (url-completion-function): Mark as obsolete.
14950         Mark unused args accordingly.
14952 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
14954         Don't assume url structs are vectors (Bug#27333)
14956         * lisp/url/url-history.el (url-history-update-url): Use `url-p'
14957         instead of `vectorp'.
14959 2017-06-28  Mark Oteiza  <mvoteiza@udel.edu>
14961         Replace with dolist some uses of while
14963         * lisp/calc/calc-units.el (calc-permanent-units):
14964         (math-compare-unit-names, math-simplify-units-quotient):
14965         (math-build-units-table-buffer): Use dolist to replace extra bindings
14966         and some while loops.
14968 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
14970         Make tcl-auto-fill-mode obsolete (Bug#10772)
14972         * lisp/progmodes/tcl.el (tcl-auto-fill-mode): Declare obsolete.
14973         * etc/NEWS: Announce it.
14975 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
14977         Don't read eshell/which output from *Help* buffer (Bug#26894)
14979         * lisp/help-fns.el (help-fns--analyse-function)
14980         (help-fns-function-description-header): New functions, extracted from
14981         describe-function-1.
14982         (describe-function-1): Use them.
14983         * lisp/eshell/esh-cmd.el (eshell/which): Use
14984         `help-fns-function-description-header' instead of
14985         `describe-function-1'.
14987 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
14989         Support default-text-properties
14991         * src/xdisp.c (should_produce_line_number): Call get-char-property
14992         at ZV as well, to support default-text-properties.
14994 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
14996         Avoid segfaults when some display vector is an empty string
14998         * src/xdisp.c (next_element_from_display_vector): Don't try
14999         accessing the dpvec[] array if its size is zero.  (Bug#27504)
15001 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
15003         Initial support for visually-relative line numbers
15005         Works very slowly.
15007         * src/xdisp.c (display_count_lines_visually): New function.
15008         (maybe_produce_line_number): Support 'visual' mode of line-number
15009         display.
15010         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
15011         also when glyph_row is NULL.  This is important for move_it_*
15012         functions.
15013         (syms_of_xdisp) <display-line-number-width>: Now buffer-local.
15014         (try_window_id, redisplay_window, try_cursor_movement): For
15015         'visual' line-number display, disable the same redisplay
15016         optimizations as for 'relative'.
15018         * lisp/cus-start.el (standard): Add new value for the
15019         customization form of display-line-numbers.
15021 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
15023         Update IT's metrics while simulating display
15025         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
15026         also when glyph_row is NULL.  This is important for move_it_*
15027         functions.
15029 2017-06-26  Teemu Likonen  <tlikonen@iki.fi>
15031         Fix bug in handling GnuPG's TRUST_MARGINAL status
15033         * lisp/epg.el (epg--status-TRUST_MARGINAL): Change symbol `marginal'
15034         to `good'.
15036 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
15038         Prefer `when' instead of 1-branch `if'
15040         * lisp/dired-aux.el (dired-do-shell-command): Store condition value
15041         in local variable ok.
15042         Use `when' instead of 1-branch `if'.
15044 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
15046         Use #' instead of (function ...)
15048         * lisp/dired-aux.el (dired-do-chxxx, dired-clean-directory)
15049         (dired-mark-confirm, dired-query, dired-byte-compile)
15050         (dired-load, dired-update-file-line, dired-after-subdir-garbage)
15051         (dired-relist-file, dired-rename-subdir, dired-do-create-files)
15052         (dired-mark-read-file-name, dired-do-copy, dired-do-symlink)
15053         (dired-do-hardlink, dired-do-rename, dired-do-rename-regexp)
15054         (dired-do-copy-regexp, dired-do-hardlink-regexp)
15055         (dired-do-symlink-regexp, dired-create-files-non-directory)
15056         (dired-upcase, dired-downcase)
15058         * lisp/dired.el (dired-mode, dired-copy-filename-as-kill)
15059         (dired-internal-do-deletions, dired-internal-do-deletions):
15060         Prefer #' instead of (function ...).
15062 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
15064         Don't quote lambda forms
15066         * lisp/dired.el (dired-re-maybe-mark, dired-map-over-marks)
15067         (dired-mark, dired-desktop-buffer-misc-data)
15069         * lisp/dired-aux.el (dired-do-create-files, dired-do-create-files-regexp)
15070         (dired-create-files-non-directory, dired-insert-subdir-validate)
15071         (dired-alist-sort, dired-do-shell-command): Don't quote lambda forms.
15073 2017-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
15075         * lisp/progmodes/cc-fonts.el: Remove/mark unused vars
15077         (c-font-lock-declarators): Remove unused vars `id-end', `paren-depth',
15078         and `brackets-after-id'.
15079         (c-font-lock-objc-methods): Mark unused args.
15081 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
15083         Omit null-pointer test in intervals.h FRAME
15085         * src/intervals.h (ROOT_INTERVAL_P, ONLY_INTERVAL_P)
15086         (INTERVAL_LAST_POS): Omit unnecessary parens.
15087         (LENGTH): Omit test for null pointer.  The argument is never null.
15088         The unnecessary test causes GCC 7.1.0 to assume that the argument
15089         might be null, and therefore to issue false alarms when the
15090         argument is dereferenced in other expressions.
15092 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
15094         Parenthesize frame.h macro definitions
15096         * src/frame.h (FRAME_TOOL_BAR_POSITION)
15097         (FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
15098         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
15099         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT)
15100         (FRAME_OVERRIDE_REDIRECT, FRAME_UNDECORATED, FRAME_PARENT_FRAME)
15101         (FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
15102         (FRAME_NO_ACCEPT_FOCUS, FRAME_NO_SPECIAL_GLYPHS, FRAME_Z_GROUP)
15103         (FRAME_Z_GROUP_NONE, FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_BELOW)
15104         (FRAME_HAS_HORIZONTAL_SCROLL_BARS): Parenthesize macro definiens
15105         to allow arbitrary expression arguments.
15107 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
15109         Port recent frame changes to GCC 7
15111         * src/frame.c (keep_ratio): New arg P.  Caller changed.  Since it
15112         is non-null, it avoids a GCC 7 warning that FRAME_PARENT_FRAME
15113         might return null.  This also avoids a run-time test.
15115 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
15117         Minor aesthetic fix of last change.
15119 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
15121         Allow to disable display of line numbers beyond EOB
15123         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
15124         function.
15125         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
15126         * src/xdisp.c (should_produce_line_number): When at ZV, call
15127         disable_line_numbers_overlay_at_eob to determine whether line
15128         numbers should be displayed beyond ZV.
15130 2017-06-25  Michael Albinus  <michael.albinus@gmx.de>
15132         Fix Android 6/7 problems in Tramp
15134         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Fix link part.
15135         (tramp-adb-handle-directory-files-and-attributes)
15136         (tramp-adb-handle-file-name-all-completions): Insert "."  and
15137         ".." only when needed.
15138         (tramp-adb-get-ls-command): Force one column output for toybox.
15140 2017-06-25  Stefan-W. Hahn  <stefan.hahn@s-hahn.de>  (tiny change)
15142         * lisp/subr.el (setq-local): Add debug declaration (Bug#27408).
15144 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
15146         Fix line number display for overlay/display strings with newlines
15148         * src/xdisp.c (maybe_produce_line_number): Fix the condition for
15149         producing space glyphs instead of a line number to include the
15150         case of display strings and overlays.
15152 2017-06-25  Alan Mackenzie  <acm@muc.de>
15154         Make CC Mode load cl-lib rather than cl in Emacs 26.
15156         * lisp/progmodes/cc-cmds.el (c-declaration-limits): Remove unused local
15157         variable.
15159         * lisp/progmodes/cc-defs.el (c--mapcan-status): Remove.
15160         (c--cl-library): New variable.
15161         (Top level): Amend the form which requires library cl or cl-lib.
15162         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
15163         (c--delete-duplicate): Amend to use c--cl-library instead of
15164         c--mapcan-status.
15166         * lisp/progmodes/cc-engine.el (c-syntactic-skip-backward)
15167         (c-back-over-compound-identifier): Remove unused local variables.
15169         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove an unused
15170         local variable.
15172         * lisp/progmodes/cc-langs.el (Top level): Amend to use c--cl-library instead
15173         of c--mapcan-status.
15175         * lisp/progmodes/cc-styles.el (Top level): Add a cc-bytecomp-defun to try to
15176         silence a compiler warning.
15178 2017-06-25  Martin Rudalics  <rudalics@gmx.at>
15180         Provide additional support for child frames
15182         Provide mouse dragging and resizing of frames.  Allow resizing
15183         frames proportionally.  Provide additional functionality for
15184         child frames.  Minor bug fixes.
15186         * lisp/frame.el (frame-border-width, frame-pixel-width)
15187         (frame-pixel-height): Alias to `frame-internal-border-width',
15188         `frame-native-width' and `frame-native-height'.
15189         (frame-inner-width, frame-inner-height, frame-outer-width)
15190         (frame-outer-height): New functions.
15191         * lisp/minibuffer.el (completion-auto-help): Fix typo.
15192         * lisp/mouse.el (mouse-drag-line, mouse-drag-mode-line)
15193         (mouse-drag-header-line): Allow moving a frame by dragging the
15194         mode line of its bottommost window (on a minibuffer-less frame)
15195         or the header line of its topmost window.
15196         (mouse-drag-vertical-line): Mention argument in doc-string.
15197         (mouse-resize-frame, mouse-drag-frame, mouse-drag-left-edge)
15198         (mouse-drag-top-left-corner, mouse-drag-top-edge)
15199         (mouse-drag-top-right-corner, mouse-drag-right-edge)
15200         (mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
15201         (mouse-drag-bottom-left-corner): New functions for resizing a
15202         frame by dragging its internal border together with
15203         corresponding key bindings.
15204         * lisp/tooltip.el (tooltip-frame-parameters): Add
15205         'no-special-glyphs' to default parameters and update version
15206         tag.
15207         * lisp/window.el (frame-auto-hide-function): Add choice to make
15208         frame invisible and update version tag.
15209         (window--delete): Handle 'auto-hide-function' frame parameter.
15210         (window--maybe-raise-frame): Respect 'no-focus-on-map' and
15211         'no-accept-focus' frame parameters.
15212         (display-buffer--action-function-custom-type): Add
15213         `display-buffer-in-child-frame'.
15214         (display-buffer): Mention `display-buffer-in-child-frame' in
15215         doc-string.
15216         (display-buffer-in-child-frame): New action function for
15217         `display-buffer'.
15218         (window--sanitize-margin): Return zero when MARGIN cannot be
15219         sanitized.
15220         (fit-frame-to-buffer): Major rewrite to handle child frames and
15221         'fit-frame-to-buffer-sizes' and 'fit-frame-to-buffer-margins'
15222         frame parameters.
15223         (window-largest-empty-rectangle--maximums-1)
15224         (window-largest-empty-rectangle--maximums)
15225         (window-largest-empty-rectangle--disjoint-maximums)
15226         (window-largest-empty-rectangle): New functions.
15228         * src/dispextern.h (WINDOW_WANTS_MODELINE_P)
15229         (WINDOW_WANTS_HEADER_LINE_P): Remove.  Functionality is now
15230         provided by corresponding functions window_wants_modeline and
15231         window_wants_header_line in window.c.  Adjust users.
15232         * src/dispnew.c (adjust_glyph_matrix)
15233         (buffer_posn_from_coords): Use window_wants_modeline and
15234         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
15235         WINDOW_WANTS_HEADER_LINE_P.
15236         * src/frame.c (keep_ratio): New function.
15237         (adjust_frame_size): Call keep_ratio for each of F's child
15238         frames.
15239         (make_frame): Initialize no_special_glyphs slot.
15240         (frame_internal_border_part): New function.
15241         (Fframe_pixel_width, Fframe_pixel_height, Fborder_width): Rename
15242         to Fframe_native_width, Fframe_native_height mand
15243         Fframe_internal_border_width.
15244         (frame_parm_table): Add Qno_special_glyphs entry.
15245         (frame_float_type): New enumeration type.
15246         (frame_float): New function to handle frame size and position
15247         ratios.
15248         (x_set_frame_parameters): Handle size and position ratios.
15249         (x_set_no_special_glyphs): New function
15250         (x_figure_window_size): Handle size and position ratios.
15251         (syms_of_frame): Add Qdisplay_monitor_attributes_list,
15252         Qno_special_glyphs, Qframe_edges, Qkeep_ratio, Qwidth_only,
15253         Qheight_only, Qleft_only and Qtop_only.
15254         * src/frame.h (internal_border_part): New enumeration type.
15255         (struct frame): New slot no_special_glyphs.
15256         (FRAME_NO_SPECIAL_GLYPHS): New macro.
15257         * src/gtkutil.c (xg_frame_restack): Return immediately for
15258         GTK versions before 2.18.0.
15259         * src/keyboard.c (internal_border_parts): New array constant.
15260         (make_lispy_position): For frames with border dragging enabled
15261         return internal border part.
15262         (syms_of_keyboard): New symbols Qdrag_internal_border,
15263         Qleft_edge, Qtop_left_corner, Qtop_edge, Qtop_right_corner,
15264         Qright_edge, Qbottom_right_corner, Qbottom_edge and
15265         Qbottom_left_corner.
15266         * src/minibuf.c (read_minibuf_unwind): When exiting the
15267         minibuffer deal with frames that have the 'minibuffer-exit'
15268         parameter set.
15269         (syms_of_minibuf): New symbol Qminibuffer_exit.
15270         * src/nsfns.m (frame_parm_handler): Add entry for
15271         x_set_no_special_glyphs.
15272         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
15273         Intitialize new cursor types for dragging frame borders.
15274         * src/nsterm.h (struct ns_output): Add new cursor types for
15275         dragging frame borders.
15276         * src/w32fns.c (w32_frame_parm_handlers): Add entry for
15277         x_set_no_special_glyphs.
15278         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
15279         Intitialize new cursor types for dragging frame borders.
15280         * src/w32term.h (struct w32_output): Add new cursor types for
15281         dragging frame borders.
15282         * src/window.c (coordinates_in_window)
15283         (Fwindow_line_height, window_internal_height): Use
15284         window_wants_modeline and window_wants_header_line instead of
15285         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
15286         (Fwindow_lines_pixel_dimensions): New function.
15287         (window_parameter): New function.
15288         (Fwindow_parameter): Call window_parameter.
15289         (window_wants_mode_line, window_wants_header_line): New
15290         functions replacing the macros WINDOW_WANTS_MODELINE_P and
15291         WINDOW_WANTS_HEADER_LINE_P from dispextern.h.
15292         (syms_of_window): New symbols Qmode_line_format and
15293         Qheader_line_format.
15294         * src/window.h: Reorganize and re-comment macros.  Use
15295         window_wants_modeline and window_wants_header_line instead of
15296         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
15297         (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P): Minor rewrite.
15298         (WINDOW_BUFFER): New macro.
15299         (WINDOW_BOX_LEFT_EDGE_COL, WINDOW_BOX_RIGHT_EDGE_COL): Remove.
15300         * src/xdisp.c (window_text_bottom_y, window_box_height)
15301         (window_box, start_display)
15302         (compute_window_start_on_continuation_line)
15303         (try_cursor_movement, redisplay_window)
15304         (try_window_reusing_current_matrix, try_window_id)
15305         (display_line, expose_window): Use window_wants_modeline and
15306         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
15307         WINDOW_WANTS_HEADER_LINE_P.
15308         (pos_visible_p, display_mode_lines): Respect W's
15309         'mode-line-format' and 'header-line-format' window parameters.
15310         (init_iterator): Use window_wants_modeline and
15311         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
15312         WINDOW_WANTS_HEADER_LINE_P.  For tip frames respect
15313         no_special_glyphs value.
15314         (note_mouse_highlight): Set frame border cursors when on
15315         internal border.
15316         (x_draw_right_divider, x_draw_bottom_divider): Try to improve
15317         drawing of window dividers.
15318         * src/xfns.c (mouse_cursor): Add entries for border parts.
15319         (mouse_cursor_types): Add entries for cursor types to drag
15320         frame borders.
15321         (INSTALL_CURSOR): Add entries for new cursor types to drag
15322         frame borders.
15323         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
15324         (x_frame_parm_handlers): Add entry for
15325         x_set_no_special_glyphs.
15326         (Vx_window_left_edge_shape, Vx_window_top_left_corner_shape)
15327         (Vx_window_top_edge_shape, Vx_window_top_right_corner_shape)
15328         (Vx_window_right_edge_shape)
15329         (Vx_window_bottom_right_corner_shape)
15330         (Vx_window_bottom_edge_shape)
15331         (Vx_window_bottom_left_corner_shape): New variables.
15332         (x_frame_restack): Call xg_frame_restack only for GTK versions
15333         starting with 2.18.0.
15334         * src/xterm.c (x_free_frame_resources): Remove new cursors for
15335         dragging frame borders.
15336         * src/xterm.h (struct x_output): Add new cursor types for
15337         dragging frame borders.
15339         * doc/lispref/display.texi (Size of Displayed Text): Document
15340         `window-lines-pixel-dimensions'.
15341         * doc/lispref/elisp.texi (Top): Add entry for "Mouse Dragging
15342         Parameters".
15343         * doc/lispref/frames.texi (Frame Size): Replace
15344         frame-pixel-width/-height by frame-native-width/-height.  Add
15345         frame-inner-width/-height and frame-outer-width/-height docs.
15346         (Position Parameters): Describe specifying position as ratios.
15347         Clarify remark about positions relative to bottom/ridge display
15348         edge.
15349         (Size Parameters): Describe specifying sizes as ratios.
15350         Describe 'fit-frame-to-buffer-margins' and
15351         'fit-frame-to-buffer-sizes' parameters.
15352         (Layout Parameters): Describe 'no-special-glyphs' parameter.
15353         (Frame Interaction Parameters): Describe 'auto-hide-function',
15354         'minibuffer-exit' and 'keep-ratio' parameters.
15355         (Mouse Dragging Parameters): New section describing
15356         'drag-internal-border', 'drag-with-header-line',
15357         'drag-with-mode-line', 'snap-width', 'top-visible' and
15358         'bottom-visible' parameters.
15359         (Management Parameters): Mention that `override-redirect' has
15360         no effect on MS Windows.
15361         (Font and Color Parameters): Mention child frames for `alpha'
15362         parameter.
15363         (Child Frames): Rewrite section with description and cross
15364         references to new frame parameters added.
15365         * doc/lispref/modes.texi (Mode Line Basics): Mention
15366         'mode-line-format' and 'header-line-format' window parameters.
15367         * doc/lispref/windows.texi (Resizing Windows): Mention effect
15368         of `fit-frame-to-buffer-margins' for child frames.
15369         (Display Action Functions): New action function
15370         `display-buffer-in-child-frame'.
15371         (Quitting Windows): Mention `make-frame-invisible' as optional
15372         value of `frame-auto-hide-function' and `auto-hide-function'
15373         frame paameter.
15374         (Coordinates and Windows): Describe new function
15375         `window-largest-empty-rectangle'.
15376         (Window Parameters): Describe new parameters 'mode-line-format'
15377         and 'header-line-format'.  Index all window parameters described
15378         in this section.
15380 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
15382         Adjust lm-verify to accept current notices
15384         Problem reported by Mike Kupfer in:
15385         https://lists.gnu.org/r/emacs-devel/2017-06/msg00512.html
15386         * lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
15387         Do not require later lines in a copyright notice to have more
15388         indentation than earlier lines.
15390 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15392         Minor change in NEWS.
15394         Improve documentation in NEWS.
15396 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15398         Move additional hscrolling code into a suitable 'if'
15400         * src/xdisp.c (hscroll_window_tree): Make additional calculations
15401         regarding glyphs produced for line numbers conditional on
15402         line-number display.
15404 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15406         Partial fix of hscroll of truncated lines with line numbers
15408         * src/xdisp.c (x_produce_glyphs, hscroll_window_tree): Adjust
15409         hscroll calculations to line-number display.
15410         * src/term.c (produce_glyphs): Adjust tab stop to window's
15411         hscroll.  These two changes fix horizontal scrolling when line
15412         numbers are displayed.  But there's still a bug: the horizontal
15413         shift of lines that begin with a TAB is different from the rest.
15414         * src/xdisp.c (move_it_in_display_line_to): Call
15415         should_produce_line_number to determine whether a line number
15416         should be produced for this screen line.
15418 2017-06-24  Noam Postavsky  <npostavs@gmail.com>
15420         Don't change byte-compile-delete-errors at runtime (Bug#27340)
15422         * lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile
15423         time.
15425 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15427         Allow Lisp program to disable line-number display for specific lines
15429         * etc/NEWS: Update the documentation.
15431         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-disable>: New
15432         symbol.
15433         (should_produce_line_number): New function.
15434         (display_line): Use should_produce_line_number to determine
15435         whether a line number should be produced for each glyph row.
15437 2017-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
15439         * lisp/net/html2text.el: Move to obsolete/.
15441 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15443         Support a separate face for displaying the current line's number
15445         * lisp/faces.el (line-number-current-line): New face.
15447         * src/xdisp.c (syms_of_xdisp) <line-number-current-line>: New
15448         symbol.
15449         (try_window_id, try_cursor_movement): Disable these optimizations
15450         when the line-number-current-line face is different from
15451         line-number face.
15452         (maybe_produce_line_number): Display the current line in the
15453         line-number-current-line face, if it's different from line-number.
15455 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15457         Change display of current line in relative mode
15459         * src/xdisp.c (maybe_produce_line_number): In relative mode
15460         display the current line number as its absolute value, not as zero.
15462 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15464         Rename display-line-width
15466         * etc/NEWS:
15467         * src/xdisp.c (syms_of_xdisp, maybe_produce_line_number):
15468         * lisp/cus-start.el: Rename display-line-width to
15469         display-line-number-width.
15471 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15473         Fix tab stops when line numbers are displayed
15475         * src/xdisp.c (x_produce_glyphs):
15476         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
15477         space taken by the line-number display.
15479 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15481         Fix crashes on TTY frames due to negative lnum_width.
15483         Don't display line numbers in the minibuffer and in tooltip frames.
15485 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15487         Fix problems with line-number updates in Follow mode
15489         * src/xdisp.c (redisplay_window): If forced window-start requires
15490         to move a window's point, and the window is under relative
15491         line-number display, force another round of redisplay to update
15492         the relative line numbers.  This fixes follow-mode "redisplay" of
15493         its window group.
15495         * lisp/frame.el: Add display-line-numbers to the list of variables
15496         that should trigger redisplay of the current buffer.
15498 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15500         Fix display of line numbers with fonts larger than the default
15502         * src/xdisp.c (maybe_produce_line_number): Update the metrics in
15503         IT, not in IT->glyph_row, since the latter gets overwritten in
15504         display_line.  Fixes display of line numbers when the font used
15505         for them is larger than that of the default face.
15507 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
15509         Fix background color beyond EOB and cursor display
15511         * src/xdisp.c:  (maybe_produce_line_number): Use the default face
15512         for background of the blank glyphs in the line-number area which
15513         are drawn beyond EOB.
15514         (display_line): Reset the glyph row's displays_text_p flag only on
15515         empty lines that don't display line numbers.  This fixes cursor
15516         display beyond EOB.  Fix the bidi information in the glyphs
15517         produced for line numbers.  Set the avoid_cursor_p flag of glyphs
15518         produced for line numbers.
15520 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
15522         Fix display of indicate-empty-lines when line numbers are displayed
15524         * src/xdisp.c (row_text_area_empty): New function.
15525         (display_line): Call row_text_area_empty to verify that a glyph
15526         row's text area is devoid of any glyphs that came from a buffer or
15527         a string.  This fixes a bug with empty-lines indication
15528         disappearing when line numbers or line-prefix are displayed.
15529         (display_line): Delete the argument FORCE; all callers changed.
15530         Remove the condition for actually producing the glyphs for the
15531         line number, as even if the number didn't change we need to
15532         produce empty space.
15534 2017-06-23  Vincent Belaïche  <vincentb1@users.sourceforge.net>
15536         Fix symbol relocation when the relocated cell is renamed.
15538         * lisp/ses.el (ses-sym-rowcol):  Check that the renamed cell
15539         hashmap has been instantiated before getting data from it.  When
15540         editing several spreadsheets, and you have spreadsheet #1 with a
15541         cell named `foo', and no renamed cell in spreadsheet #2, then if
15542         you make a formula with `foo' in spreadsheet #2, not doing this
15543         check will make an error.
15544         (ses-cell-set-formula): Robustify versus incorrect cell references
15545         given in the user provided formula.  An explicit error message is
15546         provided after the action when the user gives an incorrect cell
15547         reference, but the formula edition is not changed.  This means that
15548         if the incorrect reference is to a cell that is created someday,
15549         then this new cell will not have the edited cell in its reference
15550         list.  Fixing this can still be done by editing again the first
15551         cell formula.
15552         (ses-relocate-symbol): Do not create symbol of referred-to cell
15553         when this is a renamed cell.
15555 2017-06-23  Rasmus  <rasmus@gmx.us>
15557         Synchronize with the "emacs-sync" branch from Org
15559 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15561         Remove getc_unlocked configure-time check
15563         * configure.ac (getc_unlocked): Remove check, as unlocked-io now
15564         does this for us.
15566 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15568         Use unlocked stdio more systematically
15570         This can improve performance significantly on stdio-bottlenecked code.
15571         E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
15572         * admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
15573         * lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
15574         * lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
15575         * lib-src/profile.c, lib-src/update-game-score.c:
15576         Include unlocked-io.h instead of stdio.h, since these programs are
15577         single-threaded.
15578         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
15579         * lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
15580         * src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
15581         * src/lread.c, src/term.c:
15582         Include sysstdio.h, possibly instead of stdio.h, to define
15583         the unlocked functions if the system does not provide them.
15584         * src/charset.c, src/lread.c (getc_unlocked):
15585         Remove, since sysstdio.h now defines it if needed.
15586         * src/cm.c (cmputc, cmcheckmagic):
15587         * src/dispnew.c (update_frame, update_frame_with_menu)
15588         (update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
15589         * src/emacs.c (main, Fdump_emacs):
15590         * src/fileio.c (Fdo_auto_save, Fset_binary_mode):
15591         * src/image.c (slurp_file, png_read_from_file, png_load_body)
15592         (our_stdio_fill_input_buffer):
15593         * src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
15594         * src/lread.c (readbyte_from_file):
15595         * src/minibuf.c (read_minibuf_noninteractive):
15596         * src/print.c (printchar_to_stream, strout)
15597         (Fredirect_debugging_output):
15598         * src/sysdep.c (reset_sys_modes, procfs_ttyname)
15599         (procfs_get_total_memory):
15600         * src/term.c (tty_ring_bell, tty_send_additional_strings)
15601         (tty_set_terminal_modes, tty_reset_terminal_modes)
15602         (tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
15603         (tty_write_glyphs_with_face, tty_insert_glyphs)
15604         (tty_menu_activate):
15605         * src/xfaces.c (Fx_load_color_file):
15606         Use unlocked stdio when it should be safe.
15607         * src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
15608         (fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
15609         (fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
15610         (putc_unlocked, putchar_unloced): Provide substitutes if not declared.
15612 2017-06-22  Glenn Morris  <rgm@gnu.org>
15614         * lisp/net/shr.el (shr-fill-text): Actually fill the text.  (Bug#27399)
15616 2017-06-22  Michal Nazarewicz  <mina86@mina86.com>
15618         unidata: don’t check special casing in unidata-check  (bug#26656)
15620         * admin/unidata/unidata-gen.el (unidata-check): Do not test special
15621         casing mapping of characters since that mapping is not constructed from
15622         the unidata.txt file.
15623         Also, check for integer decoder and cons char earlier so that less
15624         unnecessary processing is performed.
15626 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
15628         * lisp/descr-text.el (describe-char): Avoid string-*-multibyte
15630         Avoid string-to-multibyte and string-as-unibyte.
15631         Don't make *Help* unibyte just because the char was in a unibyte buffer.
15633 2017-06-22  Rasmus  <rasmus@gmx.us>
15635         Add Org schemas.xml contents to Emacs schemas.xml
15637         Entries from the Org version of schemas.xml have been added to
15638         the Emacs version of schemas.xml.
15640 2017-06-22  Rasmus  <rasmus@gmx.us>
15642         Update Org to v9.0.9
15644         Please see etc/ORG-NEWS for details.
15646 2017-06-22  Vincent Belaïche  <vincentb1@users.sourceforge.net>
15648         Do not hard code A1 cell reference, as it may be renamed.
15650         * lisp/ses.el (ses-recalculate-all): `A1' -> `(ses-cell-symbol 0 0)'
15652 2017-06-22  Martin Rudalics  <rudalics@gmx.at>
15654         Fix make_hash_table calls in lread.c
15656         * src/lread.c (readevalloop, read_internal_start): Fix
15657         make_hash_table calls to make build succeed.
15659 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
15661         Merge several Lisp reader speedups.
15663 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
15665         Create less garbage to collect while reading symbols.
15667         * src/lread.c (read1): When interning a symbol, only create a new
15668         string object for the name if we're going to use it for a new symbol
15669         object.
15671 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
15673         Replace read_objects assoc list with two hash tables.
15675         For larger input files with lots of shared data structures, an
15676         association list is too slow.
15678         * src/lread.c (read_objects_map, read_objects_completed): New
15679         variables, replacing read_objects.
15680         (readevalloop): Initialize them with hash tables before starting a
15681         top-level read, if they're not already empty hash tables, and reset
15682         them to Qnil afterwards if something was added to the hash tables.
15683         (read_internal_start): Likewise.
15684         (read1): Store first the placeholder and later the newly read object
15685         into read_objects_map under the specified object number.  If the new
15686         object can contain a reference to itself, store it in
15687         read_objects_completed.
15688         (substitute_objects_recurse): Check read_objects_completed instead of
15689         read_objects for the known possibly-recursive objects.
15690         (syms_of_lread): Update initializations.
15692 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
15694         Use getc_unlocked.
15696         * configure.ac: Check for getc_unlocked.
15697         * src/charset.c (read_hex, load_charset_map_from_file): Use
15698         getc_unlocked instead of getc.
15699         (getc_unlocked) [!HAVE_GETC_UNLOCKED]: Fall back to getc.
15700         * src/lread.c (readbyte_from_file, Fget_file_char, read1,
15701         getc_unlocked): Likewise.
15703 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
15705         Reduce lread substitutions.
15707         * src/lread.c (read1): After reading an object using the "#n=" syntax,
15708         if the read object is a cons cell, instead of recursively substituting
15709         the placeholder with the new object, mutate the placeholder cons cell
15710         itself to have the correct car and cdr values.
15712 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
15714         Short-circuit substitutions for some simple types.
15716         Values that don't contain other values cannot be circular, so checking
15717         for circular objects is a waste of cycles.
15719         * src/lread.c (substitute_object_recurse): If the subtree being
15720         examined is a symbol, number, or property-less string, just return
15721         it.
15723 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15725         Limit style_format to MAX_ALLOCA
15727         * src/editfns.c (styled_format): Subtract initial buffer size
15728         from sa_avail, since it is nontrivial.
15730 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15732         Limit bidi_find_bracket_pairs to MAX_ALLOCA
15734         * src/bidi.c (MAX_BPA_STACK): Now a constant, not a macro.
15735         Shrink it to allow for the two struct bidi_it objects in
15736         the same frame.
15737         (PUSH_BPA_STACK): Avoid integer overflow with enormous bidi cache.
15738         (bidi_find_bracket_pairs): Use compile-time check instead of runtime.
15740 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15742         Limit insert-file-contents to MAX_ALLOCA
15744         * src/fileio.c (READ_BUF_SIZE): Don’t allocate more than
15745         MAX_ALLOCA bytes in a single stack array.
15747 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
15749         Remove malloc_find_address relic
15751         * src/gmalloc.c (register_heapinfo, _malloc_internal_nolock):
15752         Omit unnecessary initialization.
15754 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
15756         Fix temacs hybrid_malloc core dump
15758         Without this patch, ./temacs would dump core sometimes on Fedora
15759         25 x86-64.  The problem was that the hybrid allocator assumed that
15760         all pointers into bss_sbrk_buffer are allocated via gmalloc.  This
15761         assumption is not true on Fedora, because the standard memory
15762         allocator calls gdefault_morecore, which means its blocks are
15763         interleaved with our blocks.  Usually the code happened to work,
15764         because our data structures agreed with the glibc data structures,
15765         but this was merely luck due to a shared pedigree, and as glibc
15766         mutates our luck has run out.
15767         * src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [HYBRID_MALLOC]:
15768         Remove; no longer needed.
15769         (BLOCK): Use unsigned division, as that does the right thing near zero.
15770         (register_heapinfo, __malloc_internal_nolock, __free_internal_nolock)
15771         (_realloc_internal_nolock):
15772         Big blocks now have type -1, not 0, as 0 now means the block is
15773         not ours.
15774         (morecore_nolock): Omit now-unnecessary casts to size_t.
15775         (allocated_via_gmalloc) [HYBRID_MALLOC]: New function.
15776         (hybrid_free, hybrid_realloc) [HYBRID_MALLOC]: Use it, to
15777         avoid calling the wrong free or realloc function in some cases.
15779 2017-06-21  Katsumi Yamaoka  <yamaoka@jpl.org>
15781         Make gnus-article-date-user work
15783         * lisp/gnus/gnus-art.el (article-date-ut):
15784         Work for unfolded multi-line Date header.
15785         (article-transform-date):
15786         Refactor; add header name if it is missing in user-defined date line.
15787         (article-date-user): Fix name of date type.
15789 2017-06-21  Noam Postavsky  <npostavs@gmail.com>
15791         Keep order of completion candidates (Bug#25995, Bug#24676)
15793         * lisp/minibuffer.el (completion-pcm--filename-try-filter)
15794         (completion-pcm--all-completions): Use nreverse to undo the reversing
15795         caused by using push in the loop.
15797 2017-06-21  Glenn Morris  <rgm@gnu.org>
15799         * src/lread.c (syms_of_lread) <load-history>: Doc fix.
15801 2017-06-21  Alex Gramiak  <agrambot@gmail.com>
15803         Mark prolog indent variables as safe (bug#27369)
15805         * lisp/progmodes/prolog.el (prolog-indent-width)
15806         (prolog-left-indent-regexp, prolog-paren-indent-p)
15807         (prolog-paren-indent): Add :safe property.
15809 2017-06-20  Simen Heggestøyl  <simenheg@gmail.com>
15811         Remove `:options' from `css-electric-keys'
15813         * lisp/textmodes/css-mode.el (css-electric-keys): Remove `:options`
15814         since it just duplicates the default value.
15816 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
15818         Fix crash when built by GNU Gold linker on x86
15820         Problem reported by Andrés Musetti (Bug#27248).
15821         * src/widget.c (emacsFrameClassRec): Do not initialize superclass here.
15822         (emacsFrameClass): Now a function (which initializes the
15823         superclass) instead of a variable.  All uses changed.
15825 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
15827         Simplify autogen.sh version checking
15829         * autogen.sh (get_version): Simplify and make more reliable
15830         by using expr rather than echo | sed.  Check exit status of program.
15831         Run program in subshell in case it cannot be executed.
15832         (check_version): Check exit status of command rather than its output.
15833         Check return status of get_version.
15835 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
15837         Delete old Date header in a simple way
15839         * lisp/gnus/gnus-art.el (article-date-ut): Don't rely on text prop
15840         when searching the old Date header boundary in order to delete it.
15842 2017-06-20  Bastien  <bzg@gnu.org>
15844         Revert "Don't bind org-agenda key to an anonymous function"
15846         This reverts commit 49c0ff29c2e0243ba35ec17e3e3af49369be43db.
15848 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
15850         Bind enable-local-variables to nil globally (fix dbe3e41)
15852         * lisp/gnus/mm-view.el (mm-display-inline-fontify):
15853         Bind enable-local-variables to nil globally instead of making it
15854         buffer-local; remove let-bind of local-enable-local-variables.
15855         cf. <b4mtw3bbfp5.fsf@jpl.org> in the emacs-devel list.
15857 2017-06-20  Glenn Morris  <rgm@gnu.org>
15859         kill-matching-buffers to optionally not confirm
15861         * lisp/files.el (kill-matching-buffers):
15862         Add option to not confirm killing.  (Bug#27286)
15864 2017-06-20  Glenn Morris  <rgm@gnu.org>
15866         * lisp/files.el (local-enable-local-variables): Doc fix.
15868 2017-06-20  Glenn Morris  <rgm@gnu.org>
15870         autogen.sh: try to check for tool being present but broken
15872         * autogen.sh (get_version): Check return status of "--version".
15873         (check_version): Try to distinguish between a missing tool
15874         and a broken one.  (Bug#27288)
15876 2017-06-19  Glenn Morris  <rgm@gnu.org>
15878         Avoid a custom-variable-type error (bug#27363)
15880         * lisp/cus-edit.el (custom-variable-type):
15881         Avoid an error due to plist-put becoming stricter of late.
15883 2017-06-19  Glenn Morris  <rgm@gnu.org>
15885         Don't put deleted packages in the trash (bug#14967)
15887         * lisp/emacs-lisp/package.el (package-delete):
15888         Don't pay attention to delete-by-moving-to-trash.
15890 2017-06-19  Nicolas Petton  <nicolas@petton.fr>
15892         Revert "Add current-line in simple.el"
15894         This reverts commit ae98cdf9431604d0f722f1db217ca06debfbb7b6.
15896 2017-06-19  Damien Cassou  <damien@cassou.me>
15898         Add current-line in simple.el
15900         * lisp/simple.el (current-line): New function.
15901         * test/lisp/simple-tests.el: Add tests for current-line.
15903 2017-06-19  Katsumi Yamaoka  <yamaoka@jpl.org>
15905         Don't try to eval local variables in Gnus article
15907         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Disable local vars.
15909 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
15911         Fix emacs-module.h cleaning
15913         * src/Makefile.in (clean): Do not remove emacs-module.h.in.
15914         (bootstrap-clean): Remove emacs-module.h.
15916 2017-06-18  Andreas Schwab  <schwab@linux-m68k.org>
15918         * lisp/url/url-util.el (url-get-url-at-point): Add missing group
15919         in regex.
15921 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
15923         * lib/gettext.h: Merge from gnulib.
15925 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
15927         Merge from gnulib
15929         This (and my previous patch) incorporate:
15930         2017-06-17 diffseq: port to GCC 7 with --enable-gcc-warnings
15931         2017-06-15 gettext-h: Update comment
15932         * lib/diffseq.h: Copy from gnulib.
15934 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
15936         * test/Makefile.in: Don't suppress test failure for single tests.
15938 2017-06-17  Philipp Stephani  <phst@google.com>
15940         emacs-module.h: Create emacs_env_26
15942         This was part of the original design of the module
15943         API (https://lists.gnu.org/r/emacs-devel/2015-02/msg00960.html),
15944         but I didn't take it into account when adding the should_quit
15945         function.
15947         Instead of duplicating the environment fields or using the C
15948         preprocessor, use configure to build emacs-module.h.
15950         * configure.ac: Expand emacs-module.h template.
15952 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
15954         Improve documentation of replace-buffer-contents
15956         * etc/NEWS (replace-buffer-contents): Fix formatting.
15958         * src/editfns.c (Freplace_buffer_contents): Doc fix.
15960 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
15962         Finish up native display of line numbers
15964         * src/xdisp.c (maybe_produce_line_number): Produce a blank before
15965         the number, for R2L rows.  Increment 'g' in the loop even if
15966         glyph_row is NULL.  Accept 2nd argument FORCE and produce the
15967         line-number glyphs if it is non-zero.
15968         (move_it_in_display_line_to): Account for the space taken by the
15969         line-number glyphs.  Call maybe_produce_line_number with 2nd
15970         argument non-zero.
15971         (set_cursor_from_row): Fix calculation of cursor X coordinate in
15972         R2L rows with display-produced glyphs at the beginning.
15973         (syms_of_xdisp) <line-number>: New face symbol.
15974         <relative, display-line-width>: New symbols.
15975         (maybe_produce_line_number): Use the line-number face for
15976         displaying line numbers.  Support relative line-number display.
15977         Support user-defined width for displaying line numbers.
15978         (try_cursor_movement, try_window_id): Disable these optimizations
15979         when displaying relative line numbers.
15980         * src/dispextern.h (struct it): New member 'pt_lnum'.
15982         * lisp/faces.el (line-number): New face.
15983         * lisp/cus-start.el (standard): Provide customization forms for
15984         display-line-numbers and display-line-width.
15985         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
15986         turn display-line-numbers on and off.
15988         * etc/NEWS: Document the new feature.
15990 2017-06-17  Philipp Stephani  <phst@google.com>
15992         Allow local variables section to begin with a square bracket
15994         Fixes Bug#27391.
15996         * lisp/international/mule.el (find-auto-coding): Fix regular
15997         expression for "Local Variables" section.
15999         * test/lisp/international/mule-tests.el (find-auto-coding--bug27391):
16000         Add unit test.
16002 2017-06-17  Philipp Stephani  <phst@google.com>
16004         Remove unnecessary point motion
16006         * src/editfns.c (Freplace_buffer_contents): Remove unnecessary point
16007         motion.
16009 2017-06-17  Philipp Stephani  <phst@google.com>
16011         Add command to replace buffer contents
16013         Add a new command 'replace-buffer-contents' that uses the Myers diff
16014         algorithm to non-destructively replace the accessible portion of the
16015         current buffer.  The Myers algorithm is implemented in Gnulib.
16017         * src/editfns.c (Freplace_buffer_contents): New command.
16018         (set_bit, bit_is_set, buffer_chars_equal): New helper functions.
16019         (syms_of_editfns): Define new command.
16021         * test/src/editfns-tests.el (replace-buffer-contents-1)
16022         (replace-buffer-contents-2): New unit tests.
16024         * src/buffer.h (BUF_FETCH_CHAR_AS_MULTIBYTE): New helper macro.
16026         * admin/merge-gnulib (GNULIB_MODULES): Add diffseq.h and minmax.h.
16028 2017-06-17  Andreas Schwab  <schwab@linux-m68k.org>
16030         * lisp/international/characters.el: Update list of zero and full
16031         width characters according to Unicode 9.0.0.
16033 2017-06-17  Simen Heggestøyl  <simenheg@gmail.com>
16035         Complete CSS property values less eagerly (Bug#27392)
16037         * lisp/textmodes/css-mode.el (css--complete-property-value): Be less
16038         eager by looking for a colon after the property which values are being
16039         completed for.
16041         * test/lisp/textmodes/css-mode-tests.el (css-test-complete-property):
16042         Add a test case ensuring that properties that are prefixes of other
16043         properties don't hinder further completion.
16045 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
16047         Handle integer indices for eshell variables (Bug#26055)
16049         * lisp/eshell/esh-var.el (eshell-index-value): Convert index to number
16050         if it's been marked as one, just like `eshell-lisp-command' does.
16052 2017-06-17  Mark Oteiza  <mvoteiza@udel.edu>
16054         Don't bind org-agenda key to an anonymous function
16056         * lisp/org/org-agenda.el: Bind "g" to named command.
16057         (org-agenda-redo-all): New command.  Extend the previous functionality
16058         through a prefix argument.
16060 2017-06-17  Dmitry Gutov  <dgutov@yandex.ru>
16062         Add test for the fix in the parent commit
16064         * test/src/undo-tests.el (undo-test-skip-invalidated-markers):
16065         New test, for the fix in the parent commit.
16067 2017-06-17  Nitish Chandra  <nitishchandrachinta@gmail.com>  (tiny change)
16069         primitive-undo: Update only the currently valid markers
16071         * lisp/simple.el (primitive-undo):
16072         Update only the currently valid markers (bug#25599).
16074 2017-06-16  Eli Zaretskii  <eliz@gnu.org>
16076         Initial version of native display of line numbers
16078         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: New
16079         buffer-local variable.
16080         Include <math.h>.
16081         (maybe_produce_line_number): New function.
16082         (DISP_INFINITY): Rename from INFINITY, since math.h defines INFINITY.
16083         (try_window_reusing_current_matrix): Don't use this method when
16084         display-line-numbers is in effect.
16085         * src/dispextern.h (struct it): New members 'lnum'.
16087 2017-06-16  Philipp Stephani  <phst@google.com>
16089         Correctly detect URLs surrounded by parentheses in comments
16091         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url):
16092         Make parentheses match work inside comments.
16094         * test/lisp/thingatpt-tests.el (thing-at-point-url-in-comment): Add
16095         unit test.
16097 2017-06-16  Michael Albinus  <michael.albinus@gmx.de>
16099         Fix load-path issue when it contains remote directories
16101         * lisp/net/tramp.el (tramp-file-name-handler): Use `autoloadp'.
16102         (tramp-use-absolute-autoload-file-names): New defun.  Call it
16103         after loading tramp.el.
16105         * test/lisp/net/tramp-tests.el (tramp-test38-remote-load-path):
16106         New test.
16107         (tramp-test39-unload): Rename.
16109 2017-06-16  Alan Mackenzie  <acm@muc.de>
16111         Ensure C++ initializer lists don't get fontified.
16113         * lisp/progmodes/cc-cmds.el (c-block-comment-flag): Move declaration to solve
16114         compiler warning.
16116         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add an extra
16117         clause to handle C++ member initialization lists.
16118         (c-font-lock-single-decl): New function, extracted from
16119         c-font-lock-declarations.
16120         (c-font-lock-declarations): Call c-font-lock-single-decl in place of inline
16121         code.
16122         (c-font-lock-cut-off-declarators): Make more rigorous by calling
16123         c-get-fontification-context, c-forward-decl-or-cast-1, and
16124         c-font-lock-single-decl in place of rather approximate code.
16126 2017-06-16  Alan Mackenzie  <acm@muc.de>
16128         Fix hang in CC Mode when ":" is typed after identifier at EOB.
16130         * lisp/progmodes/cc-engine.el (c-forward-declarator): Fix coding error
16131         confusing ":" and EOB.
16133 2017-06-15  Alan Mackenzie  <acm@muc.de>
16135         Create a toggle between block and line comments in CC Mode.
16137         Also (unrelated change) initialize the modes' keymaps at each loading.
16139         * lisp/progmodes/cc-cmds.el (c-update-modeline): amend for the new information
16140         on the modeline.
16141         (c-block-comment-flag): New variable.
16142         (c-toggle-comment-style): New function.
16144         * lisp/progmodes/cc-langs.el (c-block-comment-starter)
16145         (c-line-comment-starter): Make them c-lang-defvars.
16146         (c-block-comment-is-default): New c-lang-defvar.
16147         (comment-start, comment-end): Make the default values dependent on
16148         c-block-comment-is-default.
16150         * lisp/progmodes/cc-mode.el (c-mode-base-map): Define C-c C-k in this map.
16151         (c-basic-common-init): Initialize c-block-comment-flag.
16152         (c-mode-map, c++-mode-map, objc-mode-map, java-mode-map, idl-mode-map)
16153         (pike-mode-map, awk-mode-map): Make entries in these key maps each time the
16154         mode is loaded rather than just once per Emacs session.
16156         * doc/misc/cc-mode.texi (Comment Commands): Introduce the notion of comment
16157         style.
16158         (Minor Modes): Define comment style.  Describe how comment style influences
16159         the information displayed on the modeline.  Document c-toggle-comment-style.
16160         (FAQ): Add a question about toggling the comment style.
16162 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
16164         Pacify clang without munging C source
16166         * configure.ac (WARN_CFLAGS): With Clang, use
16167         -Wno-tautological-compare regardless of --enable-gcc-warnings.
16168         (WERROR_CFLAGS): Simplify assignments, and guarantee it’s always set.
16169         * lib/strftime.c: Copy from gnulib, reverting Clang-specific
16170         change which I hope is no longer needed.
16171         * src/emacs.c (main): Revert rlim_t change, as rlim_t is signed on
16172         some older non-POSIX hosts.
16174 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
16176         No need to complicate make-docfile.c for Clang
16178         * lib-src/make-docfile.c (put_filename): Undo recent change.
16179         The Clang false alarm occurs only with CFLAGS=-save-temps and
16180         we needn’t worry about pacifying unusual compiler configurations.
16182 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
16184         Port './configure CC=clang' to Fedora 25
16186         * configure.ac (HAVE_IMAGEMAGICK): Disable if even a
16187         standard function like MagickRelinquishMemory does not link.
16189 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
16191         Don’t worry about __STDC_VERSION__ in emacs-module
16193         * src/emacs-module.h: Remove __STDC_VERSION__ check.  In the past
16194         we’ve found that some compilers do not define this symbol even
16195         when they work well enough.  If necessary features like stdbool.h
16196         are missing the compiler will complain eventually anyway.
16198 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
16200         Port cleanup check to Oracle Studio 12.5
16202         * src/conf_post.h (__has_attribute_cleanup): Resurrect.
16203         * src/emacs-module.c: Verify __has_attribute (cleanup), but in an
16204         #if this time.
16206 2017-06-14  Bastien  <bzg@gnu.org>
16208         Fix misformatted changelog entry
16210 2017-06-14  Eli Zaretskii  <eliz@gnu.org>
16212         Avoid compiler warning in image.c on MS-Windows
16214         * src/image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: Avoid
16215         compilation warning under -Warray-bounds by temporarily disabling
16216         the -Warray-bounds option.
16218 2017-06-14  Michael Albinus  <michael.albinus@gmx.de>
16220         Fix Bug#27315
16222         * lisp/net/tramp-cache.el (tramp-cache-read-persistent-data):
16223         New defvar.
16224         (top): Use it.
16226         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
16227         Check for connected, not for connectable.  (Bug#27315)
16228         (tramp-process-actions):
16229         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
16230         Use `tramp-cache-read-persistent-data'.
16232         * test/lisp/net/tramp-tests.el (top): Set also
16233         `tramp-cache-read-persistent-data'.
16235 2017-06-14  Noam Postavsky  <npostavs@gmail.com>
16237         Give a fixed default value for icomplete-prospects-height (Bug#26939)
16239         * lisp/icomplete.el (icomplete-prospects-height): Default to 2.
16240         (icomplete-prospects-length): Remove.
16241         * etc/NEWS: Announce removal.
16243 2017-06-14  Philipp Stephani  <phst@google.com>
16245         Remove some tautological comparisons involving rlim_t
16247         Clang on macOS warns about these with -Wtautological-compare.  POSIX
16248         guarantees that rlim_t is
16249         unsigned (cf.
16250         http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
16251         so these resource limits can never be negative.
16253         * src/emacs.c (main): Remove tautological comparisons.
16255 2017-06-14  Philipp Stephani  <phst@google.com>
16257         Use --module-assertions if modules are available
16259         Using --module-assertions helps us find bugs in the test module.  But
16260         we can use it only if Emacs was compiled with module support.
16262         * test/Makefile.in (MODULES_EMACSOPT): New variable.
16263         (emacs): Use it.
16265 2017-06-14  Philipp Stephani  <phst@google.com>
16267         Define --module-assertions only of modules are available
16269         Fixes Bug#27352.
16271         * src/emacs.c (usage_message, standard_args): Define
16272         --module-assertions only if Emacs has been compiled with module
16273         support.
16275 2017-06-14  Katsumi Yamaoka  <yamaoka@jpl.org>
16277         gnus-article-read-summary-keys: Don't move point for WDD and WDW commands
16279         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys):
16280         No need to restore window config for WDD and WDW commands.
16282 2017-06-14  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
16284         lisp/net/soap-client.el: Bump version to 3.1.3
16286         * lisp/net/soap-client.el: Bump version to 3.1.3.
16287         (soap-name-p): Fix checkdoc issue.
16289 2017-06-14  Alex Harsanyi  <AlexHarsanyi@gmail.com>
16291         Fix an HTTP encoding error in soap-client.el
16293         * lisp/net/soap-client.el (soap-invoke-internal): Make
16294         SOAPAction header a UTF-8 encoded string.
16296 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
16298         Port cleanup attribute to Oracle Studio 12.5
16300         * INSTALL (--with-modules): List cleanup attribute as prereq.
16301         * src/conf_post.h (__has_attribute_cleanup): Remove; no longer needed.
16302         * src/emacs-module.c (MODULE_SETJMP_1): Don’t attempt to verify
16303         (__has_attribute (cleanup)), as Oracle Studio 12.5 supports
16304         __has_attribute only inside preprocessor expressions.  The C
16305         compiler should check the cleanup attribute in the next line anyway.
16306         (module_reset_handlerlist): Remove an unnecessary ‘const’
16307         that causes Oracle Studio 12.5 to refuse to compile.
16309 2017-06-14  Glenn Morris  <rgm@gnu.org>
16311         Fix running tests in without-modules builds
16313         * test/Makefile.in (EMACSOPT): Remove option that is only defined
16314         with-modules.  emacs-module-tests.el passes it where needed.
16316 2017-06-13  Glenn Morris  <rgm@gnu.org>
16318         * test/Makefile.in (src/emacs-module-tests.log): Out-of-tree fix.
16320 2017-06-13  Philipp Stephani  <phst@google.com>
16322         Inline test module Makefile into main test Makefile
16324         The test/data/emacs-module/Makefile only built a single target, and
16325         inlining it into test/Makefile simplifies dependency tracking and
16326         reduces code duplication.
16328         * configure.ac: Don't build test/data/emacs-module/Makefile.
16330         * Makefile.in ($(test_module)): Inline compilation.
16331         (clean): Also clean test module outputs.
16333 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
16335         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Do not handle locally on w32.
16337 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
16339         Minor tweaks in Tramp manual
16341         * doc/misc/trampver.texi: Add prefixwithspace flag.
16343         * doc/misc/tramp.texi (Password handling): Harmonize example.
16344         (File name completion): Use prefixwithspace flag.
16345         (Frequently Asked Questions): Explain `tramp-histfile-override'.
16347 2017-06-13  Philipp Stephani  <phst@google.com>
16349         Silence two Clang warnings by introducing additional local variables
16351         * lib/strftime.c (libc_hidden_def):
16352         * lib-src/make-docfile.c (put_filename): Introduce local variables to
16353         silence Clang warnings.
16355 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
16357         Fix wrong indentation after string literal (Bug#27306)
16359         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-state)
16360         (lisp-indent-calc-next): Remove `depth' field, use (car ppss) instead.
16361         * test/lisp/emacs-lisp/lisp-mode-tests.el
16362         (lisp-indent-region-after-string-literal): New test.
16364 2017-06-13  Philipp Stephani  <phst@google.com>
16366         Fix version checks for emacs-module.h
16368         We don't need C11 or C++11 because stdbool.h is in C99, and for C++ we
16369         don't need it at all.
16371 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
16373         Buttonize #<bytecode> part of printed functions (Bug#25226)
16375         * lisp/emacs-lisp/cl-print.el: Autoload `disassemble-1'.
16376         (cl-print-compiled-button): New variable.
16377         (help-byte-code): New button type, calls `disassemble' in its action.
16378         (cl-print-object): Use it if `cl-print-compiled-button' is
16379         non-nil.
16381 2017-06-12  Philipp Stephani  <phst@google.com>
16383         Print module structure sizes when initializing test module
16385         * test/data/emacs-module/mod-test.c (emacs_module_init): Print
16386         compile-time and runtime sizes of module structures to ease debugging
16388 2017-06-12  Glenn Morris  <rgm@gnu.org>
16390         Small portability fix for emacs-module.h (bug#27346)
16392         * src/emacs-module.h (EMACS_ATTRIBUTE_NONNULL) [!__has_attribute]:
16393         Avoid 'error: missing binary operator before token "("'.
16395 2017-06-12  Glenn Morris  <rgm@gnu.org>
16397         Give a more informative failure in module assertion test
16399         * test/src/emacs-module-tests.el (module--test-assertions):
16400         Rephrase final check to give a more informative failure.
16402 2017-06-12  Philipp Stephani  <phst@google.com>
16404         Fix off-by-one error
16406         * test/data/emacs-module/mod-test.c (emacs_module_init): Fix
16407         off-by-one error.
16409 2017-06-12  Glenn Morris  <rgm@gnu.org>
16411         Clean up after module assertion tests
16413         * test/src/emacs-module-tests.el (module--test-assertions):
16414         Use a temporary directory to contain any core dumps.
16416 2017-06-12  Glenn Morris  <rgm@gnu.org>
16418         Small improvement for module assertion test
16420         * test/src/emacs-module-tests.el (module--test-assertions):
16421         Don't rely on the precise form of an "Abort" message.
16423 2017-06-12  Glenn Morris  <rgm@gnu.org>
16425         Improve previous test/data/emacs-module/Makefile change
16427         * test/data/emacs-module/Makefile.in (clean):
16428         Avoid doing unpleasant things if run in a build without modules.
16430 2017-06-12  Glenn Morris  <rgm@gnu.org>
16432         Small improvements for test/data/emacs-module/Makefile
16434         * test/data/emacs-module/Makefile.in (%.o):
16435         Fix emacs-module dependency.
16436         (SECONDARY): Stop make automatically deleting *.o.
16437         (clean): New rule.
16439 2017-06-12  Glenn Morris  <rgm@gnu.org>
16441         * make-dist: Skip some more generated files in test/.
16443 2017-06-12  Alan Third  <alan@idiocy.org>
16445         Note how fullscreen differs on the NS port
16447         doc/lispref/frames.texi (Size Parameters):
16448         doc/emacs/frames.texi (Tool Bars): Add a description of how macOS
16449         hides the tool-bar and menu-bar in fullscreen.
16451 2017-06-12  Alan Third  <alan@idiocy.org>
16453         Add no-focus-on-map to NS build (bug#25408)
16455         * src/nsfns.m (ns_frame_parm_handlers): Add x_set_no_focus_on_map.
16456         (x-create-frame): Check for no-focus-on-map.
16457         * src/nsterm.h (x_set_no_focus_on_map): New function.
16458         * src/nsterm.m (x_set_no_focus_on_map): New function.
16459         (ns_raise_frame): Add parameter for specifying whether to focus the
16460         frame.
16461         (ns_frame_raise_lower):
16462         (x_make_frame_visible): Handle new parameter for ns_raise_frame.
16464 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
16466         _Noreturn not noreturn
16468         _Noreturn is more portable to non-C11 platforms.  See:
16469         https://www.gnu.org/software/gnulib/manual/html_node/stdnoreturn_002eh.html
16470         * src/emacs-module.c: Use _Noreturn, not noreturn.  No need to
16471         include <stdnoreturn.h>.  Reindent to fit in 80 columns.
16473 2017-06-12  Glenn Morris  <rgm@gnu.org>
16475         Update make-dist for recent test/ changes
16477         * make-dist: No longer distribute test/data/emacs-module/Makefile.
16479 2017-06-12  Michael Albinus  <michael.albinus@gmx.de>
16481         Handle port and domain in Tramp's password cache
16483         * doc/misc/tramp.texi (Password handling): Explain port and
16484         domain handling in authinfo.
16486         * lisp/net/tramp.el (tramp-process-actions, tramp-clear-passwd):
16487         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askpassword):
16488         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
16489         (tramp-maybe-open-connection):
16490         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
16491         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
16492         (tramp-smb-maybe-open-connection): Handle also domain and port.
16494 2017-06-12  Eli Zaretskii  <eliz@gnu.org>
16496         Avoid compilation warnings with pre-C99 libc
16498         * src/emacs-module.c (module_free_global_ref)
16499         (module_assert_runtime, module_assert_env, value_to_lisp): Use 'pD'
16500         instead of C99 't' format descriptor.
16502 2017-06-12  Philipp Stephani  <phst@google.com>
16504         Flush all output streams before aborting
16506         Maybe the stdout buffer still contains something interesting that
16507         should be flushed.
16509         * src/emacs-module.c (module_abort): Flush all output streams before
16510         aborting.
16512 2017-06-12  Philipp Stephani  <phst@google.com>
16514         Remove an assertion that doesn't test Emacs invariants
16516         * src/emacs-module.c (module_copy_string_contents): Remove an
16517         assertion that doesn't test Emacs invariants.
16519 2017-06-12  Philipp Stephani  <phst@google.com>
16521         Test module: add necessary version checks
16523         * test/data/emacs-module/mod-test.c (emacs_module_init): Add necessary
16524         version checks.
16526 2017-06-12  Philipp Stephani  <phst@google.com>
16528         Use additional CFLAGS from configure
16530 2017-06-12  Philipp Stephani  <phst@google.com>
16532         Use Autoconf to generate the test module Makefile
16534         This makes it easier to pass compilation flags around.
16536         * configure.ac: Also build test module Makefile.
16538         * test/data/emacs-module/Makefile.in: New makefile template.
16540         * test/Makefile.in ($(test_module)): No longer necessary to pass
16541         @MODULES_SUFFIX@ around.
16543         * .gitignore: Test module Makefile can now be ignored.
16545 2017-06-12  Philipp Stephani  <phst@google.com>
16547         Also compile test module as C11
16549         * test/data/emacs-module/Makefile (CFLAGS): Compile test module as C11
16551 2017-06-12  Philipp Stephani  <phst@google.com>
16553         Implement module assertions for users
16555         Add a new command-line option '-module-assertions' that users can
16556         enable developing or debugging a module.  If this option is present,
16557         Emacs performs additional checks to verify that modules fulfill their
16558         requirements.  These checks are expensive and crash Emacs if modules
16559         are invalid, so disable them by default.
16561         This is a command-line option instead of an ordinary variable because
16562         changing it while Emacs is running would cause data structure
16563         imbalances.
16565         * src/emacs.c (main): New command line option '-module-assertions'.
16567         * src/emacs-module.c (module_assert_main_thread)
16568         (module_assert_runtime, module_assert_env, module_assert_value):
16569         New functions to assert module requirements.
16570         (syms_of_module): New uninterned variable 'module-runtimes'.
16571         (init_module_assertions, in_main_thread, module_abort): New helper
16572         functions.
16573         (initialize_environment): Initialize value list.  If assertions are
16574         enabled, use a heap-allocated environment object.
16575         (finalize_environment): Add assertion that environment list is never
16576         empty.
16577         (finalize_runtime_unwind): Pop module runtime object stack.
16578         (value_to_lisp): Assert that the value is valid.
16579         (lisp_to_value): Record new value if assertions are enabled.
16580         (mark_modules): Mark allocated object list.
16581         (MODULE_FUNCTION_BEGIN_NO_CATCH)
16582         (module_non_local_exit_check, module_non_local_exit_clear)
16583         (module_non_local_exit_get, module_non_local_exit_signal)
16584         (module_non_local_exit_throw): Assert thread and environment.
16585         (module_get_environment): Assert thread and runtime.
16586         (module_make_function, module_funcall, module_intern)
16587         (module_funcall, module_make_integer, module_make_float)
16588         (module_make_string, module_make_user_ptr, module_vec_get)
16589         (funcall_module, Fmodule_load): Adapt callers.
16590         (module_make_global_ref): If assertions are enabled, use the global
16591         environment to store global values.
16592         (module_free_global_ref): Remove value from global value list.
16594         * test/Makefile.in (EMACSOPT): Enable module assertions when testing
16595         modules.
16597         * test/data/emacs-module/mod-test.c (Fmod_test_invalid_store)
16598         (Fmod_test_invalid_load): New functions to test module assertions.
16599         (emacs_module_init): Bind the new functions.
16601         * test/src/emacs-module-tests.el (mod-test-emacs): New constant for
16602         the Emacs binary file.
16603         (mod-test-file): New constant for the test module file name.
16604         (module--test-assertions): New unit test.
16606 2017-06-12  Philipp Stephani  <phst@google.com>
16608         emacs-module: Use __attribute__((nonnull))
16610         Annotate all parameters with __attribute__((nonnull)) that may not be
16611         NULL.
16613 2017-06-12  Philipp Stephani  <phst@google.com>
16615         Explicitly require C11 or C++11 in emacs-module.h
16617         We already implicitly require them by including stdbool.h.  Just make
16618         the error message a bit clearer, and remove an unnecessary version
16619         comparison.
16621 2017-06-12  Philipp Stephani  <phst@google.com>
16623         Add missing 'require' forms to prevent compiler warnings.
16625         * lisp/eshell/esh-ext.el (esh-arg, esh-proc): Add missing
16626         requirements.
16628 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
16630         Merge from gnulib
16632         This incorporates:
16633         2017-06-11 getopt-posix: port to glibc 2.25.90
16634         2017-06-04 same-inode: port better to VMS 8.2 and later
16635         * doc/misc/texinfo.tex, lib/getopt-pfx-core.h, lib/getopt-pfx-ext.h:
16636         * m4/sys_types_h.m4: Copy from gnulib.
16638 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
16640         Remove Lisp_Misc_Float
16642         * src/data.c (Ftype_of): Do not worry about Lisp_Misc_Float.
16643         * src/lisp.h (Lisp_Misc_Float): Remove.  This placeholder has been
16644         unused for two decades; if we ever want to change floats to be a
16645         misc type we can bring it back then.
16647 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
16649         Make two symbols private to emacs-module.c
16651         * src/lisp.h (allocate_module_function, XSET_MODULE_FUNCTION):
16652         Move from here ...
16653         * src/emacs-module.c: ... to here.
16655 2017-06-12  Glenn Morris  <rgm@gnu.org>
16657         Merge from origin/emacs-25
16659         da62c1532e4 (origin/emacs-25) Improve the documentation of filesets
16661 2017-06-12  Glenn Morris  <rgm@gnu.org>
16663         Merge from origin/emacs-25
16665         e80f6a210b0 Describe problems with Microsoft Intellipoint
16666         a73ec1edb07 More accurate documentation of the ':box' face attribute
16668 2017-06-12  Glenn Morris  <rgm@gnu.org>
16670         Merge from origin/emacs-25
16672         eaa00584ceb Improve documentation of 'gnutls-verify-error'
16673         908498cc01b ; etc/PROBLEMS: Describe GTK-related crashes on elementar...
16674         741daec617e ; Describe the problem with ksh when resizing shell window
16676 2017-06-11  Michael Albinus  <michael.albinus@gmx.de>
16678         Some further improvements for tramp-gvfs.el
16680         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
16681         (tramp-gvfs-get-file-attributes)
16682         (tramp-gvfs-maybe-open-connection): Handle davs? properly.
16683         (tramp-gvfs-handler-askquestion): Improve `yes-or-no-p' prompt.
16684         Show question also in batch mode.  Cache result.
16686         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
16687         Support completion for host names and ports.
16689 2017-06-11  Simen Heggestøyl  <simenheg@gmail.com>
16691         Fix highlighting of CSS selectors with double hyphens
16693         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Fix
16694         highlighting of selectors that contain double hyphens.  They would be
16695         mistaken for a variable.
16697 2017-06-11  Philipp Stephani  <phst@google.com>
16699         Support threads in modules
16701         Rather than checking for the main thread, check for the current
16702         thread.
16704         * src/emacs-module.c (check_thread): New function.
16705         (MODULE_FUNCTION_BEGIN_NO_CATCH, module_get_environment)
16706         (module_non_local_exit_check, module_non_local_exit_clear)
16707         (module_non_local_exit_get, module_non_local_exit_signal)
16708         (module_non_local_exit_throw, module_is_not_nil, module_eq): Use it.
16710 2017-06-11  Philipp Stephani  <phst@google.com>
16712         Allow non-local exits in module initializers
16714         Previously signals, throws, and quits from module initialization
16715         functions were ignored.  These function aren't special, and better
16716         errors can be reported using signals than with the initialization
16717         return code, so allow non-local exits.
16719         * src/emacs-module.c (module_signal_or_throw): New helper function.
16720         (Fmodule_load, funcall_module): Use it.
16721         (Fmodule_load): Also allow quitting.
16723 2017-06-11  Noam Postavsky  <npostavs@gmail.com>
16725         Let eshell/sudo handle absolute command names (Bug#27167)
16727         * lisp/eshell/esh-ext.el (eshell-find-interpreter): Don't change
16728         absolute paths into relative ones.
16730 2017-06-10  Alan Third  <alan@idiocy.org>
16732         Don't wait for toolbar in NS native fullscreen
16734         * src/nsterm.m (EmacsView:updateFrameSize): Don't short-circuit the
16735         function when in fullscreen.
16737 2017-06-10  Alexander Gramiak  <agrambot@gmail.com>
16739         Fix the placement of GTK menus on multi-monitor systems
16741         menu_position_func did not properly use the current monitor's
16742         resolution.  Also see commit '2016-02-06 22:12:53 +0100'.
16744         * lisp/frame.el (frame-monitor-attribute, frame-monitor-geometry)
16745         (frame-monitor-workarea): New functions.
16747         * src/xmenu.c (menu_position_func): Take into account the workarea of
16748         the monitor that contains the mouse.  (Bug#23568)
16750 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
16752         Clarify documentation of 'face-spec-set'
16754         * lisp/faces.el (face-spec-set): Clarify the description of
16755         SPEC-TYPE in the doc string.
16757         * doc/lispref/display.texi (Defining Faces): Clarify the
16758         description of 'face-spec-set's SPEC-TYPE argument.  (Bug#27246)
16760 2017-06-10  Michael Albinus  <michael.albinus@gmx.de>
16762         Fix domain port and handling in tramp-gvfs.el
16764         * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
16765         Return nil if BYTE-ARRAY is nil.
16766         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
16767         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
16768         Fix domain and port handling.
16770         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
16771         Ignore errors.
16773 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
16775         Improve documentation of 'face-spec-set-2'
16777         * lisp/faces.el (face-spec-recalc, face-spec-set-2): Rename 'spec'
16778         to 'face-attrs'.
16779         (face-spec-choose, face-spec-set-2): Doc fix.  (Bug#27238)
16781 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
16783         Fix handling of Python/Guile commands with arguments in gdb-mi.el
16785         * lisp/progmodes/gdb-mi.el (gdb-python-guile-commands-regexp): New
16786         variable.
16787         (gdb-control-commands-regexp): Use it.
16788         (gdb-send): Don't increment gdb-control-level if the command
16789         matches gdb-python-guile-commands-regexp and has non-empty
16790         arguments.  Reported by David Boles <boles@ieee.org> in
16791         https://lists.gnu.org/r/emacs-devel/2017-06/msg00009.html.
16793 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
16795         Preserve point in Dired windows under 'dired-auto-revert-buffer'
16797         * lisp/dired.el (dired-find-file): When dired-auto-revert-buffer
16798         is non-nil, bind switch-to-buffer-preserve-window-point to nil
16799         while calling find-file.  (Bug#27243)
16801 2017-06-09  Philipp Stephani  <phst@google.com>
16803         Give test files a -tests.el suffix
16805         Rename a couple of test files that have the same name as the library
16806         they test.  This harmonizes the naming pattern and makes it possible
16807         to have the tests directories in the load path.
16809 2017-06-09  Philipp Stephani  <phst@google.com>
16811         Fix another compiler warning on macOS
16813         * src/image.c (x_query_frame_background_color): Don't define if we
16814         have NextStep but no image support.
16816 2017-06-09  Philipp Stephani  <phst@google.com>
16818         Add garbage collection support for module environments
16820         * src/emacs-module.c (mark_modules): New function.
16821         (initialize_environment): Properly initialize Lisp objects.
16822         * src/alloc.c (garbage_collect_1): Call it.
16824 2017-06-08  Glenn Morris  <rgm@gnu.org>
16826         Make autogen.sh report relevant environment variables
16828         * autogen.sh (check_version):
16829         Indicate if using an environment variable.
16831 2017-06-08  Noam Postavsky  <npostavs@gmail.com>
16833         Split variable macro env from function env
16835         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove.
16836         (cl-symbol-macrolet): Instead of adding each binding directly into the
16837         main environment with a special key format, put all symbol macro
16838         bindings into a single entry in the main environment under
16839         `:cl-symbol-macros'.
16840         (cl--sm-macroexpand): Look up symbol bindings in the
16841         `:cl-symbol-macros' entry of the environment.
16843 2017-06-07  Glenn Morris  <rgm@gnu.org>
16845         * make-dist: Directory modules/mod-test no longer exists.
16847 2017-06-07  Glenn Morris  <rgm@gnu.org>
16849         More authors.el updates
16851         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
16852         (authors-renamed-files-alist): Additions.
16854 2017-06-07  Glenn Morris  <rgm@gnu.org>
16856         * make-dist: Check a release has a ChangeLog with a release notice.
16858         * make-dist: Use existing ChangeLog if present.
16860 2017-06-07  Michael Albinus  <michael.albinus@gmx.de>
16862         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Fix port handling.
16864 2017-06-07  Lars Ingebrigtsen  <larsi@gnus.org>
16866         (url-cookie-host-can-set-p): Protect against zero-length domains
16868         * lisp/url/url-cookie.el (url-cookie-host-can-set-p): Protect
16869         against zero-length domains.
16871         Backtrace of a real-world site that triggers a bug:
16873         Debugger entered--Lisp error: (args-out-of-range "" 0)
16874           url-cookie-host-can-set-p("www.washingtonpost.com" "")
16875           url-cookie-handle-set-cookie("utm_term=0;Expires=Thursday,
16876           01-January-1970 00:00:00 GMT; path=/; domain=")
16877           url-http-handle-cookies()
16879 2017-06-06  Glenn Morris  <rgm@gnu.org>
16881         More authors.el updates
16883         * admin/authors.el (authors-obsolete-files-regexps)
16884         (authors-valid-file-names, authors-renamed-files-alist)
16885         (authors-renamed-files-regexps): Additions.
16887 2017-06-06  Glenn Morris  <rgm@gnu.org>
16889         More small authors.el updates
16891         * admin/authors.el (authors-aliases): Fix recent addition.
16892         (authors-obsolete-files-regexps, authors-no-scan-regexps)
16893         (authors-ignored-files, authors-valid-file-names)
16894         (authors-renamed-files-alist): Additions.
16896 2017-06-06  Glenn Morris  <rgm@gnu.org>
16898         Make authors.el report names that were ignored
16900         * admin/authors.el (authors-ignored-names): New.
16901         (authors-canonical-author-name): Add file and position arguments.
16902         Record ignored authors.
16903         (authors-scan-change-log, authors-scan-el):
16904         Pass file and position to authors-canonical-author-name.
16905         (authors): Also print authors that were ignored.
16907 2017-06-06  Glenn Morris  <rgm@gnu.org>
16909         * admin/authors.el (authors-aliases): Additions.
16911 2017-06-06  Tino Calancha  <tino.calancha@gmail.com>
16913         * test/lisp/subr-tests.el (subr-tests-bug22027): Add test.
16915 2017-06-06  Noam Postavsky  <npostavs@gmail.com>
16917         * lisp/subr.el (read-passwd): Don't delete return value (Bug#22027).
16919 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
16921         Enable ElDoc messages after the newline command
16923         * lisp/emacs-lisp/eldoc.el:
16924         Add "newline" to the eldoc-add-command-completions call (bug#27228).
16926 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
16928         Enable eldoc-mode explicitly inside read--expression
16930         * lisp/simple.el (read--expression): Call eldoc-mode (bug#27202).
16932 2017-06-06  Andy Moreton  <andrewjmoreton@gmail.com>
16934         Fix check for package-unsigned-archives during retrieval
16936         * lisp/emacs-lisp/package.el (package--download-one-archive):
16937         Fix check for package-unsigned-archives.
16939 2017-06-05  Noah Friedman  <friedman@splode.com>
16941         Merge etc/emacs-buffer.gdb from emacs-25 to master.
16943 2017-06-05  Philipp Stephani  <phst@google.com>
16945         Fix undefined behavior in mapbacktrace
16947         * src/eval.c (Fmapbacktrace): Don't assume that PDL is still valid.
16949 2017-06-05  Eli Zaretskii  <eliz@gnu.org>
16951         Fix emacs-module-tests on MS-Windows
16953         * src/print.c (print_vectorlike): Make sure module function's
16954         address prints with a leading "0x".  This fixes emacs-module-tests
16955         on MS-Windows.  Fix whitespace.
16956         * src/dynlib.c (dynlib_addr): Remove unused variable.  Update
16957         commentary.
16959 2017-06-05  Philipp Stephani  <phst@google.com>
16961         Use unwind protection to clean up data structures in modules
16963         Reuse existing functionality and simplify the code a bit.
16965         * src/emacs-module.c (Fmodule_load): Use unwind protection to clean up
16966         runtime object.
16967         (funcall_module): Use unwind protection to clean up environment
16968         object.
16969         (finalize_environment): Simplify signature.
16970         (finalize_environment_unwind, finalize_runtime_unwind): New functions.
16972 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
16974         Some minor tweaks in tramp-tests.el
16976         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-relative):
16977         Let it pass for all gfvs based methods.
16978         (tramp-test24-file-name-completion): Run method and host
16979         completion for all syntaxes only when expensive tests are enabled.
16980         Do not check host completion for gvfs based methods.
16981         (tramp--test-gvfs-p): Add optional METHOD argument.
16982         (tramp--test-afp-or-smb-p): Remove.
16984 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
16986         Fix error in Tramp rsync method
16988         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-c" argument.
16989         Otherwise, `tramp-test10-write-region' could fail.
16991 2017-06-05  Philipp Stephani  <phst@google.com>
16993         Inline module_has_cleanup
16995         This constant is only used once, and we fail compilation anyway if
16996         it's false.
16998         * src/emacs-module.c (MODULE_SETJMP_1): Inline __has_attribute.
17000 2017-06-05  Philipp Stephani  <phst@google.com>
17002         Add missing dependency to test module source file
17004 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
17006         Omit space that broke ‘make check’
17008         * src/print.c (print_vectorlike): Omit stray space.
17010 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
17012         Remove easserts etc. from emacs-module.c
17014         Most of these seem to run afoul of the comment "Do NOT use
17015         'eassert' for checking validity of user code in the module."
17016         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH)
17017         (module_non_local_exit_check, module_non_local_exit_clear)
17018         (module_non_local_exit_get, module_non_local_exit_signal)
17019         (module_non_local_exit_throw, module_make_string):
17020         Remove unnecessary easserts that pointers are nonnull.
17021         Hardware checks this for us nowadays, and the checks
17022         just clutter up the code.
17023         (module_extract_integer): Remove unnecessary verify that
17024         a C signed integer is in the range INTMAX_MIN..INTMAX_MAX.
17025         The C standard guarantees this.
17026         (module_copy_string_contents): Remove unnecessary eassert
17027         that Lisp strings are null-terminated.
17028         (module_function_arity): Remove unnecessary easserts that
17029         function arities are in range.
17031 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
17033         Remove unnecessary checking in emacs-module.c
17035         * src/emacs-module.c (module_copy_string_contents):
17036         Remove checking, as string lengths are always nonnegative and less
17037         than STRING_BYTES_BOUND, and this is checked elsewhere.
17038         (module_make_string): Check length against STRING_BYTES_BOUND, a
17039         tighter bound than MOST_POSITIVE_FIXNUM.  (funcall_module): Don't
17040         assume that an out-of-range integer is nonnegative.
17042 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
17044         SCHARS and STRING_BYTES are nonnegative
17046         Tell the compiler that SCHARS and STRING_BYTES are nonnegative, in
17047         the hopes that this will optimize a bit better.  Also, check this
17048         at runtime if ENABLE_CHECKING.
17049         * src/lisp.h (SCHARS, STRING_BYTES):
17050         eassume that these functions return nonnegative values.
17051         (STRING_SET_CHARS) [ENABLE_CHECKING]:
17052         eassert that newsize is nonnegative.
17054 2017-06-05  Noam Postavsky  <npostavs@gmail.com>
17056         * lisp/desktop.el (desktop-clear): Skip the daemon's frame (Bug#26912).
17058 2017-06-04  Philipp Stephani  <phst@google.com>
17060         Remove an unused error symbol
17062         * src/emacs-module.c (syms_of_module): Remove unused error symbol
17063         'invalid-module-call'.
17065 2017-06-04  Philipp Stephani  <phst@google.com>
17067         Support quitting in modules
17069         The idea is that modules should call env->should_quit from time to
17070         time and return as quickly as possible if it returns true.
17072         * src/emacs-module.c (module_should_quit): New module function.
17073         (initialize_environment): Use it.
17074         (funcall_module): Process potential pending quit.
17076         * src/eval.c (maybe_quit): Add reference to module_should_quit.
17078 2017-06-04  Philipp Stephani  <phst@google.com>
17080         Use more specific errors for module load failure
17082         * src/emacs-module.c (syms_of_module): Add more specific error
17083         symbols.
17084         (Fmodule_load): Use them.
17086 2017-06-04  Philipp Stephani  <phst@google.com>
17088         Remove an unneeded assertion
17090         * src/emacs-module.c (module_copy_string_contents): Remove unneeded
17091         assertion.  If this assertion triggers, we raise an error anyway.
17093 2017-06-04  Philipp Stephani  <phst@google.com>
17095         Guard against signed integer overflows
17097         * src/emacs-module.c (module_extract_integer)
17098         (module_copy_string_contents, module_make_string): Guard against
17099         signed integer overflows.
17101 2017-06-04  Philipp Stephani  <phst@google.com>
17103         Add a couple more assertions to the module code
17105         These can help module authors debug crashes.
17107         * src/emacs-module.c (module_non_local_exit_check)
17108         (module_non_local_exit_clear, module_non_local_exit_get)
17109         (module_non_local_exit_signal, module_non_local_exit_throw)
17110         (module_copy_string_contents, module_make_string)
17111         (funcall_module, initialize_environment): Add assertions
17113 2017-06-04  Philipp Stephani  <phst@google.com>
17115         Use ATTRIBUTE_MAY_ALIAS where alias violations are likely
17117         In particular, alias violations are likely for the return values of
17118         dlsym(3), which get cast around arbitrarily.
17120         * src/emacs-module.c (Fmodule_load): Use ATTRIBUTE_MAY_ALIAS.
17122 2017-06-04  Philipp Stephani  <phst@google.com>
17124         Simplify interface of dynlib_attr.
17126         Instead of returning bool, set the argument pointers to NULL if the
17127         information is not available.
17129         * src/dynlib.c (dynlib_addr): Don't return bool.
17131 2017-06-04  Philipp Stephani  <phst@google.com>
17133         Rationalize environment lifetime management functions
17135         * src/emacs-module.c (Fmodule_load, funcall_module): Adapt callers.
17136         (finalize_environment): Add parameter for public part of the
17137         environment, like 'initialize_environment'.  Add assertions.
17139 2017-06-04  Philipp Stephani  <phst@google.com>
17141         Rework printing of module functions
17143         Fix a FIXME in emacs-module.c.  Put the printing into print.c, like
17144         other types.
17146         * src/print.c (print_vectorlike): Add code to print module functions.
17148         * src/emacs-module.c (funcall_module): Stop calling
17149         'module_format_fun_env'.  Now that module functions are first-class
17150         objects, they can be added to signal data directly.
17151         (module_handle_signal): Remove now-unused function
17152         'module_format_fun_env'.
17154         * test/src/emacs-module-tests.el (mod-test-sum-test): Adapt unit test.
17156         * src/eval.c (funcall_lambda): Adapt call to changed signature of
17157         'funcall_module'.
17159 2017-06-04  Philipp Stephani  <phst@google.com>
17161         Define helper macro to reduce code duplication
17163         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH): New helper
17164         macro.
17165         (MODULE_FUNCTION_BEGIN, module_type_of, module_is_not_nil, module_eq):
17166         Use it.
17168 2017-06-04  Philipp Stephani  <phst@google.com>
17170         Remove two FIXMEs that can't be fixed
17172 2017-06-04  Eli Zaretskii  <eliz@gnu.org>
17174         Avoid slow startup in daemon mode when global-linum-mode is on
17176         * lisp/linum.el (linum-on): Don't turn on linum-mode in a
17177         non-client frame of a daemon session.  (Bug#27210)
17179 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
17181         Fix eldoc bug with curved quote
17183         * lisp/progmodes/elisp-mode.el (elisp-get-fnsym-args-string):
17184         Substitute quotes in documentation before returning it (Bug#27159).
17186 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
17188         Tune ‘format’ after recent fix
17190         * doc/lispref/strings.texi (Formatting Strings):
17191         * src/editfns.c (Fformat): Format field numbers no longer need
17192         to be unique, reverting the previous doc change since that has
17193         now been fixed.  Also, document that %% should not have modifiers.
17194         * src/editfns.c (styled_format): Improve performance.  Remove
17195         the need for the new prepass over the format string, by using
17196         a typically-more-generous bound for the info array size.
17197         Initialize the info array lazily.  Move string inspection to
17198         the same area to help caching.  Avoid the need for a
17199         converted_to_string bitfield by using EQ.  Cache arg in a
17200         local and avoid some potential aliasing issues to help the
17201         compiler.  Info array is now 0-origin, not 1-origin.
17203 2017-06-04  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
17205         Improve of file-local-name use in vc-git-checkin
17207         * lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
17208         when calling git commit.
17210 2017-06-03  Simen Heggestøyl  <simenheg@gmail.com>
17212         Support a new CSS indentation style
17214         * lisp/textmodes/css-mode.el (css-smie-rules): Indent after property
17215         immediately followed by a newline.
17217         * test/manual/indent/css-mode.css: Add test for the change above.
17219         * test/manual/indent/scss-mode.scss: Ditto.
17221 2017-06-03  Philipp Stephani  <phst@google.com>
17223         Fix a bug when using format field numbers
17225         Previously styled_format overwrite the argument vector.  This is no
17226         longer possible because there might be more than one specification per
17227         argument.  Use the existing auxiliary info array instead.
17229         * src/editfns.c (styled_format): Record arguments in the info
17230         structure instead of overwriting them.
17231         * test/src/editfns-tests.el (format-with-field): Add unit test.
17233 2017-06-03  Paul Eggert  <eggert@cs.ucla.edu>
17235         Document uniqueness limitation of ‘format’
17237         * doc/lispref/strings.texi (Formatting Strings):
17238         * src/editfns.c (Fformat):
17239         Document that field numbers should be unique within a format.
17241 2017-06-03  Glenn Morris  <rgm@gnu.org>
17243         Small rmailmm fix (bug#27203)
17245         * lisp/mail/rmailmm.el (rmail-mime-insert-bulk):
17246         Fall back to HOME if no match in rmail-mime-attachment-dirs-alist.
17248 2017-06-03  Glenn Morris  <rgm@gnu.org>
17250         * admin/authors.el (authors-aliases): Addition.
17252 2017-06-03  Glenn Morris  <rgm@gnu.org>
17254         Add watch for password back to inferior python comint filter
17256         It was removed along with other items for speed (bug#16875),
17257         but doesn't seem to have been causing an issue, and it's useful to
17258         have it there (bug#27154).
17259         * lisp/progmodes/python.el (inferior-python-mode):
17260         Add comint-watch-for-password-prompt to comint-output-filter-functions.
17262 2017-06-03  Ryan  <rct@thompsonclan.org>  (tiny change)
17264         Use completing-read-default in tmm-prompt
17266         tmm uses completing-read, but customizes its behavior so much
17267         that any alternative completing-read-function will almost
17268         certainly break it.  For example, both ido-ubiquitous and ivy have
17269         special code to deactivate themselves for tmm.
17270         * lisp/tmm.el (tmm-prompt): Use completing-read-default instead of
17271         completing-read.  (Bug#27193)
17273 2017-06-02  Mats Lidell  <mats.lidell@cag.se>
17275         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL (Bug#20371)
17277 2017-06-02  Glenn Morris  <rgm@gnu.org>
17279         Fix with-todo-test
17281         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
17282         HOME should be a directory, not a file.  Delete it when finished.
17284 2017-06-02  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
17286         Update TUTORIAL.it
17288         * etc/tutorials/TUTORIAL.it: Adjust to recent changes in TUTORIAL.
17290 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
17292         Fix cursor position in Dired buffers after dired-sort-toggle
17294         * src/xdisp.c (display_and_set_cursor): Record cursor coordinates
17295         even if the frame is marked as garbaged.  (Bug#27187)
17297 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
17299         Update TUTORIAL.he
17301         * etc/tutorials/TUTORIAL.he: Adjust to recent changes in TUTORIAL.
17303 2017-06-02  Noam Postavsky  <npostavs@gmail.com>
17305         * etc/tutorials/TUTORIAL: Explain how to stop the tutorial (Bug#20371).
17307 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
17309         Limit format fields to more POSIX-like spec
17311         * doc/lispref/strings.texi (Formatting Strings):
17312         Don’t allow mixing numbered with unnumbered format specs.
17313         * src/editfns.c (styled_format): Don’t bother checking for field 0,
17314         since it doesn’t crash and the behavior is not specified.
17315         * test/src/editfns-tests.el (format-with-field): Adjust tests to
17316         match current doc.  Add more tests for out-of-range fields.
17318 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
17320         Improve performance by avoiding strtoumax
17322         This made (string-to-number "10") 20% faster on my old desktop,
17323         an AMD Phenom II X4 910e running Fedora 25 x86-64.
17324         * admin/merge-gnulib (GNULIB_MODULES): Remove strtoumax.
17325         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
17326         * lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, m4/strtoull.m4:
17327         * m4/strtoumax.m4: Remove.
17328         * src/editfns.c (str2num): New function.
17329         (styled_format): Use it instead of strtoumax.  Use ptrdiff_t
17330         instead of uintmax_t.  Check for integer overflow.
17331         * src/lread.c (LEAD_INT, DOT_CHAR, TRAIL_INT, E_EXP):
17332         Move to private scope and make them enums.
17333         (string_to_number): Compute integer value directly during
17334         first pass instead of revisiting it with strtoumax later.
17336 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
17338         Minor improvements to format field numbers
17340         * src/editfns.c (styled_format): Allow field numbers in a %% spec.
17341         No need for a special diagnostic for field numbers greater than
17342         PTRDIFF_MAX.  Reword diagnostic for field 0.
17343         * test/src/editfns-tests.el (format-with-field): Adjust to match.
17345 2017-06-02  Philipp Stephani  <phst@google.com>
17347         Implement field numbers in format strings
17349         A field number explicitly specifies the argument to be formatted.
17350         This is especially important for potential localization work, since
17351         grammars of various languages dictate different word orders.
17353         * src/editfns.c (Fformat): Update documentation.
17354         (styled_format): Implement field numbers.
17356         * doc/lispref/strings.texi (Formatting Strings): Document field numbers.
17358         * lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn): Adapt.
17360         * test/src/editfns-tests.el (format-with-field): New unit test.
17362 2017-06-01  Alexander Gramiak  <agrambot@gmail.com>
17364         Limit scope of local overriding-terminal-local-map
17366         The function `binding' may call isearch-done, which globally sets
17367         overriding-terminal-local-map to nil (Bug#23007).
17368         * lisp/isearch.el (isearch-mouse-2): Don't bind
17369         overriding-terminal-local-map around the call to `binding'.
17371 2017-06-01  Stephen Berman  <stephen.berman@gmx.net>
17373         Correct and isolate the todo-mode test environment
17375         This avoids having to set todo-mode variables globally in the test
17376         file and prevents any exisiting user todo-mode files from influencing
17377         the tests.
17379         * test/lisp/calendar/todo-mode-tests.el:
17380         (with-todo-test): New macro.
17381         (todo-test-todo-quit01, todo-test-todo-quit02)
17382         (todo-test-item-highlighting): Use it.
17384 2017-06-01  Alan Third  <alan@idiocy.org>
17386         Fix build errors on macOS 10.6 (bug#27059)
17388         * src/nsfns.m (compute_tip_xy): Don't use CGRectContainsPoint.
17390 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
17392         Improve testing of octal and hex display of raw bytes
17394         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
17395         (test-redisplay-5): Add a test with a large codepoint.
17397 2017-06-01  Vasilij Schneidermann  <mail@vasilij.de>
17399         Add customizable to display raw bytes as hex
17401         * src/xdisp.c (get_next_display_element): Dispatch used format string
17402         for unprintables based on new display-raw-bytes-as-hex variable.
17403         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
17405         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
17407         * doc/emacs/display.texi: Document the new variable.
17408         * etc/NEWS: Mention display-raw-bytes-as-hex.
17410         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
17411         (test-redisplay-5): New tests.
17412         (test-redisplay): Call test-redisplay-5.
17414 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
17416         Revert "Add customizable to display raw bytes as hex"
17418         This reverts commit 7c9ac111c5e5d92e620b666893993d5dc562e483.
17420 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
17422         Add customizable to display raw bytes as hex
17424         * src/xdisp.c (get_next_display_element): Dispatch used format string
17425         for unprintables based on new display-raw-bytes-as-hex variable.
17426         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
17428         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
17430         * doc/emacs/display.texi: Document the new variable.
17431         * etc/NEWS: Mention display-raw-bytes-as-hex.
17433         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
17434         (test-redisplay-5): New tests.
17435         (test-redisplay): Call test-redisplay-5.
17437 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
17439         Fix linum under text-scaling when leuven-theme is used
17441         * etc/themes/leuven-theme.el (linum): Make the 'linum' face
17442         inherit from 'default' and 'shadow', so that margins are enlarged
17443         as expected under text-scaling.
17445 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
17447         Free cwd when no longer needed
17449         * lib-src/emacsclient.c (main): Don’t dally when freeing cwd.
17451 2017-06-01  Anders Waldenborg  <anders@0x63.nu>  (tiny change)
17453         Fix memory leak of cwd string in emacsclient (Bug#26628)
17455         * lib-src/emacsclient.c (main): emacsclient retrieves the current
17456         working directory using get_current_dir_name which returns a newly
17457         allocated string.  Make sure this string is freed before exiting.
17459 2017-06-01  Glenn Morris  <rgm@gnu.org>
17461         Quieten compilation of some test files
17463         * test/lisp/dired-tests.el (dired-test-bug25609): Mark unused args.
17464         * test/src/data-tests.el (binding-test-set-constant-t)
17465         (binding-test-set-constant-nil, binding-test-set-constant-keyword)
17466         (binding-test-set-constant-nil): Silence compiler.
17467         * test/src/regex-tests.el (regex-tests-BOOST): Escape char literal.
17469 2017-06-01  Glenn Morris  <rgm@gnu.org>
17471         Use true names for invocation- and source-directory
17473         * src/emacs.c (init_cmdargs) <Vinvocation_directory>:
17474         * src/lread.c (init_lread) <Vsource_directory>: Use true names.
17476 2017-06-01  Glenn Morris  <rgm@gnu.org>
17478         Avoid elisp-mode test failures when source dir has multiple names
17480         * test/lisp/progmodes/elisp-mode-tests.el (emacs-test-dir):
17481         Use the true name of the directory.
17483 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
17485         Fix bug with "%%" in error format
17487         * src/doprnt.c (doprnt): Format "%%" correctly.
17488         Problem reported by Philipp Stephani in:
17489         https://lists.gnu.org/r/emacs-devel/2017-05/msg00901.html
17491 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
17493         * src/editfns.c (Fmessage): Improve doc string (Bug#23425#130).
17495 2017-06-01  Katsumi Yamaoka  <yamaoka@jpl.org>
17497         Revert mml-generate-mime-1 (bug#27141)
17499         * lisp/gnus/mml.el (mml-generate-mime-1): Reverted to emacs-25 version
17500         with slight modernizations (bug#27141).
17502 2017-05-31  Michael Albinus  <michael.albinus@gmx.de>
17504         Fix Bug#27108
17506         * lisp/recentf.el (recentf-load-list): Bind `non-essential',
17507         in order to avoid Tramp password requests during Emacs
17508         startup.  (Bug#27108)
17510 2017-05-31  Glenn Morris  <rgm@gnu.org>
17512         * test/Makefile.in (.SECONDARY): Stop make deleting .elc files.
17514 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
17516         Document current-line hscrolling in ELisp manual
17518         * doc/lispref/windows.texi (Horizontal Scrolling): Document the
17519         new mode of auto-hscrolling only the current line.
17521 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
17523         Support lower bound on hscrolling when only current line scrolls
17525         * doc/emacs/display.texi (Horizontal Scrolling): Document the new
17526         mode of auto-hscrolling only the current line.
17528         * src/xdisp.c (init_iterator): When hscrolling only the
17529         current line, apply the window's min_hscroll here, so that
17530         non-current lines will be hscrolled by that minimum.
17531         Suggested by Stephen Berman <stephen.berman@gmx.net>.
17532         (hscroll_window_tree): Account for window's min_hscroll when
17533         deciding whether to recompute the hscroll.
17534         (display_line): Subtract window's min_hscroll from x_incr, as that
17535         was already accounted for in init_iterator.  (Bug#27008)
17537 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
17539         cl-print: handle circular objects when `print-circle' is nil (Bug#27117)
17541         * lisp/emacs-lisp/cl-print.el (cl-print--currently-printing): New variable.
17542         (cl-print-object): When `print-circle' is nil, bind it to a list of
17543         objects that are currently printing to avoid printing the same object
17544         endlessly.
17545         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle): New test.
17547 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
17549         Further simplify test/Makefile, optionally load elc tests
17551         * test/Makefile.in: Use make's error ignoring feature instead of
17552         suppressing test errors with shell.  Compile test files in the main
17553         make invocation instead of a recursive 'make' call.  Optionally load
17554         .elc test files if TEST_LOAD_EL is set to something other than 'yes'.
17555         Remove obsolete commentary.
17557 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
17559         Avoid inflooping in redisplay due to Spacemacs and linum-mode
17561         * src/xdisp.c (redisplay_internal): Limit the number of redisplay
17562         retries when a frame becomes garbaged as result of redisplaying
17563         it.  (Bug#27115)
17565 2017-05-31  Tino Calancha  <tino.calancha@gmail.com>
17567         * src/editfns.c (decode-time): Fix docstring.
17569 2017-05-31  Glenn Morris  <rgm@gnu.org>
17571         * admin/update_autogen: Remove bzr support.
17573 2017-05-31  Glenn Morris  <rgm@gnu.org>
17575         Avoid subr test failure when source dir has multiple names
17577         * test/lisp/subr-tests.el (subr-tests--this-file):
17578         Use the true name of the file.  The following test does a string
17579         comparison of this value with that from method-files, which uses
17580         load-history, which contains true names.
17582 2017-05-31  Dmitry Gutov  <dgutov@yandex.ru>
17584         Extract eldoc--supported-p
17586         * lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
17587         (turn-on-eldoc-mode, eldoc-mode): Use it.
17588         (https://lists.gnu.org/r/emacs-devel/2017-05/msg00865.html)
17590 2017-05-30  Glenn Morris  <rgm@gnu.org>
17592         Make "make check" less verbose by default
17594         * test/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_ELC, am__v_ELC_)
17595         (am__v_ELC_0, am__v_ELC_1, AM_V_GEN, am__v_GEN_, am__v_GEN_0)
17596         (am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
17597         New, copied from lisp/Makefile.in.
17598         (%.elc, %.log): Simplify and quieten.
17600 2017-05-30  Alan Mackenzie  <acm@muc.de>
17602         Mode line "%q" construct: Just use one number when both would be the same.
17604         * src/xdisp.c (decode_mode_spec): recode the "%q" bit appropriately.
17606 2017-05-30  Alan Mackenzie  <acm@muc.de>
17608         Merge branch 'master' of /home/acm/emacs/emacs.git/master
17610 2017-05-30  Alan Mackenzie  <acm@muc.de>
17612         c-defun-name: Return fully qualified method names when wanted in C++, etc.
17614         * lisp/progmodes/cc-cmds.el (c-defun-name): Use
17615         c-back-over-compound-identifier in place of c-backward-token-2 near the end
17616         of the function.
17618 2017-05-30  Glenn Morris  <rgm@gnu.org>
17620         Reduce scope of recent test/Makefile HOME change
17622         * test/Makefile.in (%.log): Move setting of HOME here from top-level.
17624 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17626         Skip .#* temporaries when finding sources
17628         Without this patch, ‘make check’ can fail with the diagnostic
17629         ‘invalid syntax in conditional’ if there is an Emacs temporary
17630         file whose name starts with ‘.#’, because the ‘#’ is treated as
17631         the start of a Make comment.
17632         * lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
17633         * test/Makefile.in (ELFILES):
17634         Skip files starting with ‘.’, so that the .#* files do not cause
17635         trouble.  (We cannot easily skip just files starting with ‘.#’,
17636         since ‘#’ starts a Make comment!)
17638 2017-05-30  Alan Mackenzie  <acm@muc.de>
17640         Merge branch 'master' of /home/acm/emacs/emacs.git/master
17642 2017-05-30  Alan Mackenzie  <acm@muc.de>
17644         Fix the mouse help/key map on the "%p" part of the mode line.
17646         * lisp/bindings.el (mode-line-percent-position): give it a
17647         `risky-local-variable' property.
17648         (mode-line-position): correct the quoting on the mode-line-percent-position
17649         part of the variable, allowing the properties to be properly recognized.
17651 2017-05-30  Alan Mackenzie  <acm@muc.de>
17653         Fix the mouse help/key map on the "%p" part of the mode line.
17655         * lisp/bindings.el (mode-line-percent-position): give it a
17656         `risky-local-variable' property.
17657         (mode-line-position): correct the quoting on the mode-line-percent-position
17658         part of the variable, allowing the properties to be properly recognized.
17660 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17662         Merge from gnulib
17664         * build-aux/config.guess: Copy from gnulib.
17665         * lib/gnulib.mk.in: Regenerate.
17667 2017-05-30  Glenn Morris  <rgm@gnu.org>
17669         Stop make check interacting with HOME
17671         * test/Makefile.in (HOME): Export a non-existent value.
17673 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17675         Update .gitattributes to match sources better
17677         * .gitattributes: Remove nt/nmake.defs.  Move dostorture.c, c.C,
17678         algrthms.html.  Use pattern for todo-mode.  Improve patterns for
17679         Ada, C, ObjC, shell.  Add Pascal.  Remove unused pattern *.ruby.
17680         Add config.guess and config.sub as shell files.
17682 2017-05-30  Noam Postavsky  <npostavs@gmail.com>
17684         Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to '--bg-daemon'
17686         * doc/emacs/cmdargs.texi (Initial Options):
17687         * doc/lispref/os.texi (Startup Summary):
17688         * etc/NEWS:
17689         * etc/emacs.service:
17690         * src/emacs.c (main):
17691         * src/lisp.h: Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to
17692         '--bg-daemon'.
17694 2017-05-30  Glenn Morris  <rgm@gnu.org>
17696         todo-mode: don't assume an ordering of tests
17698         * test/lisp/calendar/todo-mode-tests.el (todo-test-todo-quit02)
17699         (todo-test-item-highlighting): Avoid prompting for input file.
17701 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17703         Improve .gdbinit Lisp value pretty-printing
17705         * src/.gdbinit (to_string): Use an unsigned representation for
17706         Lisp values, as requested by Eli Zaretskii (Bug#27098).
17707         Also, use "make_number(N)" for Lisp integers.
17709 2017-05-30  Dmitry Gutov  <dgutov@yandex.ru>
17711         Turn global-eldoc-mode into a globalized minor mode
17713         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode):
17714         Turn into globalized mode (bug#19853).
17715         (turn-on-eldoc-mode): Make it into a wrapper instead of alias.
17716         (eldoc-mode): Only show the message when called interactively.
17718 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
17720         Use regexp matching instead of checking exit status
17722         * lisp/progmodes/xref.el (xref-collect-matches):
17723         See if the output buffer contents look like Grep output
17724         instead of checking exit status (bug#23451).
17726 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
17728         Add initial tests for todo-mode.el
17730         *test/lisp/calendar/todo-mode-tests.el:
17731         *test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
17732         *test/lisp/calendar/todo-mode-resources/todo-test-1.todo: New files.
17734         * .gitattributes: Ignore trailing whitespace in todo-mode test
17735         data files, since it is part of the todo-mode file format.
17737 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
17739         Make `todo-toggle-item-highlighting' work on multiline items (bug#27133)
17741         * lisp/calendar/todo-mode.el (todo-hl-line-range): New named function,
17742         replacing an anonymous function for the sake of `describe-variable'.
17743         (todo-modes-set-2): Use it as buffer-local value of hl-line-range-function
17744         and remove boundp test of this variable, so its value is available on
17745         invoking `todo-toggle-item-highlighting'.
17747 2017-05-29  Alan Third  <alan@idiocy.org>
17749         Fix build error on macOS 10.6
17751         * src/nsfns.m (compute_tip_xy): Cast NSRect to CGRect and NSPoint to
17752         CGPoint.
17754 2017-05-29  Jules Tamagnan  <jtamagnan@gmail.com>  (tiny change)
17756         Comply with pep 8 style guide for backslash in assignment (Bug#24809)
17758         * lisp/progmodes/python.el (python-indent--calculate-indentation):
17759         Increase indent by `python-indent-offset' after
17760         `:after-backslash-assignment-continuation'.
17762 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
17764         Add suggestion to docstring
17766         * lisp/subr.el (interactive-p): Mention commandp, as this is often
17767           what users are actually looking for.
17769 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
17771         Ensure button-get works in any buffer
17773         * lisp/button.el (button-get): Previously we assumed that button-get
17774           was called in the buffer containing the button.  In other buffers,
17775           button-get always returned nil.  Fix this by passing the relevant
17776           buffer from the marker.
17778 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
17780         Signal error if find-grep returns a nonzero status
17782         * lisp/progmodes/xref.el (xref-collect-matches): Signal error
17783         if find-grep returns a nonzero status (bug#23451).  Remove the
17784         comment: even if some output is present, a non-zero status
17785         means something went wrong and it can't be relied upon.
17787 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
17789         Make sure exiting todo-mode buffer buries it (bug#27121)
17791         This failed due to commit ea3ae33b from 2013-05-16, which prevented
17792         quitting todo-mode buffer after visiting todo-archive buffer from
17793         making the archive buffer current again.  Avoid this now by simply
17794         killing the archive buffer, since there's no need to keep it a live
17795         buffer.  Consequently, quitting a todo-mode buffer can now use
17796         bury-buffer without an argument, which ensures that is will not
17797         becomes current on quitting the buffer that replaced it in the window.
17799         * lisp/calendar/todo-mode.el (todo-quit): Kill todo-archive-mode
17800         buffer instead of burying it.  This now allows exiting the
17801         todo-mode buffer by bury-buffer without an argument, so do that.
17803 2017-05-28  Michael Albinus  <michael.albinus@gmx.de>
17805         Some tweaks, almost all for Tramp adb method
17807         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
17808         Use `make-tramp-file-name'.
17809         (tramp-adb-get-device): Use `tramp-file-name-port-or-default'.
17810         (tramp-adb-maybe-open-connection): Set "prompt" property.
17811         (tramp-adb-wait-for-output): Use it.
17813         * lisp/net/tramp-cache.el (tramp-cache-print): Use `elt'.
17814         (tramp-dump-connection-properties): Check also that there are
17815         properties to be saved.  Don't save "started" property of
17816         "ftp" method.
17818         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
17819         Use `make-tramp-file-name'.
17821         * lisp/net/tramp.el (tramp-remote-file-name-spec-regexp):
17822         Host could be empty.
17823         (tramp-file-name-port-or-default): New defun.
17824         (tramp-dissect-file-name): Simplify `make-tramp-file-name' call.
17825         (tramp-handle-file-name-case-insensitive-p): Use a progress reporter.
17826         (tramp-call-process, tramp-call-process-region):
17827         Use `make-tramp-file-name'.
17829         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
17830         Revert change from 2017-05-24.
17831         (tramp-test05-expand-file-name-relative): Let it also pass for
17832         "adb" method.
17834 2017-05-28  Jürgen Hötzel  <juergen@archlinux.org>
17836         Fix Tramp for Android 7
17838         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp):
17839         Username part of prompt is empty on Android 7.
17840         (tramp-adb-ls-toolbox-regexp):
17841         Ignore addition links column on Android 7.
17842         (tramp-adb-get-ls-command):
17843         Dont use --color=none when using toybox (Android 7).  It's not
17844         possible to disable coloring explicitly for toybox ls.
17846 2017-05-27  Svante Carl v. Erichsen  <Svante.v.Erichsen@web.de>  (tiny change)
17848         Fix cl-indent for `loop' with :keywords (Bug#15543)
17850         * lisp/emacs-lisp/cl-indent.el (lisp-extended-loop-p): Allow for
17851         ":keywords".
17853 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
17855         Depromiscuify inotify with IN_MASK_ADD
17857         Use IN_MASK_ADD instead of using a no-longer-promiscuous-enough
17858         mask.  This simplifies the code and restores the ability to
17859         use IN_ACCESS, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE, and IN_OPEN
17860         in some cases (Bug#26973).
17861         * src/inotify.c (INOTIFY_DEFAULT_MASK): Remove.
17862         (Finotify_add_watch): Use IN_MASK_ADD instead.
17864 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
17866         Restore inotify onlydir support
17868         There was no need to remove it in the 2017-03-26 inotify change,
17869         as it is like IN_DONT_FOLLOW and does not affect other watchers
17870         for the same file.
17871         * src/inotify.c (symbol_to_inotifymask, Finotify_add_watch)
17872         (syms_of_inotify): Bring back onlydir.
17874 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
17876         Simplify computation of inotify mask
17878         * src/inotify.c (add_watch): Accept uint32_t imask instead
17879         of Lisp_Object aspect.  Caller changed.
17880         (Finotify_add_watch): Use aspect_to_inotifymask earlier, to
17881         simplify the code.
17883 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
17885         Improve the documentation of filesets
17887         * doc/emacs/files.texi (Filesets): Fix the description of
17888         fileset-init's effect on the menu bar.  (Bug#27015)
17890 2017-05-27  Philipp Stephani  <phst@google.com>
17892         Don't attempt to recover from undefined behavior in some cases
17894         These functions can only be run in batch mode and exit Emacs on
17895         return, so nothing can be recovered.  Disable unsafe recover
17896         mechanisms so that we get real failures and good stack traces on
17897         fatal signals.
17899         * lisp/emacs-lisp/bytecomp.el (batch-byte-compile)
17900         (batch-byte-recompile-directory):
17901         * lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit)
17902         (ert-summarize-tests-batch-and-exit): Don't attempt to recover
17903         from undefined behavior.
17905 2017-05-27  Philipp Stephani  <phst@google.com>
17907         Avoid another compiler warning on macOS
17909         When configured with --without-ns, HAVE_NS is not defined on macOS,
17910         thus 'memory-limit' calls the deprecated sbrk(2) function.  Avoid that
17911         by using the pre-defined __APPLE__ preprocessor macro.
17913         * src/alloc.c (Fmemory_limit): Never use sbrk(2) on macOS.
17915 2017-05-27  Luke Yen-Xun Lee  <luke.yx.lee@gmail.com>
17917         Fix ruler-mode text-scaling issues
17919         * lisp/ruler-mode.el (ruler-mode-text-scaled-width): New function
17920         for computing scaled text width.
17921         (ruler-mode-text-scaled-window-hscroll)
17922         (ruler-mode-text-scaled-window-width): Compute text scaled
17923         `window-width' value.
17924         (ruler-mode-mouse-grab-any-column, ruler-mode-mouse-add-tab-stop)
17925         (ruler-mode-ruler): Change `window-hscroll' into
17926         `ruler-mode-text-scaled-window-hscroll', and change `window-width'
17927         into `ruler-mode-text-scaled-window-width'.
17929 2017-05-27  Martin Rudalics  <rudalics@gmx.at>
17931         Minor doc and doc-string fixes (Bug#27091)
17933         * src/window.c (Fset_window_scroll_bars): Fix doc-string.
17935         * doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
17936         (Display Margins): Mention that `set-window-buffer' may override
17937         settings made by `set-window-fringes', `set-window-scroll-bars'
17938         and `set-window-margins'.
17939         * doc/lispref/windows.texi (Buffers and Windows): Fix doc of
17940         `set-window-buffer'.
17942 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
17944         Avoid args-out-of-range errors on fringe clicks after "C-h k"
17946         * src/keyboard.c (echo_truncate): Don't call Ftruncate if the echo
17947         message is already shorter than NCHARS.  (Bug#27040)
17949 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
17951         Fix GUD "Stop" display when running pdb
17953         * lisp/progmodes/gud.el (gud-menu-map): Don't call gdb-show-stop-p
17954         when GUD mode is 'pdb'.  (Bug#27024)
17956 2017-05-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
17958         Support drag and drop of region by mouse (Bug#26725)
17960         * doc/emacs/frames.texi (Drag and Drop): Document support of drag
17961         and drop region by mouse.
17962         * lisp/mouse.el (mouse-drag-region): Call mouse-drag-and-drop-region
17963         when start-event is on region.
17964         (mouse-drag-and-drop-region): New function, moves the region by
17965         (mouse-drag-and-drop-region): New defcustom.
17966         * etc/NEWS: Mention mouse-drag-and-drop-region.
17968 2017-05-27  Noam Postavsky  <npostavs@gmail.com>
17970         * lisp/emacs-lisp/eieio.el (defclass): Fix quote in warning message.
17972 2017-05-27  Alan Third  <alan@idiocy.org>
17974         Check if instancetype supported in ObjC
17976         * configure.ac: Add check for instancetype.
17977         * src/nsterm.h [!NATIVE_OBJC_INSTANCETYPE]: Define instancetype.
17979 2017-05-26  Wilfred Hughes  <me@wilfred.me.uk>
17981         Mark keywordp as a safe, error-free function
17983         * lisp/emacs-lisp/byte-opt.el: Add keywordp to
17984           side-effect-and-error-free-fns.
17986 2017-05-26  Paul Eggert  <eggert@cs.ucla.edu>
17988         * src/inotify.c: Add FIXME comments.
17990 2017-05-26  Andreas Politz  <politza@hochschule-trier.de>
17992         Fix Bug#26973
17994         * src/inotify.c (INOTIFY_DEFAULT_MASK): Removing ACCESS, OPEN
17995         and CLOSE events on order do let other processes also reading
17996         from their descriptors.  (Bug#26973).
17998 2017-05-26  Michael Albinus  <michael.albinus@gmx.de>
18000         Remove Emacs 23 compat code from Tramp
18002         * doc/misc/tramp.texi (Remote processes): Don't mention
18003         Emacs 24 explicitly.
18004         (Frequently Asked Questions): Remove Emacs 23 from
18005         compatibility list.
18007         * lisp/net/tramp.el:
18008         * lisp/net/tramp-adb.el:
18009         * lisp/net/tramp-cache.el:
18010         * lisp/net/tramp-gvfs.el:
18011         * lisp/net/tramp-sh.el:
18012         * lisp/net/tramp-smb.el: Replace compat function calls.
18014         * lisp/net/tramp-compat.el (remote-file-name-inhibit-cache)
18015         (tramp-compat-condition-case-unless-debug)
18016         (tramp-compat-copy-file, tramp-compat-copy-directory)
18017         (tramp-compat-delete-file, tramp-compat-delete-directory)
18018         (tramp-compat-process-live-p): Remove them.
18020         * lisp/net/trampver.el: Make version check fit for Emacs 24.
18022 2017-05-26  Katsumi Yamaoka  <yamaoka@jpl.org>
18024         Work for application/x-tar-gz and image/svg+xml
18026         ;; Try inlining the attachment in the article <87wp94dzj6.fsf@gmail.com>
18027         ;; of bug#27078 in the Emacs bug list using Gnus.
18029         * lisp/gnus/mm-archive.el (mm-archive-decoders):
18030         Add a decoder for application/x-tar-gz.
18031         (mm-dissect-archive): Error out if a decoder is not found.
18033         * lisp/gnus/mm-decode.el (mm-get-image): Allow image/svg+xml.
18035 2017-05-26  Tino Calancha  <tino.calancha@gmail.com>
18037         test-calc-23889: Skip test on 32-bit platforms
18039         This test fails on some 32-bit platforms as mentioned in
18040         https://lists.gnu.org/r/emacs-devel/2017-05/msg00737.html
18041         * test/lisp/calc/calc-tests.el (test-calc-23889): Skip when
18042         the Lisp integer is not big enough.
18044 2017-05-25  Alan Third  <alan@idiocy.org>
18046         Fix NS tooltips showing in the wrong place (bug#27053)
18048         * src/nsfns.m (compute_tip_xy): Get current mouse position instead of
18049         last recorded position.
18051 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
18053         lisp/net/soap-client.el: Bump version to 3.1.2
18055         * lisp/net/soap-client.el: Bump version to 3.1.2.
18057 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
18059         Fix soap-inspect.el doc strings
18061         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute): Fix doc
18062         string.
18063         (soap-inspect-xs-attribute-group): Likewise.
18065 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
18067         Fix two soap-client.el byte compilation warnings
18069         * lisp/net/soap-client.el (url-http-response-status): Add defvar.
18070         (soap-fetch-xml-from-url): Remove special declaration of
18071         url-http-response-status.
18072         (soap-invoke-internal): Likewise.
18074 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
18076         lisp/net/soap-client.el: Require cl-lib version 0.6.1
18078         * lisp/net/soap-client.el: Require cl-lib version 0.6.1.
18080 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
18081             Stefan Monnier  <monnier@iro.umontreal.ca>
18083         lisp/net/soap-client.el: Shorten some long lines
18085         * lisp/net/soap-client.el (soap-encode-xs-element): Remove
18086         unnecessary progn.
18087         (soap-xs-add-union): Wrap long line.
18089 2017-05-25  Alex Harsanyi  <AlexHarsanyi@gmail.com>
18090             Stefan Monnier  <monnier@iro.umontreal.ca>
18092         Remove cl dependency in soap-client.el and soap-inspect.el
18094         * lisp/net/soap-inspect.el: Replace cl library with cl-lib, case
18095         with cl-case, destructuring-bind with cl-destructuring-bind and
18096         loop with cl-loop.
18098         * lisp/net/soap-client.el: Replace cl library with cl-lib,
18099         defstruct with cl-defstruct, assert with cl-assert, case with
18100         cl-case, ecase with cl-ecase, loop with cl-loop and
18101         destructuring-bind with cl-destructuring-bind.
18103 2017-05-25  Michael Albinus  <michael.albinus@gmx.de>
18105         Switch Tramp to cl-lib
18107         * lisp/net/tramp-compat.el (cl-lib): Require it rather than cl.
18109         * lisp/net/tramp-ftp.el: Don't require cl.
18111         * lisp/net/tramp-gvfs.el: Don't require cl.
18112         (tramp-gvfs-handler-mounted-unmounted)
18113         (tramp-gvfs-connection-mounted-p): Use `cl-*' macros.
18115         * lisp/net/tramp-sh.el: Don't require cl.
18116         (tramp-set-file-uid-gid): Use `shell-quote-argument'.
18117         (tramp-sh-gvfs-monitor-dir-process-filter)
18118         (tramp-sh-inotifywait-process-filter): Use `cl-*' macros.
18120         * lisp/net/tramp-smb.el: Don't require cl.
18121         (tramp-smb-read-file-entry): Use `cl-*' macros.
18123         * lisp/net/tramp.el (cl-lib): Require it rather than cl.
18124         (tramp-parse-file, tramp-parse-shostkeys-sknownhosts)
18125         (tramp-parse-passwd, tramp-parse-etc-group)
18126         (tramp-parse-putty): Use `cl-*' macros.
18128 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
18130         * CONTRIBUTE: Suggest autogen.sh's 'all' operand.
18132 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
18134         Port ATTRIBUTE_MAY_ALIAS to recent icc
18136         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS) [__ICC]:
18137         Define to empty.  Otherwise, icc (ICC) 17.0.4 20170411 says
18138         “warning #2621: attribute "__may_alias__" does not apply here”
18139         for constructs like ‘struct sockaddr *sa = (whatever);
18140         struct sockaddr_in __attribute__ ((__may_alias__)) *sin
18141         = (struct sockaddr_in *) sa;’.
18143 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
18145         Merge from gnulib
18147         This incorporates:
18148         2017-05-25 port to recent icc
18149         * lib/intprops.h: Copy from gnulib.
18151 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
18153         Fix Tramp for python.el
18155         * lisp/net/tramp.el (tramp-get-connection-process): Check,
18156         that VEC is a `tramp-file-name' structure.
18158 2017-05-24  Alan Third  <alan@idiocy.org>
18160         Raise version of macOS we define instancetype for (bug#27059)
18162         * src/nsterm.m: Increase supported version number.
18164 2017-05-24  Alan Third  <alan@idiocy.org>
18166         Define new types on macOS 10.6 (bug#27041)
18168         * src/nsterm.h: Enable instancetype typedef for older macOS, and use
18169         correct NSUInteger instead of int.
18171 2017-05-24  Glenn Morris  <rgm@gnu.org>
18173         Don't autoload new dns-mode command
18175         * lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
18176         Remove autoload cookie.
18178 2017-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
18180         * src/fns.c (sxhash): Fix records hashing (bug#27057, bug#26639)
18182         (sxhash_vector): Make it work on pseudo vectors as well.
18183         (sxhash): Treat records like vectors.
18185 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
18187         Adapt tramp-tests.el according to new defstruct
18189         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
18190         Fix test according to new defstruct.
18191         (tramp-test29-environment-variables-and-port-numbers):
18192         Expect it now as passed.  Cleanup at the end.
18194 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
18196         Introduce a defstruct `tramp-file-name' as central data structure.
18198         This solves also Bug#27009.
18200         * lisp/net/tramp.el (tramp-current-domain)
18201         (tramp-current-port): New defvars.
18202         (tramp-file-name): New defstruct.
18203         (tramp-file-name-user-domain, tramp-file-name-host-port)
18204         (tramp-file-name-equal-p): New defuns.
18205         (tramp-file-name-p, tramp-file-name-method)
18206         (tramp-file-name-user, tramp-file-name-host)
18207         (tramp-file-name-localname, tramp-file-name-hop)
18208         (tramp-file-name-real-user, tramp-file-name-domain)
18209         (tramp-file-name-real-host, tramp-file-name-port):
18210         Remove defuns.  They are provided by the defstruct, or not
18211         needed anymore.
18212         (tramp-dissect-file-name, tramp-buffer-name)
18213         (tramp-make-tramp-file-name, tramp-get-buffer)
18214         (tramp-set-connection-local-variables)
18215         (tramp-debug-buffer-name, tramp-message)
18216         (tramp-error-with-buffer, with-parsed-tramp-file-name)
18217         (tramp-completion-dissect-file-name1)
18218         (tramp-handle-file-name-as-directory)
18219         (tramp-handle-file-name-directory)
18220         (tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
18221         (tramp-handle-find-backup-file-name)
18222         (tramp-handle-insert-file-contents, tramp-process-actions)
18223         (tramp-check-cached-permissions, tramp-local-host-p)
18224         (tramp-get-remote-tmpdir, tramp-call-process)
18225         (tramp-call-process-region, tramp-read-passwd)
18226         (tramp-clear-passwd):
18227         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
18228         (tramp-adb-handle-expand-file-name)
18229         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
18230         (tramp-adb-handle-process-file)
18231         (tramp-adb-maybe-open-connection):
18232         * lisp/net/tramp-cache.el (tramp-get-hash-table)
18233         (tramp-get-file-property, tramp-set-file-property)
18234         (tramp-flush-file-property, tramp-flush-directory-property)
18235         (tramp-get-connection-property)
18236         (tramp-set-connection-property, tramp-connection-property-p)
18237         (tramp-flush-connection-property, tramp-cache-print)
18238         (tramp-list-connections, tramp-dump-connection-properties)
18239         (tramp-parse-connection-properties):
18240         * lisp/net/tramp-cmds.el (tramp-cleanup-connection):
18241         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
18242         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
18243         (tramp-gvfs-url-file-name, tramp-gvfs-handler-askpassword)
18244         (tramp-gvfs-handler-mounted-unmounted)
18245         (tramp-gvfs-mount-spec, tramp-gvfs-get-remote-uid)
18246         (tramp-gvfs-get-remote-gid)
18247         (tramp-gvfs-maybe-open-connection):
18248         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
18249         (tramp-do-copy-or-rename-file-out-of-band)
18250         (tramp-sh-handle-expand-file-name)
18251         (tramp-sh-handle-start-file-process)
18252         (tramp-sh-handle-process-file, tramp-compute-multi-hops)
18253         (tramp-maybe-open-connection)
18254         (tramp-make-copy-program-file-name, tramp-get-remote-path)
18255         (tramp-get-inline-coding):
18256         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
18257         (tramp-smb-handle-expand-file-name)
18258         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
18259         (tramp-smb-handle-set-file-acl)
18260         (tramp-smb-maybe-open-connection): Adapt according to defstruct.
18262 2017-05-24  Stephen Berman  <steve@rosalinde.fritz.box>
18264         Fix and improve UI of scroll bar menu (bug#27047)
18266         In addition, since the Emacs manual writes "scroll bar", "tool
18267         bar" and "menu bar", use this convention in the Show/Hide menues
18268         and tooltips as well.
18270         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Make
18271         pressing a radio button in the menu actually show that it was
18272         pressed.  Replace the two radio buttons to turn the horizontal
18273         scroll bar on and off with a single check-box toggle and add a
18274         separator between this and the vertical scroll bar radio
18275         buttons.  Use conventional spelling.
18276         (menu-bar-horizontal-scroll-bar)
18277         (menu-bar-no-horizontal-scroll-bar): Remove, since now unused.
18278         (menu-bar-showhide-tool-bar-menu, menu-bar-showhide-menu)
18279         (menu-bar-mode): Use conventional spelling.
18281 2017-05-24  Katsumi Yamaoka  <yamaoka@jpl.org>
18283         Remove string-as-unibyte
18285         * lisp/gnus/canlock.el (canlock-sha1): Remove useless variable.
18286         (canlock-make-cancel-key): No need to use string-as-unibyte.
18288 2017-05-24  Tino Calancha  <tino.calancha@gmail.com>
18290         Fix concatenation of "^" with diff-file-junk-re
18292         This regexp contains "\\|", thus a concatenation
18293         of "^" with it just matches the beginning of line for the
18294         first alternative in diff-file-junk-re.
18295         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Concat "^" with
18296         diff-file-junk-re wrapped in a shy group.
18298 2017-05-24  Glenn Morris  <rgm@gnu.org>
18300         Suppress intermittent test failure on hydra
18302         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
18303         (eieio-test-37-obsolete-name-in-constructor): Skip on hydra.
18305 2017-05-24  Peder O. Klingenberg  <peder@klingenberg.no>
18307         New dns-mode command for IPv6 address conversion
18309         This converts IPv6 addresses to a format suitable for
18310         reverse lookup zone files.  (Bug#26820)
18311         * lisp/textmodes/dns-mode.el (dns-mode-map, dns-mode-menu):
18312         Add dns-mode-ipv6-to-nibbles.
18313         (dns-mode-ipv6-to-nibbles, dns-mode-reverse-and-expand-ipv6):
18314         New functions.
18315         * test/lisp/dns-mode-tests.el: New file.
18317 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
18319         Protect *Backtrace* from being killed (Bug#26650)
18321         * lisp/emacs-lisp/debug.el (debugger-mode): Call `top-level' in
18322         `kill-buffer-hook'.
18324 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
18326         Give a name to lisp-mode's adaptive-fill-function (Bug#22730)
18328         * lisp/emacs-lisp/lisp-mode.el (lisp-adaptive-fill): New function.
18329         (lisp-mode-variables): Use it.
18331 2017-05-23  Philipp Stephani  <phst@google.com>
18333         vc-hg.el: Silence byte compiler warning
18335         * lisp/vc/vc-hg.el (compilation-arguments): Forward-declare.
18337 2017-05-23  Paul Eggert  <eggert@cs.ucla.edu>
18339         Don't warn about missing brances on macOS
18341         On macOS, removing -Wmissing-braces is not enough; the warning has to
18342         be disabled explicitly.
18344 2017-05-23  Wilfred Hughes  <me@wilfred.me.uk>
18346         Don't treat ' as a string delimiter in RPM spec files
18348         ' is commonly used as an apostrophe in the prose sections of spec
18349         files, which was erroneously highlighted as strings. See for example
18350         http://kmymoney2.sourceforge.net/phb/rpm-example.html
18352         * lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
18353           punctuation in RPM spec files.
18355 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
18357         * lisp/emacs-lisp/cl-indent.el: Don't require CL.  Use lexical-binding.
18359         (common-lisp-indent-function-1): Remove unused var `last-point`.
18360         (lisp-indent-error-function): Move defvar before first use.
18362 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
18364         * lisp/international/rfc1843.el: Don't require CL.  Use lexical-binding.
18366         * lisp/international/utf7.el: Don't require CL.  Use lexical-binding.
18368         * lisp/net/shr.el: Use cl-lib instead of cl.
18370 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
18372         * test/src/fns-tests.el, test/src/data-tests.el: Don't use `cl`
18374         * test/src/data-tests.el (binding-test-manual, binding-test-setq-default)
18375         (binding-test-makunbound, data-tests-varalias-watchers)
18376         (data-tests-local-variable-watchers): Silence compiler warnings.
18378 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
18380         * lisp/vc/vc-hg.el (compilation-directory): Silence byte-compiler.
18382 2017-05-23  Alan Third  <alan@idiocy.org>
18384         Fix GNUstep build
18386         * src/nsterm.h [NS_IMPL_GNUSTEP]: Add typedefs for Cocoa-only types.
18387         (NSWindowStyleMaskUtilityWindow): #define to NSUtilityWindowMask in
18388         GNUstep and old versions of macOS.
18389         * src/nsfns.m (ns-set-mouse-absolute-pixel-position): Function only
18390         works in cocoa, not GNUstep.
18392 2017-05-23  Michael Albinus  <michael.albinus@gmx.de>
18394         Add test for Bug#27009 in tramp-tests.el
18396         * lisp/net/tramp-sh.el (tramp-compute-multi-hops):
18397         Check `tramp-file-name-real-host' for being a local host.
18399         * lisp/net/tramp.el (tramp-postfix-host-regexp): Fix docstring.
18401         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
18402         Declare default host for mock method.
18403         (tramp-test29-environment-variables-and-port-numbers): New test.
18405 2017-05-23  Glenn Morris  <rgm@gnu.org>
18407         Don't advertise s_client in tls.el docs
18409         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
18410         Don't mention s_client in docs.
18412         (cherry picked from commit 622c24a2b75a564b9861fc3ca7a7878741e8568d)
18414 2017-05-23  Rob Browning  <rlb@defaultvalue.org>
18416         Remove s_client usage from tls.el
18418         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
18419         Ref http://bugs.debian.org/766397
18420         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
18423         (cherry picked from commit 6e45de6bacc508db11b15b2c8ba86aad8c0570df)
18425 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
18427         * lisp/mail/rfc2047.el (rfc2047-decode-encoded-words): Set `words` to nil.
18429 2017-05-22  Sam Steingold  <sds@gnu.org>
18431         Fix "g" in hg&git push&pull buffers
18433         lisp/vc/vc-git.el (vc-git--pushpull): Set locally
18434         `compilation-directory' and `compilation-arguments'.
18435         lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.
18437 2017-05-22  Eli Zaretskii  <eliz@gnu.org>
18439         Fix current-line hscrolling in buffers with header-line
18441         * src/xdisp.c (display_line): When testing the glyph row's
18442         vertical position against the cursor position, account for header
18443         line, if any.  (Bug#27014)
18445 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
18447         * lisp/mail/rfc2047.el: Use cl-lib & lexical-binding, silence warning
18449         (rfc2047-decode-encoded-words): Use dolist.
18450         (rfc2047-decode-string): Avoid string-to-multibyte.
18451         (rfc2047-pad-base64): Use pcase.
18453 2017-05-21  Dima Kogan  <dima@secretsauce.net>
18455         Make ff-find-other-file symmetric for C++ (Bug#20192)
18457         `cc-other-file-alist' has a mapping of file extensions to switch
18458         between headers and sources, but the mappings weren't completely
18459         symmetric.  In particular .cpp would map to .hh, but .hh would NOT map
18460         to .cpp.
18462         * lisp/find-file.el (cc-other-file-alist): Map ".hh" and ".h" to all
18463         C++ extensions to make them symmetric with the C++ extensions that map
18464         to them.  This lets repeated invocations of `ff-find-other-file'
18465         toggle between all pairs of sources/headers.
18467 2017-05-21  Philipp Stephani  <phst@google.com>
18469         Fix definition of whitespace in JSON
18471         See
18472         https://lists.gnu.org/r/emacs-devel/2017-05/msg00115.html.
18474         * lisp/json.el (json-skip-whitespace): Fix definition.
18475         * test/lisp/json-tests.el (test-json-skip-whitespace): Adapt unit
18476         test.
18478 2017-05-21  Philipp Stephani  <phst@google.com>
18480         Improve module function terminology
18482         Module functions were previously called "function environments" when
18483         the functions created by module_make_functions were lambdas.  Now we
18484         can adapt the terminology and rename "function environments" to
18485         "module functions" everywhere.  This also removes the name clash
18486         between "function environments" and "module environments."
18488         * src/emacs-module.c (module_make_function): Adapt comment to reality;
18489         stop using "function environment" terminology.
18490         (funcall_module): Stop using "function environment" terminology.
18492 2017-05-21  Philipp Stephani  <phst@google.com>
18494         Avoid uninitialized read
18496         * src/nsterm.m (ns_read_socket): Don't read uninitialized variable 'nevents'.
18498 2017-05-21  Philipp Stephani  <phst@google.com>
18500         Fix call of registerServicesMenuSendTypes
18502         * src/nsterm.m (initFrameFromEmacs:): nil is not allowed for
18503         returnTypes; pass an empty array instead.
18505 2017-05-21  Philipp Stephani  <phst@google.com>
18507         Clean up code around 'ns-list-services'
18509         * src/nsfns.m (Fns_list_services): Remove unreachable code.  In this
18510         branch NS_IMPL_COCOA cannot be defined.
18511         (interpret_services_menu): Define only if called to avoid compiler
18512         warnings about unused static functions.
18514 2017-05-21  Philipp Stephani  <phst@google.com>
18516         Remove unused automatic variables
18518         * src/nsterm.m (ns_read_socket):
18519         * src/macfont.m (macfont_open): Remove unused automatic variables.
18521 2017-05-21  Philipp Stephani  <phst@google.com>
18523         Nextstep: Replace deprecated enumerators
18525         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:): Replace
18526         deprecated enumerator.
18528 2017-05-21  Philipp Stephani  <phst@google.com>
18530         Nextstep: remove some deprecated method calls
18532         * src/nsterm.m (mouseDown:):
18533         * src/nsmenu.m (runMenuAt:forFrame:keymaps:): Remove call to
18534         deprecated method.  The return value is always nil.
18535         * src/macfont.m (mac_font_shape_1): Replace call to deprecated method.
18537 2017-05-21  Philipp Stephani  <phst@google.com>
18539         Remove trailing semicolons in method definitions
18541         These semicolons are ignored and cause compiler warnings.
18543         * src/nsimage.m (setPixelAtX:Y:toRed:green:blue:alpha:):
18544         * src/nsterm.m (init, updateFrameSize:):
18545         (setFrame:): Remove trailing semicolon.
18547 2017-05-21  Philipp Stephani  <phst@google.com>
18549         Remove calls to deprecated setUsesScreenFonts
18551         * src/macfont.m (mac_screen_font_get_metrics): Don't call setUsesScreenFonts.
18552         (mac_font_shape_1): Remove screen_font_p parameter.
18553         (mac_screen_font_shape): Remove screen_font_p argument.
18555 2017-05-21  Philipp Stephani  <phst@google.com>
18557         Make a function static that isn't used outside this file
18559         * src/kqueue.c (kqueue_directory_listing): Make static.
18561 2017-05-21  Philipp Stephani  <phst@google.com>
18563         Use NSCharacterCollection instead of CTCharacterCollection
18565         This should not cause behavior changes, but fixes a compiler warning
18566         due to implicit conversions between the enums.
18568         * src/macfont.m (macfont_cache, macfont_lookup_cache)
18569         (macfont_get_glyph_for_cid, macfont_get_uvs_table)
18570         (macfont_variation_glyphs): Use NSCharacterCollection.
18572 2017-05-21  Philipp Stephani  <phst@google.com>
18574         Remove unused function print_regions
18576 2017-05-21  Philipp Stephani  <phst@google.com>
18578         Declare Nextstep unexec functions in lisp.h
18580         This removes compiler warnings about missing prototypes on macOS.
18582 2017-05-21  Philipp Stephani  <phst@google.com>
18584         Nextstep: Use instancetype explicit return type
18586         This removes compiler warnings on macOS and improves type safety.
18588         * src/nsterm.m (initFrameFromEmacs:):
18589         (menuDown:):
18590         (toolbarClicked:):
18591         (toggleToolbar:):
18592         (setMiniwindowImage:):
18593         (initFrame:window:):
18594         (condemn, reprieve, setPosition:portion:whole:):
18595         (repeatScroll:):
18596         * src/nsmenu.m (initWithTitle:):
18597         (initWithTitle:frame:):
18598         (initForView:withIdentifier:):
18599         (init, initWithContentRect:styleMask:backing:defer:):
18600         (initFromContents:isQuestion:):
18601         * src/nsimage.m (allocInitFromFile:):
18602         (initFromXBM:width:height:fg:bg:):
18603         (setXBMColor:):
18604         (initForXPMWithDepth:width:height:): Use instancetype as return
18605         type instead of implicit id.
18607 2017-05-21  Tino Calancha  <tino.calancha@gmail.com>
18609         * lisp/emacs-lisp/package.el (package-delete): Delete readme file as well.
18611 2017-05-21  Alan Mackenzie  <acm@muc.de>
18613         Enhance mode-line percentage offset facility, with "%o" and "%q"
18615         "%o" will display the percentage "travel" of the window through the buffer.
18616         "%q" will display a combination of the percentage offsets of the top and
18617         bottom of the window.  The new user option mode-line-percent-position will
18618         facilitate selecting a setting for this part of the mode line.
18620         * lisp/bindings.el (mode-line-percent-position): New customizable user option.
18621         (mode-line-position): Use mode-line-percent-position in place of "%p", etc.
18623         * src/xdisp.c (decode_mode_spec): Add handlers for "%o" and "%q".
18625         * doc/lispref/modes.texi (Mode Line Variables): Document
18626         mode-line-percent-position.
18627         (%-Constructs): Document %o and %q.
18629         * etc/NEWS: Add an entry for these new facilities.
18631 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
18633         Work around macOS bug in create_process, too
18635         * src/process.c (create_process) [DARWIN_OS]:
18636         Reset SIGCHLD after vfork here, too.
18638 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
18640         Work around macOS bug with vforked child
18642         * src/callproc.c (call_process) [DARWIN_OS]:
18643         Include workaround for apparent macOS bug.
18645 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
18647         Pacify --enable-gcc-warnings without modules
18649         * src/print.c (print_vectorlike): New function, taken from
18650         part of print_object.  This one is indented properly, and
18651         pacifies --enable-gcc-warnings by using a default case
18652         instead of listing all the enum values, sometimes
18653         incompletely.
18654         (print_object): Use it.
18656 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
18658         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code
18660         It does not appear to be needed (Bug#24441).
18661         * etc/PROBLEMS: Remove DARWIN_OS_CASE_SENSITIVE_FIXME stuff.
18662         * src/fileio.c (file_name_case_insensitive_p):
18663         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code.
18665 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
18667         Narrow DARWIN_OS_CASE_SENSITIVE_FIXME to 1 choice
18669         * etc/PROBLEMS: Document this (Bug#24441).
18670         * src/fileio.c (file_name_case_insensitive_p): Prefer pathconf
18671         with _PC_CASE_SENSITIVE, if it works, to
18672         DARWIN_OS_CASE_SENSITIVE_FIXME code.
18673         Support just one method for DARWIN_OS_CASE_SENSITIVE_FIXME,
18674         which matches the Apple documentation more precisely.
18676 2017-05-21  Tom Tromey  <tom@tromey.com>
18678         Fix mhtml-mode fontification bug
18680         Bug#26922
18681         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Call
18682         sgml-syntax-propertize-inside if not in a submode.
18683         * test/manual/indent/html-multi-4.html: New file.
18685 2017-05-21  Ryan  <rct@thompsonclan.org>  (tiny change)
18687         Fix ido-enable-dot-prefix for empty choice (Bug#26997)
18689         * lisp/ido.el (ido-set-matches-1): Only check first character of
18690         item if it's non-empty.
18692 2017-05-21  Ari Roponen  <ari.roponen@gmail.com>
18694         * lisp/svg.el (svg-line): Fix x/y typo.  (Bug#26953)
18696 2017-05-21  Glenn Morris  <rgm@gnu.org>
18698         Prevent loading vc-bzr writing to ~/.bzr.log
18700         * lisp/vc/vc-bzr.el (vc-bzr-status-switches): Disable bzr logging.
18702 2017-05-21  Glenn Morris  <rgm@gnu.org>
18704         Prevent running vc-tests writing to ~/.bzr.log
18706         * test/lisp/vc/vc-tests.el (vc-test--create-repo)
18707         (vc-test--register, vc-test--working-revision)
18708         (vc-test--checkout-model): Set temporary BZR_HOME, to disable logging.
18710 2017-05-21  Noam Postavsky  <npostavs@gmail.com>
18712         Don't end non-hook variable with "-hook" (Bug#26623)
18714         * lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
18715         follow-inside-post-command-hook, update uses.
18717 2017-05-21  Charles A. Roelli  <charles@aurox.ch>
18719         Fix macOS mouse movement
18721         * lisp/frame.el (ns-set-mouse-absolute-pixel-position): New
18722         function (Lisp).
18723         (set-mouse-absolute-pixel-position): Change it to call
18724         `ns-set-mouse-absolute-pixel-position' on macOS.
18725         * src/nsfns.m (Fns_set_mouse_absolute_pixel_position): New
18726         function.
18727         * src/nsterm.h (NS_PARENT_WINDOW_TOP_POS): Use the primary
18728         screen's height as a base for calculating global coordinates.
18729         * src/nsterm.m (frame_set_mouse_pixel_position): Fix it in macOS.
18730         * test/lisp/mouse-tests.el (bug26816-mouse-frame-movement): Test
18731         movement of mouse relative to frame.
18733 2017-05-21  Alan Third  <alan@idiocy.org>
18735         Show tooltip on correct screen (bug#26905)
18737         * src/nsfns.m (compute_tip_xy): Find the correct screen for the
18738         tooltip and constrain it to that screen.
18740 2017-05-21  Andreas Politz  <politza@hochschule-trier.de>
18742         Don't save unrelated buffers before recompiling directory (Bug#25964)
18744         * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Only save
18745         buffers visiting lisp files under the directory being compiled.
18747 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
18749         Minor fixes for arity ranges in emacs modules
18751         * src/emacs-module.c (module_make_function):
18752         Check that arities fit into fixnums, for func-arity’s benefit.
18753         (funcall_module): Avoid unnecessary conversion to EMACS_INT.
18754         (module_function_arity): Allow arities greater than SHRT_MAX.
18756 2017-05-20  Philipp Stephani  <phst@google.com>
18758         Reimplement module functions
18760         Instead of a lambda, create a new type containing all data required to
18761         call the function, and support it in the evaluator.  Because this type
18762         now also needs to store the function documentation, it is too big for
18763         Lisp_Misc; use a pseudovector instead.  That also has the nice benefit
18764         that we don't have to add special support to the garbage collector.
18766         Since the new type is user-visible, give it a predicate.
18768         Now we can easily support 'help-function-args' and 'func-arity'; add
18769         unit tests for these.
18771         * src/lisp.h (allocate_module_function, MODULE_FUNCTIONP)
18772         (XMODULE_FUNCTION): New pseudovector type 'module function'.
18774         * src/eval.c (FUNCTIONP): Also treat module functions as functions.
18775         (funcall_lambda, Ffuncall, eval_sub): Add support for calling module
18776         functions.
18777         (Ffunc_arity): Add support for detecting the arity of module
18778         functions.
18780         * src/emacs-module.c (module_make_function): Adapt to new structure.
18781         Return module function object directly instead of wrapping it in a
18782         lambda; remove FIXME.
18783         (funcall_module): New function to call module functions.  Replaces
18784         `internal--module-call' and is called directly from eval.c.
18785         (syms_of_module): Remove internal helper function, which is no longer
18786         needed.
18787         (module_function_arity): New helper function.
18789         * src/data.c (Ftype_of): Adapt to new implementation.
18790         (Fmodule_function_p, syms_of_data): New user-visible function.  Now
18791         that module functions are first-class objects, they deserve a
18792         predicate.  Define it even if not compiled with --enable-modules so
18793         that Lisp code doesn't have to check for the function's existence.
18795         * src/doc.c (Fdocumentation): Support module functions.
18797         * src/print.c (print_object): Adapt to new implementation.
18799         * src/alloc.c (mark_object): Specialized garbage collector support is
18800         no longer needed.
18802         * lisp/help.el (help-function-arglist): Support module functions.
18803         While there, simplify the arity calculation by using `func-arity',
18804         which does the right thing for all kinds of functions.
18806         * test/data/emacs-module/mod-test.c: Amend docstring so we can test
18807         the argument list.
18809         * test/src/emacs-module-tests.el (mod-test-sum-docstring): Adapt to
18810         new docstring.
18811         (mod-test-non-local-exit-signal-test): Because `internal--module-call'
18812         is gone, the backtrace has changed and no longer leaks the
18813         implementation.
18814         (module--func-arity): New test for `func-arity'.
18815         (module--help-function-arglist): New test for `help-function-arglist'.
18817 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
18819         Avoid crashes in GC due to unescaped characters warning
18821         * src/lread.c (load_warn_unescaped_character_literals): Don't cons
18822         Lisp objects from stack-based variables.  (Bug#26961)
18824 2017-05-20  Charles A. Roelli  <charles@aurox.ch>
18826         New commands: find-library-other-window, find-library-other-frame
18828         * lisp/emacs-lisp/find-func.el (find-library-other-window)
18829         (find-library-other-frame): New commands to complement the
18830         existing 'find-library' command.  (Bug#26712)
18831         (read-library-name): New function to read a library name.
18832         * etc/NEWS: Mention 'find-library-other-window' and
18833         'find-library-other-frame'.
18835 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
18837         Fix automatic hscrolling of only the current line
18839         * src/xdisp.c (display_line): When hscrolling only the current
18840         line, increment iterator's first_visible_x and last_visible_x
18841         values to account for the hscroll.  This propagates the hscroll
18842         effect on the iterator geometry all the way down to the
18843         subroutines called by display_line, and avoids scrolling bugs
18844         under large hscroll values.  (Bug#26994)
18846 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
18848         Add handlerlist assertion to module code
18850         * src/emacs-module.c (module_reset_handlerlist):
18851         Check handlerlist.  Suggested by Philipp Stephani in:
18852         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
18854 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
18856         Port --enable-gcc-warnings to clang 3.9.1
18858         * configure.ac (WERROR_CFLAGS): Omit -Wmissing-braces for Clang,
18859         to shut off a false alarm.  Problem reportd by Philipp Stephani in:
18860         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
18862 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
18864         Limit integers printed as characters (Bug#16828)
18866         * lisp/simple.el (eval-expression-print-maximum-character): New
18867         variable.
18868         (eval-expression-print-format): Only display value as character if
18869         it's less than or equal to `eval-expression-print-maximum-character'.
18870         (eval-expression-get-print-arguments): Check
18871         eval-expression-print-maximum-character, allow negative arg to
18872         override it.
18873         (eval-expression):
18874         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
18875         (elisp--eval-last-sexp-print-value): Handle new variable.
18876         * doc/emacs/building.texi (Lisp Eval): Document new variable and
18877         behavior.
18878         * etc/NEWS: Announce it.
18879         * test/lisp/progmodes/elisp-mode-tests.el
18880         (eval-last-sexp-print-format-small-int)
18881         (eval-last-sexp-print-format-small-int-echo)
18882         (eval-last-sexp-print-format-large-int)
18883         (eval-last-sexp-print-format-large-int-echo):
18884         * test/lisp/simple-tests.el (eval-expression-print-format-small-int)
18885         (eval-expression-print-format-small-int-echo)
18886         (eval-expression-print-format-large-int)
18887         (eval-expression-print-format-large-int-echo): New tests.
18889 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
18891         Refactor lisp eval result printing
18893         * lisp/simple.el (eval-expression-print-format): Don't check
18894         `standard-output' or `current-prefix-arg'.
18895         (eval-expression-get-print-arguments): New function, centralizes
18896         decision about how to print results of `eval-expression' and
18897         `eval-last-sexp'.
18898         (eval-expression):
18899         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp-print-value):
18900         Use it.
18902 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
18904         Check that signed right shift is arithmetic
18906         * src/data.c (ash_lsh_impl): Verify that signed right shift is
18907         arithmetic; if we run across a compiler that uses a logical shift
18908         we’ll need to complicate the code before removing this
18909         compile-time check.  Help the compiler do common subexpression
18910         elimination better.
18912 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
18914         Minor .gitignore fixes
18916         * .gitignore: modules/mod-test/Makefile was renamed to
18917         test/data/emacs-module/Makefile.
18918         Omit [0-9]*.core, subsumed by *.core.
18919         test/indent/*.new was renamed to test/manual/indent/*.new.
18920         Add *.swp, for Vim.
18922 2017-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
18924         * lisp/emacs-lisp/package.el: Quote `package-desc' in docstrings
18926 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
18928         Describe problems with Microsoft Intellipoint
18930         * etc/PROBLEMS: Describe problems with Microsoft Intellipoint and
18931         mouse-2 events.  For the details, see
18932         https://lists.gnu.org/r/help-emacs-windows/2017-05/msg00009.html.
18934 2017-05-19  Nick Helm  <nick@tenpoint.co.nz>  (tiny change)
18936         Fix turning off whitespace-mode
18938         * lisp/whitespace.el (whitespace-display-char-on): Correct the way
18939         the original buffer-display-table is saved and restored when
18940         global-whitespace-mode is active.  (Bug#26892)
18942         * test/lisp/whitespace-tests.el
18943         (whitespace-tests-whitespace-mode-on): New function.
18944         (whitespace-tests-display-tables): New test.
18946 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
18948         Minor tweaks in tramp-tests.el
18950         * test/lisp/net/tramp-tests.el (tramp--test-afp-or-smb-p): New defun.
18951         (tramp-test05-expand-file-name-relative): Use it.
18952         (tramp-test38-unload): Run only in batch mode.
18954 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
18956         Fix a problem with OpenSSH 7 in Tramp
18958         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Set also
18959         "ConnectTimeout" during test.  Otherwise, OpenSSH 7 will hang.
18961 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
18963         Improve documentation of 'split-string'
18965         * doc/lispref/strings.texi (Creating Strings): Rearrange text to
18966         make it more readable.  (Bug#26925)
18968 2017-05-19  Ruslan Bekenev  <furyinbox@gmail.com>
18970         Fix typos in doc strings
18972         * lisp/mail/rfc2231.el (rfc2231-encode-string):
18973         * lisp/mail/rfc2047.el (rfc2047-encode-parameter):
18974         * lisp/mail/rfc2045.el (rfc2045-encode-string): Fix typos in doc
18975         strings.  (Bug#26103)
18977 2017-05-19  Philipp Stephani  <phst@google.com>
18979         Fix module tests on some systems
18981         If dladdr(3) isn't available or didn't work, the printed
18982         representation of a module function will not include the file name,
18983         but only the address.  Make the tests pass in that case.
18985         * test/src/emacs-module-tests.el (module-function-object): Fix match for
18986         module function printed representation
18988 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
18990         Add an optional arguments to string-trim
18992         * lisp/emacs-lisp/subr-x.el (string-trim-left, string-trim-right)
18993         (string-trim): Add optional args that serve as defaults per the
18994         original behavior.  (Bug#26908)
18996 2017-05-19  Stephen Berman  <steve@rosalinde.fritz.box>
18998         Fix typo in last change to auto-hscroll-mode
19000         * lisp/cus-start.el (standard): Fix typo in value of auto-hscroll-mode.
19002 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
19004         Support remote editing in emacsclient via Tramp
19006         * lib-src/emacsclient.c (main, decode_options)
19007         (print_help_and_exit, longopts): New option '--tramp' / '-T' which
19008         specifies how emacs should use tramp to find remote files.
19010         * doc/emacs/misc.texi (TCP Emacs server): New subsection describing
19011         the various knobs to tune server.el for TCP opereation.
19012         (emacsclient Options): Reference "TCP Emacs server" from description of
19013         --server-file.  Document the new '--tramp' / '-T' options.
19014         * doc/emacs/emacs.texi (Top): Update the top-level menu.
19016         * etc/NEWS: Mention the new option.
19018 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
19020         * lisp/replace.el (query-replace-regexp-eval): Doc fix.
19022 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19024         Attempt to work around macOS vfork bug
19026         Problem reported by YAMAMOTO Mitsuharu in:
19027         https://lists.gnu.org/r/emacs-devel/2017-05/msg00342.html
19028         This is related to the fix for Bug#26397.
19029         * src/callproc.c (call_process_cleanup, call_process) [!MSDOS]:
19030         Report internal error if wait_for_termination fails.
19031         * src/sysdep.c (get_child_status): Return -1 if waitpid is
19032         buggy, instead of aborting.
19033         (wait_for_termination): Return bool success value.
19034         All callers changed.
19036 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
19038         Adjust defcustom form for 'auto-hscroll-mode'
19040         * lisp/cus-start.el (standard) <auto-hscroll-mode>: Adjust the
19041         defcustom form.  Suggested by Stephen Berman <stephen.berman@gmx.net>.
19043 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19045         Fix DARWIN_OS_CASE_SENSITIVE_FIXME==2 false alarm
19047         * src/fileio.c (file_name_case_insensitive_p):
19048         Don’t compile the (DARWIN_OS_CASE_SENSITIVE_FIXME == 2)
19049         code unless DARWIN_OS_CASE_SENSITIVE_FIXME is 2.
19050         Problem reported by Philipp Stephani in:
19051         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
19053 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19055         Port --enable-gcc-warnings to clang 3.9.1
19057         * configure.ac (WERROR_CFLAGS): Omit -Wdouble-promotion if clang.
19058         Problem reported by Philipp Stephani in:
19059         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
19061 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19063         Clean up compiler warning in emacs-module.c
19065         * src/emacs-module.c (MODULE_SETJMP_1): Use the local var
19066         instead of leaving it unused, to pacify picky compilers.
19067         (module_reset_handlerlist): Now takes a dummy pointer to a struct
19068         handler *, instead of a dummy pointer to an int.  All uses changed.
19070 2017-05-19  Philipp Stephani  <phst@google.com>
19072         Clean up some compiler warnings
19074         * src/sysdep.c (system_process_attributes) [DARWIN_OS]:
19075         Remove unused locals.
19077 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
19079         Support hscrolling only the current line
19081         * src/xdisp.c (hscrolling_current_line_p): New function.
19082         (init_iterator): If auto-hscrolling just the current line, don't
19083         increment the iterator's first_visible_x and last_visible_x
19084         variables.
19085         (hscroll_window_tree): Recompute window's hscroll when moving
19086         vertically to another screen line.
19087         (redisplay_window): If we are hscrolling only the current line,
19088         disable the optimizations that rely on the current matrix being
19089         up-to-date.
19090         (display_line): Accept an additional argument CURSOR_VPOS, the
19091         vertical position of the current screen line which might need
19092         hscrolling; all callers changed.  Compute first_visible_x and
19093         last_visible_x specially when auto-hscrolling current line, by
19094         repeating the calculation that is done in init_iterator in other
19095         modes.
19096         (syms_of_xdisp) <auto-hscroll-mode>: No longer boolean, it can now
19097         accept a 3rd value 'current-line, to turn on the mode where
19098         only the current line is hscrolled.
19100         * etc/NEWS: Mention the new auto-hscroll-mode value.
19102 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
19104         Fix last change in line-move-finish
19106         * lisp/simple.el (line-move-finish): Fix last change.  This corrects a
19107         regression in C-n and C-p when lines are truncated, introduced by the
19108         change in 2017-05-10.
19110 2017-05-18  Simen Heggestøyl  <simenheg@gmail.com>
19112         Expand docstring for CSS mode
19114         * lisp/textmodes/css-mode.el (css-completion-at-point, css-mode):
19115         Expand docstrings.
19117 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
19119         Use the expression angle units while simplifying it
19121         Don't use the angle mode, use the angle units included
19122         in the expression instead (Bug#23889).
19123         * lisp/calc/calc-alg.el (calc-input-angle-units): New defun.
19124         (math-simplify): Use it.
19125         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
19126         Don't use calc-angle-mode if math-simplifying-units is non-nil.
19127         * lisp/calc/calc-math.el (calcFunc-nroot, math-from-radians)
19128         (math-to-radians-2, math-from-radians-2): Don't convert angle
19129         to radians if math-simplifying-units is non-nil.
19130         * test/lisp/calc/calc-tests.el (test-calc-23889): Add test.
19132 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
19134         Revert "Ignore angle mode while simplifying units"
19136         This reverts commit 713e922243fb60d850f7b0ff83f3e2a3682f1832.
19137         This commit causes Bug#25652.
19139 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
19141         Avoid undefined behavior in struct sockaddr
19143         Problem noted by Philipp Stephani in:
19144         https://lists.gnu.org/r/emacs-devel/2017-05/msg00391.html
19145         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
19146         New macros.
19147         * src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
19148         (connect_network_socket, network_interface_info)
19149         (server_accept_connection): Use it when aliasing non-char objects.
19151 2017-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>
19153         * lisp/vc/smerge-mode.el (smerge-refine-regions): Work in multi-bufs
19155         Rename from smerge-refine-subst.  Allow the `beg's to be markers.
19156         Add autoload cookie.
19157         (smerge--refine-forward): Rename from smerge-refine-forward.
19158         (smerge--refine-chopup-region): Rename from smerge-refine-chopup-region.
19159         Assume that its `beg` arg is a marker.
19160         (smerge--refine-highlight-change): Rename from
19161         smerge-refine-highlight-change.  Remove `buf` arg.
19162         (smerge-refine-subst): Redefine as an obsolete alias.
19164 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
19166         Work around AddressSanitizer bug with vfork
19168         Problem reported by Jim Meyering in:
19169         https://lists.gnu.org/r/emacs-devel/2017-05/msg00246.html
19170         * src/conf_post.h (vfork) [ADDRESS_SANITIZER]: Define to fork.
19171         Unfortunately with the AddressSanitizer in Fedora 25 x86-64, the
19172         vforked child messes up the parent’s shadow memory.  This is too
19173         bad, as we’d rather have AddressSanitizer catch memory-access bugs
19174         related to vfork.
19176 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
19178         Catch IPv4/IPv6 issues at compile time
19180         * src/process.c (connect_network_socket): Use verify,
19181         not eassert, so that any problems are caught at compile-time.
19182         Avoid dodgy cast by using a local var of the correct type.
19184 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
19186         Pacify --enable-gcc-warnings --with-x-toolkit=no
19188         * src/composite.c (autocmp_chars) [!HAVE_WINDOW_SYSTEM]:
19189         Avoid unused local.
19191 2017-05-17  Glenn Morris  <rgm@gnu.org>
19193         * admin/update_autogen (commit): Pull before push.
19195 2017-05-17  Glenn Morris  <rgm@gnu.org>
19197         autoload-rubric no longer provides a feature by default
19199         * lisp/emacs-lisp/autoload.el (autoload-rubric):
19200         Stop providing a feature unless explicitly requested.
19201         (autoload-find-generated-file): Update autoload-rubric call.
19203 2017-05-17  Eli Zaretskii  <eliz@gnu.org>
19205         Remove redundant code in connect_network_socket
19207         * src/process.c (connect_network_socket) [HAVE_GETSOCKNAME]:
19208         Remove redundant type-casting and variables.  Don't call
19209         'getsockname' to find the port for AF_LOCAL sockets.
19210         [AF_INET6]: Add an assertion to verify that the ports in the IPv4
19211         and IPv6 structures are at the same offset and have the same size.
19213 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19215         Fix minor timezone memory leak
19217         * src/editfns.c (wall_clock_tz): Remove; unused.
19219 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19221         Do not discard AddressSanitizer stderr
19223         * src/emacs.c (close_output_streams) [ADDRESS_SANITIZER]:
19224         Do not close stderr.
19226 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19228         Simplify procname code to avoid GCC bug
19230         * src/process.c (server_accept_connection): Simplify and avoid
19231         multiple calls and struct literals in the last case of a switch.
19232         The old code ran afoul of GCC bug 80659, which caused an internal
19233         compiler error.  Problem reported by Jim Meyering in:
19234         https://lists.gnu.org/r/emacs-devel/2017-05/msg00182.html
19235         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659
19237 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19239         Pacify GCC 7 with --enable-gcc-warnings
19241         * src/regex.c (regex_compile): Swap labels, so that the
19242         FALLTHROUGH immediately precedes the case label.
19244 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19246         Merge with gnulib, pacifying GCC 7
19248         This incorporates:
19249         2017-05-16 manywarnings: update for GCC 7
19250         2017-05-15 sys_select: Avoid "was expanded before it was required"
19251         * configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
19252         -Wformat-overflow=2 options, due to too many false alarms.
19253         * doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
19254         Copy from gnulib.
19255         * m4/gnulib-comp.m4: Regenerate.
19256         * src/coding.c (decode_coding_iso_2022):
19257         Fix bug uncovered by -Wimplicit-fallthrough.
19258         * src/conf_post.h (FALLTHROUGH): New macro.
19259         Use it to mark all switch cases that fall through.
19260         * src/editfns.c (styled_format): Use !, not ~, on bool.
19261         * src/gtkutil.c (xg_check_special_colors):
19262         When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
19263         (xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
19264         this bug was actually caught by Clang.
19265         * src/search.c (boyer_moore):
19266         Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
19267         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
19268         Tell GCC that glyph->u.glyphless.ch must be a character.
19270 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
19272         Make autoloading Tramp more robust
19274         * lisp/net/tramp.el (tramp-file-name-for-operation):
19275         Use `default-directory' where appropriate.
19276         (tramp-file-name-handler): Do not autoload.
19277         (tramp-autoload-file-name-handler): Reintroduce function.
19278         (tramp-register-autoload-file-name-handlers): Use it.
19280 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
19282         Extend tramp-tests.el
19284         * test/lisp/net/tramp-tests.el (tramp-change-syntax):
19285         Remove declaration, not needed anymore.
19286         (tramp-test05-expand-file-name-relative): New test.
19287         (tramp-test10-write-region): Extend test.
19289 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
19291         * lisp/net/tramp.el: Avoid recursive load of Tramp.  (Bug#26943)
19293 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
19295         Make `indent-line-to' respect field boundaries (Bug#26891)
19297         * lisp/indent.el (indent-line-to): Use `back-to-indentation' instead
19298         of `backward-to-indentation'.
19300 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
19302         Make sure indent-sexp stops at end of sexp (Bug#26878)
19304         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Check endpos before
19305         indenting.
19306         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-stop): New
19307         test.
19309 2017-05-16  Glenn Morris  <rgm@gnu.org>
19311         Stop some epg tests failing on rhel7 with gpg 2.0.22 (bug#23619)
19313         * test/lisp/epg-tests.el (with-epg-tests):
19314         Also set GNUPGHOME in the environment of child processes.
19315         This avoids problems if gpg does not pass --homedir to spawned agent.
19317 2017-05-16  Glenn Morris  <rgm@gnu.org>
19319         Add oldxmenu to system-configuration-features
19321         * configure.ac (HAVE_OLDXMENU): New.
19322         (emacs_config_features): Add oldxmenu.
19324 2017-05-15  Ted Zlatanov  <tzz@lifelogs.com>
19326         * .gitlab-ci.yml: Adjust disclaimer as per RMS.
19328 2017-05-15  Eli Zaretskii  <eliz@gnu.org>
19330         Remove unneeded stuff from nt/inc/sys/time.h
19332         * nt/inc/sys/time.h (_TIMEVAL_DEFINED, struct timevat, timerisset)
19333         (timercmp, timerclear): Don't define.  Instead, include the system
19334         header sys/time.h, and add only the interval timers stuff.  This
19335         avoids compiler warnings about 'gettimeofday's prototype, and also
19336         avoids redefinition of macros from system headers.
19338 2017-05-15  Paul Eggert  <eggert@cs.ucla.edu>
19340         Fix address violation found by AddressSanitizer
19342         * src/process.c (connect_network_socket):
19343         Use struct sockaddr_storage, not struct sockaddr_in, to store info
19344         about a socket address.  Problem reported by Philipp Stephani in:
19345         https://lists.gnu.org/r/emacs-devel/2017-05/msg00314.html
19346         This fix is based on a patch by Philipp in:
19347         https://lists.gnu.org/r/emacs-devel/2017-05/msg00357.html
19349 2017-05-14  Gemini Lasswell  <gazally@runbox.com>
19351         Make edebug-step-in work on generic methods (Bug#22294)
19353         * lisp/emacs-lisp/edebug.el (edebug-match-cl-generic-method-args):
19354         New function to implement the edebug-form-spec property of
19355         the symbol cl-generic-method-args.
19356         (edebug-instrument-function): If the function is a generic
19357         function, find and instrument all of its methods. Return a list
19358         instead of a single symbol.
19359         (edebug-instrument-callee): Now returns a list. Update docstring.
19360         (edebug-step-in): Handle the list returned by edebug-instrument-callee.
19361         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use name and
19362         cl-generic-method-args in its Edebug spec.
19363         * lisp/emacs-lisp/eieio-compat.el (defmethod): Use name and
19364         cl-generic-method-args in its Edebug spec.
19365         * lisp/subr.el (method-files): New function.
19366         * test/lisp/subr-tests.el (subr-tests--method-files--finds-methods)
19367         (subr-tests--method-files--nonexistent-methods): New tests.
19369 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
19371         Merge from gnulib
19373         This incorporates:
19374         2017-05-14 same-inode: Adapt for windows-stat-inodes
19375         2017-05-14 windows-stat-inodes: New module
19376         2017-05-14 stat-time: Adapt for windows-stat-timespec
19377         * lib/gnulib.mk.in: Regenerate.
19378         * lib/stat-time.h, lib/sys_types.in.h, m4/sys_types_h.m4:
19379         Copy from gnulib.
19381 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
19383         Remove gettimeofday from w32 sources
19385         * lib-src/ntlib.c (gettimeofday):
19386         * nt/inc/sys/time.h (gettimeofday, struct timezone): Remove unused
19387         function 'gettimeofday' and all of its supporting code.
19389 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
19391         Fix the MS-Windows build
19393         * nt/inc/sys/time.h (gettimeofday):
19394         * src/w32.c (gettimeofday): Adjust signature to match Gnulib.
19396 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
19398         More accurate documentation of the ':box' face attribute
19400         * doc/lispref/display.texi (Face Attributes): Fix the description
19401         of negative width of the ':box' attribute.  (Bug#26920)
19403 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
19405         Merge from gnulib
19407         This incorporates:
19408         2017-05-13 largefile: Simplify
19409         2017-05-13 largefile: Improve and document
19410         2017-05-13 truncate: New module
19411         2017-05-13 windows-stat-timespec: New module
19412         2017-05-13 windows-stat-override: New module
19413         2017-05-11 getopt-posix: port to mingw
19414         2017-05-11 gettimeofday: Increase precision on mingw
19415         2017-05-10 time: Fix missing initialization of HAVE_TIMEZONE_T
19416         2017-05-10 Implement a way to opt out from MSVC support
19417         2017-05-09 tzset: Expand comment about TZ problem on native Windows
19418         * build-aux/config.guess, lib/dup2.c, lib/fcntl.c, lib/fsync.c:
19419         * lib/getdtablesize.c, lib/getopt.c, lib/gettimeofday.c:
19420         * lib/mktime.c, lib/stat-time.h, lib/sys_stat.in.h, lib/unistd.in.h:
19421         * lib/utimens.c, m4/gettimeofday.m4, m4/largefile.m4:
19422         * m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/time_h.m4, m4/time_rz.m4:
19423         * m4/unistd_h.m4: Copy from gnulib.
19424         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
19426 2017-05-14  Marcin Borkowski  <mbork@mbork.pl>
19428         Merge branch 'fix/bug-21072'
19430 2017-05-14  Ted Zlatanov  <tzz@lifelogs.com>
19432         * .gitlab-ci.yml: Add setup for GitLab CI builds.
19434 2017-05-13  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
19436         New minor mode 'pixel-scroll-mode'
19438         * lisp/pixel-scroll.el: New file.
19440         * etc/NEWS: Mention pixel-scroll-mode.
19442 2017-05-13  Philipp  <phst@google.com>
19444         Make `old-style-backquotes' variable internal
19446         * src/lread.c (load_warn_old_style_backquotes, Fload, read1)
19447         (syms_of_lread): Rename `old-style-backquotes' to
19448         `lread--old-style-backquotes', and clarify that it's for internal
19449         use only.
19450         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename
19451         variable.
19452         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Add
19453         unit test.
19454         * test/lisp/emacs-lisp/bytecomp-tests.el
19455         (bytecomp-tests--old-style-backquotes): Add unit test.
19457 2017-05-13  Philipp Stephani  <phst@google.com>
19459         Improve unescaped character literal warnings
19461         * src/lread.c (load_warn_unescaped_character_literals)
19462         (syms_of_lread):
19463         lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Improve
19464         formatting of unescaped character literal warnings.
19466         * test/src/lread-tests.el (lread-tests--unescaped-char-literals):
19467         test/lisp/emacs-lisp/bytecomp-tests.el
19468         (bytecomp-tests--unescaped-char-literals): Adapt unit tests.
19470 2017-05-12  Alan Mackenzie  <acm@muc.de>
19472         Fontify C++ for loop variable as variable, even when followed by parentheses
19474         In the following: "for (auto *Friend : Class->friends()) {", "Friend" was
19475         getting fontified as a function, due to insufficient checking of the tokens
19476         between it and "()".
19478         * lisp/progmodes/cc-langs.el (c-:-op-cont-tokens, c-:-op-cont-regexp): New
19479         lang-consts/vars.
19481         * lisp/progmodes/cc-engine.el (c-forward-declarator): After finding a putative
19482         declarator's identifier, check for a ":" token inside a for's parentheses, and
19483         abort the search for "(" if this is found.
19485 2017-05-12  Michael Albinus  <michael.albinus@gmx.de>
19487         Make Tramp backward compatible
19489         * lisp/net/tramp-cmds.el (tramp-change-syntax):
19490         Set tramp-autoload cookie.
19492         * lisp/net/tramp-compat.el: Run `tramp-change-syntax' at
19493         startup, if necessary.
19495         * lisp/net/tramp.el (tramp-syntax): Use `tramp-compat-user-error'.
19496         (tramp-register-autoload-file-name-handlers): Do not mark
19497         `operations' for `tramp-file-name-handler'.
19498         (tramp-register-file-name-handlers): Remove also
19499         `tramp-autoload-file-name-handler' for backward compatibility.
19500         (tramp-register-foreign-file-name-handler): Use `delete-dups'.
19502         * test/lisp/net/tramp-tests.el (tramp-change-syntax): Declare.
19504 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
19506         Modify `beginning-of-defun-comments'
19508         * lisp/emacs-lisp/lisp.el (beginning-of-defun-comments): Try not to stop
19509         in the middle of a multiline comment.
19511 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
19513         Fix elisp-tests-with-temp-buffer compilation
19515         * test/lisp/emacs-lisp/lisp-tests.el (elisp-tests-with-temp-buffer):
19516         Don't refer to the =!NAME= as "markers" since they produce variables
19517         with just plain positions, not marker objects.  Explicitly specify
19518         that CONTENTS is evaluated at compile time.  Don't re-evaluate
19519         CONTENTS at runtime.  Fix debug specification.  Suppress warnings due
19520         to BODY not using =!NAME= variables.
19521         (elisp-test-point-position-regex): Rename from
19522         `elisp-test-point-marker-regex'.
19523         (mark-defun-test-buffer): Wrap in `eval-and-compile'.
19525 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
19527         * lisp/emacs-lisp/lisp.el (mark-defun): Simplify moving the point.
19529 2017-05-12  Marcin Borkowski  <mbork@mbork.pl>
19531         Fix Bug#21072 and rework `mark-defun'
19533         * test/lisp/progmodes/elisp-mode-tests.el (mark-defun-test-buffer):
19534           New variable
19535         (mark-defun-no-arg-region-inactive)
19536         (mark-defun-no-arg-region-active)
19537         (mark-defun-arg-region-active)
19538         (mark-defun-pos-arg-region-inactive)
19539         (mark-defun-neg-arg-region-inactive, mark-defun-bob): Add tests for
19540         the new `mark-defun'.
19542         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p):
19543           New function.
19544         (beginning-of-defun-comments): New function.
19545         (mark-defun): Fix bug#21072, also rewrite large parts of `mark-defun'
19546         to accept a numerical prefix argument.
19548 2017-05-12  Alfred M. Szmidt  <ams@gnu.org>
19550         * lisp/mail/rmail.el (rmail-ignored-headers): Add 3 headers to ignore.
19552 2017-05-12  Eli Zaretskii  <eliz@gnu.org>
19554         Improve doc strings in net-utils.el
19556         * lisp/net/net-utils.el (ifconfig, iwconfig, netstat, arp)
19557         (route, traceroute, nslookup, ftp, smbclient)
19558         (smbclient-list-shares, finger, whois)
19559         (network-connection-to-service, network-service-connection)
19560         (network-connection-reconnect): Improve doc strings.
19562 2017-05-12  Andrew Robbins  <contact@andrewrobbins.info>
19564         Extend DNS lookup commands to allow specifying the name server
19566         * lisp/net/net-utils.el (ffap-string-at-point): Removed due to
19567         'net-utils-machine-at-point' obviating this autoloaded
19568         function (Bug#25426).
19569         (dig-program-options): New customization variable.
19570         (nslookup-host, dns-lookup-host, run-dig): Can now specify
19571         optional name server argument interactively (by prefix arg) and
19572         non-interactively.
19574         * etc/NEWS: Mention the extension of DNS lookup commands.
19576 2017-05-12  Glenn Morris  <rgm@gnu.org>
19578         Don't hard-code loaddefs files in lisp/Makefile
19580         * lisp/Makefile.in (loaddefs): New variable.
19581         (AUTOGENEL): Use $loaddefs, and include directory.
19582         (bootstrap-clean): Update for AUTOGENEL change.
19584 2017-05-11  Katsumi Yamaoka  <yamaoka@jpl.org>
19586         Kill modified buffers silently when quitting (bug#26862)
19588         * lisp/gnus/gnus-start.el (gnus-clear-system): Run do-auto-save to make
19589         sure that latest drafts are saved, and kill modified buffers silently.
19591 2017-05-10  Perry E. Metzger  <perry@piermont.com>
19593         Implement 1-based column numbering in mode line
19595         * src/xdisp.c (decode_mode_spec): Implement the %C construct.
19597         * lisp/bindings.el (column-number-indicator-zero-based): New
19598         defcustom.
19599         (mode-line-position): Use %C when
19600         column-number-indicator-zero-based is nil.
19602         * src/xdisp.c (syms_of_xdisp) <frame-title-format>:
19603         * src/buffer.c (syms_of_buffer) <mode-line-format>:
19604         * doc/lispref/modes.texi (%-Constructs):
19605         * doc/lispref/frames.texi (Frame Titles): Document the %C
19606         construct.
19608         * doc/emacs/display.texi (Optional Mode Line): Document
19609         'column-number-indicator-zero-based'.
19611         * etc/NEWS: Mention 'column-number-indicator-zero-based' and the
19612         %C construct.
19614 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
19616         Ensure cursor's foreground color is in sync with 'default' face
19618         * src/w32term.c (x_set_cursor_gc): Don't reuse cursor GC if its
19619         foreground color is different from the background of the glyph
19620         string's face.  (Bug#26851)
19622 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
19624         Fix vertical cursor motion when columns are of unequal size
19626         * lisp/simple.el (line-move-finish): In line-move-visual mode, use
19627         vertical-motion to move to the goal column, as the goal column
19628         should in that case be interpreted in units of frame's canonical
19629         character width.  (Bug#26852)
19631 2017-05-10  Glenn Morris  <rgm@gnu.org>
19633         Fix finding test .el files
19635         * test/Makefile.in (ELFILES): Exclude the data/ directory.
19636         * test/src/lread-tests.el (lread-test-bug26837): Revert previous.
19638 2017-05-10  Tino Calancha  <tino.calancha@gmail.com>
19640         Tweak a recent test
19642         This test fails in my local machine because the data files
19643         are compiled, and the test doesn't expect that.
19644         * test/src/lread-tests.el (lread-test-bug26837): Match a suffix
19645         ending with '.elc' when the data files are compiled.
19647 2017-05-10  Glenn Morris  <rgm@gnu.org>
19649         Put license information in each generated uni-*.el
19651         * admin/unidata/unidata-gen.el (unidata-gen-file):
19652         Get Copyright line from copyright.html.
19653         Put information in file header, not separate README.
19654         (unidata-gen-charprop): Mention the source location.
19655         * lisp/international/README: Remove file.
19657 2017-05-10  Noam Postavsky  <npostavs@gmail.com>
19659         Fix lisp-indent-region and indent-sexp (Bug#26619)
19661         The new lisp-indent-region introduced in 2017-04-22 "Add new
19662         `lisp-indent-region' that doesn't reparse the code." is broken because
19663         it doesn't save the calculated indent amounts for already seen sexp
19664         depths.  Fix this by unifying the indent-sexp and lisp-indent-region
19665         code.  Furthermore, only preserve position 2 of the running parse
19666         when the depth doesn't change.
19667         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Use an OLDSTATE that
19668         corresponds with the start point when calling parse-partial-sexp.
19669         (lisp-indent-state): New struct.
19670         (lisp-indent-calc-next): New function, extracted from indent-sexp.
19671         (indent-sexp, lisp-indent-region): Use it.
19672         (lisp-indent-line): Take indentation, instead of parse state.
19673         * test/lisp/emacs-lisp/lisp-mode-tests.el
19674         (lisp-mode-tests--correctly-indented-sexp): New constant.
19675         (lisp-indent-region, lisp-indent-region-defun-with-docstring):
19676         (lisp-indent-region-open-paren, lisp-indent-region-in-sexp): New
19677         tests.
19679 2017-05-10  Dmitry Gutov  <dgutov@yandex.ru>
19681         Simplify url-encode-url and add a test
19683         * lisp/url/url-util.el (url-encode-url): Simplify.
19684         url-generic-parse-url copes with multibyte strings just fine
19685         (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24117#185).
19687         * test/lisp/url/url-parse-tests.el
19688         (url-generic-parse-url/multibyte-host-and-path): New test.
19690 2017-05-10  Glenn Morris  <rgm@gnu.org>
19692         More informative error when required feature missing
19694         * src/fns.c (Frequire): Include file name in missing feature error.
19695         * doc/lispref/loading.texi (Named Features): Don't quote actual error.
19697 2017-05-10  Glenn Morris  <rgm@gnu.org>
19699         Put re-loaded file back at start of load-history (bug#26837)
19701         * src/lread.c (readevalloop): Fix the "whole buffer" check to
19702         operate in the correct buffer.
19703         (Feval_buffer): Move point back to the start after checking
19704         for lexical binding.
19705         * test/src/lread-tests.el (lread-test-bug26837): New test.
19706         * test/data/somelib.el, test/data/somelib2.el: New test data files.
19708 2017-05-09  Eli Zaretskii  <eliz@gnu.org>
19710         Improve documentation of 'gnutls-verify-error'
19712         * lisp/net/gnutls.el (gnutls-verify-error): Improve and expand
19713         doc string.  (Bug#26845)
19715 2017-05-09  Glenn Morris  <rgm@gnu.org>
19717         Don't duplicate autoload code in package.el
19719         * lisp/emacs-lisp/autoload.el (autoload-rubric): Add a package option.
19720         * lisp/emacs-lisp/package.el (autoload-rubric): Declare.
19721         (package-autoload-ensure-default-file): Use autoload-rubric.
19723 2017-05-09  Michael Albinus  <michael.albinus@gmx.de>
19725         * test/lisp/net/tramp-tests.el: Keep additional test.
19727 2017-05-09  Marcin Borkowski  <mbork@mbork.pl>
19729         Add elisp-tests-with-temp-buffer, a new testing macro
19731         * test/lisp/emacs-lisp/lisp-tests.el
19732         (elisp-test-point-marker-regex) New variable.
19733         (elisp-tests-with-temp-buffer): New macro to help test functions
19734         moving the point and/or mark.
19736 2017-05-09  Noam Postavsky  <npostavs@gmail.com>
19738         Revert "Output number of characters added to file (Bug#354)"
19740         The extra message text turned out to be quite annoying in practice,
19741         and is generally more trouble than it's worth.  Also revert several
19742         related changes.
19744         Partially revert "Handle `write-region' messages in Tramp properly"
19745         Revert "New var write-region-verbose, default nil"
19746         Revert "* src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)"
19747         Revert "Minor tuneup of write-region change"
19748         Revert "Adjust write-region so file name is at the beginning again"
19749         Revert "Fix handling of non-integer START param to write-region"
19750         Revert "Output number of characters added to file (Bug#354)"
19752         * doc/emacs/files.texi (Misc File Ops):
19753         * etc/NEWS:
19754         * lisp/epa-file.el (epa-file-write-region):
19755         * lisp/gnus/mm-util.el (mm-append-to-file):
19756         * lisp/jka-compr.el (jka-compr-write-region):
19757         * lisp/net/ange-ftp.el (ange-ftp-write-region):
19758         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
19759         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
19760         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
19761         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
19762         * lisp/net/tramp.el (tramp-handle-write-region-message):
19763         * src/fileio.c (write_region, syms_of_fileio):
19764         * test/lisp/net/tramp-tests.el (tramp-test10-write-region): Remove
19765         extra characters from file writing messages.
19767 2017-05-09  Noah Friedman  <friedman@splode.com>
19769         (ybuffer-list): $alist must be ptr-unmasked at the end of the loop,
19770         because $ptr is modified by ygetptr and we use $ptr immediately at the
19771         beginning.
19773 2017-05-08  Ken Brown  <kbrown@cornell.edu>
19775         Skip a test from filenotify-tests.el on Cygwin
19777         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
19778         Skip the last part of the test on Cygwin; it fails due to timing
19779         issues.
19780         (file-notify--test-read-event):  Remove `sit-for' that was added
19781         for Cygwin.
19783 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
19785         Merge from gnulib
19787         This incorporates:
19788         2017-05-08 intprops: don’t depend on ‘verify’
19789         2017-05-07 utimens: on native Windows, improve resolution if fd < 0
19790         2017-05-07 utimens: Improve error code on native Windows
19791         * lib/intprops.h, lib/utimens.c: Copy from gnulib.
19793 2017-05-08  Wilson Snyder  <wsnyder@wsnyder.org>
19795         Fix various verilog-mode.el issues.
19797         * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix SystemVerilog
19798         2012 import breaking AUTOINST.  Reported by Johannes Schaefer.
19799         (verilog-auto-wire-type, verilog-insert-definition): Fix AUTOWIRE using
19800         logic in top-level non-SystemVerilog module, bug1142.  Reported by Marcin K.
19801         (verilog-define-abbrev-table) (verilog-mode-abbrev-table): Don't expand
19802         abbrev inside comment/strings, bug1102. Reported by Slava Yuzhaninov.
19803         (verilog-auto): Fix AUTORESET widths pulling from AUTOREGINPUT,
19804         msg2143. Reported by Galen Seitz.
19805         (verilog-modify-compile-command): Fix expansion of __FLAGS__ when
19806         compile-command is globally set, bug1119.  Reported by Galen Seitz.
19808 2017-05-08  Michael Albinus  <michael.albinus@gmx.de>
19810         Handle `write-region' messages in Tramp properly
19812         * lisp/net/tramp.el (tramp-handle-write-region-message): New defsubst.
19813         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
19814         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
19815         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
19816         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use it.
19818         * lisp/net/tramp.el (tramp-password-prompt-regexp)
19819         (tramp-completion-mode-p):
19820         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
19821         (tramp-append-tramp-buffers):
19822         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
19823         Use `bound-and-true-p'.
19825         * lisp/net/tramp-compat.el (tramp-compat-delete-file):
19826         Don't check for `boundp' anymore.
19828         * test/lisp/net/tramp-tests.el (ert-x): Require it.
19829         (tramp--test-messages): New defvar.
19830         (tramp-test10-write-region): Extend test.
19832 2017-05-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
19834         Fix glyph string generation for multi-font compositions (Bug#26742)
19836         * src/xdisp.c (glyph_string_containing_background_width): New function.
19837         (draw_glyphs): Use it to get correct background width.
19838         (compute_overhangs_and_x): Don't change x in the middle of composite
19839         characters.
19841 2017-05-07  Philipp Stephani  <phst@google.com>
19843         Fix all unescaped character literals
19845 2017-05-07  Alan Mackenzie  <acm@muc.de>
19847         CC Mode internal cache: Handle a cache pos being inside a two-char construct.
19849         Cache c-state-semi-nonlit-pos-cache was failing when a cache position was,
19850         e.g., between the two characters of an opening comment "/*", and additionally
19851         there were an odd number of quote marks (apostrophes) in the comment.  This
19852         happened in .../src/xdisp.c in the Emacs master branch around 2017-05-02 at
19853         buffer position 615001.
19855         * lisp/progmodes/cc-defs.el (c-emacs-features): Repurpose symbol
19856         pps-extended-state to mean that there are at least 11 elements in the parser
19857         state.
19859         * lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state)
19860         (c-parse-ps-state-to-cache): Rewrite these to use enhanced cache element list
19861         types which indicate potentially being inside two-char constructs.
19862         (c-parse-ps-state-below): Rewrite to use the new versions of the above two
19863         functions.
19865 2017-05-07  Glenn Morris  <rgm@gnu.org>
19867         Silence an mh-compat compiler warning
19869         * lisp/mh-e/mh-compat.el (mh-url-unreserved-chars): Always define.
19871 2017-05-07  Glenn Morris  <rgm@gnu.org>
19873         Evaluate mh-require when compiling
19875         * lisp/mh-e/mh-alias.el, lisp/mh-e/mh-folder.el:
19876         * lisp/mh-e/mh-gnus.el, lisp/mh-e/mh-search.el:
19877         Evaluate mh-require when compiling, as require is automatically.
19878         * lisp/mh-e/mh-gnus.el: No longer disable byte-compilation.
19880 2017-05-07  Glenn Morris  <rgm@gnu.org>
19882         Remove obsolete method of changing byte-compile-dest-file
19884         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
19885         Define unconditionally.
19887 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
19889         New var write-region-verbose, default nil
19891         By popular demand, write-region char counts are now off by default
19892         (Bug#26796).
19893         * src/fileio.c (write-region-verbose): New Lisp var.
19894         (write_region): Output char count only if the var is non-nil.
19895         * doc/emacs/files.texi (Misc File Ops), etc/NEWS: Document this.
19897 2017-05-07  Glenn Morris  <rgm@gnu.org>
19899         Write autoloads file atomically
19901         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
19902         New function, to save buffer atomically.
19903         (autoload-save-buffers, update-directory-autoloads):
19904         Use autoload--save-buffer.
19905         * lisp/Makefile.in ($(lisp)/loaddefs.el):
19906         No longer write to a temp file by hand.
19908 2017-05-07  Glenn Morris  <rgm@gnu.org>
19910         Write autoloads file once only
19912         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file):
19913         Simplify.  Don't bother about ensuring the output file exists.
19914         (autoload-generated-file): Add doc.
19915         (autoload-ensure-writable): Update doc.
19916         (autoload-ensure-file-writeable): Handle non-existing file.
19917         (autoload-ensure-default-file): Remove function.
19919 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
19921         Port .gdbinit to GDB 7.11.1 + Python 2.7.12
19923         * src/.gdbinit (Lisp_Object_Printer.to_string):
19924         Explicitly convert integer val to 'int', so that
19925         older GDBs do not complain about the conversion.
19926         * src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]:
19927         Give the struct a tag, so that older GDB pretty-printers have a
19928         tag to hang their hat on.
19930 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
19932         Pretty-print const Lisp_Objects in .gdbinit
19934         * src/.gdbinit (Emacs_Pretty_Printers.__call__):
19935         Compare unqualified type to Lisp_Object, to do the right thing
19936         when the expression has type ‘Lisp_Object const’.
19937         Problem reported by Eli Zaretskii in:
19938         https://lists.gnu.org/r/emacs-devel/2017-05/msg00138.html
19940 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
19942         Pacify GCC setjmp/longjmp warning
19944         * src/eval.c (internal_lisp_condition_case): Do not modify local
19945         var VAR, to pacify GCC’s setjmp/longjmp warning which in some
19946         cases mistakenly diagnoses VAR possibly being modified between a
19947         setjmp and a longjmp.
19949 2017-05-06  Philipp  <phst@google.com>
19951         Fix bootstrap build of files.el
19953         * lisp/files.el (file-name-non-special): Don't use cl-letf.
19955 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
19957         Fix last change for MS-Windows
19959         * test/src/emacs-module-tests.el (module-function-object): Port to
19960         MS-Windows.
19962 2017-05-06  Philipp Stephani  <phst@google.com>
19964         Introduce new misc type for module function
19966         This resolves a couple of FIXMEs in emacs-module.c.
19968         * src/lisp.h (MODULE_FUNCTIONP, XMODULE_FUNCTION): New functions.
19970         * src/alloc.c (make_module_function): New function.
19971         (mark_object): GC support.
19973         * src/data.c (Ftype_of, syms_of_data): Handle module function type.
19975         * src/print.c (print_object): Print support for new type.
19977         * src/emacs-module.c (module_make_function, Finternal_module_call):
19978         Use new module function type, remove FIXMEs.
19979         (module_format_fun_env): Adapt and give it external linkage.
19981         * test/src/emacs-module-tests.el (module-function-object): Add unit
19982         test.
19984 2017-05-06  Philipp Stephani  <phst@google.com>
19986         Fix quoted files for 'verify-visited-file-modtime'
19988         Fixes Bug#25951.
19990         * lisp/files.el (file-name-non-special): Set the file name for the
19991         correct buffer.
19993         * test/lisp/files-tests.el (files-tests--file-name-non-special--buffers):
19994         Add unit test.
19995         (files-tests--with-advice, files-tests--with-temp-file): New helper
19996         macros.
19998 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
20000         * src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)
20002 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
20004         Turn on GC_CHECK_MARKED_OBJECTS by default under ENABLE_CHECKING
20006         * src/alloc.c (GC_CHECK_MARKED_OBJECTS): Define to 1 by default of
20007         ENABLE_CHECKING is defined.
20008         (mark_object): Test for GC_CHECK_MARKED_OBJECTS being non-zero,
20009         instead of being defined.
20011 2017-05-06  Tom Tromey  <tom@tromey.com>
20013         Fix erc-join with channel password
20015         Bug#25349
20016         * lisp/erc/erc-join.el (erc-autojoin-after-ident): Switch order of
20017         server names.
20018         (erc-autojoin-channels, erc-autojoin-add, erc-autojoin-remove):
20019         Likewise.
20020         (erc-server-join-channel): Move to erc.el.
20021         * lisp/erc/erc.el (erc-server-join-channel): Move from erc-join.el.
20022         (erc-cmd-JOIN): Use erc-server-join-channel.
20024 2017-05-06  Tino Calancha  <tino.calancha@gmail.com>
20026         Ensure the created temp file in a test is new
20028         * test/lisp/buff-menu-tests.el (buff-menu-24962): Use `make-temp-file'
20029         to create the temp file.
20031 2017-05-06  Glenn Morris  <rgm@gnu.org>
20033         Decruftify dns-mode.el a little bit
20035         * lisp/textmodes/dns-mode.el (dns-mode-control-entities):
20036         New constant.
20037         (dns-mode-control-entity, dns-mode-bad-control-entity)
20038         (dns-mode-type, dns-mode-class): New faces.
20039         (dns-mode-control-entity-face, dns-mode-bad-control-entity-face)
20040         (dns-mode-type-face, dns-mode-class): Make these variables use the
20041         new faces, and mark as obsolete.
20042         (dns-mode-font-lock-keywords): Use dns-mode-control-entities.
20044 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
20046         Pretty-print Lisp_Object values in GDB
20048         * src/.gdbinit: Add a pretty-printer for Lisp_Object values.  Now,
20049         GDB displays them as "XIL(0xXXX)" rather than displaying them
20050         as "..." when CHECK_LISP_OBJECT_TYPE is in effect and as "DDDDD"
20051         otherwise.
20053 2017-05-05  Peder O. Klingenberg  <peder@klingenberg.no>
20055         Tweak dns-mode font-lock
20057         * lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
20058         Highlight $TTL as a control entity.  (Bug#26780)
20060 2017-05-05  Glenn Morris  <rgm@gnu.org>
20062         Fontify the doc-string in some CL forms as such
20064         * lisp/emacs-lisp/lisp-mode.el (defconstant, defparameter):
20065         Add the doc-string-elt property.  (Bug#26778)
20067 2017-05-05  Glenn Morris  <rgm@gnu.org>
20069         * lisp/emacs-lisp/cl-lib.el (cl-mapcar): Remove recent autoload cookie.
20071 2017-05-05  Dmitry Gutov  <dgutov@yandex.ru>
20073         cl-defmethod: Make the edebug spec more technically correct
20075         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Denote the
20076         edebug spec part for qualifiers as [&rest atom], per
20077         https://lists.gnu.org/r/emacs-devel/2017-05/msg00053.html.
20079 2017-05-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
20081         Fix MH-E not to load cl at runtime (Bug#25552)
20083         * lisp/mh-e/mh-acros.el (defun-mh): Check at runtime, not
20084         compile time, whether the target is bound.
20085         * lisp/mh-e/mh-compat.el: Enable compilation.  Pull in
20086         mh-acros at compile time.
20087         Authored-by: Glenn Morris <rgm@gnu.org>, Noam Postavsky
20088         <npostavs@users.sourceforge.net>
20090 2017-05-04  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
20092         Multiline support in NS "Open Selected File" service.
20094         * lisp/term/ns-win.el (ns-open-file-service): new function. Wraps the
20095         original call in a (split-string) to create as many calls as there
20096         are lines.
20097         (ns-spi-service-call): Call `ns-open-file-service' instead of
20098         `dnd-open-file'.
20100 2017-05-04  Göktuğ Kayaalp  <self@gkayaalp.com>
20102         Require cl-lib at runtime in vc-hg
20104         * lisp/vc/vc-hg.el: Require cl-lib at runtime as well (bug#26609).
20106 2017-05-04  Tino Calancha  <tino.calancha@gmail.com>
20108         Inherit incompatible/obsolete package faces from error
20110         Don't use the same face for installed packages as for incompatible
20111         or obsolete ones.
20112         * lisp/emacs-lisp/package.el (package-status-incompat): Inherit from error.
20114 2017-05-04  Michael Albinus  <michael.albinus@gmx.de>
20116         Set process property `adjust-window-size-function' to `ignore' in Tramp
20118         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
20119         (tramp-adb-maybe-open-connection):
20120         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
20121         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
20122         (tramp-maybe-open-connection):
20123         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
20124         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
20125         (tramp-smb-maybe-open-connection): Set process property
20126         `adjust-window-size-function' to `ignore'.
20128 2017-05-04  Nicolas Petton  <nicolas@petton.fr>
20130         * lisp/emacs-lisp/seq.el: Bump seq version.
20132 2017-05-04  Damien Cassou  <damien@cassou.me>
20134         Add seq-set-equal-p to test for set equality
20136         * lisp/emacs-lisp/seq.el (seq-set-equal-p): Add function to compare
20137           two lists as if they were sets.
20139         * test/lisp/emacs-lisp/seq-tests.el (test-seq-set-equal-p): Add test
20140           for seq-set-equal-p.
20142 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
20144         Spelling fixes
20146         * lisp/gnus/nndiary.el (nndiary-last-occurrence):
20147         Rename from nndiary-last-occurence.
20148         (nndiary-next-occurrence):
20149         Rename from nndiary-next-occurence.  All uses changed.
20151 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
20153         Merge from pkg-config
20155         * m4/pkg.m4: Copy from pkg-config 0.29.1.
20157 2017-05-04  Tom Tromey  <tom@tromey.com>
20159         Add color highlighting to css-mode
20161         Bug#25525
20162         * lisp/textmodes/css-mode.el (css--color-map): New constant.
20163         (css-value-class-alist): Use css--color-map.
20164         (css--number-regexp, css--percent-regexp)
20165         (css--number-or-percent-regexp, css--angle-regexp): New constants.
20166         (css--color-skip-blanks, css--rgb-color, css--hsl-color): New
20167         functions.
20168         (css--colors-regexp): New constant.
20169         (css--hex-color, css--named-color, css--compute-color)
20170         (css--contrasty-color, css--fontify-colors)
20171         (css--fontify-region): New functions.
20172         (css-mode): Set font-lock-fontify-region-function.
20173         (css-mode-syntax-table): Set syntax on more characters.
20174         (css-fontify-colors): New defcustom.
20175         (scss-mode-syntax-table): Define syntax for ?$ and ?%.
20176         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
20177         Update.
20178         (css-test-rgb-parser, css-test-hsl-parser)
20179         (css-test-named-color): New tests.
20180         * etc/NEWS: Add entry.
20182 2017-05-03  Michael Albinus  <michael.albinus@gmx.de>
20184         Fix Bug#26763
20186         * lisp/files.el (delete-directory): Call file name handler
20187         with `trash' argument.
20189         * lisp/net/ange-ftp.el (ange-ftp-delete-directory):
20190         * lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory):
20191         Add TRASH arg.  Implement it.  (Bug#26763)
20192         (tramp-get-remote-trash): Check for `delete-by-moving-to-trash'.
20194         * lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory):
20195         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
20196         Add _TRASH arg.
20198 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
20200         Use ptrdiff_t, not int, for stack sizes
20202         * src/thread.c (invoke_thread_function):
20203         * src/xterm.c (x_cr_export_frames):
20204         Don’t assume SPECPDL_INDEX fits in ‘int’.
20206 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
20208         Check list object type if --enable-gcc-warnings
20210         * configure.ac (--enable-check-lisp-object-type):
20211         Default to "yes" if --enable-gcc-warnings is not "no".
20212         * etc/NEWS: Mention this.
20213         * src/eval.c (internal_lisp_condition_case): Fix some glitches
20214         with 'volatile' uncovered by the above: in particular, 'clauses'
20215         should be a pointer to volatile storage on the stack, and need not
20216         be volatile itself.  Use an int, not ptrdiff_t, to count clauses.
20217         Don’t bother gathering binding count if VAR is nil.  Use
20218         more-specific local names to try to clarify what’s going on.
20220 2017-05-02  Glenn Morris  <rgm@gnu.org>
20222         Tweak auth-source-pass.el to avoid run-time subr-x
20224         * lisp/auth-source-pass.el (auth-source-pass--parse-data):
20225         Avoid needing subr-x at run-time.
20227 2017-05-02  Charles A. Roelli  <charles@aurox.ch>
20229         Constrain non-child frames to screen area in OS X
20231         * src/nsterm.m (constrainFrameRect:toScreen:): Constrain non-child
20232         frames in OS X, if they would otherwise go offscreen.
20234         (Bug#25818)
20236 2017-05-02  Michael Albinus  <michael.albinus@gmx.de>
20238         Fix error in completion for separate Tramp syntax
20240         * lisp/net/tramp.el (tramp-completion-file-name-regexp-separate):
20241         Tweak regexp.
20243         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
20244         Run method and host name completion for all syntaxes.
20246 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
20248         Avoid compilation warnings
20250         * src/w32fns.c (Fx_file_dialog, w32_parse_and_hook_hot_key):
20251         * src/w32term.c (x_draw_glyph_string):
20252         * src/w32fns.c (compute_tip_xy):
20253         * src/w32font.c (w32font_text_extents):
20254         * src/w32menu.c (set_frame_menubar):
20255         * src/search.c (Freplace_match): Avoid compiler warnings in
20256         optimized builds.
20258 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
20260         Merge from gnulib
20262         This incorporates:
20263         2017-05-02 utimens: port to Emacs + MS-Windows
20264         * lib/utimens.c: Copy from gnulib.
20266 2017-05-02  Gemini Lasswell  <gazally@runbox.com>
20268         Fix Edebug specs for 'cl-defmethod' and 'defmethod'
20270         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Change Edebug spec
20271         to make Edebug generate a new symbol for each method (Bug#24753) and
20272         to support a string following :extra (Bug#23995).
20273         * lisp/emacs-lisp/eieio-compat.el (defmethod): Change Edebug spec to
20274         make Edebug generate a new symbol for each method (Bug#24753).
20276 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
20278         Temporary fix for the MS_Windows build
20280         * nt/inc/ms-w32.h (WIN32_LEAN_AND_MEAN): Define to an empty value,
20281         to be consistent with Gnulib's utimens.c.  This is because utimens.c
20282         unconditionally defines WIN32_LEAN_AND_MEAN to an empty value, so the
20283         previous definition here conflicted with that.
20285 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
20287         Port format-time-string to MS-Windows better
20289         * test/src/editfns-tests.el (format-time-string-with-zone):
20290         Port test cases to MS-Windows.
20292 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
20294         Merge from gnulib
20296         This incorporates:
20297         2017-05-01 New module 'localtime-buffer'
20298         2017-04-30 utimens: Add support for native Windows
20299         * admin/merge-gnulib (AVOIDED_MODULES): Add tzset.
20300         * configure.ac (tzset): No need for Emacs itself to check now.
20301         * lib/gettimeofday.c, lib/time.in.h, lib/time_rz.c, lib/utimens.c:
20302         * m4/gettimeofday.m4, m4/time_h.m4, m4/time_rz.m4: Copy from gnulib.
20303         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
20304         * lib/localtime-buffer.c, lib/localtime-buffer.h:
20305         * m4/localtime-buffer.m4: New files, copied from gnulib.
20306         * src/editfns.c (init_editfns): Assume tzset is callable.
20308 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
20310         Speed up project-find-regexp for simple regexps
20312         * lisp/progmodes/xref.el (xref--regexp-syntax-dependent-p):
20313         New function.
20314         (xref--collect-matches): Use it.  Don't try to enable the
20315         appropriate major mode and file-local variables if the regexp
20316         does not depend on the buffer's syntax (bug#26710).
20317         (xref--collect-matches-1): Don't syntax-propertize in that
20318         case either.
20320 2017-05-01  Philipp Stephani  <phst@google.com>
20322         Warn about missing backslashes during load
20324         * src/lread.c (load_warn_unescaped_character_literals, Fload, read1)
20325         (syms_of_lread): Warn if unescaped character literals are
20326         found (Bug#20152).
20327         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Check for
20328         unescaped character literals during byte compilation.
20329         * test/src/lread-tests.el (lread-tests--unescaped-char-literals): New
20330         unit test.
20331         (lread-tests--with-temp-file, lread-tests--last-message): Helper
20332         functions for unit test.
20333         * test/lisp/emacs-lisp/bytecomp-tests.el
20334         (bytecomp-tests--unescaped-char-literals): New unit test.
20335         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file):
20336         Helper macro for unit test.
20338 2017-05-01  Ken Brown  <kbrown@cornell.edu>
20340         * configure.ac: Suggest Mailutils on Cygwin.
20342 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
20344         Don’t stress-test time zones near the Epoch
20346         * test/src/editfns-tests.el (format-time-string-with-zone)
20347         (format-time-string-with-outlandish-zone): Don’t format
20348         timestamps near the Epoch, as this runs into bugs on MS-Windows,
20349         and we don’t want to worry about those bugs.
20351 2017-05-01  Glenn Morris  <rgm@gnu.org>
20353         Tweak vc-tests.el for bzr
20355         * test/lisp/vc/vc-tests.el (vc-test--working-revision):
20356         Handle test environments where HOME does not exist.
20358 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
20360         vc-git-state: Return `ignored' as appropriate with newer Git
20362         * lisp/vc/vc-git.el
20363         (vc-git--program-version): New variable.
20364         (vc-git--program-version): New function.
20365         (vc-git-state): Use it to choose whether to add '--ignored' (bug#19343).
20367 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
20369         vc-git-state: Bring back CentOS 6 compatibility
20371         * lisp/vc/vc-git.el (vc-git-state):
20372         Bring back CentOS 6 compatibility (bug#19343).
20374 2017-05-01  Martin Rudalics  <rudalics@gmx.at>
20376         Rewrite w32fns.c's `x_set_menu_bar_lines'
20378         * src/w32fns.c (x_set_menu_bar_lines): Redraw frame immediately
20379         regardless of whether menu bar is added or removed.  Clear
20380         under internal border iff a W32 window exists.  Store either 0
20381         or 1 as new parameter value.
20382         (x_change_tool_bar_height): Use FRAME_W32_WINDOW instead of
20383         FRAME_X_WINDOW.
20385 2017-05-01  Michael Albinus  <michael.albinus@gmx.de>
20387         Fix filenotify-tests.el for cygwin
20389         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
20390         Add an additional `sit-for'.
20391         (file-notify-test02-rm-watch): Add an additional
20392         `file-notify--test-read-event' call.
20394 2017-05-01  Jonathan Ganc  <jonganc@gmail.com>
20396         Speed up vc-git-status and make it more precise
20398         * lisp/vc/vc-git.el (vc-git-state)
20399         (vc-git--git-status-to-vc-state): Update 'vc-git-state' to use
20400         'git status', so that 'vc-git-state' can now return 'ignored',
20401         'conflict', or 'unregistered' when appropriate.  Discussed in
20402         bug#26066.  Fixes bug#19343.
20404 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
20406         Fix Git revision navigation in currently removed directories
20408         * lisp/vc/vc-git.el (vc-git-next-revision): Use the repo root as
20409         default-directory because FILE's parent directory might not exist
20410         anymore (bug#26345).
20412 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
20414         Merge from gnulib
20416         This incorporates:
20417         2017-04-30 strftime-fixes: New module
20418         2017-04-30 mktime: Work around TZ problem on native Windows
20419         2017-04-30 ctime, localtime: New modules
20420         2017-04-30 gettimeofday: Provide higher resolution on native Windows
20421         2017-04-29 utime-h: Modernize handling of 'struct utimbuf'
20422         2017-04-29 Make use of module 'utime-h'
20423         2017-04-30 Fix a few typos
20424         * admin/merge-gnulib (AVOIDED_MODULES): Avoid utime-h, too.
20425         * lib/gettimeofday.c, lib/mktime.c, lib/time.in.h, lib/utimens.c:
20426         * m4/gettimeofday.m4, m4/include_next.m4, m4/mktime.m4:
20427         * m4/strftime.m4, m4/time_h.m4, m4/timegm.m4, m4/utimens.m4:
20428         Copy from gnulib.
20429         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
20431 2017-04-30  Eli Zaretskii  <eliz@gnu.org>
20433         Don't lose key bindings on mis-spelled text in flyspell-mode
20435         * lisp/textmodes/flyspell.el (flyspell-mouse-map): Bind mouse-2
20436         explicitly.
20437         (make-flyspell-overlay): If the mis-spelled text already has a
20438         'keymap' property, make that keymap the parent of
20439         flyspell-mouse-map, so as not to lose the parent's bindings.
20440         (Bug#26672)
20442 2017-04-30  Martin Rudalics  <rudalics@gmx.at>
20444         Fix `delete-frame' behavior including Bug#26682
20446         * src/frame.c (other_frames): Accept two arguments now.  Don't
20447         care about minibuffer window.  Don't care about visibility when
20448         called from delete_frame with FORCE true (Bug#26682).
20449         (delete_frame, Fmake_frame_invisible): Adjust other_frames
20450         calls.
20451         * src/w32term.c (w32_read_socket): Don't add a move frame event
20452         for an invisible frame.
20453         * lisp/frame.el (handle-delete-frame): Don't kill Emacs when
20454         attempting to delete a surrogate minibuffer frame.
20456 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
20458         Merge from gnulib
20460         This avoids incorporating the following, which I suspect are
20461         more trouble for Emacs than they’re worth:
20462         2017-04-29 stat, fstat: fix time_t etc. on native Windows platforms
20463         * admin/merge-gnulib (AVOIDED_MODULES): Avoid stat, too.
20464         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
20465         * lib/pathmax.h, lib/stat.c, m4/pathmax.m4, m4/stat.m4: Remove.
20467 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
20469         Fix buffer overflow in make-docfile
20471         * lib-src/make-docfile.c (scan_c_stream): Check for buffer
20472         overflow when reading an identifier.  Use a static buffer for NAME
20473         rather than a small dynamically-allocated buffer.
20475 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
20477         Merge from gnulib
20479         This incorporates:
20480         2017-04-29 getopt: port to Solaris 10 with circa-1997 glibc getopt.h
20481         * lib/getopt-pfx-ext.h: Copy from gnulib.
20482         * lib/gnulib.mk.in: Regenerate.
20484 2017-04-30  Tino Calancha  <tino.calancha@gmail.com>
20486         Fix dependency error during bootstrap
20488         * lisp/files.el: Require pcase and easy-mmode at compile time.
20490 2017-04-30  Mats Lidell  <mats.lidell@cag.se>
20492         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
20494 2017-04-29  Philipp Stephani  <phst@google.com>
20496         Reimplement auto-saving to visited files
20498         This reacts to confusing behavior of 'auto-save-visited-file-name',
20499         cf. Bug#25478.
20501         * lisp/files.el (auto-save-visited-interval): New customization option.
20502         (auto-save-visited-mode): New global minor mode.
20503         (auto-save-visited-file-name): Make obsolete.
20504         (auto-save--timer): New internal helper variable.
20506         * doc/emacs/files.texi (Auto Save Files): Document
20507         'auto-save-visited-mode' instead of obsolete
20508         'auto-save-visited-file-name'.
20509         (Auto Save Control): Document customization option
20510         'auto-save-visited-interval'.
20512 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
20514         Allow bypassing of some checks when merging
20516         * build-aux/git-hooks/pre-commit: Don't check merged-in changes.
20518 2017-04-29  Philipp Stephani  <phst@google.com>
20520         Integrate module test with normal test suite
20522         * test/Makefile.in (ELFILES): Exclude module test if modules aren't
20523         configured.
20524         (EMACS_TEST_DIRECTORY): Expand test directory so that it's set
20525         correctly even if Emacs changes the current directory.
20526         ($(srcdir)/src/emacs-module-tests.log)
20527         ($(test_module)): Proper dependency tracking for test module.
20529         * test/data/emacs-module/Makefile (ROOT): Adapt to new location.
20530         Remove 'check' target and EMACS variable, which are no longer
20531         necessary.
20532         (SO): Change to include period.
20534         * test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
20535         environment variable to reliably find test data.
20537         * configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
20538         substitutions.
20540 2017-04-28  Glenn Morris  <rgm@gnu.org>
20542         Broaden comint-password-prompt-regexp
20544         * lisp/comint.el (comint-password-prompt-regexp):
20545         Broaden the regexp, for non-English locales.  (Bug#26698)
20547 2017-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20549         * lisp/auth-source.el (auth-source-backend-parse): `return' -> cl-return.
20551 2017-04-28  Bartosz Duszel  <bartosz.duszel@gmail.com>
20553         Don't pass the value of point to 'push-mark', as that's the default.
20555         * lisp/textmodes/bib-mode.el (mark-bib):
20556         * lisp/simple.el (mark-whole-buffer, yank):
20557         * lisp/ses.el (ses--advice-yank, ses-mark-row, ses-mark-column):
20558         * lisp/progmodes/xscheme.el (xscheme-yank):
20559         * lisp/progmodes/verilog-mode.el (verilog-mark-defun):
20560         * lisp/progmodes/perl-mode.el (perl-mark-function):
20561         * lisp/progmodes/pascal.el (pascal-mark-defun):
20562         * lisp/progmodes/meta-mode.el (meta-mark-defun):
20563         * lisp/progmodes/icon.el (mark-icon-function):
20564         * lisp/progmodes/cc-cmds.el (c-mark-function):
20565         * lisp/obsolete/vip.el (ex-goto):
20566         * lisp/obsolete/vi.el (vi-put-before):
20567         * lisp/mouse.el (mouse-yank-primary):
20568         * lisp/menu-bar.el (menu-bar-select-yank):
20569         * lisp/mail/sendmail.el (mail-yank-original):
20570         * lisp/hexl.el (hexl-beginning-of-buffer, hexl-end-of-buffer):
20571         * lisp/emulation/viper-cmd.el (viper-mark-beginning-of-buffer)
20572         (viper-mark-end-of-buffer):
20573         * lisp/cedet/semantic/senator.el (senator-mark-defun):
20574         * lisp/allout.el (allout-mark-topic): Remove unnecessary argument
20575         `(point)' from calls to `push-mark'.  (Bug#25565)
20577 2017-04-28  Glenn Morris  <rgm@gnu.org>
20579         Merge from origin/emacs-25
20581         784602b1050 (origin/emacs-25) ; Add release notice
20582         3a34412caae (tag: emacs-25.2) Set Emacs version to 25.2 and update AU...
20583         56a4461a48d ; Move stray item from admin/notes/repo to CONTRIBUTE
20584         2b0d1118199 ; CONTRIBUTE: Remove stray header.
20585         f2ab09ec60d Fix a typo in indexing the user manual
20586         bc55a574235 * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
20587         a6d50401b4b Document 'line-pixel-height'
20588         0c55cf43e61 * search.c (Fre_search_forward, Fre_search_backward): Imp...
20589         c7ed57eaef4 Mention that processes start in default-directory (Bug#18...
20590         856ec9ffa1f * src/xdisp.c (vmessage, message): Clarify commentary.
20591         849a0aaa1c9 Belated fixes for admin.el's M-x make-manuals-dist
20592         84938d79698 default-directory: Remark that it must be a directory name
20593         3f0d047d2eb Delete confuse statement in manual
20594         ee1bd94dd0c Improve packaging documentation
20595         fb18bff91f0 Expand manual section on quitting windows
20596         9a737079645 Fix docstring of dabbrev-abbrev-char-regexp
20597         afe8849bac1 * doc/misc/cl.texi (Iteration Clauses): Clarify example (...
20598         ada79442c07 ;* doc/misc/info.texi (Choose menu subtopic): Improve ind...
20599         d38fd9229c0 Narrow scope of modification hook renabling in org-src fo...
20600         e0e9db4c84a ; Spelling fix
20602         # Conflicts:
20603         #       README
20604         #       etc/AUTHORS
20605         #       etc/HISTORY
20606         #       lisp/ldefs-boot.el
20608 2017-04-28  Glenn Morris  <rgm@gnu.org>
20610         * doc/misc/auth.texi: Commas don't work in node names.
20612         * test/lisp/auth-source-pass-tests.el: Fix loading of cl-lib.
20614 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
20616         Test format-time-string with zone arg
20618         * test/src/editfns-tests.el (format-time-string-with-zone)
20619         (format-time-string-with-outlandish-zone): New tests.
20621 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
20623         Merge from gnulib
20625         This incorporates:
20626         2017-04-24 time_rz: fix heap buffer overflow vulnerability
20627         2017-04-23 stat-time: Update comments.
20628         2017-04-22 ftoastr: cite a newer paper
20629         2017-04-21 gettext-h: Avoid -Wundef warning.
20630         * lib/ftoastr.c, lib/gettext.h, lib/stat-time.h, lib/time_rz.c:
20631         * m4/getopt.m4: Copy from gnulib.
20632         * m4/gnulib-comp.m4: Regenerate.
20634 2017-04-27  Damien Cassou  <damien@cassou.me>
20636         auth-source-pass: Add documentation; fix tests and indentation.
20638         * doc/misc/auth.texi: Document new integration with Pass. Use @itemize
20639           instead of @enumerate.
20640         * lisp/auth-source-pass.el: Fix indentation.
20641           (auth-source-pass--remove-directory-name): Remove.
20642         * test/lisp/auth-source-pass-tests.el: Adjust test macros.
20644 2017-04-27  foudfou  <foudil.newbie+git@gmail.com>
20646         auth-source-pass: Enable finding entries by "host/username"
20648         * lisp/auth-source-pass.el: Enable finding entries by "host/username".
20649         * test/lisp/auth-source-pass-tests.el: Adjust tests to check it.
20651 2017-04-27  Damien Cassou  <damien@cassou.me>
20653         Integrate auth-source with password-store
20655         * lisp/auth-source-pass.el: auth-source backend for password-store.
20656         * test/lisp/auth-source-pass-tests.el: Tests for auth-source-pass
20657           behavior.
20659 2017-04-27  Damien Cassou  <damien@cassou.me>
20661         * lisp/auth-source.el: Document parser functions.
20663 2017-04-27  Ted Zlatanov  <tzz@lifelogs.com>
20665         auth-source: factor out parsers and add tests
20667         * lisp/auth-source.el: Factor out the source parsers. Clean up comments.
20668         * test/lisp/auth-source-tests.el: Add tests.
20670 2017-04-27  Martin Rudalics  <rudalics@gmx.at>
20672         Fix doc and customization type of `window-combination-limit' (Bug#26673)
20674         * src/window.c (Vwindow_combination_limit): Fix doc-string.
20675         * lisp/cus-start.el (window-combination-limit): Fix
20676         customization type.
20677         * doc/lispref/windows.texi (Recombining Windows): Fix
20678         documentation of `window-combination-limit'.
20680 2017-04-27  Tino Calancha  <tino.calancha@gmail.com>
20682         Drop face from hi-lock--unused-faces only when used
20684         * lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is already
20685         highlighted, then push FACE into hi-lock--unused-faces (Bug#26666).
20686         * test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.
20688 2017-04-26  Alan Third  <alan@idiocy.org>
20690         Fix macOS version check (bug#26664)
20692         * src/nsterm.m (initFrameFromEmacs): Prevent window tabbing mode on
20693         macOS versions 10.12+.
20695 2017-04-26  Glenn Morris  <rgm@gnu.org>
20697         Make charprop.el provide a feature
20699         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
20700         Provide a feature.
20701         * lisp/loadup.el: Use the charprop feature.
20703 2017-04-26  Glenn Morris  <rgm@gnu.org>
20705         * lisp/loadup.el: Get charprop.el into etc/DOC again.
20707 2017-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
20709         * lisp/ido.el (ido-everywhere): Use add-function.
20711 2017-04-26  Martin Rudalics  <rudalics@gmx.at>
20713         Try to fix latest fix of w32_mouse_position
20715         * src/w32term.c (w32_mouse_position): Fix a bug introduced by
20716         latest fix and try to make the affected code more rigorous.
20718 2017-04-26  Eli Zaretskii  <eliz@gnu.org>
20720         Avoid segfaults when 'find-font' is invoked for a TTY frame
20722         * src/font.c (font_pixel_size): Don't call GUI functions if F is a
20723         text-mode frame.  (Bug#26646)
20725 2017-04-26  Michael Albinus  <michael.albinus@gmx.de>
20727         * lisp/net/tramp.el (tramp-set-connection-local-variables-for-buffer):
20729         New defun.
20731 2017-04-26  Glenn Morris  <rgm@gnu.org>
20733         * src/Makefile.in (leimdir): Remove variable, no longer used.
20735 2017-04-26  Glenn Morris  <rgm@gnu.org>
20737         Generate leim-list via lisp/Makefile, not src/Makefile
20739         * src/Makefile.in ($(leimdir)/leim-list.el): Remove rule.
20740         (emacs$(EXEEXT)): Don't depend on leim-list.
20741         * lisp/Makefile.in ($(lisp)/loaddefs.el): Depend on gen-lisp again.
20743 2017-04-25  Alan Third  <alan@idiocy.org>
20745         Fix define for GNUstep builds
20747         * src/nsterm.m (initFrameFromEmacs): Fix the ifdef so that GNUstep
20748         doesn't see the code.
20750 2017-04-25  Glenn Morris  <rgm@gnu.org>
20752         Suppress intermittent test failure on hydra
20754         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
20755         (eieio-test-method-order-list-6): Skip on hydra.
20757 2017-04-25  Alan Third  <alan@idiocy.org>
20759         Fix some NS frame handling issues
20761         * src/nsterm.m (FRAME_DECORATED_FLAGS, FRAME_UNDECORATED_FLAGS): New
20762         defines intended to make things tidier.
20763         (x_set_undecorated): Use the new defines.
20764         (windowWillResize): Don't use new macOS 12+ only feature.
20765         (initFrameFromEmacs): Use the new defines, and disable automatic
20766         window tabbing feature in macOS 12.
20767         (x_set_undecorated, x_set_parent_frame, x_set_no_accept_focus,
20768         x_set_z_group): Add NSTRACE notices.
20770 2017-04-25  Glenn Morris  <rgm@gnu.org>
20772         Avoid parallel race condition
20774         * lisp/Makefile.in ($(lisp)/loaddefs.el): Remove gen-lisp for now.
20776 2017-04-25  Glenn Morris  <rgm@gnu.org>
20778         Generate each unicode lisp file independently
20780         This is better for parallel builds, eg it eliminates race
20781         conditions from having one process write multiple files.
20782         * admin/unidata/Makefile.in (lparen, unifiles): New variables.
20783         Parse unidata-gen.el, not charprop.el, to get the list of uni- files.
20784         (all): Explicitly list the output lisp files.
20785         (PHONY_EXTRAS): Remove.
20786         (${unidir}/charprop.el): Change rule to just be for this file.
20787         (${unifiles}): New rule to write each unicode lisp file.
20788         (extraclean): Simplify.
20789         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
20790         Quieten in batch mode.
20791         (unidata-gen-files): Remove, no longer used.
20792         * lisp/loadup.el: Update command-line parser.
20794 2017-04-25  Glenn Morris  <rgm@gnu.org>
20796         Further refactoring in unidata-gen.el
20798         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
20799         New function, split from unidata-gen-files.
20800         (unidata-gen-files): Use unidata-gen-charprop.
20802 2017-04-25  Glenn Morris  <rgm@gnu.org>
20804         Allow unidata-gen-file to work independently
20806         * admin/unidata/unidata-gen.el (unidata-gen-file):
20807         Make it work as a stand-alone function in batch mode.
20808         (unidata-gen-files): Pass extra arguments to unidata-gen-file.
20810 2017-04-25  Glenn Morris  <rgm@gnu.org>
20812         Preparatory refactoring in unidata-gen.el
20814         * admin/unidata/unidata-gen.el (unidata-gen-file):
20815         New function, split from unidata-gen-files.
20816         (unidata-gen-files): Use unidata-gen-file.
20818 2017-04-25  Glenn Morris  <rgm@gnu.org>
20820         Write each generated character property lisp file only once
20822         * admin/unidata/unidata-gen.el (unidata-file-alist):
20823         Rename from unidata-prop-alist.  All users changed.
20824         Use file name rather than property name as the key.
20825         (unidata-prop-prop): New function.
20826         (unidata-prop-index, unidata-prop-generator, unidata-prop-docstring)
20827         (unidata-prop-describer, unidata-prop-default, unidata-prop-val-list):
20828         Change to parse the argument rather than unidata-prop-alist.
20829         (unidata-gen-table-character, unidata-gen-table)
20830         (unidata-gen-table-symbol, unidata-gen-table-integer)
20831         (unidata-gen-table-numeric, unidata-gen-table-word-list)
20832         (unidata-gen-table-name, unidata-gen-table-decomposition)
20833         (unidata-gen-table-special-casing): Pass index as an argument.
20834         (unidata-check): Adapt to unidata-file-alist.
20835         Pass index to generator functions.
20836         (unidata-gen-files): Adapt to unidata-file-alist.
20837         Write each output file once only.  Overwrite rather than delete.
20839 2017-04-25  Andrew G Cohen  <cohen@andy.bu.edu>
20841         Fix requesting sparse articles in gnus
20843         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Delete the
20844         sparse article number from the list, not its id.
20846 2017-04-25  Glenn Morris  <rgm@gnu.org>
20848         Don't advertise s_client in tls.el docs
20850         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
20851         Don't mention s_client in docs.
20853 2017-04-25  Rob Browning  <rlb@defaultvalue.org>
20855         Remove s_client usage from tls.el
20857         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
20858         Ref http://bugs.debian.org/766397
20859         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
20861 2017-04-25  Glenn Morris  <rgm@gnu.org>
20863         Further robustify cedet bootstrap to loaddefs not yet built
20865         * lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
20866         Avoid void-function error when bootstrapping and semantic/loaddefs.el
20867         does not yet exist.
20869 2017-04-24  Alan Third  <alan@idiocy.org>
20871         Fix XBM colour rendering in NS port (bug#22060)
20873         src/nsimage.m (setXBMColor): Fix calculation of xbm_fg.
20875 2017-04-24  Vibhav Pant  <vibhavp@gmail.com>
20877         Add support for IRCv3 message tags.
20879         * lisp/erc/erc-backend.el:
20880           erc-response: Add `tags' element.
20881           Add (erc-parse-tags).
20882           (erc-parse-server-response): Use (erc-parse-tags) to parse message
20883           tags (if any), and store them in `erc-resopnse' struct.
20885         * lisp/erc/erc.el: (erc-display-message): Expose message tags with text
20886           properties of the corresponding message line.
20888 2017-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
20890         Add image sizing tests for an image that's narrow
20892         Needlessly refactor tests for clarity
20894 2017-04-23  Philipp Stephani  <phst@google.com>
20896         Add missing remappings for Ido mode
20898         Among others, add a remapping for C-x 4 d, cf. Bug#26360.
20900         * lisp/ido.el (ido-mode): Remap missing commands.
20901         (ido-file-internal, ido-visit-buffer): Add support for new
20902         methods.
20903         (ido-display-buffer-other-frame)
20904         (ido-find-alternate-file-other-window, ido-dired-other-window)
20905         (ido-dired-other-frame): New commands.
20907         * test/lisp/ido-tests.el (ido-tests--other-window-frame): Add unit
20908         test for the bindings.
20910 2017-04-23  Martin Rudalics  <rudalics@gmx.at>
20912         Let w32_mouse_position pick a child window only if it has a child frame
20914         * src/w32term.c (w32_mouse_position): When using a frame found
20915         by ChildWindowFromPoint make sure it's a child frame (Bug#26615,
20916         maybe).
20918 2017-04-23  Noam Postavsky  <npostavs@gmail.com>
20920         Don't require bytecomp for running ert tests
20922         "Fix ert-tests when running compiled" 2016-12-06 accidentally
20923         introduced a dependency on `bytecomp' into `ert'.  As mentioned in
20924         "Avoid ert test failures" 2017-04-18, the accidental dependency of ert
20925         on bytecomp was masked by loading other libraries until recently.
20927         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Only use
20928         `byte-compile-macro-environment' if it's bound.
20929         * test/src/eval-tests.el: Add defvar for dynamic variable
20930         `byte-compile-debug'.
20932 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
20934         Eliminate unneeded warp-to-article in gnus article referral
20936         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread):
20937         (gnus-summary-refer-article): Remove gnus-warp-to article call.
20939 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
20941         Allow limiting gnus summary buffers to a thread
20943         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Include
20944         an optional argument to allow limiting the summary buffer to just the
20945         thread-related articles.
20946         (gnus-refer-thread-limit-to-thread): Introduce customizable variable
20947         to control whether thread-referral adds the thread to the summary
20948         buffer or limits to just the thread.
20949         (gnus-summary-refer-thread): Use the new variable.
20951 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
20953         Correct gnus-newsgroup-limits in gnus when including thread
20955         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Should
20956         only add one list of thread-related articles to gnus-newsgroup-limits
20957         rather than two.
20959 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
20961         Improve gnus thread matching of similar subjects
20963         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread):
20964         Use the more liberal gnus-general-simplify-subject regexp to
20965         find thread articles with similar subjects.
20967 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
20969         Add new `lisp-indent-region' that doesn't reparse the code.
20971         Both `lisp-indent-region' and `lisp-indent-line' now use `syntax-ppss'
20972         to get initial state, so they will no longer indent string literal
20973         contents.
20975         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): New function, like
20976         `syntax-ppss', but with a more dependable item 2.
20977         (lisp-indent-region): New function, like `indent-region-line-by-line'
20978         but additionally keep a running parse state to avoid reparsing the
20979         code repeatedly.  Use `lisp-ppss' to get initial state.
20980         (lisp-indent-line): Take optional PARSE-STATE argument, pass it to
20981         `calculate-lisp-indent', use `lisp-ppss' if not given.
20982         (lisp-mode-variables): Set `indent-region-function' to
20983         `lisp-indent-region'.
20985 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
20987         Remove ignored argument from lisp-indent-line
20989         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Remove WHOLE-EXP
20990         argument, the behavior has long since been handled in
20991         `indent-for-tab-command'.  Also remove redundant `beg' and `shift-amt'
20992         variables and use `indent-line-to'.
20994 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
20996         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Clean up marker.
20998 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
21000         Don't reparse the sexp in indent-sexp (Bug#25122)
21002         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Let
21003         PARSE-START be a parse state that can be reused.
21004         (indent-sexp): Pass the running parse state to calculate-lisp-indent
21005         instead of the sexp beginning position.  Saving the
21006         CONTAINING-SEXP-START returned by `calculate-lisp-indent' is no longer
21007         needed.  Don't bother stopping if we don't descend below init-depth,
21008         since we now alway scan the whole buffer (via syntax-ppss) anyway.
21009         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): Add blank
21010         line to test case.
21012 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
21014         Add cond test cases for singleton clauses.
21016         * test/lisp/emacs-lisp/bytecomp-tests.el: Add test cond forms where
21017           the default clause is a single non-nil expression.
21019 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
21021         b-c--cond-jump-table-info: Use correct body for singleton clauses
21023         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
21024         When a clause's body consists of a single constant expression, use
21025         that expression as the body to be compiled. This fixes switch bytecode
21026         evaluating to nil to such clauses.
21028 2017-04-22  Philipp Stephani  <phst@google.com>
21030         ffap: Don't switch window unless needed
21032         When using ffap-other-window, don't change the window configuration
21033         unless a new buffer has actually been created (Bug#25352).
21035         * lisp/ffap.el (ffap-other-frame): Don't change the window
21036         configuration if no new buffer has been created.
21037         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352): Add unit
21038         test.
21040 2017-04-22  Alan Mackenzie  <acm@muc.de>
21042         Fix fontification of C++ declaration with type FOO::FOO.
21044         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Initialize
21045         cfd-top-level properly.
21046         (c-forward-decl-or-cast-1): On finding FOO::FOO, check it is followed by "("
21047         before deciding it is a constructor.
21049         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Negate the
21050         result of the c-bs-at-toplevel-p call passed to c-font-lock-declarators
21051         (simple bug fix).
21053 2017-04-22  Philipp Stephani  <phst@google.com>
21055         Fix usage of FRAME_Z_GROUP
21057         * src/nsterm.m (initFrameFromEmacs:): FRAME_Z_GROUP does not return a
21058         Lisp object, cf. Bug#26597.
21060 2017-04-22  Alan Third  <alan@idiocy.org>
21062         Fix GNUstep build
21064         * src/nsfns.m (Fns_frame_z_list_order): Rewrite for GNUstep
21065         compatibility.
21066         * src/nsmenu.m (update_frame_tool_bar): Remove unused variable.
21068 2017-04-21  Alan Third  <alan@idiocy.org>
21070         Add no-accept-focus and frame-list-z-order to NS port
21072         * lisp/frame.el (frame-list-z-order): Add NS.
21073         * src/nsfns.m: Add x_set_no_accept_focus to handler struct.
21074         (Fx_create_frame): Handle no-accept-focus parameter.
21075         (ns_window_is_ancestor):
21076         (Fns_frame_list_z_order): New functions.
21077         * src/nsterm.m (x_set_no_accept_focus): New function.
21078         (initFrameFromEmacs): Use EmacsWindow instead of EmacsFSWindow for
21079         non-fullscreen windows.
21080         (EmacsWindow:canBecomeKeyWindow): New function.
21082 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
21084         Improve prefix handling for dash.el
21086         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
21087         Don't drop dash's "-<letter>" prefixes.
21089 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
21091         * lisp/emacs-lisp/cl-macs.el: Fix symbol-macrolet
21093         Revert 0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1 (to fix bug#26325)
21094         and use a different fix for bug#26068.
21095         (cl--symbol-macro-key): New function.
21096         (cl--sm-macroexpand, cl-symbol-macrolet): Use it instead of `symbol-name`.
21097         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet):
21098         Failure is not expected any more.
21100 2017-04-21  Eli Zaretskii  <eliz@gnu.org>
21102         Avoid infinite loop in redisplay when header-line-format is invalid
21104         * src/xdisp.c (handle_invisible_prop): Avoid inflooping when the
21105         string has an invalid %-construct in it and is displayed as part
21106         of mode-line or header-line.  (Bug#26586)
21108 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
21110         Add tests to check image scaling functionality
21112         This is in preparation to doing further work in this area to avoid
21113         regressions.
21115         * test/data/image/blank-200x100.png: New file for testing
21116         image scaling.
21118         * test/manual/image-size-tests.el: New file.
21120 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
21122         Allow svg-image to take all create-image PROPS
21124         * lisp/svg.el (svg-image): Allow passing in PROPS when
21125         creating an image for convenience.
21127 2017-04-21  George D. Plymale II  <georgedp@orbitalimpact.com>  (tiny change)
21129         Treat non-erroring lisp call as successful eshell command (Bug#26161)
21131         This lets a compound command like 'cd .. && echo ok' print 'ok',
21132         similar to how most other shells behave.
21134         * lisp/eshell/esh-cmd.el (eshell-exit-success-p): Only check if the
21135         last exit code was zero, rather than first checking whether the last
21136         command returned nil.
21137         (eshell-exec-lisp): Set `eshell-last-command-status' to 1 on error.
21139 2017-04-21  Reuben Thomas  <rrt@sc3d.org>
21141         Fix reading of tab settings in whitespace-mode
21143         lisp/whitespace.el (whitespace-indent-tabs-mode)
21144         whitespace-tab-width): Remove these variables. The underlying
21145         variables `indent-tabs-mode' and `tab-width' are already buffer-local
21146         when needed, and whitespace-mode never changes them.
21147         (whitespace-ensure-local-variables): Remove this function, which only
21148         existed to set the above variables.
21149         (whitespace-cleanup-region, whitespace-regexp)
21150         (whitespace-indentation-regexp, whitespace-report-region)
21151         (whitespace-turn-on, whitespace-color-on): Adjust these functions to
21152         use `indent-tabs-mode' and `tab-width' directly, and not call
21153         `whitespace-ensure-local-variables'.
21155 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
21157         * lisp/vc/vc-hg.el (vc-hg-state-fast): Fix compiler warning
21159         by simplifying ascii-test.
21161 2017-04-20  Vibhav Pant  <vibhavp@gmail.com>
21163         bytecomp: Don't inline functions that use byte-switch (Bug#26518)
21165         * lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): Don't inline
21166           FORM if the bytecode uses the byte-switch instruction. It is
21167           impossible to guess the correct stack depth while inlining such
21168           bytecode, resulting in faulty code.
21170 2017-04-20  Nicolas Petton  <nicolas@petton.fr>
21172         Set Emacs version to 25.2 and update AUTHORS file
21174         * README: Set Emacs version to 25.2.
21175         * etc/HISTORY: Add release log.
21176         * lisp/ldefs-boot.el:
21177         * etc/AUTHORS:
21178         * ChangeLog.2: Update.
21180 2017-04-20  Noam Postavsky  <npostavs@gmail.com>
21182         Don't register "def" as an autoload prefix (Bug#26412)
21184         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Don't
21185         accept "def" as a prefix.
21187 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
21189         Use substring completion for Info menus and index
21191         * lisp/info.el (Info-complete-menu-item): Add `category' metadata.
21192         (Info-menu): Simplify now that we use the `default' arg of completing-read.
21193         * lisp/minibuffer.el (completion-category-defaults): Use substring
21194         completion for `info-menu`.
21196 2017-04-19  Glenn Morris  <rgm@gnu.org>
21198         Remove some explicit runtime loads of pcase
21200         Pcase is macros, so these should have used eval-when-compile.
21201         Anyway, pcase entry points are autoloaded, so the compiler handles it.
21202         * lisp/profiler.el, lisp/emacs-lisp/eieio-core.el:
21203         * lisp/emacs-lisp/generator.el, lisp/emacs-lisp/subr-x.el:
21204         * lisp/progmodes/xref.el: No need to require pcase.
21206 2017-04-19  Glenn Morris  <rgm@gnu.org>
21208         Stop cl-lib loading pcase at runtime
21210         The cause was an unexpanded pcase-defmacro in cl-loaddefs.
21211         * lisp/emacs-lisp/autoload.el (make-autoload):
21212         Treat pcase-defmacro like defmacro.
21214 2017-04-19  Alan Third  <alan@idiocy.org>
21216         Note frame documentation exceptions for NS builds
21218         * doc/lispref/frames.texi (Management Parameters, Child Frames): Note
21219         NS differences.
21221 2017-04-19  Alan Third  <alan@idiocy.org>
21223         Fix bug introduced by my last commit
21225         * src/nsterm.m (ns_draw_fringe_bitmap): Revert key-mashing accident.
21227 2017-04-19  Alan Third  <alan@idiocy.org>
21229         Add new frame functionality to NS port
21231         * lisp/frame.el (frame-restack): Call ns-frame-restack.
21232         * src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]: Enable
21233         MOVE_FRAME_EVENT handling.
21234         * src/frame.h:
21235         * src/frame.c: Enable 'z-group', 'undecorated' and 'parent' frame
21236         definitions.
21237         * src/nsfns.m: Add x_set_z_group, x_set_parent_frame and
21238         x_set_undecorated (Cocoa only) to handler struct.
21239         (Fx_create_frame): Handle 'z-group', 'parent-frame' and 'undecorated'
21240         frame parameter.
21241         (Fns_frame_restack): New function.
21242         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar):
21243         FRAME_TOOLBAR_HEIGHT is no longer a variable.
21244         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS, NS_PARENT_WINDOW_TOP_POS):
21245         Add #defines to find the screen position of the parent frame.
21246         (NS_TOP_POS): Remove defun.
21247         (EmacsView): Remove redundant toolbar variables and add createToolbar
21248         method.
21249         (FRAME_NS_TITLEBAR_HEIGHT, FRAME_TOOLBAR_HEIGHT): Always calculate the
21250         values instead of storing them in a variable.
21251         * src/nsterm.m (x_set_offset, windowDidMove): Take parent frame
21252         position into account when positioning frames.
21253         (initFrameFromEmacs): Remove toolbar creation code and handle new
21254         frame parameters.
21255         (x_set_window_size): Remove toolbar height calculation.
21256         (x_set_z_group):
21257         (x_set_parent_frame):
21258         (x_set_undecorated) [NS_IMPL_COCOA]: New function.
21259         (x_destroy_window): Detach parent if child closes.
21260         (updateFrameSize): Change NSTRACE message to reflect new reality and
21261         no longer reset frame size.
21262         (windowWillResize): Don’t change NS window name when the titlebar
21263         is invisible.
21264         (createToolbar): Move toolbar creation code into it’s own method.
21265         (toggleFullScreen): FRAME_TOOLBAR_HEIGHT and FRAME_NS_TITLEBAR_HEIGHT
21266         are no longer variables.
21267         (windowDidMove): Fire MOVE_FRAME_EVENT Emacs event.
21269 2017-04-19  Glenn Morris  <rgm@gnu.org>
21271         Tweak bytecomp's loading of cl-extra
21273         * lisp/emacs-lisp/bytecomp.el: Don't force load of cl-extra in a
21274         post-bootstrap emacs where cl-loaddefs does exist.
21276 2017-04-19  Glenn Morris  <rgm@gnu.org>
21278         Avoid unnecessary loading of subr-x at run-time
21280         * lisp/doc-view.el, lisp/filenotify.el, lisp/info-look.el:
21281         * lisp/svg.el, lisp/emacs-lisp/byte-opt.el, lisp/net/shr.el:
21282         * lisp/textmodes/sgml-mode.el, test/lisp/dom-tests.el:
21283         No need to load subr-x at run-time.
21284         * lisp/gnus/nnheader.el: No need to load subr-x.
21286 2017-04-18  michael schuldt  <mbschuldt@gmail.com>  (tiny change)
21288         Use iteration in math-factorial-iter
21290         * lisp/calc/calc-comb.el (math-factorial-iter):
21291         Use iteration instead of recursion to avoid max-specpdl-size problem.
21293 2017-04-18  Glenn Morris  <rgm@gnu.org>
21295         * test/lisp/kmacro-tests.el: Require seq, for seq-concatenate.
21297 2017-04-18  Glenn Morris  <rgm@gnu.org>
21299         Avoid ert test failures
21301         * lisp/emacs-lisp/ert.el (ert--expand-should-1):
21302         Avoid errors related to undefined byte-compile-macro-environment.
21303         Somehow masked until very recently because loading seq (eg)
21304         loads bytecomp.  http://hydra.nixos.org/build/51730765
21306 2017-04-18  Eli Zaretskii  <eliz@gnu.org>
21308         Fix a typo in indexing the user manual
21310         * doc/emacs/cmdargs.texi (General Variables): Fix a horrible typo.
21312 2017-04-18  Noam Postavsky  <npostavs@gmail.com>
21314         Fix find-library-name for load-history entries with nil FILE-NAME (Bug#26355)
21316         * lisp/emacs-lisp/find-func.el (find-library--from-load-history):
21317         Rename from find-library--from-load-path.  Check for `load-history'
21318         entries with nil FILE-NAMEs.  Simplify by not double
21319         checking for suffixes and making use of `locate-file'.
21321 2017-04-18  Alan Third  <alan@idiocy.org>
21322             YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21324         Use vfork if possible on Darwin (bug#26397)
21327         * src/conf_post.h (HAVE_WORKING_VFORK): Don't undef.
21328         (vfork): Don't define.
21329         * src/process.c (create_process) [DARWIN_OS]: Use fork if pty_flag is
21330         set, otherwise vfork.
21331         * src/callproc.c (call_process) [DARWIN_OS]: Use TIOCNOTTY to detach
21332         the controlling terminal instead of setsid.
21334 2017-04-18  Fran Litterio  <flitterio@gmail.com>
21336         Small erc-kill-channel fix (bug#23700)
21338         * lisp/erc/erc.el (erc-kill-channel): Handle null erc-default-target.
21340 2017-04-18  Glenn Morris  <rgm@gnu.org>
21342         ediff: use user-error rather than debug-ignored-errors
21344         * lisp/vc/ediff-diff.el (ediff-prepare-error-list):
21345         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
21346         * lisp/vc/ediff-init.el (ediff-barf-if-not-control-buffer)
21347         (ediff-check-version):
21348         * lisp/vc/ediff-merg.el (ediff-shrink-window-C):
21349         * lisp/vc/ediff-mult.el (ediff-draw-dir-diffs, ediff-show-dir-diffs)
21350         (ediff-append-custom-diff, ediff-meta-show-patch)
21351         (ediff-filegroup-action, ediff-show-meta-buffer, ediff-show-registry)
21352         (ediff-get-meta-info, ediff-patch-file-form-meta):
21353         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
21354         * lisp/vc/ediff-util.el (ediff-toggle-autorefine)
21355         (ediff--check-ancestor-exists, ediff-toggle-read-only)
21356         (ediff-toggle-wide-display, ediff-toggle-multiframe)
21357         (ediff-toggle-use-toolbar, ediff-toggle-show-clashes-only)
21358         (ediff-next-difference, ediff-previous-difference)
21359         (ediff-pop-diff, ediff-read-file-name, ediff-verify-file-buffer)
21360         (ediff-save-buffer):
21361         * lisp/vc/ediff-wind.el (ediff-make-wide-display):
21362         * lisp/vc/ediff.el (ediff-find-file, ediff-buffers-internal)
21363         (ediff-directories-internal, ediff-directory-revisions-internal)
21364         (ediff-regions-wordwise, ediff-regions-linewise)
21365         (ediff-load-version-control): Use user-error.
21366         (debug-ignored-errors): No longer modify.
21368 2017-04-18  Glenn Morris  <rgm@gnu.org>
21370         mh-e: use user-error rather than debug-ignored-errors
21372         * lisp/mh-e/mh-alias.el (mh-alias-grab-from-field):
21373         * lisp/mh-e/mh-utils.el (mh-get-msg-num): Use user-error.
21374         (debug-ignored-errors): No longer modify.
21376 2017-04-18  Glenn Morris  <rgm@gnu.org>
21378         ispell.el: use user-error rather than debug-ignored-errors
21380         * lisp/textmodes/ispell.el (ispell-get-word): Use user-error.
21381         (debug-ignored-errors): No longer modify.
21383 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
21385         * src/xterm.c (x_fill_rectangle): Now static.
21387 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
21389         Tighten recently-added UTF-8 check
21391         * src/coding.c (encode_coding_utf_8): Now extern.
21392         * src/terminal.c (terminal_glyph_code) [HAVE_STRUCT_UNIPAIR_UNICODE]:
21393         Check for UTF-8, not just for multibyte.
21395 2017-04-17  David Engster  <deng@randomsample.de>
21397         xml: Properly handle symbol-qnames for attribute parsing
21399         * lisp/xml.el (xml-parse-attlist): Do not strip 'symbol-qnames from
21400           xml-ns argument (reverts aea67018) (Bug#26533).
21401           (xml-maybe-do-ns): Properly handle default namespace by not
21402           interning new symbol when 'special' flag is set.
21404         * test/lisp/xml-tests.el (xml-parse-test--namespace-attribute-qnames)
21405           (xml-parse-namespace-attribute-qnames): Add test for Bug#26533.
21407 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
21409         * src/lisp.h (STRING_SET_CHARS): Simplify assertion.
21411 2017-04-17  Eli Zaretskii  <eliz@gnu.org>
21413         Fix assertion violations when displaying thread-related error
21415         * src/process.c (Faccept_process_output): Don't assume a thread's
21416         name is always a string.
21418 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
21420         dired ‘M’ should not complain about ‘.’ and ‘..’
21422         * lisp/dired-aux.el (dired-do-redisplay):
21423         Allow redisplay of ‘.’ and ‘..’ (Bug#26528).
21425 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
21427         Remove unused coding enums
21429         * src/coding.h (enum coding_system_type, enum end_of_line_type):
21430         Remove; unused.
21432 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
21434         Work around bug with unibyte Linux consoles
21436         * src/terminal.c (terminal_glyph_code): Skip the UTF-8 stuff if
21437         the terminal's coding system is unibyte (Bug#26396).
21439 2017-04-16  Teemu Likonen  <tlikonen@iki.fi>
21441         Fix org-agenda's command for calendar-lunar-phases
21443         Function org-agenda-phases-of-moon tries to call a non-existing
21444         function calendar-phases-of-moon. The correct function is
21445         calendar-lunar-phases.
21447 2017-04-16  Michael Albinus  <michael.albinus@gmx.de>
21449         Tuning for `separate' Tramp syntax
21451         * lisp/net/tramp.el (tramp-method-regexp): Fix it for `separate' syntax.
21452         (tramp-completion-file-name-regexp-separate): Simplify.
21454         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect-separate):
21455         Extend test.
21457 2017-04-16  Alan Mackenzie  <acm@muc.de>
21459         Fix bug #26529: C-h k errors with a lambda function bound to a key.
21461         * lisp/help-fns.el (help-fns--signature, describe-function-1): Check
21462         `function' is a symbol before trying to get property `reader-construct' from
21463         it.
21465 2017-04-16  Simen Heggestøyl  <simenheg@gmail.com>
21467         Fix highlighting of short selectors in CSS mode
21469         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Highlight
21470         selectors where the part before a colon is only one character long,
21471         such as `a:hover'.
21473 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
21475         Fix redisplay performance problems with some fonts
21477         * src/font.c (font_list_entities): Revert part of the changes
21478         introduced on Apr 2, 2014 to fix bug#17125.  It turns out having
21479         zero_vector in the font-cache is an important indication that
21480         cannot be removed.  (Bug#21028)
21482 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
21484         Add assertion to STRING_SET_CHARS
21486         * src/lisp.h (STRING_SET_CHARS): Add an assertion and commentary
21487         to prevent incorrect usage.  For details, see this discussion:
21488         https://lists.gnu.org/r/emacs-devel/2017-04/msg00412.html.
21490 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
21492         Avoid compilation warnings on MS-Windows
21494         * src/w32term.c (w32_read_socket): Avoid compiler warnings about
21495         parentheses around assignment.
21496         * src/w32fns.c (w32_createwindow): Remove unused variable
21497         dwStyle.  Use "|=" where appropriate.
21499 2017-04-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
21501         Merge from gnulib
21503         This incorporates:
21504         2017-04-14 intprops: try to avoid tickling similar bugs
21505         2017-04-14 intprops: port to Oracle Studio 12.3 x86
21506         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
21508 2017-04-15  Martin Rudalics  <rudalics@gmx.at>
21510         Fix bugs in `with-displayed-buffer-window' and `fit-window-to-buffer'
21512         * lisp/window.el (with-displayed-buffer-window): When a
21513         'window-height' action alist entry specifies a function, call
21514         `temp-buffer-window-show' with a '(window-height . t)' dummy
21515         entry so `window--try-to-split-window' will bind
21516         `window-combination-limit' to t and that function does not
21517         resize any other window but the one we split this one off
21518         (Bug#25055, Bug#25179).
21519         (fit-window-to-buffer): Call `window-max-delta' with NOUP t so
21520         we steal space only from windows in the same combination.
21521         Stealing space from other windows would not allow us to return
21522         that space later when this window is deleted (Bug#25055,
21523         Bug#25179).
21525 2017-04-15  Glenn Morris  <rgm@gnu.org>
21527         Avoid userlock queries hanging forever in batch mode
21529         * lisp/userlock.el (ask-user-about-lock)
21530         (ask-user-about-supersession-threat): Abort in batch mode.
21532 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
21534         Fix segfault when calling frame_ancestor_p (Bug#26493)
21536         * src/xterm.c (handle_one_xevent): Check that hf was not reset
21537         before calling frame_ancestor_p (Bug#26493).
21539 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
21541         A few additional copy-edits in documentation of frames
21543         * doc/lispref/frames.texi (Frame Layout)
21544         (Implied Frame Resizing): Windows -> MS-Windows.
21545         (Deleting Frames): Fix typo.
21547 2017-04-14  Glenn Morris  <rgm@gnu.org>
21549         Use user-error for some ert.el errors
21551         * lisp/emacs-lisp/ert.el (ert-read-test-name, ert-delete-all-tests)
21552         (ert-results-find-test-at-point-other-window, ert-describe-test):
21553         Use user-error.
21555 2017-04-14  Glenn Morris  <rgm@gnu.org>
21557         Use user-error for customize's "invalid face" error
21559         * lisp/cus-edit.el (customize-face): Use user-error.
21560         (debug-ignored-errors): No more need to add "Invalid face".
21562 2017-04-14  Glenn Morris  <rgm@gnu.org>
21564         Remove duplicate lisp-eval-defun definition
21566         * lisp/emacs-lisp/lisp-mode.el (lisp-eval-defun):
21567         Autoload rather than defining a stub.
21569 2017-04-14  Glenn Morris  <rgm@gnu.org>
21571         * lisp/Makefile.in (check-defun-dups): Ignore obsolete files.
21573 2017-04-14  Glenn Morris  <rgm@gnu.org>
21575         Create generated lisp files before main loaddefs.el
21577         This should improve reproducibility of lisp/loaddefs.el.
21578         * lisp/Makefile.in (gen-lisp): New phony target.
21579         ($(lisp)/loaddefs.el, compile-main): Depend on gen-lisp.
21580         * src/Makefile.in ($(leimdir)/leim-list.el): Depend on all of ../leim.
21581         * lisp/cedet/semantic.el (semantic-mode):
21582         * lisp/cedet/semantic/fw.el (top-level):
21583         * lisp/emacs-lisp/eieio-core.el (top-level):
21584         Robustify to generated input files maybe not yet existing.
21586 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
21588         Fix minor quoting issues in Makefile.in
21590         * Makefile.in (install-arch-dep, uninstall):
21591         Quote EMACS and EMACS_NAME more consistently.
21593 2017-04-13  Glenn Morris  <rgm@gnu.org>
21595         * Makefile.in (install-etc): Use existing Makefile variables.
21597 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
21599         Minor copyedits of recent changes in documentation
21601         * doc/lispref/frames.texi (Frame Layout, Frame Position)
21602         (Frame Size, Frame Interaction Parameters, Input Focus)
21603         (Raising and Lowering, Child Frames): Improve wording and indexing.
21604         * doc/emacs/cmdargs.texi (Borders X): Improve indexing.
21606 2017-04-13  Glenn Morris  <rgm@gnu.org>
21608         Small src/Makefile simplification
21610         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc)
21611         ($(lispsource)/term/ns-win.elc): Combine rules.
21613 2017-04-13  Simen Heggestøyl  <simenheg@gmail.com>
21615         Add grid layout module to CSS property list
21617         * lisp/textmodes/css-mode.el (css-property-alist)
21618         (css-value-class-alist): Add new properties and value classes from CSS
21619         Grid Layout Module.
21621 2017-04-13  Martin Rudalics  <rudalics@gmx.at>
21623         Describe recent frame and window changes in manuals
21625         * doc/emacs/emacs.texi (Top):
21626         * doc/emacs/cmdargs.texi (Borders X): Clearly separate the terms
21627         "outer border" (for the X border which can be set from within
21628         Emacs) and "external border" (for the border which is added by
21629         the window manager).
21630         * doc/lispref/display.texi (Tooltips): Clarify slightly.
21631         * doc/lispref/elisp.texi (Top): Update node and section names.
21632         * doc/lispref/frames.texi (Frames): Describe difference between
21633         top-level and child frames.
21634         (Frame Layout): Describe outer border.  Add more details about
21635         how Emacs obtains the outer size and position of a frame and
21636         about menu bar/tool bar wrapping.  Add references to new frame
21637         parameters.
21638         (Size and Position): Remove subsection.
21639         (Frame Position): New subsection excerpted from the earlier Size
21640         and Position subsection.  Clarify positioning concepts and
21641         some of their shortcomings.  Describe `move-frame-functions'.
21642         (Frame Size): New subsection excerpted from the earlier Size
21643         and Position subsection.  Describe how to track frame size
21644         changes and the new function `frame-size-changed-p'.
21645         (Position Parameters): Describe child frame positioning.  Warn
21646         about negative offsets.  Describe 'z-group' parameter.
21647         (Size Parameters): Describe 'text-pixels' specification
21648         facility and new 'min-width' and 'min-height' parameters.
21649         (Layout Parameters): Clarify description of 'tool-bar-lines' and
21650         'menu-bar-lines' parameters.
21651         (Frame Interaction Parameters): New subsubsection describing
21652         'parent-frame', 'delete-before', 'mouse-wheel-frame' and
21653         'no-other-frame' parameters.
21654         (Management Parameters): Describe 'skip-taskbar',
21655         'no-focus-on-map', 'no-accept-focus', 'undecorated' and
21656         'override-redirect' parameters.
21657         (Deleting Frames): Describe handling of 'delete-before'
21658         parameter and child frames for `delete-frame' and
21659         `delete-other-frames'.
21660         (Finding All Frames): Describe `frame-list-z-order' and handling
21661         of 'no-other-frame' parameter by `next-frame'.
21662         (Minibuffers and Frames): Minor clarifications.
21663         (Input Focus): Document `x-focus-frame'.  Clarify descriptions
21664         of `focus-in-hook', `focus-out-hook' and `focus-follows-mouse'.
21665         (Visibility of Frames): Describe mapping and how the visibility
21666         of a parent frame affects that of its child frames.
21667         (Raising and Lowering): Describe restacking of frames and
21668         z-groups.
21669         (Child Frames): New section.
21670         * doc/lispref/windows.texi (Selecting Windows): Describe
21671         additional semantics of NORECORD argument of `select-window' and
21672         how `buffer-list-update-hook' can emulate a "select window
21673         hook".
21674         (Mouse Window Auto-selection): New section.
21676 2017-04-13  Damien Cassou  <damien@cassou.me>
21678         Fix imenu--sort-by-position for non-pairs parameters (bug#26457)
21680         * lisp/imenu.el (imenu--sort-by-position): Fix to accept lists beyond
21681           pairs.
21682         * test/lisp/imenu-tests.el: Add 2 tests for `imenu--sort-by-position`.
21684 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
21686         Avoid unnecessary regeneration of the entire loaddefs.el
21688         * lisp/Makefile.in (autoloads .PHONY): Add commentary explaining
21689         why $(lisp)/loaddefs.el is a dependency of '.PHONY'.
21690         ($(lisp)/loaddefs.el): Copy an existing loaddefs.el to
21691         loaddefs.tmp before running 'batch-update-autoloads' on it, to
21692         avoid slow regeneration of the full contents.  (Bug#26459)
21693         Use 'move-if-change' instead of 'mv', to avoid producing a new
21694         Emacs binary when not necessary.
21696 2017-04-13  Dmitry Gutov  <dgutov@yandex.ru>
21698         Handle indentation of nested ternary operators in JS
21700         * lisp/progmodes/js.el (js--looking-at-operator-p):
21701         Handle nested ternary operators.
21703 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
21705         Don't call 'kill-this-buffer' outside of menus
21707         * lisp/simple.el (kill-current-buffer): New function.
21708         (completion-list-mode-map): Use it instead of kill-this-buffer.
21709         * lisp/type-break.el (type-break-mode):
21710         * lisp/term/ns-win.el (global-map):
21711         * lisp/progmodes/gdb-mi.el (gdb-memory-mode-map)
21712         (gdb-disassembly-mode-map, gdb-frames-mode-map)
21713         (gdb-locals-mode-map, gdb-registers-mode-map):
21714         * lisp/org/org-mhe.el (org-mhe-follow-link):
21715         * lisp/net/secrets.el (secrets-mode-map):
21716         * lisp/net/eudc.el (eudc-mode-map):
21717         * lisp/net/eudc-hotlist.el (eudc-hotlist-mode-map): Use
21718         kill-current-buffer instead of kill-this-buffer.  (Bug#26466)
21720 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
21722         * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
21724 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
21726         New internal-border face and args for select-window and x-focus-frame
21728         Add `internal-border' face and handle it whenever clearing the
21729         internal border.  If NORECORD equals the symbol
21730         'mark-for-redisplay', `select-window' will not record the window
21731         but still mark it for redisplay.  The new argument NOACTIVATE
21732         for `x-focus-frame' tries to not activate FRAME when set.
21734         * lisp/faces.el (internal-border): New face.
21735         * lisp/mwheel.el (mwheel-scroll): Select window to scroll with
21736         `mark-for-redisplay'.
21737         * lisp/scroll-bar.el (scroll-bar-drag)
21738         (scroll-bar-horizontal-drag, scroll-bar-scroll-down)
21739         (scroll-bar-scroll-up, scroll-bar-toolkit-scroll)
21740         (scroll-bar-toolkit-horizontal-scroll): Select window to scroll
21741         with `mark-for-redisplay'.
21742         * lisp/window.el (handle-select-window): When
21743         `focus-follows-mouse' is not 'auto-raise' try to not activate
21744         FRAME.
21745         * src/dispextern.h (face_id): Add INTERNAL_BORDER_FACE_ID.
21746         * src/frame.c (Fx_focus_frame): New argument NOACTIVATE.
21747         * src/frame.h (x_focus_frame): Update extern declaration.
21748         * src/gtkutil.c (xg_clear_under_internal_border): Remove
21749         function.
21750         (xg_frame_resized, xg_frame_set_char_size): Call
21751         x_clear_under_internal_border.
21752         (xg_tool_bar_callback): Adapt x_focus_frame call.
21753         * src/gtkutil.h (xg_clear_under_internal_border): Remove
21754         declaration.
21755         * src/nsfns.m (x_focus_frame): Add argument NOACTIVATE.
21756         * src/w32fns.c (x_clear_under_internal_border): Fill border
21757         with internal-border background if specified.
21758         * src/w32term.h (x_clear_under_internal_border): Add extern
21759         declaration.
21760         * src/w32term.c (x_after_update_window_line): Fill border
21761         with internal-border background if specified.
21762         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
21763         (x_scroll_bar_clear, w32_read_socket): Call
21764         x_clear_under_internal_border.
21765         (x_focus_frame): New argument NOACTIVATE.
21766         * src/window.c (select_window): Mark WINDOW for redisplay when
21767         NORECORD equals 'mark-for-redisplay'.
21768         (Fselect_window): Update doc-string.
21769         (syms_of_window): Define Qmark_for_redisplay.
21770         * src/xdisp.c (clear_garbaged_frames, echo_area_display)
21771         (redisplay_internal): Call x_clear_under_internal_border.
21772         * src/xfaces.c (lookup_basic_face): Handle `window-divider'
21773         and `internal-border' faces.
21774         (realize_basic_faces): Realize `internal-border' face.
21775         (syms_of_xfaces): Define Qinternal_border.
21776         * src/xfns.c (x_set_internal_border_width): Remove call for
21777         xg_clear_under_internal_border.
21778         (x_focus_frame): New argument NOACTIVATE.  When non-nil try to not
21779         activate frame.
21780         * src/xterm.c (x_fill_rectangle): No more static.
21781         (x_clear_under_internal_border, x_after_update_window_line):
21782         Fill border with internal-border background if specified.
21783         (xt_horizontal_action_hook): Rewrite.
21784         (handle_one_xevent): Call x_clear_under_internal_border.
21785         * src/xterm.h (x_fill_rectangle): Add extern declaration.
21787 2017-04-12  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
21789         Port recent frame changes to --enable-gcc-warnings
21791         * src/frame.c (next_frame, prev_frame):
21792         Remove now-redundant assertions.
21793         * src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.
21795 2017-04-12  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
21797         Scroll right and left using wheel-right and wheel-left.
21799         These changes also make use of touchpad and trackpad (Bug#26347).
21801         * doc/emacs/frames.texi (Mouse Commands): Document horizontal
21802         scrolling using the mouse wheel.
21804         * lisp/mwheel.el (mwheel-scroll): Respond to wheel-right and wheel-left.
21805         (mwheel-tilt-scroll-p, mwheel-flip-direction)
21806         (mwheel-scroll-left-function, mwheel-scroll-right-function): New
21807         defcustoms.
21808         (mouse-wheel-left-event, mouse-wheel-right-event): New variables,
21809         events that calls wheel-left/right.
21811         * etc/NEWS: Mention horizontal scrolling using the mouse wheel.
21813 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
21815         * lisp/Makefile.in (autoloads-force): Fix usage of ".PHONY".
21817 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
21819         Add new frame parameters and associated functions
21821         Add new frame parameters `undecorated', `override-redirect',
21822         `parent-frame', `skip-taskbar', `no-focus-on-map',
21823         `no-accept-focus', `z-group', `delete-before', `no-other-frame',
21824         `mouse-wheel-frame', `min-width', `min-height'.  Add new
21825         functions `frame-restack' and `frame-list-z-order'.
21827         * lisp/cus-start.el (focus-follows-mouse): Adapt customization
21828         type.
21829         * lisp/frame.el (handle-delete-frame): Handle child and
21830         `delete-before' frames.
21831         (other-frame): Stop looking for other frame after one round.
21832         (frame-list-z-order, frame-restack): New functions.
21833         (delete-other-frames): Handle child frames.
21834         * lisp/frameset.el (frameset-persistent-filter-alist)
21835         (frameset--record-relationships): Handle `delete-before',
21836         `parent-frame' and `mouse-wheel-frame' parameters.  Rename
21837         latter from `frameset--record-minibuffer-relationships'.
21838         (frameset--restore-frame): Handle ‘parent-frame’ parameter
21839         specially.
21840         (frameset-restore): Handle `delete-before', `parent-frame' and
21841         `mouse-wheel-frame' parameters.
21842         * lisp/mwheel.el (mwheel-scroll): Handle `mouse-wheel-frame'
21843         parameter.
21844         * lisp/window.el (window--min-size-ignore-p): Fix doc-string.
21845         (mouse-autoselect-window-select, handle-select-window): Major
21846         rewrite.  Try to not ignore errors.  Handle auto-selection of
21847         child frames and different values of `focus-follows-mouse'.
21848         * src/frame.c (frame_windows_min_size): Handle new `min-width'
21849         and `min-height' frame parameters.
21850         (make_frame): Initialize new frame structure members.
21851         (do_switch_frame): Don't reset internal_last_event_frame for
21852         descendant frames.
21853         (Fframe_parent, frame_ancestor_p, Fframe_ancestor_p): New
21854         functions.
21855         (candidate_frame): Don't return `no-other-frame' frame.
21856         (other_frames): New function replacing other_visible_frames.
21857         (delete_frame): Rewrite.  Handle child and `delete-before' frames.
21858         (Fmake_frame_invisible): Call other_frames.
21859         (store_frame_param): Check `delete-before' and `parent-frame'
21860         parameters for circular dependencies.
21861         (frame_parms, syms_of_frame): Add entries for and define new
21862         frame parameters.
21863         (focus_follows_mouse): New meaningful value `auto-raise'.
21864         * src/frame.h (z_group): New enumeration type.
21865         (frame): New slots parent_frame, undecorated, override_redirect,
21866         skip_taskbar, no_focus_on_map, no_accept_focus, z_group.
21867         (fset_parent_frame): New inlined function.
21868         (FRAME_UNDECORATED, FRAME_OVERRIDE_REDIRECT)
21869         (FRAME_PARENT_FRAME, FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
21870         (FRAME_NO_ACCEPT_FOCUS, FRAME_Z_GROUP, FRAME_Z_GROUP_NONE)
21871         (FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_ABOVE_SUSPENDED)
21872         (FRAME_Z_GROUP_BELOW): New macros.
21873         (frame_ancestor_p): Add declaration.
21874         * src/gtkutil.c (xg_create_frame_widgets): Handle
21875         `undecorated' and `override-redirect' frame parameters.
21876         (x_wm_set_size_hint): None for child frames.
21877         (xg_set_undecorated, xg_frame_restack, xg_set_skip_taskbar)
21878         (xg_set_no_focus_on_map, xg_set_no_accept_focus)
21879         (xg_set_override_redirect): New functions.
21880         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
21881         Don't let scrollbars obscure child frames.
21882         * src/gtkutil.h: (xg_set_undecorated, xg_frame_restack)
21883         (xg_set_skip_taskbar, xg_set_no_focus_on_map)
21884         (xg_set_no_accept_focus, xg_set_override_redirect): Add extern
21885         declarations.
21886         * src/nsfns.m (ns_frame_parm_handlers): Add entries for new
21887         frame parameters.
21888         (Fx_create_frame): Install `min-width' and `min-height' frame
21889         parameters.
21890         * src/nsterm.m (mouseMoved:): Handle focus_follows_mouse change.
21891         * src/w32fns.c (WS_EX_NOACTIVATE): Define if necessary.
21892         (x_real_positions): Handle child frames.
21893         (x_set_menu_bar_lines): Don't for child frames.
21894         (x_set_undecorated, x_set_parent_frame, x_set_skip_taskbar)
21895         (x_set_no_focus_on_map, x_set_no_accept_focus)
21896         (x_set_z_group): New functions.
21897         (w32_createvscrollbar, w32_createhscrollbar): Don't draw
21898         scroll bars over child frames.
21899         (w32_createwindow): Handle new frame parameters and child frames.
21900         (w32_wnd_proc): Let mouse clicks into a child frame activate
21901         the frame.  Try to handle the `no-accept-focus' parameter.  Do
21902         SetFocus when our window is brought to top or becomes the
21903         foreground window.
21904         (w32_window): Don't initialize menu bar for child frames.
21905         (Fx_create_frame): Handle new frame parameters.
21906         (x_create_tip_frame): Set explicit_parent slot.
21907         (w32_dialog_in_progress): New function.
21908         (Fx_file_dialog): Handle `z-group-above' frames.
21909         (w32_frame_list_z_order, Fw32_frame_list_z_order)
21910         (w32_frame_restack, Fw32_frame_restack): New functions.
21911         (w32_frame_parm_handlers): Add entries for new frame
21912         parameters.
21913         * src/w32font.c (Fx_select_font): Handle `z-group-above'
21914         frames during font selection dialogue.
21915         * src/w32term.c (construct_mouse_wheel): Construct mouse wheel
21916         event from F's w32 window.
21917         (w32_mouse_position): Handle child frames.
21918         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar):
21919         Don't draw scroll bars over child frames.
21920         (w32_read_socket): Always erase background of child frames.
21921         When generating SELECT_WINDOW_EVENTs handle new value of
21922         `focus-follows-mouse' and handle `no-accept-focus' parameter.
21923         Handle `mouse-wheel-frame' parameter.
21924         (x_calc_absolute_position, x_set_offset, x_set_window_size):
21925         Handle child frames.
21926         (x_make_frame_visible): Handle child frames specially.  Handle
21927         `no-focus-on-map' parameter.
21928         * src/w32term.h (w32_dialog_in_progress): Add external
21929         declaration.
21930         * src/xdisp.c (x_consider_frame_title, prepare_menu_bars): Not
21931         for child frames.
21932         * src/xfns.c (Xm/MwmUtil.h): Include for WM hints.
21933         (PropMotifWmHints, PROP_MOTIF_WM_HINTS_ELEMENTS): Define for
21934         non-Motif, non-GTK case.
21935         (x_real_pos_and_offsets): Handle child frames.
21936         (x_set_undecorated, x_set_parent_frame)
21937         (x_set_no_focus_on_map, x_set_no_accept_focus)
21938         (x_set_override_redirect): New functions.
21939         (x_set_menu_bar_lines): Not for child frames.
21940         (x_window): Handle `undecorated' and `override_redirect' cases.
21941         (Fx_create_frame): Handle new frame parameters.
21942         (frame_geometry): Handle child frames and outer border.
21943         (x_frame_list_z_order, Fx_frame_list_z_order)
21944         (x_frame_restack, Fx_frame_restack): New functions.
21945         (Fx_file_dialog, Fx_select_font): Set x_menu_set_in_use.
21946         (x_frame_parm_handlers): Add entries for new frame parameters.
21947         * src/xmenu.c (x_menu_set_in_use): Handle `z-group-above'
21948         frames.
21949         * src/xterm.c (x_set_frame_alpha): Don't set alpha of parent
21950         for child frames.
21951         (XTmouse_position): Handle child frames.
21952         (x_scroll_bar_create, x_scroll_bar_expose): Don't let scroll
21953         bars obscure child frames.
21954         (handle_one_xevent): Handle child frame positions.  If necessary
21955         set `skip-taskbar' and reassign proper `z-group' when we are
21956         mapped.  When generating SELECT_WINDOW_EVENTs handle new value
21957         of `focus-follows-mouse'.  Handle `mouse-wheel-frame' parameter.
21958         Let mouse clicks into a child frame activate the frame.
21959         (x_calc_absolute_position, x_set_offset): Handle child frames
21960         specially.
21961         (x_set_skip_taskbar, x_set_z_group): New functions.
21962         (x_make_frame_visible): Handle child frames.
21963         (ATOM_REFS_INIT): Add entries for
21964         Xatom_net_wm_state_skip_taskbar, Xatom_net_wm_state_above,
21965         Xatom_net_wm_state_below.
21966         * src/xterm.h (top-level): Declare Xatom_net_wm_state_above,
21967         Xatom_net_wm_state_below and Xatom_net_wm_state_skip_taskbar.
21968         (x_set_skip_taskbar, x_set_z_group): Add extern declarations.
21970 2017-04-11  Glenn Morris  <rgm@gnu.org>
21972         Update a package test for hydra
21974         * test/lisp/emacs-lisp/package-tests.el (with-package-test):
21975         Also bind package-gnupghome-dir, see eg
21976         http://hydra.nixos.org/build/51462182 .
21978 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
21980         Frame movement, focus and hook related changes
21982         New hook `move-frame-functions'.  Run `focus-in-hook'
21983         after switching to frame that gets focus.  Don't run
21984         XMoveWindow for GTK.
21986         * lisp/frame.el (handle-move-frame, frame-size-changed-p): New
21987         functions.
21989         * src/frame.c (do_switch_frame): Simplify code.
21990         (Fhandle_switch_frame): Switch frame before running
21991         `handle-focus-in'.
21992         (Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings.
21993         (Vmove_frame_functions): New hook variable.
21994         * src/keyboard.c (kbd_buffer_get_event): Handle
21995         MOVE_FRAME_EVENT.  Handle SELECT_WINDOW_EVENT separately.
21996         (head_table): Add Qmove_frame entry.
21997         (syms_of_keyboard): Add Qmove_frame.
21998         (keys_of_keyboard): Define key for `move-frame'.
21999         * src/termhooks.h (event_kind): Add MOVE_FRAME_EVENT.
22000         * src/w32term.c (w32_read_socket): Create MOVE_FRAME_EVENT.
22001         * src/window.c (run_window_size_change_functions): Record size of
22002         FRAME's minibuffer window too.
22003         * src/xterm.c (handle_one_xevent): Create MOVE_FRAME_EVENT.
22004         (x_set_offset): For GTK call gtk_widget_move instead of
22005         XMoveWindow.
22007 2017-04-11  Werner LEMBERG  <wl@gnu.org>
22009         Avoid abort in ftfont.c due to faulty fonts
22011         * src/ftfont.c (ftfont_get_metrics): Try loading the font without
22012         hinting, before aborting.  (Bug#25945)
22014 2017-04-11  Eli Zaretskii  <eliz@gnu.org>
22016         Document 'line-pixel-height'
22018         * doc/lispref/display.texi (Size of Displayed Text): Document
22019         line-pixel-height.  Suggested by Tak Kunihiro
22020         <tkk@misasa.okayama-u.ac.jp>.  (Bug#26379)
22022 2017-04-11  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
22024         Introduce customizable variable 'package-gnupghome-dir'
22026         * lisp/emacs-lisp/package.el (package-import-keyring)
22027         (package--check-signature-content, package-check-signature):
22028         Use new variable package-gnupghome-dir to control which GnuPG
22029         homedir to use.
22030         * doc/emacs/package.texi: Mention package-gnupghome-dir.
22031         * etc/NEWS: Mention package-gnupghome-dir.
22033 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
22035         Set x_gtk_use_window_move by default for fixing bug#25851 and bug#25943
22037         This activates a change that was installed a few weeks ago but whose
22038         ChangeLog was inadvertently dropped during its commit.  The proper
22039         ChangeLog is included below as part of the present commit.
22041         * src/gtkutil.c (xg_set_geometry): When x_gtk_use_window_move
22042         is set avoid calling x_gtk_parse_geometry (Bug#25851).
22043         (x_wm_set_size_hint): When x_gtk_use_window_move is set, set
22044         PPosition, USPosition and USSize flags if requested.
22045         * src/xterm.c (x_set_offset): With GTK when
22046         x_gtk_use_window_move is set, leave it entirely to
22047         gtk_window_move to position the window and skip any
22048         post-adjustments (Bug#25851 and Bug#25943).
22049         (x_gtk_use_window_move): New variable.
22051 2017-04-10  Alan Mackenzie  <acm@muc.de>
22053         Fix a loop in C Mode caused by inadequate analysis of comments.
22055         After M-;, and the insertion of the opening "/*", the CC Mode after-change
22056         function got confused, since the new comment opener matched the end of a
22057         subsequent comment, but moving back over that comment did not come back to the
22058         starting point.  Fix this.
22060         * lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer
22061         point is left if no end-of-macro is found before it.
22062         (c-forward-sws): Change the `safe-start' mechanism.  Now `safe-start' is
22063         non-nil except where we have an unclosed block comment at the end of a macro.
22064         This enables us to populate the cache more fully, at the cost of some run
22065         time.
22067 2017-04-10  Lars Brinkhoff  <lars@nocrew.org>
22069         Add PVSIZE function to return the size of a pseudovector.
22071         * src/lisp.h (PVSIZE): New function.
22073         * src/chartab.c (copy_char_table):
22074         * src/data.c (Ftype_of, Finteractive_form, Faref, Faset):
22075         * src/doc.c (Fdocumentation, store_function_docstring):
22076         * src/eval.c (Fcommandp, funcall_lambda, lambda_arity, Ffetch_bytecode):
22077         * src/fns.c (Flength, Fcopy_sequence):
22078         * src/font.h (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P):
22079         * src/lread.c (substitute_object_recurse):
22080         * src/print.c (print_object):
22081           Use it.
22083 2017-04-10  Michael Albinus  <michael.albinus@gmx.de>
22085         Add Tramp tests
22087         * lisp/net/tramp.el (tramp-syntax): Adapt docstring.
22089         * test/lisp/net/tramp-tests.el
22090         (tramp-test01-file-name-syntax-simplified)
22091         (tramp-test01-file-name-syntax-separate)
22092         (tramp-test02-file-name-dissect-simplified)
22093         (tramp-test02-file-name-dissect-separate): New tests.
22095 2017-04-10  Martin Rudalics  <rudalics@gmx.at>
22097         Make sure that `shell' makes BUFFER current
22099         * lisp/shell.el (shell): Restrict scope of recently added
22100         `with-current-buffer' to make sure that BUFFER is current when
22101         `shell' returns.
22103 2017-04-10  Jim Blandy  <jimb@red-bean.com>
22105         Default to PCRE syntax when reading .hgignore
22107         * lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
22108         Default to the PCRE syntax (bug#26249).
22110 2017-04-09  Michael Albinus  <michael.albinus@gmx.de>
22112         Document Tramp changes
22114         * doc/misc/tramp.texi (Change file name syntax): New node.
22116         * etc/NEWS: Mention `tramp-change-syntax'.
22118         * lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
22119         External packages uses it.
22120         (tramp-syntax): Set also `tramp-file-name-regexp'.
22122 2017-04-09  Paul Eggert  <eggert@cs.ucla.edu>
22124         Merge from gnulib (Bug#26398)
22126         This incorporates:
22127         2017-04-08 getopt: prefer - to _ in new file names
22128         2017-04-08 getopt: port recent getopt changes to macOS
22129         * .gitignore: Add lib/getopt-cdefs.h.
22130         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
22131         * lib/getopt-core.h: Rename from lib/getopt_core.h.
22132         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
22133         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
22134         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
22135         * lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
22136         Copy from Gnulib.
22137         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
22139 2017-04-09  Ken Raeburn  <raeburn@raeburn.org>
22141         Write updated loaddefs to a temporary file and rename into place.
22143         In a parallel build, byte compilation can be running at the same times
22144         as loaddefs.el is being regenerated.  However, in a CANNOT_DUMP build,
22145         loaddefs.el is read at startup and must always be in a usable state.
22147         * lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
22148         loaddefs.el.new and then rename it to loaddefs.el.
22150 2017-04-09  Glenn Morris  <rgm@gnu.org>
22152         In the manual, mention pops and imaps
22154         * doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
22155         Mention pops and imaps protocols.
22157 2017-04-09  Glenn Morris  <rgm@gnu.org>
22159         * doc/emacs/rmail.texi: Prefer @command to @code for movemail.
22161 2017-04-09  Sergey Poznyakoff  <gray@gnu.org>
22163         Fix rmail handling of movemail protocols (bug#18278)
22165         * lisp/mail/rmail.el (rmail-remote-proto-p): New function.
22166         (rmail-parse-url): Return protocol in second list element.
22167         Only use passwords with remote mailboxes.
22168         (rmail-insert-inbox-text): Handle non-simple local
22169         mailboxes (maildir, MH, etc.).
22171 2017-04-09  Glenn Morris  <rgm@gnu.org>
22173         Fix typos in manual re movemail local mailboxes
22175         * doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
22176         Fix examples of local mailbox urls.
22178 2017-04-08  Glenn Morris  <rgm@gnu.org>
22180         * lisp/gnus/nnmail.el (nnmail-crosspost-link-function): Simplify.
22182 2017-04-08  Glenn Morris  <rgm@gnu.org>
22184         Remove references to OS/2 in code, doc, and comments
22186         * lisp/gnus/nnheader.el (nnheader-read-timeout)
22187         (nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
22188         * lisp/emulation/viper-util.el (viper-color-defined-p):
22189         * lisp/net/pop3.el (pop3-read-timeout):
22190         * lisp/net/imap.el (imap-read-timeout):
22191         * lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
22192         * lisp/emulation/viper-ex.el (viper-glob-function):
22193         * lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
22194         * lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
22195         * doc/emacs/msdos-xtra.texi (MS-DOS):
22196         * doc/misc/gnus.texi (Various Various):
22197         * doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.
22199 2017-04-08  Michael Albinus  <michael.albinus@gmx.de>
22201         Tune Tramp syntax
22203         * lisp/net/tramp-cmds.el (tramp-change-syntax):
22204         Use `tramp-syntax-values'.
22206         * lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst.
22208         * lisp/net/tramp.el (tramp-syntax): Rename possible values.
22209         (tramp-syntax-values): New defun.
22210         (tramp-prefix-format, tramp-method-regexp)
22211         (tramp-postfix-method-format, tramp-prefix-ipv6-format)
22212         (tramp-postfix-ipv6-format, tramp-postfix-host-format)
22213         (tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax'
22214         and changed values.
22215         (tramp-completion-file-name-regexp-default): Rename from
22216         `tramp-completion-file-name-regexp-unified'.  Adapt docstring.
22217         (tramp-completion-file-name-regexp-simplified): Rename from
22218         `tramp-completion-file-name-regexp-old-style'.  Adapt docstring.
22219         (tramp-initial-completion-file-name-regexp):
22220         Use `tramp-completion-file-name-regexp-default'.
22221         (tramp-run-real-handler): Do not autoload any longer.
22223 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
22225         Replace more nested ifs with cond
22227         This is a continuation of d526047 "Replace more nested ifs with cond".
22228         * lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use
22229         when and cond where appropriate.
22231 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
22233         Adjust the edebug spec of if-let*
22235         This was fixed in Bug#24748, but now looking more closely, using gate in
22236         the spec seems correct.  See (info "(elisp) Backtracking").
22237         * lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
22239 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
22241         Replace some uses of cl-member-if with apply
22243         From the mhtml-mode series.  Some of the uses of cl-lib are not
22244         necessary.
22245         * lisp/align.el: Don't require cl-lib.
22246         (align-region): Use apply instead of cl-member-if.
22247         * lisp/emulation/viper.el: Don't require cl-lib.
22248         (viper-mode, this-major-mode-requires-vi-state): Use apply instead of
22249         cl-member-if.
22251 2017-04-08  Philipp Stephani  <phst@google.com>
22253         Validate SPEC of `dolist', cf. Bug#25477.
22255         * lisp/subr.el (dolist): Test type and length of SPEC.
22256         * test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
22257         Add unit test.
22259 2017-04-08  Philipp Stephani  <phst@google.com>
22261         Add unit test for Bug#26378
22263         * test/lisp/vc/ediff-diff-tests.el
22264         (ediff-diff-tests--ediff-exec-process--nil): New unit test.
22266 2017-04-08  Lars Brinkhoff  <lars@nocrew.org>
22268         Fix circular read syntax for records.
22270         * src/lread.c (substitute_object_recurse): Work with records.
22272         * test/src/lread-tests.el (lread-record-1): New test.
22274 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22276         Deprecate copy-record in favor of copy-sequence
22278         Since copy-sequence seems to be needed anyway for records, have it
22279         work on records, and remove copy-record as being superfluous.
22280         * doc/lispref/records.texi (Records, Record Functions):
22281         * lisp/emacs-lisp/cl-macs.el (cl-defstruct):
22282         * lisp/emacs-lisp/eieio.el (make-instance, clone):
22283         * test/src/alloc-tests.el (record-3):
22284         Use copy-sequence, not copy-record, to copy records.
22285         * doc/lispref/sequences.texi (Sequence Functions)
22286         (Array Functions): Document that aref and copy-sequence
22287         work on records.
22288         * etc/NEWS: Omit copy-record.
22289         * src/alloc.c (Fcopy_record): Remove.
22290         * src/data.c (Faref): Document that arg can be a record.
22291         * src/fns.c (Fcopy_sequence): Copy records, too.
22293 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22295         Fix dependency checking in src/Makefile.in
22297         * src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
22298         dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
22299         Otherwise, some dependencies will be missed.
22301 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22303         Minor tuneup of write-region change
22305         * src/fileio.c (write_region): Use SCHARS, not Flength,
22306         on a value known to be a string.
22308 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
22310         Adjust write-region so file name is at the beginning again
22312         * lisp/epa-file.el (epa-file-write-region):
22313         * lisp/gnus/mm-util.el (mm-append-to-file):
22314         * lisp/jka-compr.el (jka-compr-write-region):
22315         * lisp/net/ange-ftp.el (ange-ftp-write-region):
22316         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
22317         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
22318         * src/fileio.c (write_region): Put file name at the beginning and move
22319         number of characters to the end of the message.
22321 2017-04-08  Kaushal Modi  <kaushal.modi@gmail.com>
22323         Check that file argument is a string
22325         * lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
22326           passed to `file-local-copy' is a string (Bug#26378).  Also fix
22327           the existing comment for this function, and convert it to its
22328           doc-string.
22330 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
22332         Fix handling of non-integer START param to write-region
22334         The previous patch for Bug#354 incorrectly assumed that START would
22335         always be an integer.
22337         * lisp/epa-file.el (epa-file-write-region):
22338         * lisp/jka-compr.el (jka-compr-write-region):
22339         * lisp/net/ange-ftp.el (ange-ftp-write-region):
22340         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
22341         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
22342         * src/fileio.c (write_region): Handle nil and string values of START.
22344 2017-04-07  Glenn Morris  <rgm@gnu.org>
22346         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fixes.
22348 2017-04-07  Michael Albinus  <michael.albinus@gmx.de>
22350         Add Tramp versions to `customize-package-emacs-version-alist'
22352         * lisp/net/trampver.el (customize-package-emacs-version-alist):
22353         Add Tramp versions to `customize-package-emacs-version-alist'.
22355 2017-04-07  Tom Tromey  <tom@tromey.com>
22357         * lisp/textmodes/rst.el (rst-toc-link-keymap): Move before first use.
22359 2017-04-07  Lars Brinkhoff  <lars@nocrew.org>
22361         * doc/lispref/records.texi (Record Functions): fix typo.
22363 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
22365         More casefiddle minor fixes
22367         * src/casefiddle.c (case_character_impl): Omit unnecessary casts.
22368         (case_character_impl): Avoid reevaluation of CHAR_TABLE_REF.
22369         (GREEK_CAPITAL_LETTER_SIGMA): Fix typo in my previous change.
22371 2017-04-07  Jeff Clough  <kb1vqh@gmail.com>
22373         Output number of characters added to file (Bug#354)
22375         * src/fileio.c (write_region):
22376         * lisp/epa-file.el (epa-file-write-region):
22377         * lisp/jka-compr.el (jka-compr-write-region):
22378         * lisp/net/ange-ftp.el (ange-ftp-write-region):
22379         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
22380         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
22381         * lisp/gnus/mm-util.el (mm-append-to-file): Functions now output
22382         characters written in addition to file name.
22383         * doc/lispref/files.texi: Added documentation to write-region and
22384         append-to-file describing their output.
22386 2017-04-07  Noam Postavsky  <npostavs@users.sourceforge.net>
22388         Fix ‘!NILP (Vpurify_flag)’ assertion failure during temacs bootstrap
22390         The recent changes to src/casefiddle.c cause build failure as seen
22391         below:
22393             Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs
22394                 --batch --load loadup bootstrap
22395             [Thread debugging using libthread_db enabled]
22396             Using host libthread_db library "/usr/lib/libthread_db.so.1".
22397             Loading loadup.el (source)...
22398             Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp
22399                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp
22400                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/language
22401                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/international
22402                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes
22403                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc)
22404             Loading emacs-lisp/byte-run (source)...
22405             Loading emacs-lisp/backquote (source)...
22406             Loading subr (source)...
22407             Loading version (source)...
22408             Loading widget (source)...
22409             Loading custom (source)...
22410             Loading emacs-lisp/map-ynp (source)...
22411             Loading international/mule (source)...
22412             Loading international/mule-conf (source)...
22414             lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)
22416             Breakpoint 1, terminate_due_to_signal at emacs.c:363
22417             363   signal (sig, SIG_DFL);
22418             (gdb) bt
22419             #0  0x0000000000579826 in terminate_due_to_signal at emacs.c:363
22420             #1  0x000000000060ec33 in die at alloc.c:7352
22421             #2  0x000000000066db40 in intern_c_string_1 at lread.c:3914
22422             #3  0x0000000000576884 in intern_c_string at lisp.h:3790
22423             #4  0x00000000005dc84f in prepare_casing_context at casefiddle.c:69
22424             #5  0x00000000005dd37f in casify_object at casefiddle.c:311
22425             #6  0x00000000005dd47f in Fcapitalize at casefiddle.c:356
22426             #7  0x00000000006325ac in eval_sub at eval.c:2219
22427             #8  0x0000000000632368 in eval_sub at eval.c:2184
22428             #9  0x000000000063446c in apply_lambda at eval.c:2875
22429             #10 0x00000000006329af in eval_sub at eval.c:2294
22430             #11 0x000000000062d462 in Fprogn at eval.c:449
22431             #12 0x000000000062d4cf in prog_ignore at eval.c:461
22432             #13 0x000000000062f19c in Fwhile at eval.c:982
22433             #14 0x00000000006321f4 in eval_sub at eval.c:2172
22434             #15 0x000000000062d462 in Fprogn at eval.c:449
22435             #16 0x000000000062f0c4 in Flet at eval.c:963
22436             #17 0x00000000006321f4 in eval_sub at eval.c:2172
22437             #18 0x0000000000632963 in eval_sub at eval.c:2290
22438             #19 0x000000000062d462 in Fprogn at eval.c:449
22439             #20 0x000000000062f0c4 in Flet at eval.c:963
22440             #21 0x00000000006321f4 in eval_sub at eval.c:2172
22441             #22 0x0000000000668caa in readevalloop at lread.c:1927
22442             #23 0x0000000000667253 in Fload at lread.c:1332
22443             #24 0x0000000000632683 in eval_sub at eval.c:2233
22444             #25 0x0000000000668caa in readevalloop at lread.c:1927
22445             #26 0x0000000000667253 in Fload at lread.c:1332
22446             #27 0x0000000000632683 in eval_sub at eval.c:2233
22447             #28 0x0000000000631be5 in Feval at eval.c:2041
22448             #29 0x000000000057e1af in top_level_2 at keyboard.c:1121
22449             #30 0x000000000062ffc7 in internal_condition_case at eval.c:1324
22450             #31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129
22451             #32 0x000000000062f51e in internal_catch at eval.c:1091
22452             #33 0x000000000057e0ea in command_loop at keyboard.c:1090
22453             #34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697
22454             #35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768
22455             #36 0x000000000057b55b in main at emacs.c:1687
22457             Lisp Backtrace:
22458             "capitalize" (0xffffcf70)
22459             "format" (0xffffd130)
22460             "define-charset" (0xffffd370)
22461             "while" (0xffffd560)
22462             "let" (0xffffd7c0)
22463             "dolist" (0xffffd910)
22464             "let" (0xffffdb70)
22465             "load" (0xffffdfe0)
22466             "load" (0xffffe4a0)
22468         * src/casefiddle.c (syms_of_casefiddle): Declare four new symbols:
22469         Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and
22470         Qspecial_titlecase.
22471         (prepare_casing_context): Use aforementioned symbols.
22473 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
22475         Merge from gnulib
22477         This merges some getopt fixes from Zack Weinberg, and affects only
22478         non-GNUish platforms.  It incorporates:
22479         2017-04-06 getopt-gnu: omit some duplicate code
22480         2017-04-06 getopt-posix: use angle-bracket include
22481         2017-04-06 getopt: annotate files with relationship to glibc
22482         2017-04-06 getopt: split up getopt.in.h and eliminate __need_getopt
22483         2017-04-06 getopt: better handling of ambiguous options
22484         2017-04-06 getopt: refactor long-option handling
22485         2017-04-06 getopt: tidy up _getopt_initialize a bit
22486         2017-04-06 getopt: merge from glibc: repetition reduction
22487         2017-04-06 getopt: clean up error reporting
22488         2017-04-06 getopt: fix fencepost error in ambiguous-W-option handling
22489         2017-04-06 getopt: clean up getopt.c and getopt1.c file headers
22490         2017-04-06 getopt: harmonize comments with glibc
22491         2017-04-06 getopt: remove USE_NONOPTION_FLAGS
22492         2017-04-06 getopt: tabify, in preparation for merge with glibc
22493         2017-04-06 md5, sha1, sha256, sha512: Add comments re correctness
22494         * build-aux/config.sub, doc/misc/texinfo.tex, lib/getopt.c:
22495         * lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/md5.c:
22496         * lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c, lib/sha256.h:
22497         * lib/sha512.c, lib/sha512.h, lib/unistd.in.h, m4/getopt.m4:
22498         Copy from gnulib.
22499         * lib/getopt_cdefs.in.h, lib/getopt_core.h, lib/getopt_ext.h:
22500         * lib/getopt_pfx_core.h, lib/getopt_pfx_ext.h:
22501         New files, taken from gnulib.
22502         * lib/gnulib.mk.in, m4/gnulib-comp.m4:
22503         Regenerate.
22505 2017-04-07  Hong Xu  <hong@topbug.net>
22507         * src/search.c (Fre_search_forward, Fre_search_backward): Improve
22508         doc (Bug#25193).
22510 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
22512         Mention that processes start in default-directory (Bug#18515)
22514         * doc/lispref/processes.texi (Synchronous Processes):
22515         (Asynchronous Processes):
22516         * lisp/subr.el (start-process):
22517         * src/callproc.c (call-process): Mention that the subprocess starts in
22518         `default-directory' when local, suggest `start-file-process' and
22519         `process-file' otherwise.
22521 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
22523         * src/xdisp.c (vmessage, message): Clarify commentary.
22525 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
22527         Minor casefiddle.c cleanups
22529         * src/casefiddle.c: Redo recent changes to match GNU style,
22530         and prefer C99-style decls within blocks.
22531         (GREEK_CAPITAL_LETTER_SIGMA): Rename from CAPITAL_SIGMA, so that
22532         we are merely using the Unicode name, and make it a constant
22533         rather than a macro.  All uses changed.
22534         (SMALL_SIGMA): Remove; unused.
22535         (GREEK_SMALL_LETTER_FINAL_SIGMA): Rename from SMALL_FINAL_SIGMA,
22536         and make it a constant rather than a macro.  All uses changed.
22537         (do_casify_multibyte_string): Use ‘verify’ rather than an
22538         unportable static_assertion local.
22540 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
22542         * lisp/international/README: Update to match current list.
22544 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
22546         Fix 'make clean' in lib subdirectory
22548         * lib/Makefile.in (clean): Remove *-t files.
22549         (mostlyclean): Remove MOSTLYCLEANFILES that are not *-t files.
22550         This removes files like lib/getopt.h that should be removed
22551         even if this configuration did not need to build them.
22552         (maintainer-clean): Remove TAGS here, not in distclean,
22553         to be consistent with ../src/Makefile.in.
22555 2017-04-06  Michael Albinus  <michael.albinus@gmx.de>
22557         Add new Tramp syntax
22559         * lisp/net/tramp-cmds.el (tramp-change-syntax): New defun.
22561         * lisp/net/tramp.el (tramp-syntax): Change default to `def'.
22562         Add :set function.
22563         (tramp-prefix-port-format): Simplify.
22564         (tramp-file-name-regexp-separate): Remove.
22565         (tramp-initial-file-name-regexp)
22566         (tramp-completion-file-name-regexp-old-style)
22567         (tramp-initial-completion-file-name-regexp): New defconst.
22568         (tramp-prefix-format, tramp-prefix-regexp)
22569         (tramp-method-regexp, tramp-postfix-method-format)
22570         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
22571         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
22572         (tramp-postfix-ipv6-regexp)
22573         (tramp-postfix-host-format, tramp-postfix-host-regexp)
22574         (tramp-remote-file-name-spec-regexp)
22575         (tramp-file-name-structure, tramp-file-name-regexp)
22576         (tramp-completion-file-name-regexp)
22577         (tramp-rfn-eshadow-update-overlay-regexp): Change them to be defuns.
22578         (tramp-tramp-file-p, tramp-find-method)
22579         (tramp-dissect-file-name, tramp-make-tramp-file-name)
22580         (tramp-completion-make-tramp-file-name)
22581         (tramp-rfn-eshadow-update-overlay)
22582         (tramp-register-autoload-file-name-handlers)
22583         (tramp-register-file-name-handlers)
22584         (tramp-unload-file-name-handlers)
22585         (tramp-completion-handle-file-name-all-completions)
22586         (tramp-completion-dissect-file-name, tramp-clear-passwd):
22587         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
22588         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
22589         (tramp-compute-multi-hops): Use them.
22591 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
22593         Implement special sigma casing rule  (bug#24603)
22595         In Greek, a sigma character has two lower case forms which depend on
22596         their position in the word.  Implement logic determining it.
22598         * src/casefiddle.c (struct casing_context, case_character_impl): Don’t
22599         assume inword is true when flag is CASE_UP and false when flag is
22600         CASE_DOWN.  For final sigma detection we need this information tracked
22601         reliably;.
22602         (CAPITAL_SIGMA, SMALL_SIGMA, SMALL_FINAL_SIGMA): New macros defining
22603         Unicode code point of different forms of sigma letter.
22604         (case_character): Implement support for final sigma casing.
22605         (do_casify_multibyte_string, do_casify_multibyte_region): Update after
22606         changes to case_character.
22608         * test/src/casefiddle-tests.el (casefiddle-tests-casing): Add test
22609         cases for final sigma.
22611 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
22613         Support casing characters which map into multiple code points  (bug#24603)
22615         Implement unconditional special casing rules defined in Unicode standard.
22617         Among other things, they deal with cases when a single code point is
22618         replaced by multiple ones because single character does not exist (e.g.
22619         ‘fi’ ligature turning into ‘FL’) or is not commonly used (e.g. ß turning
22620         into SS).
22622         * admin/unidata/SpecialCasing.txt: New data file pulled from Unicode
22623         standard distribution.
22624         * admin/unidata/README: Mention SpecialCasing.txt.
22626         * admin/unidata/unidata-gen.el (unidata-gen-table-special-casing,
22627         unidata-gen-table-special-casing--do-load): New functions generating
22628         ‘special-uppercase’, ‘special-lowercase’ and ‘special-titlecase’
22629         character Unicode properties built from the SpecialCasing.txt Unicode
22630         data file.
22632         * src/casefiddle.c (struct casing_str_buf): New structure for
22633         representing short strings used to handle one-to-many character
22634         mappings.
22636         (case_character_imlp): New function which can handle one-to-many
22637         character mappings.
22638         (case_character, case_single_character): Wrappers for the above
22639         functions.  The former may map one character to multiple (or no)
22640         code points while the latter does what the former used to do (i.e.
22641         handles one-to-one mappings only).
22643         (do_casify_natnum, do_casify_unibyte_string,
22644         do_casify_unibyte_region): Use case_single_character.
22645         (do_casify_multibyte_string, do_casify_multibyte_region): Support new
22646         features of case_character.
22647         * (do_casify_region): Updated to reflact do_casify_multibyte_string
22648         changes.
22650         (casify_word): Handle situation when one character-length of a word
22651         can change affecting where end of the word is.
22653         (upcase, capitalize, upcase-initials): Update documentation to mention
22654         limitations when working on characters.
22656         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties):
22657         Add test cases for the newly introduced character properties.
22658         (casefiddle-tests-casing): Update test cases which are now passing.
22660         * test/lisp/char-fold-tests.el (char-fold--ascii-upcase,
22661         char-fold--ascii-downcase): New functions which behave like old ‘upcase’
22662         and ‘downcase’.
22663         (char-fold--test-match-exactly): Use the new functions.  This is needed
22664         because otherwise fi and similar characters are turned into their multi-
22665         -character representation.
22667         * doc/lispref/strings.texi: Describe issue with casing characters versus
22668         strings.
22669         * doc/lispref/nonascii.texi: Describe the new character properties.
22671 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
22673         Split up casify_region function  (bug#24603)
22675         No functional changes at this time but splitting casify_region into
22676         a function dealing with multibyte and another dealing with unibyte
22677         buffers will make future code changes slightly easier.
22679         * src/casefiddle.c (casify_region): Move most of the code into two
22680         new functions:
22681         (do_casify_multibyte_region, do_casify_unibyte_region): new functions.
22683 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
22685         Add support for title-casing letters  (bug#24603)
22687         * src/casefiddle.c (struct casing_context, prepare_casing_context): Add
22688         titlecase_char_table member.  It’s set to the ‘titlecase’ Unicode
22689         property table if capitalization has been requested.
22690         (case_character): Make use of the titlecase_char_table to title-case
22691         initial characters when capitalising.
22693         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
22694         casefiddle-tests-casing): Update test cases which are now passing.
22696 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
22698         Introduce case_character function
22700         Move single-character casing logic into a separate function so that
22701         it is collected in a single place.  This will make future changes to
22702         the logic easier.  This commit introduces no functionality changes.
22704         * src/casefiddle.c (struct casing_context, prepare_casing_context): New
22705         structure for saving casing context and function to initialize it.
22706         (case_character): New function which cases character base on provided
22707         context.
22708         (do_casify_integer, do_casify_multibyte_string,
22709         do_casify_unibyte_string, casify_object, casify_region): Convert to
22710         use casing_context and case_character.
22712 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
22714         Split casify_object into multiple functions
22716         casify_object had three major cases to cover and those were mostly
22717         independent of each other.  Move those branches to separate function
22718         so it’s easier to comprehend each individual case.
22720         While at it, use somewhat more descriptive ch and cased variable names
22721         rather than c and c1.
22723         This commit introduces no functional changes.
22725         * src/casefiddle.c (casify_object): Split into…
22726         (do_casify_integer, do_casify_multibyte_string,
22727         do_casify_unibyte_string): …new functions.
22729 2017-04-06  Lars Brinkhoff  <lars@nocrew.org>
22731         Update documentation for type semantics of records.
22733         * doc/lispref/objects.texi (Record Type): improve description of what
22734         `type-of' returns for records.
22735         (Type Descriptors): new section.
22736         * doc/lispref/elisp.texi: reference it.
22737         * doc/lispref/records.texi (Records): reference it.  Document
22738         behaviour when type slot is a record.
22740         * admin/alloc-colors.c (Fmake_record, Frecord): mention type desciptors.
22742 2017-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22744         * lisp/help-fns.el (describe-symbol): `nil' is not an interesting default.
22746 2017-04-06  Tom Tromey  <tom@tromey.com>
22748         require cl-lib to fix fallout from mhtml series
22750         * lisp/align.el, lisp/calc/calc-embed.el, lisp/cedet/semantic.el,
22751         lisp/emulation/viper.el: Require cl-lib.
22753 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
22755         In CANNOT_DUMP builds, allow editing of files named "dump".
22757         * lisp/loadup.el: Perform the "dump" or "bootstrap" actions like
22758         calling dump-emacs only if dump-emacs is defined; otherwise, don't
22759         treat those command-line argument specially.
22761 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
22763         In CANNOT_DUMP builds, don't prepare for unexec.
22765         Having a command-line argument of "dump" or "bootstrap" would trigger
22766         behavior like not installing signal handlers.  In CANNOT_DUMP modes,
22767         we should get signal handlers installed regardless of whatever funny
22768         file names we decide to edit.
22770         src/emacs.c (main) [CANNOT_DUMP]: Don't enable the "dumping"
22771         alterations to initialization that prepares the process for unexec.
22773 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
22775         Allow a CANNOT_DUMP build to use exec-path during bootstrap.
22777         During a bootstrap, loading rmail.el invokes movemail to determine its
22778         flavor, but call-process doesn't work if exec-path is nil.
22780         * lisp/loadup.el: Only clear exec-path if dumping.
22782 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
22784         Fix CANNOT_DUMP build on Darwin/macOS.
22786         * src/conf_post.h (malloc, realloc, free) [DARWIN_OS && emacs &&
22787         CANNOT_DUMP]: Don't define as unexec_malloc, etc.
22788         * src/emacs.c (main): Don't call unexec_init_emacs_zone.
22790 2017-04-05  Tom Tromey  <tom@tromey.com>
22792         add two more mhtml tests
22794         * test/manual/indent/html-multi-2.html: New file.
22795         * test/manual/indent/html-multi-3.html: New file.
22797 2017-04-05  Tom Tromey  <tom@tromey.com>
22799         enable mhtml-mode by default
22801         * lisp/files.el (auto-mode-alist): Reference mhtml-mode, not
22802         html-mode.
22803         (magic-fallback-mode-alist): Likewise.
22804         * lisp/net/eww.el (eww-view-source): Use mthml-mode.
22806 2017-04-05  Tom Tromey  <tom@tromey.com>
22808         add mhtml-mode.el
22810         * etc/NEWS: Update.
22811         * lisp/textmodes/mhtml-mode.el: New file.
22812         * test/manual/indent/html-multi.html: New file.
22813         * test/lisp/textmodes/mhtml-mode-tests.el: New file.
22814         * doc/emacs/text.texi (HTML Mode): Mention mhtml-mode.
22816 2017-04-05  Tom Tromey  <tom@tromey.com>
22818         change sgml-mode to help multi-html mode
22820         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): New
22821         defconst.
22822         (sgml-syntax-propertize): Use it.
22823         (sgml--find-<>-backward): New function.
22824         (sgml-parse-tag-backward): Use it.
22826 2017-04-05  Tom Tromey  <tom@tromey.com>
22828         make js.el respect prog-first-column
22830         * lisp/progmodes/js.el (js--proper-indentation): Call prog-first-column.
22832 2017-04-05  Tom Tromey  <tom@tromey.com>
22834         make smie.el respect prog-first-column
22836         * lisp/emacs-lisp/smie.el (smie-indent-bob): Call prog-first-column.
22838 2017-04-05  Tom Tromey  <tom@tromey.com>
22840         change viper to use derived-mode-p
22842         * lisp/subr.el (provided-mode-derived-p): New function.
22843         (derived-mode-p): Use it.
22844         * lisp/emulation/viper.el (viper-mode): Use derived-mode-p.
22845         (this-major-mode-requires-vi-state): Use provided-mode-derived-p.
22846         (set-viper-state-in-major-mode): Use derived-mode-p.
22848 2017-04-05  Tom Tromey  <tom@tromey.com>
22850         change align to use derived-mode-p
22852         * lisp/align.el (align-region): Use derived-mode-p.
22854 2017-04-05  Tom Tromey  <tom@tromey.com>
22856         change org to use derived-mode-p
22858         * lisp/org/org-list.el (org-list-insert-radio-list): Use
22859         derived-mode-p.
22860         * lisp/org/org-table.el (orgtbl-setup, orgtbl-toggle-comment): Use
22861         derived-mode-p.
22863 2017-04-05  Tom Tromey  <tom@tromey.com>
22865         change semantic to use derived-mode-p
22867         * lisp/cedet/semantic.el (semantic-new-buffer-fcn): Use derived-mode-p.
22869 2017-04-05  Tom Tromey  <tom@tromey.com>
22871         change calc to use derived-mode-p
22873         * lisp/calc/calc-embed.el (calc-embedded-find-modes)
22874         (calc-embedded-make-info): Use derived-mode-p.
22876 2017-04-05  Tom Tromey  <tom@tromey.com>
22878         change auto-insert to use derived-mode-p
22880         * lisp/autoinsert.el (auto-insert): Use derived-mode-p.
22882 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
22884         * lisp/info.el (Info-search): Fix typo in April 1 change.
22886 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
22888         Minor cleanups related to type-of
22890         * src/data.c (Frecordp): Rename from Frecordp_p, for consistency.
22891         * src/data.c (syms_of_data):
22892         * src/frame.c (syms_of_frame): Put all the primitive type names
22893         together, under the "Types that type-of returns" comment.
22895 2017-04-05  Glenn Morris  <rgm@gnu.org>
22897         * doc/lispref/package.texi (Package Archives): Mention https.
22899 2017-04-05  Glenn Morris  <rgm@gnu.org>
22901         Advertise https for homepage of gnu.org packages
22903         * lisp/emacs-lisp/package.el (describe-package-1):
22904         Use https, if supported, for the homepage of packages on gnu.org.
22906 2017-04-05  Glenn Morris  <rgm@gnu.org>
22908         Default to https for elpa.gnu.org if gnutls available
22910         * lisp/emacs-lisp/package.el (package-archives):
22911         Default to https for elpa.gnu.org if gnutls is available.  Ref:
22912         https://lists.gnu.org/r/emacs-devel/2015-05/msg00130.html
22914 2017-04-04  Paul Eggert  <eggert@cs.ucla.edu>
22916         Minor simplifications and doc for records
22918         * doc/lispref/records.texi (Records): Mention size limit.
22919         * etc/NEWS: Mention records.
22920         * src/alloc.c (allocate_pseudovector, allocate_record):
22921         Prefer 'PSEUDOVECTOR_SIZE_MASK' to its definiens.
22922         (allocate_record): Check arg range here, not in callers, as this
22923         simplifies the code.  Use allocate_vectorlike instead of
22924         allocate_vector, to avoid duplicate runtime tests.
22925         (Fmake_record, record): Don't mention PSEUDOVECTOR_SIZE_BITS in
22926         the doc string, as it is not visible to the user.
22927         (Fmake_record, record, Fcopy_record):
22928         Prefer make_lisp_ptr to XSETVECTOR.
22929         (record): Broaden memcpy to copy the type, too.
22931 2017-04-04  Eli Zaretskii  <eliz@gnu.org>
22933         Fix recent changes in record data type
22935         * src/alloc.c (Fmake_record, Frecord, Fcopy_record): Avoid
22936         compiler warnings when 'ptrdiff_t' is narrower than 'long int'.
22938 2017-04-04  Philipp Stephani  <phst@google.com>
22940         Make subprocess functions resolve the default directory
22942         `call-process' doesn't respect file name handlers in
22943         `default-directory', so `file-name-non-special' has to resolve them
22944         for `process-file', `start-file-process', and
22945         `shell-command' (Bug#25949).
22947         * lisp/files.el (file-name-non-special): Also resolve default
22948         directory for 'process-file', 'start-file-process', and
22949         'shell-command'.
22950         * test/lisp/files-tests.el
22951         (files-tests--file-name-non-special--subprocess): Add unit test.
22953 2017-04-04  Philipp Stephani  <phst@google.com>
22955         Make ediff handle remote and quoted file names
22957         Quoted file names need to be unquoted before passed to
22958         subprocesses (Bug#25950).
22960         * lisp/vc/ediff-diff.el (ediff-exec-process): Handle remote and quoted
22961         file names.
22962         * test/lisp/vc/ediff-diff-tests.el
22963         (ediff-diff-tests--ediff-exec-process--quoted-file): Add unit test.
22965 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
22967         Backward compatibility with pre-existing struct instances.
22969         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
22970         (cl-old-struct-compat-mode): New minor mode.
22972         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
22973         cl-struct-define to signal use of record objects.
22975         * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
22976         cl-struct-define): Enable legacy defstruct compatibility.
22978         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
22979         old-struct): New tests.
22981         * doc/lispref/elisp.texi, doc/lispref/records.texi: Document
22982         `old-struct-compat'.
22984 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
22986         Make the URL library use records.
22988         * lisp/url/url.el, lisp/url/url-cache.el, lisp/url/url-dav.el,
22989         lisp/url/url-expand.el, lisp/url/url-file.el, lisp/url/url-imap.el,
22990         lisp/url/url-ldap.el: Use `url-p' instead of `vectorp'.
22992         * lisp/url/url-http.el (url-http): Check for type `url' instead of
22993         `vector'.
22995 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
22997         Make EIEIO use records.
22999         * lisp/emacs-lisp/eieio-compat.el
23000         (eieio--generic-static-object-generalizer): Adjust to new tags.
23002         * lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
23003         directly as tag.
23004         (eieio--object-class): Adjust to new tag representation.
23005         (eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
23006         (eieio-defclass-internal): Use `make-record'.
23007         (eieio--generic-generalizer): Adjust generalizer code accordingly.
23009         * lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.
23011         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
23012         Add `recordp'.
23014         * doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.
23016 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
23018         Make cl-defstruct use records.
23020         * lisp/emacs-lisp/cl-extra.el (cl--describe-class)
23021         (cl--describe-class-slots): Use the new `type-of'.
23023         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
23024         (cl--generic-struct-specializers): Adjust to new tag.
23026         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
23027         Use the type symbol as the tag.  Use copy-record to copy structs.
23028         (cl--defstruct-predicate): New function.
23029         (cl--pcase-mutually-exclusive-p): Use it.
23030         (cl-struct-sequence-type): Can now return `record'.
23032         * lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
23033         code to new format.
23034         (cl--struct-register-child): Work with records.
23035         (cl-struct-define): Don't touch the tag's symbol-value and
23036         symbol-function slots when we use the type as tag.
23038         * lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.
23040         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
23041         New test.
23043         * doc/lispref/records.texi, doc/misc/cl.texi: Update for records.
23045 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
23047         Add record objects with user-defined types.
23049         * src/alloc.c (allocate_record): New function.
23050         (Fmake_record, Frecord, Fcopy_record): New functions.
23051         (syms_of_alloc): defsubr them.
23052         (purecopy): Work with records.
23054         * src/data.c (Ftype_of): Return slot 0 for record objects, or type
23055         name if record's type holds class.
23056         (Frecordp): New function.
23057         (syms_of_data): defsubr it.  Define `Qrecordp'.
23058         (Faref, Faset): Work with records.
23060         * src/fns.c (Flength): Work with records.
23062         * src/lisp.h (prec_type): Add PVEC_RECORD.
23063         (RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions.
23065         * src/lread.c (read1): Add syntax for records.
23067         * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
23068         (print_object): Add syntax for records.
23070         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
23071         New test.
23073         * test/src/alloc-tests.el (record-1, record-2, record-3):
23074         New tests.
23076         * doc/lispref/elisp.texi, doc/lispref/objects.texi,
23077         doc/lispref/records.texi: Add documentation for records.
23079 2017-04-04  Tino Calancha  <tino.calancha@gmail.com>
23081         Fix a test in python-test.el
23083         Fix a test that breaks the test suite when it is run within a
23084         virtual environment.
23085         See following link for details:
23086         https://lists.gnu.org/r/emacs-devel/2017-03/msg00857.html
23087         * test/lisp/progmodes/python-tests.el
23088         (python-shell-calculate-process-environment-7): Bind
23089         python-shell-virtualenv-root to VIRTUAL_ENV when this var is set; otherwise
23090         bind it to '/env'.
23092 2017-04-04  Noam Postavsky  <npostavs@gmail.com>
23094         Throw a `search-failed' derived error in Info search
23096         The original fix for Bug#6106 switched from signaling `search-failed'
23097         to `user-error'.  However, this breaks incremental searching over
23098         multiple nodes because the isearch code doesn't expect a `user-error'.
23100         * src/search.c (syms_of_search): New error, `user-search-failed',
23101         with `user-error' and `search-failed' as parents.
23102         * doc/lispref/errors.texi (Standard Errors): Document it.
23103         * etc/NEWS: Announce it.
23104         * lisp/info.el (Info-search): Use it instead of `user-error' so that
23105         isearch will handle failed searches correctly.
23107 2017-04-03  Michael Albinus  <michael.albinus@gmx.de>
23109         Add Tramp test
23111         * doc/misc/tramp.texi (Remote processes): Fix typo.
23113         * lisp/shell.el (shell): Fix typo.
23115         * lisp/net/tramp.el (tramp-set-connection-local-variables): Simplify.
23117         * test/lisp/net/tramp-tests.el (tramp-test30-explicit-shell-file-name):
23118         New test.
23119         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
23120         (tramp-test31-vc-registered)
23121         (tramp-test32-make-auto-save-file-name)
23122         (tramp-test33-make-nearby-temp-file)
23123         (tramp-test34-special-characters)
23124         (tramp-test34-special-characters-with-stat)
23125         (tramp-test34-special-characters-with-perl)
23126         (tramp-test34-special-characters-with-ls, tramp-test35-utf8)
23127         (tramp-test35-utf8-with-stat, tramp-test35-utf8-with-perl)
23128         (tramp-test35-utf8-with-ls)
23129         (tramp-test36-asynchronous-requests)
23130         (tramp-test37-recursive-load, tramp-test38-unload): Rename.
23132 2017-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
23134         * lisp/ses.el: Silence byte-compiler warnings.
23136         (ses-jump, ses-recalculate-cell, ses-define-local-printer): Silence
23137         byte-compiler warnings.
23139 2017-04-02  Glenn Morris  <rgm@gnu.org>
23141         Belated fixes for admin.el's M-x make-manuals-dist
23143         * admin/admin.el (make-manuals-dist-output-variables): Additions.
23144         (make-manuals-dist--1): Also copy docstyle.texi.
23146 2017-04-02  Paul Eggert  <eggert@cs.ucla.edu>
23148         Fix bugs in simplified test dependencies
23150         Problem reported by Glenn Morris in:
23151         https://lists.gnu.org/r/emacs-devel/2017-04/msg00017.html
23152         * test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
23153         (TESTS): Omit unnecessary patsubst.
23154         (test_template): Redo dependency heuristic, hopefully
23155         correctly this time.  It's the .log file that depends,
23156         not the phony test target.  Declare the phonies to be PHONY.
23157         Resurrect the exception for the *-tests subdirectory.
23158         Adjust to the fact that leading "./" is omitted now.
23160 2017-04-02  Wilfred Hughes  <me@wilfred.me.uk>
23162         Fix typo in docstring
23164         * lisp/help.el: Fix typo.
23166 2017-04-02  Michael Albinus  <michael.albinus@gmx.de>
23168         Apply connecion-local variables for shells
23170         * doc/misc/tramp.texi (Remote processes): Show use of connection-local
23171         variables.  Don't mention Emacs 23 anymore.
23172         (Frequently Asked Questions): Precise Emacs and MS Windows version.
23174         * lisp/files-x.el (connection-local-normalize-criteria):
23175         Suppress nil properties.
23176         (connection-local-set-profiles, with-connection-local-profiles):
23177         Adapt docstring.
23179         * lisp/shell.el (shell): Apply connecion-local variables.
23181 2017-04-01  Evgeni Kolev  <evgenysw@gmail.com>  (tiny change)
23183         Propertize only perl prototype chars `][$%&*;+@\' as punctuation
23185         This prevents variables in signatures such as `sub add ($a, $b)' from
23186         being treated as punctuation.
23187         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
23188         Strictly match only prototype characters as punctuation.  (Bug#26037)
23190 2017-04-01  Tom Tromey  <tom@tromey.com>
23192         fix two js-mode syntax propertization bugs
23194         Bug#26070:
23195         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): Add
23196         zero-or-one to regular expression.
23197         (js-syntax-propertize-regexp): Update.  Propertize body of regexp
23198         literal up to END.
23199         * test/lisp/progmodes/js-tests.el (js-mode-propertize-bug-1)
23200         (js-mode-propertize-bug-2): New tests.
23202 2017-04-01  Paul Eggert  <eggert@cs.ucla.edu>
23204         Simplify test dependency generation
23206         Generate default dependencies by using GNU extensions to ‘make’
23207         rather than via a hacky auxiliary program and script.
23208         * .gitignore: Remove test/make-test-deps.mk.
23209         * test/Makefile.in (ELFILES, LOGFILES, TESTS):
23210         Use :=, not =, to avoid multiple redundant invocations of ‘find’.
23211         (test_template): Infer dependency directly instead of via
23212         make-test-deps.mk.
23213         (check-doit): Prepend ‘@’ to avoid excessively long ‘make’ output.
23214         (clean): No need to clean make-test-deps.mk.
23215         (make-test-deps.mk): Remove rule.
23216         * test/make-test-deps.emacs-lisp: Remove.
23218 2017-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
23220         * test/lisp/emacs-lisp/cl-lib-tests.el: Improve symbol-macrolet tests
23222         (cl-lib-symbol-macrolet): Fix last test so it doesn't break the whole
23223         test suite.
23224         (cl-lib-symbol-macrolet-2): New test.
23226 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
23228         Use only posix options in a ediff-ptch test
23230         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
23231         Use just "-b" patch option.  Don't assume a particular suffix for
23232         the backup files.
23234 2017-04-01  Jarno Malmari  <jarno@malmari.fi>
23236         Initial implementation of HTTP Digest qop for url
23238         This also refactors digest authentication functions in url-auth.el.
23240         * lisp/url/url-auth.el (url-digest-auth, url-digest-auth-create-key):
23241         (url-digest-auth-build-response, url-digest-auth-directory-id-assoc):
23242         (url-digest-auth-name-value-string, url-digest-auth-source-creds):
23243         (url-digest-cached-key, url-digest-cache-key, url-digest-find-creds):
23244         (url-digest-find-new-key, url-digest-prompt-creds): Add new functions
23245         to simplify code and aid in unit testing.
23246         (url-digest-auth-build-response): Hook up new functionality, or fall
23247         back to previous.
23248         (url-digest-auth-make-request-digest-qop):
23249         (url-digest-auth-make-cnonce, url-digest-auth-nonce-count):
23250         (url-digest-auth-name-value-string): Add new helper functions.
23251         * test/lisp/url/url-auth-tests.el (url-auth-test-colonjoin):
23252         (url-auth-test-digest-ha1, url-auth-test-digest-ha2):
23253         (url-auth-test-digest-request-digest): Add a few tests as now more
23254         features are testable via intermediate functions.
23255         (url-auth-test-challenges, url-auth-test-digest-request-digest): Test
23256         the new implementation.  Parts of these were accidentally already
23257         merged in the past.
23259 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
23261         Tweak ediff-ptch test in previous commit a bit more
23263         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
23264         Apply patches without requiring a shell.  Add some comments.
23266 2017-03-31  Glenn Morris  <rgm@gnu.org>
23268         Tweak an ediff-ptch test
23270         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
23271         Add skip conditions.  Avoid going through shell where not needed.
23273 2017-03-31  Michael Albinus  <michael.albinus@gmx.de>
23275         * lisp/net/tramp-smb.el (tramp-smb-errors):
23277         Add "NT_STATUS_PASSWORD_MUST_CHANGE".
23279 2017-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>
23281         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet): New test.
23283 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
23285         dired-mark-suffix: New command
23287         Now dired-mark-extension prepends '.' to extension when not present.
23288         Add command dired-mark-suffix to preserve the previous
23289         behaviour (Bug#25942).
23290         * lisp/dired-x.el (dired-mark-suffix): New command;
23291         mark files ending in a given suffix.
23292         (dired--mark-suffix-interactive-spec): New defun.
23293         (dired-mark-extension, dired-mark-suffix): Use it.
23294         * doc/misc/dired-x.texi (Advanced Mark Commands): Update manual.
23295         * test/lisp/dired-x-tests.el: New test suite; add test for these features.
23297 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
23299         default-directory: Remark that it must be a directory name
23301         * src/buffer.c (default-directory): Update docstring (Bug#26272).
23303 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
23305         Delete confuse statement in manual
23307         * doc/misc/cl.texi (For Clauses): Delete confuse statement
23308         and its example (Bug#23550).
23310 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
23312         Use find -delete if available
23314         This shortens the ‘make’ output and should avoid some
23315         repetitive scanning of directories during a build.
23316         * configure.ac (FIND_DELETE): New var.
23317         * lisp/Makefile.in (compile-always, bootstrap-clean):
23318         * test/Makefile.in (clean, bootstrap-clean): Use it.
23319         * test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.
23321 2017-03-31  Mark Oteiza  <mvoteiza@udel.edu>
23323         Remove gnus-boundp
23325         * lisp/gnus/gnus-start.el (gnus-display-time-event-handler): Use
23326         bound-and-true-p.
23327         * lisp/gnus/gnus-util.el (gnus-boundp): Remove.
23329 2017-03-31  Niels Möller  <nisse@lysator.liu.se>  (tiny change)
23331         Stop `fixup-whitespace' adding trailing whitespace (Bug#18783)
23333         * lisp/simple.el (fixup-whitespace): Insert no spaces if point is at
23334         end of line after deleting horizontal whitespace.
23336 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
23338         * src/inotify.c (add_watch): Add comment.
23340 2017-03-31  Andreas Politz  <politza@hochschule-trier.de>
23342         Minor filenotify.el fixes
23344         * lisp/filenotify.el: Require subr-x.
23345         (file-notify-callback): Use equal, not eq.
23347 2017-03-31  Noam Postavsky  <npostavs@gmail.com>
23349         Improve packaging documentation
23351         * doc/lispref/package.texi (Packaging Basics):
23352         * doc/lispref/tips.texi (Library Headers): Clarify some header
23353         formats, relation between file headers and package
23354         attributes (Bug#13281).
23356 2017-03-31  John Mastro  <john.b.mastro@gmail.com>
23358         Fix a small incompatibility in ibuffer
23360         Translate nil values from column functions to the empty string, so that
23361         subsequent calls to string-width don't signal an error (Bug#26317).
23362         * lisp/ibuffer.el (ibuffer-compile-format): If a column function returns
23363         nil, treat it like the empty string.
23365 2017-03-30  Alan Mackenzie  <acm@muc.de>
23367         Fix C++ fontification problems 500 bytes after typing a space, and other bugs
23369         Also implement the "asymmetric space" rule for fontifying otherwise
23370         ambiguous
23371         declarations/expressions.
23373         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Don't set
23374         c-new-BEG or c-new-END when there is no need.
23375         (c-forward-decl-or-cast-1): Add "CASE 17.5" to implement the "asymmetric
23376         space" rule.
23378         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): New function,
23379         extracted from c-font-lock-declarations.  Add to this function processing to
23380         make `context' 'decl for lines contained within parens when these are also
23381         declarations.
23382         (c-font-lock-declarations): Call the newly extracted function above in place
23383         of inline code.
23385         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Set point before calling
23386         c-literal-start.
23388         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag): New user option.
23390         * doc/misc/cc-mode.texi (Misc Font Locking): New node documenting the new
23391         "asymmetric fontification" rule, including the variable
23392         c-asymmetric-fontification-flag.
23394 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
23396         Some inotify cleanup
23398         This catches some problems with integer overflow and races
23399         that I noticed in inotify.c after reviewing the changes
23400         installed to fix Bug#26126.
23401         * src/fns.c, src/lisp.h (equal_no_quit): Now extern.
23402         * src/inotify.c (aspect_to_inotifymask):
23403         Check for cycles and for improper lists.
23404         (make_lispy_mask, lispy_mask_match_p): Remove.
23405         All callers changed to use INTEGER_TO_CONS and CONS_TO_INTEGER.
23406         (inotifyevent_to_event, add_watch):
23407         Don’t assume watch descriptors and cookies fit in fixnums.
23408         (add_watch): Use assoc_no_quit, not Fassoc.
23409         Avoid integer overflow in (very!) long-running processes where
23410         the Emacs watch ID could overflow.  Avoid some duplicate code.
23411         (find_descriptor): New function.
23412         (remove_descriptor): First arg is now the returned value from
23413         find_descriptor, rather than the descriptor.  This way, the
23414         value can be removed without calling Fdelete, which might quit.
23415         Wait until the end (when watch_list is consistent) before signaling
23416         any errors.
23417         (remove_watch, inotify_callback):
23418         Use find_descriptor to avoid the need for Fdelete.
23419         (inotify_callback): Use simpler tests for ioctl failure.
23420         Free temporary buffer if signaled, and put it on the stack if small.
23421         Use ssize_t to index through read results, to avoid a cast.
23422         (valid_watch_descriptor): New function, with a tighter check.
23423         (Finotify_rm_watch, Finotify_valid_p): Use it.
23424         (Finotify_valid_p): Use assoc_no_quit and ass_no_quit instead
23425         of Fassoc.  Do not assume the first assoc succeeds.
23426         * test/src/inotify-tests.el (inotify-valid-p-simple):
23427         Add inotify-valid-p tests, some of which dump core without
23428         the fixes noted above.
23430 2017-03-30  Michael Albinus  <michael.albinus@gmx.de>
23432         * lisp/net/tramp-sh.el (tramp-get-remote-locale): Add "C.UTF-8" as candidate.
23434 2017-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
23436         * lisp/cedet/semantic/wisent/wisent.el (wisent-automaton-p): Use obarrayp.
23438 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
23440         Fix assoc_no_quit so that it does not quit
23442         The problem was that it called Fequal, which can quit.
23443         * src/fns.c (enum equal_kind):
23444         New enum, to be used in place of a boolean.
23445         (equal_no_quit): New function.
23446         (Fmemql, Feql): Use it to compare floats, as a minor tuneup.
23447         (assoc_no_quit): Use it to avoid quitting, the main point here.
23448         (internal_equal): Generalize bool to enum equal_kind arg, so that
23449         there are now 3 possibilities instead of 2.  Do not signal an
23450         error if EQUAL_NO_QUIT.  Put the arg before the depth, since depth
23451         should be irrelevant if the arg is EQUAL_NO_QUIT.  All callers
23452         changed.
23454 2017-03-29  Alan Mackenzie  <acm@muc.de>
23456         Amend gitmerge to recognize the injunction "don't merge".
23458         * admin/gitmerge.el (gitmerge-skip-regexp): amend regexp to match "don't" as
23459         well as "do not".
23461 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
23463         Add one more CSS pseudo-class
23465         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add
23466         `focus-within'.
23468 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
23470         Update list of CSS pseudo-classes
23472         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Update list of
23473         pseudo-classes.
23475 2017-03-29  Noam Postavsky  <npostavs@gmail.com>
23477         Adjust some search failure errors in info.el
23479         * lisp/info.el (Info-select-node): The search for beginning of node is
23480         an internal detail, and is not normally expected to fail, so it should
23481         not be a user error.
23482         (Info-complete-menu-item): Failing to find a menu indicates the user
23483         searched for a menu when there isn't one, so change to `use-error'.
23485 2017-03-28  Alan Mackenzie  <acm@muc.de>
23487         * lisp/progmodes/cc-defs.el (c-version):  Restore c-version to 5.33
23489 2017-03-28  Paul Eggert  <eggert@cs.ucla.edu>
23491         Don’t mishandle (format "%i" -1.0)
23493         * src/editfns.c (styled_format): Treat %i like %d when converting arg.
23495 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
23497         * lisp/emacs-lisp/ert.el (ert-run-tests): Make INTERACTIVE arg optional.
23499 2017-03-28  Michael Albinus  <michael.albinus@gmx.de>
23501         * src/inotify.c (Finotify_add_watch): aspect can also be a symbol.
23503 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
23505         Don't add `search-failed' to ignored errors in info.el (Bug#6106)
23507         * lisp/info.el: Stop adding `search-failed' to `debug-ignored-errors'.
23508         (Info-select-node, Info-search): Replace (signal 'search-failed ...)
23509         with (user-error "Search failed: "...).
23511 2017-03-27  Paul Eggert  <eggert@cs.ucla.edu>
23513         Fix obsolete ‘test/automated’ references
23515         * Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
23516         (bootstrap-clean, maintainer-clean):
23517         Clean ‘test’, not ‘test/automated’.  Test for existence of
23518         subdirectory only for ‘test’, not for directories that should
23519         always exist.
23520         * admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
23521         * lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
23522         * lisp/man.el (Man-parse-man-k):
23523         * lisp/url/url-domsuf.el, make-dist:
23524         * test/file-organization.org:
23525         Fix obsolete references to test/automated.
23527 2017-03-27  Katsumi Yamaoka  <yamaoka@jpl.org>
23529         shr-image-fetched: Work for narrowed Gnus article
23531         See <8737e3msun.fsf@gmail.com> of bug#26231 in the bug-gnu-emacs list.
23533         * lisp/net/shr.el (shr-image-fetched): Work for narrowed article.
23535 2017-03-27  Michael Albinus  <michael.albinus@gmx.de>
23537         * lisp/net/tramp.el (tramp-file-name-handler): Autoload it.
23539 2017-03-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
23541         Expand manual section on quitting windows
23543         * doc/lispref/windows.texi (Quitting Windows): Provide more
23544           information about the elements of the quit-restore window parameter,
23545           and how they affect the behavior of quit-restore-window.
23547 2017-03-26  Philipp Stephani  <phst@google.com>
23549         Add check for expected backtrace in module calls.
23551         * test/manual/cedet/tests/test.el
23552         (mod-test-non-local-exit-signal-test): Compare actual backtrace to
23553         expected backtrace.
23555 2017-03-26  Eli Zaretskii  <eliz@gnu.org>
23557         Fix redisplay glitches due to recent change in redisplay_internal
23559         * src/xdisp.c (redisplay_internal): A better fix for bug#26097.
23560         See https://lists.gnu.org/r/emacs-devel/2017-03/msg00695.html
23561         for the problems caused by the original fix.
23563 2017-03-26  Michael Albinus  <michael.albinus@gmx.de>
23565         Fix Bug#26258
23567         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
23568         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
23569         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
23570         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
23571         Autoload.  Call `tramp-register-foreign-file-name-handler'.  (Bug#26258)
23573         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Remove.
23574         (tramp-register-autoload-file-name-handlers)
23575         (tramp-register-file-name-handlers): Do not handle
23576         `tramp-autoload-file-name-handler' anymore.  Mark `operations'
23577         the handlers are responsible for.
23578         (tramp-register-foreign-file-name-handler): New defun.
23580 2017-03-26  Noam Postavsky  <npostavs@gmail.com>
23582         Fix docstring of dabbrev-abbrev-char-regexp
23584         * lisp/dabbrev.el (dabbrev-abbrev-char-regexp): Using a value of nil
23585         is equivalent to "\\sw\\|\\s_", and has no special behavior.  If the
23586         previous character doesn't match, we search backwards for one that
23587         does, not throw an error.  Replace Lisp example with C based one to
23588         make it clear that "symbol" means a sequence of word and symbol
23589         constituent characters, not a Lisp symbol (Bug#358).
23591 2017-03-26  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
23593         * doc/misc/cl.texi (Iteration Clauses): Clarify example (Bug#19515).
23595 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
23597         Minor fixes for inotify.c and filenotify.el
23599         * lisp/filenotify.el (file-notify--watch-absolute-filename):
23600         Add docstring.
23601         (file-notify-callback): Simplify.
23603         * src/inotify.c (Finotify_add_watch): Adapt docstring.
23605 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
23607         Fix issues regarding inotify file-notification
23609         Remove special code handling the inotify back-end.
23610         * lisp/filenotify.el (file-notify--watch): New struct
23611         representing a file-watch.
23612         (file-notify-descriptors): Use the new struct as hash-value.
23613         (file-notify-handle-event): Check that event is a cons.
23614         (file-notify--rm-descriptor, file-notify--event-watched-file)
23615         (file-notify--event-file-name, file-notify--event-file1-name)
23616         (file-notify-callback, file-notify-add-watch)
23617         (file-notify-rm-watch, file-notify-valid-p): Use new struct.
23618         Remove special code handling inotify descriptors.  Remove code
23619         handling multiple clients per descriptor.
23620         (file-notify--descriptor): Remove unused function.
23622         Let inotify-add-watch return a unique descriptor on every
23623         call, like every other back-end does (Bug#26126).  Prevent
23624         multiple clients from interfering with each other, when
23625         watching a shared descriptor.
23626         * src/inotify.c (watch_list): Extend the format by including a
23627         id and the provided mask.
23628         (INOTIFY_DEFAULT_MASK): Default mask used for all clients.
23629         (make_watch_descriptor): Removed.
23630         (make_lispy_mask, lispy_mask_match_p): New functions.
23631         (inotifyevent_to_event): Match event against the mask provided
23632         by the client.
23633         (add_watch, remove_descriptor, remove_watch): New functions
23634         for managing the watch_list.
23635         (inotify_callback): Use the new functions.
23636         (Finotify_add_watch, Finotify_rm_watch): Remove deprecated
23637         flags from documentation.  Add check for validity of provided
23638         descriptor.  Use the new functions.  Use the default mask.
23639         (INOTIFY_DEBUG): Add new debug conditional.
23640         (inotify-watch-list, inotify-allocated-p): New debug functions.
23641         (symbol_to_inotifymask, syms_of_inotify): Remove deprecated symbols.
23643         * test/lisp/filenotify-tests.el:
23644         (file-notify-test02-rm-watch): Remove expected failure for inotify.
23646 2017-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
23648         * lisp/emacs-lisp/pcase.el (pcase): Comment debug message (Bug#26177).
23650 2017-03-25  Jens Uwe Schmidt  <ju.schmidt@gmx.de>  (tiny change)
23652         Stop edebug getting stuck on backquote (Bug#23651)
23654         * lisp/emacs-lisp/edebug.el (edebug-read-sexp): Move forward after
23655         reading backquote or comma.
23657 2017-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
23659         Expand manual section on quitting windows
23661         * doc/lispref/windows.texi (Quitting Windows): Provide more
23662           information about the elements of the quit-restore window parameter,
23663           and how they affect the behavior of quit-restore-window.
23665 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
23667         Support in ispell.el multiple dictionaries loaded by Hunspell
23669         * lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
23670         Support Hunspell configurations that load more than one dictionary
23671         by default.  Doc fix.  (Bug#25830)
23673 2017-03-25  Michael Albinus  <michael.albinus@gmx.de>
23675         Simplify Tramp autoloading.
23677         * lisp/net/tramp.el (tramp-completion-file-name-handler):
23678         Simplify autoloading.  Give it the `operations' property.
23679         (tramp-completion-handle-expand-file-name): Remove.
23681 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
23683         Fix a segfault due to failure to realize some faces
23685         * src/xdisp.c (redisplay_internal): If the frame becomes garbaged
23686         while redisplaying its windows, redisplay all of its windows
23687         again.  (Bug#26097)
23688         (init_iterator): When freeing all realized faces on all frames,
23689         reset the 'face_change' flag of the frame whose window we are
23690         about to iterate.
23692 2017-03-25  Philipp Stephani  <phst@google.com>
23694         Use a named function for 'safe-local-variable
23696         This improves the help screen for `version-control' (Bug#25431).
23698         * lisp/files.el (version-control-safe-local-p): New function.
23699         (version-control): Use it.
23701 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
23703         ;* doc/misc/info.texi (Choose menu subtopic): Improve indexing.  (Bug#26236)
23705 2017-03-25  Helmut Eller  <eller.helmut@gmail.com>
23707         Make it easier to abort a series of tests with C-g
23709         * lisp/emacs-lisp/ert.el (ert-run-tests): Add "interactively" arg.  If
23710         interactively is true and a test was aborted then ask if the remaining
23711         tests should be aborted too.
23712         (ert-run-tests-batch, ert-run-tests-interactively): Pass in
23713         interactively arg.
23715 2017-03-24  Paul Eggert  <eggert@cs.ucla.edu>
23717         Don’t require chown/chgrp for game installation
23719         Problem reported by Joseph Mingrone in:
23720         https://lists.gnu.org/r/emacs-devel/2017-03/msg00622.html
23721         * lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or
23722         chgrp fails with update-game-score and the game directory.
23723         Instead, expect the installer to fix this up afterwards.
23725 2017-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
23727         * lisp/emacs-lisp/lisp-mode.el: Don't highlight \( at BOL
23729         (elisp--font-lock-backslash): Extract from lisp-el-font-lock-keywords-2.
23730         Don't highlight \ at BOL.  Don't assume syntax-ppss preserves match-data.
23732 2017-03-23  Philipp Stephani  <phst@google.com>
23734         Protect against an infloop in python-mode
23736         There appears to be an edge case caused by using `syntax-ppss' in a
23737         narrowed buffer during JIT lock inside of Python triple-quote strings.
23738         Unfortunately it is impossible to reproduce without manually
23739         destroying the syntactic information in the Python buffer, but it has
23740         been observed in practice.  In that case it can happen that the syntax
23741         caches get sufficiently out of whack so that there appear to be
23742         overlapping strings in the buffer.  As Python has no nested strings,
23743         this situation is impossible and leads to an infloop in
23744         `python-nav-end-of-statement'.  Protect against this by checking
23745         whether the search for the end of the current string makes progress.
23747         * lisp/progmodes/python.el (python-nav-end-of-statement): Protect
23748         against infloop.
23749         * test/lisp/progmodes/python-tests.el
23750         (python-tests--python-nav-end-of-statement--infloop): Add unit test.
23752 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
23754         * doc/lispref/os.texi (File Notifications):
23756         Strengthen the recommendation to use filenotify.el.
23758 2017-03-23  Paul Eggert  <eggert@cs.ucla.edu>
23760         Merge from gnulib
23762         This incorporates:
23763         2017-03-22 getopt: merge from glibc
23764         * build-aux/config.sub, lib/getopt.c, lib/getopt.in.h:
23765         * lib/getopt1.c, lib/getopt_int.h: Copy from gnulib.
23766         * lib/gnulib.mk.in: Regenerate.
23768 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
23770         Use lexical-bind in Tramp
23772         * lisp/net/tramp*.el: Add lexical-binding cookie.  Move declarations up.
23774         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names): Use `push'
23775         rather than `add-to-list'.
23776         (tramp-adb-get-device): Remove unused variable.
23778         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Remove unused
23779         variable.
23781         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
23782         (tramp-find-file-name-coding-system-alist): Use `push' rather
23783         than `add-to-list'.
23785         * test/lisp/net/tramp-tests.el: Add lexical-binding cookie.
23786         Require 'dired.  Move declarations up.
23787         (tramp-test32-make-nearby-temp-file): Wrap `make-nearby-temp-file'
23788         and `temporary-file-directory' calls with `with-no-warnings'.
23789         (tramp-test35-asynchronous-requests): Mark unused variable.
23791 2017-03-23  Kaushal Modi  <kaushal.modi@gmail.com>
23792             Noam Postavsky  <npostavs@gmail.com>
23794         Do not include comment start chars in ffap string
23796         * lisp/ffap.el (ffap-string-at-point): If the point is in a comment,
23797         ensure that the returned string does not contain the comment start
23798         characters (especially for major modes that have '//' as comment start
23799         characters).  Otherwise, in a major mode like c-mode, with `ido-mode'
23800         enabled and `ido-use-filename-at-point' set to `guess', doing "C-x
23801         C-f" on a "//foo" comment will initiate an attempt to access a path
23802         "//foo" (Bug#24057).
23804 2017-03-23  Martin Rudalics  <rudalics@gmx.at>
23806         c:/Temp/gtk-window-move/ChangeLog.txt
23808 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
23810         Fix filenotify.el issue for kqueue
23812         * lisp/filenotify.el (file-notify-add-watch): Use directory
23813         for remote file name handlers.
23815         * test/lisp/filenotify-tests.el (file-notify-test01-add-watch):
23816         Create/delete temporary file only for "kqueue".
23817         (file-notify-test02-rm-watch): Create/delete temporary files.
23819 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
23821         Extend `file-notify-test02-rm-watch'
23823         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
23824         Expect it failed for inotify.  Divide tests into different
23825         `unwind-protect' clauses.  Check, that removing watch
23826         descriptors out of order do not harm.  (Bug#26126)
23828 2017-03-22  Noam Postavsky  <npostavs@gmail.com>
23830         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-subsexp): Test for Bug#26187
23832 2017-03-22  Graham Dobbins  <gdobbins@protonmail.com>  (tiny change)
23834         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Fix null endpos case
23836 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
23838         Improve configure --with-pop etc. diagnostics
23840         * configure.ac: Improve diagnostics re --with-pop and
23841         --with-mailutils (Bug#26102).
23843 2017-03-21  Eli Zaretskii  <eliz@gnu.org>
23845         Revert "Make --without-pop the default."
23847         This reverts commit 9319de675e395517f9a7b50cae1a3aad9cd0abc2.
23849 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
23851         Don’t remove dependency files when configuring
23853         Problem reported by Tom Tromey in:
23854         https://lists.gnu.org/r/emacs-devel/2017-03/msg00533.html
23855         * configure.ac: Don’t remove */*.o and */deps/* when
23856         --enable-autodepend is in effect.
23858 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
23860         Make --without-pop the default.
23862         Suggested by Angelo Graziosi in:
23863         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
23864         * configure.ac: Change the default from --with-pop to
23865         --without-pop.  Adjust diagnostics to match.
23867 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
23869         Streamline dependency-file generation
23871         * configure.ac (AUTODEPEND_PARENTS): New var.
23872         mkdir the dependency directories here, to simplify ‘make’.
23873         Remove dependency files just before outputting Makefiles, so that
23874         they are preserved if ‘configure’ exits early due to some other problem.
23875         * lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in:
23876         * src/Makefile.in: Adjust deps strategies to be similar, as follows:
23877         (MKDEPDIR): Remove.  All uses removed.  This cuts down on the
23878         number of processes spun off by ‘make’.
23879         (clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself.
23880         (distclean): Remove $(DEPDIR) itself.
23881         * lwlib/Makefile.in (all): Move to front, so that depdir includes
23882         do not alter default action.
23884 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
23886         Port and simplify example sh script
23888         * doc/misc/org.texi (noweb-ref): Simplify shell script example and
23889         don’t use ‘tail -1’, which is not portable.
23891 2017-03-21  Noam Postavsky  <npostavs@gmail.com>
23893         Narrow scope of modification hook renabling in org-src fontification
23895         Modification hooks should be enabled while modifying text in the
23896         org-src temp buffer, but in 2017-01-29 "Call modification hooks in
23897         org-src fontify buffers" the hooks were enabled also for modifications
23898         to the original org buffer.  This causes fontification errors when
23899         combined with certain packages, as reported in
23900         https://lists.gnu.org/r/emacs-orgmode/2017-03/msg00420.html.
23902         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
23903         of inhibit-modification-hooks let-binding.
23905 2017-03-21  Tino Calancha  <tino.calancha@gmail.com>
23907         epatch: Save right backups in Git multipatches
23909         Multipatches on N Git files save wrong backups for
23910         N-1 files; only the last one has a correct backup (Bug#26084).
23911         * lisp/vc/diff-mode.el (diff-file-junk-re): Add 'Prereq: '
23912         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Use 'diff-file-junk-re'.
23913         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug25010):
23914         Rename from ibuffer-test-bug25010.
23915         (ediff-ptch-test-bug26084): New test.
23917 2017-03-21  Michael R. Mauger  <michael@mauger.com>
23919             * lisp/progmodes/sql.el: Version 3.6
23921             (sql-login-params): Added :must-match for completition of
23922             `server' and `database' login parameters.
23923             (sql-sqlite-login-params, sql-postgres-login-params): Set
23924             :must-match to `confirm'.
23925             (sql-get-login-ext): Use :must-match value to control
23926             `read-file-name' or `completing-read'.
23927             (sql-connect): Added optional BUF-NAME parameter; Reworked
23928             connection variable processing; Pass buffer name to
23929             `sql-product-interactive'.
23930             (sql-product-interactive): Pass buffer name along.
23931             (sql-comint): Add optional BUF-NAME and calculate reasonable default.
23932             (sql-comint-oracle, sql-sybase-comint, sql-comint-informix)
23933             (sql-comint-sqlite, sql-comint-mysql, sql-comint-solid)
23934             (sql-comint-ingres, sql-comint-ms, sql-comint-postgres)
23935             (sql-comint-interbase, sql-comint-db2, sql-comint-linter)
23936             (sql-comint-vertica): Add optional BUF-NAME, pass to
23937             `sql-comint'.
23938             (sql-oracle--list-oracle-name): New function.
23939             (sql-oracle-list-all): Use it.
23940             (sql-oracle-completion-object): Enhanced.
23942 2017-03-20  Vincent Belaïche  <vincentb1@users.sourceforge.net>
23944         Solve ses-recalculate-cell updating only current line bug.
23946         * lisp/ses.el (ses-recalculate-cell): Add optional argument
23947         ses--curcell to avoid overwriting ses--curcell when function is
23948         called from ses-recalculate-all.  Update docstring accordingly.
23949         (ses-recalculate-all): Call ses-recalculate-cell with argument
23950         ses--curcell to avoid its overwriting.
23952 2017-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23954         Fix problem with out-of-date dependencies
23956         Problem reported by Robert Marshall in:
23957         https://lists.gnu.org/r/emacs-devel/2017-03/msg00501.html
23958         Although this problem has been with us for a while, the recent
23959         change from Automake to GNU Make exposed it again.
23960         * configure.ac (AUTO_DEPEND): When autodepending, clean out any
23961         leftover dependency and object files, since the previous sources'
23962         dependencies may disagree with the current ones.  Reconfiguring
23963         typically needs to force a rebuild anyway.
23965 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
23967         Simpler filter implementation
23969         * lisp/play/dunnet.el (dun-endgame-question): Get or set
23970         dun-endgame-questions one time only.  Use dolist and an index to
23971         prune the list.
23973 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
23975         * lisp/button.el (forward-button): Use user-error instead.
23977 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23979         Merge from gnulib
23981         This gets Emacs working again with HP-UX Itanium cc.
23982         It incorporates:
23983         2017-03-19 stdalign: tweak version# and test for HP-UX IA64
23984         2017-03-18 stdalign: restore previous behavior for HP-UX IA64
23985         2017-03-17 stat-time, timespec: Support header files in C++ mode
23986         2017-03-17 stdalign: Make it work with HP-UX cc
23987         2017-03-17 flexmember: try to detect HP-UX 11.31 cc bug
23988         2017-03-16 stdint: Fix test compilation failure with HP-UX 11 cc.
23989         2017-03-14 gnulib-tool: don't produce tests with only snippets
23990         2017-03-14 limits-h: Make it work with HP-UX cc.
23991         * etc/PROBLEMS: Remove now-obsolete entry for HP-UX 11.31.
23992         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
23993         * lib/limits.in.h, lib/stat-time.h, lib/stdalign.in.h:
23994         * lib/stdint.in.h, lib/timespec.h, m4/flexmember.m4, m4/stdalign.m4:
23995         Copy from gnulib.
23997 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23999         * ChangeLog.2: Merge from emacs-25.
24001 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24003         Fixups after merge from emacs-25
24005         * etc/NEWS: Remove stray entry.
24006         * etc/NEWS.25: Copy from Emacs emacs-25 etc/NEWS.
24007         * lisp/textmodes/rst.el (rst-package-emacs-version-alist):
24008         Make it nondecreasing.
24010 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24012         Merge from origin/emacs-25
24014         d71e071 Improve documentation of interactive "r".
24016 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24018         Merge from origin/emacs-25
24020         a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
24021         1925dd9 Fix duplicate wording in Emacs manual
24022         6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A...
24023         2d671fd Fix wording in Emacs manual
24024         a8766a2 Document how to customize input methods
24025         6eb8995 * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
24026         aceac95 Fix warning message about native completion (Bug#25984)
24027         a314c1f Clarify documentation of 'raise' and 'height' display specs
24028         f366f6e Mention problems with GPaste in PROBLEMS
24029         6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug...
24030         6406618 Fix doc strings in info.el
24031         c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change.
24032         eed9677 Fix doc string of 'posn-at-point'
24033         0d5957e Documentation fix in elisp reference manual
24035 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24037         Merge from origin/emacs-25
24039         ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
24040         2b774fa Mention "editor" in Emacs man page header
24041         ae60d0c Document problems with nerd-fonts
24042         2fdb5a9 ; Details about pinning Emacs to w32 task bar
24043         5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
24044         4c51ef4 Clarify what is the "cursor"
24045         8303c32 ; * etc/NEWS: Copyedits.
24046         3f7493e ; Fix a typo in comment
24047         c54cf8d Improve commentary in lisp.h
24048         8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
24049         0ba9932 Disable native completion for ipython (Bug#25067)
24050         38fc456 Fix a typo in ada-mode manual
24051         00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
24052         a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...
24054         # Conflicts:
24055         #       etc/NEWS
24056         #       etc/PROBLEMS
24058 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24060         Merge from origin/emacs-25
24062         02d9ad8 * admin/make-tarball.txt: Add documentation regarding the rel...
24064 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24066         Merge from origin/emacs-25
24068         e1171de * CONTRIBUTE (Documenting your changes): Index new vars/comma...
24070 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24072         Merge from origin/emacs-25
24074         ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
24075         7e02a47 Index byte-compile-debug
24076         7c1e598 Document `byte-compile-debug' in the ELisp manual
24077         4d81eb4 Document variable `byte-compile-debug'
24078         72ef710 Fix call to debugger on assertion failure
24079         ae8264c Call modification hooks in org-src fontify buffers
24080         b3139da ; Fix last change in doc/lispref/strings.texi
24081         c331f39 Improve documentation of 'format' conversions
24082         9f52f67 Remove stale functions from ert manual
24083         c416b14 Fix a typo in Eshell manual
24084         06695a0 ; Fix a typo in ediff-merg.el
24085         954e9e9 Improve documentation of hooks related to saving buffers
24086         9fcab85 Improve documentation of auto-save-visited-file-name
24087         2236c53 fix typo in mailcap-mime-extensions
24088         85a3e4e Fix typos in flymake.el
24089         a1ef10e More NEWS checking for admin.el's set-version
24091         # Conflicts:
24092         #       lisp/emacs-lisp/bytecomp.el
24094 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24096         Merge from origin/emacs-25
24098         5569e64 ; Spelling fixes
24099         24a5f57 * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (...
24100         9b89896 * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
24101         69b50f5 * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#2...
24102         42eae54 Improve documentation of dabbrevs
24103         b0ade0d Clarify that easy-menu-add is a nop (Bug#25382)
24104         3c69f2c * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fi...
24106         # Conflicts:
24107         #       lisp/textmodes/rst.el
24109 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24111         Merge from origin/emacs-25
24113         0e35405 Improve documentation of coding-systems
24114         c2fd04c Improve definition of 'variable-pitch' face on MS-Windows
24115         16fb50d Fix an error message in python.el
24116         a2a2073 Clarify major mode switching
24117         fc38671 Add helpful comment to compile-command's docstring
24118         ee65d85 Fix ':version' of 'select-enable-primary'
24120 2017-03-19  Paul Pogonyshev  <pogonyshev@gmail.com>
24122         Fix bug in generator function with pcase (Bug#26068)
24124         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove some calls
24125         to symbol-name.
24127 2017-03-19  Alan Mackenzie  <acm@muc.de>
24129         Fix chaotic indentation of C++ lambda.  Enhance documentation thereof
24131         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): qualify an
24132         invocation of c-on-identifier with a check we're not at the _end_ of an
24133         identifier.
24135         * doc/misc/cc-mode.texi: (Tex title page): Remove @subtitlefont because the
24136         perl versions of texi2dvi haven't implemented it.
24137         (Syntactic Symbols): Note that `inlambda' is also used in C++ Mode, not just
24138         in Pike Mode.
24139         (Statement Block Symbols): Add a section illustrating a C++ lambda function.
24140         (FAQ): Add a question about "excessive" indentation of the contents of a C++
24141         lambda function, and how to get rid of it.
24143 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
24145         Remove unused vars in cl-extra.el and tramp.el.
24147         * lisp/emacs-lisp/cl-extra.el (cl--print-table): Remove unused vars.
24149         * lisp/net/tramp.el (tramp-dissect-file-name): Remove unused `match'.
24150         (outline-regexp, ls-lisp-use-insert-directory-program): Declare.
24151         (tramp-find-foreign-file-name-handler): Mark unused arg, remove unused `v`.
24153 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
24155         Improve describe-symbol's layout of slots when describing types
24157         * lisp/emacs-lisp/cl-extra.el (cl--print-table): New function.
24158         (cl--describe-class-slots): Use it.
24160 2017-03-18  Michael Albinus  <michael.albinus@gmx.de>
24162         Fix Bug#26156
24164         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist):
24165         <expand-file-name>: Remove handler.  (Bug#26156)
24167 2017-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
24169         * lisp/obarray.el (obarray-size): Avoid compiler warning.
24171 2017-03-18  Eli Zaretskii  <eliz@gnu.org>
24173         Fix last change in lib/Makefile.in
24175         * lib/Makefile.in (srcdir): Define, as including
24176         $(srcdir)/../nt/gnulib-cfg.mk needs that.
24178 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
24180         * configure.ac: Fix typo in diagnostic.
24182 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
24184         Port out-of-source builds to windows-nt
24186         Problem reported by Angelo Graziosi in:
24187         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
24188         * lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
24189         to handle out-of-source builds if windows-nt.
24191 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
24193         MS-Windows followup for switch from Automake
24195         * nt/INSTALL:
24196         * nt/INSTALL.W64: Remove references to Automake.  (Bug#26100)
24198 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
24200         Improve documentation of interactive "r".
24202         * doc/lispref/commands.texi (Interactive Codes): Mention that mark
24203         must be set for "r" to work.
24205 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
24207         Fixups for GNU Make switchover
24209         This fixes some minor problems introduced in the recent switch to GNU
24210         Make, discovered by further testing.  Without some of these changes
24211         'make -j' would sometimes have race conditions caused by missing
24212         dependencies.  (Bug#26100)
24213         * .gitignore: Remove src/stamp-h.in, src/stamp-h1.
24214         * Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
24215         src/config.in, since the former's timestamp now represents
24216         the latter's.
24217         ($(srcdir)/configure): Use plain ./autogen.sh, for consistency
24218         with other autogen.sh invocations.
24219         ($(srcdir)/src/stamp-h.in):
24220         Remove rule, as this file is no longer created.
24221         * Makefile.in (top_distclean):
24222         * src/Makefile.in (bootstrap-clean):
24223         No need to remove stamp-h1, as that was an Automake byproduct
24224         and Automake is no longer in use.
24225         * lib/Makefile.in, src/Makefile.in:
24226         (AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
24227         (../config.status, Makefile): Simplify by limiting dependencies
24228         to files we care about and files in the repository, and by
24229         using just one file to represent the timestamps on multiple
24230         targets updated by the same rule.
24231         * autogen.sh: Do not create or use src/stamp-h.in.
24232         Instead, have 'find' test the two output files directly.
24234 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
24236         Switch from Automake to GNU Make
24238         Emacs assumes GNU Make, and GNU Make has much of the functionality of
24239         Automake built-in.  The Emacs build process uses Automake primarily
24240         because Emacs uses some Gnulib code and Gnulib formerly required
24241         Automake.  Now that Gnulib no longer requires Automake, Emacs can
24242         stop using Automake and this should simplify Emacs maintenance
24243         in the future (Bug#26100).  Although this patch may look long, most of
24244         it is generated automatically: the changes to build-aux/config.guess,
24245         build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
24246         all done by admin/merge-gnulib.
24247         * .gitignore: Remove build-aux/ar-lib, build-aux/compile,
24248         build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
24249         build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
24250         as they are no longer built by autogen.sh.
24251         Add lib/gnulib.mk, as it is now built by 'configure'.
24252         Remove nt/gnulib.mk, as it is no longer built by 'make'.
24253         * INSTALL.REPO, README, admin/make-tarball.txt:
24254         Remove mention of Automake.
24255         * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
24256         (AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
24257         ($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
24258         ($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
24259         Remove.
24260         ($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
24261         ($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
24262         ($(srcdir)/src/config.in):
24263         Use autogen.sh instead of doing it by hand.
24264         * admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
24265         New vars, to simplify processing of avoided modules.
24266         (GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
24267         Add --gnu-make, and change makefile name to gnulib.mk.in.
24268         Copy config.guess, config.sub, and install-sh too, since
24269         Automake no longer does that for us.
24270         * admin/notes/copyright:
24271         * admin/update_autogen (genfiles):
24272         Update list of files.
24273         Remove hack for nt/gnulib.mk, a file that is no longer needed.
24274         * autogen.sh (progs): Remove Automake.
24275         (automake_min): Remove.
24276         Build aclocal.m4 so that autoreconf need not use aclocal.
24277         * build-aux/config.guess, build-aux/config.sub:
24278         * build-aux/install-sh:
24279         New files, copied from Gnulib.  These are now updated by
24280         admin/merge-gnulib instead by autogen.sh.
24281         * configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
24282         Remove.
24283         (AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
24284         (AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
24285         (BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
24286         (--disable-silent-rules): New option, since Automake no longer
24287         does this for us.
24288         (AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
24289         with AM_SUBST_NOTMAKE.
24290         (AC_PROG_INSTALL): Add call.
24291         (MAKEINFO): Do not bother with the 'missing' program.
24292         (MAKEINFO, SYSTEM_TYPE): AC_SUBST.
24293         (AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
24294         (SUBDIR_MAKEFILES): Remove duplication.
24295         * lib/Makefile.am: Remove, replacing with:
24296         * lib/Makefile.in: New file, with the old Makefile.am contents
24297         and with the following changes:
24298         (AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
24299         (MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
24300         (AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
24301         (EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
24302         Remove.
24303         (VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
24304         (AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
24305         (libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
24306         (mostlyclean, distclean, bootstrap-clean, maintainer-clean):
24307         New macros and rules, since Automake no longer does them.
24308         Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
24309         instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
24310         Include dependency files if AUTO_DEPEND.
24311         (ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
24312         New macros.
24313         (bootstrap-clean): Depend on distclean, not maintainer-clean,
24314         and remove gnulib.mk.
24315         (AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
24316         New macros and rules, copied from ../Makefile.in.
24317         ($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
24318         (.c.o, e-%.o): New generic rules.
24319         * lib/gnulib.mk: Remove.
24320         * lib/gnulib.mk.in: New file, which is built by autogen.sh
24321         and contains much of what used to be in lib/gnulib.mk.
24322         * m4/gnulib-common.m4: Copy from gnulib.
24323         * make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
24324         build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
24325         nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
24326         lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
24327         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
24328         (am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
24329         * nt/gnulib-cfg.mk: New file, which supersedes ...
24330         * nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
24331         * src/Makefile.in (ACLOCAL_INPUTS): Remove.
24332         (AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
24333         ($(top_srcdir)/configure, ../config.status, config.in Makefile):
24334         Defer to parent Makefile.
24336 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
24338         Don't suggest Mailutils on MS-Windows
24340         * configure.ac: Don't suggest GNU Mailutils on MS-Windows, as it
24341         hasn't been ported.
24343 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
24345         Fix bug: Range-check integer ‘alpha’ frame parm value
24347         Typo introduced 2013-04-01, "Prefer < to >
24348         in range checks such as 0 <= i && i < N".
24350         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
24352 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
24354         Fix bug: Range-check integer ‘alpha’ frame parm value
24356         Typo introduced 2013-04-01, "Prefer < to >
24357         in range checks such as 0 <= i && i < N".
24359         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
24361 2017-03-17  Michael Albinus  <michael.albinus@gmx.de>
24363         Fix Bug#26127
24365         * lisp/filenotify.el (file-notify--rm-descriptor): Check, that
24366         there is a function which could be called.  (Bug#26127)
24368         * test/lisp/filenotify-tests.el (file-notify--test-cleanup):
24369         Clear also `file-notify-descriptors'.
24370         (file-notify--test-make-temp-name): Move up.
24371         (file-notify-test02-rm-watch): New test.
24372         (file-notify-test03-events, file-notify-test04-autorevert)
24373         (file-notify-test05-file-validity)
24374         (file-notify-test06-dir-validity)
24375         (file-notify-test07-many-events, file-notify-test08-backup)
24376         (file-notify-test09-watched-file-in-watched-dir)
24377         (file-notify-test10-sufficient-resources): Rename.
24379 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
24381         * etc/PROBLEMS: Say that HP-UX cc doesn't work.
24383 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
24385         Emacs 'movemail' is now a configure-time option
24387         The new configure option --with-mailutils lets the builder say
24388         that Emacs should assume that GNU Mailutils is installed, instead
24389         of continuing to build and install its own limited and insecure
24390         substitute for 'movemail'.
24391         * INSTALL, etc/NEWS, etc/PROBLEMS: Mention --with-mailutils.
24392         * configure.ac: Add --with-mailutils option.
24393         (with_mailutils): New variable.
24394         Do not bother configuring 'movemail' when not building it.
24395         Warn about issues relating to --with-mailutils.
24396         * doc/emacs/rmail.texi (Movemail): Mention --with-mailutils.
24397         (Movemail, Remote Mailboxes): Document port numbers in
24398         POP and IMAP URLs.
24399         * lib-src/Makefile.in (with_mailutils): New macro.
24400         (UTILITIES): Use it.
24402 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
24404         Add obarray-size and fix tests accordingly.  Use obarrayp in cedet.
24406         * lisp/obarray.el (obarray-size): New function.
24408         * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-symbol)
24409         (semantic-lex-spp-save-table, semantic-lex-spp-macros):
24410         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
24411         Use obarrayp.
24413         * test/lisp/obarray-tests.el (obarray-make-default-test)
24414         (obarray-make-with-size-test): Use it.
24416 2017-03-16  Michael Albinus  <michael.albinus@gmx.de>
24418         Document remote file name syntax change
24420         * doc/emacs/files.texi (Remote Files, Quoted File Names):
24421         * doc/misc/org.texi (dir): Change examples to use a method.
24423         * doc/misc/tramp.texi (Top) [trampf]: Remove macro.  Add
24424         `Testing' menu entry.
24425         (History): Fix typos.  Mention syntax change.
24426         (Configuration, Default Host, File name Syntax)
24427         (File name completion, Frequently Asked Questions):
24428         Change examples to use a method.
24429         (External methods, Default Host, Multi-hops, Remote processes):
24430         Fix typos.
24431         (Default Method): Mention pseudo method "-".
24432         (External packages): Rewrite intention of `non-essential'.
24434         * etc/NEWS: Mark recent Tramp entries as documented.
24436 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
24438         (semantic-lex-type-invalid): Fix nested backquote.
24440         * lisp/cedet/semantic/lex.el: Use lexical-binding.
24441         (semantic-lex-type-invalid): Fix nested backquote.
24442         (semantic-lex-map-symbols, semantic-lex-type-symbol)
24443         (semantic-lex-keyword-symbol): Use obarrayp.
24445 2017-03-15  Michael Albinus  <michael.albinus@gmx.de>
24447         * lisp/ido.el (ido-read-internal, ido-complete): Do not bind `non-essential'.
24449 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
24451         Write a named function
24453         * lisp/comint.el (comint-nonblank-p): New function.
24454         (comint-input-filter): Use it.
24456 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
24458         Replace more nested ifs with cond
24460         This is a continuation of 0db5ba4 "Replace nested ifs with cond".
24461         * lisp/play/dunnet.el (dun-special-object, dun-inven, dun-drop):
24462         (dun-drop-check, dun-swim, dun-break): Use when and cond where
24463         appropriate.
24464         (dun-examine): Fix indentation.
24465         (dun-doverb): Use when.
24466         (dun-read-line): Refactor.
24468 2017-03-15  Noam Postavsky  <npostavs@gmail.com>
24470         Recomplexify ‘delete-trailing-whitespace’ by treating \n as whitespace again
24472         Mostly reverts "Simplify ‘delete-trailing-whitespace’ by not treating
24473         \n as whitespace" from 2016-07-04.  Setting \n to non-whitespace
24474         causes the regex engine to backtrack a lot when searching for
24475         "\\s-+$" (Bug#26079).
24477         * lisp/simple.el (delete-trailing-whitespace): Don't change newline
24478         syntax, search for "\\s-$" and then skip backward over trailing
24479         whitespace.
24481 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
24483         Merge from gnulib
24485         This incorporates:
24486         2017-03-14 snippets: move unadjusted snippet sources to lib
24487         2017-03-14 gnulib-tool: fix typo in comment output
24488         2017-03-14 snippets: work around GNU Make 3.82 VPATH
24489         2017-03-13 gnulib-tool: minor --gnu-make fixups
24490         2017-03-12 gnulib-tool: new option --gnu-make
24491         * .gitignore: Remove lib/arg-nonnull.h, lib/c++defs.h,
24492         lib/warn-on-use.h.  Change exception from
24493         build-aux/snippet/_Noreturn.h to lib/_Noreturn.h.
24494         * admin/authors.el (authors-renamed-files-regexps):
24495         * admin/notes/copyright, make-dist:
24496         The snippet files moved from build-aux/snippet to lib.
24497         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
24498         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
24499         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
24500         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
24501         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
24503 2017-03-14  Eli Zaretskii  <eliz@gnu.org>
24505         Fix duplicate wording in Emacs manual
24507         * doc/emacs/programs.texi (Which Function): Delete duplicate
24508         wording.  (Bug#26098)
24510 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
24512         Reenable lost Tramp test case
24514         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
24515         Reenable lost test case.
24517 2017-03-14  Alan Third  <alan@idiocy.org>
24519         Revert "Remove NSEvent loop from ns_select (bug#25265)"
24521         This reverts commit 3bd2e9e975ed29daaf03ca7559e4664aade0674f.
24523 2017-03-14  Alan Third  <alan@idiocy.org>
24525         Revert "Add missing timeout value in ns_select"
24527         This reverts commit a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d.
24529 2017-03-14  Alan Third  <alan@idiocy.org>
24531         Remove old macOS compatibility code
24533         * src/nsimage.m, src/nsmenu.m, src/nsterm.m: Remove code only for
24534         macOS versions below 10.6 as they are not supported in Emacs 25+.
24536 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
24538         Tune `tramp-completion-file-name-regexp-unified'
24540         * lisp/net/tramp.el (tramp-completion-file-name-regexp-unified):
24541         Extend this regexp to match also "/".
24543 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
24545         Show ancestor buffer in 3way merges
24547         Add an option ediff-show-ancestor', to control if the ancestor buffer
24548         must be shown in 3way merges (Bug#25493); set it non-nil by default.
24549         Add a toggle to change this option interactively; the original
24550         value of the option is restored on exit.
24552         Update the window setup so that the ancestor buffer is
24553         shown in 3way merges when ediff-show-ancestor is non-nil.
24555         Any operation on ediff windows must take in account the
24556         ancestor window as well, when this is shown.
24558         * lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
24559         (ediff--show-ancestor-orig): New defvar.
24560         * lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
24561         (ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
24562         Display ancestor buffer if ediff-show-ancestor is non-nil.
24563         (ediff-keep-window-config): Expect ancestor window in
24564         ediff-window-config-saved.
24565         (ediff-window-alist): Add entry for the ancestor window.
24566         * lisp/vc/ediff-util.el (ediff-setup-control-buffer):
24567         ediff-window-config-saved contains ancestor window.
24568         (ediff-show-ancestor): Delete this command.
24569         (ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
24570         (ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
24571         don't cheat it to think that is performing a comparison, that trick is not
24572         necessary anymore: simply call 'ediff-setup-diff-regions-function'
24573         with file-A, file-B and the file ancestor.
24574         (ediff-recenter): Update doc string.  Consider the ancestor buffer.
24575         (ediff--check-ancestor-exists): New defun.
24576         (ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
24577         (ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
24578         (ediff-scroll-vertically, ediff-scroll-horizontally)
24579         (ediff-operate-on-windows): Consider the ancestor as well.
24580         * lisp/vc/ediff-help.el (ediff-long-help-message-merge):
24581         List ediff-toggle-show-ancestor.
24582         * doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.
24584 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
24586         diff-mode: Improve default faces for buffer ancestor
24588         * lisp/vc/ediff-init.el (ediff-current-diff-Ancestor)
24589         (ediff-fine-diff-Ancestor): Use defaults consistent with
24590         faces for 'ediff-buffer-A' and 'ediff-buffer-B'.
24592 2017-03-14  Hong Xu  <hong@topbug.net>
24594         * lisp/paren.el (show-paren--default, show-paren-function): Add docstring.
24596 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
24598         Fix make-dist typo
24600         * make-dist: Fix typo introduced in the Bug#25895 fix.
24602 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
24604         Fix wording in Emacs manual
24606         * doc/emacs/text.texi (Paragraphs): Fix a garbled sentence.
24607         (Bug#26086)
24609 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
24611         etc/NEWS: Remote file names require a method.
24613 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
24615         Require method in remote file name syntax
24617         * lisp/minibuffer.el (completion--nth-completion):
24618         Do not bind `non-essential'.
24620         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
24621         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
24622         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
24623         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Do not call
24624         `tramp-check-proper-method-and-host'.
24626         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Better traces.
24627         (tramp-maybe-open-connection): Do not use argument for
24628         ´tramp-completion-mode-p'.
24630         * lisp/net/tramp.el (tramp-default-method-marker): New defconst.
24631         (tramp-prefix-format, tramp-postfix-method-format)
24632         (tramp-prefix-ipv6-format, tramp-postfix-ipv6-format)
24633         (tramp-prefix-port-format, tramp-postfix-host-format)
24634         (tramp-file-name-regexp, tramp-completion-file-name-regexp):
24635         Use `eq' instead of `eqal'.
24636         (tramp-method-regexp, tramp-domain-regexp)
24637         (tramp-remote-file-name-spec-regexp)
24638         (tramp-file-name-regexp-unified)
24639         (tramp-completion-file-name-regexp-unified)
24640         (tramp-completion-file-name-regexp-separate): Adapt regexp.
24641         (tramp-completion-file-name-handler-alist)
24642         (tramp-run-real-handler): Autoload them.
24643         (tramp-find-method): Handle `tramp-default-method-marker'.
24644         (tramp-check-proper-method-and-host)
24645         (tramp-completion-run-real-handler): Remove them.
24646         (tramp-error-with-buffer, tramp-connectable-p): Do not use
24647         argument for ´tramp-completion-mode-p'.
24648         (tramp-find-foreign-file-name-handler): Remove COMPLETION
24649         argument.  Do not apply heuristic for completion.
24650         (tramp-file-name-handler): Do not modify `non-essential'.
24651         (tramp-completion-file-name-handler): Change implementation.
24652         (tramp-autoload-file-name-handler)
24653         (tramp-completion-handle-file-name-all-completions):
24654         Call `tramp-run-real-handler'.
24655         (tramp-completion-mode-p): Do not autoload.  Remove argument.
24656         Do not apply heuristic for completion.
24657         (tramp-completion-dissect-file-name): Simplify implementation.
24658         (tramp-handle-file-name-as-directory): Call `tramp-connectable-p'.
24660         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
24661         (tramp-test02-file-name-dissect)
24662         (tramp-test03-file-name-defaults)
24663         (tramp-test06-directory-file-name): Adapt to the new syntax.
24664         (tramp-test11-copy-file, tramp-test12-rename-file)
24665         (tramp--test-check-files): Deactivate temporarily tests with
24666         quoted file names.
24667         (tramp-test16-directory-files, tramp-test17-insert-directory):
24668         Adapt tests.
24669         (tramp-test24-file-name-completion): Do not check for
24670         completion mode.
24671         (tramp-test31-make-auto-save-file-name): Deactivate temporarily
24672         two tests.
24674 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
24676         Fix bidi paragraph direction when inserting text at newline
24678         * src/insdel.c (invalidate_buffer_caches): Invalidate the bidi
24679         paragraph cache when inserting immediately after a newline.
24680         (Bug#26083)
24682 2017-03-13  Tino Calancha  <tino.calancha@gmail.com>
24684         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Fix regexp.
24686 2017-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
24688         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): New variable
24690         (cl-print-object) <compiled-function>: Print the docstring and
24691         interactive form.  Obey cl-print-compiled.
24693 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
24695         Fix indent-sexp when called from inside a string (Bug#21343)
24697         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Get initial syntax parse
24698         state from `syntax-ppss'.
24700 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
24702         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Simplify.
24704         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp):
24705         (indent-subsexp, indent-sexp-in-string): New tests.
24707 2017-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
24709         Use switch on pseudovector types; plus cleanups along the way
24711         * src/lisp.h (PSEUDOVECTOR_TYPE): New function, extracted from mark_object.
24712         (PSEUDOVECTOR_TYPEP): Change type of `code'.
24714         * src/alloc.c (sweep_vectors): Remove out-of-date assertion.
24715         (mark_object): Use PSEUDOVECTOR_TYPE.
24717         * src/data.c (Ftype_of): Use switch on pvec type.
24719         * src/print.c (print_object): Use switch on pvec type.
24721         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types):
24722         Add recently added types.
24724 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
24726         Install update-game-score only on request
24728         Most distributions do not install update-game-score properly
24729         due to setuid/setgid complications, so install it only when
24730         the installer specifies a user or group (Bug#25895).
24731         * .gitattributes: Remove lib-src/update-game-score.exe.manifest.
24732         * Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
24733         New vars.
24734         (epaths-force): Use PATH_GAME.
24735         (uninstall): Remove snake-scores and tetris-scores only if shared.
24736         * configure.ac: Default --with-gameuser to 'no'.
24737         (UPDATE_MANIFEST): Remove.
24738         * etc/NEWS: Mention this.
24739         * lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
24740         (use_gamedir): New macro.
24741         (UTILITIES): Remove update-game-score unless use_gamedir.
24742         (SCRIPTS): Remove $(UPDATE_MANIFEST).
24743         ($(DESTDIR)${archlibdir}): Install game directory program and data
24744         only if use_gamedir.
24745         * lib-src/update-game-score.exe.manifest: Remove, as
24746         update-game-score is no longer installed on MS-Windows.
24747         * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
24748         Use auxiliary program only if setuid or setgid.
24749         * make-dist: Do not distribute update-game-score.exe.manifest.
24750         * src/callproc.c (init_callproc):
24751         Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
24752         (syms_of_callproc): Remove unnecessary initialization of
24753         Vshared_game_score_directory.
24755 2017-03-12  Simen Heggestøyl  <simenheg@gmail.com>
24757         Add `touch-action' to list of CSS properties
24759         * lisp/textmodes/css-mode.el (css-property-alist): Add `touch-action'
24760         property.
24762 2017-03-12  Eli Zaretskii  <eliz@gnu.org>
24764         Teach etags to process ENUM_BF correctly
24766         * lib-src/etags.c (sym_type): New enumeration value st_C_enum_bf.
24767         (hash): Regenerated values for asso_values[] array.
24768         (in_word_set): Update values of TOTAL_KEYWORDS and
24769         MAX_HASH_VALUE.  Add "ENUM_BF" to the wordlist[] array.
24770         (in_enum_bf): New file-global variable.
24771         (consider_token): Skip ENUM_BF if not in a macro definition.
24772         (C_entries): Reset the in_enum_bf flag when past its closing
24773         parenthesis.
24775         * test/manual/etags/ETAGS.good_1:
24776         * test/manual/etags/ETAGS.good_2:
24777         * test/manual/etags/ETAGS.good_3:
24778         * test/manual/etags/ETAGS.good_4:
24779         * test/manual/etags/ETAGS.good_5:
24780         * test/manual/etags/ETAGS.good_6:
24781         * test/manual/etags/CTAGS.good: Adapt to changes in etags.
24783 2017-03-12  Michael Albinus  <michael.albinus@gmx.de>
24785         Use path/to/file instead of path/to.file in tramp.texi
24787         * doc/misc/tramp.texi (Configuration, File name Syntax):
24788         Use path/to/file instead of path/to.file.
24790 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
24792         Remove some stray gnulib files
24794         * admin/merge-gnulib: rm m4/gnulib-tool.m4 too.
24795         (GNULIB_MODULES): Remove unsetenv, as it is not needed and
24796         the --avoid=unsetenv option avoided most of it anyway.
24797         * lib/unsetenv.c, m4/gnulib-tool.m4, m4/setenv.m4: Remove.
24798         * lib/gnulib.mk: Regenerate.
24800 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
24802         Merge from gnulib
24804         This incorporates:
24805         2017-03-11 gnulib-common.m4: avoid aclocal.m4 bloat
24806         * doc/misc/texinfo.tex, m4/gnulib-common.m4: Copy from gnulib.
24808 2017-03-12  Glenn Morris  <rgm@gnu.org>
24810         Remove trivial duplication in epg-config
24812         * lisp/epg-config.el (epg-config--program-alist):
24813         Use epg-gpg-minimum-version.
24815 2017-03-12  Glenn Morris  <rgm@gnu.org>
24817         Small epg-find-configuration improvement
24819         * lisp/epg-config.el (epg-find-configuration):
24820         Handle epg-gpg-program customized but not saved.  (Bug#25947)
24822 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
24824         Improve last change
24826         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
24827         Use ppss to check escaping and add help-echo.
24829 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
24831         Highlight useless backslashes in Elisp strings
24833         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
24834         Put warning face on backslashes that have no effect.
24836 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
24838         Document how to customize input methods
24840         * doc/emacs/mule.texi (Input Methods): Document how to customize
24841         input methods.
24843 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
24845         * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
24847 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
24849         Fix generation of nt/gnulib.mk on macOS
24851         * nt/Makefile.in (${srcdir}/gnulib.mk): Don't use the -f- option
24852         to Sed, as that is not portable with non-GNU Sed variants.
24853         (Bug#26043)
24855 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
24857         Avoid aborts/assertion violations due to 'vim-empty-lines-mode'
24859         * src/xdisp.c (handle_single_display_spec): If position to be
24860         restored after processing the display property comes from an
24861         overlay, protect against that overlay's end point being outside of
24862         the narrowed region.
24863         Reported by Filipe Silva <filipe.silva@gmail.com> in
24864         https://lists.gnu.org/r/emacs-devel/2017-03/msg00176.html.
24866 2017-03-10  Glenn Morris  <rgm@gnu.org>
24868         Small improvement for epa-display-error (bug#24553)
24870         * lisp/epa.el (epa-display-error): Report the actual program in use.
24872 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
24874         Tweak X toolkit code to pacify modern GCC
24876         * lwlib/lwlib-Xaw.c, lwlib/lwlib-Xm.c, lwlib/lwlib.c:
24877         Don’t include <stdlib.h>, since this code now calls emacs_abort
24878         rather than abort.
24879         * lwlib/lwlib-Xaw.c (make_dialog, xaw_generic_callback)
24880         (wm_delete_window):
24881         * lwlib/lwlib-Xm.c (make_menu_in_widget, do_call):
24882         * lwlib/lwlib.c (instantiate_widget_instance, lw_make_widget):
24883         * lwlib/xlwmenu.c (abort_gracefully, draw_separator)
24884         (separator_height, XlwMenuInitialize):
24885         Use emacs_abort, not abort.  Without this change, some calls
24886         to ‘abort’ were invalid, as stdlib.h was not always included.
24887         * src/widget.c (resources, emacsFrameClassRec):
24888         * src/xfns.c (x_window) [USE_X_TOOLKIT]:
24889         * src/xmenu.c (create_and_show_popup_menu) [USE_X_TOOLKIT]:
24890         * src/xterm.c (emacs_options) [USE_X_TOOLKIT}:
24891         (x_term_init) [USE_X_TOOLKIT]:
24892         Cast string constants to char * to pacify --enable-gcc-warnings.
24894 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
24896         * doc/misc/tramp.texi (Android shell setup): Require adb program
24898 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
24900         Adapt tramp-tests.el
24902         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name)
24903         (tramp-test24-file-name-completion): Call
24904         `tramp-completion-mode-p' with argument.
24906 2017-03-10  Thien-Thi Nguyen  <ttn@gnu.org>
24908         [doc] Replace bindat example: s/fortune cookie/rfc868 payload/
24910         * doc/lispref/processes.texi (Bindat Examples):
24911         Mention two examples in intro blurb; rewrite first example.
24913 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
24915         Simplify checks for xdg-open and xdg-email
24917         browse-url's xdg-open detection was too picky on some GNU/Linux
24918         desktops; see Bug#25778.  Simplify the code by assuming xdg-open works
24919         if it is executable, as nowadays this is more likely to be correct than
24920         trying to use heuristics from a few years ago.  Don't test for nohup: it
24921         is ineffective nowadays, as xdg-open's child uses the default action for
24922         SIGHUP even if xdg-open's invoker ignores SIGHUP.  While we're at it,
24923         allow for Wayland here, as "emacs -nw" might be running in a non-X
24924         Wayland terminal.
24925         * lisp/mail/emacsbug.el (report-emacs-bug-can-use-xdg-email):
24926         * lisp/net/browse-url.el (browse-url-can-use-xdg-open):
24927         Simplify to a test for DISPLAY and whether the helper program is
24928         executable.  Allow WAYLAND_DISPLAY as an option.
24930 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
24932         Byte compile cond clauses without any bodies correctly.
24934         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): When a
24935         cond clause has no body, push t on to the stack.
24937 2017-03-09  Michael Albinus  <michael.albinus@gmx.de>
24939         Fix bug#23006
24941         * lisp/minibuffer.el (completion--nth-completion):
24942         Let-bind `non-essential'.
24944         * lisp/net/tramp.el (tramp-completion-mode): Fix docstring.
24945         (tramp-completion-mode-p): Optional parameter VEC.  Replace
24946         check for `last-input-event' by analysing VEC argument.
24947         (tramp-error-with-buffer, tramp-file-name-handler)
24948         (tramp-connectable-p, tramp-handle-file-name-as-directory):
24949         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
24951 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
24953         etc/NEWS: Add entry for new `switch' bytecode.
24955 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
24957         * src/data.c (arithcompare): Add comments.
24959 2017-03-08  Glenn Morris  <rgm@gnu.org>
24961         Update a cl-print test
24963         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
24964         Update for recent change in cl-print-object function output.
24966 2017-03-08  Sam Steingold  <sds@gnu.org>
24968         Replace change-log-date-face -> change-log-date
24970         This fixes c430f7e23fc2c22f251ace4254e37dea1452dfc3.
24972 2017-03-08  Michael Albinus  <michael.albinus@gmx.de>
24974         Fix bug#26011
24976         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
24977         Check, whether file is too large.  (Bug#26011)
24979 2017-03-08  Andreas Schwab  <schwab@linux-m68k.org>
24981         * src/data.c (minmax_driver): Use CHECK_NUMBER_OR_FLOAT_COERCE_MARKER.
24982         (Fmax, Fmin): Restore documentation.
24984         * src/data.c (cons_to_unsigned, cons_to_signed, Fstring_to_number): Reorder
24985         comparisons that are written backward.
24987 2017-03-08  Thien-Thi Nguyen  <ttn@gnu.org>
24989         [doc elisp] Add some index entries for "old" advice mechanism
24991         * doc/lispref/functions.texi (Porting old advice):
24992         Add one @cindex and two @findex entries.
24994 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
24996         * etc/NEWS: Adjust to match previous patch.
24998 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
25000         min and max should not return markers
25002         Problem reported by Glenn Morris in:
25003         https://lists.gnu.org/r/emacs-devel/2017-03/msg00147.html
25004         * src/data.c (minmax_driver): Convert any marker result to an
25005         integer, since some callers assume this.
25006         * test/src/data-tests.el (data-tests-max, data-tests-min):
25007         Test for this.
25009 2017-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
25011         * lisp/emacs-lisp/cl-print.el (cl-print-object): Use #f(..) for functions.
25013 2017-03-08  Alan Third  <alan@idiocy.org>
25015         Add missing timeout value in ns_select
25017         * src/nsterm.m (ns_select): Set timeout to distant future when relying
25018         on fd_handler's timeout.
25020 2017-03-07  Glenn Morris  <rgm@gnu.org>
25022         * admin/update_autogen: Ensure nt/gnulib.mk exists, for autoreconf.
25024 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
25026         Remove isnan hack for Solaris 10 gcc 3.4.3
25028         This seems to have been a false alarm (Bug#26018).
25029         * src/data.c (isnan):
25030         * src/floatfns.c (isfinite, isnan):
25031         Use standard implementation if available.
25033 2017-03-07  Eli Zaretskii  <eliz@gnu.org>
25035         Support browsing URLs with embedded spaces on MS-Windows
25037         * lisp/net/browse-url.el (browse-url-default-windows-browser):
25038         Unhex %XX hex-encoded characters, as w32-shell-execute doesn't
25039         support that in file:// URLs.  (Bug#26014)
25041 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
25043         Define copysign on all platforms
25045         * configure.ac (copysign): Remove test.
25046         * src/floatfns.c (signbit): New macro, if not already defined.
25047         (Fcopysign): Use it instead of copysign.
25048         (Fcopysign, syms_of_floatfns): Define the function on all platforms.
25050 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
25052         Revert "Replace ldefs-boot with a much smaller file"
25054         This reverts commit c27b645956a11fab1dd8fa189254d525390958f5.
25056         This commit has been reverted because the new mechanism was too
25057         sensitive to changes in the lisp source, generation of new ldefs-boot
25058         files was platform specific and resulted in warnings about undefined
25059         variables.
25061         See also 11436e2890d.
25063 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
25065         Revert "Record autoloads till emacs dump"
25067         This reverts commit 72c668a9042ac6475eadedfee5c87fb1e6b2d753.
25069         This commit has been reverted because the new mechanism was too
25070         sensitive to changes in the lisp source, generation of new ldefs-boot
25071         files was platform specific and resulted in warnings about undefined
25072         variables.
25074         See also 11436e2890d.
25076 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
25078         Revert "Remove unused ldefs-boot.el"
25080         This reverts commit ef8c9f8fc922b615aca91b47820d1f1900fddc96.
25082         This commit has been reverted because the new mechanism was too
25083         sensitive to changes in the lisp source, generation of new ldefs-boot
25084         files was platform specific and resulted in warnings about undefined
25085         variables.
25087         See also 11436e2890d.
25089 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
25091         Revert "Remove conditional includes from bootstrap"
25093         This reverts commit 1b946305182312faa7fcd838caf55dcb07b2ab04.
25095         This commit has been reverted because the new mechanism was too
25096         sensitive to changes in the lisp source, generation of new ldefs-boot
25097         files was platform specific and resulted in warnings about undefined
25098         variables.
25100         See also 11436e2890d.
25102 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
25104         Revert "Speed generation of ldefs-boot-auto"
25106         This reverts commit 7b5e1c8238ef961fd3305b1dce053b9bced684ba.
25108         This commit has been reverted because the new mechanism was too
25109         sensitive to changes in the lisp source, generation of new ldefs-boot
25110         files was platform specific and resulted in warnings about undefined
25111         variables.
25113         See also 11436e2890d.
25115 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
25117         Revert "Fix minor problems with loaddefs autogeneration"
25119         This reverts commit f2bd2c1e6476acc71e71f6cb2a1c56c5edd900ba.
25121         This commit has been reverted because the new mechanism was too
25122         sensitive to changes in the lisp source, generation of new ldefs-boot
25123         files was platform specific and resulted in warnings about undefined
25124         variables.
25126 2017-03-07  Noam Postavsky  <npostavs@gmail.com>
25128         Set default when asking for send-mail-function (Bug#25874).
25130         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp): Pass first
25131         option as default for `completing-read'.
25133 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
25135         min and max now return one of their arguments
25137         * doc/lispref/numbers.texi (Comparison of Numbers):
25138         * etc/NEWS: Document this.
25139         * src/data.c (Amax, Amin): Remove constants.  All uses removed.
25140         (minmax_driver): New function.
25141         (Fmax, Fmin): Use it instead of arith_driver.
25142         * test/src/data-tests.el (data-tests-max, data-tests-min): New tests.
25144 2017-03-06  Alan Third  <alan@idiocy.org>
25146         Remove NSEvent loop from ns_select (bug#25265)
25148         * src/nsterm.m (ns_select): Remove event processing loop and replace
25149         with simple test for a new event.
25151 2017-03-06  Eli Zaretskii  <eliz@gnu.org>
25153         A better fix for bug#25845
25155         * src/xdisp.c (font_for_underline_metrics): New function.
25156         * src/dispextern.h: Add its prototype.
25157         * src/xterm.c (x_draw_glyph_string):
25158         * src/w32term.c (x_draw_glyph_string):
25159         * src/nsterm.m (ns_draw_text_decoration): Call it.  This avoids
25160         having identical code 3 times in 3 different files.
25162 2017-03-06  Noam Postavsky  <npostavs@gmail.com>
25164         Fix warning message about native completion (Bug#25984)
25166         * lisp/progmodes/python.el (python-shell-completion-native-turn-on-maybe):
25167         The relevant variable is `python-shell-completion-native-enable'.
25169 2017-03-06  Tom Tromey  <tom@tromey.com>
25171         Fix typos in EIEIO manual
25173         * doc/misc/eieio.texi (Slot Options, Class Options): Fix typos.
25175 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
25177         Merge from gnulib
25179         This incorporates:
25180         2017-03-04 dtotimespec: simplify
25181         * lib/dtotimespec.c: Copy from gnulib.
25183 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
25185         ffloor etc. now accept only floats
25187         * etc/NEWS: Say why.
25188         * src/floatfns.c (Ffceiling, Fffloor, Ffround, Fftruncate):
25189         Require arg to be float.
25190         * test/src/floatfns-tests.el (fround-fixnum): Check this.
25192 2017-03-05  Eli Zaretskii  <eliz@gnu.org>
25194         Fix display of cursor on underlined text
25196         * src/nsterm.m (ns_draw_text_decoration):
25197         * src/xterm.c (x_draw_glyph_string):
25198         * src/w32term.c (x_draw_glyph_string): Compute the position and
25199         thickness of the underline by looking for the first glyph of the
25200         run of underlined glyphs that includes the glyph string we are
25201         drawing.  (Bug#25845)
25203 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
25205         Add more CL concept index items, print Concept Index
25207         * doc/misc/cl.texi: Print concept index.
25208         (Generalized Variables, Variable Bindings):
25209         (Dynamic Bindings, Function Bindings, Macro Bindings, Conditionals):
25210         (Blocks and Exits, Iteration, Multiple Values): Add concept index
25211         items.
25213 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
25215         Add 'loop facility' to the CL concept index
25217         * doc/misc/cl.texi (Loop Facility): Add "loop facility" as a concept
25218         index item.
25220 2017-03-05  martin rudalics  <rudalics@gmx.at>
25222         In `window--display-buffer' fix behavior reported in Bug#25946
25224         * lisp/window.el (window--display-buffer): Set the dedicated
25225         status of the window used and clear its history of previous
25226         buffers also for the case that the window already shows the
25227         buffer to be displayed.  (Bug#25946)
25229 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
25231         Compare and round more carefully
25233         * etc/NEWS: Document this.
25234         * src/data.c (store_symval_forwarding):
25235         * src/sound.c (parse_sound):
25236         Do not botch NaN comparison.
25237         * src/data.c (cons_to_unsigned, cons_to_signed):
25238         Signal an error if a floating-point arg is not integral.
25239         * src/data.c (cons_to_unsigned, cons_to_signed):
25240         * src/fileio.c (file_offset):
25241         Use simpler overflow check.
25242         * src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
25243         Avoid rounding error in overflow check.
25244         (Fcar_less_than_car): Use arithcompare directly.
25245         * test/src/charset-tests.el: New file.
25247 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
25249         Fewer rounding errors with (format "%f" fixnum)
25251         * etc/NEWS: Document this.
25252         * src/editfns.c (styled_format): When formatting integers via a
25253         floating-point format, use long double instead of double
25254         conversion, if long double’s extra precision might help.
25256 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
25258         * src/floatfns.c (Fftruncate): Simplify via emacs_trunc.
25260         * src/editfns.c (styled_format): Omit unnecessary code for "%0d" etc.
25262 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
25264         Clarify documentation of 'raise' and 'height' display specs
25266         * doc/lispref/display.texi (Other Display Specs): Clarify the
25267         effect of 'height' display spec on the following 'raise'.
25268         (Bug#25824)
25270 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
25272         Fix header shown by Info 'L' command
25274         * lisp/info.el (Info-history-find-node): A better heading for the
25275         list of visited nodes.  (Bug#25876)
25277 2017-03-04  K. Handa  <handa@gnu.org>
25279         Add a section about incorrect Bengali rendering.
25281 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
25283         Fix minor problems with loaddefs autogeneration
25285         * admin/ldefs-clean.el (ldefs-clean): Bind coding-system-for-read
25286         and coding-system-for-write, to produce a UTF-8 file with Unix
25287         EOLs on MS-Windows.
25289         * lisp/ldefs-boot-manual.el (image-type): Add autoload cookie.
25291 2017-03-04  David Bremner  <david@tethera.net>  (tiny change)
25293         Fix issues with dedicated windows in shr.el
25295         * lisp/net/shr.el (shr-pixel-buffer-width, shr-render-td-1): Make
25296         the window not dedicated, to avoid errors if it was, before
25297         setting its buffer temporarily.  (Bug#25828)
25299 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
25301         Mention problems with GPaste in PROBLEMS
25303         * etc/PROBLEMS (GPaste): Mention the problem in yanking caused by
25304         GPaste, and its solution.  (Bug#25902)
25306 2017-03-04  Glenn Morris  <rgm@gnu.org>
25308         Avoid duplicate gud menu items with gdb-mi
25310         * lisp/progmodes/gud.el (gud-menu-map): Avoid duplicate "Run"
25311         entries in gdbmi mode.  (Bug#23923)
25313 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
25315         * src/editfns.c (styled_format): Omit unnecessary code.
25317 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
25319         logb now works correctly on large integers
25321         * admin/merge-gnulib (GNULIB_MODULES): Add count-leading-zeros.
25322         * etc/NEWS: Document the change.
25323         * lib/count-leading-zeros.c, lib/count-leading-zeros.h:
25324         * m4/count-leading-zeros.m4: New files, copied from Gnulib.
25325         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
25326         * src/floatfns.c: Include count-leading-zeros.h.
25327         (Flogb): Do not convert fixnum to float before taking the log,
25328         as the rounding error can cause the answer to be off by 1.
25329         * src/lisp.h (EMACS_UINT_WIDTH): New constant.
25330         * test/src/floatfns-tests.el (logb-extreme-fixnum): New test.
25332 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
25334         Merge from gnulib
25336         This incorporates:
25337         2017-02-25 maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
25338         2017-02-24 ftoastr: port to -Wdouble-promotion
25339         * lib/ftoastr.c, m4/gnulib-common.m4: Copy from gnulib.
25341 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
25343         Avoid duplicating characters recorded in macros
25345         * src/keyboard.c (record_char): Don't store in macro definitions
25346         characters that came from executing a macro.  (Bug#25860)
25348 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
25350         Fix color component calculations in color.el
25352         * lisp/color.el (color-name-to-rgb): Use 16 bits per color component.
25353         (color-rgb-to-hex): Accept an optional argument
25354         DIGITS-PER-COMPONENT, defaulting to 4, and format the hexadecimal
25355         notation either for 8 or 16 bits per component.  (Bug#25890)
25356         * lisp/net/shr-color.el (shr-color->hexadecimal): Call
25357         color-rgb-to-hex with the optional argument of 2, to match color
25358         processing on the Web.
25360 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
25362         Use lexical binding in benchmark.el
25364         * lisp/emacs-lisp/benchmark.el: Enable lexical binding.
25365         (benchmark-elapse): Use 'declare'.
25366         * test/lisp/emacs-lisp/benchmark-tests.el: Add test suite.
25368 2017-03-03  Noam Postavsky  <npostavs@gmail.com>
25370         Switch pp.el to lexical binding
25372         Additionally, do some minor code cleanup.
25374         * lisp/emacs-lisp/pp.el: Set lexical-binding.
25375         (pp-buffer): Use skip-syntax-forward.
25376         (pp-eval-expression): Use push.
25377         (pp-last-sexp): Use with-syntax-table.
25378         * test/lisp/emacs-lisp/pp-tests.el: New tests.
25380 2017-03-03  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
25382         Fix completing-read call in reb-change-syntax
25384         * lisp/emacs-lisp/re-builder.el (reb-change-syntax): Use 'default' arg
25385         of completing-read.
25387 2017-03-03  Rolf Ade  <rolf@pointsman.de>  (tiny change)
25389         sql-mode w/ sqlite: In-memory database
25391         Enable the usage of an in-memory database. Prior to this, sql-mode w/
25392         sqlite could only be used with file databases.
25393         * lisp/progmodes/sql.el (sql-get-login-ext): Don't expand an empty
25394         file name provided by the user, but call sub-process sqlite with that,
25395         in which case it uses an in-memory database.
25397 2017-03-03  Allen Li  <vianchielfaura@gmail.com>
25399         Stop abbrev-prefix-mark from adding extra newline (Bug#25767)
25401         `abbrev--before-point' does not adjust `pos' to account for when it
25402         deletes the "-" left by abbrev-prefix-mark.  Therefore, when
25403         `abbrev-before-point' goes to restore point, it moves point one
25404         character too far forward.
25406         * lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".
25408 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
25410         * lisp/subr.el (apply-partially): Move to 'Basic Lisp functions' section.
25412 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
25414         Restore XFLOATINT but with restricted args
25416         Turn instances of extract_float into XFLOAT_DATA when possible,
25417         and to a resurrected XFLOATINT when the arg is a number.
25418         The resurrected XFLOATINT is more like XFLOAT and XINT in
25419         that is valid only if its arg is a number.  This clarifies
25420         the ways in which floats can be extracted at the C level.
25421         * src/editfns.c (styled_format):
25422         * src/floatfns.c (extract_float, Fexpt):
25423         Use XFLOATINT rather than open-coding it.
25424         * src/fns.c (internal_equal):
25425         * src/image.c (imagemagick_load_image):
25426         * src/xdisp.c (resize_mini_window):
25427         Prefer XFLOAT_DATA to extract_float on values known to be floats.
25428         * src/frame.c (x_set_screen_gamma):
25429         * src/frame.h (NUMVAL):
25430         * src/image.c (x_edge_detection, compute_image_size):
25431         * src/lread.c (read_filtered_event):
25432         * src/window.c (Fset_window_vscroll):
25433         * src/xdisp.c (handle_single_display_spec, try_scrolling)
25434         (redisplay_window, calc_pixel_width_or_height, x_produce_glyphs)
25435         (on_hot_spot_p):
25436         Prefer XFLOATINT to extract_float on values known to be numbers.
25437         * src/lisp.h (XFLOATINT): Bring back this function, except
25438         it now assumes its argument is a number.
25440 2017-03-02  Glenn Morris  <rgm@gnu.org>
25442         Ert commands to error if no test at point (bug#25931)
25444         * lisp/emacs-lisp/ert.el (ert-results-mode-menu):
25445         Deactivate some items if no test at point.
25446         (ert--results-test-at-point-no-redefinition):
25447         Add option to signal an error rather than return nil.
25448         (ert-results-pop-to-backtrace-for-test-at-point)
25449         (ert-results-pop-to-messages-for-test-at-point)
25450         (ert-results-pop-to-should-forms-for-test-at-point)
25451         (ert-results-describe-test-at-point): Error if no test at point.
25453 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
25455         Remove XFLOATINT
25457         * src/lisp.h (XFLOATINT): Remove this alias for extract_float.
25458         All callers changed to use extract_float.
25459         * src/frame.h (NUMVAL): Now an inline function, not a macro.
25461 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
25463         Fix rounding errors in <, =, etc.
25465         * etc/NEWS: Document this.
25466         * src/bytecode.c (exec_byte_code):
25467         * src/data.c (arithcompare):
25468         Do not lose information when comparing floats to integers.
25469         * test/src/data-tests.el (data-tests-=, data-tests-<)
25470         (data-tests->, data-tests-<=, data-tests->=):
25471         Test this.
25473 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
25475         Fix display of mouse-highlight produced by overlapping overlays
25477         * src/xfaces.c (face_at_buffer_position): If called to find the
25478         mouse-face, only consider the highest-priority source for that
25479         face, and ignore the rest.  Previously, all the mouse-face
25480         definitions at POS were merged in that case.
25481         * src/xdisp.c (note_mouse_highlight): Record the overlay that
25482         specifies mouse-face _after_ clearing the info about the previous
25483         overlay, so as not to clear the information about the just-recorded
25484         overlay.  (Bug#25906)
25486 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
25488         Fix display of strike-through text in variable-height lines
25490         * src/nsterm.m (ns_draw_text_decoration):
25491         * src/xterm.c (x_draw_glyph_string):
25492         * src/w32term.c (x_draw_glyph_string): Fix calculation of the
25493         strike-through y-coordinate for a glyph row which is taller than
25494         the strike-through text.  (Bug#25907)
25496 2017-03-02  Martin Rudalics  <rudalics@gmx.at>
25498         Don't call x_net_wm_state for scroll bar windows (Bug#24963, Bug#25887)
25500         * src/xterm.c (handle_one_xevent): For ConfigureNotify events
25501         don't call x_net_wm_state when the window is a scroll bar window.
25502         (Bug#24963, Bug#25887)
25504 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
25506         gnus-summary-select-article-buffer: Don't re-render existing article
25508         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
25509         Don't re-render existing article.
25511 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
25513         Don't add debbugs address to message body (bug#25896)
25515         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
25516         Don't add debbugs address to message body (bug#25896), and
25517         don't add it to message header either if it already exists.
25519 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
25521         * lisp/cedet/semantic/db-global.el: Make dynbind use explicit
25523         (semanticdb--ih): Declare.
25524         (semanticdb-enable-gnu-global-databases): Use it instead of `ih'.
25525         (semanticdb-enable-gnu-global-in-buffer, semanticdb-get-database-tables)
25526         (semanticdb-find-tags-for-completion-method): Silence compiler warning.
25528 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
25530         * lisp/help-fns.el (describe-variable): Use cl-print for the value
25532         Use `pp-buffer' rather than `pp' so as to avoid calling prin1 twice.
25534 2017-03-02  Glenn Morris  <rgm@gnu.org>
25536         * test/lisp/net/puny-tests.el: New file.
25538 2017-03-02  Glenn Morris  <rgm@gnu.org>
25540         Small puny.el fix
25542         * lisp/net/puny.el (puny-decode-string-internal):
25543         Handle strings with no ascii parts.  (Bug#23688)
25545 2017-03-02  Glenn Morris  <rgm@gnu.org>
25547         Small recover-this-file improvement
25549         * lisp/files.el (recover-this-file): Explicit error if not
25550         visiting a file.  (Bug#23671)
25552 2017-03-01  Glenn Morris  <rgm@gnu.org>
25554         Fix for coding-system completion (bug#23670)
25556         * lisp/international/mule.el (read-buffer-file-coding-system):
25557         Ensure that completion-pcm--delim-wild-regex is enclosed in parens,
25558         so that completion-pcm--pattern->regex can append "*?".
25560 2017-03-01  Paul Eggert  <eggert@cs.ucla.edu>
25562         Fix rounding error in ‘ceiling’ etc.
25564         Without this fix, (ceiling most-negative-fixnum -1.0) returns
25565         most-negative-fixnum instead of correctly signaling range-error,
25566         and similarly for floor, round, and truncate.
25567         * configure.ac (trunc): Add a check, since Gnulib’s doc says
25568         ‘trunc’ is missing from MSVC 9.  The Gnulib doc says ‘trunc’ is
25569         also missing from some other older operating systems like Solaris
25570         9 which I know we don’t care about any more, so MSVC is the only
25571         reason to worry about ‘trunc’ here.
25572         * src/editfns.c (styled_format): Formatting a float with %c is now an
25573         error.  The old code did not work in general, because FIXNUM_OVERFLOW_P
25574         had rounding errors.  Besides, the "if (FLOATP (...))" was in there
25575         only as a result of my misunderstanding old code that I introduced
25576         2011.  Although %d etc. is sometimes used on floats that represent
25577         huge UIDs or PIDs etc. that do not fit in fixnums, this cannot
25578         happen with characters.
25579         * src/floatfns.c (rounding_driver): Rework to do the right thing
25580         when the intermediate result equals 2.305843009213694e+18, i.e.,
25581         is exactly 1 greater than MOST_POSITIVE_FIXNUM on a 64-bit host.
25582         Simplify so that only one section of code checks for overflow,
25583         rather than two.
25584         (double_identity): Remove.  All uses changed to ...
25585         (emacs_trunc): ... this new function.  Add replacement for
25586         platforms that lack ‘trunc’.
25587         * src/lisp.h (FIXNUM_OVERFLOW_P, make_fixnum_or_float):
25588         Make it clear that the arg cannot be floating point.
25589         * test/src/editfns-tests.el (format-c-float): New test.
25590         * test/src/floatfns-tests.el: New file, to test for this bug.
25592 2017-03-01  Glenn Morris  <rgm@gnu.org>
25594         Small help--loaded-p fix
25596         * lisp/help-fns.el (help--loaded-p): Handle entry in load-history
25597         with nil file name.  (Bug#25847)
25599 2017-03-01  Leo Liu  <sdl.web@gmail.com>
25601         * src/fns.c (Fbuffer_hash): Doc fix.
25603 2017-03-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
25605         Don't use mapconcat with chars in gnus registry marks (Bug#25839)
25607         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
25608         Instead, use a plain concat, which will create a string out of a list
25609         of characters.
25611 2017-03-01  Noam Postavsky  <npostavs@gmail.com>
25613         Fix epg-tests with dummy-pinentry program (Bug#23619)
25615         * test/data/epg/dummy-pinentry: New file.
25616         * test/lisp/epg-tests.el (with-epg-tests): Add it to gpg-agent.conf
25617         when a passphrase is required.  Add debug declaration.  Set
25618         GPG_AGENT_INFO non-destructively.
25620 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
25622         Speed generation of ldefs-boot-auto
25624         Previously, generation of ldefs-boot-auto required at least one full
25625         bootstrap and, in extreme cases, two. Now, from build system, it
25626         requires the same time as taken to dump Emacs.
25628         * Makefile.in: Remove all calls, pass to src.
25629         * admin/ldefs-clean.el: Update for changed messages.
25630         * lisp/Makefile.in (compile-first-delete): Add.
25631         * lisp/ldefs-boot-auto.el: Update.
25632         * src/Makefile.in (generate-ldefs-boot): Add.
25634 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
25636         Add error handling to magic-mode-alist
25638         * lisp/files.el (set-auto-mode): Add explicit error handling in two
25639           places.
25641 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
25643         Remove conditional includes from bootstrap
25645         Previously, bootstrap-emacs includes optional functionality, depending
25646         on the platform which is not needed for bootstrap function.  As a
25647         result, bootstrap-emacs contains different functions in different
25648         circumstances.  If ldefs-boot-auto.el is generated, then loaded
25649         functions will not be added to ldefs-boot-auto.el, although they may be
25650         required during some builds.  With this change, bootstrap-emacs should
25651         always behave the same way and, therefore, require the same autoloads.
25653          * lisp/loadup.el: No longer load optional includes during bootstrap
25654            dumping.
25655          * lisp/ldefs-boot-auto.el: Regenerate.
25656          * lisp/ldefs-boot-manual.el: Add two autoloads.
25658 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
25660         Do not use find-file non-interactively
25662          * lisp/international/titdic-cnv.el (miscdic-convert): Use
25663            insert-file-contents in place of find-file.
25665 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
25667         * src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc
25669         (update_overlay_arrows): Skip non-markers.
25671 2017-02-28  Ken Brown  <kbrown@cornell.edu>
25673         Try to avoid hang when logging out of MS-Windows
25675         * src/w32term.c (x_update_window_begin, x_update_window_end)
25676         (my_show_window, my_set_window_pos, my_set_focus)
25677         (my_set_foreground_window, my_destroy_window)
25678         (my_bring_window_to_top, x_iconify_frame): Replace calls to
25679         SendMessage by calls to SendMessageTimeout with a 6-second
25680         timeout.  (Bug#25875)
25682 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
25684         * lisp/textmodes/reftex-toc.el (reftex-re-enlarge): Demote errors.
25686 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
25688         * doc/misc/eieio.texi: Update to account for the cl-generic facilities
25690         (Quick Start, Class Options, Generics): Adjust names for cl-generic.
25691         (Methods): Document cl-defmethod.
25692         Explain in more detail the order in which the various
25693         methods are executed.  Document the conditions under which a method
25694         is redefined.  Remove reference to `eieio-generic-call-arglst`.
25695         Don't document the precise return value of cl-next-method-p.
25696         (Static Methods): Adjust to use `subclass` specializer.
25697         (Method Invocation): Use cl-call-next-method and drop mention of :primary.
25698         (Signal Handling, Signals): Adjust names and args for cl-generic; add
25699         cl-no-primary-method.
25700         (CLOS compatibility, Wish List): Adjust to new featureset.
25702 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
25704         * lisp/cedet/mode-local.el (define-mode-local-override): Declare doctring.
25706         * lisp/nxml/nxml-mode.el (nxml-mode): Use new sgml-syntax-propertize.
25708 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
25710         * lisp/textmodes/sgml-mode.el: syntax-propertize <![CDATA and <?..?>
25712         (sgml-syntax-propertize-function): Mark <![CDATA and <?..?>.
25713         (sgml-syntax-propertize-inside): New fun.
25715 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
25717         * lisp/textmodes/css-mode.el (css-completion-at-point): Auto-insert
25719         ": ;" after completing a property.
25721 2017-02-28  Tino Calancha  <tino.calancha@gmail.com>
25723         Show Ibuffer and jump to line listing current buffer
25725         * lisp/ibuffer.el (ibuffer-jump): New command (Bug#25577).
25727 2017-02-27  Juri Linkov  <juri@linkov.net>
25729         * lisp/vc/add-log.el (change-log-next-buffer): Check if file exists
25731         before adding it to the list of files.
25733 2017-02-27  Juri Linkov  <juri@linkov.net>
25735         Put text properties on query-replace separator string instead of "\0"
25737         * lisp/replace.el (query-replace--split-string):
25738         Split at a substring instead of just character.
25739         (query-replace-read-from): Put text properties on the
25740         separator string instead of "\0".  (Bug#25482)
25742 2017-02-27  Juri Linkov  <juri@linkov.net>
25744         Add file name and its extension to suggestions in dired-mark-files-regexp
25746         * lisp/dired.el (dired-mark-files-regexp): Add file name
25747         and its extension to the list of suggested defaults.  (Bug#25578)
25749 2017-02-27  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
25751         Prompt default extension in dired-mark-extension
25753         * lisp/dired-x.el (dired-mark-extension): Prompt default extension
25754         based on extension of file at point.  (Bug#25578)
25756 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
25758         Prevent for consing in cl-mapc and cl-mapl
25760         * lisp/emacs-lisp/cl-extra.el (cl--mapcar-many): Add optional arg ACC;
25761         If non-nil, accumulate values in the result (Bug#25826).
25762         (cl-mapc): Do computations inside function instead of call cl-map.
25763         (cl-mapl): Do computations inside function instead of call cl-maplist.
25764         * lisp/emacs-lisp/cl-lib.el (mapcar): Add autoload cookie.
25765         Call cl--mapcar-many with non-nil 3rd argument.
25766         * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-map)
25767         (cl-extra-test-mapc, cl-extra-test-mapcar, cl-extra-test-mapl)
25768         (cl-extra-test-maplist): New tests.
25770 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
25772         Choose the right target dir on dired operations
25774         Prevent from changing the input target dir
25775         when dired-dwim-target is non-nil (Bug#25609).
25776         * lisp/dired-aux.el (dired-do-create-files):
25777         If dired-dwim-target is non-nil, then bind 'default' to nil.
25778         * test/lisp/dired-tests.el (dired-test-bug25609): Add test.
25780 2017-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
25782         * src/xdisp.c (overlay_arrows_changed_p): Fix last change.
25784 2017-02-27  Noam Postavsky  <npostavs@gmail.com>
25786         Don't record eshell/clear "command" in history (Bug#25838)
25788         `eshell/clear' is implemented by sending a series of blank lines,
25789         which is not a useful thing to have in the history.
25791         * lisp/eshell/em-hist.el (eshell-input-filter-default): Use
25792         `string-blank-p' which does check for newlines (even though newlines
25793         have comment-end syntax, not whitespace syntax class).
25794         * lisp/eshell/esh-mode.el (eshell/clear): Remove
25795         `eshell-add-to-history' from `eshell-input-filter-functions' while
25796         sending the blank lines.  This change is needed to solve the bug if
25797         the user customizes `eshell-input-filter' to something that doesn't
25798         filter newlines.
25800 2017-02-26  Paul Eggert  <eggert@cs.ucla.edu>
25802         Remove a few unused C functions
25804         * src/eval.c (let_shadows_global_binding_p):
25805         * src/print.c (write_string):
25806         * src/systhread.c (sys_mutex_destroy, sys_thread_equal):
25807         Remove.
25808         * src/print.c (write_string): Rename from write_string_1.
25809         All uses changed.
25811 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
25813         Avoid segfault in overlay_arrows_changed_p
25815         * src/xdisp.c (overlay_arrows_changed_p): Fix recent change
25816         to avoid a segfault.
25818 2017-02-26  Noam Postavsky  <npostavs@gmail.com>
25820         Don't call package--ensure-init-file if initialized during startup
25822         * lisp/emacs-lisp/package.el (package-initialize): Check
25823         `after-init-time' rather than `load-file-name' to decide if
25824         `package--ensure-init-file' should be called.  Depending on
25825         `load-file-name' will fail if the user calls `pacakge-initialize' in
25826         file which is loaded from the init file (Bug#24643, Bug#25819).
25828 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
25830         Fix display of before- and after-strings at invisible text
25832         * src/xdisp.c (next_overlay_string): Don't raise the
25833         ignore_overlay_strings_at_pos_p flag if the iterator is already
25834         set to continue at a buffer position different from the one
25835         where the overlay strings we just processed were loaded.  (Bug#25856)
25837 2017-02-26  Michael Albinus  <michael.albinus@gmx.de>
25839         Work on `tramp-completion-mode-p'
25841         * etc/NEWS: Say that `tramp-completion-mode' is obsolete.
25843         * lisp/net/tramp.el (tramp-completion-mode): Make it obsolete.
25844         (tramp-completion-mode-p): Reintroduce the check for 'tab.
25846 2017-02-25  Tom Tromey  <tom@tromey.com>
25848         Use font-lock-doc-face in js-mode
25850         Bug#25858:
25851         * lisp/progmodes/js.el (js-font-lock-syntactic-face-function): New
25852         defun.
25853         (js-mode): Use it.
25854         * test/lisp/progmodes/js-tests.el (js-mode-doc-comment-face): New
25855         test.
25857 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
25859         Don't use IP 0.0.0.0 for package test server (Bug#22582)
25861         * test/lisp/emacs-lisp/package-resources/package-test-server.py: Set
25862         'server_address' when port number is given on the command line.  Print
25863         IP and port number as a URL, and flush it after printing.
25864         * test/lisp/emacs-lisp/package-tests.el:
25865         (package-test-update-archives-async): Grab the whole URL from server
25866         output.
25868 2017-02-25  Tom Tromey  <tom@tromey.com>
25870         Add more branch support to vc-dir
25872         Bug#25859:
25873         * lisp/vc/vc-dir.el (vc-dir-mode-map) Add "B" bindings.
25874         * lisp/vc/vc.el (vc-revision-history): New defvar.
25875         (vc-read-revision): Use vc-revision-history.
25876         (vc-print-branch-log): New function.
25877         * doc/emacs/maintaining.texi (VC Directory Commands): Document new
25878         bindings.
25879         * etc/NEWS: Mention new vc-dir bindings.
25881 2017-02-25  Alan Mackenzie  <acm@muc.de>
25883         Allow for the :: operator in C++ "enum class" declarations.
25885         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for
25886         "::".
25888 2017-02-25  Michael Albinus  <michael.albinus@gmx.de>
25890         Fix bug#25854
25892         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
25893         Simplify error handling for huge inodes.
25894         (tramp-convert-file-attributes): Handle very huge inodes.  (Bug#25854)
25896 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
25898         Avoid leaving garbage on screen when using 'raise' display property
25900         * src/xdisp.c (display_line): Reset voffset value of the iterator
25901         when it hits ZV, to avoid "inheriting" it to glyph rows past ZV,
25902         which then leaves stuff on screen that needs to be cleared by
25903         redisplay.  (Bug#25855)
25905 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
25907         Fix doc strings in info.el
25909         * lisp/info.el (Info-selection-hook, Info-mode-hook)
25910         (Info-edit-mode-hook): Doc fixes.  (Bug#25794)
25912 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
25914         Fix doc string of 'posn-at-point'
25916         * src/keyboard.c (Fposn_at_point): Clarify the doc string.
25917         (Bug#25796)
25919 2017-02-25  Peder O. Klingenberg  <peder@klingenberg.no>
25921         New option -u / --suppress-output to emacsclient
25923         * lib-src/emacsclient.c (print_help_and_exit, longopts)
25924         (decode_options, main): Implement new option --suppress-output / -u to
25925         suppress printing of eval-results.
25926         * doc/emacs/misc.texi (emacsclient Options): Document the new
25927         "--suppress-output/-u" options.
25928         * etc/NEWS: Mention the new options.
25930 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
25932         Fix scrolling with partial line corner case (Bug#25792)
25934         Also fix up the scrolling tests so that they don't make so many
25935         assumptions about the current window configuration.
25937         * src/xdisp.c (try_window): Take partial line height into account when
25938         comparing cursor position against scroll margin.
25940         * test/manual/scroll-tests.el (scroll-tests-with-buffer-window): Add
25941         HEIGHT argument, to allow setting up window with exact height and
25942         partial line.
25943         (scroll-tests-display-buffer-with-height): New display-buffer action
25944         function.
25945         (scroll-tests-scroll-margin-over-max):
25946         (scroll-tests--scroll-margin-whole-window): Pass HEIGHT to
25947         `scroll-tests--scroll-margin-whole-window'.
25948         (scroll-tests-conservative-show-trailing-whitespace): New test.
25949         (scroll-tests-scroll-margin-negative): Fix line counting.
25950         (scroll-tests--point-in-middle-of-window-p): Set window height
25951         properly.
25953 2017-02-25  Tom Tromey  <tom@tromey.com>
25955         Fix indentation error in js.el
25957         * lisp/progmodes/js.el (js--indent-in-array-comp): Wrap forward-sexp
25958         call in condition-case.
25959         * test/lisp/progmodes/js-tests.el (js-mode-indentation-error): New
25960         test.
25962 2017-02-24  Tom Tromey  <tom@tromey.com>
25964         add "async" and "await" keywords
25966         * lisp/progmodes/js.el (js--keyword-re): Add async, await.
25968 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
25970         Use cl-print for Edebug and EIEIO
25972         * lisp/emacs-lisp/edebug.el (edebug-prin1-to-string): Use cl-print.
25973         (edebug-prin1, edebug-print): Remove.
25975         * lisp/emacs-lisp/eieio.el (object-print): Declare obsolete.
25976         (cl-print-object): Add a method for EIEIO objects.
25977         (eieio-edebug-prin1-to-string): Delete.
25978         (edebug-prin1-to-string): Don't advise any more.
25980         * lisp/emacs-lisp/eieio-datadebug.el (data-debug-insert-object-button):
25981         Replace `object-print' -> `cl-prin1-to-string'.
25983 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
25985         Fix left over uses of `call-next-method'
25987         * lisp/cedet/semantic/db-global.el (object-print):
25988         * lisp/cedet/semantic/db.el (object-print): Use `cl-call-next-method'.
25990 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
25992         Minor redisplay optimizations
25994         * src/frame.c (Ficonify_frame): No need to redisplay everything.
25996         * src/xdisp.c (overlay_arrows_changed_p): Add `set_redisplay' argument.
25997         (redisplay_internal): Use it to avoid redisplaying everything.
25998         (try_window_id): Use it keep the same behavior as before.
26000 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
26002         * lisp/emacs-lisp/cl-print.el: New file
26004         * lisp/emacs-lisp/nadvice.el (advice--where): New function.
26005         (advice--make-docstring): Use it.
26007         * src/print.c (print_number_index): Don't declare here any more.
26008         (Fprint_preprocess): New function.
26010         * test/lisp/emacs-lisp/cl-print-tests.el: New file.
26012 2017-02-24  Peder O. Klingenberg  <peder@klingenberg.no>
26014         Make calc's least common multiple positive (bug#25255)
26016         * lisp/calc/calc-comb.el (calcFunc-lcm): Return absolute value.
26017         * doc/misc/calc.texi (Combinatorial Functions): Update for the above.
26019 2017-02-24  Tino Calancha  <tino.calancha@gmail.com>
26021         Documentation fix in elisp reference manual
26023         * doc/lispref/macros.texi (Defining Macros): Drop redundant mention
26024         on 'declare' forms (Bug#25846).
26026 2017-02-24  Gemini Lasswell  <gazally@runbox.com>
26028         Support read syntax for circular objects in Edebug (Bug#23660)
26030         * lisp/emacs-lisp/edebug.el (edebug-read-special): New name
26031         for edebug-read-function. Handle the read syntax for circular
26032         objects.
26033         (edebug-read-objects): New variable.
26034         (edebug-read-and-maybe-wrap-form1): Reset edebug-read-objects.
26036         * src/lread.c (Fsubstitute_object_in_subtree): Make
26037         substitute_object_in_subtree into a Lisp primitive.
26039 2017-02-24  Lixin Chin  <lixinchin@gmail.com>  (tiny change)
26041         Add Conference to the list of valid bibtex entry types
26043         * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
26044         Add Conference as a duplicate of InProceedings.  (Bug#25143)
26046 2017-02-23  Glenn Morris  <rgm@gnu.org>
26048         * lisp/comint.el (comint-password-prompt-regexp): Add SUDO. (Bug#24817)
26050 2017-02-23  Glenn Morris  <rgm@gnu.org>
26052         Small dunnet score file improvements
26054         * lisp/play/dunnet.el (dun-log-file): Switch to per-user default.
26055         (dun-do-logfile): Handle non-existing score file.
26057 2017-02-23  Glenn Morris  <rgm@gnu.org>
26059         * lisp/play/dunnet.el (dun-help): Doc fix.
26061 2017-02-23  Mark Oteiza  <mvoteiza@udel.edu>
26063         Declare dun-line and dun-line-list
26065         Previously, there were free variables 'line' and 'line-list'.
26066         * lisp/play/dunnet.el (dun-line, dun-line-list): New variables.
26067         (dun-press, dun-vparse, dun-parse2, dun-unix-parse, dun-batch-parse):
26068         (dun-batch-parse2, dun-batch-loop, dun-batch-dos-interface):
26069         (dun-batch-unix-interface): Use them.
26071 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
26073         Merge from gnulib
26075         This incorporates:
26076         2017-02-16 xbinary-io: rename from xsetmode
26077         2017-02-15 xsetmode: new module
26078         * lib-src/etags.c (main):
26079         * lib-src/hexl.c (main):
26080         * src/emacs.c (main) [MSDOS]:
26081         Prefer set_binary_mode to the obsolescent SET_BINARY.
26082         * lib/binary-io.c, lib/binary-io.h: Copy from gnulib.
26084 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
26086         hexl: handle large files and I/O errors
26088         * lib-src/hexl.c: Include inttypes.h, for PRIxMAX etc.
26089         Do not include ctype.h, as the code no longer uses isdigit.
26090         (DEFAULT_GROUPING, un_flag, iso_flag, group_by): Now local to ‘main’.
26091         (DEFAULT_BASE, endian): Remove; was not really used.
26092         (usage): Remove; now done by ‘main’, as that’s simpler.
26093         (progname): Now static.
26094         (output_error, hexchar): New functions.
26095         (main): Use them.  Simplify.  Remove "-oct", "-big-endian", and
26096         "-little-endian" options, as they did not work and were not used.
26097         Use SET_BINARY only on stdin, and fopen with "rb" otherwise.
26098         Use SET_BINARY only once on stdout.
26099         Do not assume file offsets fit in ‘long’.
26100         If an I/O error occurs, report it and exit with nonzero status.
26102 2017-02-23  Eli Zaretskii  <eliz@gnu.org>
26104         Avoid quitting inside a critical section on MS-Windows
26106         * src/w32uniscribe.c (uniscribe_list_family):
26107         * src/w32font.c (w32font_list_family, w32font_text_extents)
26108         (w32font_list_internal, w32font_match_internal)
26109         (list_all_matching_fonts): Prevent quitting while these functions
26110         cons lists of fonts, to avoid leaving the critical section taken
26111         by the main thread, which will then cause any other thread
26112         attempting to enter the critical section to hang.  (Bug#25279)
26114 2017-02-22  Dmitry Gutov  <dgutov@yandex.ru>
26116         Use revision-completion-table in vc-retrieve-tag
26118         * lisp/vc/vc.el (vc-retrieve-tag): Use the
26119         revision-completion-table command for completion (bug#25710).
26121 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
26123         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types): Add `atom'
26125         remove entries whose car can't be returned by type-of.
26126         (cl--generic-all-builtin-types): New var.
26127         (cl-generic-generalizers): Use it to avoid requiring
26128         extra entries in cl--generic-typeof-types.
26130 2017-02-22  Noam Postavsky  <npostavs@gmail.com>
26132         Find macro binding for symbol-bound macros too (Bug#6848)
26134         There are 2 ways to bind a macro: with global-set-key or
26135         kmacro-bind-to-key.  The former binds a key to a symbol, while the
26136         latter binds to a lambda.  In 2010-03-03 "Fix keyboard macro key
26137         lookup (Bug#5481)", `insert-kbd-macro' was fixed to detect the lambda
26138         case, but broke the symbol case.
26140         * lisp/macros.el (insert-kbd-macro): Also check for bindings of
26141         MACRONAME.
26143 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
26145         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix last change
26147 2017-02-22  Juri Linkov  <juri@linkov.net>
26149         * lisp/isearch.el (lazy-highlight-max-at-a-time): Doc fix (bug#21092).
26151 2017-02-22  Juri Linkov  <juri@linkov.net>
26153         * lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.
26155         (isearch-lazy-highlight-update): Check it to decide whether to apply
26156         overlays only on the selected window.
26158         * lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
26159         (Bug#17453, bug#21092)
26161 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
26163         Minor weak hash table performance tweaks
26165         * src/fns.c (make_hash_table): Omit unnecessary assignment to
26166         h->next_weak when the hash table is not weak.
26167         (copy_hash_table): Put the copy next to the original in the
26168         weak_hash_tables list, as this should have better locality
26169         when scanning the weak hash tables.
26171 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
26173         Use float instead of Lisp_Object for rehash_size
26175         * src/alloc.c (purecopy_hash_table):
26176         * src/fns.c (maybe_resize_hash_table, Fmake_hash_table):
26177         (Fhash_table_rehash_size):
26178         * src/lisp.h (struct Lisp_Hash_Table.rehash_size):
26179         The rehash_size member of struct Lisp_Hash_Table is now a
26180         float, not a Lisp_Object.
26181         * src/alloc.c (purecopy_hash_table): Assign members in order.
26182         * src/fns.c (make_hash_table): Use EMACS_INT for size and
26183         float for rehash_size, instead of Lisp_Object for both.
26184         All callers changed.
26185         * src/lisp.h (DEFAULT_REHASH_SIZE): Now float, not double,
26186         and 1 smaller.
26187         * src/print.c (print_object): Simplify by calling
26188         Fhash_table_rehash_size and Fhash_table_rehash_threshold.
26189         Avoid unnecessary NILP.
26191 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
26193         Use ptrdiff_t instead of Lisp_Object for collision
26195         * src/alloc.c (purecopy_hash_table): Assign, don’t purecopy.
26196         * src/fns.c (set_hash_next_slot, set_hash_index_slot): Hash index
26197         arg is now ptrdiff_t index (or -1 if empty), not Lisp_Object
26198         integer (or Qnil if empty).  All callers changed.
26199         (larger_vecalloc): New static function.
26200         (larger_vector): Use it.
26201         (HASH_NEXT, HASH_INDEX): Move here from lisp.h.  Return ptrdiff_t
26202         index (or -1) not Lisp_Object integer (or Qnil).  All callers changed.
26203         * src/fns.c (make_hash_table, maybe_resize_hash_table, hash_lookup)
26204         (hash_put, hash_remove_from_table, hash_clear, sweep_weak_table):
26205         * src/profiler.c (evict_lower_half, record_backtrace):
26206         -1, not nil, is now the convention for end of collision list.
26207         * src/fns.c (maybe_resize_hash_table): Avoid double-initialization
26208         of the free list.  Reallocate H->next last, in case other
26209         reallocations exhaust memory.
26210         * src/lisp.h (struct Lisp_Hash_Table): ‘next_free’ is now
26211         ptrdiff_t, not Lisp_Object.  Adjust commentary for ‘next’ and
26212         ‘index’, which no longer contain nil.
26213         (HASH_NEXT, HASH_INDEX): Move to src/fns.c.
26215 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
26217         Hash table threshold is now float, not double
26219         Change default from 0.8 to 0.8125 so it fits in float without
26220         rounding glitches.
26221         * doc/lispref/hash.texi (Creating Hash):
26222         * doc/lispref/objects.texi (Hash Table Type):
26223         * etc/NEWS:
26224         Document change.
26225         * src/fns.c (make_hash_table, maybe_resize_hash_table)
26226         (Fmake_hash_table): Threshold is now float, not double.
26227         Be consistent about how this is rounded.
26228         * src/lisp.h (struct Lisp_Hash_Table.rehash_threshold):
26229         Change back to float, now that the other code rounds consistently.
26230         (DEFAULT_REHASH_THRESHOLD): Now float 0.8125 instead of double 0.8.
26232 2017-02-22  Juri Linkov  <juri@linkov.net>
26234         Avoid flicker in lazy-highlight by doing all updates without redisplay.
26236         * lisp/isearch.el (lazy-highlight-max-at-a-time):
26237         Change default value from 20 to nil to not trigger redisplay
26238         between updating iterations.
26239         (lazy-highlight-cleanup): New arg ‘procrastinate’ to not remove
26240         overlays when non-nil.
26241         (isearch-lazy-highlight-new-loop): Call lazy-highlight-cleanup
26242         with non-nil second arg when the search string is not empty.
26243         Run timer with isearch-lazy-highlight-start instead of
26244         isearch-lazy-highlight-update.
26245         (isearch-lazy-highlight-start): New function. (Bug#25751)
26247 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
26249         * lisp/emacs-lisp/autoload.el (make-autoload): Support cl-defgeneric
26251         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Tweak for autoloading.
26253 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
26255         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Fix duplication
26257         which resulted in incomplete list of parents in one copy of the
26258         cl-structure-class class.
26260 2017-02-21  Glenn Morris  <rgm@gnu.org>
26262         Tweak recent custom-reevaluate-setting change
26264         * lisp/custom.el (custom-reevaluate-setting):
26265         Tweak previous change to avoid font-lock init issues.
26267 2017-02-21  Glenn Morris  <rgm@gnu.org>
26269         Ensure delayed-init custom variables get marked special
26271         * lisp/custom.el (custom-reevaluate-setting):
26272         If the variable has never been set, defvar it.  (Bug#25770)
26274 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
26276         Turn on lexical-binding in dunnet.el
26278         * lisp/play/dunnet.el: Turn on lexical-binding.  Re-instate lexical
26279         byte compile warnings.
26281 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
26283         Make dunnet insertion functions n-ary
26285         * lisp/play/dunnet.el (dun-mprinc, dun-mprincl, dun-minsert):
26286         (dun-minsertl, dun-batch-mprinc, dun-batch-mprincl): Change to accept
26287         any number of arguments.
26288         (dun-parse, dun-describe-room, dun-quit, dun-inven, dun-shake):
26289         (dun-take, dun-go, dun-move, dun-press, dun-score):
26290         (dun-compile-save-out, dun-do-logfile): Collect arguments from
26291         multiple insertion calls into less calls with more args.
26293 2017-02-21  Katsumi Yamaoka  <yamaoka@jpl.org>
26295         message-goto-body-1: Fix regexp so as not to match multi-line
26297         * lisp/gnus/message.el (message-goto-body-1):
26298         Fix regexp so as not to match multi-line.
26300 2017-02-20  Noam Postavsky  <npostavs@gmail.com>
26302         Simplify cl-get using `plist-member'
26304         * lisp/emacs-lisp/cl-extra.el (cl-get, cl-getf, cl--set-getf): Use
26305         `plist-member' instead of explicit loop.
26306         * test/lisp/emacs-lisp/cl-extra-tests.el: New tests.
26308 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
26310         Verify xwidget USE_LSB_TAG assumption
26312         * src/xwidget.c (Fxwidget_webkit_execute_script):
26313         Add verification.  Problem reported by Andreas Schwab (Bug#25816#8).
26315 2017-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>
26317         * src/insdel.c (make_gap): Improve comment.
26319 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
26321         Do not use switch-to-buffer for working in a temp buffer
26323         * lisp/play/dunnet.el (dunnet): Use pop-to-buffer-same-window instead,
26324         cf. Bug#22244.
26325         (dun-load-d, dun-eval, dun-save-game, dun-do-logfile): Use
26326         with-temp-buffer instead.
26328 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
26330         Make dun-room-shorts a defconst
26332         * lisp/play/dunnet.el (dun-room-shorts): Make defconst and collect
26333         initial value into the declaration.
26334         (dun-space-to-hyphen): Remove.
26336 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
26338         Port xwidget to -DCHECK_LISP_OBJECT_TYPE
26340         * src/xwidget.c (webkit_javascript_finished_cb)
26341         (Fxwidget_webkit_execute_script): Don't assume Lisp_Object is an
26342         integer.  This fix is just a hack; I’ll file a bug report about
26343         the underlying problem.
26345 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
26347         mm-decode.el: Simplify regexp used to search html meta tag
26349         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag, mm-shr):
26350         Simplify regexp used to search html meta tag.
26352 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
26354         mm-shr: Ignore coding-system `ascii'
26356         * lisp/gnus/mm-decode.el (mm-shr): Ignore coding-system `ascii'.
26358 2017-02-20  Tom Tromey  <tom@tromey.com>
26360         vc-log-outgoing fixes for git; add binding to vc-dir
26362         * lisp/vc/vc-dir.el (vc-dir-mode-map): Bind "O" to vc-log-outgoing.
26363         * lisp/vc/vc-git.el (vc-git-log-outgoing, vc-git-log-incoming): Use
26364         async execution.
26365         (vc-git-log-view-mode): Also truncate lines for log-outgoing and
26366         log-incoming.
26367         * lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Don't pass nil
26368         as remote-location argument.
26370 2017-02-20  Tom Tromey  <tom@tromey.com>
26372         Remove stale comments from vc-git and vc-hg
26374         * lisp/vc/vc-git.el (vc-git-retrieve-tag): Remove comment.
26375         * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Remove comment.
26377 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
26379         Remove member clone
26381         * lisp/play/dunnet.el (dun-answer): Use member instead.
26382         (dun-members): Remove.
26384 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
26386         Prefix global var
26388         * lisp/play/dunnet.el (room): Rename to dun-room.
26389         (dun-messages, dunnet, dun-describe-room, dun-drop, dun-move):
26390         (dun-restore, dun-do-logfile, dun-batch-loop): Use new name.
26392 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
26394         Replace nested ifs with cond
26396         * lisp/play/dunnet.el (dun-messages, dun-describe-room, dun-examine):
26397         (dun-eat, dun-put-objs, dun-turn, dun-press, dun-ls, dun-cd): Use when
26398         and cond where appropriate.
26399         (dun-sauna-heat): Accept sauna level as an argument.  Use cond.
26400         (dun-take): Use null and dun-mprincl.
26401         (dun-inven-weight, dun-load-d): Reformat.
26402         (dun-remove-obj-from-inven, dun-remove-obj-from-room): Nix setq to nil.
26404 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
26406         Fix glitches in recent hash table changes
26408         * src/fns.c (Fmake_hash_table): Simplify the machine code slightly
26409         by using 0 rather than -1.
26410         * src/lisp.h (struct Lisp_Hash_Table.pure): Now bool rather
26411         than a bitfield, for speed (the bitfield did not save space).
26412         (struct Lisp_Hash_Table.rehash_threshold): Now double rather than
26413         float, since the float caused unwanted rounding errors, e.g.,
26414         (hash-table-rehash-threshold (make-hash-table)) yielded
26415         0.800000011920929 instead of the correct 0.8.
26417 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
26419         * src/insdel.c (make_gap): Increase enough to avoid O(N^2) behavior.
26421 2017-02-19  Eli Zaretskii  <eliz@gnu.org>
26423         Avoid aborts during loadup
26425         * src/emacs-module.c (syms_of_module):
26426         * src/image.c (xpm_make_color_table_h): Update calls to
26427         make_hash_table to adjust to a recent change in fns.c.
26428         * src/fns.c (make_hash_table):
26429         * src/lisp.h (make_hash_table): 4th arg is now of type double.
26431 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
26433         Rework connection local variables
26435         For connection local variables interface, `class' is renamed
26436         to `profile'.  All arguments `criteria' are a plist now.
26438         * doc/lispref/variables.texi (Connection Local Variables):
26439         Rewrite.
26441         * lisp/files-x.el (connection-local-profile-alist): Rename
26442         from `connection-local-class-alist'.  Adapt docstring.
26443         (connection-local-criteria-alist): Adapt docstring.
26444         (connection-local-normalize-criteria): New defun.
26445         (connection-local-get-profiles): Rename from
26446         `connection-local-get-classes'.  Rewrite.
26447         (connection-local-set-profiles): Rename from
26448         `connection-local-set-classes'.  Rewrite.
26449         (connection-local-get-profile-variables): Rename from
26450         `connection-local-get-class-variables'.  Rewrite.
26451         (connection-local-set-profile-variables): Rename from
26452         `connection-local-set-class-variables'.  Rewrite.
26453         (hack-connection-local-variables)
26454         (hack-connection-local-variables-apply)): Rewrite.
26455         (with-connection-local-profiles): Rename from
26456         `ith-connection-local-classes'.  Rewrite.
26458         * lisp/net/tramp.el (tramp-set-connection-local-variables):
26459         Compute criteria.
26461         * lisp/net/tramp-cmds.el (tramp-bug):
26462         Use `connection-local-profile-alist'.
26464         * test/lisp/files-x-tests.el (files-x-test--variables1)
26465         (files-x-test--variables2, files-x-test--variables3)
26466         (files-x-test--variables4, files-x-test--criteria1)
26467         (files-x-test--criteria2): Make them a defconst.
26468         (files-x-test--application)
26469         (files-x-test--another-application, files-x-test--protocol)
26470         (files-x-test--user, files-x-test--machine): New defconst.
26471         (files-x-test--criteria): New defvar.
26472         (files-x-test--criteria3): Remove.
26473         (files-x-test-connection-local-set-profile-variables):
26474         Rename from `files-x-test-connection-local-set-class-variables'.
26475         Rewrite.
26476         (files-x-test-connection-local-set-profiles): Rename from
26477         `files-x-test-connection-local-set-classes'.  Rewrite.
26478         (files-x-test-hack-connection-local-variables-apply)  Rewrite.
26479         (files-x-test-with-connection-local-profiles): Rename from
26480         `files-x-test-with-connection-local-classes'.  Rewrite.
26482 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
26484         Set up combination and random item location
26486         * lisp/play/dunnet.el (dun-combination): Make defconst.
26487         (tloc, tcomb): Remove.  Replace with a top-level form.
26489 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
26491         Replace movement variables with an alist and accessor
26493         * lisp/play/dunnet.el (north, south, east, west, northeast, southeast):
26494         (northwest, southwest, up, down, in, out): Remove.
26495         (dun-movement-alist): New constant.
26496         (dun-movement): New function.
26497         (dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se, dun-nw, dun-sw, dun-up):
26498         (dun-down, dun-in, dun-out): Use a symbol for indicating movement.
26499         (dun-move, dun-special-move): Translate movement symbol to an
26500         enumeration.
26502 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
26504         Change top-level setq forms to defvar or defconst
26506         Also collect some code onto fewer lines and reindent.
26507         * lisp/play/dunnet.el (dun-visited, dun-current-room, dun-exitf):
26508         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
26509         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
26510         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
26511         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
26512         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
26513         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
26514         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
26515         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
26516         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
26517         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
26518         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
26519         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
26520         (dun-diggables, dun-room-shorts, dun-endgame-questions): Change
26521         declaration to use defvar or defconst.
26522         (dun-doverb, dun-vparse, dun-vparse2, dun-batch-parse):
26523         (dun-batch-parse2): Omit the dun- prefix from arguments dun-ignore
26524         dun-verblist.  Those are now constants and the byte compiler doesn't
26525         allow defconsts in lambda lists.
26527 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
26529         Move all dunnet globals up to the top
26531         * lisp/play/dunnet.el: Adjust comments to reflect moved forms.
26532         (dun-visited, dun-current-room, dun-exitf):
26533         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
26534         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
26535         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
26536         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
26537         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
26538         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
26539         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
26540         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
26541         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
26542         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
26543         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
26544         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
26545         (dun-diggables, dun-room-shorts, dun-endgame-questions): Move to the
26546         top of the file, before any uses.
26548 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
26550         Fix bug#25788
26552         * lisp/net/tramp.el (tramp-autoload-file-name-handler):
26553         Do not load tramp.el just for "/".  (Bug#25788)
26555 2017-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
26557         Fix fringe bitmap initialization on MS-Windows
26559         * src/fringe.c (init_fringe_bitmap) [HAVE_NTGUI]: Fix initialization
26560         of fb->bits.  (Bug#25673)
26562 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
26564         Change type of `rehash_threshold' and `pure' fields in hash-tables
26566         * src/lisp.h (struct Lisp_Hash_Table): Change type of
26567         `rehash_threshold' and `pure' fields and move them after `count'.
26568         * src/fns.c (make_hash_table): Change type of `rehash_threshold' and `pure'.
26569         (Fmake_hash_table, Fhash_table_rehash_threshold):
26570         * src/category.c (hash_get_category_set):
26571         * src/xterm.c (syms_of_xterm):
26572         * src/profiler.c (make_log):
26573         * src/print.c (print_object):
26574         * src/alloc.c (purecopy_hash_table, purecopy): Adjust accordingly.
26576 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
26578         Use 'char *FOO' instead of 'char* FOO'
26580 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
26582         More json.el changes
26584         * lisp/json.el (json-read-keyword, json-read-number, json-read-object):
26585         (json-read-array): Just use = for char comparison.
26587 2017-02-18  Noam Postavsky  <npostavs@gmail.com>
26589         * lisp/woman.el (woman): Fix docstring prefix arg description.
26591 2017-02-18  Alan Mackenzie  <acm@muc.de>
26593         Fix edebug-spec on c-lang-defvar.
26595         This allows c-lang-defvars with the symbol 'dont-doc in the place of the
26596         optional documentation to be instrumented for edebug.
26598         lisp/progmodes/cc-langs.el (top-level): Amend the edebug-spec for
26599         c-lang-defvar.
26600         (c-opt-identifier-concat-key, c-decl-prefix-or-start-re): remove redundant
26601         'dont-doc.
26603 2017-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
26605         Lists used as plists now have to be an even length
26607         * lisp/net/eww.el (eww-size-text-inputs): `eww-form' isn't a plist.
26608         (eww-process-text-input): Not here, either.
26610 2017-02-18  Michael Albinus  <michael.albinus@gmx.de>
26612         Unset `non-essential' in Tramp when not needed anymore
26614         * doc/misc/trampver.texi:
26615         * lisp/net/trampver.el: Change version to "2.3.2-pre".
26617         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
26618         Use `tramp-completion-mode-p'.
26620         * lisp/net/tramp.el (tramp-file-name-handler): Unset `non-essential'
26621         when file name doesn't match `tramp-completion-file-name-regexp'.
26623 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
26625         Automatically regenerate emacs.1 and *.rc files
26627         * Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
26628         non-Makefile files produced by config.status.
26629         ($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
26630         their targets are regenerated when the source changes.
26632 2017-02-18  Alan Mackenzie  <acm@muc.de>
26634         Set the syntax table in AWK Mode.
26636         This is a partial reversion of CC Mode commit on 2016-05-09 17:49:45 +0000.
26637         It fixes bug #25722.
26639         lisp/progmodes/cc-mode.el (awk-mode): Explicitly set the syntax table.
26641 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
26643         Mention "editor" in Emacs man page header
26645         * doc/man/emacs.1.in: Mention "editor" in the header line.
26646         (Bug#25771, Bug#25779)
26648 2017-02-18  Göktuğ Kayaalp  <self@gkayaalp.com>
26650         Fix Turkish language environment setup
26652         * lisp/language/european.el ("Turkish"): Fix a typo in Turkish
26653         language setup.  (Bug#25763)
26655 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
26657         Support 24-bit direct colors on text terminals
26659         * src/term.c (init_tty): Use 24-bit terminal colors if corresponding
26660         foreground and background functions are present in terminal type
26661         definition.
26662         * src/tparam.h: Define prototype for tigetstr.
26664         * lisp/term/tty-colors.el (tty-color-define): Convert color palette
26665         index to pixel value on 16.7M color terminals.
26666         (tty-color-24bit): New function to convert color palette index to
26667         pixel value on 16.7M color terminals.
26668         (tty-color-desc): Don't approximate colors on 16.7M color terminals.
26669         * lisp/term/xterm.el (xterm-register-default-colors): Define all named
26670         TTY colors on 16.7M color terminals.
26672         * doc/misc/efaq.texi (Colors on a TTY): Add instructions on how to
26673         enable direct color TTY mode.
26674         * etc/NEWS: Mention direct color TTY mode and point to FAQ.
26676 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
26678         Remove unused TN_max_pairs field
26680         * src/termchar.h (tty_display_info): Remove TN_max_pairs field,
26681         describing maximum number of terminal background/foreground color pairs.
26682         * src/term.c (tty_default_color_capabilities, tty_setup_colors)
26683         (init_tty): Remove references to TN_max_pairs.
26685 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
26687         Improve documentation of query-replace-from-to-separator
26689         * doc/emacs/search.texi (Query Replace): Document the meaning of
26690         the nil value of query-replace-from-to-separator.  (Bug#25482)
26692 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
26694         Document problems with nerd-fonts
26696         * etc/PROBLEMS (fonts): Describe the potential problems with
26697         nerd-fonts that cause slow display.  (Bug#25697)
26699 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
26701         Improve commentary for a recent change in keyboard.c
26703         * src/keyboard.c (Fset__this_command_keys): Add a comment about
26704         the magic 248 value.  (Bug#25612)
26706 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
26708         Avoid infloop in rect.el
26710         * lisp/rect.el (rectangle--*-char): Avoid inflooping when called
26711         with argument N whose absolute value is greater than 1.  (Bug#25773)
26713 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
26715         Remove annoying warnings about let-binding
26717         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
26718         Remove warnings about making symbols local while let-bound.
26719         (Bug#25561)
26721 2017-02-18  Hong Xu  <hong@topbug.net>
26723         Avoid errors when flyspell-generic-check-word-predicate is a lambda.
26725         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word, flyspell-word): Apply
26726         functionp instead of fboundp on
26727         flyspell-generic-check-word-predicate (Bug#25765).
26729 2017-02-18  Glenn Morris  <rgm@gnu.org>
26731         Remove the build number from emacs-version variable
26733         It's a largely internal detail that can confuse users.  (Bug#25590)
26734         * lisp/version.el (emacs-build-number): New constant.
26735         (emacs-version): Use emacs-build-number.
26736         * lisp/loadup.el (top-level): When dumping, increment
26737         emacs-build-number rather than emacs-version.
26738         * src/emacs.c (emacs-version): Doc fix.
26739         * doc/lispref/intro.texi (Version Info): Update emacs-version details.
26740         Mention emacs-build-number.
26741         * lisp/gnus/gnus-util.el (gnus-emacs-version):
26742         * lisp/mail/emacsbug.el (report-emacs-bug):
26743         * admin/admin.el (set-version): Update for emacs-version change.
26745 2017-02-18  Glenn Morris  <rgm@gnu.org>
26747         Ensure that user-mail-address always has a value
26749         * lisp/startup.el (user-mail-address): Initialize in the normal way.
26750         (command-line): Reset user-mail-address if needed using
26751         standard custom machinery.
26752         * lisp/mail/feedmail.el (feedmail-fiddle-from):
26753         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
26754         * lisp/mail/rmailsum.el (rmail-header-summary):
26755         Simplify now that user-mail-address is always set.
26757 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
26759         Turn on lexical-binding in ruby-mode
26761         * lisp/progmodes/ruby-mode.el: Turn on lexical-binding.
26762         (ruby-font-lock-syntax-table): Use make-syntax-table.
26763         (ruby-mode): 'define-derived-mode' writes the keys for us.
26765 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
26767         Turn on lexical-binding in elint.el
26769         * lisp/emacs-lisp/elint.el: Quote entry point commands in commentary.
26770         (elint-running, elint-current-pos): Move these dynamic vars to toward
26771         the top of the file.
26772         (elint-check-quote-form): Ignore unused argument.
26773         (elint-check-conditional-form): Remove unused binding.
26775 2017-02-18  Gemini Lasswell  <gazally@runbox.com>
26777         * lisp/emacs-lisp/subr-x.el (if-let*): Fix Edebug spec (Bug#24748)
26779 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
26781         Enable erc-accidental-paste-threshold-seconds by default
26783         * lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Set
26784         default to 0.2 (Bug#25709).
26786 2017-02-17  Michal Nazarewicz  <mina86@mina86.com>
26788         Fix build failure caused by ‘Generate upcase and downcase tables from Unicode’
26790         The [5ec3a584: Generate upcase and downcase tables from Unicode data]
26791         commit broke bootstrap from a truly clean tree (e.g. a fresh clone or
26792         one created with ‘make extraclean’), see
26793         <http://hydra.nixos.org/build/48774928>.
26795         The failure was caused by characters.el trying to read Unicode
26796         property tables which aren’t available so early in the build process.
26798         Wrap the part that requires Unicode property tables in a condition
26799         checking if those are available.  If they aren’t they case and syntax
26800         tables won’t be fully set but later on, the characters.el file will be
26801         evaluated again and this time with Unicode properties available so
26802         final Emacs ends up with the exact same case and syntax tables.
26804 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
26806         mm-add-meta-html-tag: Improve regexp
26808         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag):
26809         Improve regexp to search html meta tag.
26811 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
26813         mm-shr: Prefer charset specified in html meta tag
26815         * lisp/gnus/mm-decode.el (mm-shr): Prefer charset specified in html
26816         meta tag than mail-parse-charset in the case there is no charset spec
26817         in MIME header.
26819 2017-02-17  Glenn Morris  <rgm@gnu.org>
26821         Stop duplicating some custom-types in message.el
26823         * lisp/gnus/message.el (user-mail-address, user-full-name):
26824         No need to re-specify custom-type.
26826 2017-02-17  Glenn Morris  <rgm@gnu.org>
26828         Whitespace trivia in dunnet.el
26830         * lisp/play/dunnet.el (dun-special-object, dun-put-objs)
26831         (dun-rlogin-endgame): Whitespace trivia.
26833 2017-02-17  Glenn Morris  <rgm@gnu.org>
26835         Explicit error on changing case of negative integers
26837         * src/casefiddle.c (casify_object): Reject negative integers:
26838         Emacs characters are positive integers.  (Bug#25684)
26840 2017-02-17  Dmitry Gutov  <dgutov@yandex.ru>
26842         Fix buffers update in vc-retrieve-tag
26844         * lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
26845         `repository', use the repository root and pass it to
26846         vc-resynch-buffer (bug#25714).
26848 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
26850         * src/buffer.h: Fix indenting.
26852 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
26854         Add sanity checks for Bswitch hash tables
26856         * src/bytecode.c (exec_byte_code) [BYTE_CODE_SAFE]:
26857         Check that operand is a hash table and hashes to ints.
26859 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
26861         * src/keyboard.c (read_key_sequence): Fix integer-overflow glitch.
26863 2017-02-16  Vibhav Pant  <vibhavp@gmail.com>
26865         bytecomp.el: Avoid unnecessary calculation for jump table addresses.
26867         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Don't do
26868           redundant operations while calculating the correct jump addresses
26869           from TAGs in jump tables.
26871 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
26873         Minor changes in json.el
26875         * lisp/json.el (json-advance): Simpler docstring.
26876         (json-read-escaped-char): Use xdigit subform in rx expression.
26877         (json-read-string): Just use = for char comparison.
26879 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
26881         Don't expand body inside a let-binding when there are no bindings
26883         * lisp/emacs-lisp/pcase.el (pcase-codegen): Only let-bind if VARS
26884         is non-nil.
26886 2017-02-16  Glenn Morris  <rgm@gnu.org>
26888         Handle user-mail-address being the empty string
26890         * lisp/mail/feedmail.el (feedmail-fiddle-from):
26891         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
26892         * lisp/mail/rmailsum.el (rmail-header-summary):
26893         Belated update for 2002-09-29 startup.el change, 680ebfa, where
26894         the value of user-mail-address during initialization was changed
26895         from nil to the empty string.
26897 2017-02-15  Michael Albinus  <michael.albinus@gmx.de>
26899         Continue to fix bug#25607
26901         * lisp/ido.el (ido-complete): Let-bind `non-essential' to nil.
26902         (ido-file-name-all-completions-1): Do not bind `non-essential'.
26904         * lisp/net/tramp.el: (tramp-completion-file-name-handler):
26905         Improve autoloaded version.
26906         (tramp-completion-file-name-handler): Remove old compat code.
26907         Check only for `tramp-completion-mode-p'.
26908         (tramp-completion-mode-p): Autoload.  Do not check any longer
26909         for `last-input-event'.
26910         (tramp-completion-handle-expand-file-name): Simplify.  (Bug#25607)
26912 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
26914         casing: don’t assume letters are *either* upper- or lower-case  (bug#24603)
26916         A compatibility digraph characters, such as Dž, are neither upper- nor
26917         lower-case.  At the moment however, those are reported as upper-case¹
26918         despite the fact that they change when upper-cased.
26920         Stop checking if a character is upper-case before trying to up-case it
26921         so that title-case characters are handled correctly.  This fixes one of
26922         the issues mentioned in bug#24603.
26924         ¹ Because they change when converted to lower-case.  Notice an asymmetry
26925           in that for a character to be considered lower-case it must not be
26926           upper-case (plus the usual condition of changing when upper-cased).
26928         * src/buffer.h (upcase1): Delete.
26929         (upcase): Change to upcase character unconditionally just like downcase
26930         does it.  This is what upcase1 was.
26932         * src/casefiddle.c (casify_object, casify_region): Use upcase instead
26933         of upcase1 and don’t check !uppercasep(x) before calling upcase.
26935         * src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
26936         downcase(x) and see if it changed.
26938         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
26939         casefiddle-tests-casing): Update test cases which are now passing.
26941 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
26943         Generate upcase and downcase tables from Unicode data  (bug#24603)
26945         Use Unicode data to generate case tables instead of mostly repeating
26946         them in lisp code.  Do that in a way which maps ‘Dz’ (and similar)
26947         digraph to ‘dz’ when down- and ‘DZ’ when upcasing.
26949         https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all
26950         changes to syntax table and case tables introduced by this commit.
26952         * lisp/international/characters.el: Remove case-pairs defined with
26953         explicit Lisp code and instead use Unicode character properties.
26955         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
26956         casefiddle-tests-casing): Update test cases which are now working
26957         as they should.
26959 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
26961         Add tests for casefiddle.c  (bug#24603)
26963         Fixes cases marked FIXME upcoming in followup commits.
26965         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties,
26966         casefiddle-tests-case-table, casefiddle-tests-casing-character,
26967         casefiddle-tests-casing, casefiddle-tests-casing-byte8,
26968         casefiddle-tests-casing-byte8-with-changes): New tests.
26969         (casefiddle-tests--test-casing): New helper function for runnig
26970         some of the tests.
26972 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
26974         oldXMenu: add missing #include <string.h>
26976         Some of the files in oldXMenu use functions from string.h without
26977         including that header which results in compile warnings:
26979                 ChgPane.c:46:5: warning: implicit declaration of function ‘strlen’
26980                 ChgPane.c:46:20: warning: incompatible implicit declaration of
26981                         built-in function ‘strlen’
26982                 ChgSel.c:62:2: warning: implicit declaration of function ‘strlen’
26983                 ChgSel.c:62:17: warning: incompatible implicit declaration of built-in
26984                         function ‘strlen’
26985                 Create.c:220:5: warning: implicit declaration of function ‘strcmp’
26986                 InsPane.c:65:5: warning: implicit declaration of function ‘strlen’
26987                 InsPane.c:65:20: warning: incompatible implicit declaration of
26988                         built-in function ‘strlen’
26989                 InsSel.c:68:5: warning: implicit declaration of function ‘strlen’
26990                 InsSel.c:68:20: warning: incompatible implicit declaration of built-in
26991                         function ‘strlen’
26992                 InsSel.c:75:5: warning: implicit declaration of function ‘strcmp’
26994         Add the necessary ‘#include <string.h>’.
26996         oldXMenu/ChgPane.c, oldXMenu/ChgSel.c, oldXMenu/Create.c, oldXMenu/InsPane.c,
26997         oldXMenu/InsSel.c: add missing #include <string.h>
26999 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
27001         Fixup recent rmail patch
27003         * lisp/mail/rmail.el (rmail-epa-decrypt): Remove unused local.
27005 2017-02-15  Richard Stallman  <rms@gnu.org>
27007         Rmail fix
27009         * lisp/mail/rmail.el (rmail-epa-decrypt-1): Include the just-decrypted text
27010         as element 4 of the value.
27011         (rmail-epa-decrypt): Take the text to insert from that element.
27013 2017-02-15  Vibhav Pant  <vibhavp@gmail.com>
27015         bytecomp-tests.el: Store all test forms in one constant.
27017         * test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
27018         in a single constant (byte-opt-testsuite-arith-data), add new forms
27019         which generate lapcode with adjacent/redundant tags.
27021 2017-02-15  Glenn Morris  <rgm@gnu.org>
27023         Small lispref edit
27025         * doc/lispref/os.texi (User Identification):
27026         Remove extraneous detail about user-mail-address.
27028 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
27030         Document fill-separate-heterogeneous-words-with-space (bug#25685)
27032         * doc/lispref/text.texi (Filling):
27033         Document fill-separate-heterogeneous-words-with-space (bug#25685).
27035 2017-02-15  Noam Postavsky  <npostavs@gmail.com>
27037         Test comment-multi-line = nil auto fill case too
27039         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
27040         `comment-multi-line' both nil and non-nil.
27041         * lisp/newcomment.el (comment-multi-line): Mark safe if it's a
27042         boolean.
27043         * etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.
27045 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
27047         Don't delete leading and trailing space from CJK word (bug#25685)
27049         * lisp/textmodes/fill.el (fill-delete-newlines):
27050         Don't delete leading and trailing space from CJK word.
27051         (fill-separate-heterogeneous-words-with-space):
27052         New user option that controls it (bug#25685).
27054 2017-02-15  Juri Linkov  <juri@linkov.net>
27056         ‘M-s w RET word C-s’ repeats incremental search.
27058         * lisp/isearch.el (isearch-new-nonincremental): New variable.
27059         (with-isearch-suspended): Bind isearch-new-nonincremental to
27060         isearch-nonincremental, and restore it afterwards.
27061         (isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
27062         Set isearch-new-nonincremental to nil.  (Bug#25562)
27064 2017-02-14  Tom Tromey  <tom@tromey.com>
27066         Make vc-git detect conflict state for vc-dir
27068         * lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
27069         (vc-git-dir-status-update-file): New function.
27070         (vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
27071         vc-git-dir-status-state; add 'ls-files-conflict state.
27072         (vc-git-dir-status-files): Create a vc-git-dir-status-state.
27074 2017-02-14  Vibhav Pant  <vibhavp@gmail.com>
27076         byte-opt: Replace merged tags in jump tables too. (bug#25716)
27078         * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
27079           adjacent tags, make sure that the old tag is replaced in all jump
27080           tables, if any. This fixes the bytecode VM jumping to the wrong
27081           address in compiled cond forms where the body of a clause was a loop
27082           of any sort.
27084 2017-02-14  Glenn Morris  <rgm@gnu.org>
27086         Remove overly broad element from default mail-dont-reply-to-names
27088         * lisp/mail/mail-utils.el (mail-dont-reply-to):
27089         Do not include just "user@" in mail-dont-reply-to-names, and simplify.
27090         Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html
27091         * lisp/gnus/message.el (message-dont-reply-to-names): Doc fix.
27092         * doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names.
27094 2017-02-14  Juri Linkov  <juri@linkov.net>
27096         * etc/NEWS: Mention query-replace-from-to-separator.  (Bug#25482)
27098 2017-02-13  Arash Esbati  <arash@gnu.org>
27100         Match all characters in optional argument of \documentclass
27102         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Match all
27103         characters in optional argument containing name of the main file.
27105 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
27107         Merge branch 'master' into feature/byte-switch
27109 2017-02-13  Katsumi Yamaoka  <yamaoka@jpl.org>
27111         Fix non-ASCII text encoding (bug#25658)
27113         * lisp/gnus/mm-bodies.el (mm-encode-body):
27114         Fix non-ASCII text encoding (bug#25658).
27116 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
27118         test/lisp/emacs-lisp/bytecomp-tests.el: Add more tests for switch.
27120 2017-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
27122         * doc/lispref/modes.texi (Derived Modes): Make example more idiomatic
27124 2017-02-13  Glenn Morris  <rgm@gnu.org>
27126         Fix recent bootstrap issue by moving string-to-list
27128         * lisp/international/mule-util.el (string-to-list, string-to-vector):
27129         Move from here...
27130         * lisp/subr.el (string-to-list, string-to-vector): ...to here.
27131         The implementation is trivial and at least string-to-list
27132         has ended up being needed early during bootstrap.
27134 2017-02-13  Glenn Morris  <rgm@gnu.org>
27136         Doc fixes related to mail-host-address
27138         * lisp/startup.el (mail-host-address): Doc fix.
27139         * doc/lispref/os.texi (System Environment):
27140         Remove extraneous details of mail-host-address.
27142 2017-02-13  Glenn Morris  <rgm@gnu.org>
27144         Simplify time-stamp mail host usage
27146         * lisp/time-stamp.el (time-stamp-mail-host-name): Remove function.
27147         (time-stamp-string-preprocess): Handle "h" (mail host) directly.
27149 2017-02-13  Glenn Morris  <rgm@gnu.org>
27151         Doc fix for vhdl-mode re mail-host-address
27153         * lisp/progmodes/vhdl-mode.el (vhdl-file-header): Doc fix.
27154         (mail-host-address): Do not add to vhdl-related custom group,
27155         since vhdl-template-replace-header-keywords doesn't use it.
27157 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
27159         Substitute leading $HOME/ in xdg-user-dirs
27161         * lisp/xdg.el (xdg--substitute-home-env): New function.
27162         (xdg--user-dirs-parse-line): Use it.
27163         (xdg-user-dir): Expand ~/ in xdg-user-dirs values.
27165 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
27167         * lisp/buff-menu.el: Turn on lexical-binding.
27169 2017-02-13  Juri Linkov  <juri@linkov.net>
27171         * lisp/replace.el (query-replace-from-to-separator): Move propertize
27173         and char-displayable-p test to query-replace-read-from.
27174         Add choice nil to disable this feature.
27175         (query-replace-read-from): Don't reevaluate custom setting.
27176         Use char-displayable-p to test the first non-whitespace character
27177         in query-replace-from-to-separator, use " -> " when fails.
27178         Add prompt for the case when separator is nil but
27179         query-replace-defaults is non-nil.
27180         Remove unused test for regexp-flag.
27181         Thanks to Thierry Volpiatto <thierry.volpiatto@gmail.com>
27183 2017-02-13  Karl Fogel  <kfogel@red-bean.com>
27185         Convert more uses of `looking-at' to `following-char'
27187         This follows up to Mark Oteiza's commit of 12 Feb 2017, 14:46:03 UTC
27188         (commit 91478f46238a) with more of the same.
27190         * lisp/bookmark.el (bookmark-send-edited-annotation):
27191           (bookmark-bmenu-execute-deletions): Replace instances of looking-at
27192           with char comparisons using following-char.
27194 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
27196         Fix typos in tests for lax-plist-get etc.
27198         Problem reported by Eli Zaretskii (Bug#25606#62).
27199         * test/src/fns-tests.el (test-cycle-lax-plist-get)
27200         (test-cycle-plist-put, test-cycle-lax-plist-put):
27201         Fix tests to match behavior.
27203 2017-02-12  Michael Albinus  <michael.albinus@gmx.de>
27205         Fix bug#25607
27207         * lisp/net/tramp.el (tramp-completion-file-name-handler):
27208         Improve autoloaded version.
27209         (tramp-autoload-file-name-handler): Avoid recursive load.
27210         (tramp-completion-handle-expand-file-name): Handle empty NAME.
27211         (Bug#25607)
27213 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
27215         Remove server-buffer-clients string from minor-mode-alist
27217         * lisp/server.el: Don't put an element for server-buffer-clients into
27218         minor-mode-alist. (Bug#20201)
27220 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
27222         Nix some useless uses of looking-at, looking-back
27224         * lisp/allout.el (allout-kill-topic):
27225         (allout-next-topic-pending-encryption):
27226         * lisp/bookmark.el (bookmark-kill-line):
27227         * lisp/cus-edit.el (custom-save-variables, custom-save-faces):
27228         * lisp/cus-theme.el (custom-theme-write-variables):
27229         (custom-theme-write-faces):
27230         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
27231         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer):
27232         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-loop):
27233         (checkdoc-interactive-ispell-loop):
27234         (checkdoc-message-interactive-ispell-loop, checkdoc-this-string-valid):
27235         (checkdoc-this-string-valid-engine):
27236         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
27237         * lisp/emulation/viper-cmd.el (viper-backward-indent):
27238         * lisp/image-dired.el (image-dired-delete-char):
27239         * lisp/simple.el (kill-visual-line): Replace instances of looking-at,
27240         looking-back with char comparisons using following-char, preceding-char.
27242 2017-02-12  Eli Zaretskii  <eliz@gnu.org>
27244         Clarify what is the "cursor"
27246         * doc/lispref/windows.texi (Window Point): Clarify the notion of
27247         "cursor".
27249 2017-02-11  Tom Tromey  <tom@tromey.com>
27251         Recognize JS regexp literals more correctly
27253         Bug#25529
27254         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): New
27255         constant.
27256         (js-syntax-propertize-regexp): Use it.  Remove "end" argument.
27257         (js--syntax-propertize-regexp-syntax-table): Remove.
27258         (js-syntax-propertize): Update.
27259         * test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax-bug-25529):
27260         New test.
27262 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
27264         src/bytecode.c (exec_byte_code): Make hash_code a Lisp_Object.
27266         This avoids using XUINT every time while comparing it with
27267         HASH_HASH (h, i), replacing it with EQ.
27269 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
27271         src/bytecode.c (exec_byte_code): Remove unnecessary (e)assert.
27273 2017-02-11  Tom Tromey  <tom@tromey.com>
27275         Fix bug in css--mdn-find-symbol
27277         * lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace
27278         before skipping word characters.
27279         test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add
27280         regression test.
27282 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
27284         src/bytecode.c: Add optional sanity check for jump tables.
27286         * src/bytecode.c (exec_byte_code): When sanity checks are enabled,
27287           check that the jump table's size is equal to it's count.
27289 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
27291         Merge branch 'master' into feature/byte-switch
27293         * src/bytecode.c: Refactor to follow GNU coding standards
27295 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
27297         Fix handling of XBM images on MS-Windows
27299         * src/image.c (xbm_load) [HAVE_NTGUI]: Fix calculation of
27300         'nbytes' when inverting XBM data bits.  (Bug#25661)
27302 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
27304         Fix handling of PBM data
27306         * src/image.c (pbm_load): Handle PBM data with no blanks between
27307         individual pixel values correctly.  (Bug#25660)
27309 2017-02-10  Noam Postavsky  <npostavs@gmail.com>
27311         Fix warnings in debug tracing code
27313         * src/xdisp.c (dump_glyph, dump_glyph_string):
27314         * src/xfaces.c (dump_realized_face): Cast arguments or adjust format
27315         specifiers to match signedness.
27317 2017-02-10  Sam Steingold  <sds@gnu.org>
27319         Extract grep-find-ignored-directories processing from rgrep-default-command
27321         (rgrep-find-ignored-directories): Extract from `rgrep-default-command'.
27322         Some Emacs packages use `grep-find-ignored-directories' to ignore some
27323         directories, so will use this function instead of custom code.
27324         (rgrep-default-command): Use `rgrep-find-ignored-directories'.
27326 2017-02-10  Vibhav Pant  <vibhavp@gmail.com>
27328         src/bytecode.c: Avoid comparing values unnecessarily in Bswitch
27330         * src/bytecode.c: (exec_byte_code) While linear searching the jump
27331           table, compare the value's hash table first to avoid calling
27332           h->test.cmpfn every time.
27334 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
27336         Fix a few integer-overflow glitches
27338         * src/composite.c (composition_compute_stop_pos, composition_reseat_it):
27339         * src/dispextern.h (struct composition_it.rule_idx):
27340         * src/keyboard.c (Fset__this_command_keys):
27341         * src/xwidget.c (webkit_js_to_lisp):
27342         Don’t assume object sizes fit in ‘int’.
27343         * src/xwidget.c (Fxwidget_resize):
27344         Don’t assume Emacs integers fit in ‘int’.
27346 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
27348         Fix a bug with displaying an image after a TAB
27350         * src/xdisp.c (display_line): Handle TAB at end of screen line
27351         specially only when we are displaying characters.  (Bug#25662)
27353 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
27355         Improve commentary in lisp.h
27357         * src/lisp.h: Explain in the comment why enlarging a Lisp_Misc
27358         object is discouraged.
27360 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
27362         Move cyclic tests to fns-tests.el
27364         * test/src/fns-tests.el (cyc1, cyc2, dot1, dot2): New functions.
27365         (test-cycle-length, test-cycle-safe-length, test-cycle-member)
27366         (test-cycle-memq, test-cycle-memql, test-cycle-assq)
27367         (test-cycle-assoc, test-cycle-rassq, test-cycle-rassoc)
27368         (test-cycle-delq, test-cycle-delete, test-cycle-reverse)
27369         (test-cycle-plist-get, test-cycle-lax-plist-get)
27370         (test-cycle-plist-member, test-cycle-plist-put)
27371         (test-cycle-lax-plist-put, test-cycle-equal, test-cycle-nconc):
27372         New tests.
27373         * test/manual/cyclic-tests.el: File deleted.
27375 2017-02-10  Gemini Lasswell  <gazally@runbox.com>
27377         Fix instrumenting code with propertized strings in Edebug
27379         * lisp/emacs-lisp/edebug.el (edebug-read-function): Allow
27380         'read' to decide what is and isn't a syntax error.  (Bug#25068)
27382 2017-02-10  Vladimir Panteleev  <vladimir@thecybershadow.net>
27384         Improve fontification in bat-mode
27386         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Match
27387         word and symbol constituents when looking for variable names
27388         to fontify; also, correct the syntax table and mark the equal
27389         sign (=) character as punctuation.  Improve fontification
27390         accuracy of iteration/positional variables.
27391         (bat-mode): Set comment-start-skip.  (Bug#25541)
27393         * test/lisp/progmodes/bat-mode-tests.el: New file, tests for
27394         bat-mode.el.
27396 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
27398         Restore special setting of this-command-keys by M-x
27400         It was lost when execute-extended-command was reimplemented in Lisp.
27402         * src/keyboard.c (Fset__this_command_keys): New function.
27403         (syms_of_keyboard): Defsubr it.
27405         * lisp/simple.el (execute-extended-command): Set this-command-keys
27406         as novice.el expects.  (Bug#25612)
27408 2017-02-09  Juri Linkov  <juri@linkov.net>
27410         * lisp/isearch.el (isearch-search-fun-default): Set isearch-adjusted
27412         to t to display "Pending" in the search prompt for lax
27413         word/symbol search (bug#25562).  Don't use lax for lazy-highlighting
27414         when 'bound' is non-nil.
27415         (word-search-regexp, isearch-symbol-regexp): Don't depend on lax
27416         at the beginning of regexp (bug#22589).
27418         * lisp/info.el (Info-isearch-search):
27419         Use isearch--lax-regexp-function-p.
27421         * doc/emacs/search.texi (Word Search, Symbol Search):
27422         Mention "Pending" prompt for lax word/symbol search.
27424 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
27426         src/bytecode.c (exec_byte_code): Remove unneeded assert.
27428         bytecode.c (exec_byte_code): Use h->count instead of HASH_TABLE_SIZE
27430 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
27432         bytecode.c (exec_byte_code): don't check hash code in linear search.
27434         * src/bytecode.c (exec_byte_code): Don't check that the hash code is
27435           not nil when linear scanning the jump table. Hash tables for are
27436           declared with :size as the exact number of cases, so each entry i
27437           should have a hash code. When BYTE_CODE_SAFE, do it as a sanity
27438           check.
27440 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
27442         Ibuffer: Update mode documentation
27444         * lisp/ibuffer.el (ibuffer-mode): List newest commands in mode documentation.
27446 2017-02-09  Steven Allen  <steven@stebalien.com>  (tiny change)
27448         Fix environment variable for xdg-data-dirs
27450         * lisp/xdg.el (xdg-data-dirs): Use XDG_DATA_DIRS, not XDG_CONFIG_DIRS
27452 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
27454         Ibuffer: Erase output buffer before shell commands
27456         * lisp/ibuf-macs.el (define-ibuffer-op): Add keyword arguments
27457         BEFORE and AFTER; they are forms to run before/after the operation.
27458         * lisp/ibuf-ext.el (ibuffer--maybe-erase-shell-cmd-output):
27459         New defun; if shell-command-dont-erase-buffer is nil, then
27460         erase shell command output buffer.
27461         (ibuffer-do-shell-command-pipe, ibuffer-do-shell-command-file): Use it.
27463 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
27465         Ibuffer: Don't truncate shell command output
27467         * lisp/ibuf-ext.el (ibuffer-do-shell-command-pipe)
27468         (ibuffer-do-shell-command-pipe-replace)
27469         Use 'call-shell-region' (Bug#22679).
27470         (ibuffer-do-shell-command-file): Use call-process-shell-command.
27471         If FILE, the file that the buffer object is visiting,
27472         exists and the buffer is up-to-date, then use
27473         FILE instead of creating a temporary file (Bug#22679).
27475 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
27477         Improve byte-switch execution.
27479         * lisp/emacs-lisp/byte-opt.el,
27480           lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
27481           (byte-compile-lapcode): Calculate the actual jump address while
27482           compiling, store it in the jump table.
27484         * src/bytecode.c: Jump to the looked up value directly, do a linear
27485           search when the number of elements is <= 5.
27487 2017-02-09  Noam Postavsky  <npostavs@gmail.com>
27489         Make sure eshell pipelines don't drop data
27491         * lisp/eshell/esh-proc.el (eshell-sentinel): If called while still
27492         handling output of the process, make sure to close the pipes only later,
27493         so that the next process in the pipeline recieves EOF only after getting
27494         all its input (Bug#25549).
27496 2017-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
27498         Make mm-shr use mail-parse-charset by default
27500         * lisp/gnus/mm-decode.el (mm-shr): Use mail-parse-charset by default.
27501         This helps an html message with no charset spec to be decoded.
27503 2017-02-08  Stephen Berman  <stephen.berman@gmx.net>
27505         describe-char: unambiguous name for inserting ASCII 7
27507         * lisp/descr-text.el (describe-char): Make the input
27508         suggestion for inserting ASCII character 7 by name use the
27509         unambiguous name "BELL (BEL)" (bug#25641).
27511 2017-02-08  Michael Albinus  <michael.albinus@gmx.de>
27513         Modify suppressing `vc-refresh-state' in filenotify-tests.el
27515         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
27516         Use an advice rather than an alias for suppressing `vc-refresh-state'.
27518 2017-02-08  Noam Postavsky  <npostavs@gmail.com>
27520         Disable native completion for ipython (Bug#25067)
27522         * lisp/progmodes/python.el:
27523         (python-shell-completion-native-disabled-interpreters): Add "ipython".
27525 2017-02-07  Michael Albinus  <michael.albinus@gmx.de>
27527         Suppress undesired error messages in filenotify-tests.el
27529         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
27530         Suppress `vc-refresh-state', it produces undesired error messages.
27532 2017-02-07  Eli Zaretskii  <eliz@gnu.org>
27534         Fix a typo in ada-mode manual
27536         * doc/misc/ada-mode.texi (Project file variables): Add a missing
27537         right bracket.  Reported by Jean-Christophe Helary
27538         <jean.christophe.helary@gmail.com>.
27540 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
27542         Ensure that Gnus bugs show up in the Emacs tracker
27544         * lisp/gnus/gnus.el (gnus-bug-package): Include Emacs in the
27545         package spec.
27547 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
27549         Revert "Don't tag Gnus bugs with "gnus""
27551         This reverts commit b6fa58072304c2a24f1fe8a0e06a4739a7f8211b.
27553         The debbugs syntax requires a package name
27555 2017-02-07  Vibhav Pant  <vibhavp@gmail.com>
27557         Add tests for checking byte-switch code.
27559         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-cond): New test,
27560           test byte-switch bytecode.
27562 2017-02-07  Mark Oteiza  <mvoteiza@udel.edu>
27564         Add xdg library
27566         * etc/NEWS: Mention new library.
27567         * lisp/xdg.el: New file.
27569 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
27571         Do not trick info/dir’s timestamp
27573         * Makefile.in (${srcdir}/info/dir): When making this file, do not
27574         do anything special about its timestamp.  Previously this rule
27575         used move-if-change, which meant that this file’s timestamp could
27576         end up being older than the files it depends on, and this caused
27577         ‘make --question info’ to fail, which caused ‘make-dist’ to fail
27578         now that ‘make-dist’ invokes ‘make --question info’.
27580 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
27582         Make FOR_EACH_TAIL more like other FOR_EACH macros
27584         See comments by Stefan Monnier in:
27585         https://lists.gnu.org/r/emacs-devel/2017-02/msg00181.html
27586         and by Eli Zaretskii in:
27587         https://lists.gnu.org/r/emacs-devel/2017-02/msg00207.html
27588         * src/fns.c (internal_equal): Do not bypass check for depth
27589         overflow when tail-recursing via a dotted list tail or an overlay
27590         plist, to avoid a rare infloop.
27591         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE): Take TAIL as an
27592         arg, and update it at each iteration, rather than have callers
27593         access it.tail.  All callers changed.
27594         (FOR_EACH_TAIL): Do not check for dotted lists, as this is now
27595         the caller’s responsibility.  All callers changed.
27596         (FOR_EACH_TAIL_CONS): Remove.  All callers changed.
27597         (struct for_each_tail_internal.tail): Remove; no longer needed.
27598         (FOR_EACH_TAIL_INTERNAL): Remove dotted arg, and set the tail
27599         arg each time through the loop.  All callers changed.
27601 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
27603         Port to clang 3.8.0
27605         It does not allow a for-loop's control var to be an anonymous struct.
27606         * src/lisp.h (struct for_each_tail_internal): New type.
27607         (FOR_EACH_TAIL_INTERNAL): Use it.
27609 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
27611         Add cyclic-list tests
27613         * test/manual/cycle-tests.el: New file (Bug#25606).
27615 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
27617         FOR_EACH_TAIL now checks for quit
27619         As per Eli Zaretskii (Bug#25606#20).  Although these calls to
27620         maybe_quit are unnecessary in practice, Eli was not convinced
27621         that the calls are unnecessary.
27622         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_CONS):
27623         Call maybe_quit every so often.
27624         (FOR_EACH_TAIL_INTERNAL): New arg CHECK_QUIT.  All callers changed.
27626 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
27628         Signal list cycles in ‘length’ etc.
27630         Use macros like FOR_EACH_TAIL instead of maybe_quit to
27631         catch list cycles automatically instead of relying on the
27632         user becoming impatient and typing C-g (Bug#25606).
27633         * src/fns.c (Flength, Fmember, Fmemq, Fmemql, Fassq, Fassoc, Frassq)
27634         (Frassoc, Fdelete, Freverse):
27635         Use FOR_EACH_TAIL instead of maybe_quit.
27636         (Fnreverse): Use simple EQ to check for circular list instead
27637         of rarely_quit, as this suffices in this unusual case.
27638         (Fplist_put, Flax_plist_put, Flax_plist_put):
27639         Use FOR_EACH_TAIL_CONS instead of maybe_quit.
27640         (internal_equal): Use FOR_EACH_TAIL_CONS to check lists, instead
27641         of by-hand tail recursion that did not catch cycles.
27642         * src/fns.c (Fsafe_length, Fplist_get):
27643         * src/xdisp.c (display_mode_element):
27644         Use FOR_EACH_TAIL_SAFE instead of by-hand Floyd’s algorithm.
27645         * src/lisp.h (QUIT_COUNT_HEURISTIC): Remove; no longer needed.
27646         (rarely_quit): Simply count toward USHRT_MAX + 1, since the
27647         fancier versions are no longer needed.
27648         (FOR_EACH_TAIL_CONS, FOR_EACH_TAIL_SAFE)
27649         (FOR_EACH_TAIL_INTERNAL): New macros, the last with definiens
27650         mostly taken from FOR_EACH_TAIL.
27651         (FOR_EACH_TAIL): Rewrite in terms of FOR_EACH_TAIL_INTERNAL.
27653 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
27655         Simplify use of FOR_EACH_TAIL
27657         * src/data.c (circular_list): New function.
27658         * src/lisp.h (FOR_EACH_TAIL): Use Brent’s algorithm and C99 for-loop
27659         decl, to eliminate the need for the args TAIL, TORTOISE and N, and
27660         to speed things up a bit on typical hosts with optimization.
27661         All uses changed (Bug#25605).
27663 2017-02-05  Simen Heggestøyl  <simenheg@gmail.com>
27665         * lisp/textmodes/css-mode.el: Require subr-x at compile time
27667 2017-02-05  Eli Zaretskii  <eliz@gnu.org>
27669         Clarify documentation of 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
27671         * doc/lispref/nonascii.texi (Text Representations): Clarify that
27672         'exact' value of QUALITY argument to 'bufferpos-to-filepos' and
27673         'filepos-to-bufferpos' can lead to expensive and slow processing.
27675         * lisp/international/mule-util.el (filepos-to-bufferpos)
27676         (bufferpos-to-filepos): Doc fix.  (Bug#25626)
27678 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
27680         Merge remote-tracking branch 'origin/master' into feature/byte-switch
27682 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
27684         bytecomp.el: Use macroexp-const-p instead of bc-cond-valid-obj2-p.
27686         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Use
27687           (macroexp-cons-p) instead of (byte-compile-cond-valid-obj2-p) to
27688           make sure that obj1/obj2 can be compared with `eq'.
27690 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
27692         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Use eq instead of =.
27694 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
27696         bytecomp.el: Inline lapcode containing `byte-switch' correctly.
27698         * lisp/emacs-lisp/bytecomp.el (byte-compile-inline-lapcode):
27699           Restore value of byte-compile-depth after emitting a jump to a tag
27700           in a jump table, or default/done tags.
27701           Set the depth of final tags for byte-switch to nil after emitting
27702           any jumps to them.
27704 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
27706         byte-opt.el: Replace jump tables while decompiling correctly.
27708         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
27709           Don't make a copy of the constant vector, as it isn't used with
27710           the decompiled lapcode.
27711           Make sure that the correct lapcode pair/list is being modified while
27712           replacing the jump table.
27714 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
27716         bytecomp.el: Don't store non-keyword symbols in jump-tables.
27718         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
27719           nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
27720           table can only be used when comparing variables with constant values.
27722 2017-02-04  Tom Tromey  <tom@tromey.com>
27724         typo fix
27726         (css--colon-inside-selector-p): Fix typo in docstring.
27728 2017-02-04  Tom Tromey  <tom@tromey.com>
27730         Set comment-multi-line in js-mode
27732         Bug#6806:
27733         * lisp/progmodes/js.el (js-mode): Set comment-multi-line to t.
27734         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): New test.
27736 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
27738         * test/manual/indent/scss-mode.scss: Fix indentation
27740 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
27742         Fix indentation of multiline CSS property values
27744         * lisp/textmodes/css-mode.el (css-smie-grammar): Give colons belonging
27745         to properties higher precedence.
27746         (css--colon-inside-selector-p, css--colon-inside-funcall): New
27747         functions for helping SMIE during tokenization.
27748         (css-smie--forward-token, css-smie--backward-token): Distinguish
27749         colons belonging to properties from other colons.
27751         * test/manual/indent/css-mode.css: Add tests for the changes above.
27753         * test/manual/indent/scss-mode.scss: Ditto.
27755 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
27757         Add tests for lisp/kmacro.el
27759         * test/lisp/kmacro-tests.el: New file.  (Bug#24939)
27761 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
27763         Fix autorevert-tests on MS-Windows
27765         * test/lisp/autorevert-tests.el
27766         (auto-revert-test02-auto-revert-deleted-file): Don't check that
27767         auto-revert-use-notify was reset to nil on w32.
27769 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
27771         New macro 'ert-with-message-capture'
27773         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
27774         (Bug#25158)
27776         * test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
27777         (auto-revert-test00-auto-revert-mode)
27778         (auto-revert-test01-auto-revert-several-files)
27779         (auto-revert-test02-auto-revert-deleted-file)
27780         (auto-revert-test03-auto-revert-tail-mode)
27781         (auto-revert-test04-auto-revert-mode-dired):
27782         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
27783         ert-with-message-capture.
27785 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
27787         Avoid invalid read syntax errors due to 'ert-with-test-buffer'
27789         * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Fix the
27790         'declare' form.  (Bug#24722)
27792 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
27794         Fix a syntax error when evaluating pcase.el under Edebug
27796         * lisp/emacs-lisp/pcase.el (pcase-MACRO): Replace def-edebug-spec
27797         with an explicit 'put' form.  Suggested by Gemini Lasswell
27798         <gazally@runbox.com>.  (Bug#24717)
27800 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
27801             Eli Zaretskii  <eliz@gnu.org>
27803         Change edebug-max-depth from defconst to defcustom
27805         * lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom.
27806         (Bug#24713)
27808         * etc/NEWS: Mention edebug-max-depth.
27810         * doc/lispref/edebug.texi (Checking Whether to Stop): Mention
27811         edebug-max-depth and index it.  Add cross-references for
27812         max-lisp-eval-depth and max-specpdl-size.
27814 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
27816         Support options with embedded whitespace in 'dired-listing-switches'
27818         * lisp/dired.el (dired-listing-switches): Document how to quote
27819         options with embedded whitespace.
27821         * lisp/files.el (insert-directory): Use split-string-and-unquote
27822         to support dired-listing-switches that specify command-line
27823         options with embedded spaces.  (Bug#25485)
27825 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
27826             Noam Postavsky  <npostavs@users.sourceforge.net>
27828         Add tests for lisp/emacs-lisp/testcover.el
27830         * test/lisp/emacs-lisp/testcover-tests.el: New file.
27831         * test/lisp/emacs-lisp/testcover-resources/testcases.el: New file.
27833 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
27835         Document 'save-some-buffers-default-predicate'
27837         * doc/lispref/files.texi (Saving Buffers):
27838         * doc/emacs/files.texi (Save Commands): Document
27839         save-some-buffers-default-predicate.
27841 2017-02-04  Richard Stallman  <rms@gnu.org>
27843         New defcustom 'save-some-buffers-default-predicate'
27845         * lisp/files.el (save-some-buffers-default-predicate): New defcustom.
27846         (save-some-buffers): Use it when PRED is nil or omitted.
27848 2017-02-04  Mark Oteiza  <mvoteiza@udel.edu>
27850         Rename to if-let* and when-let*
27852         Make the existing if-let and when-let aliases.
27853         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): New macros.  Rewrite
27854         docstrings, incorporating that from let* and the existing if-let.
27855         (if-let, when-let, and-let*): Alias them.
27857 2017-02-03  Vibhav Pant  <vibhavp@gmail.com>
27859         Revert "Use maphash instead of cl-loop."
27861         This reverts commit bfa88520136dd6b187ba101e6db5a5f8f0d5e874.
27863 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
27865         Bump Emacs version to 25.2 RC1
27867         * README:
27868         * configure.ac:
27869         * msdos/sed2v2.inp:
27870         * nt/README.W32: Bump Emacs version.
27871         * lisp/ldefs-boot.el: Update.
27873 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
27875         * admin/make-tarball.txt: Add documentation regarding the release banner.
27877 2017-02-03  Tino Calancha  <tino.calancha@gmail.com>
27879         * CONTRIBUTE (Documenting your changes): Index new vars/commands in manual.
27881 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
27883         Re-port alloc.c to Solaris sparc and simplify
27885         alloc.c had bitrotted a bit, and used an undefined symbol
27886         stack_base when Emacs was built on Solaris sparc, leading to
27887         compilation failures.  Also, code related to __builtin_unwind_init
27888         was unnecessarily duplicated.  Fix the bitrot and remove some
27889         duplication.
27890         * src/alloc.c: Remove uses of GC_SAVE_REGISTERS_ON_STACK, since it
27891         is never defined.
27892         (test_setjmp) [!HAVE___BUILTIN_UNWIND_INIT && GC_SETJMP_WORKS]:
27893         Define a no-op dummy, to simplify use.
27894         (test_setjmp) [!GC_SETJMP_WORKS]: Test setjmp_tested_p here rather
27895         than in the caller, to simplify use.
27896         (stacktop_sentry): New type.
27897         (__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]: New macro.
27898         (SET_STACK_TOP_ADDRESS): New macro, containing code that was duplicated.
27899         (flush_stack_call_func, Fgarbage_collect): Use it.
27900         (init_alloc): Omit unnecessary initialization.
27901         After dumping, Emacs need not re-test setjmp.
27903 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
27905         Add tests for scrolling
27907         * test/manual/scroll-tests.el: New tests for scroll-margin behavior.
27909 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
27911         Fix scrolling with partial lines
27913         * src/xdisp.c (partial_line_height): New function.
27914         (try_scrolling):
27915         * src/window.c (window_scroll_pixel_based): Use it for calculating the
27916         pixel scroll margin correctly in a window with partial lines.
27918 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
27920         Make limit on scroll-margin variable
27922         * src/xdisp.c (maximum-scroll-margin): New variable.
27923         * lisp/cus-start.el: Make it customizable.
27924         * etc/NEWS: Mention it.
27925         * doc/emacs/display.texi (Auto Scrolling):
27926         * doc/lispref/windows.texi (Textual Scrolling): Document it.
27927         * src/window.c (window_scroll_pixel_based): Use it instead of hardcoding
27928         division by 4 (Bug #5718).
27930 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
27932         Don't count mode line for scroll-margin limit
27934         * src/window.c (window_scroll_margin): Use window_box_height to avoid
27935         counting header line, scrollbars for scroll-margin limit (Bug #5718).
27937 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
27939         Refactor uses of scroll_margin to a function
27941         Its effective range needs to be clamped between 0 and (window height /
27942         4), so it's better to have this constraint in a single place.
27944         * src/window.c (window_scroll_margin): New function.
27945         (window_scroll_pixel_based, window_scroll_line_based):
27946         (Frecenter, Fmove_to_window_line):
27947         * src/xdisp.c (try_scrolling, try_cursor_movement):
27948         (redisplay_window, try_window, try_window_id): Use it.
27950 2017-02-03  Dmitry Gutov  <dgutov@yandex.ru>
27952         (xref-collect-matches): Use '-E' together with '-e'
27954         * lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
27955         together with '-e', as suggested by Noam Postavsky
27956         (https://lists.gnu.org/r/emacs-devel/2017-01/msg00780.html).
27958 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
27960         Pacify Oracle Studio 12.5
27962         * src/emacs.c (main): Do not silently convert char * to bool.
27964 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
27966         Fix lisp.h underparenthesization
27968         * src/lisp.h (STACK_CONS, AUTO_STRING_WITH_LEN):
27969         Parenthesize compound literals that are function call args.
27970         Although this does not fix any bugs, it is the proper style for
27971         macro parenthesization as it means this code will continue to
27972         work even if make_lisp_ptr is changed to a macro.
27974 2017-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
27976         * lisp/doc-view.el (doc-view-mode): Don't require a final newline
27978         (doc-view-revert-buffer): Silence overflow warnings.
27980 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
27982         Merge from gnulib
27984         2017-01-30 Port to PGI 16.10 x86-64
27985         2017-01-20 time_rz: fix comment typo
27986         2017-01-14 strftime: %z is -00 if unknown
27987         This incorporates:
27988         * doc/misc/texinfo.tex, lib/c-ctype.h, lib/strftime.c:
27989         * lib/time-internal.h, lib/verify.h:
27990         Copy from gnulib.
27992 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
27994         Check if there are hunks before kill or refine a hunk
27996         * lisp/vc/diff-mode.el (diff--some-hunks-p): New predicate.
27997         (diff-hunk-kill, diff-file-kill, diff-refine-hunk): Use it (Bug#25571).
27999 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
28001         Ignore error after kill last file or hunk
28003         * lisp/vc/diff-mode.el (diff-hunk-kill): Go to beginning of hunk before kill.
28004         Ignore error after kill last hunk (Bug#25570).
28005         (diff-file-kill): Idem.
28007 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
28009         Show current line highlighted in *Occur* buffer
28011         * lisp/replace.el (list-matching-lines-current-line-face)
28012         (list-matching-lines-jump-to-current-line): New user options.
28013         (occur--orig-line, occur--orig-line-str): New variables.
28014         (occur, occur-engine): Use them.
28015         (occur--final-pos): New variable.
28016         (occur-1): Use it.
28017         (occur-engine): Idem.
28018         Show the current line with 'list-matching-lines-current-line-face'.
28019         Set point on the first matching line after the current one.
28020         * etc/NEWS: Add entry for the new option.
28022 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
28024         Allow occur command to operate on the region
28026         See discussion in:
28027         https://lists.gnu.org/r/emacs-devel/2016-12/msg01084.html
28028         * lisp/replace.el (occur--region-start, occur--region-end)
28029         (occur--matches-threshold): New variables.
28030         (occur-engine): Use them.
28031         (occur): Idem.
28032         Add optional arg REGION; if non-nil occur applies in that region.
28033         * doc/lispintro/emacs-lisp-intro.texi (Keybindings): Update manual
28034         * doc/emacs/search.texi (Other Repeating Search): Idem.
28036 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
28038         Treat list-buffers-directory as a string
28040         Another step in the long history of list-buffers-directory.  A thread
28041         branch discussing the meaning/use of the variable starts here
28042         https://lists.gnu.org/r/emacs-devel/2009-09/msg00684.html
28043         Also see (info "(elisp) Buffer File Name").
28044         * lisp/buff-menu.el: Relocate special case code into info.el.  Nix
28045         Info-* defvars.
28046         (Buffer-menu--pretty-file-name): Remove special case.  Use
28047         bound-and-true-p.
28048         (Buffer-menu-info-node-description): Remove.
28049         * lisp/ibuffer.el (ibuffer-buffer-file-name): Treat
28050         list-buffers-directory as a string.
28051         * lisp/info.el (Info-node-description): New function.
28052         (Info-select-node): Use it.
28054 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
28056         Turn on lexical-binding in parse-time.el
28058         * lisp/calendar/parse-time.el: Turn on lexical-binding.
28059         (parse-time-iso8601-regexp, parse-iso8601-time-string): Remove unused
28060         bindings.
28062 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
28064         Prevent creating thumbnails of all gif frames
28066         With the previous defaults, doing image-dired on a directory with an
28067         animated foo.gif would cause creation of foo.thumb-N.gif for each of
28068         N frames in foo.gif.  By default image-dired looks for foo.thumb.gif, so
28069         there additionally is no usable thumbnail after all the needless effort.
28070         image-dired never handled animation, regardless.
28071         * lisp/image-dired.el: Mention limitation.
28072         (image-dired-cmd-create-thumbnail-options):
28073         (image-dired-cmd-create-temp-image-options):
28074         (image-dired-cmd-create-standard-thumbnail-options): Append [0] to
28075         filename to indicate only converting the 0th frame.
28076         (image-dired-display-image-mode): Don't show a cursor.
28078 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
28080         Fix quitting bug when buffers are frozen
28082         Problem noted by Eli Zaretskii in:
28083         https://lists.gnu.org/r/emacs-devel/2017-01/msg00721.html
28084         This patch also fixes some other issues in that report.
28085         * src/lisp.h (incr_rarely_quit): Remove.
28086         All callers changed to use rarely_quit directly.
28087         * src/search.c (freeze_buffer_relocation)
28088         (thaw_buffer_relocation): New functions.
28089         (looking_at_1, fast_looking_at, search_buffer):
28090         Use them to fix bug when quitting when buffers are frozen.
28091         * src/sysdep.c (emacs_intr_read): Rename from emacs_nointr_read.
28092         All uses changed.
28094 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
28096         Revamp quitting and fix infloops
28098         This fixes some infinite loops that cannot be quitted out of,
28099         e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
28100         when byte-compiled and when run under X.  See:
28101         https://lists.gnu.org/r/emacs-devel/2017-01/msg00577.html
28102         This also attempts to keep the performance improvements I recently
28103         added, as much as possible under the constraint that the infloops
28104         must be caught.  In some cases this fixes infloop bugs recently
28105         introduced when I removed immediate_quit.
28106         * src/alloc.c (Fmake_list):
28107         Use rarely_quit, not maybe_quit, for speed in the usual case.
28108         * src/bytecode.c (exec_byte_code):
28109         * src/editfns.c (Fcompare_buffer_substrings):
28110         * src/fns.c (Fnthcdr):
28111         * src/syntax.c (scan_words, skip_chars, skip_syntaxes)
28112         (Fbackward_prefix_chars):
28113         Use rarely_quit so that users can C-g out of long loops.
28114         * src/callproc.c (call_process_cleanup, call_process):
28115         * src/fileio.c (read_non_regular, Finsert_file_contents):
28116         * src/indent.c (compute_motion):
28117         * src/syntax.c (scan_words, Fforward_comment):
28118         Remove now-unnecessary maybe_quit calls.
28119         * src/callproc.c (call_process):
28120         * src/doc.c (get_doc_string, Fsnarf_documentation):
28121         * src/fileio.c (Fcopy_file, read_non_regular, Finsert_file_contents):
28122         * src/lread.c (safe_to_load_version):
28123         * src/sysdep.c (system_process_attributes) [GNU_LINUX]:
28124         Use emacs_read_quit instead of emacs_read in places where
28125         C-g handling is safe.
28126         * src/eval.c (maybe_quit): Move comment here from lisp.h.
28127         * src/fileio.c (Fcopy_file, e_write):
28128         Use emacs_write_quit instead of emacs_write_sig in places where
28129         C-g handling is safe.
28130         * src/filelock.c (create_lock_file): Use emacs_write, not
28131         plain write, as emacs_write no longer has a problem.
28132         (read_lock_data): Use emacs_read, not read, as emacs_read
28133         no longer has a problem.
28134         * src/fns.c (rarely_quit): Move to lisp.h and rename to
28135         incr_rarely_quit.  All uses changed..
28136         * src/fns.c (Fmemq, Fmemql, Fassq, Frassq, Fplist_put, Fplist_member):
28137         * src/indent.c (compute_motion):
28138         * src/syntax.c (find_defun_start, back_comment, forw_comment)
28139         (Fforward_comment, scan_lists, scan_sexps_forward):
28140         Use incr_rarely_quit so that users can C-g out of long loops.
28141         * src/fns.c (Fnconc): Move incr_rarely_quit call to within
28142         inner loop, so that it catches C-g there too.
28143         * src/keyboard.c (tty_read_avail_input): Remove commented-out
28144         and now-obsolete code dealing with interrupts.
28145         * src/lisp.h (rarely_quit, incr_rarely_quit): New functions,
28146         the latter moved here from fns.c and renamed from rarely_quit.
28147         (emacs_read_quit, emacs_write_quit): New decls.
28148         * src/search.c (find_newline, search_buffer, find_newline1):
28149         Add maybe_quit to catch C-g.
28150         * src/sysdep.c (get_child_status): Always invoke maybe_quit
28151         if interruptible, so that the caller need not bother.
28152         (emacs_nointr_read, emacs_read_quit, emacs_write_quit):
28153         New functions.
28154         (emacs_read): Rewrite in terms of emacs_nointr_read.
28155         Do not handle C-g or signals; that is now for emacs_read_quit.
28156         (emacs_full_write): Replace PROCESS_SIGNALS two-way arg
28157         with INTERRUPTIBLE three-way arg.  All uses changed.
28159 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
28161         Remove immediate_quit.
28163         The old code that sets and clears immediate_quit was
28164         ineffective except when Emacs is running in terminal mode, and
28165         has problematic race conditions anyway, so remove it.  This
28166         will introduce some hangs when Emacs runs in terminal mode,
28167         and these hangs should be fixed in followup patches.
28168         * src/keyboard.c (immediate_quit): Remove.  All uses removed.
28170 2017-02-01  Alan Mackenzie  <acm@muc.de>
28172         Allow C++ nested brace-list-entries to be better indented.
28174         This fixes bug #24431.  The key change of this bug fix is correctly analyzing
28175         nested brace lists when the opening element stands on the same line as both
28176         its introductory brace and an enclosing parameter list parenthesis.
28178         * lisp/progmodes/cc-align.el (c-lineup-under-anchor): New line-up function.
28180         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Accept the
28181         presence of exactly an identifier between an open parenthesis and an open
28182         brace as evidence of the brace starting a brace list.
28183         (c-looking-at-statement-block): New function, extracted from
28184         c-looking-at-inexpr-block.  Enhance it to analyze inner blocks recursively
28185         when needed.
28186         (c-looking-at-inexpr-block): Extract new function (see above) and call it.
28187         (c-add-stmt-syntax): Enhance, with new &optional parameter, to supply the
28188         prime syntactic symbol with a fixed anchor point.  When this is used, restrict
28189         all added syntactic symbols to those having an anchor point on the same line.
28190         Add, in addition to the current additional symbols, c-brace-list-entry when
28191         needed; use c-looking-at-statement-block to determine the latter.
28192         (c-guess-basic-syntax, CASE 9D): Use c-add-stmt-syntax rather than just
28193         c-add-syntax, to assemble the syntactic context of a 'brace-list-entry, thus
28194         getting, possibly, several accompanying syntactic entries.
28196         * lisp/progmodes/cc-styles.el (c-style-alist, "gnu" style): New entry for
28197         'brace-list-intro, namely c-lineup-arglist-intro-after-paren.
28199         * lisp/progmodes/cc-vars.el (c-offsets-alist): Change the factory default
28200         offset for 'brace-list-entry from 0 to c-lineup-under-anchor.
28202         * doc/misc/cc-mode.texi (Syntactic Symbols): Amend the definition of
28203         brace-list-intro.
28204         (Brace List Symbols): Amend the example to show the new analysis of brace
28205         lists when the first element comes on the same line as the opening brace.
28206         (Misc Line-Up): Document the new line-up function c-lineup-under-anchor.
28208 2017-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
28210         Revert "DOn't use string-as-unibyte in Gnus"
28212         This reverts commit d1c931009004aef847105b7bac6b6ffafd985b82.
28214         Not all the cases where we had string-as-unibyte were characters,
28215         so this needs to be considered more thoroughly before being redone.
28217 2017-02-01  Vibhav Pant  <vibhavp@gmail.com>
28219         Use maphash instead of cl-loop.
28221         * lisp/emacs-lisp/bytecomp.el: (byte-compile-lapcode) Use maphash
28222           instead of cl-loop
28224 2017-02-01  Michael Albinus  <michael.albinus@gmx.de>
28226         Fix a subtle problem in Tramp with timers
28228         * lisp/net/tramp.el (tramp-accept-process-output): Change argument
28229         list.  Make it work when called inside a timer.  See
28230         <https://lists.gnu.org/r/tramp-devel/2017-01/msg00010.html>.
28232 2017-01-31  Eli Zaretskii  <eliz@gnu.org>
28234         Index byte-compile-debug
28236         * doc/lispref/compile.texi (Compilation Functions): Index
28237         byte-compile-debug.
28239 2017-01-31  Philipp Stephani  <phst@google.com>
28241         Document `byte-compile-debug' in the ELisp manual
28243         * doc/lispref/compile.texi: Document variable `byte-compile-debug'.
28245 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
28247         read-multiple-choice: explain dialog popups more
28249         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Explain
28250         when a graphical popup is used and how it can be avoided.
28252 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
28254         auth-source-user-and-password: add forgotten user parameter
28256                 * lisp/auth-source.el (auth-source-user-and-password): Use
28257                   accidentally unused "user" parameter.
28258                   Reported by Oscar Najera <najera.oscar@gmail.com>.
28260 2017-01-31  Simen Heggestøyl  <simenheg@gmail.com>
28262         Fix typo in a NEWS entry for CSS mode
28264 2017-01-31  Philipp Stephani  <phst@google.com>
28266         Document variable `byte-compile-debug'
28268         * lisp/emacs-lisp/bytecomp.el (byte-compile-debug): Document variable.
28270 2017-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
28272         DOn't use string-as-unibyte in Gnus
28274         * lisp/gnus/nnmail.el (nnmail-parse-active): Don't use
28275         string-as-unibyte.
28276         (nnmail-insert-xref): Ditto.
28278         * lisp/gnus/canlock.el (canlock-make-cancel-key): Ditto.
28280         * lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Ditto.
28282         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Ditto.
28283         (gnus-browse-foreign-server): Ditto.
28284         (gnus-browse-foreign-server): Ditto.
28286         * lisp/gnus/gnus-start.el
28287         (gnus-update-active-hashtb-from-killed): Ditto.
28288         (gnus-read-newsrc-el-file): Ditto.
28290         * lisp/gnus/mml.el (mml-generate-mime-1): Ditto.
28292         * lisp/gnus/nnir.el (nnir-get-active): Ditto.
28293         (nnir-get-active): Ditto.
28295 2017-01-31  Juri Linkov  <juri@linkov.net>
28297         Allow C-s C-w to yank ' to the search ring in the Gnus article buffer
28299         * lisp/gnus/gnus-art.el (gnus-article-mode-syntax-table): Make
28300         M-. in article buffers work for `foo' strings, and still allow
28301         C-s C-w to yank ' to the search ring (bug#22248).
28303 2017-01-31  Paul Eggert  <eggert@cs.ucla.edu>
28305         * src/alloc.c, src/lisp.h: Fix minor glitches in recent changes.
28307 2017-01-31  Tino Calancha  <tino.calancha@gmail.com>
28309         * test/lisp/vc/diff-mode-tests.el: Require diff-mode.
28311 2017-01-31  Dima Kogan  <dima@secretsauce.net>
28313         New test for diff-mode handling trailing --
28315         test/lisp/vc/diff-mode-tests.el: New test file
28317 2017-01-31  Dima Kogan  <dima@secretsauce.net>
28319         Handle patch terminators produced by git and bzr patch export
28321         Patch by Juri Linkov posted in the #9597 bug report
28323         * lisp/vc/diff-mode.el (diff-sanity-check-hunk): Find and ignore
28324         terminator (Bug #9597, #5302)
28326 2017-01-31  Dima Kogan  <dima@secretsauce.net>
28328         Revert two accidental commits
28330         This reverts commit f3c77d11af65f3b319b1784b4c3cf08c51aa7997.
28331         This reverts commit 3c941b900007c9e79c00af0f21d88154f6d8af1a.
28333 2017-01-31  Dima Kogan  <dima@secretsauce.net>
28335         stash
28337 2017-01-31  Dima Kogan  <dima@secretsauce.net>
28339         comint-get-old-input-default: behavior follows docstring
28341         lisp/comint.el (comint-get-old-input-default): Modify behavior to follow
28342         docstring: if `comint-use-prompt-regexp' is nil, then return the CURRENT LINE,
28343         if point is on an output field.
28345 2017-01-31  Noam Postavsky  <npostavs@gmail.com>
28347         Fix call to debugger on assertion failure
28349         * lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): The first
28350         argument must be `error', and the second is a list of arguments for
28351         `signal'.
28353 2017-01-30  Tom Tromey  <tom@tromey.com>
28355         css-mode documentation lookup feature
28357         * etc/NEWS: Mention new feature.
28358         * lisp/textmodes/css-mode.el (css-mode-map): New defvar.
28359         (css--mdn-lookup-history): New defvar.
28360         (css-lookup-url-format): New defcustom.
28361         (css--mdn-property-regexp, css--mdn-completion-list): New defconsts.
28362         (css--mdn-after-render, css--mdn-find-symbol, css-lookup-symbol): New
28363         defuns.
28364         * test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): New
28365         test.
28367 2017-01-30  Glenn Morris  <rgm@gnu.org>
28369         edt-mapper: just loading a library should not run code
28371         * lisp/emulation/edt-mapper.el (edt-mapper): New function,
28372         containing code previously at top-level.
28373         * lisp/emulation/edt.el (edt-load-keys): After loading edt-mapper,
28374         run edt-mapper function.
28376 2017-01-30  Glenn Morris  <rgm@gnu.org>
28378         mh-compat.el: remove duplicate definition
28380         * lisp/mh-e/mh-compat.el (mh-make-obsolete-variable):
28381         Remove duplicate definition.
28383 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
28385         Add delq list arg check
28387         * src/fns.c (Fdelq): Check that list is a proper list.
28388         This is more compatible with what ‘delete’ does.
28390 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
28392         * lisp/indent.el (indent-region-line-by-line): New function.
28394         Extracted from indent-region.
28395         (indent-region, indent-region-function): Use it.
28397 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
28399         * lisp/subr.el (string-make-unibyte, string-make-multibyte): Obsolete.
28401 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
28403         More fixes to prevent crashes on C-g
28405         * src/fns.c (Fassq, Frassq, Fplist_put): Reset immediate_quit
28406         before returning, to avoid crashes in quit.  (Bug#25566)
28408 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
28410         Avoid crashes on C-g in TTY sessions
28412         * src/keyboard.c (handle_interrupt): Don't quit if
28413         waiting_for_input is set, as doing that is "unsafe": it will
28414         abort.  (Bug#25566)
28416 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
28418         * lisp/emacs-lisp/bytecomp.el: Create jump tables with :purecopy t
28420         Merge remote-tracking branch 'origin/master' into feature/byte-switch
28422 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
28424         Fix hash tables not being purified correctly.
28426         * src/alloc.c
28427         (purecopy_hash_table) New function, makes a copy of the given hash
28428         table in pure storage.
28429         Add new struct `pinned_object' and `pinned_objects' linked list for
28430         pinning objects.
28431         (Fpurecopy) Allow purifying hash tables
28432         (purecopy) Pin hash tables that are either weak or not declared with
28433         `:purecopy t`, use purecopy_hash_table otherwise.
28434         (marked_pinned_objects) New function, marks all objects in pinned_objects.
28435         (garbage_collect_1) Use it. Mark all pinned objects before sweeping.
28436         * src/lisp.h: Add new field `pure' to struct `Lisp_Hash_Table'.
28437         * src/fns.c: Add `purecopy' parameter to hash tables.
28438         (Fmake_hash_table): Check for a `:purecopy PURECOPY' argument, pass it
28439         to make_hash_table.
28440         (make_hash_table): Add `pure' parameter, set h->pure to it.
28441         (Fclrhash, Fremhash, Fputhash): Enforce that the table is impure with
28442         CHECK_IMPURE.
28443         * src/lread.c: (read1) Parse for `purecopy' parameter while reading
28444           hash tables.
28445         * src/print.c: (print_object) add the `purecopy' parameter while
28446           printing hash tables.
28447         * src/category.c, src/emacs-module.c, src/image.c, src/profiler.c,
28448           src/xterm.c: Use new (make_hash_table).
28450 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
28452         Escape dash in xref rgrep regexp
28454         * lisp/progmodes/xref.el (xref-collect-matches): Escape dash
28455         in REGEXP if it's the first character.
28457 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
28459         Say JavaScript, not Javascript
28461         * lisp/progmodes/js.el (js-mode-map, js-syntax-propertize)
28462         (js-js-error, js-eval, js-set-js-context)
28463         (js--get-js-context):
28464         Refer to the language consistently as JavaScript.
28466 2017-01-29  Juanma Barranquero  <lekktu@gmail.com>
28468         lisp/*.el: Fix some warnings
28470         * lisp/battery.el (dbus-get-property):
28471         * lisp/dired-aux.el (format-spec): Declare function.
28473         * lisp/net/zeroconf.el (zeroconf-list-service-names)
28474         (zeroconf-list-service-types, zeroconf-list-services):
28475         Mark unused lexical arg.
28477         * lisp/progmodes/hideshow.el (hs-hide-block-at-point):
28478         * lisp/progmodes/sql.el (sql-end-of-statement):
28479         Pass LIMIT to 'looking-back'.
28481 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
28483         Don't warn about obsolete defgenerics when defining them
28485         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): The declaration code
28486         should run after the definition code (Bug#25556).
28488 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
28490         Call modification hooks in org-src fontify buffers
28492         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Let-bind
28493         `inhibit-modification-hooks' to nil, since this function can be called
28494         from jit-lock-function which binds that variable to t (Bug#25132).
28496 2017-01-29  Tino Calancha  <tino.calancha@gmail.com>
28498         Fix Bug#25524
28500         * lisp/vc/diff-mode.el (diff-beginning-of-hunk):
28501         Return position at the beginning off the hunk.
28502         (diff-file-junk-re): Add SVN keywords.
28504 2017-01-28  Stephen Berman  <stephen.berman@gmx.net>
28506         hl-line.el: Don't try to operate on a killed buffer
28508         * lisp/hl-line.el (hl-line-maybe-unhighlight): Examine only
28509         live buffers (bug#25522).
28511 2017-01-28  Mark Oteiza  <mvoteiza@udel.edu>
28513         Use access-file in EWW to check before downloading a file
28515         * lisp/net/eww.el (eww-download): Check accessibility of
28516         eww-download-directory to prevent starting a download that will fail
28517         to write.
28518         * src/fileio.c (Faccess_file): Clarify the use of string argument in
28519         the docstring.
28521 2017-01-28  Yuri D'Elia  <wavexx@thregr.org>
28523         Subject: Check Bcc after the Messag hook has run
28525         * lisp/gnus/message.el (message-send): If the hook modifies
28526         the message (mml tags or headers), we should check bcc on the
28527         final message, not on the original.
28529 2017-01-28  Eli Zaretskii  <eliz@gnu.org>
28531         Improve documentation of 'format' conversions
28533         * src/editfns.c (Fformat): More accurate description of %g and
28534         effects of the various flags on it.  More accurate description of
28535         integer conversions.
28537         * doc/lispref/strings.texi (Formatting Strings): More accurate
28538         description of %g and effects of the various flags on it.  More
28539         accurate description of integer conversions.  (Bug#25557)
28541 2017-01-28  Juanma Barranquero  <lekktu@gmail.com>
28543         test/*.el: Avoid byte-compiler warnings
28545         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Remove unused 'let*'.
28547         * test/lisp/faces-tests.el (faces--test): New customization group.
28548         (faces--test1, faces--test2): Use it.
28550         * test/lisp/ffap-tests.el (ffap-tests-25243):
28551         Call 'mark-whole-buffer' interactively.
28553         * test/lisp/ibuffer-tests.el (ibuffer-filter-groups, ibuffer-filtering-alist)
28554         (ibuffer-filtering-qualifiers, ibuffer-save-with-custom)
28555         (ibuffer-saved-filter-groups, ibuffer-saved-filters): Defvar.
28556         (ibuffer-format-qualifier, ibuffer-unary-operand): Declare.
28558         * test/lisp/minibuffer-tests.el (completion-test1):
28559         Mark unused lexical arguments.
28561         * test/lisp/simple-tests.el (simple-test--dummy-buffer): Wrap result in
28562         'with-no-warnings' to avoid them when the macro is invoked for effect.
28564         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-count-test):
28565         Mark unused lexical arguments.
28567         * test/lisp/emacs-lisp/let-alist-tests.el (let-alist-surface-test):
28568         Mark unused lexical arguments.
28569         (let-alist-cons): Remove unused let binding.
28571         * test/lisp/net/dbus-tests.el (dbus-debug): Defvar.
28572         (dbus-get-unique-name): Declare.
28574         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid):
28575         Call 'font-lock-fontify-buffer' interactively.
28577         * test/lisp/textmodes/tildify-tests.el (tildify-space-undo-test--test):
28578         Mark unused lexical argument.
28580 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
28582         Restore a test that was removed by a recent commit
28584         * src/fileio.c (Ffile_accessible_directory_p): Don't overwrite the
28585         errno value unless it's necessary.  (Bug#25419)
28587 2017-01-27  Mark Oteiza  <mvoteiza@udel.edu>
28589         Fix a couple eww customization types
28591         * lisp/new/eww.el (eww-download-directory, eww-bookmarks-directory):
28592         Change customization type to "directory".
28594 2017-01-27  Philipp Stephani  <phst@google.com>
28596         Don't require a shell when loading htmlfontify
28598         * lisp/htmlfontify.el (hfy-which-etags): Don't call a shell for
28599         detecting the etags version (Bug#25468).
28600         * test/lisp/htmlfontify-tests.el (htmlfontify-bug25468): Add unit
28601         test.
28603 2017-01-27  Paul Eggert  <eggert@cs.ucla.edu>
28605         Slightly tune file-accessible-directory-p fix
28607         * src/fileio.c (Ffile_accessible_directory_p):
28608         Remove unnecessary test (Bug#25419).
28610 2017-01-27  Arash Esbati  <arash@gnu.org>
28612         Add \citetitle to biblatex cite format
28614         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
28615         \citetitle[*] to `reftex-cite-format' and bind them to keys i/I
28616         per user request
28617         https://lists.gnu.org/r/auctex/2017-01/msg00049.html.
28619 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
28621         Fix charsets and encodings from non-file MIME parts
28623         * lisp/gnus/mml.el (mml-generate-mime-1): Get the charsets and
28624         encoding right for parts that do not originate from files.
28626 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
28628         Fix 'describe-variable' for longish variable values
28630         * lisp/help-fns.el (describe-variable): Don't accidentally remove
28631         the last character of a variable's value.  (Bug#25545)
28633 2017-01-27  Vladimir Panteleev  <git@thecybershadow.net>  (tiny change)
28635         Remove stale functions from ert manual
28637         * doc/misc/ert.texi (Useful Techniques when Writing Tests):
28638         Replace ert--mismatch references with its cl-lib replacement,
28639         cl-mismatch.
28641 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
28643         Fix a typo in Eshell manual
28645         * doc/misc/eshell.texi (History): Fix a typo.  Reported by Mak
28646         Kolybabi <mak@kolybabi.com>.
28648 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
28650         Ensure last line is at window bottom in shell buffers
28652         * lisp/shell.el (shell-mode): Use setq-local.  Set
28653         scroll-conservatively to 101 locally.  See the discussion at
28654         https://lists.gnu.org/r/emacs-devel/2016-12/msg00736.html
28655         for the reasons.
28657 2017-01-27  Michael Hoffman  <emacs-hoffman@sneakemail.com>  (tiny change)
28659         Support Bash Ctrl-Z indication of directory name in term.el
28661         * lisp/term/xterm.el (term-emulate-terminal): Do not display ?\032 escape
28662         codes even when 'handled-ansi-message' is non-nil.  (Bug#11919)
28664 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
28666         Don't report zero errno for inaccessible directory
28668         * src/fileio.c (Ffile_accessible_directory_p): Report EACCES when
28669         a file handler reports a failure.  (Bug#25419)
28671 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
28673         Fix filenotify-tests on MS-Windows
28675         * test/lisp/filenotify-tests.el (file-notify-test04-file-validity)
28676         (file-notify-test05-dir-validity)
28677         (file-notify-test06-many-events)
28678         (file-notify-test08-watched-file-in-watched-dir): Manually remove
28679         the watch descriptor before calling file-notify--test-cleanup-p.
28680         (Bug#25539)
28682 2017-01-27  Hong Xu  <hong@topbug.net>
28684         python-mode: Fix detection for opening blocks.
28686         * lisp/progmodes/python.el
28687         (python-info-dedenter-opening-block-positions): There can't be any
28688         back-indented lines between an opening block and the current line.
28690         * test/lisp/progmodes/python-tests.el
28691         (python-indent-electric-colon-4): Add an indent test case where
28692         there is one-more indented previous opening block.
28694 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
28696         Fix Message check for bogus domain names
28698         * lisp/gnus/message.el (message-make-fqdn): Fix check for
28699         bogus system names (bug#24570).
28701 2017-01-27  Øyvind Stegard  <oyvind@stegard.net>  (tiny change)
28703         Subject: Restore correct Gnus newsgroup name after sending message
28705         * lisp/gnus/gnus-msg.el (gnus-msg-mail): Set the value of
28706         gnus-newsgroup-name in the correct buffer (bug#24329).
28708 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
28710         Mention the new Gnus sorting command
28712 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
28714         Don't try to find charsets of non-text MIME parts
28716         * lisp/gnus/mml.el (mml-generate-mime-1): It seems nonsensical
28717         to try to determine the charset of non-text message parts, so
28718         skip that (bug#24190).  This will also remove messages like
28719         "bunzip2ing /tmp/acsb.cpio.bz2...done" while sending messages
28720         if you include such files.
28722 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
28724         Add new command gnus-article-sort-by-marks
28726         * doc/misc/gnus.texi (Summary Sorting): Mention
28727         gnus-summary-sort-by-marks.
28729         * lisp/gnus/gnus-sum.el (gnus-article-sort-by-marks): New
28730         function (bug#23393).
28731         (gnus-thread-sort-by-marks): Ditto.
28732         (gnus-summary-sort-by-mark): New command suggested by Dan Jacobson.
28733         (gnus-summary-mode-map): Add keystroke.
28734         (gnus-summary-make-menu-bar): Add to menu.
28736 2017-01-26  Katsumi Yamaoka  <yamaoka@jpl.org>
28738         Make `C-h b' work correctly in Gnus article buffer (bug#18257)
28740         * lisp/gnus/gnus-art.el (gnus-article-describe-bindings):
28741         Ignore summary commands that aren't bound to
28742         gnus-article-read-summary-keys keys (bug#18257).
28744 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28746         Fix crossposting in non-primary groups
28748         * lisp/gnus/message.el
28749         (message-cross-post-followup-to-header): Gnus server prefixes
28750         shouldn't be included in the group names (bug#21661).
28751         (message-cross-post-followup-to): Ditto.
28753 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28755         Gnus doc clarification
28757         * doc/misc/gnus.texi (Unavailable Servers): Explicitly say
28758         that "unreachable" is the same as disabling it (bug#21630).
28760 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28762         Remove dead code from rfc2047
28764         * lisp/mail/rfc2047.el (rfc2047-fold-field): Remove dead code.
28766         It's been disabled since 2005, when I made the change with the
28767         following comment.
28769         (rfc2047-encode-message-header): Disabled header folding -- not
28770         all headers can be folded, and this should be done by the message
28771         composition mode.  Probably.  I think.
28773 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28775         Fill too long mail headers
28777         * lisp/gnus/message.el (message--fold-long-headers): New
28778         function to fold too-long headers (bug#21608).
28779         (message-send-mail): Use it to fill headers longer than 998
28780         characters (which is the protocol limit).
28782 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28784         Make nndoc more resilient against corrupted files
28786         * lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): Don't bug
28787         out on invalid files, like invalid .gz files (bug#21538).
28788         This may hinder Gnus from starting up.
28790 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28792         Respect buffer-local message-fcc-handler-function
28794         * lisp/gnus/message.el (message-do-fcc): Copy the local
28795         variables from the Message buffer so that local settings of
28796         `message-fcc-handler-function' etc are respected (bug#21174).
28798 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28800         (message-do-fcc): Modernize the code slightly.
28802         * lisp/gnus/message.el (message-do-fcc): Modernize the code slightly.
28804 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28806         Avoid a regexp overflow in message-goto-body
28808         * lisp/gnus/message.el (message-goto-body-1): Avoid using a
28809         complicated backtracking regexp, because they may overflow on
28810         large headers (bug#21160).
28812 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28814         Refactor message-goto-body
28816         * lisp/gnus/message.el (message-goto-body-1): Refactor out for reuse.
28818 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28820         Fix typo in last checkin
28822         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
28823         nnimap-shell-program (bug#20651).
28825 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28827         Document nnimap-shell-program
28829         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
28830         nnimap-shell-program (bug#20651).
28832 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28834         Document :shell-command in `make-network-process'
28836         * doc/lispref/processes.texi (Network): Document :shell-command.
28838         * lisp/net/network-stream.el (open-network-stream): Document
28839         the :shell-command parameter (bug#20651).
28841 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28843         Gnus doc clarification
28845         * lisp/gnus/gnus-sum.el (gnus-summary-save-article): Mention
28846         the gnus-prompt-before-saving variable (bug#20500).
28848 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28850         Fix the previous mml patch better
28852         * lisp/gnus/mml.el (mml-minibuffer-read-file): Fix the
28853         previous patch in a better way (bug#20480).
28855 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28857         Give a slight better error message in mml-minibuffer-read-file
28859         * lisp/gnus/mml.el (mml-minibuffer-read-file): Give a slightly
28860         better error message when the user enters nothing (bug#20480).
28862 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
28864         * lisp/emacs-lisp/bytecomp.el:(bc-cond-jump-table-info)add docstring
28866 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28868         Make eww buffers prettier in the buffer listing
28870         * lisp/net/eww.el (eww-render): Put the currently visited URL
28871         into the buffer listing (bug#23738).
28872         (eww-render): Ditto.
28874 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28876         Allow mml-attach-file to prompt less
28878         * lisp/gnus/mml.el (mml-attach-file): If given a prefix, don't
28879         prompt for type/description/disposition, but use defaults
28880         (bug#19202).
28882 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28884         Don't allow message-newline-and-reformat to be run outside the body
28886         * lisp/gnus/message.el (message-newline-and-reformat): Error
28887         out if run outside the body of a message (bug#18820).
28889 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
28891         * lisp/emacs-lisp/bytecomp.el: Use correct function to push nil
28893         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Use
28894           byte-compile-constant instead of byte-compile-form to push nil.
28896 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
28898         * lisp/emacs-lisp/disass.el: Fix spacing while showing jump tables
28900 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
28902         Replace QUIT with maybe_quit
28904         There’s no longer need to have QUIT stand for a slug of C statements.
28905         Use the more-obvious function-call syntax instead.
28906         Also, use true and false when setting immediate_quit.
28907         These changes should not affect the generated machine code.
28908         * src/lisp.h (QUIT): Remove.  All uses replaced by maybe_quit.
28910 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
28912         A quicker check for quit
28914         On some microbenchmarks this lets Emacs run 60% faster on my
28915         platform (AMD Phenom II X4 910e, Fedora 25 x86-64).
28916         * src/atimer.c: Include keyboard.h, for pending_signals.
28917         * src/editfns.c (Fcompare_buffer_substrings):
28918         * src/fns.c (Fnthcdr, Fmemq, Fmemql, Fassq, Frassq, Fplist_put)
28919         (Fnconc, Fplist_member):
28920         Set and clear immediate_quit before and after loop instead of
28921         executing QUIT each time through the loop.  This is OK for loops
28922         that affect only locals.
28923         * src/eval.c (process_quit_flag): Now static.
28924         (maybe_quit): New function, containing QUIT’s old body.
28925         * src/fns.c (rarely_quit): New function.
28926         (Fmember, Fassoc, Frassoc, Fdelete, Fnreverse, Freverse)
28927         (Flax_plist_get, Flax_plist_put, internal_equal, Fnconc):
28928         Use it instead of QUIT, for
28929         speed in tight loops that might modify non-locals.
28930         * src/keyboard.h (pending_signals, process_pending_signals):
28931         These belong to keyboard.c, so move them here ...
28932         * src/lisp.h: ... from here.
28933         (QUIT): Redefine in terms of the new maybe_quit function, which
28934         contains this macro’s old definiens.  This works well with branch
28935         prediction on processors with return stack buffers, e.g., x86
28936         other than the original Pentium.
28938 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
28940         Simplify make-list implementation
28942         * src/alloc.c (Fmake_list): Don’t unroll loop, as the complexity
28943         is not worth it these days.
28945 2017-01-26  Mark Oteiza  <mvoteiza@udel.edu>
28947         Make use of cl-loop destructuring
28949         * lisp/progmodes/js.el (js--get-tabs): Replace extraneous bits with
28950         destructuring.
28951         (with-js): Add declare forms.
28953 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
28955         Revert "Bind C-c keys in the article buffer"
28957         This reverts commit 6b4195f2ace1f6328c5a833fde40f39babef4fa6.
28959         The commit somehow lead to problems in other parts of Emacs.
28961 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
28963         Document how to quote MML tags
28965         * doc/misc/emacs-mime.texi (MML Definition): Mention how to
28966         quote MML tags (bug#18881).
28968 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
28970         Make address parsing more robust
28972         * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't
28973         bug out on addresses like
28974         (ietf-drums-parse-address "\"Foo \"bar\" <larsi@gnus.org>")
28975         (bug#18572).
28977 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
28979         Fix the %P (line number) thing in Gnus summary buffers
28981         * lisp/gnus/gnus-salt.el (gnus-pick-line-number): Remove hack.
28983         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Reset the
28984         "pick" mode line number on entry instead of relying in a hack (bug#18311).
28986 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
28988         Fix wrong documentation on nnmairix keystrokes
28990         * doc/misc/gnus.texi (nnmairix keyboard shortcuts): The
28991         nnmairix commands are on G G, not $ (bug#18260).
28993 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
28995         Bind C-c keys in the article buffer
28997         * lisp/gnus/gnus-art.el (gnus-article-mode-map): Also bind the
28998         C-c keys so that they execute in the summary buffer
28999         (bug#18257).  This makes commands like `C-c C-f' work from the
29000         article buffer.
29002 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29004         Don't mark articles in Gnus as displayed when they aren't
29006         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Don't
29007         mark any articles as selected if we're not selecting any
29008         articles (bug#18255).
29010 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
29012         * lisp/emacs-lisp/disass.el: Display jump tables for switch.
29014         * lisp/emacs-lisp/bytecomp.el:Use correct size for switch jump-table
29016         * lisp/emacs-lisp/bytecomp.el: Simplify b-c-cond-valid-obj2-p
29018         * lisp/emacs-lisp/bytecomp.el: Fix byte-switch codegen with symbols.
29020 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
29022         * lisp/emacs-lisp/byte-opt.el: Add support for decompiling switch
29024         * lisp/emacs-lisp/byte-opt.el: (byte-decompile-bytecode-1) When the
29025           constant encountered precedes a byte-switch op, replace all the
29026           addresses in the jump table with tags.
29028 2017-01-25  Mark Oteiza  <mvoteiza@udel.edu>
29030         Move cXXXr and cXXXXr to subr.el
29032         * etc/NEWS: Mention new core Elisp.
29033         * doc/lispref/lists.texi (List Elements): Document and index the new
29034         functions.
29035         * doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
29036         * lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
29037         (cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
29038         (cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
29039         (cddddr): New functions.
29040         * lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
29041         (cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
29042         (cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
29043         (cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
29044         (cl-cdddar, cl-cddddr): Alias to new subr functions.
29045         * lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
29046         elements.
29048 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29050         Only save .newsrc file if the native method is NNTP
29052         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
29053         the .newsrc file if the native select method is NNTP
29054         (bug#18198).  This avoids problems with invalid IMAP group
29055         names and the like in the .newsrc file.
29057 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29059         Only save .newsrc file if the native method is NNTP
29061         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
29062         the .newsrc file if the native select method is NNTP
29063         (bug#18198).  This avoids problems with invalid IMAP group
29064         names and the like in the .newsrc file.
29066 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29068         Gnus custom spec fix
29070         * lisp/gnus/gnus-art.el (gnus-signature-limit): Fix customize
29071         spec to match the doc string (bug#17679).
29073 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29075         Clarify confusing Gnus error message
29077         * lisp/gnus/gnus-topic.el (gnus-topic-unindent): Clarify
29078         confusing error message (bug#17677).
29080 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29082         Make C-u C-x m work with Message as documented
29084         * lisp/gnus/message.el (message-mail): Respect the CONTINUE
29085         parameter (bug#17175).
29087 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29089         Fix problem with auto-mode and dir-locals-collect-variables
29091         * lisp/files.el (dir-locals-collect-variables): When run from
29092         auto-mode, the file in question may not be an absolute path
29093         name (bug#24016).
29095         Example backtrace:
29097         Debugger entered--Lisp error: (args-out-of-range "compile-1st-in-loa
29098           dir-locals-collect-variables(((emacs-lisp-mode (indent-tabs-mode))
29099           hack-dir-local-variables()
29100           hack-local-variables(no-mode)
29101           run-mode-hooks(diff-mode-hook)
29102           diff-mode()
29103           mm-display-inline-fontify((#<buffer  *mm*-923037> ("text/x-diff" (
29105 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29107         Attach text files correctly in Message
29109         * lisp/gnus/mml.el (mml-generate-mime-1): Detect which coding
29110         system has been used in attached text files, and don't try to
29111         do any encoding of these files (bug#13808).
29113 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29115         Build fix for older gnutls versions
29117         * src/gnutls.c (emacs_gnutls_handle_error):
29118         GNUTLS_E_PREMATURE_TERMINATION is apparently only present in
29119         gnutls-3.
29121 2017-01-25  Tino Calancha  <tino.calancha@gmail.com>
29123         ediff-difference-vector-alist: Drop duplicated definition
29125         * lisp/vc/ediff-init.el (ediff-difference-vector-alist):
29126         Drop duplicated definition.
29127         (ediff-difference-vector-A, ediff-difference-vector-B)
29128         (ediff-difference-vector-C, ediff-difference-vector-Ancestor):
29129         Move definition before 'ediff-difference-vector-alist'.
29131 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29133         Revert "nnimap.el: support additional expunge options"
29135         This reverts commit 4e9baea6aba1633074889339dcc7cdc9d73880d3.
29137         The patch broke fetching new mail:
29139         Debugger entered--Lisp error: (error "Format specifier doesn’t match argument type")
29140           format("%d .*\n" (t ("OK" ("HIGHESTMODSEQ" "914696") "Expunge" "completed.") ("VANISHED" "1825937") ("0" "RECENT")))
29141           (looking-at (format "%d .*\n" sequence))
29142           (not (looking-at (format "%d .*\n" sequence)))
29143           (progn (while (and (not (bobp)) (progn (forward-line -1) (looking-at "\\*\\|[0-9]+ OK NOOP")))) (not (looking-at (format "%d .*\n" sequence))))
29145 2017-01-25  Nikolaus Rath  <Nikolaus@rath.org>
29147         nnimap.el: support additional expunge options
29149         * lisp/gnus/nnimap.el (nnimap-close-group)
29150         (nnimap-request-expire-articles, nnimap-delete-article)
29151         (nnimap-request-scan): add new 'never, 'immediate, and 'on-exit
29152         settings for nnimap-expunge (bug#20670).
29154 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29156         Don't tag Gnus bugs with "gnus"
29158         * lisp/gnus/gnus-msg.el (gnus-bug): Remove the bug package tags.
29160         * lisp/gnus/gnus.el (gnus-bug-package): Removed; Gnus doesn't
29161         have its own package any more in the bug tracker.
29163 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29165         Tweak TLS error messaging on closed connections
29167         * src/gnutls.c (emacs_gnutls_handle_error): Demote the normal
29168         peer-closed-connection "The TLS connection was non-properly
29169         terminated" message to a lower level so that it isn't shown to
29170         the user by default.
29172 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
29174         Avoid having eww unexpectedly open external browsers
29176         * lisp/net/eww.el (eww-render): Instead of opening unsupported
29177         content types like audio/mpeg directly in an external browser
29178         (which can be very confusing especially when something
29179         redirects to a file like that), just display a simple
29180         interstitial that people can choose to click on or not
29181         (bug#22671).
29183 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
29185         When opening new eww buffers, use buffer names based on the host name
29187         * lisp/net/eww.el (eww-browse-url): When opening in a new
29188         window, use a buffer name based on the host name (bug#23738).
29189         (eww--dwim-expand-url): Refactored out into its own function
29190         for easier reuse.
29192 2017-01-24  David Engster  <deng@randomsample.de>
29194         xml: Fix parsing of default namespace with quoted names
29196         * lisp/xml.el (xml-parse-attlist): Properly extract namespace when
29197           parsing is done with quoted symbol names (bug#23440).
29198         * test/lisp/xml-tests.el (xml-parse-test--default-namespace-qnames)
29199           (xml-parse-test-default-namespace-qnames): Test for the above.
29201 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
29203         Fix rendering of some complex SVG images
29205         * lisp/net/shr.el (shr-parse-image-data): Don't transform
29206         SVG->DOM->XML unless we're blocking images, as this is apt to
29207         destroy the SVG (bug#24111).
29209 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
29211         Clarify the last clarification
29213         * lisp/net/shr.el (shr-width): Clarify the interaction with
29214         `shr-use-fonts' (bug#24928).
29216 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
29218         shr-width doc clarification
29220         * lisp/net/shr.el (shr-width): Clarify the interaction with
29221         `shr-use-fonts' (bug#24928).
29223 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
29225         Allow passing in max-width/height
29227         * lisp/net/shr.el (shr-rescale-image): Allow passing in
29228         max-width/height (bug#25287).
29230 2017-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
29232         * lisp/progmodes/vhdl-mode.el: Avoid add-to-list on local vars
29234         Require `cl' for `pushnew'.
29235         (vhdl-scan-project-contents, vhdl-compose-wire-components)
29236         (vhdl-uniquify): Use `pushnew' instead of `add-to-list'.
29238 2017-01-24  Noam Postavsky  <npostavs@gmail.com>
29240         Fix comment detection on open parens
29242         Characters having both open paren syntax and comment start syntax were
29243         being detected as open parens even when they should have been part a
29244         comment starter (Bug#24870).
29246         * src/syntax.c (in_2char_comment_start): New function, extracted from
29247         `scan_sexps_forward'.
29248         (scan_sexps_forward): Add check for a 2-char comment starter before the
29249         loop.  Inside the loop, do that check after incrementing the 'from'
29250         character index.  Move the single char comment syntax cases into the
29251         switch instead of special casing them before.
29252         * test/src/syntax-tests.el (parse-partial-sexp-paren-comments):
29253         (parse-partial-sexp-continue-over-comment-marker): New tests.
29255 2017-01-23  Alan Mackenzie  <acm@muc.de>
29257         Give , and .@ doc strings.  Fixes bug #24561.
29259         Also make *Help* links to ``' possible.  Also make usable as such doc strings
29260         on the function-documentation property of a symbol.
29262         * lisp/emacs-lisp/backquote.el (top-level): Give , and '@ doc strings on the
29263         function-documentation property.  Also give these symbols a reader-construct
29264         property.
29266         * lisp/help-fns.el (describe-function): Allow the function-documentation
29267         property to work.  Use princ rather than prin1 to print the function's name
29268         when it has a reader-construct property.
29269         (help-fns-signature): Don't insert `high-usage' for a reader-construct.
29270         (describe-function-1): Adapt to process documentation on the
29271         function-documentation property.  Print "a reader construct" when appropriate.
29273         * lisp/help-mode.el (help-xref-symbol-regexp): Amend this regexp also to match
29274         ``'.
29276 2017-01-22  Paul Eggert  <eggert@cs.ucla.edu>
29278         Improve uses of CHECK_LIST etc.
29280         * src/eval.c (FletX): Report an error for invalid constructs like
29281         ‘(let* (a . 0))’, so that ‘let*’ is more consistent with ‘let’.
29282         (lambda_arity): Use plain CHECK_CONS.
29283         * src/fns.c (CHECK_LIST_END): Move from here to lisp.h.
29284         (Fcopy_alist): Remove unnecessary CHECK_LIST call, since
29285         concat does that for us.
29286         (Fnthcdr, Fmember, Fmemql, Fdelete, Fnreverse):
29287         Use CHECK_LIST_END, not CHECK_LIST_CONS.  This hoists a
29288         runtime check out of the loop.
29289         (Fmemq): Simplify and use CHECK_LIST_END instead of CHECK_LIST.
29290         (Fassq, Fassoc, Frassq, Frassoc):
29291         Simplify and use CHECK_LIST_END instead of CAR.
29292         (assq_no_quit, assoc_no_quit): Simplify and assume proper list.
29293         (Fnconc): Use plain CHECK_CONS, and do-while instead of while loop.
29294         * src/fontset.c (Fnew_fontset):
29295         * src/frame.c (Fmodify_frame_parameters):
29296         Use CHECK_LIST_END at end, rather than CHECK_LIST at start, for a
29297         more-complete check.
29298         * src/gfilenotify.c (Fgfile_add_watch):
29299         Omit unnecessary CHECK_LIST, since Fmember does that for us.
29300         * src/lisp.h (lisp_h_CHECK_LIST_CONS, CHECK_LIST_CONS):
29301         Remove; no longer used.
29302         (CHECK_LIST_END): New inline function.
29304 2017-01-22  Tino Calancha  <tino.calancha@gmail.com>
29306         Prevent to use tabulated-list--near-rows unbound
29308         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
29309         Make sure 'tabulated-list--near-rows' is bound before use it (Bug#25506).
29311 2017-01-22  Juri Linkov  <juri@linkov.net>
29313         * lisp/simple.el (region-bounds): New function.
29315         (region-noncontiguous-p): Use it.
29316         https://lists.gnu.org/r/emacs-devel/2017-01/msg00044.html
29318 2017-01-21  Alan Mackenzie  <acm@muc.de>
29320         Fix low-level handling of (big) C macros.
29322         In particular, ensure that a comment detected by its syntax is not a CPP
29323         construct marked with generic comment delimiter syntax-table text
29324         properties.
29326         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Set
29327         c-macro-cache-syntactic to nil when the cached macro changes.
29328         (c-syntactic-end-of-macro, c-no-comment-end-of-macro)
29329         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
29330         (c-state-pp-to-literal, c-parse-ps-state-to-cache)
29331         (c-state-cache-non-literal-place, c-literal-limits, c-literal-start)
29332         (c-determine-limit): When checking a parse syntax for a comment, check that
29333         we're not in a CPP construct marked by syntax-table generic comment delimiter
29334         text property.
29335         (c-state-pp-to-literal): Change from a defsubst to a defun.
29337         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Check a
29338         parse syntax as described above under cc-engine.el.
29340 2017-01-21  Vibhav Pant  <vibhavp@gmail.com>
29342         * lisp/emacs-lisp/bytecomp.el: Remove unused debugging statements.
29344 2017-01-21  Noam Postavsky  <npostavs@gmail.com>
29346         Don't wait for frame to become visible
29348         * src/xterm.c (x_make_frame_visible): Remove code that waits for the
29349         frame to become visible.  We have to deal with invisible frames anyway,
29350         the loop could sometimes before the frame turned visible, and for some
29351         window managers (e.g., XMonad, i3wm) it caused Emacs to get stuck in a
29352         busy loop (Bug#24091).
29354 2017-01-21  Tino Calancha  <tino.calancha@gmail.com>
29356         diff-hunk-kill independent of point inside headers
29358         Make diff-apply-hunk and diff-hunk-kill independent of the point
29359         position in a diff header (Bug#17544).
29360         This change allows to apply hunks in order.  It also makes possible to
29361         press M-k repeatedly to kill hunks in the order they appear in the buffer.
29362         See discussion on #Bug25105.
29363         * lisp/vc/diff-mode.el (diff-file-junk-re):
29364         Move definition before it's used.
29365         (diff--at-diff-header-p): New predicate; return non-nil when point
29366         is inside a hunk header, a file header, or within a line
29367         matching diff-file-junk-re.
29368         (diff-beginning-of-hunk): Use it.
29369         Check if the point is inside a diff header, in the middle of a hunk,
29370         or before the first hunk.
29371         (diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
29372         before apply the hunk.
29373         (diff-hunk-kill, diff-file-kill):
29374         Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
29375         (diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.
29377 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
29379         Improve documentation of hooks related to saving buffers
29381         * lisp/files.el (write-file-functions, write-contents-functions)
29382         (before-save-hook, after-save-hook): Note that these are only used
29383         by save-buffer.
29385         * doc/lispref/backups.texi (Auto-Saving):
29386         * doc/lispref/files.texi (Saving Buffers): Mention that
29387         save-related hooks are not run by auto-saving.  (Bug#25460)
29389 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
29391         Improve documentation of auto-save-visited-file-name
29393         * doc/emacs/files.texi (Auto Save Files): Mention subtle
29394         differences between saving the buffer and auto-saving with
29395         auto-save-visited-file-name set non-nil.  (Bug#25478)
29397 2017-01-20  Noam Postavsky  <npostavs@gmail.com>
29399         Fix free var FOO-mode-{syntax,abbrev}-table warnings
29401         * lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally
29402         defvar the syntax and abbrev tables so that the compiler will know that
29403         they are dynamically bound variables (Bug#25446).
29405 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
29407         * lisp/emacs-lisp/bytecomp.el: Fix errors with matching quoted forms
29409         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table-info)
29410           eval obj2 to avoid quoted forms being stored as is.
29412 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
29414         lisp/emacs-lisp/bytecomp.el: Use byte-switch only for quoted symbols
29416 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
29418         * lisp/emacs-lisp/bytecomp.el: Add default-case for last cond clause.
29420         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Add
29421         default-case for last cond clause.
29423 2017-01-19  Philipp Stephani  <phst@google.com>
29425         Check that variable lists are actually lists
29427         'let' and 'let*' document that their first argument has to be a list,
29428         but don't check for that; instead, they allow (and silently ignore)
29429         other types.  Introduce an explicit type check.
29431         * src/eval.c (Flet, FletX): Check that the variable list is indeed a
29432         list.
29433         * test/src/eval-tests.el: Add unit tests.
29435 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
29437         Add type checking for Bswitch, when enabled at compile time.
29439         * src/bytecode.c: (exec_byte_code) If BYTE_CODE_SAFE is enabled at
29440           compile time, use CHECK_TYPE to verify that the jump table is a hash table.
29442 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
29444         Use byte-switch for all symbols.
29446         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-valid-obj2-p) Return
29447           t for all symbols (instead for just keywords)
29449 2017-01-19  Noam Postavsky  <npostavs@gmail.com>
29451         Avoid inefficient regex in diff-refine-hunk (Bug#25410)
29453         * lisp/vc/diff-mode.el (diff--forward-while-leading-char): New function.
29454         (diff-refine-hunk): Use it instead of trying to match multiple lines
29455         with a single lines.
29457 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
29459         Remove lock file when auto-saving into the visited file
29461         * src/fileio.c (write_region): When auto-saving into the visited
29462         file, unlock the file whenever we mark the buffer unmodified.
29463         (Bug#25470)
29465 2017-01-18  Vibhav Pant  <vibhavp@gmail.com>
29467         * src/bytecode.c: (exec_byte_code) Use hash_lookup for Bswitch
29469         Fgethash type checks the provided table object, which is unnecessary
29470         for compiled bytecode.
29472 2017-01-18  Tom Tromey  <tom@tromey.com>
29474         fix typo in mailcap-mime-extensions
29476         * lisp/net/mailcap.el (mailcap-mime-extensions): Use "text/x-patch",
29477         not "test/x-patch".  (Bug#25472)
29479 2017-01-18  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
29481         Fix typos in flymake.el
29483         * lisp/progmodes/flymake.el (flymake-check-patch-master-file-buffer):
29484         Spelling fixes in the doc string.
29486 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
29488         Fix a bug with signaling a thread that waits for condvar
29490         * src/thread.c (lisp_mutex_lock_for_thread): New function,
29491         with all the guts of lisp_mutex_lock.
29492         (lisp_mutex_lock): Call lisp_mutex_lock_for_thread.
29493         (condition_wait_callback): Don't call post_acquire_global_lock
29494         before locking the mutex, as that could cause a signaled thread to
29495         exit prematurely, because the condvar's mutex is recorded to be
29496         not owned by any thread, and with-mutex wants to unlock it as part
29497         of unwinding the stack in response to the signal.
29499 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
29501         Rudimentary error handling for non-main threads
29503         * src/thread.c (last_thread_error): New static variable.
29504         (syms_of_threads): Staticpro it.
29505         (record_thread_error, Fthread_last_error): New functions.
29506         (syms_of_threads): Defsubr Fthread_last_error.
29508         * doc/lispref/threads.texi (Basic Thread Functions): Document
29509         thread-last-error.
29511         * test/src/thread-tests.el (thread-errors, thread-signal-early)
29512         (threads-condvar-wait): Test the values returned by
29513         thread-last-error.
29515 2017-01-17  Tom Tromey  <tom@tromey.com>
29517         Add info-lookup help for gdb-script-mode
29519         Bug#25464:
29520         * lisp/info-look.el (info-lookup-guess-gdb-script-symbol): New
29521         function.
29522         Add help for gdb-script-mode.
29524 2017-01-17  Tom Tromey  <tom@tromey.com>
29526         Treat ":root" as a css-selector
29528         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Recognize bare
29529         ":root" as selector.
29531 2017-01-17  Tom Tromey  <tom@tromey.com>
29533         Fix JS regexp literal syntax propertization in expressions
29535         Bug#25465:
29536         * lisp/progmodes/js.el (js-syntax-propertize): Recognize a regexp
29537         literal after "!", "&", and "|".
29538         test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax): New test.
29540 2017-01-17  Glenn Morris  <rgm@gnu.org>
29542         More NEWS checking for admin.el's set-version
29544         * admin/admin.el (set-version): Warn if temporary NEWS markup
29545         still present in release candidates.
29547 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
29549         Mark unused arguments and remove unused variables
29551         * lisp/play/dunnet.el (dun-mode, dun-die, dun-inven, dun-try-take):
29552         (dun-dig, dun-type, dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se):
29553         (dun-nw, dun-sw, dun-up, dun-down, dun-in, dun-out, dun-long):
29554         (dun-swim, dun-score, dun-flush, dun-piss, dun-sleep, dun-drive):
29555         (dun-superb, dun-power, dun-unix-parse, dun-bin, dun-fascii):
29556         (dun-ftpquit, dun-ftphelp, dun-uexit, dun-pwd, dun-dos-parse):
29557         (dun-dos-invd, dun-dos-spawn, dun-dos-exit, dun-dos-nil):
29558         (dungeon-nil): Mark arguments as unused.
29559         (dun-drop, dun-objnum-from-args, dun-get-path, dun-ftp):
29560         (dun-restore): Remove unused variable.
29562 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
29564         Fix auto-save-file-name problem in Tramp on MS Windows
29566         * lisp/files.el (make-auto-save-file-name): Use `file-remote-p'
29567         rather than an ange-ftp regexp.
29569         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
29570         Fix a problem when running on MS Windows.
29572         * test/lisp/net/tramp-tests.el (tramp-test31-make-auto-save-file-name):
29573         Adapt test.
29575 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
29577         Fix auto-save-file-name problem in Tramp on MS Windows. Do not merge
29579         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
29580         Fix a problem when running on MS Windows.
29582 2017-01-17  Paul Eggert  <eggert@cs.ucla.edu>
29584         Merge from origin/emacs-25
29586         42614fa Update remaining copyright years with admin.el M-x set-copyright
29587         f17a006 * lisp/ffap.el (ffap-lax-url): Bump :version after recent cha...
29589 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
29591         Nix some uses of eval
29593         * lisp/play/dunnet.el: Fix triple negative.
29594         (dun-doverb): Use funcall instead of eval.
29595         (dun-echo): Just call dun-mprinc.
29596         (dun-save-val): Just bind value without eval.
29598 2017-01-17  Tom Tromey  <tom@tromey.com>
29600         Fix comment in css-mode.el
29602         * lisp/textmodes/css-mode.el: Remove obsolete comment.
29604 2017-01-16  Vibhav Pant  <vibhavp@gmail.com>
29606         update branch
29608 2017-01-16  Ian Dunn  <dunni@gnu.org>  (tiny change)
29610         * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (Bug#25445).
29612 2017-01-15  Noam Postavsky  <npostavs@gmail.com>
29614         Improve ffap-gopher-at-point handling of long lines
29616         * lisp/ffap.el (ffap-gopher-regexp): Only match the KEY part.  Note
29617         setting to nil is now supported.
29618         (ffap--gopher-var-on-line): New function.
29619         (ffap-gopher-at-point): Use it instead of the old ffap-gopher-regexp
29620         which could overflow the regexp stack on long lines (Bug#25391).  Use
29621         `let-alist' instead of calling `set' on local variables.
29622         * test/lisp/ffap-tests.el (ffap-gopher-at-point): New test.
29624 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
29626         * lisp/emacs-lisp/byte-opt.el: Optimize how tags are checked for use.
29628         * lisp/emacs-lisp/byte-opt.el: (byte-optimize-lapcode): Return nil instantly on
29629           finding the tag in a jump table.
29631 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
29633         * lisp/emacs-lisp/bytecomp.el: Add documentation, remove code duplication
29635 2017-01-14  Vibhav Pant  <vibhavp@gmail.com>
29637         Add new 'switch' byte-code.
29639         'switch' takes two arguments from the stack: the variable to test, and
29640         a jump table (implemented as a hash-table with the appropriate :test
29641         function). By looking up the value of the variable in the hash table,
29642         the interpreter can jump to the label pointed to by the value, if any.
29643         This implementation can only be used for `cond' forms of the type
29644         `(cond ((test x 'foo) 'bar) ...)`, such that the function `test` and
29645         variable `x` is same for all clauses.
29647         * lisp/emacs-lisp/bytecomp.el:
29649           * Add (byte-compile-cond-valid-obj2-p), (byte-compile-cond-vars),
29650             (byte-compile-cond-jump-table-info), (byte-compile-jump-table-add-tag),
29651             (byte-compile-cond-jump-table), byte-compile-jump-tables.
29653           * Add defcustom `byte-compile-cond-use-jump-table'.
29655           * (byte-compile-cond): Use them.
29657           * (byte-compile-lapcode): Patch tags present in jump tables, if any.
29659         * lisp/emacs-lisp//byte-opt.el: (byte-optimize-lapcode): Add checks to
29660           some peephole optimizations to prevent them from messing up any code
29661           involving `byte-switch`.
29663         * src/bytecode.c: (exec_byte_code): Add bytecode Bswitch.
29665 2017-01-14  Alan Third  <alan@idiocy.org>
29667         Fix NS main thread check (bug#25265)
29669         * src/nsterm.m (ns_read_socket, ns_select): Replace mainThread with
29670         isMainThread.
29672 2017-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
29674         * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
29676         `:sqli-comint-func' does not have to be a symbol.
29678 2017-01-14  Alan Mackenzie  <acm@muc.de>
29680         Correct c-parse-state-get-strategy for moving HERE backward into a macro.
29682         * lisp/progmodes/cc-engine.el (c-parse-state-get-strategy): When HERE is below
29683         its previous value, we chose strategy 'forward, and the new HERE is in a
29684         (different) macro, ensure the returned START-POINT is not above the start of
29685         the macro.
29687 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
29689         Include "Date:" in mail messages filed by 'sendmail-send-it'
29691         * lisp/mail/sendmail.el (mail-do-fcc): Insert a 'Date:' header
29692         into the filed message.  In the outgoing message, sendmail will
29693         add the date, but the composed message body doesn't have it.
29694         (Bug#25436)
29696 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
29698         * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#25440)
29700 2017-01-14  Dmitry Gutov  <dgutov@yandex.ru>
29702         Remove leftover references to log-view-message-face
29704         * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): Use log-view-message.
29706         * lisp/vc/vc-git.el (vc-git-root-log-format): Same.
29708         * lisp/vc/vc-hg.el (vc-hg-root-log-format): Same.
29710 2017-01-13  Phillip Lord  <phillip.lord@russet.org.uk>
29712         Record autoloads till emacs dump
29714         * admin/ldefs-clean.el (ldefs-clean-up): Record autoloads till emacs dump
29715         * lisp/ldefs-boot-auto.el (batch-byte-compile): Update
29717         Previously, autoloads were collected till loaddefs.el was generated as
29718         part of the build. However, bootstrap-emacs does not load
29719         loaddefs (rather it is dumped), hence we must record autoloads until the
29720         full emacs binary is dumped.
29722 2017-01-13  Tom Tromey  <tom@tromey.com>
29724         Add chained indentation to js-mode
29726         Bug#20896
29727         * lisp/progmodes/js.el (js-chain-indent): New variable.
29728         (js--skip-term-backward, js--skip-terms-backward)
29729         (js--chained-expression-p): New functions.
29730         (js--proper-indentation): Call js--chained-expression-p.
29731         * test/manual/indent/js-chain.js: New file.
29732         * test/manual/indent/js.js: Add (non-)chained indentation test.
29734 2017-01-13  Tom Tromey  <tom@tromey.com>
29736         Fix js-mode indentation bug
29738         Bug#15582:
29739         * lisp/progmodes/js.el (js--find-newline-backward): New function.
29740         (js--continued-expression-p): Use it.
29741         * test/manual/indent/js.js: Add new test.
29743 2017-01-13  Tom Tromey  <tom@tromey.com>
29745         Fix definition of EMACS in test/manual/indent/Makefile
29747         * test/manual/indent/Makefile (EMACS): Add one more "..".
29749 2017-01-13  Tom Tromey  <tom@tromey.com>
29751         Add .jsx to auto-mode-alist
29753         Bug#25389:
29754         * lisp/files.el (auto-mode-alist): Add entry for .jsx.
29756 2017-01-13  Tom Tromey  <tom@tromey.com>
29758         Fix two js-mode filling bugs
29760         Bug#19399 and Bug#22431:
29761         * lisp/progmodes/js.el (js-mode): Set comment-line-break-function and
29762         c-block-comment-start-regexp.
29763         * test/lisp/progmodes/js-tests.el: New file.
29765 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
29767         Fix last change
29769         * test/src/thread-tests.el (threads-condvar-wait): Revert
29770         previous change.  Make sure no other threads from previous
29771         tests are running, to avoid interfering with our thread counts.
29773 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
29775         Fix the new condvar test
29777         * test/src/thread-tests.el (threads-condvar-wait): Enlarge the
29778         time we sleep in the main thread to let the other thread
29779         process notifications.
29781 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
29783         Minor improvements in the new condvar test
29785         * test/src/thread-tests.el (threads-test-condvar-wait): Use
29786         with-mutex instead of emulating it inline.
29787         (threads-condvar-wait): Improve comments.  Check that the new
29788         thread is alive before waiting for it to become blocked on the
29789         conditional variable.
29791 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
29793         Fix a bug in waiting for condition variable
29795         * src/thread.c (lisp_mutex_lock, lisp_mutex_unlock)
29796         (lisp_mutex_unlock_for_wait, condition_wait_callback)
29797         (condition_notify_callback): Improve commentary.
29798         (condition_wait_callback): Call post_acquire_global_lock before
29799         attempting to lock the mutex, to make sure the lock's owner is
29800         recorded correctly.
29802         * test/src/thread-tests.el (threads-condvar-wait): New test.
29804 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
29806         Improve documentation of dabbrevs
29808         * doc/emacs/abbrevs.texi (Dynamic Abbrevs): Add a cross reference
29809         to "Dabbrev Customization".
29810         (Dabbrev Customization): More details about the default value of
29811         dabbrev-abbrev-char-regexp and use cases when it might not be good
29812         enough.  (Bug#25432)
29814 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
29816         Fix last change of dd80ee6 (was: mm-uu.el: Don't dissect patch part)
29818 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
29820         mm-uu.el: Don't dissect patch part
29822         This fixes a bug that the patch part is broken in the article
29823         <87inpjzhpb.fsf@users.sourceforge.net> in the bug-gnu-emacs list.
29825         * lisp/gnus/mm-uu.el (mm-uu-dissect-text-parts):
29826         Don't dissect patch part.
29828 2017-01-13  Dmitry Lazurkin  <dilaz03@gmail.com>
29830         Fix extracting async def type and name in python mode imenu
29832         * lisp/progmodes/python.el (python-imenu--get-defun-type-name):
29833         New function.
29834         (python-imenu--build-tree): Use python-imenu--get-defun-type-name for
29835         extract async or simple def type and name at current
29836         position (Bug#24820).
29837         * test/lisp/progmodes/python-tests.el (python-imenu-create-index-1):
29838         (python-imenu-create-flat-index-1): Add async def's.
29840 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
29842         Remove garbage from Content-Transfer-Encoding value (bug#25420)
29844         * lisp/mail/ietf-drums.el (ietf-drums-strip-cte): New function.
29845         (ietf-drums-remove-garbage): New function.
29846         (ietf-drums-remove-whitespace): Remove CR as well.
29848         * lisp/mail/mail-parse.el (mail-header-strip-cte):
29849         Alias to ietf-drums-strip-cte.
29851         * lisp/gnus/gnus-art.el (article-decode-charset):
29852         * lisp/gnus/gnus-sum.el (gnus-summary-enter-digest-group):
29853         * lisp/gnus/mm-decode.el (mm-dissect-buffer):
29854         * lisp/gnus/nndoc.el (nndoc-decode-content-transfer-encoding)
29855         (nndoc-rfc822-forward-generate-article):
29856         * lisp/mh-e/mh-mime.el (mh-decode-message-body):
29857         Replace mail-header-strip with mail-header-strip-cte.
29859 2017-01-13  Paul Eggert  <eggert@cs.ucla.edu>
29861         Restore behavior of ‘./autogen.sh autoconf git’
29863         * autogen.sh: Do both autoconf and git setup when invoked
29864         as ‘./autogen.sh autoconf git’.  Avoid unnecessary newline in chatter.
29865         Mention new --no-check option in usage message.  (Bug#25359)
29867 2017-01-12  Glenn Morris  <rgm@gnu.org>
29869         * autogen.sh: Simplify argument parsing.
29871 2017-01-12  Noam Postavsky  <npostavs@gmail.com>
29873         Clarify that easy-menu-add is a nop (Bug#25382)
29875         * lisp/emacs-lisp/easymenu.el (easy-menu-add): Make it into an alias of
29876         `ignore', like `easy-menu-remove'.
29878 2017-01-12  Glenn Morris  <rgm@gnu.org>
29880         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fix entry.
29882 2017-01-11  Glenn Morris  <rgm@gnu.org>
29884         * autogen.sh: Add --no-check option.  (Bug#25359)
29886 2017-01-11  Glenn Morris  <rgm@gnu.org>
29888         Convert some network test failures to skipping
29890         These tests intermittently fail on hydra.nixos.org for unclear
29891         reasons related to starting the external process.
29892         This isn't an Emacs issue, and the failures cause noise on
29893         the emacs-buildstatus list.  (Bug#24503)
29894         * test/lisp/net/network-stream-tests.el (echo-server-nowait)
29895         (connect-to-tls-ipv4-nowait): Skip rather than fail if the
29896         external process fails to start properly.
29898 2017-01-11  Eli Zaretskii  <eliz@gnu.org>
29900         Revert "Add DNS keywords and remove duplications"
29902         This reverts commit 1cb9aa5b14867983d0013a61709b4d0af18364ff.
29904 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
29906         Add DNS keywords and remove duplications
29908         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
29909         NSEC" DNS related keywords and remove duplication of "NSAP".
29911 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
29913         Add DNS keywords and remove duplications
29915         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
29916         NSEC" DNS related keywords and remove duplication of "NSAP".
29918 2017-01-11  Alan Mackenzie  <acm@muc.de>
29920         Handle syntactic WS cache properties more accurately at buffer changes.
29922         This fixes bug #25362.
29924         * lisp/progmodes/cc-engine.el (c-sws-lit-type, c-sws-lit-limits)
29925         (c-invalidate-sws-region-before, c-invalidate-sws-region-after-del)
29926         (c-invalidate-sws-region-after-ins): New variables and functions.
29927         (c-invalidate-sws-region-after): Change from a defsubst to a defun.
29928         Also pass
29929         it the standard OLD-LEN argument.  Call both
29930         c-invalidate-sws-region-after-{ins,del} to check for "dangerous" WS
29931         cache
29932         properties.
29934         * lisp/progmodes/cc-langs.el (c-block-comment-ender-regexp): New language
29935         variable.
29937         * lisp/progmodes/cc-mode.el (c-before-change): Call
29938         c-invalidate-sws-region-before.
29939         (c-after-change): Pass old-len to c-invalidate-sws-region-after.
29941 2017-01-11  Michael Albinus  <michael.albinus@gmx.de>
29943         Support stat 8.26 in Tramp
29945         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Use QUOTING_STYLE
29946         environment variable of newer coreutils.  (Bug#23422)
29948 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
29950         Improve documentation of coding-systems
29952         * doc/lispref/nonascii.texi (Coding System Basics): Mention
29953         'prefer-utf-8'.  Index it and 'undecided'.
29954         (Encoding and I/O): Fix a typo.
29955         (User-Chosen Coding Systems): Improve the documentation of
29956         ACCEPT-DEFAULT-P argument to select-safe-coding-system.  Document
29957         select-safe-coding-system-function.
29958         (Specifying Coding Systems): Document coding-system-require-warning.
29960 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
29962         Merge from gnulib
29964         This incorporates:
29965         2017-01-09 maint: time stamp -> timestamp
29966         2017-01-07 stdioext: Port to Minix 3.2 and newer
29967         2017-01-06 glob, intprops, xalloc: work around Clang bug
29968         2017-01-02 revert copyright-year change to synced files
29969         * doc/misc/texinfo.tex, lib/fpending.c, lib/intprops.h, lib/mktime.c:
29970         * lib/stat-time.h, lib/stdio-impl.h, lib/time.in.h, lib/timespec.h:
29971         * lib/utimens.c, lib/xalloc-oversized.h:
29972         Copy from gnulib.
29974 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
29976         Don't use unsafe encoding for the bookmark file
29978         * lisp/bookmark.el (bookmark-write-file): Handle the case when the
29979         explicitly specified encoding of the bookmark file cannot encode the
29980         additional bookmarks just added.  (Bug#25365)
29982 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
29984         Improve definition of 'variable-pitch' face on MS-Windows
29986         * lisp/faces.el (variable-pitch): Don't specify too many
29987         attributes of the font, otherwise faces that request different
29988         weight or slant or size will not get them.
29990 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
29992         Fix an error message in python.el
29994         * lisp/progmodes/python.el (python-shell-get-process-or-error):
29995         Don't repeat the same key binding twice.  (Bug#25405)
29997 2017-01-09  Phillip Lord  <phillip.lord@russet.org.uk>
29999         Remove unused ldefs-boot.el
30001          * lisp/ldefs-boot.el: Remove
30003         This file was not removed as reported in c27b645956a11, but accidentally
30004         left.
30006 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
30007             Eli Zaretskii  <eliz@gnu.org>
30009         Use expanded stack during regex matches
30011         While the stack is increased in main(), to allow the regex stack
30012         allocation to use alloca we also need to modify regex.c to actually take
30013         advantage of the increased stack, and not limit stack allocations to
30014         SAFE_ALLOCA bytes.
30016         * src/regex.c (MATCH_MAY_ALLOCATE): Remove obsolete comment about
30017         allocations in signal handlers which no longer happens and correct
30018         description about when and why MATCH_MAY_ALLOCATE should be defined.
30019         (emacs_re_safe_alloca): New variable.
30020         (REGEX_USE_SAFE_ALLOCA): Use it as the limit of stack allocation instead
30021         of MAX_ALLOCA.
30022         (emacs_re_max_failures): Rename from `re_max_failures' to avoid
30023         confusion with glibc's `re_max_failures'.
30024         * src/emacs.c (main): Increase the amount of fixed 'extra' bytes we add
30025         to the stack.  Instead of changing emacs_re_max_failures based on the
30026         new stack size, just change emacs_re_safe_alloca; emacs_re_max_failures
30027         remains constant regardless, since if we run out stack space SAFE_ALLOCA
30028         will fall back to heap allocation.
30030 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
30032         Fix computation of regex stack limit
30034         The regex stack limit was being computed as the number of stack entries,
30035         whereas it was being compared with the current size as measured in
30036         bytes.  This could cause indefinite looping when nearing the stack limit
30037         if re_max_failures happened not to be a multiple of sizeof
30038         fail_stack_elt_t (Bug #24751).
30040         * src/regex.c (GROW_FAIL_STACK): Compute both current stack size and
30041         limit as numbers of stack entries.
30043 2017-01-08  Alan Third  <alan@idiocy.org>
30045         Remove apploopnr
30047         * src/nsterm.m (ns_select, ns_read_socket): Remove apploopnr and only
30048         allow app loop to run in main thread.
30050 2017-01-08  Glenn Morris  <rgm@gnu.org>
30052         Remove unused configure output variable
30054         * configure.ac (GNULIB_MK):
30055         * Makefile.in (gnulib_mk): Remove, no longer used.
30057 2017-01-08  Glenn Morris  <rgm@gnu.org>
30059         Fix automake dependencies
30061         * Makefile.in (AUTOMAKE_INPUTS): Add nt/gnulib.mk.  (Bug#25372)
30062         All platforms need this file to exist.
30064 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
30066         Remove unnecessary blankp code
30068         * src/character.c (blankp): Remove redundant code that slows Emacs
30069         down a bit.  The caller already does the test.
30071 2017-01-08  Stefan Merten  <stefan@merten-home.de>
30073         * lisp/textmodes/rst.el: Fix rst-forward-indented-block.
30075         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
30076         (rst-svn-timestamp)
30077         (rst-official-version, rst-official-cvs-rev)
30078         (rst-package-emacs-version-alist): Maintain version numbers.
30079         (rst-forward-indented-block): Fix. Start searching at next
30080         line again. Fixes fontification of comments continuing on the
30081         same line they started.
30083 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
30085         Remove @SET_MAKE@ from manually-maintained files
30087         Emacs now assumes GNU Make, so @SET_MAKE@ is no longer needed.
30088         * Makefile.in, lwlib/Makefile.in, nextstep/Makefile.in:
30089         * src/Makefile.in: Remove @SET_MAKE@.
30091 2017-01-07  Michael Albinus  <michael.albinus@gmx.de>
30093         Fix a problem with `start-file-process' in Tramp
30095         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
30096         `start-file-process' shall work when `non-essential' is
30097         non-nil, but there is already an established connection.
30098         <https://github.com/company-mode/company-mode/issues/462>
30100 2017-01-07  Rolf Ade  <rolf@pointsman.de>  (tiny change)
30102         Fix selecting SQLite database files with sql-mode (Bug#23566)
30104         * lisp/progmodes/sql.el (sql-sqlite-login-params): Allow any name as
30105         SQLite database file name, by default.
30106         (sql-get-login-ext): Fixed read-file-name arguments to provide
30107         path completion even if a database name pattern is customized and to
30108         allow creation of new SQLite database files.
30110 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
30112         Clarify major mode switching
30114         * doc/emacs/modes.texi (Major Modes):
30115         * doc/lispref/modes.texi (Modes, Major Modes): Explictly say that each
30116         buffer has exactly one major mode and can't be "turned off", only
30117         switched away from (Bug#25357).
30119 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
30121         Add helpful comment to compile-command's docstring
30123         * lisp/progmodes/compile.el (compile-command): Mention trailing space in
30124         docstring (Bug#25337).
30126 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
30128         Specify encoding of the bookmark file
30130         * lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
30131         Accept an argument CODING and include a 'coding:' cookie in the
30132         bookmark file preamble.
30133         (bookmark-upgrade-file-format-from-0): Call
30134         'bookmark-insert-file-format-version-stamp' with the file buffer's
30135         encoding, as detected when it was read.
30136         (bookmark-file-coding-system): New variable.
30137         (bookmark-load): Set bookmark-file-coding-system to the encoding
30138         of the loaded file.
30139         (bookmark-write-file): Bind coding-system-for-write to either the
30140         user setting via "C-x RET c" or to the existing file encoding,
30141         defaulting to 'utf-8-emacs'.  Update the value of
30142         bookmark-file-coding-system.  (Bug#25365)
30144 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
30146         Avoid infloop in 'ispell-region'
30148         * lisp/textmodes/ispell.el (ispell-begin-skip-region-regexp):
30149         Protect against 'ispell-skip-region-alist' being nil.  Reported by
30150         Ernest Adrogué <nfdisco@gmail.com>, see
30151         https://lists.gnu.org/r/help-gnu-emacs/2017-01/msg00007.html.
30153 2017-01-06  Philipp Stephani  <phst@google.com>
30155         Add support for Unicode whitespace in [:blank:]
30157         See Bug#25366.
30159         * src/character.c (blankp): New function for checking Unicode
30160         horizontal whitespace.
30161         * src/regex.c (ISBLANK): Use 'blankp' for non-ASCII horizontal
30162         whitespace.
30163         (BIT_BLANK): New bit for range table.
30164         (re_wctype_to_bit, execute_charset): Use it.
30165         * test/lisp/subr-tests.el (subr-tests--string-match-p--blank): Add
30166         unit test for [:blank:] character class.
30167         * test/src/regex-tests.el (test): Adapt unit test.
30168         * doc/lispref/searching.texi (Char Classes): Document new Unicode
30169         behavior for [:blank:].
30171 2017-01-06  Eli Zaretskii  <eliz@gnu.org>
30173         Fix ':version' of 'select-enable-primary'
30175         * lisp/select.el (select-enable-primary): Fix a typo in
30176         ':version'.  (Bug#25375)
30178 2017-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>
30180         (feedmail-deduce-address-list): Avoid add-to-list on local variables.
30182         Author:
30184         * lisp/mail/feedmail.el (feedmail-deduce-address-list):
30185         Avoid add-to-list on local variables.
30187 2017-01-06  Noam Postavsky  <npostavs@gmail.com>
30189         Fix isearch handling of C-u C-u...
30191         * lisp/isearch.el: Add `isearch-scroll' property to
30192         universal-argument-more so that `isearch-allow-scroll' will apply to it
30193         as well.
30194         (isearch-pre-command-hook): Let `isearch-allow-prefix' apply to
30195         `universal-argument-more' as well (Bug#25302).
30197 2017-01-05  Paul Eggert  <eggert@cs.ucla.edu>
30199         Shorten autogen.sh script
30201         * autogen.sh: Use a shorter script, as some 'sed' implementations
30202         mishandle long scripts.
30204 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
30206         Yet another fix for autogen.sh
30208         * autogen.sh (gnulib.mk): Make the Sed script more portable.
30210         * nt/Makefile.in (${srcdir}/gnulib.mk): Adapt the Sed command to
30211         the changes in autogen.sh.
30213 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
30215         * autogen.sh (gnulib.mk): Another attempt to fix macOS build.
30217 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
30219         Fix dependencies of nt/gnulib.mk
30221         * Makefile.in ($(srcdir)/nt/gnulib.mk): Avoid circular dependency
30222         of nt/gnulib.mk on lib/Makefile.in.
30224 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
30226         Unbreak macOS build
30228         * autogen.sh (gnulib.mk): Don't use non-portable extensions of GNU
30229         Sed.
30231 2017-01-05  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
30233         Fix term.el handling of ^Z-sequences spanning chunks
30235         Bash will after each command send ?\032 and the current directory "/tmp"
30236         to inform term.el.  Bash output is buffered in 4096 bytes chunks.  If a
30237         command outputs roughly 4096 bytes then the end of the first chunk will
30238         be "/tm" (Bug#13350).
30240         * lisp/term.el (term-emulate-terminal): Change the regexp to find the
30241         end of the ?\032 sequence to use \n instead of $, the latter can match
30242         end of string as well.
30244 2017-01-05  Mark Oteiza  <mvoteiza@udel.edu>
30246         Turn on lexical-binding in mb-depth.el
30248         * lisp/mb-depth.el: Turn on lexical-binding.
30249         (minibuffer-depth-setup): Bind things used multiple times.
30251 2017-01-04  Alan Third  <alan@idiocy.org>
30253         Revert "Rework NS event handling (bug#25265)"
30255         This reverts commit e0e5b0f4a4ce1d19ee0240c514dedd873d4165dc.
30257 2017-01-04  Glenn Morris  <rgm@gnu.org>
30259         Update remaining copyright years with admin.el M-x set-copyright
30261         * etc/refcards/ru-refcard.tex (cyear): Set to 2017.
30263 2017-01-04  Glenn Morris  <rgm@gnu.org>
30265         * lisp/ffap.el (ffap-lax-url): Bump :version after recent change.
30267 2017-01-04  Paul Eggert  <eggert@cs.ucla.edu>
30269         Port recent autogen.sh changes to Darwin
30271         Problem reported by Sam Steingold (Bug#25347).
30272         * autogen.sh: Don't assume 'sed -f-' reads a script from stdin, as
30273         POSIX does not require it and it does not work on Darwin.
30275 2017-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
30277         Avoid add-to-list on local variables
30279         * lisp/gnus/nnir.el: Use lexical-binding and cl-lib.
30280         (nnir-retrieve-headers): Use pcase.
30281         (nnir-search-thread): Avoid add-to-list on local variables.
30283         * lisp/gnus/smime.el: Use lexical-binding and cl-lib.
30284         (smime-verify-region): Avoid add-to-list on local variables.
30286         * lisp/mail/undigest.el: Use lexical-binding and cl-lib.
30287         (rmail-digest-parse-mime, rmail-digest-rfc1153)
30288         (rmail-digest-parse-rfc934): Avoid add-to-list on local variable.
30290         * lisp/net/ldap.el (ldap-search): Move init into declaration.
30292         * lisp/net/newst-backend.el (newsticker--cache-add):
30293         Avoid add-to-list on local variables; Simplify code with `assq'.
30295         * lisp/net/zeroconf.el: Use lexical-binding and cl-lib.
30296         (dbus-debug): Remove declaration, unused.
30297         (zeroconf-service-add-hook, zeroconf-service-remove-hook)
30298         (zeroconf-service-browser-handler, zeroconf-publish-service):
30299         Avoid add-to-list and *-hook on local variables.
30301         * lisp/org/org-archive.el (org-all-archive-files):
30302         * lisp/org/org-agenda.el (org-agenda-get-restriction-and-command):
30303         Avoid add-to-list on local variables.
30305         * lisp/org/ox-publish.el (org-publish--run-functions): New function.
30306         (org-publish-projects): Use it to avoid run-hooks on a local variable.
30307         (org-publish-cache-file-needs-publishing): Avoid add-to-list on
30308         local variables.
30310         * lisp/progmodes/ada-prj.el: Use setq instead of (set '...).
30311         (ada-prj-load-from-file): Avoid add-to-list on local variables.
30313         * lisp/progmodes/ada-xref.el (ada-initialize-runtime-library): Simplify.
30314         (ada-gnat-parse-gpr, ada-parse-prj-file-1)
30315         (ada-xref-find-in-modified-ali): Avoid add-to-list on local variables.
30317         * lisp/progmodes/idlw-shell.el (idlwave-shell-update-bp-overlays):
30318         Avoid add-to-list on local variables.
30320 2017-01-04  Mark Oteiza  <mvoteiza@udel.edu>
30322         Turn on lexical-binding in md4.el
30324         * lisp/md4.el: Turn on lexical-binding.
30325         * test/lisp/md4-tests.el: New file.
30327 2017-01-03  Stefan Merten  <stefan@merten-home.de>
30329         Lots of refactorings and a few minor improvements.
30331         User visible improvements and changes:
30332         * Improve and debug `rst-forward-section` and `rst-backward-section`.
30333         * Auto-enumeration may be used with all styles for list insertion.
30334         * Improve and debug `rst-toc-insert`.
30335         * Adapt change in Emacs to use customization group `text` instead of `wp`.
30336         * Bind `n` and `p` in `rst-toc-mode`.
30337         * `z` in `toc-mode` returns to the previous window configuration.
30338         * Require Emacs version >= 24.1.
30340         Lots of refactorings including:
30341         * Silence byte compiler.
30342         * Use lexical binding.
30343         * Use `cl-lib`.
30344         * Add tests and raise test coverage.
30346 2017-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
30348         (cl-defstruct): Improve error message for slots w/o value (bug#25312)
30350         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't signal an error but
30351         emit a warning for those coders who forgot to put a default value in
30352         their slot.
30354 2017-01-03  Philipp Stephani  <p.stephani2@gmail.com>
30356         Small patch for ffap.el
30358         * lisp/ffap.el (ffap-alist): Document that ffap sets the match data
30359         while walking 'ffap-alist'.
30361 2017-01-03  Eli Zaretskii  <eliz@gnu.org>
30363         Generate nt/gnulib.mk from lib/gnulib.mk
30365         This was proposed by Paul Eggert <eggert@cs.ucla.edu>,
30366         with the purpose of avoiding manual maintenance of
30367         nt/gnulib.mk.
30369         * nt/gnulib-modules-to-delete.cfg: New file.
30370         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
30371         (am__v_GEN_1): New variables.
30372         (${srcdir}/gnulib.mk): Rules to generate gnulib.mk from
30373         lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg.
30375         * make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of
30376         files to link.
30377         * configure.ac (GNULIB_MK): Compute the value according to $opsys.
30378         * autogen.sh: Create nt/gnulib.mk if it doesn't exist, before
30379         running autoreconf.
30380         * Makefile.in (gnulib_mk): New variable.
30381         ($(srcdir)/nt/gnulib.mk): Rule to produce it.
30382         (AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file
30383         name.
30384         * .gitignore: Add nt/gnulib.mk.
30386         * src/w32.c (acl_errno_valid): Implement it here, as we no longer
30387         build the acl-permissions module from Gnulib.
30389 2017-01-03  Noam Postavsky  <npostavs@gmail.com>
30391         Handle multibyte chars spanning chunks in term.el
30393         * lisp/term.el (term-terminal-undecoded-bytes): New variable.
30394         (term-mode): Make it buffer local.  Don't make `term-terminal-parameter'
30395         buffer-local twice.
30396         (term-emulate-terminal): Check for bytes of incompletely decoded
30397         characters, and save them until the next call when they can be fully
30398         decoded (Bug#25288).
30400 2017-01-03  Michael Albinus  <michael.albinus@gmx.de>
30402         Finish work on filenotify-tests.el
30404         * test/lisp/filenotify-tests.el (file-notify--test-monitors):
30405         New variable.
30406         (file-notify--test-cleanup, file-notify--test-monitor): Use it.
30407         (file-notify--test-read-event, file-notify-test02-events)
30408         (file-notify-test04-file-validity): Handle "gvfs-monitor-dir.exe".
30409         (file-notify-test03-autorevert)
30410         (file-notify-test08-watched-file-in-watched-dir):
30411         Set `file-notify--test-desc' for proper work of
30412         `file-notify--test-monitor'.  (Bug#21804)
30414 2017-01-02  Michael Albinus  <michael.albinus@gmx.de>
30416         Check also for "gvfs-monitor-dir.exe" in Tramp
30418         * lisp/net/tramp-sh.el (tramp-get-remote-gvfs-monitor-dir): Check also
30419         for "gvfs-monitor-dir.exe".
30421 2017-01-02  Eli Zaretskii  <eliz@gnu.org>
30423         Fix compilation --without-x
30425         * src/composite.c (autocmp_chars) [HAVE_WINDOW_SYSTEM]: Call
30426         font_range only if it is compiled in.  (Bug#25334)
30428 2017-01-02  Sašo Živanović  <saso.zivanovic@guest.arnes.si>
30430         Fix RefTeX to show table of contents for dtx files (tiny change)
30432         * lisp/textmodes/reftex.el (reftex-compile-variables): Change the
30433           section regexp so that it accepts lines starting with the comment
30434           character. (tiny change)
30435         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file): Filter
30436           gathered toc entries, accepting a commented entry if and only if the
30437           source file is a ".dtx" file. (tiny change)
30439 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
30441         Remove mistakenly-added files
30443         Problem reported by Glenn Morris in:
30444         https://lists.gnu.org/r/emacs-devel/2017-01/msg00008.html
30445         * lisp/gnus/gnus-ems.el, lisp/gnus/gnus-sync.el:
30446         * lisp/gnus/messcompat.el, lisp/nxml/nxml-glyph.el:
30447         * lisp/nxml/nxml-uchnm.el, lisp/obsolete/awk-mode.el:
30448         * lisp/obsolete/iso-acc.el, lisp/obsolete/iso-insert.el:
30449         * lisp/obsolete/iso-swed.el, lisp/obsolete/resume.el:
30450         * lisp/obsolete/scribe.el, lisp/obsolete/spell.el:
30451         * lisp/obsolete/swedish.el, lisp/obsolete/sym-comp.el:
30452         Remove files that were added by mistake during a merge.
30454 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
30456         Warn about incomplete untarring of link files
30458         The current tar-mode doesn't really support unpacking symlinks, it
30459         simply creates an empty file of the same name.
30461         * lisp/tar-mode.el (tar--describe-as-link): New function extracted from
30462         `tar--check-descriptor'.
30463         (tar-untar-buffer): Use it to warn about imperfectly untarred link
30464         files.
30466 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
30468         Remove sh-mode's skeleton-end-hook
30470         * lisp/progmodes/sh-script.el (sh-mode): Remove local setting of
30471         `skeleton-end-hook', `skeleton-insert' already does `newline-and-indent'
30472         and also respects `skeleton-end-newline' (Bug#16634).
30474 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30476         * nt/gnulib.mk (stdint.h): Update to match lib/gnulib.mk here.
30478 2017-01-01  Mark Oteiza  <mvoteiza@udel.edu>
30480         Add term/tmux.el
30482         Since tmux version 2.1, new tmux terminfos are shipped due to oddities
30483         with xterm and screen terminfos.  This is simply a duplication of
30484         term/screen.el with screen -> tmux.
30485         * lisp/term/tmux.el: New file.
30487 2017-01-01  Philipp Stephani  <phst@google.com>
30489         Fix encoding of JSON surrogate pairs
30491         JSON requires that such pairs be treated as UTF-16 surrogate pairs, not
30492         individual code points; cf. Bug #24784.
30494         * lisp/json.el (json-read-escaped-char): Fix decoding of surrogate
30495         pairs.
30496         (json--decode-utf-16-surrogates): New defun.
30498         * test/lisp/json-tests.el (test-json-read-string): Add test for
30499         surrogate pairs.
30501 2017-01-01  Michael Albinus  <michael.albinus@gmx.de>
30503         Remove tramp-gw.el, which was synced from emacs-25 by accident
30505 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30507         Do not use Gnulib’s m4/wint_t.m4.
30509         * admin/merge-gnulib: Remove m4/wint_t.m4 when merging.
30510         Fix typo so that warn-on-use.m4 is removed too.
30511         * configure.ac (gt_TYPE_WINT_T): New macro, replacing Gnulib’s.
30512         * m4/wint_t.m4: Remove.
30514 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30516         Merge from gnulib, continued
30518         * m4/wint_t.m4: New file, copied from gnulib.
30520 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30522         Update copyright year to 2017 in master
30524         Run admin/update-copyright in the master branch.  This fixes files
30525         that were not already fixed in the emacs-25 branch before it was
30526         merged here.
30528 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30530         Remove test/automated detritus from merge
30532 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30534         Merge from gnulib
30536         This incorporates:
30537         2016-12-19 stdint: Fix WINT_MAX to match wint_t on mingw
30538         2016-12-18 getopt: Fix link error for users of getopt() in <unistd.h>
30539         2016-12-17 getlogin: Port to newer mingw
30540         2016-12-17 stdint: Fix WINT_MAX to match wint_t on MSVC
30541         2016-12-17 Avoid redefinition errors on MSVC
30542         * lib/getopt.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/unistd.in.h:
30543         * m4/stdint.m4, m4/unistd_h.m4:
30544         Copy from gnulib.
30545         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
30546         Plus, this commit updates the indenting on copyright notices to
30547         match that of gnulib.
30549 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30551         Merge from origin/emacs-25
30553         2e2a806 Fix copyright years by hand
30554         5badc81 Update copyright year to 2017
30556 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30558         Merge from origin/emacs-25
30560         665be69 ; Update ChangeLog.2 and AUTHORS files
30562         # Conflicts:
30563         #       etc/AUTHORS
30565 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30567         Merge from origin/emacs-25
30569         697167b ; Improve wording of previous change in variables.texi
30570         d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v...
30571         8b71826 Don't modify minibuffer variables globally
30572         5b5e036 Revert to pre-25.1 behavior in ffap
30573         19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
30574         3ace730 Attempt to fix 64-bit AIX build
30575         f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
30576         c04ac8a Document that variable binding order is unspecified
30577         272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
30578         08de101 Fix M-x hints on Mac port
30579         86a297a Work around reporting a dpi change in apply_xft_settings
30580         cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change
30581         9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't m...
30582         88cdf14 Improve skeleton docstrings
30584 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30586         Merge from origin/emacs-25
30588         4179238 Improve documentation of 'w32-scroll-lock-modifier'
30590 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30592         Merge from origin/emacs-25
30594         9adb101 Document 'describe-fontset'
30595         229315c ; Add missing symbol quoting.
30596         3d94931 Repair desktop restoration on text terminals
30597         43022f9 Ignore forward-sexp-function in js-mode indentation code
30598         b19fb49 Improve documentation of 'define-coding-system'
30599         467768f Fix Bug#25162
30600         6db78ae Fix a typo in define-abbrev-table
30601         5f7d906 Bump makeinfo requirement from 4.7 to 4.13
30602         442e2f6 Fixes related to select-enable-clipboard
30603         e4ac450 Define struct predicate before acccesors
30604         08decbd Doc fix for vc-git
30605         5531e75 Further improve make-dist checking
30606         953bf67 Improve previous make-dist change
30607         129645a Make make-dist --snapshot do some sanity checks
30609         # Conflicts:
30610         #       lisp/menu-bar.el
30612 2017-01-01  Alan Mackenzie  <acm@muc.de>
30614         Give eval-and-compile a correct edebug spec.  Fixes bug #16184 properly.
30616         * lisp/emacs-lisp/edebug.el (edebug_offset_indices): Revert abortive commit
30617         from Thu Dec 29 09:22:36 2016 +0000 which didn't really fix the bug.
30619         * lisp/emacs-lisp/byte-run.el (eval-and-compile): Change the edebug spec from
30620         t to (&rest def-form).
30622 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30624         Fix copyright years by hand
30626         These are dates that admin/update-copyright did not update, or
30627         updated incorrectly.
30629 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30631         Update copyright year to 2017
30633         Run admin/update-copyright.
30635 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
30637         Clarify internal_catch etc.
30639         The recent change to internal_catch and friends relied on some
30640         confusion I introduced to the code in 2013.  Attempt to fix
30641         the confusion by clarifying the code instead.  This saves an
30642         instruction and a load dependency in the typical case.
30643         * src/eval.c (internal_catch, internal_condition_case)
30644         (internal_condition_case_1, internal_condition_case_2)
30645         (internal_condition_case_n): Undo the previous change.  Instead,
30646         use use ‘c’ rather than ‘handlerlist’ in the typical case.
30647         Also, use ‘eassert’ rather than ‘clobbered_eassert’ when possible.
30649 2016-12-31  Ken Brown  <kbrown@cornell.edu>
30651         Further improve filenotify-tests.el
30653         * test/lisp/filenotify-tests.el
30654         (file-notify--test-read-event): Adapt to file monitors of type
30655         GFamFileMonitor, which occur on Cygwin.
30656         (file-notify--test-monitor): Update doc string.
30658 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
30660         * src/xdisp.c (string_from_display_spec): Simplify.
30662 2016-12-31  Alan Third  <alan@idiocy.org>
30664         Rework NS event handling (bug#25265)
30666         * src/nsterm.m (unwind_apploopnr): Remove.
30667         (ns_read_socket): Remove references to apploopnr.  Make processing the
30668         NS event loop conditional on being in the main thread.
30669         (ns_select): Remove references to apploopnr.  Remove all fd_handler
30670         related stuff.  Check if there are events waiting on the NS event
30671         queue rather than running the event loop.  Remove unused variables and
30672         code.
30673         (fd_handler): Remove.
30674         (ns_term_init): Remove creation of fd_handler thread.
30675         (hold_event, EmacsApp:sendEvent, EmacsView:mouseMoved,
30676         EmacsView:windowDidExpose): Remove send_appdefined.
30677         (ns_send_appdefined): Always check the event queue for
30678         applicationDefined events rather than relying on send_appdefined var.
30679         * src/nsterm.h: Remove reference to fd_handler method.
30681 2016-12-31  Philipp Stephani  <phst@google.com>
30683         Checkdoc: use syntax functions instead of regex
30685         In checkdoc.el, get rid of the error-prone regex to find definition
30686         forms, and use existing syntax-based navigation functions instead.
30687         This fixes a corner case with one-argument `defvar' forms.
30689         * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): New function.
30690         (checkdoc-next-docstring, checkdoc-defun): Use it.
30691         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--next-docstring):
30692         Add unit test.
30694 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
30696         Don't define NOMINMAX on MS-Windows
30698         * src/callproc.c (NOMINMAX) [WINDOWSNT]: Don't define.  This is no
30699         longer needed with the current sources and MinGW headers, while
30700         defining NOMINMAX causes an annoying compiler warning.
30702 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
30704         Simplify code in eval.c that calls 'setjmp'
30706         * src/eval.c (internal_catch, internal_condition_case)
30707         (internal_condition_case_1, internal_condition_case_2)
30708         (internal_condition_case_n): Factor out the common tail of the
30709         functions.
30711 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
30713         Simplify code in 'string_from_display_spec'
30715         * src/xdisp.c (string_from_display_spec): Eliminate a redundant
30716         test before the loop.
30718 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
30720         Serialize random number generation on MS-Windows
30722         * src/w32.c (rand_as183): New function.
30723         (random): Use it instead of MS runtime's 'rand'.  This avoids
30724         producing separate and identical random series in each Lisp
30725         thread.
30726         (srandom): Modify to supply 3 seed values to 'rand_as183'.
30728 2016-12-31  Michael Albinus  <michael.albinus@gmx.de>
30730         * src/gfilenotify.c (Fgfile_monitor_name): Return interned symbol.
30732 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
30734         Don't call xg_select for a NextStep build.
30736         NextStep builds use glib but don't use xg_select.
30738         * src/process.c (wait_reading_process_output): Don't call xg_select
30739         for a NextStep build.
30741 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
30743         Increase the obarray size.
30745         In a typical GNU/Linux/X11 build, we wind up with over 15k symbols by
30746         the time we've started.  The old obarray size ensured an average chain
30747         length of 10 or more.
30749         * src/lread.c (OBARRAY_SIZE): Increase to 15121.
30751 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
30753         Initialize thread support for Xlib.
30755         * src/xterm.c (x_initialize) [THREADS_ENABLED]: Call XInitThreads
30756         before doing anything else with X.
30758 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
30760         Rename primary_thread to main_thread
30762         This avoids the confusion of using two different phrases "main thread"
30763         and "primary thread" internally to mean the same thing.  See:
30764         https://lists.gnu.org/r/emacs-devel/2016-12/msg01142.html
30765         * src/thread.c (main_thread): Rename from primary_thread,
30766         since the new name no longer clashes with main_thread_id
30767         and Emacs internals normally call this the "main thread".
30768         (init_main_thread): Rename from init_primary_thread.
30769         (main_thread_p): Rename from primary_thread_p.
30770         All uses changed.
30772 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
30774         Rename main_thread to main_thread_id and simplify
30776         * src/emacs-module.c: Include syssignal.h, for main_thread_id.
30777         [HAVE_PTHREAD]: Do not include pthread.h.
30778         (main_thread): Remove.  All uses replaced by main_thread_id,
30779         or by dwMainThreadId on NT.  Since the HAVE_PTHREAD code is now using
30780         the main_thread_id established by sysdep.c, there is no need for a
30781         separate copy of the main thread ID here.
30782         (module_init): Remove.  All uses removed.
30783         * src/sysdep.c (main_thread_id) [HAVE_PTHREAD]:
30784         Rename from main_thread.  All uses changed.  Now extern.
30786 2016-12-30  Michael Albinus  <michael.albinus@gmx.de>
30788         * src/gfilenotify.c (Fgfile_monitor_name): Return a symbol.
30790 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
30792         * src/sysdep.c (deliver_process_signal): Improve comment.
30794 2016-12-30  Alan Mackenzie  <acm@muc.de>
30796         CC Mode: Fix the fontification of a spuriously recognized enum member.
30798         The "enum" was in an argument list, but triggered the fontification of a
30799         following identifier in the function block as though it were in an enum
30800         declaration.
30802         * lisp/progmodes/cc-fonts.el (c-font-lock-enum-body): New function.
30803         (c-basic-matchers-after): Replace the inline stanza for enum elements with a
30804         call to c-font-lock-enum-body.
30806         * lisp/progmodes/cc-langs.el (c-enum-clause-introduction-re): New language
30807         variable.
30809 2016-12-30  Nicolas Petton  <nicolas@petton.fr>
30811         Bump Emacs version to 25.1.91
30813         * README:
30814         * configure.ac:
30815         * msdos/sed2v2.inp:
30816         * nt/README.W32: Bump Emacs version.
30817         * lisp/ldefs-boot.el: Update.
30819 2016-12-30  Eli Zaretskii  <eliz@gnu.org>
30821         Attempt to fix crashes with threads in GTK builds
30823         * src/xgselect.c (xg_select): Call pselect via thread_select, not
30824         directly, to avoid running Lisp (via unblock_input) when more than
30825         one thread could be running.  (Bug#25247)
30826         * src/process.c (wait_reading_process_output) [HAVE_GLIB]: Call
30827         xg_select directly instead of through thread_select.
30828         * src/xgselect.h (xg_select): Last 2 arguments are no longer
30829         'const', for consistency with thread_select.
30831 2016-12-30  Arash Esbati  <arash.esbati@gmail.com>
30833         Add entry for biblatex
30835         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
30836         entry for biblatex macros.
30838 2016-12-30  Alan Mackenzie  <acm@muc.de>
30840         Backport: Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
30842         The ambiguity was whether INITVALUE is evaluated when it's not going to be
30843         used to set SYMBOL's value.
30845         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
30847         (cherry picked from commit 8295e97f18490a535d1188a3daf0b0fd1bf4fa0d)
30849 2016-12-30  Tino Calancha  <tino.calancha@gmail.com>
30851         ffap-string-at-point: Limit max length of active region
30853         Prevents that 'ffap-guesser' waste time checking large strings
30854         which are likely not valid candidates (Bug#25243).
30855         * lisp/ffap.el (ffap-max-region-length): New variable.
30856         (ffap-string-at-point): Use it.
30857         * test/lisp/ffap-tests.el: New test suite.
30858         (ffap-tests-25243): Add test for this bug.
30860 2016-12-30  Thien-Thi Nguyen  <ttn@gnu.org>
30862         last-chance: Also ignore NEWS files + typo fixes
30864         * admin/last-chance.el: Fix typo in copyright notice.
30865         (last-chance-uninteresting-regexps): Add entry to match NEWS files.
30866         (last-chance-cleanup): Fix typo in docstring.
30868 2016-12-29  Mike Kupfer  <mkupfer@alum.berkeley.edu>
30870         * lisp/mh-e/mh-e.el (mh-fetch-x-image-url): Fix a docstring typo.
30872 2016-12-29  Alan Mackenzie  <acm@muc.de>
30874         Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
30876         The ambiguity was whether INITVALUE is evaluated when it's not going to be
30877         used to set SYMBOL's value.
30879         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
30881 2016-12-29  Michael Albinus  <michael.albinus@gmx.de>
30883         Improve filenotify-tests.el
30885         * src/inotify.c (Finotify_valid_p):
30886         * src/kqueue.c (Fkqueue_valid_p):
30887         * src/w32notify.c (Fw32notify_valid_p):
30888         * src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
30889         (Fgfile_monitor_name): New defun.
30890         (syms_of_gfilenotify): Declare Sgfile_monitor_name.
30892         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
30893         New defun, derived from `file-notify--test-read-event-timeout'.
30894         Replace all calls of `read-event' by this.
30895         (file-notify--test-timeout): Fix docstring.
30896         (file-notify--test-monitor): New defun.
30897         (file-notify--deftest-remote): Do not bind
30898         `file-notify--test-read-event-timeout' anymore.
30899         (file-notify-test00-availability): Print also monitor, if existent.
30900         (file-notify--test-with-events): Add an additional
30901         `file-notify--test-read-event' call, in order to get it work
30902         after `file-notify-add-watch'.  Remove special timeout for cygwin.
30903         (file-notify-test02-events): Make a better check for cygwin.
30904         (file-notify-test06-many-events): Improve event list for cygwin.
30905         (file-notify-test08-watched-file-in-watched-dir): Add cygwin case.
30907 2016-12-29  Alan Mackenzie  <acm@muc.de>
30909         Partially correct fontification of "(b*3)", and the like, in C++ Mode
30911         This problem is caused by the fundamental ambiguity in C++ between
30912         argument declarations and initialization clauses.
30914         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): If we have an open
30915         paren preceded by an arithmetic operator, we give this the context nil, not
30916         'arglist.
30918         * lisp/progmodes/cc-langs.el (c-arithmetic-operators, c-arithmetic-op-regexp):
30919         New lang consts and vars.
30921 2016-12-29  Alan Mackenzie  <acm@muc.de>
30923         Initialize edebug-offset-indices to a cons, not nil.  Fixes bug #16184.
30925         This is because there are times when this variable is changed by setcar before
30926         an atom is pushed onto it by debug-enter.  This happens, for example, whilst
30927         instrumenting c-font-lock-declarations in .../lisp/progmodes/cc-fonts.el.
30929         * lisp/emacs-lisp/edebug.el (edebug-offset-indices): initialize to '(0).
30931 2016-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
30933         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
30935         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
30936         Cherry picked from commit e6161f648903d821865b9610b3b6aa0f82a5dcb7.
30938 2016-12-27  Michael Albinus  <michael.albinus@gmx.de>
30940         Release Tramp 2.3.1
30942         * doc/misc/trampver.texi:
30943         * lisp/net/trampver.el: Change version to "2.3.1".
30945         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it to
30946         `eshell-mode-hook' but `eshell-first-time-mode-hook'.
30948         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
30949         (tramp-compat-file-name-quote)
30950         (tramp-compat-file-name-unquote): Embed them in `eval-and-compile'.
30952 2016-12-27  Paul Eggert  <eggert@cs.ucla.edu>
30954         Simplify prog1 implementation
30956         Inspired by a suggestion from Chris Gregory in:
30957         https://lists.gnu.org/r/emacs-devel/2016-12/msg00965.html
30958         On my platform, this generates exactly the same machine insns.
30959         * src/eval.c (prog_ignore): Rename from unwind_body, since
30960         it’s more general than that.  All callers changed.
30961         (Fprog1): Simplify by using prog_ignore.
30962         (Fwhile): Clarify by using prog_ignore.
30964 2016-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
30966         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
30968         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
30970 2016-12-27  Mark Oteiza  <mvoteiza@udel.edu>
30972         Remove a use of lexical-let
30974         * lisp/gnus/message.el (message-completion-function): Just use let,
30975         since the file now uses lexical-binding.
30977 2016-12-27  Ken Brown  <kbrown@cornell.edu>
30979         Improve filenotify-tests.el on Cygwin (Bug #21804)
30981         * test/lisp/filenotify-tests.el [CYGWIN]
30982         (file-notify--test-read-event-timeout): Increase.
30983         (file-notify--test-with-events): Add delay before executing body.
30984         (file-notify-test02-events, file-notify-test04-file-validity):
30985         Adjust expected results.
30987 2016-12-27  Eli Zaretskii  <eliz@gnu.org>
30989         Fix expand-file-name on DOS_NT systems when /: escaping is used
30991         * src/fileio.c (Fexpand_file_name) [DOS_NT]: Don't expand "~" in
30992         file names escaped by "/:".  Don't recursively expand
30993         default-directory escaped with "/:" which is not followed by a
30994         drive spec.  (Bug#25183)
30996 2016-12-27  Bake Timmons  <65pandas@gmail.com>
30998         Fix `mail-sources' value of `(group)' in Gnus manual (bug#25275)
31000         * doc/misc/gnus.texi (Mail Source Specifiers):
31001         Replace wrong `mail-sources' value of `(group)' in Gnus manual with
31002         the correct `((group))' value.  (bug#25275) (tiny change)
31004 2016-12-27  Bake Timmons  <65pandas@gmail.com>
31006         Fix bug in customizing `mail-sources' variable (bug#25274)
31008         * lisp/gnus/mail-source.el (mail-sources): Use list instead of cons
31009         for lone argument. (bug#25274) (tiny change)
31011 2016-12-26  Philipp Stephani  <phst@google.com>
31013         Checkdoc: Don't require a space before an arg list
31015         See Bug#24998.
31017         * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-regexp): Don't require a
31018         space before a argument list.
31019         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--bug-24998):
31020         Add unit test.
31022 2016-12-26  Eli Zaretskii  <eliz@gnu.org>
31024         Document 'default-toplevel-value' and 'set-default-toplevel-value'
31026         * doc/lispref/variables.texi (Default Value): Document
31027         'default-toplevel-value' and 'set-default-toplevel-value'.
31029 2016-12-25  Michihito Shigemura  <m_shigemura@shigemk2.com>  (tiny change)
31031         Add zshrc and zshenv detection to sh-mode (bug#25217)
31033         * lisp/progmodes/sh-script.el (sh-mode): Add zsh string-match
31035 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
31037         Fix typo in lisp.h reordering patch
31039         * src/lisp.h (XUNTAG) [!USE_LSB_TAG]: Remove duplicate defn.
31040         Reported by Eli Zaretskii (Bug#25128#19).
31042 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
31044         regex.h now includes sys/types.h
31046         * src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
31047         Do not include sys/types.h; no longer needed.
31048         * src/regex.h: Include <sys/types.h>, as that's what Gnulib and
31049         glibc regex.h does, and POSIX has blessed this since 2008.
31051 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
31053         Reorder lisp.h to declare types before using them
31055         This puts basic functions for types to be after the corresponding
31056         type definitions.  This is a more-common programming style in C,
31057         and will make it easier to port Emacs to gcc
31058         -fcheck-pointer-bounds, since the functions now have access to the
31059         corresponding types' sizes.  This patch does not change the code;
31060         it just moves declarations and definitions and removes
31061         no-longer-needed forward declarations (Bug#25128).
31062         * src/buffer.c, src/data.c, src/image.c:
31063         Include process.h, for PROCESSP.
31064         * src/buffer.h (BUFFERP, CHECK_BUFFER, XBUFFER):
31065         * src/process.h (PROCESSP, CHECK_PROCESS, XPROCESS):
31066         * src/termhooks.h (TERMINALP, XTERMINAL):
31067         * src/window.h (WINDOWP, CHECK_WINDOW, XWINDOW):
31068         * src/thread.h (THREADP, CHECK_THREAD, XTHREAD, MUTEXP, CHECK_MUTEX)
31069         (XMUTEX, CONDVARP, CHECK_CONDVAR, XCONDVAR):
31070         Move here from lisp.h.
31071         * src/intervals.h: Include buffer.h, for BUFFERP.
31072         Include lisp.h, for Lisp_Object.
31073         * src/lisp.h: Reorder declarations and definitions as described
31074         above.  Move thread includes to be later, so that they can use the
31075         reordered definitions.  Move some symbols to other headers (noted
31076         elsewhere).  Remove forward decls that are no longer needed.
31077         * src/thread.h: Include systhread.h here, not in lisp.h,
31078         since lisp.h itself does not need systhread.h.
31080 2016-12-25  Leo Liu  <sdl.web@gmail.com>
31082         Don't modify minibuffer variables globally
31084         * lisp/files.el (cd): Use setq-local instead.  (Bug#25260)
31086 2016-12-25  Dima Kogan  <dima@secretsauce.net>
31088         diff-mode auto-refines only after a successful motion
31090         Prior to this patch (if enabled) auto-refinement would kick in after all
31091         hunk navigation commands, even if the motion failed.  This would result
31092         in a situation where the hunk navigation would signal an error and beep,
31093         but yet still accomplish potentially useful work, by auto-refining.
31094         This patch moves the auto-refinement code to only run when a motion was
31095         successful
31097         * lisp/vc/diff-mode.el (diff--internal-hunk-next,
31098           diff--internal-hunk-prev): Removed auto-refinement-triggering code
31099         * lisp/vc/diff-mode.el (diff--wrap-navigation): Added
31100           auto-refinement-triggering code
31102 2016-12-25  Dima Kogan  <dima@secretsauce.net>
31104         diff-mode is able to better handle file headers
31106         This fixes a regression introduced in
31108           https://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085
31110         This bug was filed in
31112           https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25105
31114         Patches generated from a VCS such as git contain a patch message at the
31115         start, and diff-mode is now once-again able to properly able to ignore
31116         this message when issuing navigation commands around the message.
31118         * lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): More
31119           thoroughly ignore the header when looking for a beginning of file
31120           diffs.
31122 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
31124         Use libpng-config --ldflags, not --libs
31126         Problem reported by James K. Lowden (Bug#25268).
31127         * configure.ac (LIBPNG): Pass --ldflags, not --libs, to libpng-config.
31129 2016-12-24  Eli Zaretskii  <eliz@gnu.org>
31131         Revert to pre-25.1 behavior in ffap
31133         * lisp/ffap.el (ffap-lax-url): Change the default to t, to produce
31134         the same behavior as in Emacs 24.x.  (Bug#25264)
31135         Explain the trade-offs of customizing this in the doc string.
31137 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
31139         * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
31141 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
31143         Remove redundant `save-match-data' in whitespace.el
31145         * lisp/whitespace.el (whitespace-cleanup, whitespace-cleanup-region):
31146         (whitespace-report-region): Remove redundant `save-match-data' calls.
31148 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
31150         Fix whitespace eob cleanup
31152         * lisp/whitespace.el (whitespace-empty-at-eob-regexp): Match any number
31153         of empty lines at end of buffer.
31154         * test/lisp/whitespace-tests.el (whitespace-cleanup-eob): New test.
31155         (whitespace-tests--cleanup-string): New helper function for tests.
31157 2016-12-24  Hong Xu  <hong@topbug.net>
31159         Fix timezone detection of parse-iso8601-time-string
31161         * lisp/calendar/parse-time.el (parse-iso8601-time-string): Fix timezone
31162         parsing.  Add a doc string.  (Bug#25086)
31163         * src/editfns.c (Fdecode-time): Doc fix.
31164         * doc/misc/emacs-mime.texi (time-date): Add an example for
31165         parse-iso8601-time-string.
31166         * test/lisp/calendar/parse-time-tests.el (parse-time-tests): Add
31167         tests for parse-iso8601-time-string.
31169 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
31171         Simplify exec_byte_code via moving decls etc.
31173         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
31174         initializers into decls, and by omitting some unnecessary changes
31175         to ‘top’.
31177 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
31179         Remove interpreter’s byte stack
31181         This improves performance overall on my benchmark on x86-64,
31182         since the interpreted program-counter resides in a machine
31183         register rather than in RAM.
31184         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
31185         is no longer a byte stack to decode.
31186         * src/bytecode.c (struct byte_stack, byte_stack_list)
31187         (relocate_byte_stack): Remove.  All uses removed.
31188         (FETCH): Simplify now that pc is now local (typically, in a
31189         register) and no longer needs to be relocated.
31190         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
31191         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
31192         (exec_byte_code): Allocate a copy of the function’s bytecode,
31193         so that there is no problem if GC moves it.
31194         * src/lisp.h (struct handler): Remove byte_stack member.
31195         All uses removed.
31196         * src/thread.c (unmark_threads): Remove.  All uses removed.
31197         * src/thread.h (struct thread_state): Remove m_byte_stack_list member.
31198         All uses removed.  m_stack_bottom is now the first non-Lisp field.
31200 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
31202         BYTE_CODE_SAFE typo fix
31204         * src/bytecode.c (FETCH): Depend on the value of BYTE_CODE_SAFE,
31205         not on whether it is defined.
31207 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
31209         BYTE_CODE_SAFE cleanups
31211         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove; no longer needed.
31212         (struct byte_stack) [BYTE_MAINTAIN_TOP]:
31213         Remove unused members ‘top’ and ‘bottom’.
31214         (exec_byte_code): Nest inside { } to avoid GCC warning about
31215         jumping over declaration when compiled with -DBYTE_CODE_SAFE.
31217 2016-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
31219         last-chance: new utility lib for dangling deterrence
31221         * admin/last-chance.el: New file.
31223 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
31225         Use max_align_t instead of void *
31227         * src/thread.c (run_thread): Don’t assume void * is aligned enough.
31229 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
31231         Attempt to fix 64-bit AIX build
31233         * src/unexaix.c (make_hdr, copy_text_and_data, write_segment): Fix
31234         type-casts that assumed 32-bit pointers.  (Bug#25141)
31236 2016-12-23  Philipp Stephani  <phst@google.com>
31238         Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
31240         * doc/misc/ediff.texi (Hooks): Clarify usage of 'ediff-cleanup-hook'
31242 2016-12-23  Philipp Stephani  <phst@google.com>
31244         Document that variable binding order is unspecified
31246         * doc/lispref/variables.texi (Local Variables):
31247         * doc/misc/cl.texi (Modify Macros): Document that binding order in 'let' and
31248         'cl-letf' is unspecified.
31250 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
31252         Prevent infloops in redisplay due to truncate-lines and overlays
31254         * src/xdisp.c (hscroll_window_tree): Avoid inflooping in
31255         redisplay_window when a screen line ends in an overlay string with
31256         a newline.  (Bug#25246)
31258 2016-12-23  Philipp Stephani  <phst@google.com>
31260         Treat incomplete integer literals as errors
31262         See Bug#25120.
31264         * src/lread.c (read_integer): Treat incomplete integer literals as errors.
31265         * test/src/lread-tests.el (lread-empty-int-literal): New unit test for
31266         incomplete integer literals.
31268 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
31270         * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
31272 2016-12-23  Stefan Monnier  <monnier@IRO.UMontreal.CA>
31274         Fix M-x hints on Mac port
31276         * lisp/simple.el (execute-extended-command--shorter): Call
31277         input-pending-p to trigger input processing on some systems, such
31278         as Mac port.  (Bug#23002)
31280 2016-12-23  Michael Albinus  <michael.albinus@gmx.de>
31282         * test/lisp/net/tramp-tests.el (tramp--test-check-files): Make it robust.
31284 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
31286         Avoid aborts due to unaligned byte stack of threads
31288         * src/thread.c (run_thread): Make sure the pointers to thread byte
31289         stack are properly aligned.  (Bug#25247)
31291 2016-12-22  Paul Eggert  <eggert@cs.ucla.edu>
31293         Pacify --enable-gcc-warnings
31295         * src/charset.c (load_charset_map):
31296         * src/coding.c (decode_coding_object):
31297         * src/frame.c (make_frame):
31298         * src/window.c (Frecenter):
31299         Mark locals with UNINIT to silence false alarms from
31300         -Wmaybe-uninitialized.
31301         * src/lisp.h (SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD)
31302         (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD):
31303         Check and assume that values are nonnull.  This pacifies
31304         -Wmaybe-uninitialized in Fmake_variable_buffer_local and
31305         Fmake_local_variable.
31307 2016-12-22  Eli Zaretskii  <eliz@gnu.org>
31309         Fix last change with thread marking under GC_CHECK_MARKED_OBJECTS
31311         * src/thread.c (primary_thread_p): New function.
31312         * src/alloc.c (mark_object): Use 'primary_thread_p' to bypass tests
31313         meant for thread objects allocated dynamically.
31314         * src/thread.h (primary_thread_p): Add prototype.
31316 2016-12-22  Martin Rudalics  <rudalics@gmx.at>
31318         Work around reporting a dpi change in apply_xft_settings
31320         * src/xsettings.c (apply_xft_settings): Don't report a change
31321         when dpi settings do not differ substantially.
31323 2016-12-22  Noam Postavsky  <npostavs@gmail.com>
31325         Use completion-at-point in verilog-mode
31327         There were some functions in verilog-mode that implemented in-buffer
31328         completion, but this needlessly duplicates completion-at-point
31329         functionality, and the popup window management had problems
31330         (see Bug #23842).  We need to keep them for backwards compatibility with
31331         older emacs versions, but use completion-at-point if available.
31333         * lisp/progmodes/verilog-mode.el (verilog-toggle-completions): Mark as
31334         obsolete if completion-cycle-threshold is available.
31335         (verilog-mode-map, verilog-menu): Bind completion-at-point and
31336         completion-help-at-point in preference to verilog-complete-word and
31337         verilog-show-completions, respectively.
31338         (verilog-mode): Add verilog-completion-at-point to
31339         completion-at-point-functions.
31340         (verilog-completion-at-point): New function.
31341         (verilog-show-completions, verilog-complete-word): Use it to avoid code
31342         duplication.
31344 2016-12-21  Reuben Thomas  <rrt@sc3d.org>
31346         Keep default CASECHARS/NOT-CASECHARS for ispell built-in dictionaries
31348         * lisp/textmodes/ispell.el (ispell-set-spellchecker-params): Do not
31349         override CASECHARS and NOT-CASECHARS.  The ispell dictionaries
31350         retain their hardwired values, and all other dictionaries are given
31351         sensible defaults.
31353 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
31355         * lisp/textmodes/tex-mode.el (tex-compile-commands): Add luatex
31356         and xetex commands.
31358 2016-12-21  Eli Zaretskii  <eliz@gnu.org>
31360         Fix aborts in GC under GC_CHECK_MARKED_OBJECTS
31362         * src/alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Don't abort
31363         for thread objects.  They are marked via the all_threads list, and
31364         therefore don't need to be inserted into the red-black tree, so
31365         mem_find will never find them.  Reported by Daniel Colascione
31366         <dancol@dancol.org> in
31367         https://lists.gnu.org/r/emacs-devel/2016-12/msg00817.html.
31369 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
31371         * src/data.c (Fmake_variable_frame_local): Remove
31373         * src/lisp.h (struct Lisp_Buffer_Local_Value): Remove `frame_local'.
31375         * src/data.c (swap_in_symval_forwarding, set_internal)
31376         (set_symbol_trapped_write, make_blv, Fmake_variable_buffer_local)
31377         (Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
31378         Don't pay attention to ->frame_local any more.
31379         (syms_of_data): Remove Qtrapping_frame_local and don't defsubr
31380         Smake_variable_frame_local.
31382         * etc/NEWS (Incompatible Lisp Changes in Emacs 26.1): Announce removal
31383         of make-variable-frame-local.
31385         * lisp/help-fns.el (describe-variable): Don't handle the now impossible
31386         frame-local case.
31388         * lisp/subr.el (make-variable-frame-local): Remove obsolescence data.
31390         * src/frame.c (store_frame_param):
31391         * src/eval.c (specbind): Don't pay attention to ->frame_local any more.
31393         * src/widget.c (first_frame_p): Remove, unused.
31395 2016-12-21  Paul Eggert  <eggert@cs.ucla.edu>
31397         Port dumping better to WSL
31399         Problem reported by Angelo Graziosi in:
31400         https://lists.gnu.org/r/emacs-devel/2016-12/msg00822.html
31401         * src/sysdep.c (disable_address_randomization):
31402         Detect buggy platforms where 'personality' always returns 0.
31404 2016-12-21  Michael Albinus  <michael.albinus@gmx.de>
31406         Remove gateway methods in Tramp
31408         * doc/misc/tramp.texi (Top, Configuration): Remove section
31409         `Gateway methods', insert section `Firewalls' in menu.
31410         (History): Gateways are removed now.
31411         (Gateway methods): Remove section.
31412         (Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
31413         (Firewalls): New section.
31415         * etc/NEWS: Gateway methods in Tramp have been removed.
31417         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
31418         (tramp-file-name-port, tramp-accept-process-output): Simplify.
31420         * lisp/net/tramp-gw.el: Remove.
31422         * lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
31423         (tramp-gw-socks-method): Remove declarations.
31424         (tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
31425         Remove `tramp-gw-args' and `tramp-default-port'.  (Bug#18967)
31426         (tramp-do-copy-or-rename-file-out-of-band)
31427         (tramp-compute-multi-hops, tramp-maybe-open-connection):
31428         Remove gateway support.
31430         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
31431         Remove gateway tests.
31433 2016-12-20  Alan Mackenzie  <acm@muc.de>
31435         Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't merge to trunk.
31437         lisp/progmodes/cc-defs.el: Amend the version number.
31438         etc/NEWS: Add an item explaining the change.
31440 2016-12-20  Tino Calancha  <tino.calancha@gmail.com>
31442         files-test-read-file-in-: Delete temporary dir on exit
31444         * test/lisp/files-tests.el (files-test-read-file-in-~):
31445         Create subdir inside dir.
31447 2016-12-20  Christopher Genovese  <genovese@cmu.edu>
31449         ibuffer: New filters and commands
31451         Add several new filters and improve documentation.
31452         See discussion on:
31453         https://lists.gnu.org/r/emacs-devel/2016-11/msg00399.html
31454         * lisp/ibuf-ext.el: Add paragraph to file commentary.
31455         (ibuffer-saved-filters, ibuffer-filtering-qualifiers)
31456         (ibuffer-filter-groups): Update doc string.
31457         (ibuffer-unary-operand): Add new function that transparently
31458         handles 'not' formats for compound filters.
31459         (ibuffer-included-in-filter-p): Handle 'not' fully; update doc string.
31460         (ibuffer-included-in-filter-p-1): Handle 'and' compound filters.
31461         (ibuffer-decompose-filter): Handle 'and' as well,
31462         and handle 'not' consistently with other uses.
31463         (ibuffer-and-filter): New defun analogous to 'ibuffer-or-filter'.
31464         (ibuffer--or-and-filter): New defun.
31465         (ibuffer-or-filter, ibuffer-and-filter): Use it.
31466         (ibuffer-format-qualifier): Handle 'and' filters as well.
31467         (ibuffer-filter-by-basename, ibuffer-filter-by-file-extension)
31468         (ibuffer-filter-by-directory, ibuffer-filter-by-starred-name)
31469         (ibuffer-filter-by-modified, ibuffer-filter-by-visiting-file):
31470         Add new pre-defined filters.
31471         (ibuffer-filter-chosen-by-completion): Add new interactive command
31472         for easily choosing a filter from the descriptions.
31473         * lisp/ibuffer.el (ibuffer-mode-map):
31474         Bind ibuffer-filter-by-basename, ibuffer-filter-by-file-extension,
31475         ibuffer-filter-by-starred-name, ibuffer-filter-by-modified,
31476         ibuffer-filter-by-visiting-file to '/b', '/.', '/*', '/i', '/v'
31477         respectively; bind 'ibuffer-or-filter', 'ibuffer-and-filter',
31478         'ibuffer-pop-filter' ,'ibuffer-pop-filter-group' and
31479         'ibuffer-filter-disable' to '/|', '/&', '/<up>', '/S-<up>'
31480         and '/ DEL' respectively.
31481         * test/lisp/ibuffer-tests.el (ibuffer-autoload): Add appropriate
31482         skip specification.
31483         Add menu entries for the new filters.
31484         (ibuffer-filter-inclusion-1, ibuffer-filter-inclusion-2
31485         ibuffer-filter-inclusion-3, ibuffer-filter-inclusion-4
31486         ibuffer-filter-inclusion-5, ibuffer-filter-inclusion-6
31487         ibuffer-filter-inclusion-7, ibuffer-filter-inclusion-8
31488         ibuffer-decompose-filter, ibuffer-and-filter
31489         ibuffer-or-filter): Add new tests; they are skipped unless
31490         ibuf-ext is loaded.
31492 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
31494         Update NEWS
31496         * etc/NEWS (Image-Dired): New section.
31498 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
31500         Recognize graphicsmagick in image-dired
31502         * lisp/image-dired.el (image-dired-cmd-create-thumbnail-program):
31503         (image-dired-cmd-create-thumbnail-options):
31504         (image-dired-cmd-create-temp-image-program):
31505         (image-dired-cmd-create-temp-image-options):
31506         (image-dired-cmd-create-standard-thumbnail-options):
31507         (image-dired-cmd-rotate-thumbnail-program):
31508         (image-dired-cmd-rotate-thumbnail-options): Account for existence of
31509         gm(1) executable.
31511 2016-12-20  Noam Postavsky  <npostavs@gmail.com>
31513         Improve skeleton docstrings
31515         * lisp/skeleton.el (skeleton-end-newline): Remove mention of
31516         `skeleton-end-hook', its default code was moved into `skeleton-insert'.
31517         (skeleton-insert): Mention `skeleton-end-newline' and move reference to
31518         `skeleton-end-hook' above the explanation of skeleton syntax.
31520 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
31522         Implement asynchronous thumbnail generation in image-dired
31524         Additionally, all FOO-options defcustoms that were in fact shell command
31525         strings have been converted to argument lists.  Another method for
31526         shrinking PNG thumbs with optipng(1) has been added.
31527         * lisp/image-dired.el: Remove TODO item in commentary.
31528         (image-dired-cmd-create-thumbnail-options):
31529         (image-dired-cmd-create-temp-image-options):
31530         (image-dired-cmd-rotate-thumbnail-options):
31531         (image-dired-cmd-rotate-original-options):
31532         (image-dired-cmd-write-exif-data-options):
31533         (image-dired-cmd-read-exif-data-options): Convert to argument lists.
31534         (image-dired-cmd-pngnq-program, image-dired-cmd-pngcrush-program):
31535         Change string type to file.
31536         (image-dired-cmd-create-standard-thumbnail-command): Remove.
31537         (image-dired-cmd-pngnq-options):
31538         (image-dired-cmd-create-standard-thumbnail-options):
31539         (image-dired-cmd-optipng-program, image-dired-cmd-optipng-options):
31540         New defcustoms.
31541         (image-dired-queue, image-dired-queue-active-jobs):
31542         (image-dired-queue-active-limit): New variables.
31543         (image-dired-pngnq-thumb, image-dired-pngcrush-thumb):
31544         (image-dired-optipng-thumb): New functions.
31545         (image-dired-create-thumb-1): Renamed from image-dired-create-thumb.
31546         Use start-process instead of call-process.  Set file modes.  Trigger
31547         PNG file optimization in process sentinel.
31548         (image-dired-thumb-queue-run, image-dired-create-thumb): New functions.
31549         (image-dired-display-thumbs):
31550         (image-dired-create-thumbs): Don't expect call-process return value.
31551         (image-dired-display-image, image-dired-rotate-thumbnail): Use
31552         start-process instead of call-process.
31553         (image-dired-rotate-original, image-dired-set-exif-data):
31554         (image-dired-get-exif-data): Adapt to arguments being an arg list.
31556 2016-12-19  Andreas Schwab  <schwab@linux-m68k.org>
31558         Protect change of window's buffer in vertical-motion against unwinds (bug#25209)
31560         * src/indent.c (restore_window_buffer): New function.
31561         (Fvertical_motion): Use it to restore window's buffer.
31563 2016-12-19  Glenn Morris  <rgm@gnu.org>
31565         Improve default load-path for uninstalled CANNOT_DUMP builds
31567         * src/lread.c (load_path_default) [CANNOT_DUMP]:
31568         Use build load-path if we seem to be running uninstalled.  (Bug#24974)
31569         I think this became an issue several years ago when we stopped
31570         using EMACSLOADPATH in the Makefiles; however this change should
31571         improve the CANNOT_DUMP uninstalled case in general.
31573 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
31575         Improve documentation of 'w32-scroll-lock-modifier'
31577         * doc/emacs/msdos.texi (Windows Keyboard): Document how to set up
31578         w32-scroll-lock-modifier so that Scroll Lock toggles the LED.
31580         * src/w32fns.c (syms_of_w32fns) <w32-scroll-lock-modifier>: Doc
31581         fix.  (Bug#25204)
31583 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
31585         Document 'describe-fontset'
31587         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
31588         (Bug#25216)
31590 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
31592         Document 'describe-fontset'
31594         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
31595         (Bug#25216)
31597 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
31599         Fix crashes upon C-g on Posix TTY frames
31601         * src/thread.h (struct thread_state): New member not_holding_lock.
31602         (maybe_reacquire_global_lock): Add prototype.
31603         * src/thread.c: Include syssignal.h.
31604         (maybe_reacquire_global_lock): New function.
31605         (really_call_select): Set the not_holding_lock member of the
31606         thread state before releasing the lock, and rest it after
31607         re-acquiring the lock when the select function returns.  Block
31608         SIGINT while doing this to make sure we are not interrupted on TTY
31609         frames.
31610         * src/sysdep.c (block_interrupt_signal, restore_signal_mask): New
31611         functions.
31612         * src/syssignal.h (block_interrupt_signal, restore_signal_mask):
31613         Add prototypes.
31614         * src/keyboard.c (read_char) [THREADS_ENABLED]: Call
31615         maybe_reacquire_global_lock.  (Bug#25178)
31617 2016-12-19  Sam Steingold  <sds@gnu.org>
31619         avoid Eager macro-expansion failure: (void-function string-to-list)
31621         * lisp/loadup.el [ns]: "ucs-normalize" uses `string-to-list' which is defined
31622           in "mule-util", so we have to load "mule-util" before "ucs-normalize",
31623           otherwise I get "Eager macro-expansion failure" on "make bootstrap"
31625 2016-12-19  Michael Albinus  <michael.albinus@gmx.de>
31627         Fix Bug#24980
31629         * lisp/ido.el (ido-add-virtual-buffers-to-list):
31630         Suppress Tramp invocation.  (Bug#24980)
31632 2016-12-18  Philipp Stephani  <phst@google.com>
31634         Add a new compile error regexp for Clang includes
31636         Clang uses a slight variation of GCC's include format, causing includes
31637         to be treated as warnings instead of informational messages.  Use a new
31638         regular expression instead.
31640         * lisp/progmodes/compile.el
31641         (compilation-error-regexp-alist-alist): New element
31642         `clang-include' for Clang-style "included from" lines.
31643         * test/lisp/progmodes/compile-tests.el
31644         (compile-tests--test-regexps-data): Add unit test.
31646 2016-12-18  Alan Third  <alan@idiocy.org>
31648         Reinstate ispell character offset (bug#25219)
31650         * lisp/textmodes/ispell.el (ispell-process-line): insert -1 where
31651         ispell-offset used to be.
31653 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
31655         Bind new image-mode scroll commands in image-dired
31657         * lisp/image-dired.el (image-dired-display-image-mode-map): Add bindings
31658         to new image-mode commands.
31660 2016-12-18  Noam Postavsky  <npostavs@gmail.com>
31662         Fix rx-any with range with ?\] and ?-
31664         * lisp/emacs-lisp/rx.el: Make sure not to produce a circular
31665         list (Bug#25123).
31666         * test/lisp/emacs-lisp/rx-tests.el (rx-char-any): New test.
31668 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
31670         Use floor of mtime instead of rounding for thumb property
31672         This seems to be the correct thing to do, at least more in line with
31673         what at least one other implementation does.  Anything using
31674         gnome-desktop [0] effectively does the same, as
31675         gnome_desktop_thumbnail_is_valid applies atol(3) to mtime for
31676         comparison and time_t on GNU/Linux is a signed int.
31677         [0] https://git.gnome.org/browse/gnome-desktop/
31678         * lisp/image-dired.el (image-dired-create-thumb): Use floor here.
31680 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
31682         Fix spelling mistake in private defun name (Bug#25218)
31684         lisp/textmodes/flyspell.el (flyspell-ajust-cursor-point): Rename to
31685         `flyspell-adjust-cursor-point'.
31687 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
31689         Remove XEmacs support from flyspell.el (Bug#25218)
31691         lisp/textmodes/flyspell.el (flyspell-prog-mode, flyspell-mode-on):
31692         (flyspell-word, flyspell-delete-region-overlays):
31693         (flyspell-correct-word-before-point): Remove XEmacs support.
31694         (flyspell-xemacs-popup): Remove XEmacs-specific defun.
31696 2016-12-17  Michael Albinus  <michael.albinus@gmx.de>
31698         More tests for Tramp
31700         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle quoted
31701         file names.
31703         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Quote file
31704         name properly.
31706         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
31707         Mark quoted file name as absolute.  (Bug#25183)
31708         (tramp--test-windows-nt-and-batch)
31709         (tramp--test-windows-nt-and-pscp-psftp-p): New defuns.
31710         (tramp--test-windows-nt-or-smb-p): Rename from
31711         `tramp--test-smb-windows-nt-p'.  Adapt callees.
31712         (tramp--test-check-files): Improve checks for environment variables.
31713         (tramp-test33-special-characters)
31714         (tramp-test33-special-characters-with-stat)
31715         (tramp-test33-special-characters-with-perl)
31716         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
31717         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
31718         (tramp-test34-utf8-with-ls): Add more checks for skip.
31720 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
31722         Fix comments
31724         * src/thread.h (struct thread_state): Fix comments.
31725         * src/process.c (wait_reading_process_output): Fix a typo in
31726         commentary.
31728 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
31730         Repair desktop restoration on text terminals
31732         * lisp/desktop.el (desktop-restoring-frameset-p): Test for the GUI
31733         frame here, instead of in desktop-restoring-frameset.  That's
31734         because desktop-read wants to know whether frameset will actually
31735         be restored, and has fallback procedures up its sleeve when it
31736         won't be; these fallbacks need to be invoked when the frameset is
31737         not going to be restored.  (Bug#24298)
31739 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
31741         Fix crashes on MS-Windows during dumping
31743         * src/unexw32.c (get_section_info): Make extra_bss_size be the
31744         maximum of extra_bss_size and extra_bss_size_static.  This avoids
31745         computing the size of the output file smaller than it actually
31746         needs to be, which then causes copy_executable_and_dump_data to
31747         write beyond the requested size of the file mapping, thus relying
31748         on the OS roundup to page boundary to save us from ourselves.  See
31749         https://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
31750         for the details.
31752         * lib/stdio-impl.h: Revert the workaround fix of not including
31753         errno.h for MinGW.
31755 2016-12-17  Dmitry Gutov  <dgutov@yandex.ru>
31757         Ignore forward-sexp-function in js-mode indentation code
31759         * lisp/progmodes/js.el (js--multi-line-declaration-indentation)
31760         (js--maybe-goto-declaration-keyword-end):
31761         Bind forward-sexp-function to nil (bug#25215).
31763 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
31765         Be more selective clearing the image cache
31767         * lisp/image-dired.el (image-dired-create-thumbs):
31768         (image-dired-rotate-thumbnail, image-dired-refresh-thumb): Only clear
31769         the current thumbnail file from the image cache.
31771 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
31773         Unbreak the MinGW build
31775         * lib/stdio-impl.h [__MINGW32__]: Don't include errno.h.  Without
31776         this, temacs crashes while dumping.
31778 2016-12-16  Nicolas Petton  <nicolas@petton.fr>
31780         Make seq-into return the sequence when no conversion needed
31782         * lisp/emacs-lisp/seq.el (seq-into): Do not convert the sequence when
31783           no conversion is needed.
31784         * test/lisp/emacs-lisp/seq-tests.el (test-seq-into-and-identity): Add
31785           a regression test checking for identity.
31787 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
31789         Improve documentation of 'define-coding-system'
31791         * lisp/international/mule.el (define-coding-system): Warn against
31792         possible infinite recursion in pre-write-conversion and
31793         post-read-conversion functions.  (Bug#25203)
31795 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
31797         New commands image-scroll-left and image-scroll-right
31799         * etc/NEWS: Mention them.
31800         * lisp/image-mode.el (image-scroll-left, image-scroll-right): New
31801         functions.
31803 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
31805         More image-dired refactoring
31807         * lisp/image-dired.el (image-dired-thumbnail-mode):
31808         (image-dired-display-image-mode): Add :group 'image-dired so
31809         customize-mode works.
31810         (image-dired-display-image): Rearrange.
31811         (image-dired-copy-with-exif-file-name): This map is for side effect.
31812         (image-dired-dired-edit-comment-and-tags): Just use #'identity.
31814 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
31816         * lisp/image-dired.el: Turn on lexical-binding.
31818 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
31820         Teach image-dired to also generate large thumbs
31822         * lisp/image-dired.el (image-dired-thumbnail-storage): Add
31823         standard-large option.
31824         (image-dired-thumb-size): Add condition for standard-large storage.
31825         (image-dired-insert-thumbnail): Check for new option.  Change
31826         thumbnail path conditionally.
31827         (image-dired-thumb-size): New function.
31828         (image-dired-create-thumb, image-dired-line-up-dynamic): Use it.
31830 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
31832         Merge from gnulib
31834         This incorporates:
31835         2016-12-14 xalloc-oversized: check for PTRDIFF_MAX too
31836         2016-12-12 fpending: port to native Windows with MSVC
31837         * .gitignore: Do not ignore lib/stdio-impl.h.
31838         * lib/fpending.c, lib/xalloc-oversized.h, m4/fpending.m4:
31839         Copy from gnulib.
31840         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
31841         * lib/stdio-impl.h:
31842         New file, copied from gnulib.
31843         * nt/gnulib.mk (EXTRA_DIST): Add stdio-impl.h.
31845 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
31847         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
31848         Append newline.
31850 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
31852         Don't abuse princ and spam messages
31854         * lisp/image-dired.el (image-dired-format-properties-string): Nix princ.
31855         (image-dired-display-thumb-properties):
31856         (image-dired-dired-display-properties): Nix princ.  Bind
31857         message-log-max to nil.
31859 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
31861         Inherit things from special-mode and image-mode
31863         * lisp/image-dired.el: Require image-mode library.
31864         (image-dired-thumbnail-mode-map): Remove superfluous binding.
31865         (image-dired-display-image-mode-map): Remove superfluous binding.
31866         Add movement remaps from image-mode-map.
31867         (image-dired-thumbnail-mode): Derive from special-mode.
31868         (image-dired-display-image-mode): Derive from special-mode. Call
31869         image-mode-setup-winprops.
31871 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
31873         Fix some image-dired customization types
31875         * lisp/image-dired.el (image-dired): Add info link to defgroup.
31876         (image-dired-dir, image-dired-gallery-dir): Set type to directory.
31877         (image-dired-db-file, image-dired-temp-image-file):
31878         (image-dired-cmd-create-thumbnail-program):
31879         (image-dired-cmd-create-temp-image-program):
31880         (image-dired-cmd-rotate-thumbnail-program):
31881         (image-dired-cmd-rotate-original-program):
31882         (image-dired-temp-rotate-image-file):
31883         (image-dired-cmd-write-exif-data-program):
31884         (image-dired-cmd-read-exif-data-program): Set type to file.
31885         (image-dired-create-thumb, image-dired-line-up-dynamic): Check storage
31886         type at runtime, since setting image-dired-thumb-size does not
31887         automatically set image-dired-thumb-width and image-dired-thumb-height.
31889 2016-12-15  Eli Zaretskii  <eliz@gnu.org>
31891         Prevent crashes in xg_select due to concurrency
31893         * src/xgselect.c (xg_select): Don't call Glib functions that use
31894         'context' if we failed to acquire it.  This means some other
31895         thread owns the context, in which case both using the context and
31896         calling block_input/unblock_input will step on that thread's toes
31897         and eventually lead to crashes.  (Bug#25172)
31899 2016-12-15  Nicolas Petton  <nicolas@petton.fr>
31901         Fix circular list handling in seq-mapn
31903         * lisp/emacs-lisp/seq.el (seq-mapn): Do not copy list arguments.
31904         * test/lisp/emacs-lisp/seq-tests.el (test-seq-mapn-circular-lists):
31905           Add a regression test.
31907 2016-12-15  Michael Albinus  <michael.albinus@gmx.de>
31909         Check in tramp-tests.el, that environment variables are set correctly
31911         * test/lisp/net/tramp-tests.el (tramp--test-check-files):
31912         Check also, that environment variables are set correctly.
31914 2016-12-15  Dominique Quatravaux  <dominique.quatravaux@epfl.ch>  (tiny change)
31916         Protect environment variables with double quotes in Tramp
31918         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
31919         Protect environment variables with double quotes.
31921 2016-12-15  Tino Calancha  <tino.calancha@gmail.com>
31923         * lisp/ibuf-macs.el (define-ibuffer-filter): Wrap ,@body in a progn.
31925 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
31927         * lisp/image-dired.el (image-dired-create-thumb): Create parent directories.
31929 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
31931         * lisp/image-mode.el (image-mode-winprops-alist): Add docstring.
31933 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
31935         Recognize pngnq or pngnq-s9
31937         * lisp/image-dired.el (image-dired-cmd-pngnq-program): Also consider
31938         pngnq-s9 as a possible executable.
31940 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
31942         Update standard image-dired thumbnail location
31944         * lisp/image-dired.el (image-dired-thumb-name): Conform to the latest
31945         standard: consider XDG_CACHE_HOME, falling back on ~/.cache.
31947 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
31949         Reset window scroll when displaying an image
31951         When viewing a large image full size and scrolling, for instance, to
31952         the lower right corner, then selecting a much smaller image in the
31953         thumbnail buffer, the window stays scrolled so the new image is out of
31954         the window.  One must scroll back to the "origin" to view the new
31955         displayed image, or just kill the image-dired-display-image buffer and
31956         try again.  This fixes the issue.
31957         * lisp/image-dired.el (image-dired-display-window-width):
31958         (image-dired-display-window-height): Operate on a window as argument.
31959         (image-dired-display-image): Bind (image-dired-display-window) and use
31960         it. Set window vscroll and hscroll to zero when refreshing the
31961         buffer's contents.
31963 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
31965         More image-dired polish
31967         * lisp/image-dired.el (image-dired-file-name-at-point): New function.
31968         (image-dired-thumbnail-mode, image-dired-display-image-mode): Disable
31969         undo list. Add image-dired-file-name-at-point to
31970         file-name-at-point-functions to facilitate find-file and friends.
31971         (image-dired-thumbnail-display-external):
31972         (image-dired-dired-display-external): Use start-process instead, to
31973         avoid needlessly blocking and using a shell.
31975 2016-12-13  Phillip Lord  <phillip.lord@russet.org.uk>
31977         Replace ldefs-boot with a much smaller file
31979          * Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
31980            (bootstrap): Depend on bootstrap-build.
31981          * admin/ldefs-clean.el: New file.
31982          * lisp/Makefile.in (compile-first): Depend on loaddefs.el
31983          * lisp/ldefs-boot.el: Remove.
31984          * lisp/ldefs-boot-auto.el: New file.
31985          * lisp/ldefs-boot-manual.el: New file.
31986          * lisp/loadup.el: Load ldefs-boot-manual.el.
31987          * src/emacs.c (generating_ldefs_boot): New variable.
31988            (main): Check whether we are generating ldefs.
31989          * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
31990            requested.
31991          * src/lisp.h (generating_ldefs_boot): New variable.
31992          * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
31993            lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
31994            lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
31995            ldefs-boot.
31996          * admin/update_autogen: Alter mechanism for ldefs-boot generation.
31998 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32000         Remove support for aspell < 0.60 (from 2004)
32002         lisp/textmodes/ispell.el (ispell-check-version): Require Aspell 0.60.
32003         (ispell-aspell-dictionary-alist): Remove check that we have Aspell 0.60.
32005 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32007         Minor docstring and comment fixes to ispell.el
32009         lisp/textmodes/ispell.el (ispell-aspell-dictionary-alist): Mention
32010         ispell-aspell-dictionary-alist, not ispell-dictionary-alist.
32011         (ispell-set-spellchecker-params): Change double-single quotes to
32012         single single quotes in comment.
32014 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32016         Remove unused variable
32018         * lisp/textmodes/ispell.el (current-ispell-directory): Remove.
32020 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32022         Remove XEmacs-specific ispell-with-no-warnings
32024         * lisp/textmodes/ispell.el (ispell-with-no-warnings): Remove this
32025         defmacro, needed only for XEmacs.
32026         (ispell-command-loop, ispell-message): Use with-no-warnings directly.
32028 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32030         Remove meaningless defconst ispell-version
32032         * lisp/textmodes/ispell.el (ispell-version): Since ispell.el is now
32033         firmly part of Emacs, and the version hasn’t changed since 2003, and
32034         isn’t used anywhere, remove it.  3rd-party code can better use the
32035         Emacs version, or feature or function checks.
32036         (ispell-check-version): No longer report ispell.el version.
32038 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32040         Remove boundp test for always-bound symbol
32042         * lisp/textmodes/ispell.el (ispell-message): mail-yank-prefix is
32043         defvar’d at the top of the file, so remove a test to see if it is
32044         bound.
32046 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32048         Remove support for ispell < 3.1.12
32050         * lisp/textmodes/ispell.el (ispell-offset): Remove.
32051         (ispell-check-version): Require ispell >= 3.1.12, released in 1994.
32052         (ispell-process-line): No longer use ispell-offset.
32054 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32056         Remove unused constant
32058         * lisp/textmodes/ispell.el (ispell-required-version): Remove.
32060 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32062         Remove support for old versions of supercite and GNUS from ispell.el
32064         * lisp/textmodes/ispell.el (ispell-message): Require supercite >= 3.0
32065         and GNUS >= 5.  Not exactly the bleeding edge!
32067 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32069         Remove remaining mentions of XEmacs from ispell.el
32071         * lisp/textmodes/ispell.el (ispell-valid-dictionary-list):
32072         (ispell-add-per-file-word-list): Remove mentions of XEmacs from
32073         comments.
32075 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32077         Remove XEmacs-specific minibuffer handling code from ispell.el
32079         * lisp/textmodes/ispell.el (ispell-init-process): Assume we are not in
32080         XEmacs.
32082 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32084         Remove XEmacs-specific horizontal scrollbar handling in ispell.el
32086         * lisp/textmodes/ispell.el (ispell-command-loop): Remove
32087         XEmacs-specific code.
32089 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32091         Remove XEmacs-specific code dealing with enable-multibyte-characters
32093         * lisp/textmodes/ispell.el (ispell-decode-string):
32094         (ispell-init-process):  Remove XEmacs-specific guard.
32096 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32098         Remove XEmacs-specific code from ispell.el
32100         * lisp/textmodes/ispell.el (ispell-menu-xemacs): Remove
32101         (ispell-menu-map-needed): Remove XEmacs-specific check.
32102         (ispell-word): Remove XEmacs-specific extent code.
32103         (ispell-init-process): Remove XEmacs workaround for local add-hook.
32104         Assume we have set-process-query-on-exit-flag.
32105         (ispell-kill-ispell, ispell-change-dictionary): Remove XEmacs
32106         workaround for called-interactively-p.
32108 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32110         Remove some commented-out code
32112         lisp/textmodes/ispell.el (ispell-process)
32113         ispell-valid-dictionary-list): Remove commented-out code.
32115 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32117         Remove XEmacs and old Emacs highlighting code
32119         * lisp/textmodes/ispell.el
32120         (ispell-highlight-spelling-error-xemacs): Remove.
32121         (ispell-highlight-spelling-error): Assume display-color-p exists.
32123 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32125         Assume Emacs supports [:alpha:] in regexps
32127         * lisp/textmodes/ispell.el (ispell-emacs-alpha-regexp): Remove.
32128         (ispell-set-spellchecker-params): Remove tests of
32129         ispell-emacs-alpha-regexp.
32131 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32133         Remove some XEmacs-specific code from ispell.el
32135         * lisp/textmodes/ispell.el: Remove XEmacs menubar setup.
32136         (ispell-int-char): Remove.
32138 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32140         Generalize over-specific documentation
32142         * lisp/textmodes/ispell.el (ispell-personal-dictionary): Rather than
32143         document precise personal wordlist filenames for only two supported
32144         spelling checkers, simply say that the default personal dictionary
32145         depends on the chosen spelling checker.  The user can check the
32146         spelling checker’s documentation if necessary.  This is simpler, and
32147         works for other supported (and future, or unknown) spelling checkers.
32149 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32151         Remove tests for built-in functions
32153         * lisp/textmodes/ispell.el (buffer-substring-no-properties): Remove
32154         back-up definition.
32155         (ispell-add-per-file-word-list): Remove tests for comment-padright and
32156         comment-normalize-vars.
32158 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32160         Remove unused ispell-looking-back
32162         * lisp/textmodes/ispell.el (ispell-looking-back): Remove unused alias.
32164 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32166         Assume we have version<= for checking ispell version
32168         * lisp/textmodes/ispell.el (ispell-check-minver): Remove.
32169         (ispell-check-version): Use version<= directly.
32171 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32173         Remove ispell.el pre-GNU Emacs comments
32175         * lisp/textmodes/ispell.el (Commentary): Remove original maintainer
32176           details, as Emacs version, bug report address and so forth should be
32177           used instead for this version.  Remove in-line change history; use
32178           git instead.
32180 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
32182         More small fixes for image-dired
32184         * lisp/image-dired.el: Fix commentary to refer to correct Emacs manual
32185         node.
32186         (image-dired--with-db-file): Add declare forms.
32187         (image-dired-hidden-p): Rewrite with cl-loop.  It's not necessary to
32188         run through the whole list.
32190 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
32192         Remove image-dired-kill-buffer-and-window
32194         This breaks window layout, especially when quitting a
32195         image-dired-display-image-mode buffer.
32196         * lisp/image-dired.el (image-dired-thumbnail-mode-map):
32197         (image-dired-display-image-mode-map): Replace in keymap and menu items
32198         bindings to image-dired-kill-buffer-and-window with quit-window.
32199         (image-dired-kill-buffer-and-window): Remove.
32201 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
32203         Replace image-dired-setup-dired-keybindings with a minor mode
32205         * lisp/image-dired.el (image-dired-thumbnail-mode): Fix docstring to
32206         remove mention of nonexistent image-dired-dired and to refer to the
32207         new minor mode.
32208         (image-dired-minor-mode-map): New keymap assimilated from
32209         image-dired-setup-dired-keybindings.  In the future, the keymap parent
32210         should be removed, and perhaps also the duplicate bindings that
32211         already exist in dired-mode-map.
32212         (image-dired-setup-dired-keybindings): Remove.  Replace with an
32213         obsolete function alias.
32214         (image-dired-minor-mode): New minor mode, assuming the role of
32215         image-dired-setup-dired-keybindings.
32217 2016-12-13  Paul Eggert  <eggert@cs.ucla.edu>
32219         * test/src/regex-resources/PTESTS: Convert to UTF-8.
32221 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
32223         Clarify thread-signal semantics
32225         * doc/lispref/threads.texi (Basic Thread Functions): Explain that the
32226         thread will be signaled as soon as possible.
32228 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
32230         Clean up var watcher disabling on thread switching
32232         * src/data.c (Fset_default): Move code into new C level function,
32233         `set_default_internal'.
32234         (set_default_internal): New function, like `Fset_default' but also takes
32235         additional bindflag parameter.
32236         (set_internal): Only call `notify_variable_watchers' if bindflag is not
32237         SET_INTERNAL_THREAD_SWITCH.
32238         * src/eval.c (do_specbind, do_one_unbind): Add bindflag parameter,
32239         passed on to set_internal and set_default_internal.  Adjust callers.
32240         (rebind_for_thread_switch, unbind_for_thread_switch): Pass
32241         SET_INTERNAL_THREAD_SWITCH to do_specbind, do_one_unbind instead of
32242         temporarily adjusting symbol's trapped_write field.
32244 2016-12-13  Glenn Morris  <rgm@gnu.org>
32246         Minor fix for define-derived-mode
32248         * lisp/emacs-lisp/derived.el (define-derived-mode):
32249         Do not let eg eval-defun reset the values of syntax or abbrev tables,
32250         since they might have been defined externally.  (Bug#16160)
32252 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
32254         * build-aux/git-hooks/pre-commit: Add whitespace comment.
32256 2016-12-12  Clément Pit--Claudel  <clement.pitclaudel@live.com>
32258         Move backtrace to ELisp using a new mapbacktrace primitive
32260         * src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
32261         (Fmapbacktrace, Fbacktrace_frame_internal): New functions.
32262         (get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.
32264         * lisp/subr.el (backtrace--print-frame): New function.
32265         (backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
32266         (backtrace-frame): Reimplement using `backtrace-frame--internal'.
32268         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
32269         `mapbacktrace' instead of searching for "(debug" in the output of
32270         `backtrace'.
32272         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
32273         (subr-test-backtrace-integration-test): New tests.
32275         * doc/lispref/debugging.texi (Internals of Debugger): Document
32276         `mapbacktrace' and missing argument BASE of `backtrace-frame'.
32278 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
32280         Use C99 syntax for font drivers
32282         Problem reported by Daniel Colascione in:
32283         https://lists.gnu.org/r/emacs-devel/2016-12/msg00515.html
32284         * src/ftcrfont.c (ftcrfont_driver):
32285         * src/ftfont.c (ftfont_driver):
32286         * src/ftxfont.c (ftxfont_driver):
32287         * src/macfont.m (macfont_driver):
32288         * src/nsfont.m (nsfont_driver):
32289         * src/xfont.c (xfont_driver):
32290         * src/xftfont.c (xftfont_driver):
32291         Use C99 syntax, not the old GNU C syntax.
32293 2016-12-12  Glenn Morris  <rgm@gnu.org>
32295         Obsolete gs.el
32297         * lisp/gs.el: Move to lisp/obsolete.  (Bug#1524)
32298         * doc/lispref/display.texi (Image Formats): Remove postscript.
32299         (PostScript Images): Remove section.
32300         * doc/lispref/elisp.texi: Update menu.
32302 2016-12-12  Glenn Morris  <rgm@gnu.org>
32304         Un-revert recent Ffset change
32306         * src/data.c (Ffset): Reinstate the check for "nil".
32308 2016-12-12  Glenn Morris  <rgm@gnu.org>
32310         Minor advice.el fix
32312         * lisp/emacs-lisp/advice.el (ad-preactivate-advice):
32313         Avoid setting the function definition of nil.
32314         This was happening during bootstrap of org-compat.el,
32315         apparently due to eager macro expansion of code behind
32316         a (featurep 'xemacs) test.
32318 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
32320         Make etags-tests work in out-of-tree builds
32322         * test/lisp/progmodes/etags-tests.el (etags-bug-158)
32323         (etags-bug-23164): Make them work in an out-of-tree build.
32324         Reported by Ken Brown <kbrown@cornell.edu>.
32326 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
32328         Avoid crashing if a new thread is signaled right away
32330         * src/thread.c (post_acquire_global_lock): Don't raise the pending
32331         signal if the thread's handlers were not yet set up, as that will
32332         cause Emacs to exit with a fatal error.  This can happen if a
32333         thread is signaled as soon as make-thread returns, before the new
32334         thread had an opportunity to acquire the global lock, set up the
32335         handlers, and call the thread function.
32337         * test/src/thread-tests.el (thread-signal-early): New test.
32339 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
32341         Fix point motion in cloned buffers
32343         * src/thread.c (post_acquire_global_lock): Call
32344         set_buffer_internal_2 instead of tricking set_buffer_internal_1
32345         into resetting the current buffer even if it didn't change.  This
32346         avoids bug#25165, caused by failing to record the modified values
32347         of point and mark, because current_buffer was set to NULL.  Also,
32348         don't bother re-setting the buffer if there was no thread switch,
32349         as that just wastes cycles.
32350         * src/buffer.c (set_buffer_internal_2): New function, with most of
32351         the body of set_buffer_internal_1, but without the test for B
32352         being identical to the current buffer.
32353         (set_buffer_internal_1): Call set_buffer_internal_2 if B is not
32354         identical to the current buffer.
32355         * src/buffer.h (set_buffer_internal_2): Add prototype.
32357         * test/src/thread-tests.el (thread-sticky-point): New test.
32359 2016-12-12  Michael Albinus  <michael.albinus@gmx.de>
32361         Further improvements in Tramp's file name unquoting
32363         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
32364         (tramp-adb-handle-write-region): Unquote localname.
32365         (tramp-adb-handle-copy-file): Implement direct copy on remote device.
32366         (tramp-adb-handle-rename-file): Quote arguments, add "-f" to force.
32368         * lisp/net/tramp.el (tramp-file-name-unquote-localname): New defun.
32369         (tramp-handle-file-name-case-insensitive-p):
32370         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-file-attributes)
32371         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
32372         (tramp-gvfs-maybe-open-connection):
32373         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
32374         * lisp/net/tramp-smb.el (tramp-smb-get-share)
32375         (tramp-smb-get-localname): Use it.
32377         * test/lisp/net/tramp-tests.el (tramp--test-docker-p): New defun.
32378         (tramp--test-special-characters, tramp-test34-utf8)
32379         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
32380         (tramp-test34-utf8-with-ls): Use it.
32382 2016-12-12  Martin Rudalics  <rudalics@gmx.at>
32384         Strengthen conditions for resizing sibling windows (Bug#25169)
32386         * lisp/window.el (window-resize, delete-window): Resize other siblings
32387         only if `window-combination-resize' equals t (Bug#25169).
32389 2016-12-12  Noam Postavsky  <npostavs@gmail.com>
32391         Quote filenames containing '~' in prompts
32393         When in a directory named '~', the default value given by
32394         `read-file-name' should be quoted by prepending '/:', in order to
32395         prevent it from being interpreted as referring to the $HOME
32396         directory (Bug#16984).
32398         * lisp/minibuffer.el (minibuffer-maybe-quote-filename): New function.
32399         (completion--sifn-requote, read-file-name-default): Use it instead of
32400         `minibuffer--double-dollars'.
32401         * test/lisp/files-tests.el (files-test-read-file-in-~): Test it.
32403 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
32405         Undo part of last change
32407         * src/thread.h:
32408         * src/keyboard.c:
32409         * src/keyboard.h: Undo part of last change:
32410         input_available_clear_time is again a global variable.
32412 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
32414         Avoid aborts when a thread signals an error
32416         * src/thread.h (struct thread_state): Add members
32417         m_waiting_for_input and m_input_available_clear_time.
32418         (waiting_for_input, input_available_clear_time): New macros.
32419         * src/keyboard.c (waiting_for_input, input_available_clear_time):
32420         Remove; they are now macros that reference the current thread.
32421         (Bug#25171)
32422         * src/w32select.c: Don't include keyboard.h.
32424         * test/src/thread-tests.el (thread-errors): New test.
32426 2016-12-11  Philipp Stephani  <phst@google.com>
32428         Clean up compile-tests.el
32430         Switch to lexical binding.  Make checkdoc happy.
32432         * test/lisp/progmodes/compile-tests.el (compile--test-error-line)
32433         (compile-test-error-regexps): Instead of checking a single Boolean
32434         value, use `should' for each attribute of the message to be compared.
32435         (compile-tests--test-regexps-data): Document sixth list element
32436         TYPE.
32438 2016-12-11  Michael Albinus  <michael.albinus@gmx.de>
32440         Fix Bug#25162
32442         * doc/emacs/files.texi (Reverting): Document
32443         auto-revert-remote-files and auto-revert-verbose.
32445         * lisp/autorevert.el (auto-revert-verbose, auto-revert-mode)
32446         (auto-revert-tail-mode, global-auto-revert-mode): Fix docstring.
32448 2016-12-11  Glenn Morris  <rgm@gnu.org>
32450         Fix a typo in define-abbrev-table
32452         * lisp/abbrev.el (define-abbrev-table): Fix typo in docstring handling.
32454 2016-12-11  Glenn Morris  <rgm@gnu.org>
32456         Improve previous cperl-mode change
32458         * lisp/progmodes/cperl-mode.el (cperl-mode-abbrev-table):
32459         Improve previous change.
32461 2016-12-11  Glenn Morris  <rgm@gnu.org>
32463         Mark default cperl abbrevs as system ones
32465         * lisp/progmodes/cperl-mode.el (cperl-mode):
32466         Mark our abbrevs as system ones.  (Bug#10934)
32468 2016-12-11  Glenn Morris  <rgm@gnu.org>
32470         Revert earlier Ffset change
32472         * src/data.c (Ffset): Allow nil again, since it caused
32473         eager macro-expansion failures.
32475 2016-12-11  Glenn Morris  <rgm@gnu.org>
32477         Tweaks for message bogus address detection
32479         * lisp/gnus/message.el (message-bogus-recipient-p):
32480         Do not require "@", since some mailers deliver to local addresses
32481         without one.  (Bug#23054)
32482         Move "@.*@" from here...
32483         (message-bogus-addresses): ...to here, so it can be customized.
32485 2016-12-11  Glenn Morris  <rgm@gnu.org>
32487         Do not allow nil to be defined as a function
32489         * lisp/emacs-lisp/byte-run.el (defun):
32490         * src/data.c (Ffset): Do not allow "nil".  (Bug#25110)
32492 2016-12-11  Glenn Morris  <rgm@gnu.org>
32494         Bump makeinfo requirement from 4.7 to 4.13
32496         * configure.ac: Bump makeinfo version requirement from 4.7 to 4.13.
32497         We need at least 4.8, and that may be buggy, so go for the last
32498         of the 4 series, which is 8 years old.  (Bug#25108)
32500 2016-12-11  Glenn Morris  <rgm@gnu.org>
32502         Fixes related to select-enable-clipboard
32504         * lisp/menu-bar.el (clipboard-yank, clipboard-kill-ring-save)
32505         (clipboard-kill-region):
32506         * lisp/eshell/esh-io.el (eshell-virtual-targets)
32507         (eshell-clipboard-append):
32508         Replace option gui-select-enable-clipboard with
32509         select-enable-clipboard; renamed October 2014.  (Bug#25145)
32511 2016-12-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
32513         Add some sanity checking of defun arglist
32515         * lisp/emacs-lisp/byte-run.el (defun):
32516         Check for malformed argument lists.  (Bug#15715)
32518 2016-12-11  Matt Armstrong  <marmstrong@google.com>  (tiny change)
32520         Minor shell-mode fix for zsh
32522         * lisp/shell.el (shell-mode): Prevent shell-dirstack-query
32523         becoming confused by zsh abbreviations.  (Bug#24632)
32525 2016-12-10  Noam Postavsky  <npostavs@gmail.com>
32527         Define struct predicate before acccesors
32529         The accessor functions use the predicate function, which causes problems
32530         when reloading after unload-feature: the compiler-macro property is
32531         still present on the predicate symbol, and the compiler fails to find
32532         the definition when trying to inline it into the accessor
32533         function (Bug#25088).
32535         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Move predicate definition
32536         before field accessor definitions.
32538 2016-12-10  Andreas Schwab  <schwab@linux-m68k.org>
32540         * Makefile.in (install-etc): Don't prepend $(DESTDIR) to commands in
32541         system unit file.
32543 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
32545         Support concurrency in Emacs Lisp
32547         Merge branch 'test-concurrency'
32549         * src/thread.c:
32550         * src/thread.h:
32551         * src/systhread.c:
32552         * src/systhread.h: New files.
32553         * src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use
32554         xnmalloc unconditionally.
32555         * src/window.c (struct save_window_data): Rename current_buffer to
32556         f_current_buffer.
32557         * src/w32proc.c (sys_select): Change the function signature to
32558         closer fit 'pselect' on Posix hosts.
32559         * src/search.c:
32560         * src/regex.h: Convert some globals to macros that reference
32561         thread-specific values.
32562         * src/process.c (pset_thread, add_non_keyboard_read_fd)
32563         (add_process_read_fd, add_non_blocking_write_fd)
32564         (recompute_input_desc, compute_input_wait_mask)
32565         (compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
32566         (compute_write_mask, clear_waiting_thread_info)
32567         (update_processes_for_thread_death, Fset_process_thread)
32568         (Fprocess_thread): New functions.
32569         (enum fd_bits): New enumeration.
32570         (fd_callback_data): Add 'thread' and 'waiting_thread', rename
32571         'condition' to 'flags'.
32572         (set_process_filter_masks, create_process, create_pty)
32573         (Fmake_serial_process, finish_after_tls_connection)
32574         (connect_network_socket, deactivate_process)
32575         (server_accept_connection, wait_reading_process_output)
32576         (Fcontinue_process, Fstop_process, keyboard_bit_set)
32577         (add_timer_wait_descriptor, add_keyboard_wait_descriptor)
32578         (delete_keyboard_wait_descriptor): Use the new functions instead
32579         of manipulating fd flags and masks directly.
32580         (syms_of_process): Defsubr the new primitives.
32581         * src/print.c (print_object): Print threads, mutexes, and
32582         conditional variables.
32583         * src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX,
32584         and PVEC_CONDVAR.
32585         (XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP)
32586         (CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions.
32587         (XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros.
32588         (struct handler): Add back byte_stack.  Rename lisp_eval_depth to
32589         f_lisp_eval_depth.
32590         * src/eval.c (specpdl_kind, specpdl_arg, do_specbind)
32591         (rebind_for_thread_switch, do_one_unbind)
32592         (unbind_for_thread_switch): New functions.
32593         (init_eval): 'handlerlist' is not malloc'ed.
32594         (specbind): Call do_specbind.
32595         (unbind_to): Call do_one_unbind.
32596         (mark_specpdl): Accept 2 arguments.
32597         (mark_specpdl): Mark the saved value in a let-binding.
32598         * src/emacs.c (main): Call init_threads_once, init_threads, and
32599         syms_of_threads.
32600         * src/data.c (Ftype_of): Support thread, mutex, and condvar
32601         objects.
32602         (Fthreadp, Fmutexp, Fcondition_variable_p): New functions.
32603         (syms_of_data): DEFSYM and defsubr new symbols and primitives.
32604         * src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE)
32605         (BYTE_CODE_QUIT): Add back.
32606         (exec_byte_code): Add back byte stack manipulation.
32607         * src/alloc.c (cleanup_vector): Handle threads, mutexes, and
32608         conditional variables.
32609         (mark_stack): Now extern; accept additional argument 'bottom'.
32610         (flush_stack_call_func): New function.
32611         (garbage_collect_1): Call mark_threads and unmark_threads.  Don't
32612         mark handlers.
32613         * src/.gdbinit (xbytecode): Add back.
32615         * test/src/thread-tests.el: New tests.
32616         * test/src/data-tests.el (binding-test-manual)
32617         (binding-test-setq-default, binding-test-makunbound)
32618         (binding-test-defvar-bool, binding-test-defvar-int)
32619         (binding-test-set-constant-t, binding-test-set-constant-nil)
32620         (binding-test-set-constant-keyword)
32621         (binding-test-set-constant-nil): New tests.
32623         * doc/lispref/processes.texi (Processes and Threads): New
32624         subsection.
32625         * doc/lispref/threads.texi: New file
32626         * doc/lispref/elisp.texi (Top): Include it.
32627         * doc/lispref/objects.texi (Thread Type, Mutex Type)
32628         (Condition Variable Type): New subsections.
32629         (Type Predicates): Add thread-related predicates.
32630         * doc/lispref/objects.texi (Editing Types):
32631         * doc/lispref/elisp.texi (Top): Update higher-level menus.
32633         * etc/NEWS: Mention concurrency features.
32635 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
32637         Fix error messages in thread.c
32639         * src/thread.c (lisp_mutex_unlock, Fcondition_wait)
32640         (Fcondition_notify, Fthread_join): Fix error messages.
32642 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
32644         Improve doc strings in thread.c
32646         * src/thread.c (Fmake_condition_variable, Fcondition_wait)
32647         (Fcondition_notify, Fcondition_mutex, Fcondition_name, Fmake_thread)
32648         (Fthread_join, Fall_threads): Doc fixes.
32650 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
32652         Fix building with check-lisp-object-type
32654         * src/thread.c (mark_one_thread): Use NILP to compare with
32655         m_saved_last_thing_searched, which is a Lisp object.  Reported by
32656         Andreas Politz <politza@hochschule-trier.de>.
32658 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
32660         Documentation and commentary improvements
32662         * src/lisp.h:
32663         * src/regex.c:
32664         * src/xgselect.c (xg_select): Improve commentary and formatting.
32666         * doc/lispref/objects.texi (Thread Type, Mutex Type)
32667         (Condition Variable Type): New subsections.
32668         (Type Predicates): Add thread-related predicates.
32669         * doc/lispref/objects.texi (Editing Types):
32670         * doc/lispref/elisp.texi (Top): Update higher-level menus.
32672 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
32674         Fix further problems with quoted file names in Tramp
32676         * lisp/net/tramp.el (tramp-quoted-name-p, tramp-quote-name)
32677         (tramp-unquote-name): Move defsubst ...
32678         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
32679         (tramp-compat-file-name-quote)
32680         (tramp-compat-file-name-unquote): ... here. Adapt callees.
32682         * lisp/net/tramp-cache.el (tramp-flush-file-property)
32683         (tramp-flush-directory-property):
32684         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name):
32685         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
32686         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
32687         (tramp-smb-handle-substitute-in-file-name)
32688         (tramp-smb-get-share, tramp-smb-get-localname): Handle quoted files.
32690 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
32692         *src/sysdep.c: Fix a comment.
32694 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
32696         Fix compilation error on Fedora 24
32698         * src/sysdep.c [HAVE_H_ERRNO]: Remove declaration of h_errno.
32699         Reported by Paul Eggert <eggert@cs.ucla.edu>.
32701 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
32703         Fix compilation warnings due to prototype of thread_select
32705         * src/thread.h <int select_func>: Make the 5th and 6th arguments
32706         be 'const'.
32707         * src/process.c [WINDOWSNT]:
32708         * src/w32proc.c: Make the 5th and 6th argument to sys_select be
32709         'const'.
32711 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
32713         Fix compilation on Debian GNU/Linux
32715         * src/thread.h: Include sys/types.h, for ssize_t that regex.h
32716         uses.  Reported by Robert Marshall <robert.marshall@codethink.co.uk>.
32718 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
32720         Fix subtle errors with let-binding of localized variables
32722         * src/eval.c (do_specbind): Don't require a "symbol" that is
32723         actually a cons cell, in order to call set-default, as there are
32724         no longer such bindings.  This makes do_specbind work like the
32725         pre-concurrency implementation in specbind for bindings of
32726         forwarded symbols.  Use specpdl_kind to access the type of the
32727         binding.
32728         (specpdl_kind): New function.
32730 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
32732         Document file-name-quote, file-name-unquote and file-name-quoted-p
32734         * doc/lispref/files.texi (File Name Expansion):
32735         * etc/NEWS: Mention file-name-quote, file-name-unquote and
32736         file-name-quoted-p.
32738         * lisp/files.el (file-name-non-special): Revert using
32739         file-name-quote, file-name-unquote and file-name-quoted-p.
32741 2016-12-09  Noam Postavsky  <npostavs@gmail.com>
32743         Fix bad quoting of python-shell-interpreter
32745         `python-shell-calculate-command' was using `shell-quote-argument' as if
32746         it was generating a shell command, but its callers don't pass the result
32747         to a shell, and they expect to parse it with `split-string-and-unquote'.
32748         This caused problems depending on the flavor of shell quoting in
32749         effect (Bug#25025).
32751         * lisp/progmodes/python.el (python-shell-calculate-command): Use
32752         `combine-and-quote-strings' to quote the interpreter, so that it can be
32753         parsed by `python-shell-make-comint' successfully using
32754         `split-string-and-unquote'.
32756 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
32758         * src/lisp.h (struct terminal): Remove unnecessary forward decl.
32760 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
32762         Make read1 more reentrant
32764         This is needed if ‘read’ is called soon after startup, before the
32765         Unicode tables have been set up, and it reads a \N escape and
32766         needs to look up a value the Unicode tables, a lookup that in turn
32767         calls read1 recursively.  Although this change doesn’t make ‘read’
32768         fully reentrant, it’s good enough to handle this case.
32769         * src/lread.c (read_buffer_size, read_buffer): Remove static vars.
32770         (grow_read_buffer): Revamp to use locals, not statics, and to
32771         record memory allocation un the specpdl.  All callers changed.
32772         (read1): Start with a stack-based buffer, and use the heap
32773         only if the stack buffer is too small.  Use unbind_to to
32774         free any heap buffer allocated.  Use bool for boolean.
32775         Redo symbol loop so that only one call to grow_read_buffer
32776         is needed.
32777         (init_obarray): Remove no-longer-needed initialization.
32779 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
32781         Fix compilation warnings
32783         * src/thread.c (Fmake_thread): Call emacs_abort, to avoid
32784         compilation warning.
32786 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
32788         Fix unlikely substitute-command-keys memory leak
32790         * src/doc.c (Fsubstitute_command_keys):
32791         Free buffer when unwinding.
32793 2016-12-08  Michael Albinus  <michael.albinus@gmx.de>
32795         Add file-name-quoted-p, file-name-quote, file-name-unquote
32797         * lisp/files.el (file-name-quoted-p, file-name-quote)
32798         (file-name-unquote): New defsubst.
32799         (find-file--read-only, find-file-noselect)
32800         (file-name-non-special): Use them.
32802 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
32804         Add a NEWS entry.
32806 2016-12-08  Glenn Morris  <rgm@gnu.org>
32808         Minor fix for symbol-file
32810         * lisp/subr.el (symbol-file): Avoid false matches with "require"
32811         elements in load-history.  (Bug#25109)
32813 2016-12-08  Glenn Morris  <rgm@gnu.org>
32815         Doc fix for vc-git
32817         * lisp/vc/vc-git.el (vc-git-region-history): Add a doc string.
32819 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
32821         Fix Bug#24962
32823         * lisp/buff-menu.el (list-buffers--refresh):
32824         List buffers with name starting with " " if they visit a file.
32825         * test/lisp/buff-menu-tests.el (buff-menu-24962):
32826         Update test result as pass.
32828 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
32830         ediff-fixup-patch-map: Improve prompt
32832         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
32833         Make clear in the prompt when we are applying a multi patch.
32835 2016-12-08  Glenn Morris  <rgm@gnu.org>
32837         Retain message logging in map-y-or-n-p
32839         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
32840         Stop disabling logging to Messages buffer.  (Bug#13326)
32842 2016-12-08  Glenn Morris  <rgm@gnu.org>
32844         Doc fix for recent change
32846         * lisp/simple.el (region-modifiable-p): Doc fix.
32848 2016-12-08  Glenn Morris  <rgm@gnu.org>
32850         Quieten make-dist default operation
32852         * make-dist: Add --verbose option.  Default to quieter operation.
32854 2016-12-08  Glenn Morris  <rgm@gnu.org>
32856         Further improve make-dist checking
32858         * make-dist: Print status messages when checking.
32860 2016-12-08  Glenn Morris  <rgm@gnu.org>
32862         Improve previous make-dist change
32864         * make-dist: Let make check the info files more thoroughly.
32866 2016-12-08  Glenn Morris  <rgm@gnu.org>
32868         Make make-dist --snapshot do some sanity checks
32870         * make-dist: Snapshot mode no longer disables checks.
32871         Checks now includes checks for freshness.  (Bug#25084)
32872         Checks now exits with an error if problems were found.
32874 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
32876         Fix regression introduced by commit 7b1e97f
32878         * lisp/ibuf-ext.el (ibuffer-decompose-filter): Use cdr instead
32879         of cadr; required after commit 20f5a5b.
32881 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
32883         Put post-25 ChangeLog entries into ChangeLog.3
32885         * ChangeLog.2: Copy from emacs-25 branch.
32886         * ChangeLog.3: New file, with changes only in master.
32887         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump from 2 to 3.
32889 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
32891         Fix network streams.
32893         The original code messed up flags in fd_callback_data[], and also
32894         didn't call add_process_read_fd for process-related file descriptors.
32896 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
32898         Minimize spurious diffs from master.
32900 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
32902         Fix the test suite
32904         * test/automated/bindings.el: Contents moved to
32905         test/src/data-tests.el.
32906         * test/automated/threads.el: Moved to test/src/thread-tests.el.
32908 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
32910         Fix a typo in bytecode.c.
32912 2016-12-05  Eli Zaretskii  <eliz@gnu.org>
32914         Fix compilation problems.
32916         Fix merged code in process.c and eval.c.
32918 2016-12-04  Eli Zaretskii  <eliz@gnu.org>
32920         Merge branch 'concurrency'
32922         Conflicts (resolved):
32923                 configure.ac
32924                 src/Makefile.in
32925                 src/alloc.c
32926                 src/bytecode.c
32927                 src/emacs.c
32928                 src/eval.c
32929                 src/lisp.h
32930                 src/process.c
32931                 src/regex.c
32932                 src/regex.h
32934 2015-11-02  Eli Zaretskii  <eliz@gnu.org>
32936         Fix the MS-Windows build
32938         * src/thread.h [WINDOWSNT]: Include sys/socket.h.
32940         * src/sysselect.h: Don't define fd_set and FD_* macros for
32941         MS-Windows here.
32942         * src/w32.h: Define them here.
32944         * src/process.h (sys_select): Declare prototype.
32946         * src/sysdep.c:
32947         * src/process.c:
32948         * src/filelock.c:
32949         * src/emacs.c:
32950         * src/callproc.c: Move inclusion of sys/select.h after lisp.h.
32951         * nt/inc/socket.h: Include w32.h instead of sysselect.h
32953 2015-11-01  Ken Raeburn  <raeburn@raeburn.org>
32955         merge from trunk
32957 2013-10-19  Barry O'Reilly  <gundaetiapo@gmail.com>
32959         * src/eval.c (unbind_for_thread_switch): Fix iteration over the
32960         specpdl stack.
32962 2013-10-18  Tom Tromey  <tromey@redhat.com>
32964         change condition-variablep to condition-variable-p
32966 2013-09-01  Eli Zaretskii  <eliz@gnu.org>
32968         Fix crashes when unbind_for_thread_switch signals an error.
32970          src/eval.c (unbind_for_thread_switch): Accept a 'struct
32971          thread_state *' argument and use specpdl_ptr and specpdl of that
32972          thread.  Fixes crashes if find_symbol_value signals an error.
32973          src/thread.c (post_acquire_global_lock): Update current_thread
32974          before calling unbind_for_thread_switch.  Pass the previous thread
32975          to unbind_for_thread_switch.
32977 2013-08-31  Eli Zaretskii  <eliz@gnu.org>
32979         Improve MS-Windows implementation of threads.
32981          src/systhread.c (sys_cond_init): Set the 'initialized' member to
32982          true only if initialization is successful.  Initialize wait_count
32983          and wait_count_lock.
32984          (sys_cond_wait, sys_cond_signal, sys_cond_broadcast): If
32985          'initialized' is false, do nothing.
32986          (sys_cond_wait): Fix the implementation to avoid the "missed
32987          wakeup" bug: count the waiting threads, and reset the broadcast
32988          event once the last thread was released.
32989          (sys_cond_signal, sys_cond_broadcast): Use SetEvent instead of
32990          PulseEvent.  Don't signal the event if no threads are waiting.
32991          (sys_cond_destroy): Only close non-NULL handles.
32992          (sys_thread_create): Return zero if unsuccessful, 1 if successful.
32993          src/systhread.h (w32thread_cond_t): New member 'initialized'.
32994          Rename waiters_count and waiters_count_lock to wait_count and
32995          wait_count_lock, respectively.
32997 2013-08-30  Eli Zaretskii  <eliz@gnu.org>
32999         Enable thread support in the MS-Windows build.
33001          src/systhread.h (w32thread_critsect, w32thread_cond_t, sys_mutex_t)
33002          (sys_cond_t, sys_thread_t) [WINDOWSNT]: New data types.
33003          src/systhread.c (sys_mutex_init, sys_mutex_lock, sys_mutex_unlock)
33004          (sys_mutex_destroy, sys_cond_init, sys_cond_wait)
33005          (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy)
33006          (sys_thread_self, sys_thread_equal, w32_beginthread_wrapper)
33007          (sys_thread_create, sys_thread_yield) [WINDOWSNT]: New functions.
33009          configure.ac (THREADS_ENABLED): Enable threads for MinGW, even
33010          if pthreads is not available.
33012 2013-08-27  Tom Tromey  <tromey@redhat.com>
33014         use condition-notify in the docs, not condition-signal
33016         zap until-condition docs
33018         zap until-condition
33020         rename thread-blocker to thread--blocker
33022         remove binding_symbol
33024         fix style of threadp, mutexp, and condition-variable-p
33026         make thread_check_current_buffer return bool
33028         add a comment before flush_stack_call_func
33030         fix whitespace_regexp warning
33032 2013-08-26  Eli Zaretskii  <eliz@gnu.org>
33034         Fix MS-Windows build.
33036          src/callproc.c:
33037          src/emacs.c:
33038          src/filelock.c:
33039          src/process.c:
33040          src/sysdep.c:
33041          src/w32.c: Reshuffle Windows-specific headers to avoid errors with
33042          redefinition of fd_set etc.
33043          src/process.c: Don't use num_pending_connects when
33044          NON_BLOCKING_CONNECT is not defined.
33045          src/sysselect.h: Move definitions of FD_* macros and of SELECT_TYPE
33046          here from w32.h.
33047          src/w32proc.c (sys_select): Adjust the argument types to what
33048          thread.h expects.
33050          nt/inc/sys/socket.h: Include stdint.h.  Include sysselect.h instead
33051          of w32.h.
33053 2013-08-26  Tom Tromey  <tromey@redhat.com>
33055         use record_unwind_protect_void, avoid warning
33057         implement --enable-threads and a thread-less mode
33059 2013-08-25  Tom Tromey  <tromey@redhat.com>
33061         merge from trunk
33063 2013-08-20  Tom Tromey  <tromey@redhat.com>
33065         fix up some merge errors in process.c
33067         remove a dead function
33068         clean up a fixme I added in create_pty during the merge
33070 2013-08-20  Tom Tromey  <tromey@redhat.com>
33072         merge from trunk
33074 2013-07-26  Tom Tromey  <tromey@redhat.com>
33076         merge from trunk
33078 2013-07-13  Tom Tromey  <tromey@redhat.com>
33080         Merge from trunk
33082 2013-07-12  Tom Tromey  <tromey@redhat.com>
33084         Use thread_alive_p in a couple more spots
33086 2013-07-07  Tom Tromey  <tromey@redhat.com>
33088         fix xfree bug in run_thread
33090         this fixes run_thread to account for the dummy slot
33091         in specpdl
33093 2013-07-07  Tom Tromey  <tromey@redhat.com>
33095         merge from trunk
33097         this merges frmo trunk and fixes various build issues.
33098         this needed a few ugly tweaks.
33099         this hangs in "make check" now
33101 2013-07-06  Tom Tromey  <tromey@redhat.com>
33103         add assertion to flush_stack_call_func
33105         functions called via flush_stack_call_func are assumed
33106         to return with the global lock held again, and with
33107         current_thread reset.  this assertion verifies part of this
33109 2013-07-06  Tom Tromey  <tromey@redhat.com>
33111         call init_primary_thread from init_threads
33113 2013-07-05  Tom Tromey  <tromey@redhat.com>
33115         avoid SAFE_ALLOCA
33117         avoid SAFE_ALLOCA in xgselect.c.
33118         in this code it is just as easy to always use malloc;
33119         and it avoids thread-switching problems, as the safe-alloca
33120         stuff implicitly refers to the current thread
33122 2013-07-05  Tom Tromey  <tromey@redhat.com>
33124         avoid current_thread sometimes
33126         this tweaks thread.c to use 'self' instead of current_thread
33127         in a couple spots.  this is clearer and more robust
33129 2013-07-05  Tom Tromey  <tromey@redhat.com>
33131         initialize saved_value
33133         initialize the saved_value field in all needed cases
33134         also, add an assertion to do_one_unbind
33136 2013-07-04  Tom Tromey  <tromey@redhat.com>
33138         fix buglet in test case
33140 2013-07-04  Tom Tromey  <tromey@redhat.com>
33142         unlink thread later
33144         unlink thread from global list later
33145         also remove some unnecessary destruction code
33147 2013-07-04  Tom Tromey  <tromey@redhat.com>
33149         introduce thread_alive_p macro
33151         This introduces the thread_alive_p macro and changes
33152         thread-alive-p to use it.  This is a minor cleanup.
33153         It also changes all-threads to ignore dead threads.
33155 2013-07-03  Tom Tromey  <tromey@redhat.com>
33157         Don't call unbind_for_thread_switch in run_thread
33159         This removes the call to unbind_for_thread_switch from run_thread.
33160         This isn't necessary because acquire_global_lock does it properly.
33162 2013-07-03  Tom Tromey  <tromey@redhat.com>
33164         remove unused field from struct thread_state
33166         Fix a comment.
33168 2013-06-13  Tom Tromey  <tromey@redhat.com>
33170         merge from trunk
33172 2013-06-06  Tom Tromey  <tromey@redhat.com>
33174         fix a few latent issues in the thread patch
33176         * we called unbind_for_thread_switch unconditionally, but this
33177           is wrong if the previous thread exited
33178         * likewise, exiting a thread should clear current_thread
33179         * redundant assignment in run_thread
33180         * clean up init_threads - no need to re-init the primary thread
33182         This patch still sometimes causes weird hangs in "make check".
33183         However, I think that is a kernel bug, since Emacs enters the zombie
33184         state but its parent process hangs in wait.  This shouldn't happen.
33186 2013-06-04  Tom Tromey  <tromey@redhat.com>
33188         update eval.c to make it build again after the merge
33190 2013-06-03  Tom Tromey  <tromey@redhat.com>
33192         merge from trunk; clean up some issues
33194 2013-03-18  Tom Tromey  <tromey@redhat.com>
33196         don't let kill-buffer kill a buffer if it is current in any thread
33198 2013-03-18  Tom Tromey  <tromey@redhat.com>
33200         fix process bugs
33202         Fix some process-related bugs, mostly thinkos from the conversion to
33203         recording fd state as flags.
33204         This now passes the test suite without hanging.
33206 2013-03-17  Tom Tromey  <tromey@redhat.com>
33208         merge from trunk
33210 2013-03-08  Tom Tromey  <tromey@redhat.com>
33212         merge from trunk
33214 2013-01-16  Tom Tromey  <tromey@redhat.com>
33216         merge from trunk
33218 2013-01-06  Tom Tromey  <tromey@redhat.com>
33220         merge from trunk
33222 2012-12-23  Tom Tromey  <tromey@redhat.com>
33224         mention let bindings and lack of other ways to rewind
33226 2012-12-17  Tom Tromey  <tromey@redhat.com>
33228         Remove bit accidentally left over from the merge
33230         merge from trunk
33232 2012-09-04  Tom Tromey  <tromey@redhat.com>
33234         merge from trunk
33236         link from thread docs to match data
33238 2012-08-27  Tom Tromey  <tromey@redhat.com>
33240         cannot thread-join the current thread
33242         fix test suite for condition-variable-p name change
33244         add tests for variable bindings
33246 2012-08-25  Tom Tromey  <tromey@redhat.com>
33248         minor update to thread-join docs
33250 2012-08-24  Tom Tromey  <tromey@redhat.com>
33252         minor documentation updates
33254 2012-08-23  Tom Tromey  <tromey@redhat.com>
33256         document until-condition
33258         first draft of threads documentation
33260         rename condition-variablep to condition-variable-p
33262         document process-thread and set-process-thread
33264 2012-08-20  Tom Tromey  <tromey@redhat.com>
33266         pass the thread name to the OS if possible
33268         use prctl to pass the thread name to the OS, if possible
33270 2012-08-20  Tom Tromey  <tromey@redhat.com>
33272         add convenience macros with-mutex and until-condition
33274         with-mutex is a safe way to run some code with a mutex held.
33275         until-condition is a safe way to wait on a condition variable.
33277 2012-08-20  Tom Tromey  <tromey@redhat.com>
33279         Merge from trunk
33281 2012-08-19  Tom Tromey  <tromey@redhat.com>
33283         another docstring fixlet
33285         minor docstring fixup
33287         add condition-mutex and condition-name
33289         ensure name of a thread is a string
33291         ensure name of a mutex is a string
33293         use NILP
33295 2012-08-19  Tom Tromey  <tromey@redhat.com>
33297         condition variables
33299         This implements condition variables for elisp.
33300         This needs more tests.
33302 2012-08-19  Tom Tromey  <tromey@redhat.com>
33304         comment fixes
33306 2012-08-19  Tom Tromey  <tromey@redhat.com>
33308         refactor systhread.h
33310         This refactors systhread.h to move the notion of a "lisp mutex"
33311         into thread.c.  This lets us make make the global lock and
33312         post_acquire_global_lock static.
33314 2012-08-17  Tom Tromey  <tromey@redhat.com>
33316         write docstrings for the thread functions
33318         declare unbind_for_thread_switch and rebind_for_thread_switch in lisp.h
33320 2012-08-15  Tom Tromey  <tromey@redhat.com>
33322         add test case for I/O switching
33324 2012-08-15  Tom Tromey  <tromey@redhat.com>
33326         process changes
33328         This changes wait_reading_process_output to handle threads better.  It
33329         introduces a wrapper for select that releases the global lock, and it
33330         ensures that only a single thread can select a given file descriptor
33331         at a time.
33333         This also adds the thread-locking feature to processes.  By default a
33334         process can only have its output accepted by the thread that created
33335         it.  This can be changed using set-process-thread.  (If the thread
33336         exits, the process is again available for waiting by any thread.)
33338         Note that thread-signal will not currently interrupt a thread blocked
33339         on select.  I'll fix this later.
33341 2012-08-15  Tom Tromey  <tromey@redhat.com>
33343         Prepare process.c for threads by not having global select masks.
33344         The next step is to make it so selects can choose fds by thread.
33346 2012-08-15  Tom Tromey  <tromey@redhat.com>
33348         fix a latent bug in process.c
33350         * src/process.c (wait_reading_process_output): Check Writeok bits,
33351         not write_mask.
33353 2012-08-15  Tom Tromey  <tromey@redhat.com>
33355         This adds thread-blocker, a function to examine what a thread is
33356         blocked on.  I thought this would be another nice debugging addition.
33358         This adds names to mutexes.  This seemed like a nice debugging
33359         extension.
33361         This adds some tests of the threading code.
33363 2012-08-15  Tom Tromey  <tromey@redhat.com>
33365         This supplies the mutex implementation for Emacs Lisp.
33367         A lisp mutex is implemented using a condition variable, so that we can
33368         interrupt a mutex-lock operation by calling thread-signal on the
33369         blocking thread.  I did things this way because pthread_mutex_lock
33370         can't readily be interrupted.
33372 2012-08-15  Tom Tromey  <tromey@redhat.com>
33374         This adds most of the thread features visible to emacs lisp.
33376         I roughly followed the Bordeaux threads API:
33378         http://trac.common-lisp.net/bordeaux-threads/wiki/ApiDocumentation
33380         ... but not identically.  In particular I chose not to implement
33381         interrupt-thread or destroy-thread, but instead a thread-signaling
33382         approach.
33384         I'm still undecided about *default-special-bindings* (which I did not
33385         implement).  I think it would be more emacs-like to capture the let
33386         bindings at make-thread time, but IIRC Stefan didn't like this idea
33387         the first time around.
33389         There are one or two semantics issues pointed out in the patch where I
33390         could use some advice.
33392 2012-08-15  Tom Tromey  <tromey@redhat.com>
33394         This turns thread_state into a pseudovector and updates various bits
33395         of Emacs to cope.
33397 2012-08-15  Tom Tromey  <tromey@redhat.com>
33399         This introduces some new functions to handle the specpdl.  The basic
33400         idea is that when a thread loses the interpreter lock, it will unbind
33401         the bindings it has put in place.  Then when a thread acquires the
33402         lock, it will restore its bindings.
33404         This code reuses an existing empty slot in struct specbinding to store
33405         the current value when the thread is "swapped out".
33407         This approach performs worse than my previously planned approach.
33408         However, it was one I could implement with minimal time and
33409         brainpower.  I hope that perhaps someone else could improve the code
33410         once it is in.
33412 2012-08-15  Tom Tromey  <tromey@redhat.com>
33414         This introduces the low-level system threading support.  It also adds
33415         the global lock.  The low-level support is a bit over-eager, in that
33416         even at the end of the present series, it will not all be used.  I
33417         think thiat is ok since I plan to use it all eventually -- in
33418         particular for the emacs lisp mutex implementation.
33420         I've only implemented the pthreads-based version.  I think it should
33421         be relatively clear how to port this to other systems, though.
33423         I'd also like to do a "no threads" port that will turn most things
33424         into no-ops, and have thread-creation fail.  I was thinking perhaps
33425         I'd make a future (provide 'threads) conditional on threads actually
33426         working.
33428         One other minor enhancement available here is to make it possible to
33429         set the name of the new thread at the OS layer.  That way gdb, e.g.,
33430         could display thread names.
33432 2012-08-15  Tom Tromey  <tromey@redhat.com>
33434         This parameterizes the GC a bit to make it thread-ready.
33436         The basic idea is that whenever a thread "exits lisp" -- that is,
33437         releases the global lock in favor of another thread -- it must save
33438         its stack boundaries in the thread object.  This way the boundaries
33439         are always available for marking.  This is the purpose of
33440         flush_stack_call_func.
33442         I haven't tested this under all the possible GC configurations.
33443         There is a new FIXME in a spot that i didn't convert.
33445         Arguably all_threads should go in the previous patch.
33447 2012-08-15  Tom Tromey  <tromey@redhat.com>
33449         This introduces a thread-state object and moves various C globals
33450         there.  It also introduces #defines for these globals to avoid a
33451         monster patch.
33453         The #defines mean that this patch also has to rename a few fields
33454         whose names clash with the defines.
33456         There is currently just a single "thread"; so this patch does not
33457         impact Emacs behavior in any significant way.
33459 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33461         Merge from origin/emacs-25
33463         eeecac7 Fix minor quoting problems in doc strings
33465 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33467         Merge from origin/emacs-25
33469         35ce3fb Don't assume window-point and point are the same
33471 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33473         Merge from origin/emacs-25
33475         ba2847f ; * lisp/vc/ediff-util.el (ediff-janitor): Fix last change.  ...
33476         8b43f97 * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
33477         c20035c ; * doc/emacs/programs.texi (Man Page): Fix last change.
33478         93d8346 Improve indexing of 'man'
33480 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33482         Merge from origin/emacs-25
33484         d31298d Fix documentation of `window-combination-resize'
33485         2086f4c Typo fixes in elisp manual
33487 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33489         Merge from origin/emacs-25
33491         3980903 ; Update ChangeLog.2, etc/AUTHORS and ldef-boot.el for Emacs ...
33492         5878abf Fix 'expand-file-name' during startup on MS-Windows
33494 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33496         Merge from origin/emacs-25
33498         9a857b9 * admin/authors.el (authors-renamed-files-alist): Addition.
33499         6d27423 Tweak refcard note about documentation location
33500         e46a134 Improve treatment of Fortran's "class is"
33502 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33504         Merge from origin/emacs-25
33506         93c0f51 Handle TeX comments when making new paragraph
33507         e0884f1 Restore keystroke echo in 'C-q'
33508         a6213ce Improve documentation of 'current-word'
33509         0828126 Fix a typo in an Eshell defcustom
33510         2e361c7 Minor copyedits of electric-pair-mode
33511         7499ee8 ; Minor copyedit in the Emacs manual
33512         45b652b Fix documentation of 'invocation-directory'
33513         7f43d7c * admin/authors.el (authors-aliases): Add an entry.
33514         ba48880 ; Fix pl-refcard.tex
33516 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33518         Merge from origin/emacs-25
33520         7287e96 ; * src/lread.c (openp): Correct an inaccuracy in commentary.
33522 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33524         Merge from origin/emacs-25
33526         3d63b48 Update ChangeLog files and authors.el
33527         9d30264 Fix menu bindings of Dired 'A' and 'Q' commands
33528         a725592 Avoid errors in shr-pixel-column due to dedicated windows
33529         3138598 Update format-time-string documentation
33531 2016-12-07  Sam Steingold  <sds@gnu.org>
33533         delete-trailing-whitespace: handle read-only text in buffer
33535         * lisp/simple.el (region-modifiable-p): New function.
33536         (delete-trailing-whitespace): Us it to avoid trying to delete read-only text.
33538 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33540         Fix minor quoting problems in doc strings
33542 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33544         Fix --enable-gcc-warnings --with-ns on Fedora
33546         * src/Makefile.in (NON_OBJC_CFLAGS): New macro.
33547         (ALL_OBJC_CFLAGS): Use it.
33548         (EMACS_CFLAGS): New macro, with most of the old ALL_CFLAGS.
33549         (ALL_CFLAGS, ALL_OBJC_FLAGS): Use it.
33551 2016-12-07  Michael Albinus  <michael.albinus@gmx.de>
33553         Fix problems in quoting Tramp file names
33555         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Add also hop to result.
33556         (tramp-unquote-shell-quote-argument): New defun.
33557         (tramp-shell-quote-argument):
33558         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
33559         (tramp-make-copy-program-file-name):
33560         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
33561         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
33562         (tramp-smb-shell-quote-argument): Use it.
33564 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33566         ibuffer-map-deletion-lines: Re-included it
33568         It was deleted in previous commit, but it's referenced
33569         by the macro 'define-ibuffer-op'.
33570         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Reinclude it.
33572 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33574         ibuffer-unmark-all: simplify code
33576         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Delete it.
33577         (ibuffer-unmark-all): Simplify code.
33579 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33581         define-ibuffer-filter: Discard wrong filters
33583         * lisp/ibuf-macs.el (define-ibuffer-filter): Do not store
33584         in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042).
33585         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test.
33587 2016-12-07  Philipp Stephani  <p.stephani2@gmail.com>
33589         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
33591         so that it matches the actual implementation.
33592         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
33594 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33596         ibuffer-decompose-filter-group avoid unwanted side effects
33598         * lisp/ibuf-ext.el (ibuffer-delete-alist): Remove it.
33599         (ibuffer-remove-alist): New defun; it supersedes 'ibuffer-delete-alist'.
33600         All callers changed (Bug#25058).
33601         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25058): Add test.
33603 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33605         ibuffer-unmark-backward: Unmark the region when is active
33607         * lisp/ibuffer.el (ibuffer-unmark-backward):
33608         Use 'ibuffer-get-region-and-prefix'; call 'ibuffer-unmark-forward'
33609         with the region boundary as the first 2 arguments (Bug#24987).
33611 2016-12-07  Nicolas Petton  <nicolas@petton.fr>
33613         Docstring improvement for seq-some (bug#25129)
33615         * lisp/emacs-lisp/seq.el (seq-some): Make the docstring less confusing
33616           regarding the returned value.
33618 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33620         dired-unmark-backward: Unmark the region when is active
33622         * lisp/dired.el (dired-unmark-backward): Call 'dired-unmark' with
33623         a non-nil second argument (Bug#24986).
33625 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33627         New test file for ediff
33629         Fix previous commit.
33630         * test/lisp/vc/ediff-ptch-tests.el: New test.
33632 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33634         ediff-context-diff-label-regexp: Detect the end of second file
33636         * lisp/vc/ediff-ptch.el (ediff-context-diff-label-regexp): Skip
33637         '\n' in file names (Bug#25010).
33638         * test/lisp/vc/ediff-ptch-tests.el: New file.
33639         (ibuffer-test-bug25010): Add test for Bug#25010.
33641 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33643         ibuffer-decompose-filter: Avoid side effects on error
33645         * lisp/ibuf-ext.el (ibuffer-decompose-filter):
33646         Update 'ibuffer-filtering-qualifiers' only if there is no error (Bug#24997).
33647         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997):
33648         Update test result as pass.
33650 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33652         ibuffer: compare marks with EQ
33654         * lisp/ibuffer.el:
33655         (ibuffer-update-title-and-summary)
33656         (ibuffer-redisplay-current)
33657         (ibuffer-buffer-name-face, ibuffer-unmark-all)
33658         (ibuffer-count-deletion-lines, ibuffer-buffer-names-with-mark):
33659         Use 'eq' instead of 'char-equal' when comparing mark characters
33660         (Bug#25000).
33661         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000):
33662         Update test result as pass.
33664 2016-12-07  Christopher Genovese  <genovese@cmu.edu>
33666         ibuffer-saved-filters: Remove extra nesting level
33668         Fix Bug#25049.
33669         * lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra
33670         nesting level; add transparent setter to adjust old-format values;
33671         update doc string.
33672         (ibuffer-save-filters): Remove extra level of nesting
33673         in ibuffer-saved-filters values when saving new filters.
33674         (ibuffer-old-saved-filters-warning): New variable with
33675         clickable message with repair options to be displayed
33676         as a warning if 'ibuffer-repair-saved-filters' detects
33677         a format mismatch.
33678         (ibuffer-repair-saved-filters): Add new command to check and
33679         repair saved filters format.
33680         (ibuffer-included-in-filter-p, ibuffer-decompose-filter):
33681         Change access of saved filter data (cadr->cdr) to account
33682         for reduced nesting.
33683         * test/lisp/ibuffer-tests.el (ibuffer-save-filters):
33684         New test; check that filters are saved in the proper format.
33686 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
33688         Clean out some IRIX cruft
33690         * etc/MACHINES: Remove obsolete discussion of IRIX.
33691         * src/process.c (allocate_pty) [__sgi]: Remove SGI-specific code.
33692         (create_process) [HAVE_PTYS]: Don't worry about IRIX.
33693         * src/syntax.c (scan_sexps_forward): Remove obsolete comment.
33694         * src/unexelf.c [__sgi]: Don't include <syms.h>.
33695         (unexec) [__sgi]: Remove SGI-specific code.
33697 2016-12-06  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
33699         Simplify FUNCTIONP implementation
33701         * src/bytecode.c (exec_byte_code):
33702         * src/image.c (parse_image_spec):
33703         Prefer FUNCTIONP (x) to !NILP (Ffunctionp (x)).
33704         * src/eval.c (FUNCTIONP): Move here ...
33705         * src/lisp.h: ... from here.  No longer inline, as that
33706         bloats the text and does not help speed (at least on my platform).
33707         (functionp): Remove this name, since callers use FUNCTIONP.
33709 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
33711         Don't assume window-point and point are the same
33713         The function `cursor-sensor--detect' calls `bobp' to decide whether to
33714         check properties at (1- (window-point)).  However, (window-point) may be
33715         at beginning of buffer, even if (point) is not.  In this case an
33716         `args-out-of-range' error will be signaled (Bug#25104).
33718         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the
33719         value of (window-point) against (point-min), rather than (bobp) to
33720         decide if (1- (window-point)) is accessible.
33722 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
33724         Give test-completion's PREDICATE the hashtable key
33726         For hashtable entries with symbol keys, `test-completion' would convert
33727         the key to a string before calling PREDICATE, unlike `try-completion'
33728         and `all-completions'.
33730         * src/minibuf.c (Ftest_completion): Pass original key from hashtable.
33732 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
33734         Give test-completion's PREDICATE full alist entry
33736         Since 2016-06-26 "Fix test-completion with completion-regexp-list", when
33737         calling test-completion with an alist collection, the predicate was
33738         recieving the string value instead of the alist entry (Bug#24966).
33740         * src/minibuf.c (Ftest_completion): Don't modify the found element, just
33741         test STRING against `completion-regexp-list'.
33742         * test/src/minibuf-tests.el: New tests for `try-completion',
33743         `all-completions', and `test-completion'.
33745 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
33747         Fix ert-tests when running compiled
33749         * test/lisp/emacs-lisp/ert-tests.el (ert-test-deftest): Don't test for
33750         specific macroexpansion, just check result of evaluation.
33751         (ert-test-record-backtrace): Don't hardcode representation of closure in
33752         expected backtrace, this lets the test succeed even when the test code
33753         is compiled.
33755         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Also pass
33756         `byte-compile-macro-environment' to `macroexpand', this allows the
33757         `should' macro to properly handle macroexpansion of macros that were
33758         defined in the same file when it's being compiled (Bug #17851).
33760 2016-12-06  Glenn Morris  <rgm@gnu.org>
33762         Make "g" in vc push/pull buffers re-push/pull
33764         * lisp/vc/vc-bzr.el (vc-bzr--pushpull):
33765         * lisp/vc/vc-git.el (vc-git--pushpull):
33766         * lisp/vc/vc-hg.el (vc-hg--pushpull):
33767         Set compile-command so that "g" works.  (Bug#11446)
33769 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
33771         Change two _Noreturn functions to return void
33773         This is a bit clearer than _Noreturn functions that (do not)
33774         return a non-void type.
33775         * src/callproc.c (call_process) [MSDOS]:
33776         Use 'status' local to record status.
33777         (child_setup): Return CHILD_SETUP_TYPE.
33778         * src/data.c, src/lisp.h (wrong_type_argument): Return void.
33779         All callers changed.
33780         * src/lisp.h (CHILD_SETUP_TYPE): New macro.
33782 2016-12-05  Paul Eggert  <eggert@cs.ucla.edu>
33784         Fix GPG bug introduced by Oct file-missing change
33786         Problem with visiting nonexistent .gpg file
33787         reported by Herbert J Skuhra.
33788         * lisp/epa-file.el (epa-file--find-file-not-found-function):
33789         (epa-file-insert-file-contents, epa-file-write-region):
33790         Signal file-missing or file-error instead of epa-error.
33792 2016-12-05  Glenn Morris  <rgm@gnu.org>
33794         Tweak recent flymake change
33796         * lisp/progmodes/flymake.el (flymake-report-fatal-status):
33797         Avoid double message when flymake-log-level >= 0.
33798         * doc/misc/flymake.texi (Customizable variables):
33799         No longer mention flymake-gui-warnings-enabled.
33801 2016-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
33803         Make TAB and M-TAB run widget-forward and widget-backward (bug#25091)
33805         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Avoid `shr-next-link'
33806         and `shr-previous-link' so TAB and M-TAB run `widget-forward' and
33807         `widget-backward' instead (bug#25091).
33809 2016-12-05  Michael Albinus  <michael.albinus@gmx.de>
33811         Remove compat code in Tramp
33813         * lisp/net/tramp.el (tramp-parse-time-months): Remove.
33815         * lisp/net/tramp-compat.el (top): Require parse-time.
33817         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
33818         Use `parse-time-months'.
33820 2016-12-05  Martin Rudalics  <rudalics@gmx.at>
33822         Don't try to split side windows in ibuffer (Bug#25115)
33824         * lisp/ibuffer.el (ibuffer-confirm-operation-on): Don't try to
33825         split a side window (Bug#25115).
33827 2016-12-04  Paul Eggert  <eggert@cs.ucla.edu>
33829         * src/lisp.h: Update comment to kick -Og down the road.
33831 2016-12-04  Mark Oteiza  <mvoteiza@udel.edu>
33833         More image-dired refactoring
33835         * lisp/image-dired.el: Remove TODO comment. This appears to have been
33836         implemented in 5d7433a "image-dired: Signal an error before calling a
33837         missing executable".
33838         (image-dired-cmd-create-standard-thumbnail-command): Use %p specifier.
33839         Add :version.
33840         (image-dired-display-thumbs, image-dired-create-thumbs): Use dolist and
33841         when. Remove superfluous call to image-dired-thumb-name. Move single nil
33842         binding and setq into dolist form.
33844 2016-12-04  Michael Albinus  <michael.albinus@gmx.de>
33846         Implement quoting the local part of a remote file name
33848         * doc/emacs/files.texi (Quoted File Names):
33849         * etc/NEWS: Mention quoting the local part of a remote file name.
33851         * lisp/net/tramp.el (tramp-dissect-file-name): Check with
33852         `tramp-tramp-file-p'.
33853         (tramp-quoted-name-p, tramp-quote-name, tramp-unquote-name):
33854         New defsubst.
33855         (tramp-handle-substitute-in-file-name)
33856         (tramp-handle-make-auto-save-file-name): Handle quoted files.
33857         (tramp-shell-quote-argument): Unquote argument.
33859         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
33860         Handle quoted files.
33862         * test/lisp/net/tramp-tests.el (tramp--test-expensive-test): New defvar.
33863         (tramp--test-make-temp-name): New argument QUOTED.
33864         (tramp-test01-file-name-syntax)
33865         (tramp-test02-file-name-dissect)
33866         (tramp-test04-substitute-in-file-name)
33867         (tramp-test05-expand-file-name, tramp-test07-file-exists-p)
33868         (tramp-test08-file-local-copy)
33869         (tramp-test09-insert-file-contents)
33870         (tramp-test10-write-region, tramp-test11-copy-file)
33871         (tramp-test12-rename-file, tramp-test13-make-directory)
33872         (tramp-test14-delete-directory, tramp-test15-copy-directory)
33873         (tramp-test16-directory-files)
33874         (tramp-test17-insert-directory)
33875         (tramp-test18-file-attributes)
33876         (tramp-test19-directory-files-and-attributes)
33877         (tramp-test20-file-modes, tramp-test21-file-links)
33878         (tramp-test22-file-times, tramp-test23-visited-file-modtime)
33879         (tramp-test24-file-name-completion, tramp-test25-load)
33880         (tramp-test26-process-file, tramp-test27-start-file-process)
33881         (tramp-test28-shell-command, tramp-test30-vc-registered)
33882         (tramp-test31-make-auto-save-file-name)
33883         (tramp--test-check-files)
33884         (tramp-test35-asynchronous-requests): Test also quoted file names.
33885         (tramp--test-shell-command-to-string-asynchronously): Rename.
33886         (tramp-test29-environment-variables): Use it.
33888 2016-12-04  Tino Calancha  <tino.calancha@gmail.com>
33890         Fix typo in dired-omit-case-fold-p
33892         * lisp/dired-x.el (dired-omit-case-fold-p):
33893         Write 'file-name-case-insensitive-p' instead of
33894         'file-name-case-sensitive-p'.
33895         Add declaration of 'file-name-case-insensitive-p'.
33897 2016-12-04  Simen Heggestøyl  <simenheg@gmail.com>
33899         Add HTML5 attributes for the input element
33901         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 attributes
33902         for the input element.
33904 2016-12-03  Glenn Morris  <rgm@gnu.org>
33906         Obsolete sc-load-hook in favor of eval-after-load
33908         * lisp/mail/supercite.el (sc-load-hook): Make obsolete.
33909         * doc/misc/sc.texi (Getting Connected, Filling Cited Text):
33910         No longer mention sc-load-hook.
33912 2016-12-03  Glenn Morris  <rgm@gnu.org>
33914         Obsolete calendar-load-hook in favor of eval-after-load
33916         * lisp/calendar/calendar.el (calendar-load-hook): Make obsolete.
33917         (calendar): Doc fix - no longer mention calendar-load-hook.
33918         * doc/emacs/cal-xtra.texi (Calendar Customizing):
33919         No longer mention calendar-load-hook.
33920         * doc/lispintro/emacs-lisp-intro.texi (X11 Colors):
33921         Replace calendar-load-hook in example with with-eval-after-load.
33923 2016-12-03  Glenn Morris  <rgm@gnu.org>
33925         Fix markup in read-multiple-choice doc (Bug#25102)
33927         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Doc fix.
33929 2016-12-03  Glenn Morris  <rgm@gnu.org>
33931         Stop flymake using dialog boxes for errors (Bug#16622)
33933         * lisp/progmodes/flymake.el (flymake-gui-warnings-enabled):
33934         Mark as obsolete.
33935         (flymake-display-warning): Turn into an obsolete alias.
33936         (flymake-report-fatal-status): Just use message for a warning that
33937         was formerly displayed by default.
33939 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
33941         Clean up keymap and menu code in image-dired
33943         A function to populate these maps is not necessary, just define the maps
33944         once and for all.
33945         * lisp/image-dired.el (image-dired-show-all-from-dir): Make prompt
33946         clearer and in the spirit of dired's.
33947         (image-dired-define-display-image-mode-keymap):
33948         (image-dired-define-thumbnail-mode-keymap): Remove.
33949         (image-dired-thumbnail-mode-map):
33950         (image-dired-thumbnail-mode-line-up-map):
33951         (image-dired-thumbnail-mode-tag-map): Assimilate all define-key and mode
33952         menu code from the aforementioned removed functions.  Reorder so that
33953         the definitions are inherited properly.
33954         (image-dired-display-current-image-sized): Fix erroneous message.
33955         (image-dired-thumbnail-mode):
33956         (image-dired-display-image-mode): Remove defunct call.
33958 2016-12-03  Michael Albinus  <michael.albinus@gmx.de>
33960         Mention `file-name-case-insensitive-p' as magic file name
33962         * doc/lispref/files.texi (Magic File Names):
33963         Mention `file-name-case-insensitive-p'.
33965         * doc/lispref/variables.texi (Connection Local Variables):
33966         Fix typo.
33968 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
33970         Clean up uses of cl-foo in image-dired
33972         Both instances here are just emulating cl-find-if.
33973         * lisp/image-dired.el: Use cl-lib at compile time.
33974         (image-dired-dired-toggle-marked-thumbs): Don't need let* at the top.
33975         Replace the cl-foo instances with equivalent cl-loops.
33977 2016-12-03  Eli Zaretskii  <eliz@gnu.org>
33979         Avoid compilation warnings in nt/*.c files
33981         * nt/cmdproxy.c (fail, vfprintf, fprintf, printf, warn)
33982         (console_event_handler): Add prototypes.
33983         (canon_filename, skip_space, skip_nonspace, get_next_token)
33984         (batch_file_p, search_dir, make_absolute, try_dequote_cmdline)
33985         (spawn, get_env_size): Now static.
33986         * nt/ddeclient.c (DdeCallback): Provide prototype.
33987         * nt/addpm.c (DdeCallback): Provide prototype.
33988         (add_registry): Now static.
33990 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
33992         Display window before calculating width
33994         * lisp/image-dired.el (image-dired-display-thumbs): Display the buffer
33995         before calling image-dired-line-up and friends, which in turn calculate
33996         the window width. Otherwise, the thumbnail layout will be wrong in
33997         a side-by-side split.
33999 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
34001         Use pop-to-buffer-same-window
34003         * lisp/image-dired.el (image-dired-dired-with-window-configuration):
34004         (image-dired-dired-edit-comment-and-tags): Instead of switch-to-buffer,
34005         use pop-to-buffer-same-window cf. Bug#22244.
34006         (image-dired-forward-image, image-dired-backward-image): Ignore unused.
34008 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
34010         Document watchpoints
34012         * doc/lispref/debugging.texi (Variable Debugging):
34013         * doc/lispref/variables.texi (Watching Variables): New section.
34014         * etc/NEWS: Add entry for watchpoints
34016 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
34018         Add tests for watchpoints
34020         * test/src/data-tests.el (data-tests-variable-watchers):
34021         (data-tests-local-variable-watchers): New tests.
34023 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
34025         Ensure redisplay using variable watcher
34027         This replaces looking up the variable name in redisplay--variables when
34028         setting it.
34030         * lisp/frame.el: Replace redisplay--variables with add-variable-watcher
34031         calls.
34032         * src/xdisp.c (Fset_buffer_redisplay): Rename from maybe_set_redisplay,
34033         set the redisplay flag unconditionally.
34034         (Vredisplay__variables): Remove it.
34035         * src/data.c (set_internal): Remove maybe_set_redisplay call.
34037 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
34039         Add function to trigger debugger on variable write
34041         * lisp/emacs-lisp/debug.el (debug-on-variable-change):
34042         (debug--variable-list):
34043         (cancel-debug-on-variable-change): New functions.
34044         (debugger-setup-buffer): Add watchpoint clause.
34046 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
34048         Show watchpoints when describing variables
34050         * src/data.c (Fget_variable_watchers): New function.
34051         * lisp/help-fns.el (describe-variable): Use it to detect watching
34052         functions.
34054 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
34056         Add lisp watchpoints
34058         This allows calling a function whenever a symbol-value is changed.
34060         * src/lisp.h (lisp_h_SYMBOL_TRAPPED_WRITE_P):
34061         (SYMBOL_TRAPPED_WRITE_P): New function/macro.
34062         (lisp_h_SYMBOL_CONSTANT_P): Check for SYMBOL_NOWRITE specifically.
34063         (enum symbol_trapped_write): New enumeration.
34064         (struct Lisp_Symbol): Rename field constant to trapped_write.
34065         (make_symbol_constant): New function.
34067         * src/data.c (Fadd_variable_watcher, Fremove_variable_watcher):
34068         (set_symbol_trapped_write, restore_symbol_trapped_write):
34069         (harmonize_variable_watchers, notify_variable_watchers): New functions.
34071         * src/data.c (Fset_default): Call `notify_variable_watchers' for trapped
34072         symbols.
34073         (set_internal): Change bool argument BIND to 3-value enum and call
34074         `notify_variable_watchers' for trapped symbols.
34076         * src/data.c (syms_of_data):
34077         * src/data.c (syms_of_data):
34078         * src/font.c (syms_of_font):
34079         * src/lread.c (intern_sym, init_obarray):
34080         * src/buffer.c (syms_of_buffer): Use make_symbol_constant.
34082         * src/alloc.c (init_symbol):
34083         * src/bytecode.c (exec_byte_code): Use SYMBOL_TRAPPED_WRITE_P.
34084         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
34085         (Fmake_variable_frame_local):
34086         * src/eval.c (Fdefvaralias, specbind): Refer to Lisp_Symbol's
34087         trapped_write instead of constant.
34088         (Ffuncall): Move subr calling code into separate function.
34089         (funcall_subr): New function.
34091 2016-12-02  Glenn Morris  <rgm@gnu.org>
34093         Starting doc of user options with "*" is long obsolete
34095         * lisp/battery.el (battery-upower-device): Doc fix.
34097 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
34099         Fix bug#25087
34101         * etc/themes/manoj-dark-theme.el: Fix two typos.
34103         (cherry picked from commit 66d6e7e9ecf5e481f8c2c3a4f88411f66c869a6e)
34105 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
34107         Fix docstrings to have a complete sentence in first line
34109         * lisp/dired-x.el (dired-omit-case-fold, dired-omit-case-fold-p): Fix
34110         docstrings.
34112 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
34114         Remove obsolete comments and commented code from dired-x.el
34116         * lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
34117         1997 answer about whether dired-mark-sexp is used.
34118         * lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
34119         commented out since before dired-x.el was added to RCS in 1994.
34121 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
34123         Remove pre-customize dired-x.el documentation
34125         * lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
34126         use dired-x from .emacs.  It is now fully customizable.
34127         * lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
34128         how to set this custom variable in .emacs.  It should be customized.
34130 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
34132         Allow files to be matched case-sensitively in dired-x
34134         * lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which
34135         controls case folding for matching the regex (Bug#18716).
34136         (dired-omit-case-fold): New variable.  Defaults to `t' on case-sensitive
34137         systems, `nil' otherwise.
34138         (dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold.
34139         * doc/misc/dired-x.texi, etc/NEWS: Document dired-omit-case-fold.
34141 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
34143         Add support for curly quotation marks to electric-pair-mode
34145         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
34146         entries for left/right single/double quotation marks, from
34147         electric-quote-chars. Note that this is safe for single quotation marks,
34148         unlike with the ASCII apostrophe, since, although the right quotation
34149         mark can be used as an apostrophe, it is the left quotation mark that is
34150         typed to get a pair (Bug#24901).
34152 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
34154         Fix bug#25087
34156         * etc/themes/manoj-dark-theme.el: Fix two typos.
34158 2016-12-02  Michael Albinus  <michael.albinus@gmx.de>
34160         Handle quoted file names in Tramp
34162         * lisp/net/tramp.el (tramp-file-name-handler): Handle also the
34163         case the file name is quoted.  This is not trapped by the
34164         reassigned `tramp-file-name-regexp' anymore.
34166 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
34168         * lisp/battery.el: Add 'battery-upower' -- very fast battery status.
34170 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
34172         Support for rawrgb images using imagemagick
34174         * src/image.c (imagemagick_load_image): Set wand size before loading
34175         blob when ':width' and ':height' are provided.
34177         * lisp/image.el (image-format-suffixes): Add 'image/x-rgb'.
34179 2016-12-02  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
34181         Fix 'sql-connect' on first invocation
34183         * lisp/progmodes/sql.el (sql-connect): Reorder code which sets
34184         param-var.  (Bug#19452)
34186 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
34188         * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
34190 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
34192         Improve indexing of 'man'
34194         * doc/emacs/programs.texi (Man Page): Index 'man', not
34195         'manual-entry', as the latter is an alias for the former.
34196         Suggested by Hong Xu <hong@topbug.net>.  (Bug#25033)
34198 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
34200         Port to Sun C 5.14
34202         Backport from master.  Sun C 5.14 supports C11 but not GCC
34203         extensions, and so refuses to compile Emacs without this patch.
34204         * src/alloc.c (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on
34205         size_t, as in general this macro is restricted to signed types.
34207 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
34209         Fix type typo on Solaris
34211         * src/sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
34212         Fix type mismatch, caught by --enable-check-lisp-object-type.
34214 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
34216         Merge from gnulib
34218         This incorporates:
34219         2016-11-27 md4,md5,sha*: tune for recent glibc _STRING_INLINE_unaligned
34220         2016-11-21 snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
34221         * build-aux/snippet/c++defs.h:
34222         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
34223         Copy from gnulib.
34225 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
34227         Make struct font_drivers read-only
34229         This simplifies the code a bit, and makes the structs more
34230         shareable and less likely to become corrupt.
34231         * src/alloc.c (cleanup_vector):
34232         * src/font.c (valid_font_driver, font_prepare_cache)
34233         (font_finish_cache, font_get_cache, font_clear_cache)
34234         (register_font_driver, font_update_drivers):
34235         * src/font.h (struct font, struct font_driver_list)
34236         (valid_font_driver):
34237         struct font_drivers are now const.
34238         * src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c:
34239         Omit no-longer-necessary decls.
34240         * src/ftcrfont.c (syms_of_ftcrfont):
34241         * src/ftxfont.c (syms_of_ftxfont):
34242         * src/xftfont.c (syms_of_xftfont):
34243         Omit no-longer-necessary initialization code.
34244         * src/ftcrfont.c (ftcrfont_driver):
34245         * src/ftfont.c (ftfont_driver):
34246         * src/ftxfont.c (ftxfont_driver):
34247         * src/macfont.m (macfont_driver):
34248         * src/nsfont.m (nsfont_driver):
34249         * src/xfont.c (xfont_driver):
34250         * src/xftfont.c (xftfont_driver):
34251         Use C99-style initializer for ease of maintenance, and make it const.
34252         * src/ftcrfont.c, src/ftxfont.c, src/xftfont.c:
34253         Refer to functions like ftfont_text_extents directly.
34254         * src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family)
34255         (ftfont_has_char, ftfont_encode_char, ftfont_text_extents)
34256         (ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability)
34257         (ftfont_variation_glyphs, ftfont_filter_properties)
34258         (ftfont_combining_capability):
34259         * src/xfont.c (xfont_get_cache):
34260         Now extern, so that other modules’ struct font_drivers can use
34261         them directly.
34262         * src/macfont.m (macfont_descriptor_entity):
34263         * src/nsfont.m (nsfont_open):
34264         Use constant directly; this is clearer.
34266 2016-12-01  Richard Stallman  <rms@gnu.org>
34268         Fix mail-combine-fields
34270         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
34271         avoid losing our place in the search loop.
34273         (cherry picked from commit 5fbba6cceaf843cfca449eb000a0a65243b61808)
34275 2016-12-01  Helmut Eller  <eller.helmut@gmail.com>
34277         Forth related improvements for etags
34279         Generate correct tags names for things like "(foo)".
34280         Previously "(foo" created.
34282         Fix a bug where a tag for "-bar" was created when encountering things
34283         like "create-bar".
34285         Recognize more words from the Forth-2012 Standard.
34287         * lib-src/etags.c (Forth_words): Check for whitespace after defining
34288         words.  Create tag with make_tag instead of get_tag to avoid notiname
34289         which isn't appropriate for Forth.
34291         * test/manual/etags/forth-src/test-forth.fth: Add some test cases.
34292         * test/manual/etags/ETAGS.good_1:
34293         * test/manual/etags/ETAGS.good_2:
34294         * test/manual/etags/ETAGS.good_3:
34295         * test/manual/etags/ETAGS.good_4:
34296         * test/manual/etags/ETAGS.good_5:
34297         * test/manual/etags/ETAGS.good_6:
34298         * test/manual/etags/CTAGS.good: Adapt to the changes in etags.c and
34299         new test cases.
34301 2016-12-01  Eli Zaretskii  <eliz@gnu.org>
34303         Fix bugs with buffer-local tags tables
34305         * lisp/progmodes/etags.el (visit-tags-table): After
34306         'visit-tags-table-buffer' returns, retrieve the value of
34307         'tags-file-name' from the buffer we started in.  Force
34308         recomputation of 'tags-completion-table' next time it is used,
34309         since the list of tags table has changed.
34310         (visit-tags-table-buffer): Accept an additional optional argument
34311         CBUF, the buffer in which to start processing, and switch to that
34312         buffer if CBUF is non-nil.  All callers changed to supply a
34313         non-nil CBUF when they call 'visit-tags-table-buffer' in a loop.
34314         Doc fix.
34315         (tags-completion-table): Accept an optional argument, the buffer
34316         for which to build 'tags-completion-table', and build that
34317         buffer's completion table.
34318         (tags-lazy-completion-table): Pass the current buffer to
34319         'tags-completion-table'.
34320         (tags-file-name): Don't say in the doc string that setting this
34321         variable directly is enough; say that 'visit-tags-table' should be
34322         used for that.  (Bug#158)  (Bug#17326)  (Bug#23164)
34324         * doc/emacs/maintaining.texi (Select Tags Table): Delete the
34325         advice to set 'tags-file-name' directly.
34327         * test/lisp/progmodes/etags-tests.el: New tests.
34329 2016-12-01  Martin Rudalics  <rudalics@gmx.at>
34331         Fix documentation of `window-combination-resize'
34333         * src/window.c (Vwindow_combination_resize): Fix doc-string.
34334         * doc/lispref/windows.texi (Recombining Windows): Fix
34335         documentation of `window-combination-resize'.
34337 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
34339         * src/lisp.h (LISP_INITIALLY_ZERO): Remove.
34341         All uses replaced by LISPSYM_INITIALLY.
34343 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
34345         Make Cairo safer for --enable-gcc-warnings
34347         * src/image.c (xcolor_to_argb32, pbm_load, jpeg_load_body, gif_load):
34348         Avoid overflow warnings about ‘0xff << 24’.
34349         (xpm_load, gif_load): Avoid unnecessary casts.
34350         (gif_load): Fewer ifdefs.
34352 2016-11-30  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
34354         Fix Condition in kbd_buffer_store_buffered_event (bug#19547).
34356         * src/keyboard.c (kbd_buffer_store_buffered_event): Should be NILP and not
34357         !NILP.
34359 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
34361         Fix previous commit
34363         * lisp/vc/diff-mode.el (diff-refine-hunk): Make sure to go to beginning
34364         of hunk before calling `diff-hunk-style'.
34366 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
34368         * lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable.
34370 2016-11-29  Glenn Morris  <rgm@gnu.org>
34372         Use archive-mode for .cbr files
34374         * lisp/files.el (auto-mode-alist): Add cbr.  (Bug#24994)
34376 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
34378         Pacify Sun C 5.14
34380         * src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED,
34381         SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT
34382         into this enum rather than into an anonymous enum.  This avoids
34383         diagnostics from Sun C 5.14 and is a bit clearer anyway.
34385 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
34387         Adjust lwlib to recent config.h change
34389         * lwlib/lwlib-Xaw.c: Include <stdlib.h> for 'abort' (Bug#24506).
34391 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
34393         * src/eval.c (clobbered_eassert): Check E's syntax.
34395 2016-11-29  Michael Albinus  <michael.albinus@gmx.de>
34397         Improve user retrieval from auth-source in Tramp
34399         * lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd):
34400         Use user for auth-source request only in case it exists.
34402 2016-11-29  Katsumi Yamaoka  <yamaoka@jpl.org>
34404         shr.el: Don't render a normal table twice
34406         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
34407         Don't render a table if it is called for the first time,
34408         IOW, recognize it to never be invalid (bug#25051).
34410 2016-11-29  Bogdan Creanga  <bogdan.creanga@gmail.com>  (tiny change)
34412         Typo fixes in elisp manual
34414         * doc/lispref/sequences.texi: Add missing '4' in result (Bug#25047).
34415         * doc/lispref/strings.texi (Text Comparison): Avoid duplicate
34416         definitions of 'string-prefix-p' and 'string-suffix-p'.
34417         * doc/lispref/symbols.texi (Definitions): Pluralize 'definitions'.
34419 2016-11-28  Dima Kogan  <Dmitriy.Kogan@jpl.nasa.gov>
34421         Improve diff-mode navigation/manipulation
34423         This is Bug #17544.
34425         Navigation and use of diff buffers had several annoying corner cases
34426         that this patch fixes.  These corner cases were largely due to
34427         inconsistent treatment of file headers.  Say you have a diff such as
34428         this:
34430          --- aaa
34431          +++ bbb
34432          @@ -52,7 +52,7 @@
34433          hunk1
34434          @@ -74,7 +74,7 @@
34435          hunk2
34436          --- ccc
34437          +++ ddd
34438          @@ -608,6 +608,6 @@
34439          hunk3
34440          @@ -654,7 +654,7 @@
34441          hunk4
34443         The file headers here are the '---' and '+++' lines.  With the point on
34444         such a line, hunk operations would sometimes refer to the next hunk and
34445         sometimes to the previous hunk.  Most of the time it would be the
34446         previous hunk, which is not what the user would expect.  This patch
34447         consistently treats such headers as the next hunk.  So with this patch,
34448         if the point is on the '--- ccc' line, the point is seen as referring to
34449         hunk3.
34451         Specific behaviors this fixes are:
34453         1. It should be possible to place the point in the middle of a diff
34454         buffer, and press M-k repeatedly to kill hunks in the order they appear
34455         in the buffer.  With the point on hunk1, M-k M-k would kill hunk1 then
34456         hunk2.  With the point on hunk3, it would kill hunk3 then hunk4; this is
34457         fine.  However, with the point on hunk2, it'd kill hunk2 then hunk1.
34458         This is fixed by this patch.
34460         2. Similarly, it should be possible to apply hunks in order.  Previously
34461         with the point at the start, C-c C-a would apply the hunk1, then move
34462         the point to the first @@ header, and thus C-c C-a would try to apply
34463         the same hunk again.
34465         * lisp/vc/diff-mode.el (diff--wrap-navigation): New function to add better
34466         navigation logic to diff-{hunk,file}-{next,prev}.
34467         (diff-hunk-next, diff-hunk-prev):
34468         (diff-file-next, diff-file-prev): Better navigation logic if
34469         skip-hunk-start is true, which happens when called interactively.
34470         (diff-bounds-of-hunk, diff-find-source-location):
34471         (diff-apply-hunk, diff-current-defun, diff-refine-hunk): Small tweaks to
34472         improve hunk navigation.
34474 2016-11-28  Noam Postavsky  <npostavs@gmail.com>
34476         Upcase Path and ComSpec in process-environment
34478         Since 2016-07-18 "Keep w32 environment settings internal only", the
34479         upcasing of environment variables "Path" and "ComSpec" occurred after
34480         initializing process-environment.  This meant that Lisp code trying to
34481         override "PATH" environment had no effect (Bug #24956).
34483         * src/w32.c (init_environment): Upcase the "Path" and "ComSpec" entries
34484         in Vprocess_environment.
34486 2016-11-28  Philipp Stephani  <phst@google.com>
34488         Guard terminal parameter in XTerm mouse mode
34490         It has been observed (in the HTerm terminal emulator) that the
34491         event stored in the 'xterm-mouse-last-down' terminal parameter gets
34492         overwritten during a mouse drag operation, causing Emacs to attempt to
34493         synthesize the non-existing <drag-mouse-0> event.  Copy the event into
34494         the terminal parameter to protect against such modifications.
34496         * lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
34497         of input event list.
34499 2016-11-28  Paul Eggert  <eggert@cs.ucla.edu>
34501         Fix template for module functions
34503         Reported by Syohei YOSHIDA (Bug#24932).
34504         * modules/modhelp.py (TEMPLATES):
34505         c_func’s 2nd arg is ptrdiff_t, not int.
34507 2016-11-27  Paul Eggert  <eggert@cs.ucla.edu>
34509         Pacify gcc -Wswitch.
34511         * src/keyboard.c (kbd_buffer_store_buffered_event):
34512         Move initialization into default case.
34514 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
34516         Reuse already existing lisp symbols for ignore_event (bug#19547).
34518         * lisp/subr.el (while-no-input-ignore-events): Use them instead.
34519         * src/keyboard.c (kbd_buffer_store_buffered_event):
34520         Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT,
34521         and make-frame-visible for DEICONIFY_EVENT.
34522         (syms_of_keyboard): Remove unneeded symbols.
34524 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
34526         Allow configuring which event throw-on-input should ignore (bug#19547).
34528         * src/keyboard.c (kbd_buffer_store_buffered_event):
34529         Translate event to corresponding symbol from `while-no-input-ignore-events`
34530         and check them with Fmemq.
34531         (syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events`
34532         and its symbols.
34534         * lisp/subr.el (while-no-input-ignore-events): Add default values.
34536         * doc/lispref/commands.texi (Event Input Misc):
34537         Document while-no-input-ignore-events.
34538         * etc/NEWS: Same.
34540 2016-11-26  Tino Calancha  <tino.calancha@gmail.com>
34542         ash, lsh avoid code duplication
34544         See discussion in:
34545         https://lists.gnu.org/r/emacs-devel/2016-11/msg00469.html
34546         * src/data.c (ash_lsh_impl): New function.
34547         (ash, lsh): Use it.
34549 2016-11-26  Simen Heggestøyl  <simenheg@gmail.com>
34551         Add will change module to CSS property list
34553         * lisp/textmodes/css-mode.el (css-property-alist)
34554         (css-value-class-alist): Add new property and value class from CSS
34555         Will Change Module.
34557 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
34559         Don't access pointers to freed storage in regex.c
34561         Remove __BOUNDED_POINTERS__ code, which does not work with
34562         -fcheck-pointer-bound and which has undefined behavior anyway.
34563         Problem found when trying to port to gcc -fcheck-pointer-bounds.
34564         (This code was removed from glibc and gnulib regex.c many years ago.)
34565         * src/regex.c (ELSE_EXTEND_BUFFER_HIGH_BOUND): Remove.
34566         (EXTEND_BUFFER): Use a more-portable approach that avoids
34567         undefined behavior due to inspecting pointers to freed storage.
34569 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
34571         Port build to gcc -fcheck-pointer-bounds
34573         This does not let Emacs run, just build.
34574         * lib-src/etags.c (main):
34575         * lib-src/profile.c (main):
34576         Use return, not exit.
34577         * src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]:
34578         Do not define, as -fcheck-pointer-bounds is incompatible with taking
34579         addresses of labels.
34580         * src/menu.c (Fx_popup_dialog): Use eassume, not eassert,
34581         to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.
34583 2016-11-25  Tino Calancha  <tino.calancha@gmail.com>
34585         * lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop.
34587 2016-11-25  Simen Heggestøyl  <simenheg@gmail.com>
34589         * lisp/rot13.el: Use lexical-binding
34591 2016-11-25  Mark Oteiza  <mvoteiza@udel.edu>
34593         Add "using" to cl-loop debug spec (Bug#24750)
34595         * lisp/emacs-lisp/cl-macs.el (cl-loop): Add element to account for
34596         "using" hash table clause.
34598 2016-11-25  Hong Xu  <hong@topbug.net>  (tiny change)
34600         Allow user control of progress messages in cpp.el
34602         * lisp/progmodes/cpp.el (cpp-message-min-time-interval): New defcustom.
34603         (cpp-progress-time): Use 'cpp-message-min-time-interval'.  Improve
34604         the doc string.
34605         (cpp-highlight-buffer): Use 'cpp-progress-message' instead of
34606         'message' to print messages.  (Bug#24861)
34608 2016-11-25  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
34610         New input method 'polish-prefix'
34612         * lisp/leim/quail/latin-pre.el ("polish-prefix"): New input
34613         method.  (Bug#24967)
34615         * etc/NEWS: Mention the new input method.
34617 2016-11-25  Damien Cassou  <damien@cassou.me>
34619         * lisp/isearch.el: Add 'provide'.  (Bug#25026)
34621 2016-11-25  Philippe Vaucher  <philippe.vaucher@gmail.com>
34623         Add missing 'provide's in preloaded packages
34625         * lisp/composite.el:
34626         * lisp/replace.el:
34627         * lisp/textmodes/text-mode.el: Add provide statement.  (Bug#24985)
34629 2016-11-24  Alan Mackenzie  <acm@muc.de>
34631         Handle correctly an (undocumented) bare mode in hack-local-variables.
34633         lisp/files.el (hack-local-variables-prop-line): When a file's first line
34634         contains only a mode specification without the string "mode:", return the mode
34635         symbol only when `handle-mode' is t.
34637 2016-11-23  Dima Kogan  <dima@secretsauce.net>
34639         Clarify ediff-directories prompt
34641         * lisp/vc/ediff-mult.el (ediff-filegroup-action):
34642         * lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions,
34643         ediff-directories3, ediff-merge-directories,
34644         ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions,
34645         ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for
34646         filename filter in interactive ediff. The new message makes it clear what is
34647         being filtered
34649 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
34651         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997.
34653 2016-11-23  Ulf Jasper  <ulf.jasper@web.de>
34655         Fix Bug#24199.
34657         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote
34658           bracket in doc string (make checkdoc happy).
34659           (icalendar-import-buffer),
34660           (icalendar-import-buffer),
34661           (icalendar--convert-ical-to-diary),
34662           (icalendar--add-diary-entry): Rename argument diary-file to
34663           diary-filename (make checkdoc happy).
34664           (icalendar--convert-recurring-to-diary): Take care of byday-clause
34665           in monthly recurring events.  Actually fix Bug#24199.
34667         * test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New.
34669 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
34671         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000.
34673 2016-11-22  Philipp Stephani  <phst@google.com>
34675         Comint: new user option for C-c M-r and C-c M-s
34677         This option allows the user to specify where to place point after these
34678         commands.
34680         * lisp/comint.el (comint-move-point-for-matching-input): New user option.
34681         (comint-previous-matching-input-from-input): Use user option.
34683 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
34685         Add tramp-eshell-directory-change to eshell-first-time-mode-hook
34687         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to
34688         `eshell-first-time-mode-hook'.
34690 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
34692         Dump also connection local variables in Tramp bug reports
34694         * lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
34695         Dump also connection local variables.
34697 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
34699         Make sure elided long buffer names have ellipses added (Bug#24972)
34701         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the
34702         string concat, and chop "strvar" less the width of the ellipsis.
34703         (ibuffer-compile-make-substring-form): Add space as padding, to fix
34704         off-by-one in alignment.
34706 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
34708         Buffer-menu-no-header: Detect a fake header
34710         * lisp/buff-menu.el (Buffer-menu-no-header): Use
34711         'tabulated-list-header-overlay-p' (Bug#24855).
34713 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
34715         buff-menu: Add command to unmark all buffers
34717         Bind 'U' in buff-menu, bs and electric-buff-menu to commands
34718         to unmark all buffers (Bug#24880).
34719         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p):
34720         New predicate; return non-nil if tabulated-list has a fake header.
34721         * lisp/buff-menu.el (Buffer-menu-unmark-all-buffers):
34722         New command; remove all flags that use a particular mark from all the lines.
34723         Bind it to 'M-DEL'.
34724         (Buffer-menu-unmark-all):
34725         New command; remove all flags from all the lines.  Bind it to 'U'.
34726         (Buffer-menu-marker-char, Buffer-menu-del-char): New variables.
34727         (Buffer-menu-delete, Buffer-menu-mark): Use them.
34728         (Buffer-menu-mode-map): Update menus.
34729         (Buffer-menu-mode): Update mode doc.
34730         * lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands.
34731         (bs-mode-map): Bind them to 'U' and '<backspace>' respectively.
34732         (bs-mode): Update mode doc.
34733         * lisp/ebuff-menu.el (electric-buffer-menu-mode-map):
34734         Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers
34735         to 'M-DEL'.
34736         (bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current):
34737         Use point instead of cursor in doc string.
34738         (electric-buffer-list): Update mode doc.
34739         * doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all
34740         and Buffer-menu-unmark-all-buffers.
34742 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
34744         Revert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure."
34746         This reverts commit 10efaf718c5258af0ba62077cf4e2aaf9fb90227.
34748 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
34750         Port htmlfontify to cl-lib
34752         * lisp/htmlfontify.el: (hfy-box-to-border-assoc, hfy-box-to-style):
34753         (hfy-decor, hfy-face-to-style-i, hfy-face-at, hfy-merge-adjacent-spans):
34754         (hfy-fontify-buffer, htmlfontify-string, hfy-mark-tag-names): Replace
34755         instances of cl aliases with their cl-lib counterparts.
34757 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
34759         * lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure.
34761 2016-11-21  Paul Eggert  <eggert@cs.ucla.edu>
34763         Fix another CANNOT_DUMP problem
34765         Reported by Robert Pluim in:
34766         https://lists.gnu.org/r/emacs-devel/2016-11/msg00468.html
34767         * src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
34768         * src/lisp.h: ... to here.
34770 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
34772         Add further consideration to string-width (Bug#24972)
34774         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form):
34775         (ibuffer-compile-make-substring-form): Use truncate-string-to-width.
34777 2016-11-21  Katsumi Yamaoka  <yamaoka@jpl.org>
34779         Don't collect strings existing out of <tr>...</tr>
34781         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
34782         Don't collect strings existing out of <tr>...</tr> to avoid
34783         duplication with what `shr-tag-table' renders.
34785 2016-11-20  Katsumi Yamaoka  <yamaoka@jpl.org>
34787         * lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change
34788         the last commit.
34790 2016-11-20  Mike Kupfer  <m.kupfer@acm.org>
34792         Add a variable to pass additional options to rcvstore
34794         * lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable.
34795         (gnus-summary-save-in-folder): Include gnus-rcvstore-options in
34796         the arguments that are passed to rcvstore.
34798         cf. <nntp://news.gmane.org/gmane.emacs.gnus.general/87263>
34799         and followups, i.e., ding mailing list.
34801 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
34803         Fix undefined refs on some GNU/Linux hosts
34805         Problem reported by Ken Raeburn in:
34806         https://lists.gnu.org/r/emacs-devel/2016-11/msg00463.html
34807         * src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is
34808         not needed in the CANNOT_UNDUMP case.  All uses removed.  This
34809         removes unwanted references to my_endbss and my_endbss_static,
34810         which are not optimized away on some platforms.
34812 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
34814         Make CANNOT_DUMP work better on GNU/Linux
34816         Clean up some of the bitrot affecting the CANNOT_DUMP code.  This
34817         lets the build succeed again, and fixes the testing framework so
34818         that most test cases now pass.  About twenty test cases still
34819         fail, though, and we still have Bug#24974.
34820         * configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
34821         (SYSTEM_MALLOC): Now true if CANNOT_DUMP.  There should no longer
34822         be any point to messing with a private memory allocator unless
34823         Emacs is dumping.
34824         * src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
34825         * src/image.c (reset_image_types):
34826         * src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
34827         Do not define if CANNOT_DUMP.
34828         * src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
34829         (daemon_pipe) [!WINDOWSNT]: Now static.
34830         * test/Makefile.in (mostlyclean): Remove *.tmp files.
34831         (make-test-deps.mk): Elide CANNOT_DUMP chatter.
34833 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
34835         * src/xdisp.c (block_buffer_flips, unblock_buffer_flips): Now static.
34837 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
34839         Pacify --enable-gcc-warnings CANNOT_DUMP=yes
34841         * src/editfns.c (dump_tz_string) [CANNOT_DUMP || !HAVE_TZSET]:
34842         Do not define.  If defining, do it in a smaller scope.
34844 2016-11-20  Mark Oteiza  <mvoteiza@udel.edu>
34846         * lisp/ibuffer.el (ibuffer-compile-format): Use string-width instead of length
34848 2016-11-20  Eli Zaretskii  <eliz@gnu.org>
34850         Fix redrawing non-selected frame after resize on MS-Windows
34852         * src/xdisp.c (redisplay_internal): If all the frames were
34853         successfully updated, reset the "garbaged" flag of each frame, to
34854         make sure it doesn't stay set.
34856         * src/w32term.c (w32_read_socket): Don't clear the frame if it's
34857         "garbaged", since expose_frame won't redraw the foreground then.
34858         (Bug#24642)
34860 2016-11-20  Michael Albinus  <michael.albinus@gmx.de>
34862         Add file-local-name
34864         * doc/lispref/files.texi (Magic File Names): Add `file-local-name'.
34865         (Unique File Names): Use it.
34867         * etc/NEWS: Mention `file-local-name'.
34869         * lisp/files.el (file-local-name): New defun.
34870         (file-expand-wildcards):
34871         * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
34872         * lisp/eshell/esh-ext.el (eshell-remote-command):
34873         * lisp/eshell/esh-proc.el (eshell-gather-process-output):
34874         * lisp/org/ob-core.el (org-babel-local-file-name):
34875         * lisp/progmodes/gud.el (gud-common-init, gud-format-command):
34876         * lisp/progmodes/python.el (python-shell-send-file):
34877         * lisp/shell.el (shell):
34878         * lisp/vc/ediff-diff.el (ediff-same-file-contents):
34879         * lisp/vc/vc-git.el (vc-git-checkin): Use it.
34881 2016-11-20  Tino Calancha  <tino.calancha@gmail.com>
34883         * lisp/ibuffer.el (ibuffer-formats): Mention locked column in doc string.
34885 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
34887         * src/editfns.c (format-time-string): Mention %q in doc string.
34889 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
34891         Document format-time-string %q
34893         * doc/lispref/os.texi (Time Parsing):
34894         * etc/NEWS: Document new %q functionality taken from gnulib.
34896 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
34898         Merge from gnulib
34900         This incorporates:
34901         2016-11-15 sys_time: add gnulib::timeval for C++
34902         2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode
34903         2016-11-13 strftime: don't use __THROW
34904         2016-11-12 strftime: tune %q
34905         2016-11-12 Merge strftime.c changes from glibc
34906         2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection
34907         2016-11-05 strftime,strptime: support %q to represent the quarter
34909         The glibc changes in turn incorporate the following strftime.c changes:
34910         2015-10-20 Convert misc function definitions to prototype style
34911         2015-09-26 [BZ #18985] out of range data to strftime() causes segfault
34912         2010-01-09 Add support for XPG7 testing
34913         2009-10-30 Implement Burmese language locale for Myanmar
34914         2008-06-13 [BZ #6612] pass reference to tzset_called around
34915         2007-10-16 [BZ #5184] Add tzset_called argument
34917         * build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h:
34918         * m4/manywarnings.m4: Copy from gnulib.
34920 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
34922         Merge from origin/emacs-25
34924         07f45d7 ; Spelling fix
34925         1a210f0 * admin/release-process: Update versions and blocking bug num...
34926         36bafc9 Improve documentation of functions that accept time values
34928         # Conflicts:
34929         #       admin/release-process
34930         #       src/editfns.c
34932 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
34934         Merge from origin/emacs-25
34936         4af5981 Add a comment in generated refcards about the source
34937         ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
34938         4887e7c js-mode: Fix indent problem after a regexp
34939         e992ac0 Fix sluggish display of symbols in UTF-8 language environment
34940         1fc101b Don't confuse how Texinfo outputs @var with the input
34941         91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
34942         f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
34943         5b0cddd More fixes in copyright notices in etc/refcards/
34944         f994c20 Update copyright text in refcards
34945         9ad2ae7 Fix Outline command names
34946         26c3554 Send text received by bracketed paste to process
34947         db0b58d Correct the statement about programming modes always running ...
34948         78aece4 Improve documentation of 'occur'
34949         eb364fd Do call debugger on failed cl-assert
34950         3ef4ee8 Avoid infloop in python
34951         8da810f Don't refer to obsolete FEATURE-unload-hook
34952         4f478ca Improve documentation of dabbrevs
34953         7272e5d * lisp/chistory.el (list-command-history): Doc fix.  (Bug#24890)
34954         89b7482 * lisp/simple.el (set-mark-command): Doc fix.  (Bug#24890)
34955         3b199f7 Improve documentation of some Help commands
34956         93d3a0e Fix documentation of yes-or-no prompts
34957         af04919 Fix documentation of partial completion style
34958         ed80184 Fix documentation of the mode line on emacsclient frames
34959         e6be855 Fix description of 'C-z' in User manual
34960         16f7007 Improve and clarify documentation of Outline Mode
34961         31d93aa Add Emacs version number to nt/README.W32
34962         0b6b815 Fix python-mode hideshow regexp
34963         dc152c5 Modernize usage of 'macOS' in doc and comments
34964         84c5343 Prefer comments /* like this */ in C code
34965         bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
34966         3ef86fd Clarify documentation of face attribute functions
34967         de51d59 ; * nt/README.W32: Minor copyedits.
34968         db436e9 Don't call debug on failed cl-assert
34970         # Conflicts:
34971         #       doc/emacs/cmdargs.texi
34972         #       etc/NEWS
34973         #       etc/PROBLEMS
34974         #       lisp/auth-source.el
34975         #       lisp/net/tramp-sh.el
34977 2016-11-19  Mark Oteiza  <mvoteiza@udel.edu>
34979         Port RefTeX to cl-lib
34981         * lisp/textmodes/reftex-auc.el:
34982         * lisp/textmodes/reftex-cite.el: Use cl-lib.
34983         (reftex-do-citation, reftex-create-bibtex-file): Substitute cl-lib
34984         macros.
34985         * lisp/textmodes/reftex-dcr.el: Use cl-lib.
34986         (reftex-view-regexp-match): Substitute cl-lib macro.
34987         * lisp/textmodes/reftex-global.el: Use cl-lib.
34988         (reftex-find-duplicate-labels, reftex-renumber-simple-labels):
34989         (reftex-translate): Substitute cl-lib macros.
34990         * lisp/textmodes/reftex-index.el: Use cl-lib.
34991         (reftex-index, reftex-index-select-tag, reftex-index-mode-map):
34992         (reftex-index-next-phrase, reftex-index-phrases-info):
34993         (reftex-query-index-phrase): Substitute cl-lib macros.
34994         * lisp/textmodes/reftex-parse.el: Use cl-lib.
34995         (reftex-parse-from-file, reftex-where-am-I, reftex-what-macro):
34996         (reftex-nth-arg, reftex-init-section-numbers, reftex-section-number):
34997         Substitute cl-lib macros.
34998         * lisp/textmodes/reftex-ref.el: Use cl-lib.
34999         (reftex-uniquify-label, reftex-offer-label-menu): Substitute cl-lib
35000         macros.
35001         * lisp/textmodes/reftex-sel.el: Use cl-lib.
35002         (reftex-select-shared-map): Set keymap parent to special-mode-map.
35003         Flatten loop and remove digits and hyphen definitions from the map.
35004         (reftex-select-label-mode-map):
35005         (reftex-select-bib-mode-map): Use cl-lib macro, and flatten other loop.
35006         (reftex-insert-docstruct, reftex-select-unmark): Use cl-lib macros.
35007         * lisp/textmodes/reftex-vars.el (reftex-vref-is-default): Use
35008         cl-pushnew.
35009         * lisp/textmodes/reftex.el: Use cl-lib.
35010         (reftex-docstruct-symbol): Use cl-incf.
35011         (reftex-ref-style-toggle): Replace add-to-list with append.
35012         (reftex-compile-variables): Use cl-lib macros, and functions with
35013         compiler macros. cl-first is just an alias.
35014         (reftex-parse-args, reftex-scanning-info-available-p):
35015         (reftex-select-external-document, reftex-get-file-buffer-force): Use
35016         cl-lib macros.
35017         (reftex-isearch-minor-mode): Replace add-to-list with append.
35019 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
35021         ibuffer-exchange-filters: Simplify code
35023         * lisp/ibuf-ext.el (ibuffer-exchange-filters): Use cl-rotatef.
35025 2016-11-19  Eli Zaretskii  <eliz@gnu.org>
35027         Implement getrlimit and setrlimit for MS-Windows
35029         * src/w32heap.c (getrlimit, setrlimit): New functions.
35030         Include w32.h.
35031         * src/emacs.c (main): Use 'rlim_t', not 'long', for values that
35032         should be compatible with 'struct rlimit' members.
35034         * nt/inc/sys/resource.h: New header file.
35036         * nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit):
35037         Set to "yes".
35039 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
35041         Move key mappings into reftex-mode-map defvar
35043         * lisp/textmodes/reftex.el (reftex-mode-map): Assimilate top-level
35044         key mappings.
35045         (reftex-reset-mode): Just use dolist.
35047 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
35049         Derive reftex-index-mode from special-mode
35051         * lisp/textmodes/reftex-index.el (reftex-index-mode-map): Flatten
35052         loop.  Remove digit keys and hyphen, as reftex-index-mode is derived
35053         from special-mode now.
35054         (reftex-index-mode): Derive from special-mode.
35055         (reftex-index-phrases-mode-map): Flatten loop. Fix erroneous docstring.
35057 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
35059         Clean up reftex-toc-mode-map
35061         * lisp/textmodes/reftex-toc.el: Remove cl.
35062         (reftex-toc-mode-map): Flatten loop.  Remove mapping digit keys and
35063         hyphen, as reftex-toc-mode is derived from special-mode nowadays.
35065 2016-11-18  Philipp Stephani  <phst@google.com>
35067         Prevent dubious argument lists
35069         See Bug#24912 and Bug#24913.
35071         * src/eval.c (funcall_lambda): Detect more dubious argument lists.
35072         * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Detect
35073         more dubious argument lists.
35074         * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): Add unit
35075         test.
35077 2016-11-18  Tino Calancha  <tino.calancha@gmail.com>
35079         Add test suite for buff-menu.el
35081         * test/lisp/buff-menu-tests.el: New file.
35082         (buff-menu-24962): Add test for Bug#24962.
35084 2016-11-18  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
35086         Add cyrillic-tuvan input method
35088         * lisp/leim/quail/cyrillic.el ("cyrillic-tuvan"): New input
35089         method.  (Bug#24942)
35091         * etc/NEWS: Mention addition of 'cyrillic-tuvan' input method.
35093 2016-11-18  Alexander Gramiak  <agrambot@gmail.com>
35095         Extend 'indent-relative' when its arg is non-nil
35097         * lisp/indent.el (indent-relative-maybe): New obsolete alias.
35098         (indent-relative-first-indent-point): Renamed from
35099         'indent-relative-maybe'.
35100         (indent-relative): Now accepts an additional optional argument.
35101         The first argument was renamed to FIRST-ONLY.  Doc fix.  Support
35102         the additional arg.  (Bug#24766)
35104 2016-11-17  Dmitry Gutov  <dgutov@yandex.ru>
35106         Add example for bug#24854
35108         * test/manual/indent/js.js: Add example for bug#24854.
35110 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
35112         Port registry.el the rest of the way to cl-lib
35114         This file already is using cl-lib functions at runtime; eieio ultimately
35115         loads cl-lib, which explains why doing so wasn't an issue.
35116         * lisp/registry.el: Require cl-lib.
35117         (registry-db, registry--match, registry-search, registry-delete):
35118         (registry-insert, registry-reindex): Replace cl macros with cl-lib ones.
35119         (registry-collect-prune-candidates): Replace cl function with cl-lib one.
35121 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
35123         Fix arglist in python.el (Bug#24762)
35125         * lisp/progmodes/python.el: Remove unneeded second args.
35126         (python-define-auxiliary-skeleton): DOC arg should be &optional.
35128 2016-11-17  Simen Heggestøyl  <simenheg@gmail.com>
35130         Add tests for rot13.el
35132         * lisp/rot13.el (rot13): Docstring correction.
35134         * test/lisp/rot13-tests.el: New file with tests for rot13.el.
35136 2016-11-17  Michael Albinus  <michael.albinus@gmx.de>
35138         Fix Bug#24947 (Tramp + ido)
35140         * lisp/ido.el (ido-read-internal): Prevent eager Tramp connection.
35142         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
35143         Run remote tests only if a connection is established only.  (Bug#24947)
35145 2016-11-16  Ken Brown  <kbrown@cornell.edu>
35147         Unbreak the build on Darwin (Bug#24957)
35149         * src/fileio.c (file_name_case_insensitive_p) [DARWIN_OS]: Fix
35150         mistakes in recent commit.
35152 2016-11-16  Nicolas Petton  <nicolas@petton.fr>
35154         Do not use map.el in seq-tests.el
35156         * test/lisp/emacs-lisp/seq-tests.el: Do not use map.el.  map.el was
35157         introduced in Emacs 25.1, but seq.el is also available in GNU ELPA for
35158         Emacs 24.5.
35160 2016-11-16  Tino Calancha  <tino.calancha@gmail.com>
35162         Update parameter :version to 26.1 in several defcustom
35164         Following defcustom where added or modified for 25.2 release.
35165         In fact all these changes belong to 26.1 release.
35166         * lisp/battery.el (battery-linux-sysfs-regexp)
35167         * lisp/comint.el (comint-password-prompt-regexp)
35168         * lisp/dired.el (dired-always-read-filesystem)
35169         * lisp/image.el (image-scaling-factor)
35170         * lisp/ibuf-ext.el (ibuffer-never-search-content-name)
35171         (ibuffer-never-search-content-mode)
35172         * lisp/mouse.el (mouse-select-region-move-to-beginning)
35173         * lisp/net/net-utils.el (iwconfig-program, iwconfig-program-options)
35174         (netstat-program, route-program, route-program-options)
35175         * lisp/net/sieve-manage.el (sieve-manage-default-stream)
35176         * lisp/progmodes/grep.el (grep-save-buffers)
35177         * lisp/vc/add-log.el (change-log-directory-files)
35178         * lisp/url/url-vars.el (url-user-agent)
35179         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles)
35180         (vc-hg-use-file-version-for-mode-line-version)
35181         (vc-hg-parse-hg-data-structures)
35182         * lisp/wdired.el (wdired-create-parent-directories)
35183         * lisp/faces.el (homoglyph, nobreak-hyphen, read-multiple-choice-face)
35184         * lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
35185         (gnus-button-url-regexp)
35186         * lisp/window.el (switch-to-buffer-preserve-window-point)
35187         * lisp/ibuffer.el (ibuffer-formats, ibuffer-locked-char)
35188         (ibuffer-locked-buffer)
35189         * lisp/textmodes/flyspell.el (flyspell-sort-corrections-function)
35190         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break)
35191         * lisp/gnus/message.el (message-user-fqdn)
35192         * lisp/simple.el (shell-command-dont-erase-buffer)
35193         (extended-command-suggest-shorter)
35194         * lisp/net/shr.el (shr-use-fonts)
35195         * lisp/files.el (mounted-file-systems, kill-emacs-query-functions)
35197 2016-11-15  Glenn Morris  <rgm@gnu.org>
35199         Add --new-daemon, which runs in the foreground and does not fork
35201         This is intended for modern init systems such as systemd,
35202         which manage many of the traditional aspects of daemon behavior
35203         themselves.  (Bug#2677)
35204         * src/emacs.c (daemon_type): New integer.
35205         (usage, standard_args): Add --old-daemon and --new-daemon.
35206         (main): Handle --old-daemon and --new-daemon arguments.
35207         Restrict all the forking and complicated daemon stuff to old-daemon.
35208         (Fdaemon_initialized): Handle new-style daemon.
35209         * src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]:
35210         Replace daemon_pipe with daemon_type.
35211         * doc/emacs/cmdargs.texi (Initial Options):
35212         * doc/emacs/glossary.texi (Glossary):
35213         * doc/emacs/misc.texi (Emacs Server):
35214         * doc/lispref/display.texi (Window Systems):
35215         * doc/lispref/os.texi (Startup Summary): Related doc updates.
35216         * etc/NEWS: Mention this.
35217         * etc/emacs.service: Use Type=simple and --new-daemon.
35219 2016-11-15  Glenn Morris  <rgm@gnu.org>
35221         * src/emacs.c (usage_message): Mention named daemon.  (Bug#24949)
35222         * doc/man/emacs.1.in: Likewise.
35224 2016-11-15  Ken Brown  <kbrown@cornell.edu>
35226         Simplify case-insensitivity checks on Mac OS X
35228         * src/fileio.c (file_name_case_insensitive_p): Try skipping the
35229         Darwin code and instead using pathconf with _PC_CASE_SENSITIVE.
35230         Leave in two alternatives conditionally compiled based on
35231         DARWIN_OS_CASE_SENSITIVE_FIXME in case pathconf doesn't work.
35233         * etc/PROBLEMS: Mention the possible problem with pathconf on
35234         Mac OS X.
35236 2016-11-15  Glenn Morris  <rgm@gnu.org>
35238         * src/emacs.c (sort_args): Warn about multiple matches.
35240 2016-11-15  Michael Albinus  <michael.albinus@gmx.de>
35242         Implement file name handler for `file-name-case-insensitive-p'
35244         * doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p'
35245         is also applicable for remote hosts.
35247         * lisp/net/tramp.el (tramp-methods): Improve docstring.
35248         (tramp-file-name-for-operation): Add `file-name-case-insensitive-p'.
35249         (tramp-handle-file-name-case-insensitive-p): New defun.
35251         * lisp/net/tramp-smb.el (tramp-methods) <smb>:
35252         Add `tramp-case-insensitive' entry.
35254         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
35255         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
35256         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
35257         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
35258         <file-name-case-insensitive-p>: Add handler.  (Bug#22300, Bug#24441)
35260 2016-11-15  Mark Oteiza  <mvoteiza@udel.edu>
35262         Nix more uses of default-FOO variables (Bug#24946)
35264         * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
35265         Check for header-line-format instead.
35266         * lisp/emulation/viper.el (viper-load-custom-file): Reference
35267         major-mode instead.
35268         * lisp/mail/feedmail.el (feedmail-fill-to-cc-fill-column): Use
35269         fill-column instead.
35271 2016-11-15  Simen Heggestøyl  <simenheg@gmail.com>
35273         Complete the name of PostgreSQL databases
35275         * lisp/progmodes/sql.el (sql-postgres-login-params): Complete database
35276         name.
35277         (sql-postgres-list-databases): New function returning a list of
35278         available PostgreSQL databases.
35280         * test/lisp/progmodes/sql-tests.el: New file with tests for sql.el.
35282 2016-11-14  Sam Steingold  <sds@gnu.org>
35284         add `vc-git-print-log-follow' and use it in `vc-git-print-log'
35286         When `vc-git-print-log-follow' is true and all files are
35287         non-directory, pass "--follow" to "git log".
35288         This works around bug#8756 and bug#16422.
35290 2016-11-14  Sam Steingold  <sds@gnu.org>
35292         `toggle-truncate-lines' obsoletes `gnus-summary-toggle-truncation'
35294         vc-git-print-log: pass "--follow" to "log" to handle renamed files
35296 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
35298         Revert "Improve case-insensitive checks (Bug#24441)"
35300         This reverts commit 2f5e0b1bf7b0ac4f450847db34d599a072020600.
35301         I see no reason for removing code, documentation, and comments
35302         in the original commit.
35304 2016-11-14  Wilson Snyder  <wsnyder@wsnyder.org>
35306         Update verilog-mode.el
35308         * lisp/progmodes/verilog-mode.el (verilog-read-decls)
35309         (verilog-calc-1): Fix "default clocking" indentation and
35310         preventing AUTOs from working, bug1084.  Reported by Alan Morgan.
35311         (verilog-diff-report): Fix `verilog-diff-report'
35312         not returning bad status on differences, bug1087.  Reported by
35313         Eric Jackowski.
35314         (verilog-auto-inst-param-value)
35315         (verilog-auto-inst-param-value-type, verilog-read-sub-decls)
35316         (verilog-read-sub-decls-expr, verilog-read-sub-decls-gate)
35317         (verilog-read-sub-decls-line, verilog-read-sub-decls-sig)
35318         (verilog-read-sub-decls-type): When
35319         `verilog-auto-inst-param-value-type' is set, which is now the
35320         default, AUTOINPUT etc will now substitute parameter types from
35321         submodules, bug1061.  Reported by Brad Dobbie.
35322         (verilog-auto-reset, verilog-backward-case-item)
35323         (verilog-extended-case-re, verilog-read-always-signals-recurse):
35324         Fix indentation of randcase, bug1072. Reported by David Rogoff.
35325         (verilog-read-sub-decls-expr)
35326         (verilog-sig-multidim-string): Fix AUTOINST ordering of dimensions
35327         in generated comments, bug1057. Reported by Kaushal Modi.
35328         (verilog-auto-wire-comment, verilog-insert-definition):
35329         Add `verilog-auto-wire-comment' to suppress wire comments. Reported by
35330         Eric Jackowski.
35331         (verilog-extended-complete-re): Fix indentation
35332         of class static functions, bug1053. Reported by Gregory
35333         Czajkowski.
35334         (verilog-module-filenames): Support tramp for
35335         finding verilog modules. Reported by Nevada Sanchez.
35337 2016-11-14  Paul Eggert  <eggert@cs.ucla.edu>
35339         Improve case-insensitive checks (Bug#24441)
35341         * doc/lispref/files.texi (Truenames): Simplify documentation,
35342         to avoid giving too much platform-specific information that
35343         may not be accurate anyway.
35344         * src/fileio.c (file_name_case_insensitive_p): Use pathconf with
35345         _PC_CASE_SENSITIVE if _PC_CASE_INSENSITIVE is not available.
35346         Otherwise if one approach fails (e.g., with errno == EINVAL), fall
35347         back on an alternative rather than returning false.  Try skipping
35348         the Darwin code, as it (1) no longer seems to be needed and (2)
35349         does not seem to match the Apple documentation.  Leave in two
35350         alternatives conditionally compiled based on
35351         DARWIN_OS_CASE_SENSITIVE_FIXME in case (1) or (2) is incorrect.
35353 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
35355         Fix documentation changes of connection-local variables
35357         * etc/NEWS: Fix last change.
35358         * doc/lispref/variables.texi (Connection Local Variables): Minor fixes.
35359         * doc/lispref/elisp.texi (Top): Update the master menu.
35361 2016-11-14  Michael Albinus  <michael.albinus@gmx.de>
35363         Implement connection-local variables
35365         * doc/lispref/variables.texi (Connection Local Variables): New section.
35367         * etc/NEWS: Mention connection-local variables.
35369         * lisp/files-x.el (enable-connection-local-variables)
35370         (connection-local-variables-alist, connection-local-class-alist)
35371         (connection-local-criteria-alist): New defvars.
35372         (connection-local-get-classes)
35373         (connection-local-get-class-variables): New defsubst.
35374         (connection-local-set-classes)
35375         (connection-local-set-class-variables)
35376         (hack-connection-local-variables)
35377         (hack-connection-local-variables-apply): New defuns.
35378         (with-connection-local-classes): New defmacro.
35380         * lisp/net/tramp.el (tramp-set-connection-local-variables): New defun.
35382         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
35383         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
35384         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
35385         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it.
35387         * test/lisp/files-x-tests.el: New file.
35389 2016-11-14  Tino Calancha  <tino.calancha@gmail.com>
35391         tabulated-list: extend truncation into next align-right column
35393         See discussion on:
35394         https://lists.gnu.org/r/emacs-devel/2016-10/msg01101.html
35395         * lisp/emacs-lisp/tabulated-list.el
35396         (tabulated-list--near-rows): New variable.
35397         (tabulated-list-print, tabulated-list-set-col): Use it.
35398         (tabulated-list--col-local-max-widths): New defsubst.
35399         (tabulated-list-print-col): Use it.  If the next column is
35400         align-right, and has some space left then don't truncate to width,
35401         use some of the available space from the next column.
35403 2016-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>
35405         * lisp/net/shr.el (shr-collect-extra-strings-in-table): Fix indentation.
35407         * lisp/net/shr.el (shr-tag-table): Avoid duplication of images.
35408         (shr-collect-extra-strings-in-table): Render images as well.
35410 2016-11-13  Ken Brown  <kbrown@cornell.edu>
35412         Use the new 'file-name-case-insensitive-p' function
35414         * lisp/international/mule.el (auto-coding-alist-lookup):
35415         * lisp/files.el (file-truename):
35416         (abbreviate-file-name, set-auto-mode, file-relative-name):
35417         * lisp/emacs-lisp/package.el (package-untar-buffer): Use
35418         'file-name-case-insensitive-p' instead of 'system-type' to test
35419         case-insensitivity.
35421 2016-11-13  Glenn Morris  <rgm@gnu.org>
35423         Include a systemd user unit file.  (Bug#16507)
35425         * etc/emacs.service: New file.
35426         * doc/emacs/misc.texi (Emacs Server): Mention systemcl --user.
35427         * Makefile.in (libdir): New, set by configure.
35428         (systemdunitdir): New variable.
35429         (install-etc, uninstall): Handle the emacs.service file.
35431 2016-11-13  Paul Eggert  <eggert@cs.ucla.edu>
35433         Port --enable-gcc-warnings to Ubuntu 16.10
35435         * src/gmalloc.c: Include <stdlib.h>, so it declares
35436         hybrid_aligned_alloc (the definiens of the aligned_alloc macro),
35437         so that GCC doesn't complain that hybrid_aligned_alloc is
35438         defined without being declared.
35440 2016-11-13  Ken Brown  <kbrown@cornell.edu>
35442         Silence tramp warning
35444         * lisp/net/tramp.el (tramp-file-name-for-operation): Add
35445         'file-name-case-insensitive-p' as a known file primitive.
35446         (Bug#24936)
35448 2016-11-12  Ken Brown  <kbrown@cornell.edu>
35450         Check case-sensitivity when renaming files
35452         * src/fileio.c (file_name_case_insensitive_p)
35453         (Ffile_name_case_insensitive_p):  New functions.
35454         (Frename_file): Allow renames that simply change case when the
35455         FILE argument is on a case-insensitive filesystem.  (Bug#24441)
35457         * lisp/dired-aux.el (dired-do-create-files): Use
35458         'file-name-case-insensitive-p' instead of 'system-type' to check
35459         for case-insensitivity.  (Bug#24441)
35461         * doc/lispref/files.texi (Truenames): Document
35462         'file-name-case-insensitive-p'.
35464 2016-11-12  Ken Brown  <kbrown@cornell.edu>
35466         Unbreak the build on Cygwin
35468         * configure.ac (system_malloc) [CYGWIN]: Unset.
35470 2016-11-11  Mark Oteiza  <mvoteiza@udel.edu>
35472         Update chart.el
35474         * lisp/emacs-lisp/chart.el (chart-mode): Derive from special-mode.
35475         (chart-draw): Wrap in with-silent-modifications.  Instead of inserting a
35476         fixed number of newlines, use window-height.
35477         (chart-bar):
35478         (chart-trim): Use dolist.
35479         (chart-file-count): The previous implementation was buggy and missed
35480         extensions.  Use file-name-extension instead to detect file extensions.
35481         Also use dolist and cl-incf to reduce verbosity.
35483 2016-11-11  Katsumi Yamaoka  <yamaoka@jpl.org>
35485         * lisp/net/shr.el (shr--preferred-image): Add CR to whitespace regexps.
35486         (shr-collect-extra-strings-in-table):
35487         Render extra tables in an invalid html as well.
35489 2016-11-10  Katsumi Yamaoka  <yamaoka@jpl.org>
35491         * lisp/net/shr.el (shr--preferred-image): Ignore whitespace (bug#24893).
35493 2016-11-09  Eli Zaretskii  <eliz@gnu.org>
35495         Resurrect 'memory-limit' on MS-Windows
35497         * nt/mingw-cfg.site (ac_cv_func_sbrk): Set to "yes", otherwise
35498         'memory-limit' will produce a trivial and useless result on Windows.
35500 2016-11-09  Mark Oteiza  <mvoteiza@udel.edu>
35502         Update quickurl.el
35504         * lisp/net/quickurl.el (quickurl-format-function):
35505         (quickurl-sort-function): Use named function.
35506         (quickurl-list-mode-map): Remove lines that are extraneous now that the
35507         parent mode is special-mode.
35508         (quickurl-format-url, quickurl-sort-urls): New functions.
35509         (quickurl-read, quickurl): Use defun, as no cl-defun feature appears to
35510         be used.
35511         (quickurl-list-mode): Derive from special-mode.  Nix setting
35512         buffer-read-only: special-mode does that.
35513         (quickurl-list-populate-buffer): Use dolist instead.
35514         (quickurl-list-quit): Use quit-window.  It looks like this was written
35515         before the quit-window rewrite.  quit-window is very useful now.
35517 2016-11-09  Michael Albinus  <michael.albinus@gmx.de>
35519         Refine multi-hop specs in Tramp
35521         * lisp/net/tramp.el (tramp-tramp-file-p): Suppress "/:" and "/c:".
35523         * test/lisp/net/tramp-tests.el
35524         (tramp-test01-file-name-syntax): Multi-hop specs don't need a
35525         method.  "/h:" is allowed on non MS Windows.
35527 2016-11-08  Daniel Colascione  <dancol@dancol.org>
35529         Avoid infloop in python
35531         Fix bug#24905
35533         * lisp/progmodes/python.el (python-info-docstring-p): Improve
35534         infloop avoidance: replace (bobp) with generic test for
35535         forward progress.
35536         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add
35537         test for bug#24905
35539 2016-11-08  Daniel Colascione  <dancol@dancol.org>
35541         Make gnus/message.el work correctly under lexical binding
35543         * lisp/gnus/message.el (message-send-mail): Rename `arg' to
35544         `_' to shut up the byte compiler.
35545         (sha1-maximum-internal-length, smtpmail-smtp-server)
35546         (smtpmail-smtp-service): add missing defvars
35548 2016-11-08  Michael Albinus  <michael.albinus@gmx.de>
35550         Fix Bug#24889
35552         * lisp/net/tramp.el (tramp-file-name-regexp): Make it a
35553         defvar.  Fix docstring.
35554         (tramp-completion-file-name-handler-alist): Fix docstring.
35555         (tramp-register-file-name-handlers): Reassign
35556         `tramp-file-name-regexp' to the car of
35557         `tramp-file-name-structure'.  (Bug#24889)
35559 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
35561         Port to FreeBSD 11 AMD
35563         Problem reported by Ashish Shukla (Bug#24892).  I tested
35564         this on FreeBSD 11 x86-64 with HAVE_SBRK manually undefined.
35565         * configure.ac (system_malloc): Set to 'yes' if there is no sbrk.
35566         (sbrk): Check whether it exists.
35567         * src/alloc.c (my_heap_start) [!GNU_LINUX]:
35568         Do not define, since this function is now used only on GNU/Linux,
35569         and sbrk might not exist on other platforms.
35570         (malloc_initialize_hook) [!GNU_LINUX]:
35571         Do not call my_heap_start, since its side effect will never be used.
35572         (Fmemory_limit) [!HAVE_SBRK]: Do not call sbrk.
35573         * src/unexelf.c (unexec) [!HAVE_SBRK]: Assume that nothing like
35574         sbrk exists.
35576 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
35578         Port emacsclient to FreeBSD 11 etc.
35580         * lib-src/emacsclient.c: Include <string.h>.  This is needed on
35581         platforms like FreeBSD 11 that use code involving strlen etc., and
35582         because <config.h> no longer includes string.h.
35584 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
35586         Prescribe history for read-regexp in query-replace
35588         In the fix for bug#24580, the history argument for read-regexp was
35589         removed erroneously; read-regexp's history argument defaults to
35590         regexp-history, not minibuffer-history.
35591         * lisp/replace.el (query-replace-read-from): Tell read-regexp to use
35592         minibuffer-history.  Fixes bug#24873.
35594 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
35596         Remove obsolete default-FOO variables
35598         * etc/NEWS: Indicate the removed variables.
35599         * lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
35600         * lisp/subr.el (default-mode-line-format, default-header-line-format):
35601         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
35602         (default-truncate-lines, default-left-margin, default-tab-width):
35603         (default-case-fold-search, default-left-margin-width):
35604         (default-right-margin-width, default-left-fringe-width):
35605         (default-right-fringe-width, default-fringes-outside-margins):
35606         (default-scroll-bar-width, default-vertical-scroll-bar):
35607         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
35608         (default-fringe-indicator-alist, default-fringe-cursor-alist):
35609         (default-scroll-up-aggressively, default-scroll-down-aggressively):
35610         (default-fill-column, default-cursor-type):
35611         (default-cursor-in-non-selected-windows):
35612         (default-buffer-file-coding-system, default-major-mode):
35613         (default-enable-multibyte-characters): Remove obsolete declarations.
35614         * src/buffer.c (default-mode-line-format, default-header-line-format):
35615         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
35616         (default-truncate-lines, default-left-margin, default-tab-width):
35617         (default-case-fold-search, default-left-margin-width):
35618         (default-right-margin-width, default-left-fringe-width):
35619         (default-right-fringe-width, default-fringes-outside-margins):
35620         (default-scroll-bar-width, default-vertical-scroll-bar):
35621         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
35622         (default-fringe-indicator-alist, default-fringe-cursor-alist):
35623         (default-scroll-up-aggressively, default-scroll-down-aggressively):
35624         (default-fill-column, default-cursor-type):
35625         (default-cursor-in-non-selected-windows):
35626         (default-buffer-file-coding-system, default-major-mode):
35627         (default-enable-multibyte-characters): Remove.
35628         * src/fileio.c (choose_write_coding_system): Fix comment.
35629         * src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.
35631 2016-11-07  Eli Zaretskii  <eliz@gnu.org>
35633         Improve the tutorial
35635         * etc/tutorials/TUTORIAL: Minor copyedits.  (Bug#24890)
35636         * etc/tutorials/TUTORIAL.he: Follow suit.
35638 2016-11-06  Paul Eggert  <eggert@cs.ucla.edu>
35640         Restore file descriptor limit in subprocesses
35642         Problem reported by Philipp Stephani (Bug#24869).
35643         * src/callproc.c (child_setup) [!DOS_NT]:
35644         Call restore_nofile_limit in the child.
35645         * src/process.c (nofile_limit) [HAVE_SETRLIMIT]: New static var.
35646         (restore_nofile_limit): New function.
35647         (init_process_emacs) [HAVE_SETRLIMIT]: Set the new var.
35649 2016-11-06  Mark Oteiza  <mvoteiza@udel.edu>
35651         Remove some subr.el functions obsoleted in 22.1
35653         * etc/NEWS: Document removed functions.  Also mention the "face"
35654         variables that have been removed recently.
35655         * lisp/subr.el (window-dot, set-window-dot, read-input, show-buffer):
35656         (eval-current-buffer, string-to-int, insert-string, makehash): Remove.
35658 2016-11-05  Paul Eggert  <eggert@cs.ucla.edu>
35660         Prefer comments /* like this */ in C code
35662 2016-11-05  Johan Bockgård  <bojohan@gnu.org>
35664         * lisp/subr.el (copy-tree): Handle vector in cdr. (Bug#24876)
35666 2016-11-05  Nick Terrell  <nickrterrell@gmail.com>  (tiny change)
35668         Support zstd compressed files
35670         * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Add
35671         zstd compression info: <http://facebook.github.io/zstd/>.
35672         (jka-compr-mode-alist-additions): Handle .tzst suffix for zstd
35673         compressed tar archives.  (Bug#24853)
35675 2016-11-05  Eli Zaretskii  <eliz@gnu.org>
35677         Enlarge DUMPED_HEAP_SIZE
35679         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]:
35680         Enlarge to 21MB.  Reported by Richard Copley <rcopley@gmail.com>.
35682 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
35684         Update from gnulib
35686         This incorporates:
35687         2016-11-03 intprops: port to older XL C
35688         * lib/intprops.h: Copy from gnulib.
35690 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
35692         Merge from origin/emacs-25
35694         acae275 ; Spelling fixes
35695         d8fac73 Update README for precompiled windows Emacs.
35696         23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks
35697         f708cb2 Clarify doc string of 'transpose-sexps'
35698         cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab'
35699         bdc89eb Improve documentation of 'font-lock-remove-keywords'
35700         4a0c590 Fix documentation of the command summary key
35701         0221b7a Mark relocation workarounds with REL_ALLOC
35703 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
35705         Merge from origin/emacs-25
35707         dbb3410 python.el: Fix detection of native completion in Python 3 (bu...
35708         91c97b6 * Makefile.in (install-arch-indep): Skip etc/refcards/emacsve...
35709         9c1cb8d * lisp/subr.el (set-transient-map): Exit for unbound events (...
35710         9c247d2 Update category-table for Chinese characters
35711         43986d1 Inhibit buffer relocation during regex searches
35712         fee4cef Revert fixes to allocation of regex matching
35714 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
35716         Fix references to long obsoleted functions/aliases
35718         * doc/lispintro/emacs-lisp-intro.texi (Miscellaneous):
35719         * doc/misc/cl.texi (Conditionals):
35720         * doc/misc/speedbar.texi (Major Display Modes): Use string-to-number,
35721         not string-to-int.
35722         * lisp/emulation/viper.el (viper-go-away): Use major-mode, not
35723         default-major-mode.
35724         * lisp/textmodes/reftex-toc.el (reftex-toc-visit-location): show-window
35725         here is not a function call, but shorten the binding names anyways.
35726         Also, use pop-to-buffer-same-window instead of switch-to-buffer cf
35727         Bug#22244.
35728         * lisp/textmodes/sgml-mode.el (html-tag-alist): Use read-string, not
35729         read-input.
35731 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
35733         * lisp/emacs-lisp/pcase.el (pcase-dolist): Add a docstring.
35735 2016-11-04  Katsumi Yamaoka  <yamaoka@jpl.org>
35737         * lisp/net/shr.el (shr-collect-extra-strings-in-table) New function
35738         that gathers extra strings in an invalid html.  (bug#24831)
35739         (shr-tag-table): Use it.
35741 2016-11-04  Vasilij Schneidermann  <v.schneidermann@gmail.com>
35743         Add 'x-ctrl-keysym' support on X window system
35745         * src/xterm.c (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
35746         Support 'x-ctrl-keysym'.
35747         (syms_of_xterm): DEFSYM "ctrl" and put a proper modifier-value
35748         property on it.
35749         <x-ctrl-keysym>: New DEFVAR_LISP.
35750         <x-alt-keysym, x-hyper-keysym, x-meta-keysym, x-super-keysym>: Doc
35751         fix.  (Bug#24822)
35753         * etc/NEWS: Mention the addition of 'x-ctrl-keysym'.
35755         * doc/lispref/os.texi (X11 Keysyms): Document 'x-ctrl-keysym'.
35757 2016-11-04  Alexander Gramiak  <agrambot@gmail.com>
35759         Improve autoload error reporting
35761         * src/eval.c (Fautoload_do_load): Include the absolute file name
35762         in the error message.
35764 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
35766         Stop force parameter of whitespace-report-region having global effect
35768         * lisp/whitespace.el (whitespace-report-region): Force parameter
35769         previously changed whitespace-style globally.  Fix this, and use
35770         whitespace-active-style, to take account of any changes the user may
35771         have made.  Simplify the documentation: the force parameter simply
35772         forces all classes of whitespace problem to be considered.
35773         (Bug#24745)
35775 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
35777         Document use of `tab-width'
35779         * lisp/whitespace.el: When talking about `8 or more spaces', mention
35780         `tab-width' instead of 8.  (Bug#24745)
35782 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
35784         Make whitespace-report-region respect current settings
35786         * lisp/whitespace.el (whitespace-report-region): Make it respect
35787         whitespace-style, including any additions made by the force parameter.
35788         This means that the function does not return t unless a whitespace
35789         problem that the user cares about is reported.  (Bug#24745)
35791 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
35793         Fix whitespace-space-after-tab-regexp
35795         * lisp/whitespace.el (whitespace-space-after-tab-regexp)
35796         (whitespace-regexp): Match all the spaces after tabs for highlighting,
35797         not just the first tab-width.  Fix whitespace-space-after-tab::space
35798         version so that it requires at least tab-width spaces, not just 1.
35799         (Bug#24745)
35801 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
35803         Remove duplicate documentation
35805         * lisp/whitespace.el: Remove duplicate documentation from the Commentary
35806           section which duplicate and in some places contradict (due to being
35807           out of date) the docstrings (Bug#24745).
35809 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
35811         Fix bob/eob checks
35813         * lisp/whitespace.el (whitespace-empty-at-bob-regexp)
35814         (whitespace-empty-at-eob-regexp, whitespace-cleanup): Make `empty' checks
35815         work at beginning & end of buffer in whitespace-report-region, and only
35816         there (i.e. they will never match in regions that don't include the
35817         start or end of the buffer).  (Bug#24745)
35819 2016-11-03  Tino Calancha  <tino.calancha@gmail.com>
35821         (thing-at-point 'list) return nil if no list at point
35823         * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point):
35824         Check first if we are at the beginning of a top-level sexp (Bug#24627).
35825         If point is inside a comment or string, look for a list out of the
35826         comment/string.
35827         Escape '[' in doc string.
35828         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): Update
35829         expected test result as pass.
35831 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
35833         Remove antlr face aliases obsoleted in 22.1
35835         * lisp/progmodes/antlr-mode.el: Remove obsolete aliases
35836         (antlr-default-face, antlr-keyword-face, antlr-syntax-face):
35837         (antlr-ruledef-face, antlr-tokendef-face, antlr-ruleref-face):
35838         (antlr-tokenref-face, antlr-literal-face):
35839         (antlr-literal-face): Remove.
35840         (antlr-font-lock-additional-keywords): Use face symbols instead.
35842 2016-11-02  Daniel Colascione  <dancol@dancol.org>
35844         Revert "Disable bracketed paste in a terminal in char mode"
35846         This change causes regressions, and besides, disabling BPM frame-wide
35847         for the sake of one buffer is the wrong solution.
35849         This reverts commit cf566b46a6cf85c6d54d0b0db80e32ed6ae8d1ca.
35851 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
35853         Revert change to eww-suggest-uris
35855         The introduced append is ugly and can yield '(nil); doing delq on it
35856         would be hacks on hacks.
35857         * lisp/net/eww.el: Require cl-lib at run time.
35858         (eww-suggest-uris): Restore eww-current-url, reverting previous change.
35859         (eww): Remove erroneous append.
35860         (eww-open-in-new-buffer): Check if the return from eww-suggested-uris is
35861         equal to eww-current-url, which is nil anyways if we are not in an EWW
35862         buffer.
35864 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
35866         Add eww-open-in-new-buffer to EWW
35868         * doc/misc/eww.texi (Basic): Document new command and key.
35869         * etc/NEWS: Mention new key and its purpose.
35870         * lisp/net/eww.el (eww-suggest-uris): Remove eww-current-url.
35871         (eww): Append (eww-current-url) to the prompt defaults.
35872         (eww-open-in-new-buffer): New command.
35873         (eww-mode-map): Bind it and add a menu item.
35875 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
35877         Migrate auth-source to cl-lib
35879         * lisp/auth-source.el: Use cl-lib.
35880         (auth-source-read-char-choice, auth-source-backend-parse-parameters):
35881         (auth-source-search): Replace cl calls with cl-lib ones.
35882         (auth-source-netrc-cache):
35883         (auth-source-forget+): Use cl-do-symbols instead.
35884         (auth-source-specmatchp, auth-source-netrc-parse):
35885         (auth-source-netrc-search, auth-source-netrc-create):
35886         (auth-source-netrc-saver, auth-source-secrets-listify-pattern):
35887         (auth-source-secrets-search, auth-source-secrets-create):
35888         (auth-source-macos-keychain-search, auth-source--decode-octal-string):
35889         (auth-source-macos-keychain-search-items, auth-source-plstore-search):
35890         (auth-source-plstore-create): Replace cl calls with cl-lib ones.
35892 2016-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
35894         Don't segfault on timed-out TLS connections
35896         * src/process.c (finish_after_tls_connection): Check that the
35897         file descriptor is still alive before proceeding (bug#24811).
35898         Also clean up the code slightly.
35900 2016-11-01  Eli Zaretskii  <eliz@gnu.org>
35902         Support 'TARGETS' in clipboard selections on MS-Windows
35904         * src/w32select.c (Fw32_selection_targets): New function.
35906         * lisp/term/w32-win.el (w32--get-selection): Call
35907         'w32-selection-targets' to obtain the list of data formats
35908         available in the clipboard.
35910 2016-11-01  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
35912         Fix documentation for 'eudc-options-file'
35914         * doc/misc/eudc.texi (The Server Hotlist): Update the default
35915         value of 'eudc-options-file'.
35917 2016-11-01  Tibor Csögör  <tibi@tiborius.net>
35919         Fix documentation of 'eudc-inline-expansion-format'
35921         * doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of
35922         'eudc-inline-expansion-format'. (Bug#24840)
35924 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
35926         Turn on lexical-binding in some more libs
35928         * lisp/calendar/icalendar.el:
35929         * lisp/emacs-lisp/regexp-opt.el:
35930         * lisp/emacs-lisp/timer.el:
35931         * lisp/gnus/message.el:
35932         * lisp/hex-util.el: Turn on lexical-binding.
35934 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
35936         Turn on lexical-binding in some net libs
35938         * lisp/net/dbus.el: Turn on lexical-binding.
35939         (dbus-list-hash-table, dbus-list-known-names):
35940         (dbus-introspect-get-node-names, dbus-introspect-get-interface-names):
35941         (dbus-introspect-get-method-names, dbus-introspect-get-signal-names):
35942         (dbus-introspect-get-property-names):
35943         (dbus-introspect-get-argument-names, dbus-get-all-properties):
35944         (dbus-property-handler, dbus-get-all-managed-objects):
35945         (dbus-managed-object-handler): Replace add-to-list with push. Add
35946         nreverse in some places where the APPEND argument of add-to-list was
35947         used.
35948         * lisp/net/network-stream.el: Turn on lexical-binding.
35949         * lisp/net/newsticker.el: Turn on lexical-binding.
35950         * lisp/net/shr.el: Turn on lexical-binding.
35951         (shr-make-placeholder-image): Remove unused variable binding.
35952         (shr-inspect-table): Replace ignored bindings with underscore.
35954 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
35956         Turn on lexical-binding in some url libs
35958         * lisp/url/url-auth.el:
35959         * lisp/url/url-expand.el:
35960         * lisp/url/url-future.el:
35961         * lisp/url/url-parse.el:
35962         * lisp/url/url-util.el: Turn on lexical-binding.
35964 2016-10-31  Johan Bockgård  <bojohan@gnu.org>
35966         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Fix debug spec
35968         (Bug#24733)
35970 2016-10-30  Alan Mackenzie  <acm@muc.de>
35972         Handle chars of syntax word which are also flagged as comment delimiters
35974         src/syntax.c (scan_sexps_forward): When chars of syntax word are also flagged
35975         as the start/end of two char comment delimiters, recognize a comment delimiter
35976         in preference to a portion of a word.  This fixes bug #24767.
35978 2016-10-29  Daniel Colascione  <dancol@dancol.org>
35980         Speed up initialization by preferring /dev/urandom to GnuTLS
35982         * src/sysdep.c (init_random): Try /dev/urandom before GnuTLS.
35984 2016-10-29  José L. Doménech  <domenechjosel@gmail.com>
35986         Quote file names in dired compression commands
35988         * lisp/dired-aux.el (dired-do-compress-to): Change the string
35989         used as shell command for compression by quoting the filenames
35990         used for input and output (Bug #24620).
35992 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
35994         Avoid errors in posn-at-point for large images
35996         * src/keyboard.c (Fposn_at_point): If pos-visible-in-window-p
35997         returns a 6-member list for a partially visible glyph, pass the
35998         sum of Y and RTOP to posn-at-x-y, since that's where the visible
35999         portion of that glyph begins on display.  (Bug#24804)  (Bug#21832)
36000         (Bug#23809)
36002 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
36004         Unbreak MS-Windows build
36006         * src/w32term.c (XCreateGC): Second argument is now HWND, and its
36007         name is "wignore".
36008         (x_set_cursor_gc, x_set_mouse_face_gc)
36009         (x_draw_glyph_string_background, x_draw_glyph_string_bg_rect)
36010         (x_draw_image_glyph_string, x_draw_stretch_glyph_string): Don't
36011         use s->window, which doesn't exist anymore.
36013         * src/w32term.h (XCreateGC): Adjust prototype.
36015 2016-10-28  Daniel Colascione  <dancol@dancol.org>
36017         Add double-buffering support to reduce flicker
36019         * src/dispextern.h (struct glyph_string): Remove window member
36020         (block_buffer_flips, unblock_buffer_flips)
36021         (buffer_flipping_blocked_p): Declare.
36023         * src/xterm.h (struct x_display_info): New member supports_xdbe.
36024         (struct x_output): New members draw_desc and need_buffer_flip.
36025         (FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE)
36026         (FRAME_X_DOUBLE_BUFFERED_P)
36027         (FRAME_X_NEED_BUFFER_FLIP): New macros.
36028         (set_up_x_back_buffer, tear_down_x_back_buffer)
36029         (initial_set_up_x_back_buffer): Declare.
36031         * src/xterm.c: Include Xdbe.h.
36032         (x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle)
36033         (x_draw_vertical_window_border, x_update_end)
36034         (x_setup_relief_color, x_draw_relief_rect)
36035         (x_draw_fringe_bitmap, x_shift_glyphs_for_insert)
36036         (x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use
36037         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
36038         variables appropriately; substitute calls to XClearArea with
36039         x_clear_area, which DTRT for double buffering.
36040         (x_clear_window, x_clear_area): In double-buffering mode, use
36041         rect-drawing X functions instead of XClearWindow and
36042         XClearArea, which always operate on the front buffer.
36043         (show_back_buffer): New function.
36044         (XTframe_up_to_date): Call show_back_buffer when done.
36045         (x_clear_frame, x_clear_frame_area): Remove obsolete calls to
36046         gtk_widget_queue_draw to refresh scroll bars; scroll bars are
36047         now independent X windows.
36048         (handle_one_xevent): Call font_drop_xrender_surfaces when
36049         XftDraw might need regenerating; perform buffer flip when
36050         responding to Expose events; issue front-buffer clearing
36051         commands as stopgap while we wait for redisplay.
36052         Call flush_dirty_back_buffers.
36053         (x_make_frame_visible): Un-bitrot comment; move XSETFRAME
36054         earlier in function.
36055         (x_free_frame_resources): Call tear_down_x_back_buffer when
36056         destroying frame.
36057         (x_term_init): Attempt to initialize double buffer extension.
36058         (x_flip_and_flush): New function.
36059         (x_redisplay_interface): Point to x_flip_and_flush instead of
36060         x_flip directly.
36061         (flush_dirty_back_buffers): New function.
36062         (x_create_terminal): Register buffer_flipping_unblocked_hook.
36064         * src/xftfont.c (xftfont_drop_xrender_surfaces): Use
36065         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
36066         (xftfont_draw): Call x_mark_frame_dirty.
36067         (xftfont_drop_xrender_surfaces): New function.
36068         (syms_of_xftfont): Register it.
36070         * src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of
36071         FRAME_X_WINDOW.
36073         * src/xfns.c: Include Xdbe.h.
36074         (x_set_inhibit_double_buffering, set_up_x_back_buffer)
36075         (Fx_double_buffered_p): New functions.
36076         (x_window): Call initial_set_up_x_back_buffer.
36077         (x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
36078         (Fx_create_frame): Configure `inhibit-double-buffering'
36079         frame parameter.
36080         (x_create_tip_frame): Call initial_set_up_x_back_buffer.
36081         (x_frame_parm_handlers): Register
36082         x_set_inhibit_double_buffering.
36083         (syms_of_xfns): Register Sx_double_buffered_p.
36084         (x_mark_frame_dirty): Define.
36086         * src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of
36087         FRAME_X_WINDOW.
36089         * src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use
36090         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
36091         (redisplay_internal): Restart redisplay if a frame is garbaged
36092         during updating; explain why. Block buffer flips
36093         during redisplay.
36094         (redisplay_preserve_echo_area): Block buffer flip during call
36095         to redisplay_internal.
36096         (buffer_flip_blocked_depth): New variable.
36097         (block_buffer_flips, unblock_buffer_flips)
36098         (buffer_flipping_blocked_p): New functions.
36099         (init_glyph_string): Stop setting window member of struct
36100         glyph_string.
36102         * src/w32fns.c (w32_frame_parm_handlers): Add placeholder for
36103         x_set_inhibit_double_buffering.
36105         * src/termhooks.h (struct terminal): Add
36106         buffer_flipping_unblocked_hook.
36108         * src/nsfns.m (ns_frame_parm_handlers): Add placeholder for
36109         x_set_inhibit_double_buffering.
36111         * src/image.c (x_create_bitmap_from_data)
36112         (x_create_bitmap_from_file, x_create_x_image_and_pixmap)
36113         (Create_Pixmap_From_Bitmap_Data)
36114         (x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use
36115         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
36116         variables appropriately.
36118         * src/gtkutil.c: Include Xdbe.h.
36119         (xg_get_widget_from_map): Forward declare.
36120         (xg_clear_under_internal_border): Remove obsolete calls to
36121         refresh scroll bars.
36122         (xg_create_frame_widgets): Call initial_set_up_x_back_buffer.
36123         (xg_free_frame_widgets): Call tear_down_x_back_buffer; reset
36124         FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the
36125         same reason.
36126         (xg_set_background_color): Set scroll bar background colors.
36127         (xg_finish_scroll_bar_creation): New function with common
36128         logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force
36129         scroll bars to be real X11 windows.
36130         (xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call
36131         xg_finish_scroll_bar_creation.
36132         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
36133         Remove obsolete calls to refresh scroll bars; fix comments.
36135         * src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap,
36136         (ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of
36137         FRAME_X_WINDOW.
36139         * src/frame.c (frame_parms): Add table entry for new
36140         `inhibit-double-buffering' frame parameter
36141         (syms_of_frame): Register Qinhibit_double_buffering.
36143         * src/font.h (struct font_driver): Add new `flush_frame_caches' hook.
36144         (font_drop_xrender_surfaces): Declare.
36146         * src/font.c (font_drop_xrender_surfaces): New function.
36148         * src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute.
36150         * etc/NEWS: Mention use of double buffering
36152         * doc/lispref/frames.texi (Management Parameters): Document
36153         `inhibit-double-buffering' frame parameters.
36154         (Visibility of Frames): Document `x-double-buffered-p'.
36156         * configure.ac: Check for the X double buffer extension
36158 2016-10-28  Michael Albinus  <michael.albinus@gmx.de>
36160         Improve result of `auth-source-search' in Tramp
36162         * lisp/net/tramp.el (tramp-read-passwd): Require :secret and
36163         :user in result of `auth-source-search'.
36165 2016-10-27  Mark Oteiza  <mvoteiza@udel.edu>
36167         Fix avl-tree alias docstrings
36169         * lisp/emacs-lisp/avl-tree.el (avl-tree--node-branch):
36170         (avl-tree-stack-p, avl-tree-create):
36171         (avl-tree-compare-function): Add calling convention to docstrings.
36173 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
36175         Update from gnulib
36177         This incorporates:
36178         2016-10-16 qsort_r: Fix macrology for platforms that lack the function.
36179         2016-10-13 stdint: port SIZE_MAX to glibc s390
36180         2016-10-11 maint: remove stray space after "." in AC_DEFINE comment.
36181         * lib/gnulib.mk: Regenerate.
36182         * lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4:
36183         * m4/utimes.m4: Copy from gnulib.
36185 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
36187         electric-quote-chars fixups
36189         * lisp/electric.el (electric-quote-chars): Check types and safety
36190         more carefully.
36191         (electric-quote-post-self-insert-function): Use more-mnemonic locals.
36192         Omit no-longer-necessary runtime error diagnostic.
36194 2016-10-27  Göktuğ Kayaalp  <self@gkayaalp.com>
36196         New user variable 'electric-quote-chars'
36198         * doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
36199         * lisp/electric.el (electric-quote-chars): New defcustom.
36200         (electric-quote-post-self-insert-function): Use it.
36202 2016-10-27  Tino Calancha  <tino.calancha@gmail.com>
36204         Add more tests for Bug#24627
36206         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627):
36207         Add tests for 'list-at-point'.
36209 2016-10-26  Filipp Gunbin  <fgunbin@fastmail.fm>
36211         * lisp/shell.el (shell--unquote&requote-argument): Match data misuse
36213         * lisp/shell.el (shell--unquote&requote-argument): Fix
36214         off-by-one thinko.  Don't use match data after a failed string-match.
36216 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
36218         * src/xwidget.c (webkit_js_to_lisp): Now static.
36220 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36222         xwidget: Map "previous-line" and "next-line" to scroll
36224         * lisp/xwidget.el: Map "previous-line" and "next-line" to scrolling
36225         procedures.
36227 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36229         xwidget: Bind "beginning-of-buffer" and "end-of-buffer"
36231         * lisp/xwidget.el: Rebind "beginning-of-buffer" and "end-of-buffer" to
36232         "xwidget-webkit-scroll-top" and "xwidget-webkit-scroll-bottom",
36233         respectively.
36234         (xwidget-webkit-scroll-top,
36235         xwidget-webkit-scroll-bottom): New procedures.
36237 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36239         Implement zoom for WebKit widget.
36241         * src/xwidget.c (xwidget-webkit-zoom): New procedure.
36242         * lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively.
36243         (xwidget-webkit-zoom): Declare procedure.
36244         (xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures.
36246 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36248         Dynamically resize WebKit widget.
36250         * lisp/xwidget.el (xwidget-webkit-auto-adjust-size,
36251         xwidget-webkit-adjust-size-in-frame): New procedures.
36252         (xwidget-webkit-new-session): Remove hint to resize widget with `a'.
36253         (xwidget-webkit-adjust-size-dispatch): Resize current webkit widget.
36254         (xwidget-webkit-adjust-size-to-window): Make non-interactive,
36255         add widget and window as arguments.
36256         (xwidget-webkit-callback): Use xwidget-webkit-adjust-size-to-window.
36258 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36260         Let initial WebKit view fill window
36262         * lisp/xwidget.el (xwidget-webkit-new-session): Change default size of
36263         WebKit widget to window size.
36265 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36267         xwidget: Remove title hack.
36269         * src/xwidget.c (xwidget-webkit-get-title): Remove procedure.
36270         * lisp/xwidget.el (xwidget-webkit-get-title,
36271         xwidget-webkit-execute-script-rv): Remove procedures.
36273 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36275         xwidget: Get URL asynchronously.
36277         * lisp/xwidget.el (xwidget-webkit-current-url): Kill URL in callback.
36279 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36281         xwidget: Get selection with asynchronous JavaScript
36283         * lisp/xwidget.el (xwidget-webkit-get-selection): Add PROC argument to
36284         process selection.
36285         (xwidget-webkit-copy-selection-as-kill): Kill selection in callback.
36287 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36289         xwidget: Add function to find element by CSS selector
36291         * lisp/xwidget.el (xwidget-webkit-show-element): New procedure.
36293 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36295         xwidget: Simplify functions to scroll to elements
36297         * lisp/xwidget.el (xwidget-webkit-show-named-element,
36298         xwidget-webkit-show-id-element,
36299         xwidget-webkit-show-id-or-named-element): Simplify functions by
36300         scrolling exclusively with JavaScript.
36302 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36304         xwidget: Get title via asynchronous JavaScript.
36306         * lisp/xwidget.el (xwidget-webkit-callback): Get document title
36307         asynchronously.
36309 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36311         xwidget: Do not use `xwidget-execute-script-rv' to insert string
36313         * lisp/xwidget.el (xwidget-webkit-insert-string): Obtain JavaScript
36314         return value via callback instead of using
36315         `xwidget-webkit-execute-script-rv'.
36317 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36319         Remove scrolled window container around WebKit widget
36321         The WebKit widget can scroll on its own and does not need to wrapped
36322         with a scrolled window container.
36324         * src/xwidget.h: Remove struct member widgetscrolledwindow_osr.
36325         * src/xwidget.c: Remove widgetscrolledwindow_osr.
36326         (xwidget-set-adjustment): Remove.
36327         (xwidget-resize): Resize Webkit widget last.
36328         * lisp/xwidget.el (xwidget-set-adjustment): Remove.
36329         (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down,
36330         xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
36331         Implement scrolling via JavaScript.
36333 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36335         xwidget: Pass JavaScript return value to optional callback procedure
36337         * lisp/xwidget.el (xwidget-webkit-execute-script): Accept optional
36338         callback argument.
36339         (xwidget-webkit-callback): Handle "javascript-callback" event type.
36340         * src/xwidget.c (xwidget-webkit-execute-script): Accept optional
36341         argument FUN, a Lisp procedure to execute on the JavaScript return
36342         value.
36343         (store_xwidget_js_callback_event, webkit_javascript_finished_cb,
36344         webkit_js_to_lisp): New procedures.
36346 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36348         xwidget: Use WebKit2 API
36350         * configure.ac: Check for webkit2gtk-4.0.
36351         * src/xwidget.c: Adjust to use WebKit2 API.
36352         * lisp/xwidget.el (xwidget-webkit-callback): Adjust matches for
36353         `xwidget-event-type'.
36355 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
36357         Merge from origin/emacs-25
36359         4c3f738 Comment for bug#24793
36361 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
36363         Merge from origin/emacs-25
36365         96ac0c3 Yet another fix for using pointers into buffer text
36366         1047496 Another fix for using pointer to buffer text
36367         3121992 Fix Bug#24478
36369 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
36371         Merge from origin/emacs-25
36373         ee04aed Fix handling of buffer relocation in regex.c functions
36374         71ca4f6 Avoid relocating buffers while libxml2 reads its text
36375         1b3fc8a ; Remove redundant code in gmalloc.c
36376         9afea93 Attempt to catch reads from a buffer that is relocated
36378 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
36380         Minor fix in the documentation of seq-random-elt
36382         * doc/lispref/sequences.texi (Sequence Functions): Remove false
36383           sentence.
36385 2016-10-25  Eli Zaretskii  <eliz@gnu.org>
36387         Minor copyedits in documentation of 'seq-random-elt'
36389         * doc/lispref/sequences.texi (Sequence Functions): Fix markup in
36390         last change.  Use 2 spaces between sentences.
36392 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
36394         * lisp/emacs-lisp/seq.el (seq-random-elt): Fix docstring.
36396 2016-10-25  Damien Cassou  <damien@cassou.me>
36398         Add seq-random-elt to seq.el
36400         * lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a
36401           random element from it's sequence parameter.
36403         * test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all
36404           test-seq-random-elt-return-nil): Test the new function
36406         * doc/lispref/sequences.texi: Document the new function
36408 2016-10-24  Ken Brown  <kbrown@cornell.edu>
36410         * configure.ac: Stop using mmap for buffers on Cygwin.
36412 2016-10-24  Nicolas Petton  <nicolas@petton.fr>
36414         * lisp/emacs-lisp/seq.el (seq-let): Fix debug spec (Bug#24738)
36416 2016-10-24  Karl Chen  <Karl.Chen@quarl.org>
36418         Don't prompt user when killing Flymake processes
36420         * lisp/progmodes/flymake.el (flymake-start-syntax-check-process):
36421         Don’t prompt the user when killing Flymake processes.
36423         * doc/misc/flymake.texi (Starting the syntax check process):
36424         Document new behavior.
36426 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
36428         * src/regex.c (re_search_2): Use UNINIT, not IF_LINT.
36430         This finishes the merge of the recent emacs-25 regex changes into
36431         master.
36433 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
36435         Merge from origin/emacs-25
36437         50fa7d6 ;* src/w32heap.c: Fix typo and wording of the comments.
36438         6f1325e electric-quote mode no longer worries about coding
36439         c2a1792 * src/regex.c (re_search_2): Make new code safe for -Wjump-mi...
36440         f6134bb Port to GCC 6.2.1 + --enable-gcc-warnings
36441         b2ba630 Explain how to debug emacsclient lisp errors
36442         9da53e2 Let describe-function work for lambda again
36443         5c2da93 Fix kill-line's docstring
36444         ad66b3f Fix handling of allocation in regex matching
36445         5a26c9b * lisp/electric.el (electric-quote-mode): Improve doc (Bug#24...
36446         3877c91 vc-region-history: Search just on lines intersecting the region
36447         8988327 Fix documentation of 'alist-get'
36448         b6998ea * src/regex.h (re_match_object): Improve commentary.
36450         # Conflicts:
36451         #       etc/NEWS
36452         #       lisp/help-fns.el
36454 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
36456         Merge from origin/emacs-25
36458         8ad0d7d ; Fix quoting in etc/NEWS
36459         6b9dee1 Change Tramp version to "2.2.13.25.2"
36460         62f2684 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): F...
36461         b2f32e4 Don't scan compiled module files for autoloads
36462         9a758b4 Fix Bug#24698
36463         baa8ba4 * lisp/subr.el (start-process): Doc fix.  (Bug#24693)
36464         e535ca4 Fix display of vc-dir CVS file statuses in subdirectories
36465         12da149 Update URL of MS-Windows optional DLLs
36466         2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
36467         a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)...
36468         b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f...
36469         cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (B...
36471         # Conflicts:
36472         #       doc/misc/trampver.texi
36473         #       etc/NEWS
36474         #       lisp/net/tramp-sh.el
36475         #       lisp/net/trampver.el
36477 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
36479         Merge from origin/emacs-25
36481         b73f466 * lisp/cus-start.el (exec-path): Handle nil elements.  (Bug#2...
36482         55ebb70 Catch the imenu-unavailable error in sh-mode completion table
36483         993acb5 ; Minor fix for last change in characters.el
36484         30c4bb5 More char-width fixes
36485         4eb4463 Fix char-width-table values for some Emoji
36486         528997d Keep point when switching from and to *terminal* buffer
36487         2130005 * INSTALL: Use correct Emacs release number 25.
36488         10835b1 Avoid crashes due to objects read with the #n=object form
36489         4de671d Improve doc string of 'completion-at-point-functions'
36490         ceb46f0 Fix crash in evaluating functions
36491         d8374c4 * src/filelock.c (current_lock_owner): Update comment.
36493 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
36495         Merge from origin/emacs-25
36497         2deb20c Port last_marked change to full-program optimizers
36498         27eb668 Adapt GDB scripts to '--enable-check-lisp-object-type' builds
36499         dac64e3 Avoid optimizing out the last_marked[] array
36501 2016-10-22  Noam Postavsky  <npostavs@gmail.com>
36503         Avoid infinite hscrolling in redisplay
36505         * src/xdisp.c (redisplay_internal): Add a counter to avoid horizontal
36506         scrolling (e.g., caused by pre-redisplay-functions) triggering infinite
36507         redisplay (Bug #24633).
36509 2016-10-22  Michael Albinus  <michael.albinus@gmx.de>
36511         Fix error codes in Tramp
36513         * lisp/net/tramp-compat.el (tramp-compat-user-error): New defsubst,
36514         taken from tramp.el.
36515         (tramp-file-missing): New defconst.
36517         * lisp/net/tramp.el (tramp-user-error): Remove it.
36518         (tramp-check-proper-method-and-host)
36519         (tramp-dissect-file-name, tramp-debug-message)
36520         (tramp-handle-shell-command):
36521         * lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
36522         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
36523         Use `tramp-compat-user-error'.
36525         * lisp/net/tramp.el (tramp-handle-insert-file-contents)
36526         (tramp-handle-load):
36527         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
36528         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy)
36529         * lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
36530         * lisp/net/tramp-smb.el (tramp-smb-handle-file-local-copy):
36531         Use `tramp-file-missing'.  (Bug#24714)
36533         * lisp/net/tramp-sh.el (tramp-sh-handle-add-name-to-file):
36534         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
36535         Use `file-already-exists'.
36537 2016-10-22  Jorgen Schaefer  <contact@jorgenschaefer.de>
36539         Autoload all commands from misc.el
36541         Only two of the commands there were autoloaded, one of which is an
36542         easter egg.
36543         * lisp/misc.el (copy-from-above-command):
36544         * lisp/misc.el (zap-up-to-char):
36545         * lisp/misc.el (mark-beginning-of-buffer):
36546         * lisp/misc.el (mark-end-of-buffer):
36547         * lisp/misc.el (upcase-char):
36548         * lisp/misc.el (forward-to-word):
36549         * lisp/misc.el (backward-to-word):
36550         Add autoload cookie.
36552 2016-10-22  Martin Rudalics  <rudalics@gmx.at>
36554         On terminal frames ignore minibuffer frame parameter (Bug#24758)
36556         * src/frame.c (Fmake_terminal_frame): Don't complain when the
36557         caller asks for a deviant minibuffer setting (Bug#24758).
36559 2016-10-21  Paul Eggert  <eggert@cs.ucla.edu>
36561         New error file-missing
36563         This fixes a recently-introduced bug in delete-directory,
36564         where the code assumes the C locale when determining
36565         whether a file-error corresponds to a missing file (Bug#24714).
36566         * doc/lispref/errors.texi (Standard Errors):
36567         * doc/lispref/files.texi (Changing Files):
36568         * etc/NEWS:
36569         Document this.
36570         * doc/lispref/loading.texi (How Programs Do Loading):
36571         Say "a file-error" rather than "the error file-error" since
36572         it might be a file-missing now.
36573         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
36574         * lisp/epa-file.el (epa-file--find-file-not-found-function):
36575         (epa-file-insert-file-contents, epa-file-write-region):
36576         * lisp/ffap.el (find-file-at-point, dired-at-point):
36577         * lisp/jka-compr.el (jka-compr-insert-file-contents)
36578         (jka-compr-insert-file-contents):
36579         * lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
36580         (ange-ftp-insert-file-contents, ange-ftp-copy-file-internal):
36581         * lisp/progmodes/etags.el (visit-tags-table):
36582         * lisp/url/url-handlers.el (url-copy-file):
36583         * src/fileio.c (report_file_errno):
36584         Signal file-missing if appropriate.
36585         * lisp/epa-file.el (epa-file-insert-file-contents):
36586         * lisp/jka-compr.el (jka-compr-insert-file-contents):
36587         Don't assume file-error is a leaf in the error hierarchy.
36588         * lisp/files.el (files--force):
36589         * lisp/gnus/nnmaildir.el (nnmaildir--enoent-p):
36590         * lisp/jka-compr.el (jka-compr-insert-file-contents):
36591         Use file-missing to detect whether the file is missing.
36592         * lisp/url/url-handlers.el (url-copy-file):
36593         Signal file-already-exists if appropriate.
36594         * src/fileio.c (syms_of_fileio): Define file-missing.
36596         2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
36598 2016-10-21  Mark Oteiza  <mvoteiza@udel.edu>
36600         Teach browse-url to open man page urls
36602         * lisp/net/browse-url.el (browse-url-man-function): New custom option.
36603         (browse-url): Add a condition to catch links matching "^man:".
36604         (browse-url-man): New function.
36606 2016-10-21  Eli Zaretskii  <eliz@gnu.org>
36608         Improve fontification of footnote references in Info buffers
36610         * lisp/info.el (Info-fontify-node): Don't fontify random numbers
36611         in parentheses as if they were footnote references.  See
36612         https://lists.gnu.org/r/bug-texinfo/2016-10/msg00007.html
36613         for the details.
36615 2016-10-20  Philipp Stephani  <phst@google.com>
36617         Minor fixes to cc-mode-tests.el
36619         See Bug#24747.
36621         * test/lisp/progmodes/cc-mode-tests.el: Rename from cc-mode.el; fix typo in
36622         file-local variable; add comments to make checkdoc happy.
36624 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
36626         * etc/NEWS: Fix typos.  Remove entries backported to Emacs 25.2.
36628 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
36630         Document, how to suppress iTerm2 shell integration in Tramp
36632         * doc/misc/tramp.texi (Frequently Asked Questions):
36633         Suppress iTerm2 shell integration.
36635 2016-10-20  Tino Calancha  <tino.calancha@gmail.com>
36637         cl-seq: Remove max limit on input sequence length
36639         * lisp/emacs-lisp/cl-seq.el (cl-fill, cl-replace, cl-delete)
36640         (cl--position, cl-nsubstitute, cl-substitute, cl-remove):
36641         Remove limit on maximum length for the input sequence
36642         (#Bug24264).
36643         * test/lisp/emacs-lisp/cl-seq-tests.el: Update test expected result as passed.
36645 2016-10-19  Mark Oteiza  <mvoteiza@udel.edu>
36647         Derive dig-mode from special-mode
36649         * lisp/net/dig.el: Remove unused cl dependency.  Remove top level
36650         mode-class assignment.
36651         (dig-mode-map): Unmap g, as dig has no notion of reverting the buffer.
36652         (dig-mode): Derive from special-mode.
36653         (dig-exit): Use quit-window instead.
36654         (dig): Use pop-to-buffer-same-window.  Remove redundant assignments.
36655         (query-dig): Use pop-to-buffer-same-window.
36657 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
36659         cl-defstruct: Fix debug spec and check of slot options
36661         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Improve checking of slot
36662         option syntax.  Fix debug spec.  (Bug#24700)
36664 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
36666         isearch: Fix bug in defstruct syntax
36668         * lisp/isearch.el (isearch--state): Use correct form of defstruct slot
36669         options.  (Bug#24685)
36671 2016-10-18  Mark Oteiza  <mvoteiza@udel.edu>
36673         Add an option for eshell-input-filter
36675         * etc/NEWS: Document changes.
36676         * lisp/eshell/em-hist.el (eshell-input-filter): Set value to function
36677         symbol.  Change type to a radio for choosing functions.  Refer to both
36678         new functions.
36679         (eshell-input-filter-default): New function.  Same body as the previous
36680         value of eshell-input-filter.
36681         (eshell-input-filter-initial-space): New function.
36683 2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
36685         delete-directory no longer errors when racing
36687         Problem reported by Glenn Morris for package-test.el (Bug#24714).
36688         * doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this.
36689         * lisp/files.el (files--force): New function.
36690         (delete-directory): Use it to avoid error in this case.
36692 2016-10-17  Yuri Khan  <yuri.v.khan@gmail.com>  (tiny change)
36694         Support Shift selection in nxml-mode commands
36696         * lisp/nxml/nxml-mode.el (nxml-forward-balanced-item)
36697         (nxml-up-element, nxml-backward-up-element, nxml-down-element)
36698         (nxml-backward-down-element, nxml-forward-element)
36699         (nxml-backward-element, nxml-forward-paragraph)
36700         (nxml-backward-paragraph): Use "^p" as the interactive spec, to
36701         support shift-selection.
36703 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
36705         Simplify some loops and cons
36707         * lisp/net/mailcap.el: Replace cl with cl-lib.
36708         (mailcap--get-user-mime-data, mailcap--set-user-mime-data):
36709         (mailcap-parse-mailcaps, mailcap-parse-mailcap-extras):
36710         (mailcap-possible-viewers): Use push and dolist where possible.
36711         (mailcap-viewer-passes-test): Remove unused binding.
36712         (mailcap-add-mailcap-entry): Use push.
36713         (mailcap-mime-info): Remove unused binding.  Use push.
36714         (mailcap-parse-mimetypes): Use dolist.
36716 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
36718         Turn on lexical-binding in auth-source
36720         * lisp/auth-source.el: Turn on lexical-binding.
36721         (auth-source-netrc-parse, auth-source-netrc-normalize):
36722         (auth-source-token-passphrase-callback-function):
36723         (auth-source-netrc-create, auth-source-secrets-search):
36724         (auth-source-macos-keychain-search-items):
36725         (auth-source-plstore-search): Use let instead of lexical-let.
36727 2016-10-17  Martin Rudalics  <rudalics@gmx.at>
36729         Fix frame focus redirection with shared minibuffer windows (Bug#24500)
36731         * src/frame.c (do_switch_frame): Redirect frame focus also when
36732         the frame switched to has its minibuffer window on the selected
36733         frame.
36734         * src/window.c (candidate_window_p): To qualify as candidate
36735         it's not sufficient for the window's frame to just share the
36736         minibuffer window - it must be active as well.
36738 2016-10-17  Eli Zaretskii  <eliz@gnu.org>
36740         Fix time-related data types in 2 editfns.c functions
36742         * src/editfns.c (format_time_string, Fcurrent_time_zone): Pass a
36743         pointer to 'time_t' value to 'emacs_localtime_rz' and 'gmtime_r',
36744         instead of relying on struct timespec's 'tv_sec' member to be of
36745         compatible type.
36747 2016-10-16  Martin Rudalics  <rudalics@gmx.at>
36749         Document atomic windows in Elisp manual (Bug#18170)
36751         * lisp/window.el (display-buffer-in-atom-window): If no `side'
36752         alist entry was specified, use `below' as the doc tells.
36753         * doc/lispref/elisp.texi (Atomic Windows): Add menu entry.
36754         * doc/lispref/windows.texi (Atomic Windows): New section.
36755         (Window Parameters): Update reference.
36757 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36759         New face homoglyph
36761         Suggested by Eli Zaretskii, from a feature request by
36762         Alan Mackenzie (Bug#24468).
36763         * doc/emacs/display.texi (Standard Faces, Text Display):
36764         * etc/NEWS: Document this.
36765         * etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el:
36766         * etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el:
36767         * etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el:
36768         * etc/themes/wombat-theme.el:
36769         Customize homoglyph to be the same as escape-glyph.
36770         * lisp/cus-theme.el (custom-theme--listed-faces):
36771         Add homoglyph.
36772         * lisp/faces.el (homoglyph): New face.
36773         * lisp/startup.el (startup--setup-quote-display): Use it.
36775 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36777         Port to Ubuntu 16.10, which needs gcc -nopie
36779         * configure.ac (emacs_cv_prog_cc_no_pie): Rename from
36780         emacs_cv_prog_cc_nopie.  All usages changed.  Check for -no-pie in
36781         preference to -nopie (Bug#24682).
36783 2016-10-16  Michael Albinus  <michael.albinus@gmx.de>
36785         Fix bug#24665 in Tramp
36787         * doc/misc/tramp.texi (External methods): Do not confuse
36788         method names.  (Bug#24665)
36790 2016-10-15  Sam Steingold  <sds@gnu.org>
36792         use full time objects (lists) instead of floats when possible
36794         * lisp/midnight.el (midnight-buffer-display-time): Remove
36795         (clean-buffer-list): Use float time only for time comparison
36797 2016-10-15  Sam Steingold  <sds@gnu.org>
36799         Save and restore buffer-display-time
36801         * lisp/desktop.el (desktop-locals-to-save): Add `buffer-display-time'
36802         (desktop-read): Set `desktop-file-modtime' before loading the desktop file
36803         (desktop-create-buffer): Adjust `buffer-display-time' for the downtime
36805 2016-10-15  Philipp Stephani  <phst@google.com>
36807         Disable bracketed paste in a terminal in char mode
36809         In char mode, a terminal doesn't accept bracketed paste events,
36810         therefore we should disable them; see Bug#24639.  To decouple the XTerm
36811         management from term.el, introduce a per-buffer setting to disable
36812         bracketed paste for that buffer.  If bracketed paste is inhiited for at
36813         least one buffer in a terminal, it is disabled for the whole terminal.
36815         * lisp/term/xterm.el (xterm-inhibit-bracketed-paste-mode): New mode to
36816         inhibit XTerm bracketed paste per buffer.
36817         (xterm--buffer-terminals, xterm--update-bracketed-paste)
36818         (xterm--bracketed-paste-possible, xterm--is-xterm): New helper
36819         functions.
36820         (xterm--init-bracketed-paste-mode): Remove unused helper
36821         function.
36822         (terminal-init-xterm): Update bracketed paste status when
36823         initializing an XTerm and on window configuration change.
36825         * lisp/term.el (term-char-mode, term-line-mode): Inhibit XTerm
36826         bracketed paste in char mode.
36828 2016-10-15  Dima Kogan  <dima@secretsauce.net>
36830         Undo the effect of CapsLock when other modifiers are present
36832         * src/keyboard.c (make_lispy_event): Effectively undo the effect
36833         of CapsLock if any modifiers other than Shift are present in a key.
36834         (Bug#24456)
36836 2016-10-15  Simen Heggestøyl  <simenheg@gmail.com>
36838         Add tests for foreign completions in CSS mode
36840         * test/lisp/textmodes/css-mode-tests.el
36841         (css-test-foreign-completions): New test for
36842         `css--foreign-completions'.
36843         (css-test-complete-selector-tag): Rename test.
36844         (css-test-complete-selector-class): New test testing completion of
36845         class names in selectors.
36846         (css-test-complete-selector-id): New test testing completion of IDs in
36847         selectors.
36849 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
36851         Cosmetic change to last mm-url change
36853         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
36854         Tweak last change slightly for more readability.
36856 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
36858         Fix problem with submitting binary data via HTTP forms
36860         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
36861         Document the parameters, clean up the code, and make uploading
36862         binary data really work (which it didn't if the binary bits
36863         were in the last part of the data).
36865 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
36867         * lisp/time.el (display-time-string-forms): Fix custom type.
36869 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
36871         Derive Man and WoMan modes from special-mode
36873         * lisp/man.el (Man-mode-map): Set parent to map composed from both
36874         button-buffer-map and special-mode-map.  Remove redundant bindings.
36875         Fix menu to refer to the quit-window command.
36876         (Man-mode): Derive from special-mode.  Fix docstring.  Remove redundant
36877         buffer-read-only binding.
36878         (Man-quit): Remove.
36879         * lisp/woman.el (woman-really-find-file): Use setq-local.
36880         (woman-mode-map): Refer to woman-mode in docstring.
36881         (woman-mode): Derive from special-mode.  Document woman-mode-map in
36882         docstring.  Use setq-local where possible; imenu-generic-expression is
36883         already buffer-local.
36884         (woman-negative-vertical-space): Replace unused binding with _.
36886 2016-10-13  Philipp Stephani  <phst@google.com>
36888         Fix crash in evaluating functions
36890         See Bug#24673
36892         * src/eval.c (funcall_lambda): Fix crash for bogus functions such
36893         as (closure).
36895         * test/src/eval-tests.el (eval-tests--bug24673): Add test.
36897 2016-10-13  Tino Calancha  <tino.calancha@gmail.com>
36899         Add test for Bug#24627
36901         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): New test.
36903 2016-10-12  Eli Zaretskii  <eliz@gnu.org>
36905         * lib-src/etags.c (invalidate_nodes): Remove a redundant nullp test.
36907 2016-10-11  Paul Eggert  <eggert@cs.ucla.edu>
36909         Work around Samba bug with ':' in symlink contents
36911         * src/filelock.c (current_lock_owner): When reading the contents
36912         of a lock, treat the UTF-8 for U+F022 as if it were ':' (Bug#24656).
36914 2016-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
36916         If autoloads buffer is unchanged, mark it as such (bug#23692)
36918         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
36919         If autoloads buffer is unchanged, mark it as such (bug#23692).
36921 2016-10-11  Michael Albinus  <michael.albinus@gmx.de>
36923         Use "26.1" version string in Tramp, fix some comments
36925         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
36926         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
36927         Use "26.1" version string.
36929 2016-10-10  Tino Calancha  <tino.calancha@gmail.com>
36931         form-at-point work for all kind of THINGS
36933         * lisp/thingatpt.el (form-at-point):
36934         Use thing-at-point--read-from-whole-string only if thing-at-point
36935         returns a string (Bug#24605).
36937 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
36939         Fix compilation warnings on MS-Windows
36941         * src/w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Remove
36942         definitions of these macros, which seem to be unneeded and cause
36943         compiler warnings.
36944         * src/fileio.c (NOMINMAX): Avoid compiler warnings about unused
36945         macros.
36946         * src/firstfile.c (dummy_main_reference): Rename from 'dummy' and
36947         make it external, to avoid compiler warning.
36949 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
36951         Spelling and clarity fixes
36953 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
36955         Merge from origin/emacs-25
36957         4f406e9 CC Mode manual: remove reference to former Emacs variable las...
36958         44e402e Allow to disable compaction of font caches
36959         4ff4b66 Allow selection of font for symbols as in Emacs 24.x
36960         c03d44b ; Fix last commit
36961         d4be4f3 ; Fix indexing in lispref manual
36962         ed399f2 ; Minor improvement in documentation of generators
36963         197a6bc Fix horizontal scrolling during Isearch
36964         3566644 Fix infloop in redisplay due to truncated lines and invisible...
36966         # Conflicts:
36967         #       etc/NEWS
36969 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
36971         Merge from origin/emacs-25
36973         c4a5e7e Improve documentation of 'menu-bar-open'
36975 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
36977         Merge from origin/emacs-25
36979         4b347fe Clarify that doc fixes are okay in feature freeze
36980         01669ad Avoid crashes when setting the cursor
36981         f2144ee Restore 'command-debug-status' functionality
36982         ec6e4b9 ; Minor addition to CONTRIBUTE
36984 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
36986         Merge from origin/emacs-25
36988         74b4f13 Document nil args of compare-buffer-substrings
36989         9fc81bc * doc/misc/message.texi (Bcc Warning): Fix markup.
36990         95baa25 * doc/misc/message.texi (Bcc Warning): Document mml-secure-sa...
36992 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
36994         Merge from origin/emacs-25
36996         f1247f0 * lisp/frame.el (blink-cursor-delay): Doc fix.  (Bug#24372)
36997         ace7f14 * lisp/gnus/gnus-art.el (gnus-button-handle-library): Fix typo.
36998         bbf1ffd Regexp Functions doc minor fixes
37000 2016-10-08  Philipp Stephani  <phst@google.com>
37002         Don’t consider nested let-alist forms
37004         See Bug#24641.
37006         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Don’t
37007         consider symbols in nested ‘let-alist’ forms.
37009         * test/lisp/emacs-lisp/let-alist-tests.el
37010         (let-alist--deep-dot-search--nested): Add a unit test.
37012 2016-10-08  Alain Schneble  <a.s@realize.ch>
37014         Support SIGTRAP in kill emulation on Windows
37016         * src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to
37017         'DebugBreakProcess' to cause a breakpoint exception to occur in the
37018         specified process.  On Windows versions prior to Windows XP that do
37019         not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP
37020         (as opposed to EINVAL before this change).
37021         * src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer
37022         and global variable to track state of run-time dynamic linking of this
37023         function.
37025         * etc/NEWS: Add entry to document that 'signal-process' now supports
37026         SIGTRAP.
37028 2016-10-08  Eli Zaretskii  <eliz@gnu.org>
37030         Deprecate 'wp' group and introduce a new group 'text'
37032         * lisp/textmodes/tildify.el (tildify):
37033         * lisp/textmodes/text-mode.el (text-mode-hook):
37034         * lisp/textmodes/table.el (table):
37035         * lisp/textmodes/rst.el (rst):
37036         * lisp/textmodes/refer.el (refer):
37037         * lisp/textmodes/refbib.el (refbib):
37038         * lisp/textmodes/picture.el (picture):
37039         * lisp/textmodes/nroff-mode.el (nroff):
37040         * lisp/textmodes/enriched.el (enriched):
37041         * lisp/textmodes/bib-mode.el (bib):
37042         * lisp/progmodes/ebnf2ps.el (ebnf2ps):
37043         * lisp/nxml/rng-valid.el (relax-ng):
37044         * lisp/view.el (view):
37045         * lisp/ps-print.el (ps-print):
37046         * lisp/printing.el (printing):
37047         * lisp/outline.el (outlines):
37048         * lisp/lpr.el (lpr):
37049         * lisp/delim-col.el (columns): Use 'text' group instead of 'wp'.
37050         * lisp/cus-edit.el (wp): Remove the "text" tag.
37051         (text): New defgroup, inherits from the deprecated 'wp'.
37052         (outlines): Remove, in favor of the definition in outline.el.
37053         (tex): Inherit from 'text'.
37054         Suggested by Drew Adams <drew.adams@oracle.com>.  (Bug#24549)
37056 2016-10-08  Laimonas Vėbra  <laimonas.vebra@yahoo.com>  (tiny change)
37058         Extend dictionary and library-directory handling for Ispell
37060         * lisp/textmodes/ispell.el (ispell-check-version): Allow
37061         overriding LIBDIR via the variable defined by LIBRARYVAR (usually
37062         ISPELL_DICTDIR).
37063         (ispell-valid-dictionary-list): If the -d option to Ispell
37064         specifies an absolute file name, use that regardless of
37065         ispell-library-directory.  (Bug#24439)
37067 2016-10-07  Tassilo Horn  <tsdh@gnu.org>
37069         Fix unescaped \begin{...} in docstring
37071         * lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib): Fix unescaped
37072         \begin{...} in docstring.
37074 2016-10-06  Noah Friedman  <friedman@splode.com>
37076         Update comment.
37078 2016-10-06  Eli Zaretskii  <eliz@gnu.org>
37080         Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2
37082         * nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
37083         defining to avoid redefinition warnings.
37085         * nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
37086         inclusion of sys/stat.h from the system headers, which could then
37087         lead to compilation errors due to redefinition of 'struct stat'
37088         etc.  This is needed because latest versions of MinGW runtime
37089         include sys/stat.h from wchar.h.
37091         * src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
37092         redefine to 4 to avoid conflict between 2 definitions of
37093         MemoryBarrier.  (Bug#24613)
37095 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
37097         * lisp/url/url-parse.el (url-generic-parse-url): Unquote macro URL argument.
37099 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
37101         Autoload entry point testcover-start
37103         * lisp/emacs-lisp/testcover.el: Add autoload cookie for
37104         testcover-start.
37106 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
37108         Bump version of ntlm.el to 2.1.0
37110         * lisp/net/ntlm.el: Bump version to 2.1.0.
37112 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
37114         lisp/net/ntlm.el: Fix comment and docstring formatting
37116 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
37118         lisp/net/ntlm.el: Match Mozilla Type 1 and 3 message behavior
37120         * lisp/net/ntlm.el (ntlm-build-auth-request): Only set
37121         "negotiate domain supplied" bit when a domain is supplied.  Do
37122         not set "negotiate workstation supplied" bit.
37123         (ntlm-build-auth-response): Set domain to empty string by
37124         default.  Set workstation name to "WORKSTATION".  Set flags to
37125         logical and of Type 1 and Type 2 message flags.  Remove four
37126         trailing 0 bytes.  Always set LM response.  Hard-code domain
37127         offset.  Reorder buffer fields.
37129 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
37131         Document return value of `display-buffer-in-side-window'
37133         * doc/lispref/windows.texi (Displaying Buffers in Side Windows):
37134         * lisp/window.el (display-buffer-in-side-window): Describe
37135         return value of `display-buffer-in-side-window'.
37137 2016-10-05  Eli Zaretskii  <eliz@gnu.org>
37139         Improve wording in side windows documentation
37141         * doc/lispref/windows.texi (Displaying Buffers in Side Windows)
37142         (Side Window Options and Functions)
37143         (Frame Layouts with Side Windows): Minor wording improvements.
37145 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
37147         Document and fix some bugs with side windows
37149         Add a documentation for side windows and fix some bugs
37150         found when testing their behavior.  Also add a new window
37151         parameter `no-delete-other-window', a new `display-buffer'
37152         alist member called `window-parameters', and functions to
37153         toggle and reverse side windows on a frame.  Add new function
37154         `window-swap-states' to exchange states of two live windows.
37156         * lisp/window.el (display-buffer-in-atom-window): Use
37157         `split-window-no-error'.
37158         (window-sides-vertical): Maybe change layouts when setting this
37159         variable.
37160         (window-sides-reversed): New option.
37161         (window-sides-slots): Rewrite doc-string and help echoes.
37162         (window-sides-shown): New buffer-local variable set when showing
37163         a buffer in a side window.
37164         (window--sides-inhibit-check): New variable.
37165         (window--sides-reverse-on-frame-p, window-toggle-side-windows)
37166         (window--sides-reverse-all, window--sides-reverse-frame)
37167         (window--sides-reverse-side, window--sides-reverse)
37168         (window--sides-verticalize-frame, window--sides-verticalize)
37169         (window--sides-check-failed): New functions.
37170         (window--side-window-p): Remove function.
37171         (window--major-non-side-window): Rename to `window-main-window',
37172         adjust callers, rewrite doc-string.
37173         (window--major-side-window): Rename to
37174         `window--make-major-side-window-next-to', adjust caller, fix
37175         doc-string.
37176         (display-buffer-in-major-side-window): Rename to
37177         `window--make-major-side-window', adjust
37178         caller, rewrite doc-string.  Make `window-side' and
37179         `window-slot' parameters persistent (Bug#23858).  Don't set
37180         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
37181         (delete-side-window): Remove function.
37182         (display-buffer-in-side-window): Fix doc-string.  Don't set
37183         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
37184         (window--side-check): Rename to window--sides-check.  Rewrite
37185         completely.  Adjust caller.
37186         (window-resize-no-error): Don't describe PIXELWISE argument.
37187         (adjust-window-trailing-edge): Fix bug that disallowed
37188         re-enlarging windows that were too small.
37189         (window-deletable-p): Don't tell that a minibuffer window on a
37190         non-minibuffer-only frame can be deleted.  Fix doc-string.
37191         (delete-window): Handle deleting a side window here (the
37192         `delete-window' parameter is no more set for side windows).
37193         (delete-other-windows): Handle ‘no-delete-other-window'
37194         parameter. Don't treat side windows separately (see discussion
37195         of Bug#24368) but keep optimization that makes the main window
37196         the root window of its frame.
37197         (switch-to-prev-buffer, switch-to-next-buffer): Handle side
37198         windows and buffers shown in side windows separately.
37199         (split-window-no-error): New function.
37200         (window--state-get-1): Use right buffer when storing window
37201         point and start positions and WRITABLE is nil (Bug#24368).
37202         (window--state-put-1): Fix handling of `window-combination-limit'.
37203         Use `split-window-no-error'.
37204         (window--state-put-2): Try to restore windows with preserved
37205         size to their original size.  Fix bug where a fixed window's width
37206         was not preserved.
37207         (window-state-put): When reducing an internal window to a live
37208         one, don't choose a side window.
37209         (window-swap-states): New function.
37210         (window-splittable-p): Don't call `window--side-window-p'.
37211         (window--display-buffer): Handle `window-parameters' ALIST entry.
37212         Minor rewrite.
37213         (display-buffer): Mention `window-parameters' entry in
37214         doc-string.
37215         (display-buffer-at-bottom): Call `split-window-no-error'.
37217         * doc/lispref/elisp.texi (Top): New section "Side Windows".
37218         * doc/lispref/windows.texi (Deleting Windows): Fix descriptions
37219         of `delete-window' and `delete-other-windows' wrt window
37220         parameters and side windows.
37221         (Display Action Functions): Mention `window-parameters' ALIST
37222         entry.
37223         (Side Windows): New section (Bug#18170).
37224         (Window Configurations): Describe new function `window-swap-states'.
37225         (Window Parameters): Say that functions may behave specially when
37226         their homonymous window parameter has been set.  Mention new
37227         parameter `no-delete-other-window'.  Add cross reference for
37228         `window-side' and `window-slot' parameters.
37230 2016-10-04  John Wiegley  <johnw@newartisans.com>
37232         Add documentation note from Alex
37234 2016-10-04  Mark Oteiza  <mvoteiza@udel.edu>
37236         Avoid dynamic binding on a symbol
37238         Instead, bind history in the default minibuffer-history.
37239         Fixes bug#24580.
37240         * lisp/replace.el (query-replace-read-from): Let-bind
37241         minibuffer-history.  Change read-regexp and read-from-minibuffer's
37242         HISTORY arguments to nil so that they use minibuffer-history.
37244 2016-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
37246         * src/fileio.c (Finsert_file_contents): Fix hook handling (bug#24340)
37248         * src/fileio.c (Finsert_file_contents): Run before-change-hooks before
37249         deleting the old buffer content.
37250         * src/lisp.h (del_range_byte):
37251         * src/insdel.c (del_range_byte): Drop the last argument.
37252         * src/fns.c (Fbase64_encode_region): Adjust accordingly.
37254 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
37256         Ibuffer: 'w' and 'B' default to buffer at current line
37258         See discussion in:
37259         https://lists.gnu.org/r/emacs-devel/2016-09/msg00384.html
37260         * lisp/ibuffer.el (ibuffer--near-buffers): New defun;
37261         return buffers near current line.
37262         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): Use it.
37263         Add argument ARG; if a non-zero integer, return next ARG buffers.
37264         Otherwise return the marked buffers.
37265         If there are not marked buffers, return buffer at current line
37266         without prompting the user.
37267         Use ibuffer-get-marked-buffers instead of ibuffer-map-marked-lines.
37268         Append to kill ring when last command was a kill-region.
37269         (ibuffer-copy-filename-as-kill): Idem.
37270         Simplify the code.
37271         Use ibuffer-buffer-file-name instead of buffer-file-name to
37272         include buffers in Dired mode.
37274 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
37276         dired-mark-extension: Unmark if called with C-u prefix
37278         See discussion in #Bug2518 and:
37279         https://lists.gnu.org/r/emacs-devel/2016-09/msg00711.html
37280         * lisp/dired-x.el (dired-mark-extension):
37281         Update interactive calls: a prefix arg C-u unmark files;
37282         a prefix C-u C-u prompt for MARKER-CHAR and mark files with it.
37283         (dired-mark-sexp):
37284         Show in the prompt that we are unmarking if called with a prefix argument.
37285         * doc/misc/dired-x.texi (Advanced Mark Commands):
37286         Update documentation for 'dired-mark-extension'.
37288 2016-10-02  Karl Fogel  <kfogel@red-bean.com>
37290         Document yank behavior in the right place
37292         * lisp/simple.el (yank): Document the handling of the
37293         `yank-handled-properties' and `yank-excluded-properties' variables,
37294         and the `yank-handler' text property.
37295         (yank-pop): Refer to `yank' now (bug#286)
37297         * lisp/subr.el (insert-for-yank): Refer to `yank' now.
37298         (insert-for-yank-1): Refer to `insert-for-yank' now.
37300         See this thread for discussion:
37302           https://lists.gnu.org/r/emacs-devel/2016-09/threads.html#00329
37303           From: Karl Fogel
37304           To: Emacs Devel
37305           Subject: Question about intended behavior of 'insert-for-yank-1'.
37306           Date: Mon, 12 Sep 2016 00:17:14 -0500
37307           Message-ID: <874m5lr92d.fsf@red-bean.com>
37309 2016-10-02  Philipp Stephani  <phst@google.com>
37311         Restart blink cursor timers on interval changes
37313         This prevents surprising behavior when timer interval customizations are
37314         only applied whenever the timers happen to be restarted (see Bug#24372).
37316         * lisp/frame.el (blink-cursor--start-idle-timer)
37317         (blink-cursor--start-timer): New functions.
37318         (blink-cursor-start, blink-cursor-check, blink-cursor-mode): Use
37319         the new helper functions.
37320         (blink-cursor-delay, blink-cursor-interval): Restart timers when
37321         the value is changed.
37323 2016-10-01  Philipp Stephani  <phst@google.com>
37325         Use a simple keyword for a non-nil argument
37327         The second argument of `run-with-idle-timer' is Boolean, i.e. only nil
37328         and non-nil values are distinguished.  Passing a number here is
37329         confusing.  Pass a descriptive symbol instead.
37331         * lisp/frame.el (blink-cursor-mode, blink-cursor-check): Use
37332         :repeat symbol instead of number for second argument of
37333         `run-with-idle-timer'
37335 2016-10-01  Philipp Stephani  <phst@google.com>
37337         Make querying to kill processes customizable
37339         Introduce a new customization option, `confirm-kill-processes', that
37340         users can set to nil if they don't want Emacs to nag them about killing
37341         processes.
37343         * lisp/files.el (confirm-kill-processes): New customization option.
37344         (save-buffers-kill-emacs): Use customization option.
37346         * test/lisp/files-tests.el
37347         (files-test--save-buffers-kill-emacs--confirm-kill-processes): Add
37348         test for new customization option.
37350         * doc/emacs/entering.texi (Exiting): Document new user option.
37352         * doc/lispref/processes.texi (Query Before Exit): Document new
37353         user option.
37355         * etc/NEWS: Document new user option.
37357 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
37359         Set :version of 'debugger-stack-frame-as-list'
37361         * lisp/cus-start.el (debugger-stack-frame-as-list): Give value to
37362         the ':version' attribute.
37364 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
37366         Bump Emacs version to 26.0.50
37368         * README:
37369         * configure.ac:
37370         * etc/NEWS:
37371         * etc/refcards/ru-refcard.tex:
37372         * msdos/sed2v2.inp:
37373         * src/msdos.c: Increment Emacs version to 26.0.50.
37374         * etc/NEWS.25: New file, copied from etc/NEWS with post-25.1 stuff
37375         moved to etc/NEWS.
37377 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
37379         Avoid compilation warning on MinGW
37381         * src/w32.c: Include string.h, needed for the prototype of
37382         'strerror', shadowed by 'sys_strerror'.  This avoids a compiler
37383         warning about "no previous prototype".  The string.h header
37384         must be included after ms-w32.h, but before "#undef strerror".
37386 2016-09-30  Alan Third  <alan@idiocy.org>
37388         Fix compatibility with macOS 10.12 pmset (bug#24537)
37390         * lisp/battery.el (battery-pmset): Recognize and ignore battery id if
37391         present in output.
37393 2016-09-30  Paul Eggert  <eggert@cs.ucla.edu>
37395         Limit <config.h>’s includes
37397         This follows up on recent problems with the fact that config.h
37398         includes stdlib.h etc.; some files need to include stdlib.h later.
37399         config.h generally should limit itself to includes that are
37400         universally safe; outside of MS-Windows, only stdbool.h makes
37401         the cut among the files currently included.  So, move the
37402         other includes to just the files that need them (Bug#24506).
37403         * configure.ac (config_opsysfile): Remove, as this generic hook
37404         is no longer needed.
37405         * lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
37406         * src/w32proc.c (_GNU_SOURCE):
37407         Remove, as it’s OK for config.h to do this now.
37408         * src/conf_post.h: Include <ms-w32.h>, instead of the generic
37409         config_opsysfile, for simplicity as this old way of configuring is
37410         now done only for the MS-Windows port.  Do not include <ms-w32.h>
37411         if DEFER_MS_W32_H, for the benefit of the few files that want its
37412         effects later.  Do not include <alloca.h>, <string.h>, or
37413         <stdlib.h>.  Other files modified to include these headers as
37414         needed, or to not include headers that are no longer needed.
37415         * src/lisp.h: Include <alloca.h> and <string.h> here, since
37416         some of the inline functions need them.
37417         * src/regex.c: Include <alloca.h> if not emacs.  (If emacs,
37418         we can rely on SAFE_ALLOCA.)  There is no longer any need to
37419         worry about HAVE_ALLOCA_H.
37420         * src/unexmacosx.c: Rely on config.h not including stdlib.h.
37421         * src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
37422         Define before including <config.h> first, and include <ms-w32.h>
37423         after the troublesome headers.
37425 2016-09-30  Vasilij Schneidermann  <v.schneidermann@gmail.com>
37427         New user option 'debugger-stack-frame-as-list'
37429         * src/eval.c (syms_of_eval) <debugger-stack-frame-as-list>: New
37430         variable.
37431         * lisp/cus-start.el (standard): Add debugger-stack-frame-as-list.
37432         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Adjust
37433         backtrace processing for the value of debugger-stack-frame-as-list.
37434         * lisp/emacs-lisp/edebug.el (edebug-backtrace): Adjust backtrace
37435         processing for the value of debugger-stack-frame-as-list.
37436         * doc/lispref/debugging.texi (Internals of Debugger): Document
37437         debugger-stack-frame-as-list.
37438         * etc/NEWS: Mention 'debugger-stack-frame-as-list'.
37440 2016-09-30  Aurelien Aptel  <aaptel@suse.com>
37442         * src/alloc.c: call only non-null finalizers
37444 2016-09-30  Eli Zaretskii  <eliz@gnu.org>
37446         Avoid compiler warnings in image.c on MS-Windows
37448         * src/image.c (DrawText, g_type_init) [WINDOWSNT]: Avoid compiler
37449         warning about unused macros.
37451 2016-09-30  Paul Rankin  <hello@paulwrankin.com>
37453         * lisp/outline.el (outline-invisible-p): Only return `t' for
37454         the 'outline property.
37456 2016-09-29  Paul Eggert  <eggert@cs.ucla.edu>
37458         Fix problems found by static checking --with-ns
37460         This is for Fedora 24 when configured with --enable-gcc-warnings.
37461         Although it does not fix all the problems, it fixes many of them.
37462         * src/frame.c (XParseGeometry):
37463         * src/nsterm.m (mouseDown:):
37464         Mark locals with UNINIT to pacify --enable-gcc-warnings.
37465         * src/image.c (PIX_MASK_DRAW, DefaultDepthOfScreen):
37466         Remove unused macros.
37467         (slurp_file xbm_scan, xbm_read_bitmap_data, xbm_load_image)
37468         (xbm_file_p, xbm_load, xpm_scan, xpm_make_color_table_v)
37469         (xpm_put_color_table_v, xpm_get_color_table_v)
37470         (xpm_make_color_table_h, xpm_put_color_table_h)
37471         (xpm_get_color_table_h, xpm_load_image, xpm_load)
37472         (pbm_next_char, pbm_scan_number, pbm_load, svg_load)
37473         (svg_load_image):
37474         * src/nsfns.m (x_get_string_resource):
37475         * src/nsimage.m (ns_image_from_XBM):
37476         Fix pointer signedness problems.
37477         * src/image.c (xpm_load_image, x_build_heuristic_mask, pbm_load)
37478         (imagemagick_load_image): Omit unused locals.
37479         * src/nsfns.m (ns_send_types, ns_return_types, ns_drag_types)
37480         (Fx_open_connection):
37481         * src/nsfont.m (ns_antialias_threshold):
37482         Move extern decl to nsterm.h so it can be checked.
37483         * src/nsmenu.m (svcsMenu, dockMenu):
37484         Move to the only file that uses them, so they can be static.
37485         * src/nsterm.h (find_and_call_menu_selection):
37486         * src/nsterm.m (x_set_frame_alpha):
37487         Omit duplicate decls.
37488         * src/nsterm.h (ns_dump_glyphstring): Mark as EXTERNALLY_VISIBLE.
37489         * src/nsfns.m (ns_tooltip, ns_display_info_for_name)
37490         (ns_set_name_as_filename, x_set_menu_bar_lines)
37491         (x_set_tool_bar_lines, x_set_internal_border_width):
37492         * src/nsterm.m (ns_drag_types, ns_draw_text_decoration):
37493         Now static.
37494         * src/nsfns.m (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp):
37495         * src/nsterm.m (ns_free_indexed_color, ns_color_to_lisp):
37496         Remove; unused.
37497         * src/nsfont.m (ns_dump_glyphstring):
37498         * src/nsterm.m (hide_bell, ns_get_color, ns_color_to_lisp)
37499         (ns_clear_frame, keyDown:):
37500         Fix signedness problem with printf arg.
37501         * src/nsterm.h (ns_input_events, ns_finish_events):
37502         * src/nsterm.m (ns_finish_events, hide_bell):
37503         Prototype the decls.
37504         * src/nsterm.m (NSMenuDidBeginTrackingNotification):
37505         Omit unnecessary decl.
37506         (dockMenu):
37507         (mainMenu) [NS_IMPL_COCOA]: Now static, and in this file.
37508         (ns_dumpglyphs_box_or_relief, changeFont:, initFrameFromEmacs:)
37509         (toggleFullScreen:): Use FACE_FROM_ID instead of
37510         FACE_FROM_ID_OR_NULL in contexts where the caller expects the
37511         result to be non-null.
37512         (applicationShouldTerminate:): Fix misleading indentation.
37514 2016-09-28  Mark Oteiza  <mvoteiza@udel.edu>
37516         Turn on more lexical-binding
37518         * lisp/dom.el:
37519         * lisp/faces.el:
37520         * lisp/htmlfontify.el: Turn on lexical-binding.
37521         (htmlfontify-string): Use pushnew instead of add-to-list.
37522         * lisp/info-xref.el:
37523         * lisp/isearch.el:
37524         * lisp/man.el:
37525         * lisp/ps-def.el:
37526         * lisp/ps-print.el:
37527         * lisp/replace.el: Turn on lexical-binding.  Require cl-lib at compile
37528         time.
37529         (multi-occur): Use cl-pushnew instead of add-to-list.
37530         (replace-match-string-symbols): Remove unused lexical variable.
37531         (replace-search, replace-highlight): Fix argument shadowing.
37532         * lisp/sort.el:
37533         * lisp/xml.el: Turn on lexical-binding.
37534         (xml--parse-buffer): Use push instead of add-to-list.
37535         * lisp/xt-mouse.el: Turn on lexical-binding.
37537 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
37539         * admin/notes/bug-triage: Do not mention closed bugs
37541         * admin/notes/bug-triage: Do not mention closed bugs, they are
37542         suppressed by default in debbugs-{gnu,org}.
37544 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
37546         * etc/PROBLEMS: Remove problem Bug#22814, again.
37548 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
37550         Stick with debbugs-supported tags in triage
37552         * admin/notes/bug-triage: Stick to the tag "unreproducible", which
37553         debbugs supports, rather than suggesting "doneunreproducible" or
37554         "unreproducable".
37556 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
37558         Merge from origin/emacs-25
37560         9fc9988 Improve documentation of 'expand-abbrev' and wrapper hooks
37561         c14a1d4 Minor copyedits of MS-Windows installation instructions
37562         f281924 Fix display of cursor when 'blink-cursor-delay' has small value
37564         # Conflicts:
37565         #       lisp/minibuffer.el
37567 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
37569         Merge from origin/emacs-25
37571         0ae9a81 Document 'timerp'
37572         2c72c46 Improve documentation of overlay priorities
37573         f6fa160 Fix 'dired-compress-files'
37574         2b8c5f0 Update commentary of STRING_CHAR and FETCH_MULTIBYTE_CHAR
37576         # Conflicts:
37577         #       lisp/dired.el
37578         #       src/buffer.h
37579         #       src/character.h
37581 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
37583         Merge from origin/emacs-25
37585         cf9e174 Document the optional zlib library in MS-Windows builds
37586         84eb144 ; * admin/notes/unicode: Mention BidiCharacterTest.txt.
37587         73c67dd Fix tagging of DEFUN by etags
37588         ea1960b Avoid resetting track-mouse by mouse clicks
37589         505fef3 Improve nt/README.W32 instructions
37590         1229cc4 Document that desktop file overrides frame parameters
37591         f0eb70d ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 release
37593         # Conflicts:
37594         #       ChangeLog.2
37595         #       admin/notes/unicode
37596         #       lisp/ldefs-boot.el
37598 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
37600         Merge from origin/emacs-25
37602         0ffc9ce Update admin/authors.el
37603         0ad7410 Update Antinews in ELisp manual
37604         ea0f750 Fix comments on window height macros
37605         0bbdeed Fix 'url-http-create-request' when cookies are used
37606         0045998 Fix cross reference in frames.texi
37607         1392894 ; * etc/DEBUG: Minor copyedits.
37608         304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB.
37609         56bf7d7 Fix regexp-opt documentation (bug #17862)
37610         803ad6f ; Fix documentation of seq-subseq
37611         ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc...
37612         88ea396 ; Spelling fixes
37613         17197d0 Fix tags-query-replace docstring
37614         80a7f8b Clarify documentation of precision in format specs
37615         88a5052 Improve and clarify documentation of subprocesses
37616         89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247).
37618         # Conflicts:
37619         #       etc/PROBLEMS
37620         #       src/process.c
37622 2016-09-26  Michael Albinus  <michael.albinus@gmx.de>
37624         * lisp/net/tramp-compat.el (tramp-compat-funcall): Don't use `subrp'.
37626 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
37628         Fix 'dired-mark-extension' with prefix argument
37630         * lisp/dired-x.el (dired-mark-extension): Allow to specify
37631         MARKER-CHAR interactively as a string, not as a character's
37632         codepoint.  (Bug#24518)
37634         * doc/misc/dired-x.texi (Advanced Mark Commands): Document the
37635         behavior when invoked with a prefix arg.
37637 2016-09-24  Simen Heggestøyl  <simenheg@gmail.com>
37639         Support completion of classes and IDs in CSS mode
37641         * lisp/textmodes/css-mode.el (css-class-list-function): New variable
37642         holding the function to call for retrieving completions of class
37643         names.
37644         (css-id-list-function): New variable holding the function to call for
37645         retrieving completions of IDs.
37646         (css--foreign-completions): New function for retrieving completions
37647         from other buffers.
37648         (css--complete-selector): Support completing HTML class names and IDs
37649         from other buffers in addition to completing HTML tags.
37651         * lisp/textmodes/sgml-mode.el (html--buffer-classes-cache): New
37652         variable holding a cache for `html-current-buffer-classes'.
37653         (html--buffer-ids-cache): New variable holding a cache for
37654         `html-current-buffer-ids'.
37655         (html-current-buffer-classes): New function returning a list of class
37656         names used in the current buffer.
37657         (html-current-buffer-ids): New function returning a list of IDs used
37658         in the current buffer.
37659         (html-mode): Set `css-class-list-function' and `css-id-list-function'
37660         to `html-current-buffer-classes' and `html-current-buffer-ids'
37661         respectively.
37663 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
37665         Update test suite files due to removal of test/lisp/legacy
37667         * test/README: Reference file-organization.org.
37668         * test/file-organization.org: Remove the description of files in
37669         the lisp/legacy/ directory.
37671 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
37673         Incorporate syntax-tests in lisp-tests.
37675         * test/lisp/emacs-lisp/lisp-tests.el: Add tests from
37676         test/lisp/legacy/syntax-tests.el.
37677         * test/lisp/legacy/syntax-tests.el: File deleted.
37679 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
37681         Incorporate occur-tests in replace-tests
37683         * test/lisp/replace-tests.el: Add tests from
37684         test/lisp/legacy/occur-tests.el.
37685         * test/lisp/legacy/occur-tests.el: File deleted.
37687 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
37689         Incorporate lexbind-tests.el in bytecomp-test.el
37691         * test/lisp/emacs-lisp/bytecomp-tests.el: Added tests from
37692         test/lisp/legacy/lexbind-tests.el.
37693         * test/lisp/legacy/lexbind-tests.el: File deleted.
37695 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
37697         Improve integer overflow handling a bit
37699         * src/charset.c (read_hex): Use INT_LEFT_SHIFT_OVERFLOW for clarity.
37700         The machine code is the same on my platform.
37701         * src/doprnt.c (doprnt):
37702         * src/emacs-module.c (module_funcall):
37703         * src/font.c (font_intern_prop):
37704         * src/keyboard.c (Frecursion_depth):
37705         * src/lread.c (read1):
37706         Use WRAPV macros instead of checking overflow by hand.
37707         * src/editfns.c (hi_time, time_arith, decode_time_components):
37708         * src/emacs-module.c (Fmodule_load):
37709         Simplify by using FIXNUM_OVERFLOW_P.
37710         * src/emacs-module.c: Include intprops.h.
37711         * src/xdisp.c (percent99): New function.
37712         (decode_mode_spec): Use it to simplify overflow avoidance and
37713         formatting of %p and %P.
37715 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
37717         Incorporate core-elisp-tests in lisp-tests
37719         * test/lisp/emacs-lisp/lisp-tests.el: Added tests from
37720         test/lisp/legacy/core-elisp-tests.el.
37721         * test/lisp/legacy/core-elisp-tests.el: File removed.
37723 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
37725         Move coding-tests.el and decoder-test.el to their places
37727         * test/src/coding-tests.el: Added all the tests from
37728         test/lisp/legacy/decoder-tests.el.
37729         * test/lisp/legacy/decoder-tests.el: File deleted.
37731 2016-09-23  Vibhav Pant  <vibhavp@gmail.com>
37733         Use correct TYPE value for displaying error messages in (erc-display-message)
37735 2016-09-23  Eli Zaretskii  <eliz@gnu.org>
37737         Bump the version to 25.2.50
37739         * README:
37740         * configure.ac:
37741         * etc/NEWS:
37742         * msdos/sed2v2.inp: Increment the Emacs version to 25.2.50.
37744 2016-09-22  Tino Calancha  <tino.calancha@gmail.com>
37746         ibuffer-do-view-other-frame: Display each buffer in a new frame
37748         * lisp/ibuffer.el (ibuffer-do-view-1):
37749         When TYPE equals 'other-frame, then display each buffer
37750         in a new frame (Bug#24086).
37752 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
37754         Update from gnulib
37756         This incorporates:
37757         2016-09-22 stdint: port to GCC 7
37758         2016-09-22 limits-h, stdint: don't assume extensions
37759         * doc/misc/texinfo.tex, m4/limits-h.m4, m4/stdint.m4: Copy from gnulib.
37761 2016-09-22  Alan Mackenzie  <acm@muc.de>
37763         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Fix coding error
37765 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
37767         Port recent flexmember changes to NetBSD
37769         The NetBSD library supports localtime_rz directly, and without
37770         this change 'configure' omitted the flexmember test that is marked
37771         as conditional on localtime_rz.  Emacs now needs to use
37772         flexmember.m4 even when localtime_rz works.
37773         Problem reported by Thomas Klausner.
37774         * admin/merge-gnulib (GNULIB_MODULES): Add flexmember.
37775         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
37777 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
37779         * doc/misc/texinfo.tex: Copy from gnulib.
37781 2016-09-21  Michael Albinus  <michael.albinus@gmx.de>
37783         * lisp/net/tramp.el (tramp-clear-passwd): Call also `auth-source-forget'.
37785 2016-09-20  Paul Eggert  <eggert@cs.ucla.edu>
37787         Use flexmembers on IBM XL C for AIX
37789         This removes a workaround where Emacs did not use flexible
37790         array members when compiled with IBM XL C.  Instead, avoid
37791         the problem by making the aliasing issues more obvious to
37792         this compiler.
37793         * admin/merge-gnulib: Don’t remove m4/flexmember.m4.
37794         * m4/flexmember.m4: Copy from gnulib.
37795         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Remove workaround.
37796         * src/alloc.c (allocate_string_data): Rephrase to avoid aliasing
37797         problem that would otherwise mess up code generated for flexible
37798         array members by IBM XL C for AIX, V12.1.
37799         * src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Remove; now done
37800         by gnulib code.
37802 2016-09-19  Michael Albinus  <michael.albinus@gmx.de>
37804         Fix a problem with Tramp when the temporary dir isn't C:/Temp on w32
37806         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): Don't use
37807         `tramp-drop-volume-letter' any longer, it causes collateral
37808         damages.  Reported by Chris Zheng <chriszheng99@gmail.com>.
37810 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
37812         Port January __morecore changes to AIX 7.1
37814         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE, __morecore)
37815         (__after_morecore_hook):
37816         * src/ralloc.c (__morecore):
37817         Declare if DOUG_LEA_MALLOC is not defined, not if HAVE_MALLOC_H is
37818         not defined.  <malloc.h> does not declare these in AIX 7.1.
37820 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
37822         Define _GNU_SOURCE in files delaying config.h
37824         Problem reported by Richard Copley in:
37825         https://lists.gnu.org/r/emacs-devel/2016-09/msg00440.html
37826         * src/w32.c, src/w32notify.c, src/w32proc.c (_GNU_SOURCE):
37827         Define early.
37829 2016-09-17  Eli Zaretskii  <eliz@gnu.org>
37831         Update the bidi test code and data
37833         * test/manual/BidiCharacterTest.txt: Import the version from
37834         Unicode Standard 9.0.0.
37835         * test/manual/biditest.el (biditest-generate-testfile): Allow 'x'
37836         in the 4th field of the test data.
37838 2016-09-17  Tino Calancha  <tino.calancha@gmail.com>
37840         ibuffer-do-toggle-read-only: Fix unused argument
37842         * lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call
37843         'read-only-mode' with ARG when its an integer.
37844         Clarify the meaning of ARG in doc string.
37846 2016-09-17  Alan Mackenzie  <acm@muc.de>
37848         Improve accuracy of line/column numbers in byte compiler's warning messages.
37850         * lisp/emacs-lisp/bytecomp.el (byte-compile-set-symbol-position): ensure new
37851         value of byte-compile-last-position is not lower than old value.
37852         (byte-compile-function-warn): call byte-compile-set-symbol-position.
37854 2016-09-17  Michael Albinus  <michael.albinus@gmx.de>
37856         Minor Tramp tweaks
37858         * lisp/net/tramp.el (tramp-get-buffer): Reuse connection
37859         property "process-buffer" if already existing.
37860         (tramp-connectable-p): Suppress debug messages.
37862 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
37864         Define _GNU_SOURCE in unexmacosx.c
37866         Problem reported by Bob Halley in:
37867         https://lists.gnu.org/r/emacs-devel/2016-09/msg00427.html
37868         * src/unexmacosx.c (_GNU_SOURCE): Define if not already defined.
37870 2016-09-16  Alan Mackenzie  <acm@muc.de>
37872         C Mode: Fix mis-fontification of macro invocation as function declaration
37874         This happened with a macro invocation which was followed by a statement block
37875         in braces.
37877         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 11: distinguish
37878         between contexts nil and top, being less permissive in the former case.
37879         (c-just-after-func-arglist-p): call c-forward-decl-or-cast-1 with context top.
37881 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
37883         Improve the doc string of 'format'
37885         * src/editfns.c (Fformat): Fix ambiguity in the doc string's usage
37886         of a literal period.  (Bug#24407)
37888 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
37890         Improve doc strings in whitespace.el
37892         * lisp/whitespace.el (whitespace-mode, whitespace-newline-mode)
37893         (global-whitespace-mode, global-whitespace-newline-mode): Improve
37894         the doc strings.  (Bug#24413)
37896 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
37898         Improve detectability of 'next-logical-line' and 'previous-logical-line'
37900         * lisp/simple.el (next-line, previous-line): Mention
37901         'next-logical-line' and 'previous-logical-line' in the doc
37902         strings.  (Bug#24443)
37904 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
37906         Update from gnulib
37908         This incorporates:
37909         2016-09-16 extensions: fix typo in comment
37910         2016-09-16 stdio: don't redefine __USE_MINGW_ANSI_STDIO
37911         * m4/extensions.m4, m4/stdio_h.m4: Copy from gnulib.
37913 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
37915         Prefer now-standard int width macros
37917         * src/data.c (ULL_WIDTH):
37918         * src/lisp.h (EMACS_INT_WIDTH, BITS_PER_BITS_WORD):
37919         * src/lread.c (read_integer):
37920         * src/term.c (produce_glyphless_glyph):
37921         * src/xterm.c (x_send_scroll_bar_event):
37922         Use *_WIDTH macros instead of CHAR_BIT * sizeof.
37923         * src/data.c (ULL_WIDTH): Rename from BITS_PER_ULL for consistency
37924         with the *_WIDTH standard macros.  All uses changed.
37925         * src/gmalloc.c (INT_BIT): Remove.  All uses replaced with INT_WIDTH.
37926         * src/lisp.h (EMACS_INT_WIDTH): Rename from BITS_PER_EMACS_INT
37927         for consistency with the *_WIDTH standard macros.  All uses changed.
37928         (BITS_PER_CHAR): Remove; all uses replaced by CHAR_BIT.  This must
37929         be the same as CHAR_WIDTH and avoids confusion with Elisp
37930         char-width, which counts columns not bits.
37931         (BITS_PER_SHORT): Remove; all uses replaced by SHRT_WIDTH.
37932         (BITS_PER_LONG): Remove; all uses replaced by LONG_WIDTH.
37933         * src/lread.c: Do not include limits.h since CHAR_BIT is no longer
37934         used directly.
37936 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
37938         Update from gnulib
37940         This incorporates:
37941         2016-09-15 stdint: support new _WIDTH macros
37942         2016-09-15 limits-h: new module
37943         2016-09-15 sys_types: avoid glibc 2.25 warnings about major()
37944         2016-09-15 extensions: port to more ISO C TSes
37945         2016-09-13 intprops: new macro TYPE_WIDTH
37946         2016-09-13 extensions: port to recent ISO C TRs
37947         * .gitignore: Add lib/limits.h.
37948         * doc/misc/texinfo.tex, lib/ftoastr.h, lib/intprops.h:
37949         * lib/stdint.in.h, m4/extensions.m4, m4/stdint.m4, m4/stdio_h.m4:
37950         * m4/sys_types_h.m4: Copy from gnulib.
37951         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
37952         * lib/limits.in.h, m4/limits-h.m4: New files, copie from gnulib.
37953         * nt/gnulib.mk: Merge changes from lib/gnulib.mk.
37955 2016-09-15  Michael Albinus  <michael.albinus@gmx.de>
37957         Rework fixing Bug#24432
37959         * lisp/net/tramp.el (tramp-get-buffer): Set connection property
37960         "process-buffer" in order to mark connection as active.
37962         * lisp/net/tramp-cache.el (tramp-get-hash-table)
37963         (tramp-set-connection-property)
37964         (tramp-dump-connection-properties): Do not use "active" property.
37965         (tramp-list-connections): Use "process-buffer" property.
37967         * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Flush process
37968         properties prior deletion of process.
37970 2016-09-14  Johan Bockgård  <bojohan@gnu.org>
37972         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix debug spec (Bug#24430).
37974         * lisp/emacs-lisp/edebug.el (defun): Fix debug spec.
37976 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
37978         Avoid compiler warning on MS-Windows due to clone_file
37980         * src/fileio.c (clone_file): Condition on !WINDOWSNT, since the
37981         call to it is not compiled in that build, and having it defined
37982         causes compiler warnings.
37984 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
37986         Avoid aborts in GC due to abort_on_gc
37988         * src/lisp.h:
37989         * src/print.c (Fprin1_to_string):
37990         * src/eval.c (signal_or_quit):
37991         * src/alloc.c (garbage_collect_1): Remove declarations, setting,
37992         and testing the value of abort_on_gc.  It is no longer needed, and
37993         using it causes rare aborts in GC for no good reason.  (Bug#23912)
37995 2016-09-14  Michael Albinus  <michael.albinus@gmx.de>
37997         Fix Bug#24432
37999         * lisp/net/tramp-cache.el (tramp-get-hash-table): Initialize a
38000         connection as inactive.
38001         (tramp-set-connection-property): Make the connection active.
38002         (tramp-dump-connection-properties): Don't save "active" property.
38003         (tramp-list-connections): List only active connections.  (Bug#24432)
38005 2016-09-14  Lars Ingebrigtsen  <larsi@gnus.org>
38007         Don't bug out on all-whitespace URLs
38009         * lisp/net/shr.el (shr-expand-url): Don't bug out on
38010         degenerate all-whitespace URLs.
38012 2016-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
38014         sieve-manage.el: Rename sieve-manage-ignore-broken-tls
38016         * lisp/net/sieve-manage.el (sieve-manage-ignore-starttls):
38017         Rename from sieve-manage-ignore-broken-tls.  If it is set,
38018         sieve-manage will never use STARTTLS even if the server says
38019         it is capable (but may be broken).
38021 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
38023         Port to ISO/IEC TS 18661-1:2014
38025         * src/character.h (CHARACTER_WIDTH): Rename from CHAR_WIDTH.
38026         All uses changed.
38028 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
38030         dired-jump: Expand file-name before dired-goto-file call
38032         Command dired-goto-file requires its argument to be an absolute
38033         file name.  Interactively FILE-NAME is read with read-file-name,
38034         which could return an abbreviated file name (Bug#24409).
38035         * lisp/dired-x.el (dired-jump): Use expand-file-name on FILE-NAME.
38036         Clarify in doc string the meaning of arg FILE-NAME.
38038 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
38040         Add test for Bug#21454
38042         * test/lisp/legacy/files-tests.el (files-test-bug-21454): New test.
38044 2016-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>
38046         * lisp/net/sieve-manage.el (sieve-manage-ignore-broken-tls): Add :version.
38048 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
38050         sieve.el: Make the buffer to edit unmodified initially (bug#24423)
38052         * lisp/net/sieve.el (sieve-edit-script):
38053         Make the buffer to edit be not modified-p initially (bug#24423).
38055 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
38057         sieve-manage.el: Allow user to avoid STARTTLS capability test (bug#24422)
38059         * lisp/net/sieve-manage.el
38060         (sieve-manage-ignore-broken-tls): New user option.
38061         (sieve-manage-open-server):
38062         Don't test STARTTLS capability if the option is set (bug#24422).
38064 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
38066         Fix compiler thinking width and height may be unitialized in frame.c
38068         This fixes the following warning:
38070                 frame.c: In function ‘x_set_frame_parameters’:
38071                 frame.c:3329:25: error: ‘width’ may be used uninitialized in
38072                         this function [-Werror=maybe-uninitialized]
38073                        adjust_frame_size (f, width_change ? width : -1,
38074                                  ^
38076         * src/frame.c (x_set_frame_parameters): Drop width_changed and
38077         height_changed variables in favour of storing that information in
38078         width and height variables.
38080 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
38082         Fix compiler thinking tmpdir may be unitialized in emacsclient
38084         This fixes the following warning:
38086                 emacsclient.c: In function ‘set_local_socket’:
38087                 /usr/include/x86_64-linux-gnu/bits/string3.h:111:3: error:
38088                         ‘tmpdir’ may be used uninitialized in this function
38089                         [-Werror=maybe-uninitialized]
38090                    return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
38091                    ^
38092                 emacsclient.c:1197:17: note: ‘tmpdir’ was declared here
38093                      const char *tmpdir;
38095         * lib-src/emacsclient.c (set_local_socket): Get rid of use_tmpdir
38096         variable and instead use tmpdir being non-NULL as sign that it should
38097         be used.
38099 2016-09-12  Tino Calancha  <tino.calancha@gmail.com>
38101         image-dired: Signal an error before calling a missing executable
38103         Reverts commit ca473907
38104         Add a defun to check if an executable exists, and call it
38105         on each function using an external program: when the executable
38106         is not available signal an error.
38107         See discussion on:
38108         https://lists.gnu.org/r/emacs-devel/2016-09/msg00135.html
38109         * lisp/image-dired.el (image-dired--check-executable-exists): New defun.
38110         Throw and error when the executable arg is missing.
38111         (image-dired-display-image, image-dired-rotate-thumbnail)
38112         (image-dired-rotate-original, image-dired-set-exif-data)
38113         (image-dired-get-exif-data):
38114         Use it.
38116 2016-09-12  Eli Zaretskii  <eliz@gnu.org>
38118         Fix daemon shutdown when emacs-kill-hooks ask questions
38120         * lisp/server.el (server-start): Put the server's kill-emacs-hook
38121         last, to allow other hooks to have a frame to interact with the
38122         user.  (Bug#24326)
38124 2016-09-12  Paul Eggert  <eggert@cs.ucla.edu>
38126         * src/casefiddle.c (casify_word): Simplify.
38128         * src/casefiddle.c (casify_word): Return Qnil.
38130 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
38132         Refactor common code in {upcase,downcase,capitalize}-word functions
38134         * src/casefiddle.c (operate_on_word): Removed in favour of…
38135         (casify_word) …new function which does what operate_on_word did plus
38136         what all of the common code from *-word functions.
38137         (upcase-word, downcase-word, capitalize-word): Move code common between
38138         those functions (pretty much the whole body of those functions) into
38139         casify_word and use that instead of now deleted operate_on_word.
38141 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
38143         * doc/lispref/files.texi: Remove @vindex.
38145 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
38147         Remove unnecessary ref to coreutils manual
38149         * doc/lispref/files.texi: Document write-region-inhibit-fsync.
38151 2016-09-11  Alan Mackenzie  <acm@muc.de>
38153         Correctly fontify C++ direct initializations with parens inside functions
38155         Or, more clearly, when something looks like a function declaration and it's
38156         inside a function, fontify it as a direct initialization.
38158         For this purpose, introduce a "brace stack" for each buffer, where an entry on
38159         the brace stack states how deeply nested a particular position is inside
38160         braces inside a "top level", which includes classes and namespaces.
38162         Also introduce a new "context", "top", with which c-font-lock-declarations
38163         signals to c-forward-decl-or-cast-1 that point is at the top level.
38165         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): add
38166         c-truncate-bs-cache.
38167         (c-flat-decl-block-kwds, c-brace-stack-thing-key, c-brace-stack-no-semi-key)
38168         (c-type-decl-operator-prefix-key): new language constants/variables.
38170         * lisp/progmodes/cc-engine.el (c-bs-interval, c-bs-cache, c-bs-cache-limit)
38171         (c-bs-prev-pos, c-bs-prev-stack): New mostly local variables for the brace
38172         stack cache.
38173         (c-init-bs-cache, c-truncate-bs-cache, c-truncate-bs-cache, c-brace-stack-at)
38174         (c-bs-at-toplevel-p): New functions which manipulate the brace stack (cache).
38175         (c-find-decl-prefix-search): Keep track of whether we're at top level.
38176         (c-find-decl-spots): New local variable cfd-top-level which records what it
38177         says.  On calling cfd-fun, pass cfd-top-level as an additional argument.
38178         (c-forward-declarator): Add new element DECORATED to the result list.  Set it
38179         to non-nil when a match for c-type-decl-operator-prefix-key is found.
38180         (c-forward-decl-or-cast-1): Handle the newly introduced context "top".
38181         Introduce "CASE 9.5", which recognizes direct initializations.
38183         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
38184         (c-font-lock-enum-tail, c-font-lock-cut-off-declarators)
38185         (c-font-lock-enclosing-decls, c-simple-decl-matchers, c-basic-matchers-after):
38186         Add appropriate `not-top' argument to calls to c-font-lock-declarators.
38187         (c-font-lock-declarators): Additional parameter `not-top'.  Use not-top to
38188         participate in the decision whether to fontify an identifier as a function or
38189         a variable.
38190         (c-font-lock-declarations): The internal lambda function takes an additional
38191         argument `toplev' from c-find-decl-spots, which it uses in determining the
38192         "context" of a declaration.  Add appropriate `not-top' argument to calls to
38193         c-font-lock-declarators.
38194         (c-font-lock-objc-methods): Add extra parameter to internal lambda function,
38195         like for c-font-lock-declarators.
38197         * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the brace stack
38198         cache.
38200 2016-09-11  Eli Zaretskii  <eliz@gnu.org>
38202         Avoid signaling errors when computing "Stop" in GDB menu
38204         * lisp/progmodes/gdb-mi.el (gdb-show-stop-p): Don't assume
38205         'gdb-running-threads-count' must have a numeric value.
38206         (Bug#24414)
38208 2016-09-11  Philipp Stephani  <phst@google.com>
38210         Stop calling ‘byte-compile-log-warning’
38212         For errors, use ‘byte-compile-report-error’ instead so that the error
38213         is registered and causes compilation to fail (Bug#24359).
38215         For warnings, use ‘byte-compile-warn’ instead so that
38216         ‘byte-compile-error-on-warn’ is honored (Bug#24360).
38218         * lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled)
38219         (macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of
38220         ‘byte-compile-log-warning’.
38222         * lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf)
38223         (byte-compile-setq, byte-compile-funcall): Use
38224         ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’.
38225         (byte-compile-log-warning): Convert comment to documentation
38226         string.  Explain that the function shouldn’t be called directly.
38227         (byte-compile-report-error): Add optional FILL argument.
38229         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
38230         (cconv--analyze-function, cconv-analyze-form): Use
38231         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
38233         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use
38234         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
38236         * lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead
38237         of ‘byte-compile-log-warning’.
38238         (do-after-load-evaluation): Use ‘byte-compile-warn’ instead of
38239         ‘byte-compile-log-warning’.
38241 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
38243         * etc/NEWS: Remove comment lost in emacs-25 merge.
38245 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
38247         Document file synchronization issues
38249         * doc/lispref/files.texi (Files and Storage): New section.
38251 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
38253         copy-file now uses GNU/Linux file cloning
38255         From a suggestion by Kieran Colford (see Bug#23904).
38256         * configure.ac: Check for linux/fs.h.
38257         * src/fileio.c [HAVE_LINUX_FS_H]: Include sys/ioctl.h and linux/fs.h.
38258         (clone_file): New function.
38259         (Fcopy_file): Use it.
38261 2016-09-10  Alan Third  <alan@idiocy.org>
38263         Invert y coord of NS image files (bug#7847)
38265         * src/nsterm.m (ns_dumpglyphs_image): Invert y co-ordinate of the image
38266         when compositing.
38268 2016-09-10  Noam Postavsky  <npostavs@gmail.com>
38270         Don't require isearch-update before isearch-done
38272         It is useful to be able to call `isearch-done' unconditionally to
38273         ensure a non-isearching state.
38275         * lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
38276         is a live buffer before using it (Bug #21091).
38277         * test/lisp/isearch-tests.el (isearch--test-done): Test it.
38279 2016-09-09  Simen Heggestøyl  <simenheg@gmail.com>
38281         * lisp/emacs-lisp/ring.el: Use lexical-binding
38283         * lisp/emacs-lisp/ring.el (ring-elements): Don't use the RESULT
38284         argument of `dotimes' when the iteration variable isn't referred by
38285         it.
38286         (ring-member): Don't pass nil as the RESULT argument of `dotimes'
38287         since it's the default.
38289 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
38291         Split regex character class test into smaller chunks
38293         Having one test for all character classes it is not always trivial to
38294         determine which class is failing.  This happens when failure is caused
38295         by ‘(should (equal (point) (point-max)))’ not being met.
38297         With per-character class tests, it is immidiatelly obvious which test
38298         causes issues plus tests for all classes are run even if some of them
38299         fail.
38301         * test/src/regex-tests.el (regex-character-classes): Delete and split
38302         into…
38303         (regex-tests-alnum-character-class, regex-tests-alpha-character-class,
38304         regex-tests-ascii-character-class, regex-tests-blank-character-class,
38305         regex-tests-cntrl-character-class, regex-tests-digit-character-class,
38306         regex-tests-graph-character-class, regex-tests-lower-character-class,
38307         regex-tests-multibyte-character-class,
38308         regex-tests-nonascii-character-class,
38309         regex-tests-print-character-class, regex-tests-punct-character-class,
38310         regex-tests-space-character-class,
38311         regex-tests-unibyte-character-class,
38312         regex-tests-upper-character-class, regex-tests-word-character-class,
38313         regex-tests-xdigit-character-class): …new tests.
38315 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
38317         Don’t allocate char-table’s extra slots in regexp-out-charset
38319         * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Do not use
38320         'case-table as charmap char-table’s property.  The function has nothing
38321         to do with casing and in addition using 'case-table causes unnecessary
38322         extra slots to be allocated which ‘regexp-opt-charset’ does not use.
38324 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
38326         Remove dead loop iterations in regex.c
38328         RE_CHAR_TO_MULTIBYTE(c) yields c for ASCII characters and a byte8
38329         character for c ≥ 0x80.  Furthermore, CHAR_BYTE8_P(c) is true only
38330         for byte8 characters.  This means that
38332                 c = RE_CHAR_TO_MULTIBYTE (ch);
38333                 if (! CHAR_BYTE8_P (c) && re_iswctype (c, cc))
38335         is equivalent to:
38337                 c = c;
38338                 if (! false && re_iswctype (c, cc))
38340         for 0 ⪬ c < 0x80, and
38342                 c = BYTE8_TO_CHAR (c);
38343                 if (! true && re_iswctype (c, cc))
38345         for 0x80 ⪬ c < 0x100.  In other words, the loop never executes for
38346         c ≥ 0x80 and RE_CHAR_TO_MULTIBYTE call is unnecessary for c < 0x80.
38348         * src/regex.c (regex_compile): Simplyfy a for loop by eliminating
38349         dead iterations and unnecessary macro calls.
38351 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
38353         Replace decimalnump with alphanumericp
38355         decimalnump was used in regex.c only in ISALNUM macro which ored it with
38356         alphabeticp.  Because both of those functions require Unicode general
38357         category lookup, this resulted in unnecessary lookups (if alphabeticp
38358         return false decimalp had to perform another lookup).  Drop decimalnump
38359         in favour of alphanumericp which combines decimelnump with alphabeticp.
38361         * src/character.c (decimalnump): Remove in favour of…
38362         (alphanumericp): …new function.
38364         * src/regex.c (ISALNUM): Use alphanumericp.
38366 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
38368         Remove inaccurate comment in regex.c
38370         * src/regex.c (regex_compile): Remove comment indicating that wctype of
38371         some character classes may be negative.  All wctypes are in fact
38372         non-negative.
38374 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
38376         STRING_CHAR does not unify characters; update documentation
38378         * src/character.h (STRING_CHAR): Update doc.
38379         * src/buffer.h (FETCH_MULTIBYTE_CHAR): Update doc.  While at it, change
38380         the function to use BYTE_POS_ADDR instead of open-coding it.
38382 2016-09-08  Simen Heggestøyl  <simenheg@gmail.com>
38384         Add tests for ring.el
38386         * test/lisp/emacs-lisp/ring-tests.el: New file with tests for ring.el.
38388 2016-09-07  Martin Rudalics  <rudalics@gmx.at>
38390         New file test/src/marker-tests.el
38392 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
38394         Port flexible array members to GCC + valgrind
38396         These changes are needed to conform to the C standard's rule for
38397         allocating structs containing flexible array members.  C11 says
38398         that malloc (offsetof (struct s, m) + n) does not suffice to
38399         allocate a struct with an n-byte tail; instead, malloc’s arg
38400         should be rounded up to the nearest multiple of alignof (struct s).
38401         Although this is arguably a defect in C11, gcc -O2 + valgrind
38402         sometimes complains when this rule is violated, and when debugging
38403         it’s better to keep valgrind happy.
38404         For details please see the thread containing the message at:
38405         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00416.html
38406         * lib-src/ebrowse.c, src/alloc.c, src/image.c, src/process.c:
38407         Include flexmember.h.
38408         * lib-src/ebrowse.c (add_sym, add_member, make_namespace)
38409         (register_namespace_alias):
38410         * src/alloc.c (SDATA_SIZE, allocate_string_data):
38411         * src/image.c (xpm_cache_color, imagemagick_create_cache):
38412         * src/process.c (Fmake_network_process):
38413         Use FLEXSIZEOF instead of offsetof and addition.
38414         * src/alloc.c (SDATA_SIZE, vector_alignment):
38415         Use FLEXALIGNOF instead of sizeof (ptrdiff_t).
38416         * src/lisp.h (ALIGNOF_STRUCT_LISP_VECTOR):
38417         Remove, as alloc.c can now calculate this on its own.
38419 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
38421         Update from gnulib
38423         This incorporates:
38424         2016-09-07 flexmember: new macro FLEXALIGNOF
38425         2016-09-07 flexmember: port better to GCC + valgrind
38426         2016-08-18 Port modules to use getprogname explicitly
38427         2016-09-02 manywarnings: add -fno-common
38428         * admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don’t avoid flexmember,
38429         since time_rz now uses part of it.  Instead, remove m4/flexmember.m4.
38430         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Define away,
38431         since Emacs assumes C99 and therefore removes m4/flexmember.m4.
38432         * lib/euidaccess.c, lib/group-member.c, lib/time_rz.c:
38433         * m4/manywarnings.m4: Copy from gnulib.
38434         * lib/flexmember.h: New file, from gnulib.
38435         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
38437 2016-09-07  Noam Postavsky  <npostavs@gmail.com>
38439         Don't --load directories
38441         * lisp/startup.el (command-line-1): Only pass expanded FILENAME argument
38442         of --load when it refers to a normal file, since `load' doesn't handle
38443         directories (Bug #16406).
38445 2016-09-07  Peder O. Klingenberg  <peder@klingenberg.no>
38447         Avoid error in icalendar--read-element
38449         * lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex
38450         stack overflow by not using regex to extract values from calendar
38451         events. (Bug#24315)
38453 2016-09-07  Kaushal Modi  <kaushal.modi@gmail.com>
38455         Fix back-white <-> black-white typo
38457         * lisp/ps-print.el (ps-begin-job): back-white -> black-white (Bug#24308)
38459 2016-09-07  Alan Third  <alan@idiocy.org>
38461         Fix cursor at bottom left of rectangle (bug#24364)
38463         * lisp/rect.el (rectangle--col-pos): Don't assume point at EOL doesn't
38464         require rectangle--point-crutches to be set.
38466 2016-09-07  Eli Zaretskii  <eliz@gnu.org>
38468         Fix documentation of convert-standard-filename on MS-Windows
38470         * lisp/files.el (convert-standard-filename): Doc fix.  (Bug#24387)
38472         * etc/NEWS: Suggest a way for mirroring slashes where previously
38473         'convert-standard-filename' was used.
38475 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
38477         Use DEV_TTY more consistently
38479         * src/conf_post.h (DEV_TTY): Move from here ...
38480         * src/keyboard.c, src/keyboard.h: ... to here, as it doesn’t need
38481         to be visible everywhere.  Make it a constant.
38482         * src/keyboard.c (handle_interrupt, Fset_quit_char):
38483         * src/process.c (create_process): Prefer DEV_TTY to "/dev/tty".
38485 2016-09-06  Eli Zaretskii  <eliz@gnu.org>
38487         Avoid assertion violations when using marker positions
38489         * src/intervals.c (set_point_from_marker): If MARKER comes from
38490         another buffer, recalculate its byte position before using it to
38491         set point.
38492         * src/marker.c (set_marker_internal): If POSITION is a marker from
38493         another buffer, recalculate its byte position before using it.
38494         (Bug#24368)
38496 2016-09-06  Alan Mackenzie  <acm@muc.de>
38498         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix coding bug
38500 2016-09-06  Alan Mackenzie  <acm@muc.de>
38502         New options for handling of literals in c-syntactic-re-search-forward
38504         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): `noerror' can
38505         be given the values `before-literal' and `after-literal', so that when a
38506         search fails, and the `bound' is inside a literal, point is left respectively
38507         before or after that literal.
38509 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
38511         Avoid assertion violations when scrolling narrowed buffer
38513         * src/window.c (window_scroll_pixel_based):
38514         * src/xdisp.c (pos_visible_p): Don't allow simulated redisplay to
38515         start outside the accessible portion of the buffer.  This avoids
38516         assertion violations when some Lisp narrows the buffer to less
38517         than the current window, and then attempts to scroll the buffer.
38519 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
38521         Treat SIGINT correctly in GUI sessions on MS-Windows
38523         * src/w32proc.c (sys_signal): Don't reject SIGINT, as it is
38524         supported by MS runtime.
38525         * src/term.c (DEV_TTY): Move from here ...
38526         * src/conf_post.h (DEV_TTY): ... to here.  Separate definitions
38527         for WINDOWSNT and for the rest.
38528         * src/keyboard.c (handle_interrupt_signal): Use DEV_TTY instead of
38529         a literal "/dev/tty".
38531         * etc/NEWS: Mention the behavior change.
38533 2016-09-04  Alan Third  <alan@idiocy.org>
38535         Fix synthetic bold on macOS retina displays
38537         * src/macfont.m (macfont_draw): Multiply the synthetic bold scaling
38538         factor by the OS window backing scale factor.
38540 2016-09-04  Tino Calancha  <tino.calancha@gmail.com>
38542         image-dired: Report when a necessary executable is not found
38544         See discussion on:
38545         https://lists.gnu.org/r/emacs-devel/2016-08/msg00552.html
38546         * lisp/image-dired.el (image-dired-cmd-rotate-original-program)
38547         (image-dired-cmd-create-thumbnail-program)
38548         (image-dired-cmd-create-temp-image-program)
38549         (image-dired-cmd-rotate-thumbnail-program)
38550         (image-dired-cmd-write-exif-data-program)
38551         (image-dired-cmd-read-exif-data-program):
38552         Use executable-find to set the default value of this option.
38553         (image-dired-cmd-rotate-original-program): Idem.
38554         Search for program 'convert' if 'jpegtran' is not available.
38555         (image-dired-cmd-rotate-original-options):
38556         Set the default value consistent with the executable in
38557         image-dired-cmd-rotate-original-program.
38558         (image-dired-create-thumb, image-dired-display-image)
38559         (image-dired-rotate-thumbnail, image-dired-rotate-original)
38560         (image-dired-set-exif-data, image-dired-get-exif-data):
38561         Throw and error when the executable used in the function is missing.
38562         (image-dired-next-line, image-dired-previous-line):
38563         Use 'forward-line'.
38565 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
38567         image-type-from-file-name: Perform a case insensitive match
38569         Fix Bug#24317
38570         * lisp/image.el (image-type-from-file-name): Bind case-fold-search
38571         to a non-nil value to force a case insensitive match.
38572         * lisp/image-dired.el (image-dired-rotate-original):
38573         Use image-type (Bug#24317).
38574         (image-dired-get-exif-file-name): Idem.
38575         Set 'no-exif-data-found' and 'data' in same setq call.
38576         Use file-attribute-modification-time.
38578 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
38580         image-increase-size: Fix non-interactive calls
38582         * lisp/image.el (image-increase-size, image-decrease-size):
38583         Compute a floating point division.
38584         Problem reported in:
38585         https://lists.gnu.org/r/emacs-devel/2016-09/msg00067.html
38587 2016-09-03  Robert Cochran  <robert-git@cochranmail.com>
38589         Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.el
38591         Passing the prefix argument as the 3rd argument to 'call-interactively'
38592         causes the prefix argument to be interpreted as events, which is not
38593         only wrong, but also causes a type error, as 'current-prefix-arg' can
38594         never be a vector as 'call-interactively' expects.  'call-interactively'
38595         automatically passes its prefix argument to the called function, so just
38596         do that, eliminating faulty behavior.
38598         * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell):
38599         (checkdoc-ispell-current-buffer):
38600         (checkdoc-ispell-interactive):
38601         (checkdoc-ispell-message-text):
38602         (checkdoc-ispell-start):
38603         (checkdoc-ispell-continue):
38604         (checkdoc-ispell-comments):
38605         (checkdoc-ispell-defun):
38606         Do not pass 'current-prefix-arg' to 'call-interactively' as an event
38607         vector; merely allow it to propagate forward to the interactive call.
38609 2016-09-03  Richard Stallman  <rms@gnu.org>
38611         Fix mail-combine-fields
38613         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
38614         avoid losing our place in the search loop.
38616 2016-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>
38618         Check actual contents before promting about changed file
38620         * lisp/userlock.el (userlock--check-content-unchanged)
38621         (userlock--ask-user-about-supersession-threat): New functions.
38622         * src/filelock.c (lock_file): Use them to avoid spurious prompting.
38623         * doc/lispref/buffers.texi (Modification Time): Update doc of
38624         ask-user-about-supersession-threat.
38626 2016-09-02  Michael Albinus  <michael.albinus@gmx.de>
38628         Make a reference to fakecygpty in the Tramp manual
38630         * doc/misc/tramp.texi (Windows setup hints): Make a reference to
38631         fakecygpty on the Emacs Wiki.
38632         (Frequently Asked Questions): Fix url.
38634 2016-09-01  Paul Eggert  <eggert@cs.ucla.edu>
38636         Don’t create fd >= FD_SETSIZE
38638         This avoids a potential crash if too many subprocesses (Bug#24325).
38639         * src/process.c [HAVE_SETRLIMIT]: Include <sys/resource.h>.
38640         (init_process_emacs): If ulimit -n is greater than FD_SETSIZE,
38641         set it to FD_SETSIZE.
38643 2016-09-01  Alan Mackenzie  <acm@muc.de>
38645         Fix c-declaration-limits to return correct limits in all cases.
38647         This function is the guts of c-indent-defun and c-mark-function.
38649         In particular, when c-defun-tactic is nil, return a correct value rather than
38650         always nil, and when it's 'go-outward, go through an intricate algorithm to
38651         determine the requisite narrowing before the "top-level" defuns go to work.
38653         * lisp/progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): Enhance
38654         to take additional optional parameter LEVEL, saying how many enclosing levels
38655         of decl-block to narrow to.
38656         (c-declaration-limits): Introduce algorithm to determine narrowing.  Use
38657         c-where-wrt-to-brace-block to determine whether to go back to BOD to determine
38658         lower bound.
38660 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
38662         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make commentary more accurate.
38664 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
38666         Avoid compiler warnings with MinGW64 GCC 6
38668         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make the prototype match
38669         the GCC 6 builtin, to avoid warnings.  For more details, see
38670         https://lists.gnu.org/r/emacs-devel/2016-08/msg00721.html.
38672 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
38674         Fix over-substitution of quotes on error
38676         Problem reported by Tino Calancha in:
38677         https://lists.gnu.org/r/emacs-devel/2016-09/msg00000.html
38678         * src/print.c (print_error_message):
38679         Substitute quotes in errmsg only when gotten from a property.
38681 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
38683         Improve testing of etags
38685         * test/manual/etags/y-src/cccp.c:
38686         * test/manual/etags/y-src/parse.c: Correct #line directives to
38687         allow testing invalidate_nodes in etags.c.
38688         * test/manual/etags/ETAGS.good_1:
38689         * test/manual/etags/ETAGS.good_2:
38690         * test/manual/etags/ETAGS.good_3:
38691         * test/manual/etags/ETAGS.good_4:
38692         * test/manual/etags/ETAGS.good_5:
38693         * test/manual/etags/ETAGS.good_6:
38694         * test/manual/etags/CTAGS.good: Adapt to changes in test files.
38696 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
38698         * lib-src/etags.c (invalidate_nodes): Fix another thinko.
38700 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
38702         Fix etags problems found by static checking
38704         * lib-src/etags.c (invalidate_nodes, put_entry):
38705         Remove now-unnecessary tests for null pointers.  Simplify.
38706         (put_entries): Rewrite to avoid GCC 6.2 warning about
38707         dereferencing null pointer.
38709 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
38711         Fix a thinko in etags.c
38713         * lib-src/etags.c (invalidate_nodes): Don't try to dereference
38714         a null pointer.
38716 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
38718         Avoid recursive calls in etags
38720         * lib-src/etags.c (stack_entry): New struct.
38721         (push_node, pop_node, put_entry): New functions.
38722         (free_tree, add_node, invalidate_nodes, put_entries): Re-implement
38723         in a non-recursive way, to avoid stack overflow.  (Bug#5847)
38725 2016-08-31  Leo Liu  <sdl.web@gmail.com>
38727         Add 451 to url-http-codes
38729         * lisp/url/url-http.el (url-http-codes): Add 451.
38731 2016-08-30  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
38733         * src/editfns.c (Fformat_message): Fix doc to match current behavior.
38735 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
38737         Minor doc quoting fixes
38739         * doc/misc/htmlfontify.texi (Interactive):
38740         * lisp/htmlfontify.el (htmlfontify-buffer):
38741         Spell out character names, for clarity.  The old doc string
38742         generated the *Help* text ‘^L ([FF]) or ¤ (244)’, where ‘[FF]’
38743         stands for a form feed character; this was confusing.
38744         * lisp/electric.el (electric-quote-mode):
38745         * src/doc.c (syms_of_doc):
38746         * src/editfns.c (Fformat_message):
38747         Remove no-longer-necessary ‘\=’s in doc strings.
38749 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
38751         Update from gnulib
38753         This incorporates:
38754         2016-08-30 intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
38755         2016-08-29 xalloc-oversized.h: port change to GCC 6.2.0
38756         2016-08-29 intprops.h: port recent changes to GCC 6.2.0
38757         2016-08-29 intprops.h: use __typeof__ with GCC 7
38758         2016-08-29 intprops.h, xalloc-oversized.h: work with gcc 7
38759         2016-08-24 intprops: fix paren typo on old platforms
38760         2016-08-24 intprops: port to OpenVMS
38761         * lib/intprops.h, lib/xalloc-oversized.h: Copy from gnulib.
38763 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
38765         Fix rules for \phi and \varphi which were reversed
38767         * lisp/leim/quail/latin-ltx.el: Special-case phi/varphi because those
38768           are reversed in ucs-names.  Also remove FIXME stating sigma/varsigma
38769           were reversed which is not true (anymore?).
38771 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
38773         Fix prettification of \phi, \varphi, and \varsigma
38775         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix
38776           prettification of \phi, \varphi, and \varsigma.
38778         Concretely, \phi's symbol was actually varphi, \varphi was missing, and
38779         \varsigma was commented out with a FIXME that it was reversed with
38780         \sigma which it was not.
38782 2016-08-30  Karl Fogel  <kfogel@red-bean.com>
38784         Use normal double quotes in TeX / LaTeX comments
38786         * lisp/textmodes/tex-mode.el (tex-insert-quote): When in a comment,
38787           default to inserting a normal double quote (") instead of TeX-style
38788           open (``) or close ('') quote marks.
38790         * etc/NEWS (TeX mode): Note the change.
38792         * test/lisp/electric-tests.el (autowrapping-7): Adjust accordingly.
38794         See this thread for discussion:
38796           https://lists.gnu.org/r/emacs-devel/2016-08/msg00611.html
38797           From: Karl Fogel <kfogel {_AT_} red-bean.com>
38798           To: Emacs Development <emacs-devel {_AT_} gnu.org>
38799           Subject: [PATCH] Have LaTeX mode use normal double quotes in comments.
38800           Date: Mon, 29 Aug 2016 14:44:12 -0500
38801           Message-ID: <87twe3icmr.fsf@red-bean.com>
38803 2016-08-30  Alan Mackenzie  <acm@muc.de>
38805         Correctly analyze C++ list initialization in member init areas.
38807         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Remove a
38808         superfluous call to c-backward-syntactic-ws.
38809         (c-looking-at-or-maybe-in-bracelist): Change calling convention, so that it
38810         reports encountering the Java "new" keyword.  Add, as an alternative, a check
38811         that we can move back over member initializations, and handle this as finding
38812         a brace block.
38813         (c-looking-at-special-brace-list, c-guess-continued-construct): Adapt to the
38814         new calling convention of c-looking-at-or-maybe-in-bracelist.
38815         (c-guess-basic-syntax, CASE 5A.3): Replace lots of inline ad-hoc code with
38816         calls to c-backward-over-enum-header and c-looking-at-or-maybe-in-bracelist,
38817         using the extra info from the value of that function to generate a
38818         topmost-into-cont element where needed (in Java).
38820         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to the new
38821         calling convention of c-looking-at-or-maybe-in-bracelist.
38823         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Adapt to the new calling
38824         convention of c-looking-at-or-maybe-in-bracelist.
38826 2016-08-30  Michael Albinus  <michael.albinus@gmx.de>
38828         Use `file-attribute-*' in Tramp
38830         * lisp/net/tramp-compat.el (tramp-compat-file-attribute-type)
38831         (tramp-compat-file-attribute-link-number)
38832         (tramp-compat-file-attribute-user-id)
38833         (tramp-compat-file-attribute-group-id)
38834         (tramp-compat-file-attribute-modification-time)
38835         (tramp-compat-file-attribute-size)
38836         (tramp-compat-file-attribute-modes): New defaliases.
38838         * lisp/net/tramp.el (tramp-handle-file-modes)
38839         (tramp-handle-file-newer-than-file-p)
38840         (tramp-handle-file-regular-p, tramp-handle-file-symlink-p)
38841         (tramp-handle-set-visited-file-modtime)
38842         (tramp-handle-verify-visited-file-modtime)
38843         (tramp-get-local-gid, tramp-check-cached-permissions):
38844         * lisp/net/tramp-adb.el (tramp-adb-handle-file-directory-p)
38845         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file):
38846         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
38847         (tramp-gvfs-handle-file-directory-p)
38848         (tramp-gvfs-handle-write-region, tramp-gvfs-get-remote-uid)
38849         (tramp-gvfs-get-remote-gid):
38850         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
38851         (tramp-sh-handle-set-visited-file-modtime)
38852         (tramp-sh-handle-verify-visited-file-modtime)
38853         (tramp-sh-handle-file-newer-than-file-p)
38854         (tramp-sh-handle-file-ownership-preserved-p)
38855         (tramp-do-copy-or-rename-file)
38856         (tramp-do-copy-or-rename-file-via-buffer)
38857         (tramp-do-copy-or-rename-file-directly)
38858         (tramp-do-copy-or-rename-file-out-of-band)
38859         (tramp-sh-handle-file-local-copy)
38860         (tramp-sh-handle-write-region):
38861         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
38862         (tramp-smb-handle-copy-file)
38863         (tramp-smb-handle-file-directory-p)
38864         (tramp-smb-handle-file-writable-p)
38865         (tramp-smb-handle-insert-directory): Use them.
38867 2016-08-30  Martin Rudalics  <rudalics@gmx.at>
38869         In `pop-to-buffer' handle case where `display-buffer' fails (Bug#24332)
38871         * lisp/window.el (pop-to-buffer): Don't assume that
38872         `display-buffer' has supplied a window (Bug#24332).
38873         Rename BUFFER argument to BUFFER-OR-NAME.
38874         * doc/lispref/windows.texi (Switching Buffers): Fix
38875         `pop-to-buffer' documentation.
38877 2016-08-29  Alan Third  <alan@idiocy.org>
38879         Clarify docstrings
38881         * src/nsterm.m: Clarified that ns-x-modifier variables require a symbol.
38883 2016-08-29  Michael Albinus  <michael.albinus@gmx.de>
38885         Use `process-live-p' in Tramp
38887         * lisp/net/tramp-compat.el (tramp-compat-process-live-p): New defun.
38889         * lisp/net/tramp.el (tramp-connectable-p, tramp-handle-file-remote-p)
38890         (tramp-handle-file-notify-valid-p)
38891         (tramp-action-process-alive, tramp-action-out-of-band)
38892         (tramp-wait-for-regexp):
38893         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
38894         (tramp-adb-maybe-open-connection):
38895         * lisp/net/tramp-cache.el (tramp-get-connection-property):
38896         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
38897         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
38898         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
38899         * lisp/net/tramp-sh.el (tramp-process-sentinel)
38900         (tramp-sh-handle-file-notify-add-watch)
38901         (tramp-maybe-open-connection):
38902         * lisp/net/tramp-smb.el (tramp-smb-action-with-tar)
38903         (tramp-smb-handle-copy-directory, tramp-smb-action-get-acl)
38904         (tramp-smb-handle-process-file, tramp-smb-action-set-acl)
38905         (tramp-smb-get-cifs-capabilities)
38906         (tramp-smb-get-stat-capability)
38907         (tramp-smb-maybe-open-connection, tramp-smb-wait-for-output)
38908         (tramp-smb-kill-winexe-function): Use it.
38910 2016-08-29  Eli Zaretskii  <eliz@gnu.org>
38912         Avoid crashes for invalid value of key modifiers
38914         * src/keyboard.c (parse_solitary_modifier): If the argument SYMBOL
38915         is not a symbol, don't try to recognize it.  See
38916         https://lists.gnu.org/r/emacs-devel/2016-08/msg00502.html
38917         for the details.
38919         * test/src/keymap-tests.el (keymap-where-is-internal-test): New
38920         test, for testing the above fix.
38922 2016-08-29  Oleh Krehel  <ohwoeowho@gmail.com>
38924         Make dired-do-compress understand files with spaces in them
38926         * lisp/dired-aux.el (dired-compress-file): Add `shell-quote-argument'
38927           and `literal' flag to `replace-regexp-in-string'.
38929 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
38931         * INSTALL.REPO: Suggest Texinfo 4.13 or later.
38933 2016-08-28  Simen Heggestøyl  <simenheg@gmail.com>
38935         Add tests for dom.el
38937         * test/lisp/dom-tests.el: New file with tests for dom.el.
38939 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
38941         Memory allocator alignment fixes
38943         These changes remove some assumptions about heap allocator
38944         alignment that may not be true on unusual platforms.
38945         * src/alloc.c (POWER_OF_2): New macro.
38946         (ROUNDUP): Use it.
38947         (BLOCK_ALIGN): Verify that it is a power of 2.
38948         (aligned_alloc): Check that alignment passed to posix_memalign
38949         satisfies POSIX restrictions.
38950         (lisp_align_malloc): Check that size passed to aligned_alloc
38951         satisfies C11 restrictions.
38952         (MALLOC_IS_GC_ALIGNED): Check that GCALIGNMENT is 8, since the
38953         code has not been verified to work with other GCALIGNMENT values
38954         and the ice is thin here.  On GNU/Linux, malloc can return a value
38955         that is a multiple of 8 but not 16, even though __alignof__
38956         (max_align_t) is 16.  See:
38957         https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01902.html
38958         (lmalloc) [USE_ALIGNED_ALLOC]: Use aligned_alloc only if size
38959         is a multiple of alignment, since C11 says the behavior is
38960         undefined otherwise.
38961         (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on size_t, as in
38962         general this macro is restricted to signed types.  Remove
38963         assertion that the result is a multiple of GCALIGNMENT, as that
38964         need not be true.
38966 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
38968         Pacify --enable-gcc-warnings for lib-src/pop.c
38970         * lib-src/pop.c: Include c-ctype.h.
38971         (socket_connection): Pacify --enable-gcc-warnings by rewriting to
38972         avoid 'if (v = E) ...'.  Use c_tolower, instead of a combination
38973         of the (undeclared) isupper and tolower.  Fix pointer constness
38974         problem.
38976 2016-08-27  Alan Mackenzie  <acm@muc.de>
38978         Handle the C++ "identifiers" "final" and "override" correctly.
38980         This fixes bug #24319, allowing destructors affixed with these identifiers to
38981         be correctly fontified.
38983         * lisp/progmodes/cc-engine.el (c-forward-type, c-forward-decl-or-cast-1):
38984         After reaching the "end" of a type expression, skip over any occurrences of
38985         c-type-decl-suffix-ws-ids-key.
38987         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "override" and
38988         "final" from the C++ value.
38989         (c-type-decl-suffix-ws-ids-kwds, c-type-decl-suffix-ws-ids-key): New lang
38990         constants/variables for "final" and "override".
38992 2016-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
38994         * lisp/textmodes/page-ext.el (pages-directory-mode): Use special-mode.
38996 2016-08-27  Alan Mackenzie  <acm@muc.de>
38998         Handle template delimiters in C++ member init constructs.
39000         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Add
39001         handling for "<....>"s.
39003 2016-08-26  Eli Zaretskii  <eliz@gnu.org>
39005         Fix etags test suite messed up by merges from emacs-25
39007         * test/manual/etags/go-src/test.go:
39008         * test/manual/etags/go-src/test1.go: Move from test/etags/.
39009         * test/manual/etags/ruby-src/test1.ru: Replace test1.ruby.
39010         * test/etags/: Directory deleted.
39012 2016-08-26  Simen Heggestøyl  <simenheg@gmail.com>
39014         Add "supports" to list of CSS at-rules
39016         * lisp/textmodes/css-mode.el (css-at-ids): Add "supports" at-rule.
39018 2016-08-26  Michael Albinus  <michael.albinus@gmx.de>
39020         * lisp/net/tramp-sh.el (tramp-get-remote-perl): Perform a basic check.
39022         (Bug#22478)
39024 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
39026         Rename option to shell-command-dont-erase-buffer
39028         Suggested by Clément Pit--Claudel in:
39029         https://lists.gnu.org/r/emacs-devel/2016-08/msg00487.html
39030         * lisp/simple.el (shell-command-dont-erase-buffer):
39031         (shell-command--save-pos-or-erase):
39032         (shell-command--set-point-after-cmd):
39033         (shell-command-on-region):
39034         * doc/emacs/misc.texi (shell-command-dont-erase-buffer):
39035         * etc/NEWS (Changes in Emacs 25.2):
39036         Rename from shell-command-not-erase-buffer.
39038 2016-08-25  Alan Mackenzie  <acm@muc.de>
39040         Fix an infinite loop in C++ Mode when we have "{ .... [ .... }"
39042         * lisp/progmodes/cc-fonts.el (c-font-lock-c++-lambda-captures): In the inner
39043         `while' form's condition, check for "\\s)" rather than merely "\\]", so that
39044         the loop won't hang at a "terminating" paren of a different type (due to the
39045         c-syntactic-re-search-forward at the end of the loop stopping at such
39046         characters).
39048 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
39050         call-shell-region: New defun
39052         Suggested by Stefan Monnier in Bug#22679.
39053         * lisp/subr.el (call-shell-region): New defun; execute a command
39054         in an inferior shell with the buffer region as input.
39055         * lisp/simple.el (shell-command-on-region): Use it.
39056         * lisp/gnus/message.el (message-do-fcc): Idem.
39057         * doc/lispref/processes.texi: Document call-shell-region in the manual.
39058         ;* etc/NEWS: Add entry for this new function.
39060 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
39062         In ‘clone-indirect-buffer’ fix argument mixup (Bug#24306)
39064         * lisp/simple.el (clone-indirect-buffer): Add value for ACTION
39065         argument in `pop-to-buffer' call (Bug#24306).
39067 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
39069         Some fixes around `delete-other-frames' and `next-frame'
39071         * src/frame.c (Fdelete_frame): Clarify doc-string.
39072         * lisp/frame.el (delete-other-frames): Delete other frames on
39073         FRAME's terminal instead of the current terminal.  Delete
39074         non-minibuffer-only surrogate frames too.  See
39075         https://lists.gnu.org/r/emacs-devel/2016-08/msg00467.html
39076         * doc/lispref/frames.texi (Deleting Frames): Minor fixes for
39077         docs of `delete-frame' and `frame-live-p'.  Add entry for
39078         `delete-other-frames'.
39079         (Finding All Frames): Fix doc of `next-frame'.
39081 2016-08-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
39083         Find message.el thumbnail toggling
39085         * lisp/gnus/message.el (message-toggle-image-thumbnails):
39086         Don't infloop when toggling thumbnails.
39088 2016-08-24  Alan Third  <alan@idiocy.org>
39090         Fix macOS 12 deprecation notices
39092         * src/nsterm.h: Add #defines to allow older versions of macOS to use the
39093         new constant names.
39094         * src/nsmenu.m: Replace old constant names with
39095         new.
39096         (fillWithWidgetValue): Remove calls to deprecated
39097         setMenuChangedMessagesEnabled.
39098         * src/nsterm.m: Replace old constant names with new.
39099         * src/nsfns.m: Replace old constant names with new.
39101 2016-08-23  Alan Mackenzie  <acm@muc.de>
39103         Analyze and fontify correctly a C++ `enum' with colon, but lacking a tag.
39105         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for "enum"
39106         directly preceding the colon, and handle it.
39108 2016-08-23  Noah Friedman  <friedman@splode.com>
39110         * src/xfns.c (Fx_change_window_property): Modify previous change.
39111         Instead of forcing format to 8 for strings, check that the length of
39112         the string is appropriate for whatever format given.
39113         (Fx_window_property_attributes): If prop isn't found on frame's inner window,
39114         try its outer window.  This mimics the behavior of Fx_window_property.
39116 2016-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
39118         Fix invalid image rotations
39120         * lisp/image.el (image-rotate): Limit rotation to 360 degrees.
39122 2016-08-23  Tino Calancha  <tino.calancha@gmail.com>
39124         call-process instead of call-process-region with empty region
39126         * lisp/calc/calc-graph.el (calc-graph-show-tty):
39127         Use call-process and shell-command-switch.
39129 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
39131         Merge from origin/emacs-25
39133         927afa1 ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 RC2
39134         6bf83b5 * etc/AUTHORS: Update the AUTHORS file
39135         73cbb81 ; ChangeLog spelling fixes
39136         9b99772 Some assorted documentation clarifications
39137         37d4723 Improve commentary in src/character.h
39138         5ccd593 ; Fix typo in /etc/NEWS
39139         96e3d16 * etc/NEWS: Mention the change in json-encode-string.
39140         2e524034 ; * etc/NEWS: Mention incompatible change in url-http-create...
39141         2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
39142         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
39144         # Conflicts:
39145         #       ChangeLog.2
39146         #       lisp/ldefs-boot.el
39148 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
39150         Merge from origin/emacs-25
39152         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
39154 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
39156         Merge from origin/emacs-25
39158         8c2946e In NEWS describe new handling of window margins (Bug#24193)
39159         0cee66c Facultatively ignore margins when splitting and resizing wind...
39160         8d68147 Document CATEGORY arg to modify-category-entry
39161         8342e74 Document char-script-table's effect on word motion
39162         e9ff485 Further fix for 'url-http-create-request' and multibyte strings
39163         0695235 Fix docstring of eval-expression
39164         98b01dd Clarify when 'cursor' property is in effect
39165         75f1882 Convert the remaining strings to unibyte before concatenating
39166         d2db5dd Fix bug with handling the bidi cache
39167         ccd0e92 * doc/lispref/text.texi (Change Hooks): Minor copyedits.
39168         f785ff4 Clarify documentation of before/after-change-functions
39169         3c9cb57 Document use of vectors in keymaps
39171         # Conflicts:
39172         #       src/xdisp.c
39174 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
39176         Handle remote file names in gdb-mi.el
39178         * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer):
39179         If `default-directory' is remote, full file names are adapted
39180         accordingly.  (Bug#23608)
39182 2016-08-22  Eli Zaretskii  <eliz@gnu.org>
39184         Display mini-window resized even when there are several frames
39186         * src/xdisp.c (x_consider_frame_title): Bind inhibit-redisplay to
39187         t to avoid resizing back the mini-window as result of considering
39188         the title of other frames.  (Bug#24285)
39189         (redisplay_window): No need to bind inhibit-redisplay here.
39191 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
39193         Explain gdb warning on remote hosts
39195         * doc/misc/tramp.texi (Remote processes): Explain gdb warning
39196         on remote hosts.  (Bug#4604, Bug#6360, Bug#622569)
39198 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
39200         Fix (next-frame nil t) crash (Bug#24281)
39202         * src/frame.c (candidate_frame): Check minibuf argument before
39203         comparing it to zero (Bug#24281).
39205 2016-08-21  Noah Friedman  <friedman@splode.com>
39207         Fix interpretation of signed vs unsigned values when retrieving X
39208         Window properties, and make sure the full value is returned when not
39209         parsed.
39211         New subr to export type and format information about X Window
39212         properties to lisp.
39214         * src/xselect.c (selection_data_to_lisp_data): Treat any data as
39215         unsigned unless its actual type is INTEGER.
39216         CARDINALs, in particular, are unsigned.
39218         * src/xfns.c (Fx_change_window_property): If value is a string, ignore
39219         any provided format and force to 8.
39220         (x_window_property_intern): If returning value as a string, the length
39221         is actual_size times the actual format of each element, which is not
39222         necessarily bytes.
39223         (Fx_window_property_attributes): New subr.
39224         (syms_of_xfns): Declare it.
39226 2016-08-21  Noam Postavsky  <npostavs@gmail.com>
39228         Improve error when installing non-package dirs
39230         * lisp/emacs-lisp/package.el (package-dir-info): Throw meaningful error
39231         when no file with package info is found (Bug #19851).
39233 2016-08-21  Alan Mackenzie  <acm@muc.de>
39235         Adapt CC Mode for C++11 uniform initialization.
39237         For fontification, introduce a new "context", 'non-decl, to be used for
39238         brace
39239         lists; also a new value for the property 'c-type, called 'c-not-decl.
39241         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): Check that
39242         an ostensible symbol we're going to move over isn't a keyword.
39243         (c-forward-decl-or-cast-1): CASE 1: Where we have two consecutive identifiers
39244         (hence a declaration), and an unmatched open paren, perform
39245         c-fdoc-shift-type-backwards to recognize the partial construct correctly.
39246         Whilst checking a type decl expression, check for and handle C++11's "copy
39247         initialization", where we have <type>(<constant>).  Recognize
39248         <id><id>(... (where the paren is unclosed) as a declaration.
39249         (c-looking-at-or-maybe-in-bracelist): New function, extracted from
39250         c-inside-bracelist-p.  Recognize as bracelists "{"s which are preceded by
39251         valid tokens other than "=".  Recognize a bracelist when preceded by a
39252         template declaration.
39253         (c-inside-bracelist-p): Call c-looking-at-or-maybe-in-bracelist in place of
39254         much inline code.
39255         (c-looking-at-inexpr-block): Amend so that it won't wrongly recognize an
39256         initialization starting "({" as an in-expression block, by checking for
39257         semicolons, as opposed to commas, separating elements inside it.
39258         (c-guess-continued-construct): (CASE B-2): Recognize a brace-list-open by
39259         calling c-looking-at-or-maybe-in-bracelist rather than checking for a
39260         preceding "=".  (CASE B-5): New code to recognize new construct "return {
39261         ...}".
39262         (c-guess-basic-syntax): (CASE 5A.3): Additionally recognize a "{" preceded by
39263         "return", or "{" preceded by <type><identifier> as a bracelist.
39265         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize brace
39266         lists, giving them `context' 'non-decl.  Pass over elements of one by regexp
39267         search for "," rather than calling c-forward-decl-or-cast-1.
39269         * lisp/progmodes/cc-langs.el (c-return-kwds, c-return-key): New lang
39270         constants/variables to recognize "return".
39271         (c-pre-id-bracelist-key): New lang constant/variable to recognize tokens
39272         which, when preceding an identifier followed by a brace, signify the brace as
39273         a bracelist.
39275         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When searching outwards for
39276         the start of a "local" declaration, move out from an enclosing brace when
39277         that is the start of a brace list.
39279 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
39281         Update from gnulib
39283         This incorporates:
39284         2016-08-17 maint: preprocessor changes to support z/OS
39285         2016-08-17 string: rename to avoid '__string'
39286         * doc/misc/texinfo.tex, lib/alloca.in.h, lib/string.in.h:
39287         Copy from gnulib.
39289 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
39291         Minor text-quoting-style fixes
39293         * src/charset.c (check_iso_charset_parameter):
39294         * src/frame.c (store_frame_param):
39295         * src/xselect.c (x_fill_property_data):
39296         Use grave accent for left single quote in ‘error’ format strings.
39298 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
39300         Fix semantics of 'minibuffer' frame parameter
39302         The 'minibuffer' frame parameter is now t for a normal frame
39303         (a frame with a root window plus a minibuffer window) and the
39304         frame's minibuffer window for a minibuffer-less frame (a frame
39305         whose minibuffer window is on another frame).  See also:
39306         https://lists.gnu.org/r/emacs-devel/2016-07/msg01259.html
39308         * src/frame.c (make_frame, make_frame_without_minibuffer)
39309         (make_minibuffer_frame): When assigning the frame's minibuffer
39310         window also store corresponding 'minibuffer' frame parameter.
39311         (store_frame_param): Move the 'minibuffer' parameter checks to
39312         the beginning so we can silently override the value before it
39313         gets stored in the parameter alist.  Fix error handling.
39314         (Fframe_parameters): Return value of 'minibuffer' parameter
39315         unmodified.
39317         * lisp/frameset.el (frameset-filter-minibuffer): When the cdr of
39318         the parameter is a minibuffer window, save (minibuffer . nil)
39319         instead of (minibuffer . t).
39320         (frameset--reuse-frame): To find a non-minibuffer-only frame
39321         look out for a frame whose 'minibuffer' parameter is t instead
39322         of that frame's minibuffer window.
39323         (frameset-minibufferless-first-p): To find a minibuffer-less
39324         frame look out for a frame whose 'minibuffer' parameter is a
39325         window instead of nil.
39327 2016-08-20  Alan Mackenzie  <acm@muc.de>
39329         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Resolve overelaborate "nil"
39331 2016-08-20  Alan Mackenzie  <acm@muc.de>
39333         In c-\(go-\)?-\(up-\|down-\)?list-\(forward\|backward\) check limit isn't nil
39335         Check the limit both at macro expansion time (for a hard coded nil) and at run
39336         time in the generated code.  Tidy up these macros generally.
39338         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Check `limit' is present and
39339         not identically nil before generating a narrow-to-region call.  Generate code
39340         to check `limit' is not nil at run time.
39341         (c-go-list-forward, c-go-list-backward): Remove the generation of redundant
39342         narrow-to-region, instead calling c-safe-scan-lists directly.
39343         (c-go-up-list-forward, c-go-up-list-backward, c-go-down-list-forward)
39344         (c-go-down-list-backward): Invoke the corresponding macros without the "go-"
39345         to determine the destination position instead of generating a redundant
39346         narrow-to-region.
39348 2016-08-19  Robert Cochran  <robert-git@cochranmail.com>
39350         * lisp/emacs-lisp/map.el (map--dispatch): Fix docstring
39352         The docstring referenced a non-existant parameter, as well as a
39353         parameter that has been renamed since the docstring was written. Fix
39354         both errors, fixing (Bug#24182).
39356 2016-08-19  Alan Mackenzie  <acm@muc.de>
39358         Amend hack-local-variables-prop-line not always to return any mode on line 1.
39360         This fixes bug #24266.
39362         * lisp/files.el (hack-local-variables-prop-line): Change the name of the
39363         parameter mode-only to handle-mode.  Change its meaning, such that it being
39364         set to a value non-nil and not t removes any mode parameter from the result
39365         list.  Leave its values nil and t with the same meanings they had.
39366         (hack-local-variables): Call hack-local-variables-prop-line appropriately.
39368 2016-08-19  Daiki Ueno  <ueno@gnu.org>
39370         Improve doc string of epg-*-program
39372         * lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program):
39373         Suggest to use Customize when setting.  (Bug#24229)
39375 2016-08-19  Tino Calancha  <tino.calancha@gmail.com>
39377         Add tests for Bug#24264
39379         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
39380         Add test for Bug#24264.
39381         (cl-seq-fill-test, cl-seq-replace-test)
39382         (cl-seq-remove-test ,cl-seq-delete-test)
39383         (cl-seq-remove-duplicates-test, cl-seq-substitute-test)
39384         (cl-seq-nsubstitute-test, cl-seq-position-test)
39385         (cl-seq-count-test, cl-seq-mismatch-test)
39386         (cl-seq-search-test, cl-seq-test-bug24264):
39387         Add tests for all functions in the file; test all keywords.
39389 2016-08-18  Johan Bockgård  <bojohan@gnu.org>
39391         Fix bug in --eval reply message from server
39393         * lisp/server.el (server-reply-print): Fix check for truncated quote
39394         sequence at end of message. Problem reported in:
39395         https://lists.gnu.org/r/emacs-devel/2016-08/msg00101.html
39397 2016-08-18  Eli Zaretskii  <eliz@gnu.org>
39399         Add tests for 'substitute-command-keys'
39401         * test/src/doc-tests.el (doc-test-substitute-command-keys): New
39402         tests.
39404 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
39406         lisp/textmodes/table.el (table-generate-source): Fix completing-read call
39408         Doesn't make sense to pass '(("html") ("latex") ("cals")) to
39409         `completing-read'.
39411 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
39413         lisp/dired-aux.el (dired-compress-file-suffixes): Add entry for tgz
39415         The previous behavior resulted in a "tgz" -> "tar" -> "tgz" loop,
39416         without any files being extracted.
39418 2016-08-18  Andreas Politz  <politza@hochschule-trier.de>
39420         Don't let window start override window point in `window-state-put' (Bug#24240)
39422         * lisp/window.el (window--state-put-2): Set 'noforce argument
39423         when restoring a window's start position.  This avoids that the
39424         effect of `set-window-point' gets overidden by that of
39425         `set-window-start' (Bug#24240).
39427 2016-08-17  Alan Mackenzie  <acm@muc.de>
39429         Fontify constructs following "::" in C++ argument lists correctly - part 2.
39431         This fixes bug #24246.
39433         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Put a
39434         `save-match-data' around the new `looking-at' introduced by the previous CC
39435         Mode patch this evening.
39437 2016-08-17  Alan Mackenzie  <acm@muc.de>
39439         Fontify constructs following "::" in C++ argument lists correctly.
39441         This fixes bug #24246.
39443         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): In the "pseudo
39444         match" loop, test a found string for a match with c-opt-identifier-concat-key
39445         (e.g. with "::").
39447 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
39449         * src/doc.c (Fsubstitute_command_keys): Clarify GC comments.
39451 2016-08-17  K. Handa  <handa@gnu.org>
39453         Fix hz encoding and decoding (bug#23814)
39455         * lisp/language/china-util.el (decode-hz-region): Pay
39456         attention to "~~}" sequence at the end of Chinese character
39457         range.
39458         (hz-category-table): New variable.
39459         (encode-hz-region): Convert non-encodable characters to
39460         \u... and \U...  Preserve ESC on ecoding.  Put
39461         `chinese-gb2312' `charset' text property in advance to force
39462         iso-2022-encoding to select chinese-gb2312 designation.
39464 2016-08-17  Tino Calancha  <tino.calancha@gmail.com>
39466         file-attribute-collect: New defun
39468         * lisp/files.el (file-attribute-collect):
39469         Return a sublist of the attributes returned by 'file-attributes'.
39470         Suggested by Ted Zlatanov in:
39472         https://lists.gnu.org/r/emacs-devel/2016-07/msg01195.html
39474 2016-08-17  Michael Albinus  <michael.albinus@gmx.de>
39476         Fix Bug#24203
39478         * lisp/comint.el (comint-password-prompt-regexp): Relax regexp.  (Bug#24203)
39480 2016-08-16  Karl Fogel  <kfogel@red-bean.com>
39482         Improve doc string.
39484         * src/fileio.c (Ffile_name_as_directory): Be precise about the
39485         conditions under which a slash is appended.
39487 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
39489         Omit substitute-command-keys code no longer needed
39491         * src/doc.c (Fsubstitute_command_keys):
39492         Remove duplicate initializations.
39494 2016-08-16  Tino Calancha  <tino.calancha@gmail.com>
39496         Allow not erase output buffer in shell commands
39498         * lisp/simple.el (shell-command-not-erase-buffer): New option to allow
39499         not erasing the output buffer between shell commands.  Defaults to nil.
39500         (shell-command-on-region): Use it.
39501         (shell-command--save-pos-or-erase): New defun; store a buffer position
39502         if 'shell-command-not-erase-buffer' is non-nil; otherwise
39503         erase the output buffer of the shell command.
39504         (shell-command, shell-command-on-region): Use it.
39505         (shell-command--set-point-after-cmd): New defun;
39506         if 'shell-command-not-erase-buffer' is non-nil, set point
39507         in the output buffer to the position in 'shell-command-saved-pos'.
39508         (shell-command-sentinel, shell-command-on-region): Use it.
39509         * doc/emacs/misc.texi (shell-command-not-erase-buffer):
39510         Document this feature in the manual.
39511         See discussion on:
39512         https://lists.gnu.org/r/emacs-devel/2016-07/msg00610.html
39514 2016-08-16  Michael Albinus  <michael.albinus@gmx.de>
39516         Rearrange Tramp manual title page
39518         * doc/misc/tramp.texi: Move @insertcopying out of the title
39519         page.  Do not use @ifnottex anymore.
39521 2016-08-15  Glenn Morris  <rgm@gnu.org>
39523         * doc/misc/tramp.texi: Adapt 2016-08-14 change for makeinfo 4.
39525 2016-08-15  Alan Mackenzie  <acm@muc.de>
39527         Fix minor bug in c-syntactic-re-search-forward.
39529         Bug was: when NOERROR is neither nil nor t, BOUND is non-nil, PAREN-LEVEL is
39530         non-nil, and the first internal search attempt fails, point wrongly ends up at
39531         BOUND, rather than just before the next closing paren.
39533         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Guard against
39534         the above situation.
39536 2016-08-15  Alan Mackenzie  <acm@muc.de>
39538         Handle C++11 lambda functions.
39540         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): Enhance also to
39541         handle C++ lambda functions.
39542         (c-looking-at-c++-lambda-capture-list): New function.
39544         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize the
39545         parameter list of a lambda function and set `context' and
39546         `c-restricted-<>-arglists' suitably for it.
39547         (c-font-lock-c++-lambda-captures): New function.
39548         (c-complex-decl-matchers): Insert c-font-lock-c++-lambda-captures into it.
39550         * lisp/progmodes/cc-langs.el (c-pre-lambda-tokens, c-pre-lambda-tokens-re):
39551         New language constants/variables.
39552         (c-paren-nontype-kwds): Include "noexcept" in the C++ value.
39554         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Handle being in a C++ lambda
39555         function capture list.
39557 2016-08-15  Michael Albinus  <michael.albinus@gmx.de>
39559         Fix stale cache problem in Tramp
39561         * lisp/net/tramp-cache.el (tramp-get-connection-property):
39562         Check, that a process as key is still running.  (Bug#22478)
39564 2016-08-14  Paul Eggert  <eggert@cs.ucla.edu>
39566         * doc/misc/tramp.texi (Configuration): Fix @xref typo.
39568 2016-08-14  Eli Zaretskii  <eliz@gnu.org>
39570         Another fix for scroll-conservatively and overlay strings
39572         * src/xdisp.c (redisplay_window): Handle also the case where the
39573         calculated window-start point has an overlay string touching it.
39574         (Bug#24179)
39576 2016-08-14  Michael Albinus  <michael.albinus@gmx.de>
39578         Improve handling of defcustoms in tramp
39580         * doc/misc/tramp.texi: Protect all multi-line examples by
39581         @group ... @end group.  Use proper `custom-set-variables'
39582         examples.  Use consequently @option for user options.  Remove
39583         superfluous @cindex and @vindex entries.
39584         (Top): Remove reference to outdated mail archives.
39585         (Configuration): Tune references.
39586         (Default Method): Make `tramp-default-method' and
39587         `tramp-default-method-alist' a @defopt.
39588         (Default User): Make `tramp-default-user' and
39589         `tramp-default-user-alist' a @defopt.
39590         (Default Host): Make `tramp-default-host' and
39591         `tramp-default-host-alist' a @defopt.
39593         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
39594         (tramp-backup-directory-alist, tramp-auto-save-directory)
39595         (tramp-encoding-shell, tramp-encoding-command-switch)
39596         (tramp-encoding-command-interactive, tramp-default-method)
39597         (tramp-default-method-alist, tramp-default-user)
39598         (tramp-default-user-alist, tramp-default-host)
39599         (tramp-default-host-alist, tramp-default-proxies-alist)
39600         (tramp-save-ad-hoc-proxies)
39601         (tramp-restricted-shell-hosts-alist)
39602         (tramp-local-end-of-line, tramp-rsh-end-of-line)
39603         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
39604         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
39605         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
39606         (tramp-terminal-prompt-regexp)
39607         (tramp-operation-not-permitted-regexp)
39608         (tramp-copy-failed-regexp, tramp-process-alive-regexp)
39609         (tramp-syntax, tramp-chunksize)
39610         (tramp-process-connection-type, tramp-connection-timeout)
39611         (tramp-connection-min-time-diff)
39612         (tramp-completion-reread-directory-timeout):
39613         * lisp/net/tramp-adb.el (tramp-adb-program)
39614         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
39615         * lisp/net/tramp-cache.el (tramp-connection-properties)
39616         (tramp-persistency-file-name):
39617         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
39618         (tramp-gvfs-zeroconf-domain)
39619         (tramp-bluez-discover-devices-timeout):
39620         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
39621         (tramp-copy-size-limit, tramp-terminal-type)
39622         (tramp-histfile-override)
39623         (tramp-use-ssh-controlmaster-options, tramp-remote-path)
39624         (tramp-remote-process-environment, tramp-sh-extra-args):
39625         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
39626         (tramp-smb-conf, tramp-smb-winexe-program)
39627         (tramp-smb-winexe-shell-command)
39628         (tramp-smb-winexe-shell-command-switch): Add :require 'tramp.
39630 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
39632         Minor text-quoting-style fixes
39634         * lisp/cus-edit.el (custom-buffer-create-internal):
39635         * lisp/recentf.el (recentf-edit-list):
39636         Follow text-quoting-style preference when quoting in UI strings.
39637         * src/doc.c (Fsubstitute_command_keys): Don’t say that curved
39638         quotes are substituted for, as this is no longer true.
39640 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
39642         Fix substitute-command-keys unibyte, alloc bugs
39644         * src/doc.c (Fsubstitute_command_keys): Fix some problems with
39645         unibyte strings and with buffer allocation.  Make strings
39646         multibyte, to avoid problems with unibyte strings that are not
39647         valid UTF-8 (Bug#24206).  Redo buffer allocation so that it is
39648         O(N), not O(N**2).  Avoid going past the end of the input string
39649         when given invalid input.  Avoid some unlikely problems in
39650         accessing the wrong storage after a GC.
39652 2016-08-13  Joakim Jalap  <joakim.jalap@fastmail.com>
39654         Fix "C-u" when an input method is active
39656         * lisp/international/quail.el (quail-input-method): Defer to the
39657         input method iff 'overriding-terminal-local-map' is
39658         'universal-argument-map' and the given key has no binding there.
39659         (Bug#22958)
39661 2016-08-13  Martin Rudalics  <rudalics@gmx.at>
39663         Fix docs on `display-buffer-below-selected' (Bug#24213)
39665         * lisp/window.el (display-buffer-below-selected): Fix
39666         doc-string (Bug#24213).
39667         * doc/lispref/windows.texi (Display Action Functions): Fix
39668         documentation of `display-buffer-below-selected'.
39670 2016-08-12  Tino Calancha  <tino.calancha@gmail.com>
39672         cl-fill: Rename arguments to cl-seq and cl-item
39674         * lisp/emacs-lisp/cl-seq.el (cl-fill):
39675         Rename arguments to 'cl-seq' and 'cl-item' as elsewhere.
39677 2016-08-12  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
39679         Fix display.texi typo
39681         * doc/lispref/display.texi (Faces): Fix typo.
39683 2016-08-11  Paul Eggert  <eggert@cs.ucla.edu>
39685         Fix process leak with make-network-process
39687         This problem was introduced by the recent async changes (Bug#23808).
39688         * src/process.c (Fmake_process): Move USE_SAFE_ALLOCA later,
39689         so that it follows the start_process_unwind unwind-protect.
39690         Set pid to -1 while the process is being created.
39691         (start_process_unwind): Omit unnecessary emacs_abort test.
39692         (connect_network_socket): Simplify use of counts.  Unwind
39693         bind_polling_period a bit earlier, so that a remove_process
39694         unwind-protect can be added when needed; this is the heart of
39695         the fix.  Undo the unwind-protect just before returning.
39697 2016-08-11  Eli Zaretskii  <eliz@gnu.org>
39699         Avoid annoying re-scroll when buffer has many overlay strings
39701         * src/xdisp.c (redisplay_window): Add better recovery from a
39702         situation where window-start is on buffer position which has a
39703         before-string that includes newlines, with the result that point
39704         is not visible in the window, because the display engine starts
39705         displaying with the before-string.  (Bug#24179)
39707 2016-08-10  Paul Eggert  <eggert@cs.ucla.edu>
39709         Omit unnecessary process initialization
39711         * src/process.c (make_process, Fmake_process)
39712         (Fmake_pipe_process, Fmake_serial_process)
39713         (Fmake_network_process, server_accept_connection):
39714         Omit unnecessary initialization of already-cleared storage.
39716 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
39718         cl-delete-duplicates: Parse :if to have cl-if bound
39720         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
39721         We need also to parse keyword :if, otherwise cl-if
39722         is unbound.
39723         This reverts commit:
39724         68fdbeb917b80e29e0b15506f18f7ed41d8ffdfd
39726 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
39728         cl-delete-duplicates: do not parse :if keyword
39730         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
39731         Parse only the supported keywords.
39733 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
39735         Add compatibility layer for `temporary-file-directory-function'
39737         * lisp/net/tramp-compat.el
39738         (tramp-compat-temporary-file-directory-function): New defalias.
39740         * lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it.
39742         * test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file):
39743         Skip for older Emacs versions.
39745 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
39747         * lisp/comint.el (comint-password-prompt-regexp): Add "PEM" for OpenVPN.
39749         (Bug#24059)
39751 2016-08-10  Vincent Belaïche  <vincentb1@users.sourceforge.net>
39753         Handle nil cell value in compiled printer functions.
39755         * doc/misc/ses.texi (Quick Tutorial): Minor clarification about the
39756         ses-range `!' modifier.
39757         (More on cell printing): Fix this that the fallback printer is
39758         `ses-prin1', not "%S".  That makes a difference for any cell value for
39759         which "%S" would insert a backslash characters.
39761         * lisp/ses.el (ses-local-printer-compile): Handle the nil cell value
39762         --- contrary to emacs-25 branches ses-call-printer does not handle
39763         prior to calling a function printer.  Not doing this would still work
39764         because the compiled function would throw and error and SES would in
39765         the end resort to the ses-prin1 fallback, however this way would not
39766         be in line with the raison d'être of compiling printer which is speed.
39768 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
39770         Turn on lexical-binding in json.el
39772         Measuring with (benchmark-run 100 (json-read-file "foobar.json"))
39773         showed 12-31% reduction in execution time.
39774         * lisp/json.el: Turn on lexical-binding.
39776 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
39778         Nudge WoMan toward lexical-binding
39780         * lisp/woman.el (woman-parse-man.conf, woman-manpath-add-locales):
39781         Use cl-pushnew instead of add-to-list.
39782         (woman-justify-list): Rename to woman-justify-styles.
39783         (woman-justify-styles): New array.
39784         (woman-justify, woman-decode-region, woman2-ad, woman2-na): Use it.
39785         (woman-cached-data): Use cl-pushnew instead of add-to-list.
39787 2016-08-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
39789         Apply changes from commits 3c97b0f758 and 8a38e948b0 to master branch.
39791         Here follows the logs from the two commits which I apply to master.
39793         commit 3c97b0f7589e06aeb1ab0147f0ee32974c32926d
39794         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
39795         Date:   Fri Jul 29 13:44:14 2016 +0200
39797         Fix ses-delete-blanks to delete only blanks + documentation.
39799         * doc/misc/ses.texi (Quick Tutorial): Mention the '!'
39800         'ses-range' modifier as an alternative to 'ses+'.
39801         (Advanced Features): Add a refernce to node 'Nonrelocatable
39802         references' concerning function 'ses-rename-cell'.
39803         (Standard formula functions): Mention the '!' 'ses-range'
39804         modifier as an alternative to 'ses-delete-blanks'.
39805         (More on cell printing): Fix fallback printer
39806         definition.  Minor editorial formatting changes.
39807         (Nonrelocatable references): Document the use of
39808         'ses-rename-cell' as a better way to make cell reference
39809         non-relocatable.
39810         (The data area): Document the presence of local printer
39811         definitions in the data area.
39813         * lisp/ses.el (ses-delete-blanks): Do not remove
39814         *error*.  Any error in an argument should propagate into the
39815         using formula rather than being silently hidden !
39817         commit 8a38e948b039516e70176ebe20c5349e2ade6ac5
39818         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
39819         Date:   Thu Jul 28 19:49:37 2016 +0200
39821         Fix local printer set to left aligned string formatter.
39823         * lisp/ses.el (ses-local-printer-compile): Add missing case
39824         for left-aligned string formatter.
39826 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
39828         * .dir-locals.el (c-noise-macro-names): Remove NONVOLATILE.
39830 2016-08-09  Stefan Monnier  <monnier@iro.umontreal.ca>
39832         * lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing
39834         Change the code which detects and circumvents the case where one of the
39835         variables used in λ-lifting is shadowed, so that it also works when the
39836         shadowing comes before the λ-lifted function (bug#24171).
39838         (cconv--remap-llv): New function, extracted from cconv-convert.
39839         (cconv-convert): Use it, but differently for `let' and `let*'.
39841 2016-08-09  Alan Mackenzie  <acm@muc.de>
39843         CC Mode: check for and fix missing call to before_change_functions.
39845         Fixes bug #24094 and bug #24074.
39847         This can happen with `revert-buffer' or sometimes `find-file', when the file
39848         is already in a buffer, but the file has been changed outside of Emacs.
39850         * lisp/progmodes/cc-mode.el (c-after-change): When we detect a missing
39851         invocation of c-before-change-functions, we assume the changed region is the
39852         entire buffer, and call c-before-change explicitly before proceding.
39854 2016-08-09  Alan Mackenzie  <acm@muc.de>
39856         Make c-deprepertize-CPP work on deletion/insertion of "s.  Fixes bug #24132.
39858         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Rewrite function.
39860 2016-08-09  Michael Albinus  <michael.albinus@gmx.de>
39862         Support $ENV in Tramp
39864         * doc/misc/tramp.texi (Remote processes): Explain setting $ENV.
39866         * etc/NEWS: Explain the "ENV" environment variable in
39867         `tramp-remote-process-environment'.
39869         * lisp/net/tramp-sh.el (tramp-remote-process-environment): Add "ENV=''".
39870         (tramp-open-shell): Read $ENV value from
39871         `tramp-remote-process-environment'.
39872         (tramp-open-connection-setup-interactive-shell): Set values in
39873         proper order.
39875 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
39877         Simplify exec_byte_code via moving decls etc.
39879         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
39880         initializers into decls, and by omitting some unnecessary
39881         changes to ‘top’.  This improves performance a bit on x86-64,
39882         as it happens.
39884 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
39886         Remove interpreter’s byte stack
39888         This improves performance overall on my benchmark on x86-64,
39889         since the interpreted program-counter resides in a machine
39890         register rather than in RAM.
39891         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
39892         is no longer a byte stack to decode.
39893         * src/bytecode.c (struct byte_stack, byte_stack_list)
39894         (relocate_byte_stack): Remove.  All uses removed.
39895         (FETCH): Simplify now that pc is now local (typically, in a
39896         register) and no longer needs to be relocated.
39897         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
39898         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
39899         (exec_byte_code): Allocate a copy of the function’s bytecode,
39900         so that there is no problem if GC moves it.
39901         * src/lisp.h (struct handler): Remove byte_stack member.
39902         All uses removed.
39903         (SAFE_ALLOCA_LISP_EXTRA): New macro, a generalization of
39904         SAFE_ALLOCA_LISP.
39905         (SAFE_ALLOCA_LISP): Use it.
39907 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
39909         Remove arbitrary limit on bytecode maxdepth
39911         * src/bytecode.c (exec_byte_code): Remove MAX_ALLOCA-based limit
39912         on bytecode maxdepth, by using SAFE_ALLOCA_LISP instead of alloca.
39914         pipeline is fuller.
39916 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
39918         Tune bytecode quitting
39920         * src/bytecode.c (BYTE_CODE_QUIT): Check for GC, too.  Do the
39921         check only once every 256 times.  This should be good enough, and
39922         improves performance significantly on x86-64 as branch-prediction
39923         typically assumes checking will not be done so the instruction
39924         pipeline stays fuller.
39925         (exec_byte_code): Set up the quit counter.  Don’t call maybe_gc
39926         directly, as BYTE_CODE_QUIT does that now.
39928 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
39930         Simplify BYTE_CODE_SAFE checking
39932         * src/bytecode.c (BYTE_CODE_SAFE): Default to false, so that it
39933         can be used outside #if.  All uses of ‘defined BYTE_CODE_SAFE’
39934         changed to ‘BYTE_CODE_SAFE’.  Use BYTE_CODE_SAFE in plain
39935         expressions instead of #if expressions when this is easy.
39936         (struct byte_stack) [BYTE_CODE_SAFE]: Remove member ‘bottom’,
39937         as it is no longer needed.
39938         (exec_byte_code): Omit #if BYTE_CODE_SAFE when this is easy.
39939         Simplify stack-overflow checking when BYTE_CODE_SAFE.
39941 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
39943         Get BYTE_CODE_METER working again
39945         BYTE_CODE_METER hasn’t worked since 2013, and nobody seems to have
39946         noticed.  Perhaps we should remove it?
39947         * src/bytecode.c (METER_2) [BYTE_CODE_METER]:
39948         Use *aref_addr instead of AREF, since it needs to be an lvalue.
39950 2016-08-08  Eli Zaretskii  <eliz@gnu.org>
39952         Fix cursor position under scroll-conservatively and overlay strings
39954         * src/xdisp.c (try_scrolling): Handle the case where the last
39955         visible screen line of a window displays a before- or after-string
39956         that takes up the whole screen line, and therefore there's no
39957         place to display the cursor, even though the window does seem to
39958         include the position of point.  (Bug#24179)
39960 2016-08-08  Michael Albinus  <michael.albinus@gmx.de>
39962         * lisp/files.el (file-ownership-preserved-p): Fix docstring.  (Bug#23998)
39964 2016-08-07  Paul Eggert  <eggert@cs.ucla.edu>
39966         Tune interpretation of integer arglist descriptor
39968         * src/bytecode.c (exec_byte_code):
39969         Simplify and tune when INTEGERP (args_template).
39971 2016-08-07  Noam Postavsky  <npostavs@gmail.com>
39973         Fix debugging of string-match-p errors
39975         * src/eval.c (call_debugger): Bind inhibit-changing-match-data to nil so
39976         that debugger code that needs to do regexp match won't break
39977         (Bug #23949, Bug #24166, Bug#16294).
39979 2016-08-07  Michael Albinus  <michael.albinus@gmx.de>
39981         Add `make-nearby-temp-file' and `temporary-file-directory'
39983         * doc/lispref/files.texi (Unique File Names):
39984         Introduce `make-nearby-temp-file' and `temporary-file-directory'.
39985         (Magic File Names): Mention `make-nearby-temp-file' and
39986         `temporary-file-directory'.
39988         * etc/NEWS (provided): Mention `make-nearby-temp-file' and
39989         `temporary-file-directory'.
39991         * lisp/files.el (mounted-file-systems): New defcustom.
39992         (temporary-file-directory, make-nearby-temp-file): New defuns.
39993         (normal-backup-enable-predicate): Fix docstring.
39995         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
39996         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
39997         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
39998         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
39999         <make-nearby-temp-file, temporary-file-directory>: Add handler.
40001         * lisp/net/tramp.el (tramp-file-name-for-operation):
40002         Add `make-nearby-temp-file' and `temporary-file-directory'.
40003         (tramp-get-remote-tmpdir): Remove compatibility code.
40004         (tramp-handle-temporary-file-directory)
40005         (tramp-handle-make-nearby-temp-file): New defuns.
40007         * lisp/org/ob-core.el (org-babel-local-file-name):
40008         * lisp/progmodes/gud.el (gud-common-init):
40009         * lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.
40011         * lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.
40013         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
40014         Check `tramp--test-enabled'.
40015         (tramp-test18-file-attributes): Add tests for
40016         `file-ownership-preserved-p'.
40017         (tramp-test27-start-file-process, tramp-test28-shell-command):
40018         Reduce timeouts in `accept-process-output'.
40019         (tramp-test--shell-command-to-string-asynchronously): Add timeout.
40020         (tramp-test29-environment-variables): Remove additional sleep calls.
40021         (tramp-test32-make-nearby-temp-file): New test.
40022         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
40023         (tramp-test33-special-characters)
40024         (tramp-test33-special-characters-with-stat)
40025         (tramp-test33-special-characters-with-perl)
40026         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
40027         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
40028         (tramp-test34-utf8-with-ls)
40029         (tramp-test35-asynchronous-requests)
40030         (tramp-test36-recursive-load, tramp-test37-unload): Rename.
40031         (tramp--test-ftp-p): Simplify check.
40032         (tramp--test-sh-p): New defun.
40033         (tramp-test20-file-modes, tramp-test22-file-times)
40034         (tramp-test26-process-file, tramp-test27-start-file-process)
40035         (tramp-test28-shell-command)
40036         (tramp-test29-environment-variables)
40037         (tramp-test30-vc-registered)
40038         (tramp-test33-special-characters-with-stat)
40039         (tramp-test33-special-characters-with-perl)
40040         (tramp-test33-special-characters-with-ls)
40041         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
40042         (tramp-test34-utf8-with-ls)
40043         (tramp-test35-asynchronous-requests): Use it.
40045 2016-08-06  Michael Albinus  <michael.albinus@gmx.de>
40047         Add missing dcstrings in Tramp, remove chec for obsolee methods
40049         * lisp/net/tramp.el (tramp-progress-reporter-update)
40050         (tramp-unload-file-name-handlers, tramp-get-local-uid)
40051         (tramp-get-local-gid, tramp-get-local-locale):
40052         * lisp/net/tramp-adb.el (tramp-adb-ls-date-regexp)
40053         (tramp-adb-ls-toolbox-regexp, tramp-adb-get-ls-command):
40054         * lisp/net/tramp-compat.el (tramp-compat-funcall):
40055         * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
40056         * lisp/net/tramp-gw.el (tramp-gw-process-filter):
40057         * lisp/net/tramp-sh.el (tramp-get-remote-path)
40058         (tramp-get-remote-locale, tramp-get-ls-command)
40059         (tramp-get-ls-command-with-dired)
40060         (tramp-get-ls-command-with-quoting-style)
40061         (tramp-get-ls-command-with-w-option)
40062         (tramp-get-test-nt-command, tramp-get-file-exists-command)
40063         (tramp-get-remote-ln, tramp-get-remote-perl)
40064         (tramp-get-remote-stat, tramp-get-remote-readlink)
40065         (tramp-get-remote-trash, tramp-get-remote-touch)
40066         (tramp-get-remote-gvfs-monitor-dir)
40067         (tramp-get-remote-inotifywait, tramp-get-remote-id)
40068         (tramp-get-remote-uid-with-id)
40069         (tramp-get-remote-uid-with-perl, tramp-get-remote-python)
40070         (tramp-get-remote-uid-with-python, tramp-get-remote-uid)
40071         (tramp-get-remote-gid-with-id)
40072         (tramp-get-remote-gid-with-perl)
40073         (tramp-get-remote-gid-with-python, tramp-get-remote-gid)
40074         (tramp-get-env-with-u-option): Add missing docstrings.
40076         * lisp/net/tramp.el (tramp-obsolete-methods)
40077         (tramp-warned-obsolete-methods): Remove.
40078         (tramp-find-method): Do not check for obsolete methods any longer.
40080 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
40082         Make sh-mode always use p-s-lookup-properties
40084         This lets functions which rely on syntax-propertize for parsing
40085         work correctly even before font lock has a chance to run.
40087         * lisp/progmodes/sh-script.el (sh-set-shell): Set
40088         parse-sexp-lookup-properties unconditionally (Bug #4920).
40090 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
40092         Fix cl-assert with atomp FORM, non-nil SHOW-ARGS
40094         * lisp/emacs-lisp/cl-macs.el (cl-assert): Don't require that FORM is a
40095         list when showing its (non-existent) arguments (Bug #18587).
40097 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
40099         Don't delete selection after indent-rigidly
40101         * lisp/indent.el (indent-rigidly): Pass `deactivate-mark' as the ON-EXIT
40102         function to `set-transient-map', this prevents `delete-selection-mode'
40103         from deleting the text that was just indented (Bug #20408).
40105 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
40107         Fix byte-compile of interactive closures
40109         * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Put
40110         bindings after docstring and `interactive' form, if any (Bug #24122).
40112 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
40114         Error if --eval arg has text beyond 1 expression
40116         * lisp/startup.el (command-line-1): If --eval argument has more data
40117         than constitutes a single Lisp expression, signal an error (Bug #23159).
40119 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
40121         Fix quoted lambda warning from lexical-let
40123         * lisp/emacs-lisp/cl.el (cl--function-convert): Quote the inner lambda
40124         with `function', not `quote' (Bug #11357).
40126 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
40128         Make emerge always use shell-quote-argument
40130         * lisp/vc/emerge.el (emerge-metachars): Obsolete.
40131         (emerge-protect-metachars): Delete.
40132         (emerge-make-diff-list, emerge-make-diff3-list): Replace all calls to
40133         `emerge-protect-metachars' with `shell-quote-argument' so that shell
40134         quoting is done the same on all system types (Bug #6136).  Also shell
40135         quote `emerge-diff-program' and `emerge-diff3-program'.
40137 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
40139         Fix 'dired-diff' when backup file is in another directory
40141         * lisp/dired-aux.el (dired-diff): Clarify the doc string wrt how
40142         the default for FILE is computed, especially when backup files
40143         are involved.  Support backup files in another directory.
40144         Don't suggest the default FILE if it doesn't exist.  (Bug#24089)
40146 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
40148         Fix the 'T' command in Dired with non_ASCII file names
40150         * lisp/dired-aux.el (dired-do-chxxx): Bind coding-system-for-write
40151         to correctly encode file names passed to the invoked PROGRAM.
40152         (Bug#24162)
40154 2016-08-05  Noam Postavsky  <npostavs@gmail.com>
40156         * lisp/files.el (version-control): Drop :group vc (Bug #14687)
40158 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40160         Merge from origin/emacs-25
40162         d841a03 ; Spelling fix
40163         a6ae479 Post AppDefined events from the main thread ONLY (bug#23934)
40164         d35d398 Update to the AUTHORS file for Bob Weiner
40165         4d2f4df Revert "Fix local printer set to left aligned string formatter."
40166         cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + documen...
40167         f7ceb8e Revert "Fix English."
40168         baa7abd Improve doc strings of 'gud-gdb' and 'gdb'
40169         aa4271a Fix doc string of 'minibuffer-message-timeout'
40170         b275cc7 Fix English.
40171         3c97b0f Fix ses-delete-blanks to delete only blanks + documentation.
40172         272391f profiler: document prefix arg for tree expansion
40173         442cc39 Clarify usage of eshell-visual-options
40174         b443c3c Fix comment in files-in-below-directory
40175         8a38e94 Fix local printer set to left aligned string formatter.
40176         0f0b191 ; Fix typos in NEWS
40177         6bdf687 ; * etc/NEWS: Remove temporary marks
40179 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40181         Merge from origin/emacs-25
40183         d08afa1 * etc/AUTHORS: Update the AUTHORS file
40184         2668500 ;; * ChangeLog.2: ChangeLog update.
40185         7acfaea ; ChangeLog fixes
40186         97d28b4 * admin/authors.el (authors-valid-file-names): Addition.
40187         9ab52f6 * admin/authors.el: Additions.
40188         0e646c7 Warn about Cairo-related problems
40189         bc4c07f Don't let completion break `declare' handling
40190         66f95e0 Adjust match data before calling after-change-funs
40191         52cf0d5 Do not show string-rectangle preview if minibuffer is empty
40192         6a3d031 * etc/PROBLEMS: Add entry about selection problems under Plas...
40194         # Conflicts:
40195         #       ChangeLog.2
40196         #       src/lisp.h
40198 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40200         Merge from origin/emacs-25
40202         9a41cd1 ; Fix typo
40203         9356fe2 Expand FIXME near definition of fboundp
40204         219b39f kill-rectangle should mention killed-rectangle
40205         59fa4c3 Avoid assertion violations in nhexl-mode
40207 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40209         Merge from origin/emacs-25
40211         9ba51ed Document buffer-swap-text+save-excursion interaction
40212         452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug...
40213         248d5dd Include cl-generic in package--builtin-versions (bug#22817)
40214         8f5a8b6 Improve timing in `tramp-test29-environment-variables'
40215         05ba7a0 Add test for handling environment variables in Tramp
40216         e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st...
40217         5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo.  (Bug#23913)
40218         90f2169 ; Spelling fixes
40219         069fc05 Improve documentation of search functions
40220         0a0144a Delete environment variables in Tramp when needed
40221         f624671 Add "New in Emacs 25" section to the FAQ
40222         658daf9 Fix 'vertical-motion' in non-interactive sessions
40223         686b520 Fix memory leak in imagemagick-types
40224         4069b71 Update ELisp manual to match 'string-collate-equalp' doc string
40225         1b2d6a6 Clarify docstring of find-feature-regexp
40226         aac62a6 Add details to cl-lib defining macros' docstrings
40227         d6aa4da Clarify doc string of 'save-buffer'
40228         03bcf11 Un-confuse doc string of 'string-collate-equalp'
40229         c53135b Clarify documentation of 'mouse-on-link-p'
40231         # Conflicts:
40232         #       lisp/emacs-lisp/eieio-core.el
40234 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40236         Merge from origin/emacs-25
40238         6f285d9 Amend last addition to etc/PROBLEMS
40239         7067890 * etc/PROBLEMS: Mention GTK+ problem with unexpected frame wi...
40241 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40243         Merge from origin/emacs-25
40245         d4c6774 Fix missing point information in undo
40246         3a9d629 Avoid crashes when buffer modification hooks clobber match data
40247         178b2f5 Note combine-and-quote-strings doesn't shell quote
40248         dec7567 Explain when package-initialize isn't called
40249         113d1e2 Fix escaping in sh-indent-after-continuation docstr
40250         80e2044 ; * etc/NEWS: Improve previous change.
40251         5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars.
40252         38f4b8e Clarify the documentation of back-references in replacements
40254 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40256         Merge from origin/emacs-25
40258         850ba44 Clarify lexical binding with symbol args behavior
40259         f981b31 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.
40260         68fc964 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.  (Bug#23...
40261         21110af Avoid assertion violations when rendering some fonts
40262         6192b6c Document more details of package activation
40263         272ddc6 Fixup warning message regarding HOME a bit more
40264         43206d6 * lisp/leim/quail/indian.el ("bengali-probhat"): Change indic...
40265         d41f7ff Fix input method "probhat" for Bengali
40266         c150a64 ; Fix typo in commit before last
40267         ebf0472 Add to elisp-completion-at-point's docstring
40268         fd9fad0 Give more helpful warning about setting HOME
40269         ea6b01d ; * lisp/term.el (term-mode): FIXME comment about bidi reorde...
40271         # Conflicts:
40272         #       lisp/term.el
40274 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40276         Merge from origin/emacs-25
40278         26d4da0 New input method "probhat" for Bengali
40279         4f445bf ; Spelling fix
40280         f403f03 ; Fix typo
40282 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40284         Spelling and minor grammar fixes
40286         * test/file-organization.org: Rename from test/file-organisation.org.
40288 2016-08-04  Alan Mackenzie  <acm@muc.de>
40290         Widen in certain low level CC Mode functions.  This fixes bug #24148.
40292         * lisp/progmodes/cc-engine.el (c-state-semi-pp-to-literal)
40293         (c-state-full-pp-to-literal): Widen around the functionality.
40294         (c-parse-ps-state-below): Correct the order of save-excursion and
40295         save-restriction.
40297 2016-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
40299         Fix Bug#24149
40301         * lisp/subr.el (set-transient-map): Don't wait if MAP not present in
40302         overriding-terminal-local-map.  (Bug#24149)
40304 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
40306         Update from gnulib
40308         This incorporates:
40309         2016-07-03 mktime: call tzset as per POSIX
40310         * doc/misc/texinfo.tex, lib/mktime.c, m4/mktime.m4:
40311         Copy from gnulib.
40313 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
40315         Fix GnuTLS includes
40317         * src/gnutls.c [HAVE_GNUTLS]: Don’t include gnutls/gnutls.h
40318         a second time; although it doesn’t hurt, it’s not needed.
40319         * src/sysdep.c [!HAVE_GNUTLS]: Don’t include gnutls/crypto.h,
40320         as it may not be available.  Problem reported by Glenn Morris in:
40321         https://lists.gnu.org/r/emacs-devel/2016-08/msg00100.html
40323 2016-08-03  Michal Nazarewicz  <mina86@mina86.com>
40325         Fix accessing regex-resources in out-of-tree test runs in regex-tests
40327         [82a487d: Fix reading of regex-resources in regex-tests] attempted to
40328         fix regex-tests failing when run from the source tree (i.e. via make)
40329         by hard-coding path to regex-resources directory relative to the test
40330         directory.
40332         This fixed runs from the tree but broke the test when run using other
40333         methods.
40335         Fix by trying ‘load-file-name’ or ‘buffer-file-name’, whichever is set.
40337         * test/src/regex-tests.el (regex-tests--resources-dir): New variable
40338         storing path to the regex-resources directory.
40339         (regex-tests-generic-line): Use aforementioned variable.
40341 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
40343         Simplify by assuming GnuTLS 2.12.2 or later
40345         * src/gnutls.c (gnutls_certificate_details):
40346         * src/sysdep.c: Assume GnuTLS 2.12.2 or later.
40348 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
40350         Port to systems lacking GNUTLS_NONBLOCK
40352         Problem reported by Colin Baxter in:
40353         https://lists.gnu.org/r/emacs-devel/2016-08/msg00096.html
40354         * src/gnutls.c (Fgnutls_boot): Don’t assume GNUTLS_NONBLOCK is defined.
40356 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
40358         Fix non-blocking GnuTLS with slow connection
40360         Although the problem is reported for OS X (Bug#23982), it seems to
40361         be possible on other POSIXish platforms.
40362         * src/gnutls.c (emacs_gnutls_nonblock_errno) [!WINDOWSNT]:
40363         New function.
40364         (emacs_gnutls_handshake) [!WINDOWSNT]:
40365         Use it as the errno function, if non-blocking.
40366         (Fgnutls_boot): Use GNUTLS_NONBLOCK if non-blocking.
40368 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
40370         Require GnuTLS 2.12.2 or later
40372         * configure.ac, etc/NEWS: Require GnuTLS 2.12.2 or later,
40373         instead of merely 2.6.6 or later (Bug#23982#20).
40374         * src/gnutls.c (init_gnutls_functions, emacs_gnutls_handshake)
40375         [WINDOWSNT]: Don’t bother with gnutls_check_version or
40376         gnutls_transport_set_lowat, as they are no longer needed now that
40377         we require gnutls 2.12.2 or later.
40379 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
40381         * src/window.c (sanitize_window_sizes): Remove unused arg `frame'
40383         * src/window.h (sanitize_window_sizes): Adjust prototype.
40384         * src/frame.c (adjust_frame_size): Adjust calls.
40386 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
40388         Fix (mapcar F S) crash when F alters S’s length
40390         * src/fns.c (mapcar1): Return number of elements computed,
40391         which can be less than LENI if the function alters the list.
40392         All callers changed.  (Bug#24118)
40394 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
40396         Port window changes to --enable-gcc-warnings
40398         * src/window.c (sanitize_window_sizes): Return void.
40399         This pacifies GCC, and no caller uses the return value anyway.
40401 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
40403         * src/window.c: Fix bootstrap failure due to window.el changes
40405         (sanitize_window_sizes): Adjust to new calling convention of
40406         window--sanitize-window-sizes and only call it if defined.
40407         (Fwindow__sanitize_window_sizes): Remove.
40408         (syms_of_window): Don't defsubr it.
40410 2016-08-02  Michael Albinus  <michael.albinus@gmx.de>
40412         Fix Bug#23883
40414         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
40415         Call `process-actions' with adapted position.  The connection
40416         buffer might have been cleaned up already.  (Bug#23883)
40418 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
40420         Port regex changes to strict ISO C
40422         * src/regex.c (regex_compile): Redo casts.
40424 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
40426         * lisp/window.el: Use lexical-binding
40428         (window--min-size-ignore-p): Remove unused arg `horizontal'.
40429         (window--sanitize-window-sizes): Remove unused arg `frame'.
40430         (window-edges): Remove unused vars left-off and right-off.
40431         (display-buffer-reuse-mode-window): Remove unused var `frame?'.
40432         Avoid extraneous setq and do a bit of CSE.
40433         (fit-frame-to-buffer): Remove unused vars `window', `fit-width',
40434         and `toolbar-extra-height'.
40435         (window-adjust-process-window-size): Remove unused arg `process'.
40437 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40439         Fix unused lexical variable
40441         This fixes the following warning:
40443             In toplevel form:
40444             src/regex-tests.el:416:1:Warning: Unused lexical variable ‘newline’
40446         * test/src/regex-tests.el (regex-tests-BOOST): Remove unused lexical
40447         variable.
40449 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40451         Remove unused STREQ macro
40453         This fixes the following compilation warning:
40455             regex.c:516:0: warning: macro "STREQ" is not used [-Wunused-macros]
40456              #define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
40457              ^
40459         * src/regex.c (STREQ): Remove unused macro.  It should have been removed
40460         in a [4538a5e: Refactor regex character class parsing in [:name:]]
40461         commit but was mistakenly left out.
40463 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
40465         * lisp/emacs-lisp/cl-generic.el: Fix problems introduced by new
40466         load-history format
40468         * lisp/emacs-lisp/cl-generic.el (cl--generic-load-hist-format): New function.
40469         (cl-generic-define-method, cl--generic-describe): Use it.
40470         (cl--generic-search-method): Adjust for new format.
40472         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
40473         * test/lisp/progmodes/elisp-mode-tests.el:
40474         Use cl--generic-load-hist-format rather than hard-coding cl-generic's
40475         internal format.
40477 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40479         Hardcode regex syntax to remove dead code handling different syntax
40481         Emacs only ever uses its own regex syntax so support for other syntaxes
40482         is never used.  Hardcode the syntax so that the compilar can detect such
40483         dead code and remove it from compiled code.
40485         The only exception is RE_NO_POSIX_BACKTRACKING which can be separatelly
40486         specified.  Handle this separatelly with a function argument (replacing
40487         now unnecessary syntax argument).
40489         With this patchset, size of Emacs binary on x86_64 machine is reduced by
40490         around 60 kB:
40492                 new-sizes:-rwx------ 3 mpn eng 30254720 Jul 27 23:31 src/emacs
40493                 old-sizes:-rwx------ 3 mpn eng 30314828 Jul 27 23:29 src/emacs
40495         * src/regex.h (re_pattern_buffer): Don’t define syntax field #ifdef emacs.
40496         (re_compile_pattern): Replace syntax with posix_backtracking argument.
40498         * src/regex.c (print_compiled_pattern): Don’t print syntax #ifdef emacs.
40499         (regex_compile): #ifdef emacs, replace syntax argument with
40500         posix_backtracking which is now used instead of testing for
40501         RE_NO_POSIX_BACKTRACKING syntax.
40502         (re_match_2_internal): Don’t access bufp->syntax #ifndef emacs.
40503         (re_compile_pattern): Replace syntax with posix_backtracking argument.
40505         * src/search.c (compile_pattern_1): Pass boolean posix_backtracking
40506         instead of syntax to re_compile_pattern.
40508 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40510         Get rid of re_set_whitespace_regexp
40512         * src/regex.h (re_set_whitespace_regexp): Delete.
40513         (re_compile_pattern): Add whitespace_regexp argument #ifdef emacs.
40515         * src/regex.c (re_set_whitespace_regexp, whitespace_regexp): Delete.
40516         (regex_compile): Add whitespace_regexp argument #ifdef emacs and wrap
40517         whitespace_regexp-related code in an #ifdef emacs so it’s compiled out
40518         unless building Emacs.
40519         (re_compile_pattern): Pass whitespace_regexp argument to regex_compile
40521         * src/search.c (compile_pattern_1): Don’t use re_set_whitespace_regexp,
40522         pass the regex as argument to re_compile_pattern instead.
40524 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40526         Get rid of re_set_syntax
40528         Instead of using a global variable for storing regex syntax, pass it
40529         to re_compile_pattern.  This is only enabled when compiling Emacs (i.e.
40530         ‘#ifdef emacs’).
40532         * src/regex.h (re_set_syntax): Declare only #ifndef emacs.
40533         (re_compile_pattern): Now takes syntax argument #ifdef emacs.
40535         * src/regex.c (re_syntax_options): Define only #ifndef emacs.
40536         (re_compile_pattern): Use the new syntax argument #ifdef emacs.
40538         * src/search.c (compile_pattern_1): Don’t use re_set_syntax and
40539         instead pass syntax to re_compile_pattern directly.
40541 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40543         Remove dead opcodes in regex bytecode
40545         There is no way to specify before_dot and after_dot opcodes in a regex
40546         so code handling those ends up being dead.  Remove it.
40548         * src/regex.c (print_partial_compiled_pattern, regex_compile,
40549         analyze_first, re_match_2_internal): Remove handling and references to
40550         before_dot and after_dot opcodes.
40552 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40554         Refactor regex character class parsing in [:name:]
40556         re_wctype function is used in three separate places and in all of
40557         those places almost exact code extracting the name from [:name:]
40558         surrounds it.  Furthermore, re_wctype requires a NUL-terminated
40559         string, so the name of the character class is copied to a temporary
40560         buffer.
40562         The code duplication and unnecessary memory copying can be avoided by
40563         pushing the responsibility of parsing the whole [:name:] sequence to
40564         the function.
40566         Furthermore, since now the function has access to the length of the
40567         character class name (since it’s doing the parsing), it can take
40568         advantage of that information in skipping some string comparisons and
40569         using a constant-length memcmp instead of strcmp which needs to take
40570         care of NUL bytes.
40572         * src/regex.c (re_wctype): Delete function.  Replace it with:
40573         (re_wctype_parse): New function which parses a whole [:name:] string
40574         and returns a RECC_* constant or -1 if the string is not of [:name:]
40575         format.
40576         (regex_compile): Use re_wctype_parse.
40577         * src/syntax.c (skip_chars): Use re_wctype_parse.
40579 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40581         Split regex glibc test cases into separet tests
40583         * test/src/regex-tests.el (regex-tests): Remove and split into multiple
40584         tests cases.
40585         (regex-tests-glbic-BOOST, regex-tests-glibc-PCRE,
40586         regex-tests-glibc-PTESTS, regex-tests-glibc-TESTS): New test cases split
40587         from ‘regex-tests’.
40589 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40591         Don’t (require 'cl)
40593         * test/src/regex-tests.el: Don’t (require 'cl).
40594         (regex-tests-PCRE): s/loop/cl-loop/
40596 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40598         Fix reading of regex-resources in regex-tests
40600         * test/src/regex-tests.el (regex-tests-generic-line): Referring to
40601         ‘buffer-file-name’ does not work when running the test from command
40602         line, i.e. via make, which results in (wrong-type-argument stringp nil)
40603         failures.  Replace it with hard-coded path.
40604         (regex-tests-BOOST, regex-tests-PCRE, regex-tests-PTESTS-whitelist,
40605         regex-tests-TESTS-whitelist): ‘regex-tests-generic-line’ now  includes
40606         the ‘regex-resources’ path component so the tests don’t need to specify
40607         it explicitly.
40609 2016-08-02  Dima Kogan  <dima@secretsauce.net>
40611         Added driver for the regex tests
40613         * test/src/regex-tests.el (regex-tests): Test executing glibc tests
40614         cases.
40616         [mina86@mina86.com: merged test with existing file]
40618 2016-08-02  Dima Kogan  <dima@secretsauce.net>
40620         New regex tests imported from glibc 2.21
40622         * test/src/regex-resources/BOOST.tests:
40623         * test/src/regex-resources/PCRE.tests:
40624         * test/src/regex-resources/PTESTS:
40625         * test/src/regex-resources/TESTS:
40626         New test data files
40628         [mina86@mina86.com: Moved files from test/src/regex/* to test/src/*.]
40630 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
40632         Fix use-after-close in connect_network_socket
40634         * src/process.c (connect_network_socket):
40635         Reverse sense of previous fix.  Problem reported by Ken Brown in:
40636         https://lists.gnu.org/r/emacs-devel/2016-08/msg00004.html
40638 2016-08-01  Glenn Morris  <rgm@gnu.org>
40640         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
40641         Respect autoload-timestamps for "actual autoloads are elsewhere" case.
40643 2016-07-31  Stefan Merten  <stefan@merten-home.de>
40645         * lisp/textmodes/rst.el: Major refactoring, minor changes, minor fixes
40647         (rst-Ado, rst-Hdr, rst-Ttl, rst-Stn): Introduce classes
40648         representing reStructuredText section header concepts.
40649         (rst-mode-map, rst-new-preferred-hdr)
40650         (rst-update-section, rst-classify-adornment)
40651         (rst-ttl-at-point, rst-all-ttls-cache)
40652         (rst-hdr-hierarchy-cache, rst-reset-section-caches)
40653         (rst-all-ttls, rst-infer-hdr-hierarchy, rst-hdr-hierarchy)
40654         (rst-all-ttls-with-level, rst-get-previous-hdr)
40655         (rst-adornment-complete-p, rst-next-hdr, rst-adjust)
40656         (rst-adjust-section, rst-promote-region)
40657         (rst-display-hdr-hierarchy, rst-straighten-sections)
40658         (rst-all-stn, rst-remaining-stn, rst-toc-insert)
40659         (rst-toc-insert-node, rst-toc-node, rst-toc)
40660         (rst-forward-section, rst-adornment-level)
40661         (rst-font-lock-handle-adornment-pre-match-form)
40662         (rst-imenu-convert-cell, rst-imenu-create-index): Refactor
40663         using classes.
40664         (rst-compare-adornments, rst-get-adornment-match): Remove
40665         functions now in classes.
40666         (rst-re-alist-def, rst-toc-mode)
40667         (rst-font-lock-extend-region-extend): Minor improvements.
40668         (rst-mode, rst-compile): Use `setq-local'.
40669         (rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
40670         (rst-official-version, rst-official-cvs-rev)
40671         (rst-package-emacs-version-alist): Maintain version tags.
40673 2016-07-30  Martin Rudalics  <rudalics@gmx.at>
40675         Fix calculation of tool bar width reported by `frame-geometry' (Bug#24107)
40677         * src/w32fns.c (Fw32_frame_geometry): Fix calculation of tool
40678         bar width (Bug#24107).  Reindent.
40679         * src/xfns.c (frame_geometry): Fix calculation of tool bar
40680         width on non-GTK builds.
40682 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
40684         Fix region display while dragging mouse
40686         * lisp/mouse.el (mouse-drag-track): Reset deactivate-mark in the
40687         buffer of the drag event, to allow mark to be set and the region
40688         be shown as we drag the mouse.  (Bug#24030)
40690 2016-07-30  Tino Calancha  <tino.calancha@gmail.com>
40692         Copy just non-empty strings to kill-ring
40694         * lisp/dired.el (dired-copy-filename-as-kill):
40695         Do not change the kill ring when the string is empty (Bug#24103).
40697 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
40699         Avoid warnings about undo list while decoding
40701         * src/coding.c (coding_restore_undo_list): New function.
40702         (decode_coding_gap, decode_coding_object): Temporarily set the
40703         buffer's undo list to t, to avoid warnings when decoding changes
40704         the buffer many times, e.g. due to post-read-conversion.  Use
40705         coding_restore_undo_list to make sure the undo list is restored.
40706         (Bug#23813)
40708 2016-07-28  Noam Postavsky  <npostavs@gmail.com>
40710         profiler: Add mouse-1 binding for tree expansion
40712         (profiler-report-mode-map): Add mouse-1 binding for
40713         profiler-report-toggle-entry (Bug #13455).
40715 2016-07-28  Vincent Belaïche  <vincentb1@users.sourceforge.net>
40717         Enable addition of local printers from a mode hook.
40719         * doc/misc/ses.texi (Printer functions): Split the node into 5
40720         sub-nodes + add some extra documentation.
40721         (Various kinds of printer functions): Make an itemization to
40722         disintguish better the 3 types of printers, give an example of
40723         lambda printer definition.
40724         (Standard printer functions): Add documentation for ses-prin1
40725         printer function.
40726         (Local printer functions): Add documentation for creating
40727         local printers programmatically from a hook.
40728         (Writing a lambda printer function): Add documentation about
40729         anti-stackoverflow precautions to take when you call the
40730         standard printer functions from inside a local printer.
40732         * lisp/ses.el (ses-standard-printer-functions): Add ses-prin1
40733         among standard printer function, and update docstring
40734         accordingly.
40735         (ses-call-printer, ses-export-tab): Call `ses-prin1' instead
40736         of prin1-to-string.
40737         (ses-define-local-printer): Add definition to arguments so
40738         that a local printer can be defined programmatically from a
40739         mode hook.  Make docstring more substantial.  Use completing
40740         read for local printer name input.  Plus some minor
40741         optimization.
40742         (ses-define-if-new-local-printer): New defsubst.
40743         (ses-center, ses-center-span, ses-dashfill)
40744         (ses-dashfill-span, ses-tildefill-span): Allow to pass printer
40745         as an optional argument to superseed column printer/default
40746         spreadsheet printer.
40747         (ses-prin1): New defun.
40749 2016-07-27  Ted Zlatanov  <tzz@lifelogs.com>
40751         Prompt to save gnus-cloud-method.
40753         Since `gnus-cloud-method' is a defcustom, when it's set, we should
40754         prompt the user to save it, so the customization is not lost on
40755         restart.
40757         * lisp/gnus/gnus-srvr.el (gnus-server-toggle-cloud-method-server):
40758         Prompt to save the customization of `gnus-cloud-method'.
40760 2016-07-27  Ken Brown  <kbrown@cornell.edu>
40762         Fix dired-test-bug22694
40764         * test/lisp/dired-tests.el (dired-test-bug22694): Delete the
40765         "bug22694" directory, if it exists, before running the test.  It
40766         might be left over from a previous aborted run of the test.
40768 2016-07-27  Michal Nazarewicz  <mina86@mina86.com>
40770         Fix ‘is multibyte’ test regex.c’s mutually_exclusive_p (bug#24020)
40772         * src/regex.c (mutually_exclusive_p): Fix how whether character is
40773         unibyte is tested when calling execute_charset function.  This bug has
40774         been introduced by [6dc6b00: Fix ‘[[:cc:]]*literal’ regex failing to
40775         match ‘literal’] which dropped a call to IS_REAL_ASCII (c) macro.
40776         Reinstitute it.
40778 2016-07-27  Tino Calancha  <tino.calancha@gmail.com>
40780         Remove hook when disabling ibuffer-auto-mode
40782         * lisp/ibuf-ext.el (ibuffer-auto-mode):
40783         Remove 'ibuffer-auto-update-changed' from 'post-command-hook'.
40785 2016-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
40787         * lisp/subr.el (cancel-change-group): Reset cell in case of error
40789         Since the setcdr/setcdr is supposed to be temporary, use unwind-protect
40790         to make sure we properly undo the temporary change even in case of error.
40792 2016-07-26  Eli Zaretskii  <eliz@gnu.org>
40794         Avoid segfaults in compute_motion
40796         * src/indent.c (compute_motion): Don't turn on and don't use the
40797         width cache unless the buffer's width-table is non-nil.  This
40798         avoids segfaults because code that uses the width cache assumes
40799         the width-table exists.  (Bug#24064)
40801 2016-07-26  Nicolas Petton  <nicolas@petton.fr>
40803         Do not sharp-quote lambdas
40805         * lisp/progmodes/sql.el: Remove sharp-quotes in lambdas.
40807 2016-07-25  Ted Zlatanov  <tzz@lifelogs.com>
40809         * lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Fix
40810         'base64-gzip encoding.
40812 2016-07-25  Andrew Hyatt  <ahyatt@gmail.com>
40814         Add warning to format-alist docs.
40816         */doc/lispref/files.texi (format-alist) Change documentation for
40817         format-alist to warn against file modifications when formatting, which
40818         leads to incorrect results.  (Bug#5440)
40820         Changes suggested by Eli.
40822 2016-07-25  Katsumi Yamaoka  <yamaoka@jpl.org>
40824         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
40825         Preserve key bindings that shr adds (bug#23964).
40827 2016-07-25  Michal Nazarewicz  <mina86@mina86.com>
40829         Fix ‘[[:cc:]]*literal’ regex failing to match ‘literal’ (bug#24020)
40831         The regex engine tries to optimize Kleene star by avoiding backtracking
40832         when it can detect that star’s operand cannot match what follows it in
40833         the pattern.
40835         For example, when ‘[[:alpha:]]*1’ tries to match a ‘foo’, the engine
40836         will test the longest match for ‘[[:alpha:]]*’, namely ’foo’ which is
40837         the entire string.  Literal digit one still present in the pattern will
40838         however not match the remaining empty string.
40840         Normally, backtracking would be performed trying a shorter match for the
40841         character class (namely ‘fo’ leaving ‘o’ in the string), but since the
40842         engine knows whatever would be put back into the string cannot possibly
40843         match literal digit one so no backtracking will be attempted.
40845         In the regexes of the form ‘[[:CC:]]*X’, the optimization can be applied
40846         if the character class CC does not match character X.  In the above
40847         example, this holds because digit one is not in alpha character class.
40849         This test is performed by mutually_exclusive_p function but it did not
40850         check class bits of a charset opcode.  This resulted in an assumption
40851         that character classes do not match multibyte characters.  For example,
40852         it would incorrectly conclude that [[:alpha:]] doesn’t match ‘ż’.
40854         This, in turn, led to the aforementioned Kleene star optimization being
40855         incorrectly applied in patterns such as ‘[[:graph:]]*☠’ (which should
40856         match ‘☠’ but doesn’t as can be tested by executing
40857             (string-match-p "[[:graph:]]*☠" "☠")
40858         which should return 0 but instead yields nil.
40860         This issue affects any class witch matches multibyte characters, i.e.
40861         if ‘[[:cc:]]’ matches a multibyte character X then ‘[[:cc:]]*X’ will
40862         fail to match ‘X’.
40864         * src/regex.c (executing_charset): A new function for executing the
40865         charset and charset_not opcodes.  It performs check on the character
40866         taking into consideration existing bitmap, range table and class bits.
40867         It also advances the pointer in the regex bytecode past the parsed
40868         opcode.
40869         (CHARSET_LOOKUP_RANGE_TABLE_RAW, CHARSET_LOOKUP_RANGE_TABLE): Removed.
40870         Code now included in executing_charset.
40871         (mutually_exclusive_p, re_match_2_internal): Changed to take advantage
40872         of executing_charset function.
40874         * test/src/regex-tests.el: New file with tests for the character class
40875         matching.
40877 2016-07-25  Nicolas Petton  <nicolas@petton.fr>
40879         Fix auto-reverting image-mode buffer (bug#21598)
40881         When auto-reverting an image buffer, `image-mode' is not called since
40882         `revert-buffer' is called with `preserve-modes' set to non-nil.
40884         * lisp/image-mode.el (image-after-revert-hook): Check if there is an
40885         image display property for the current buffer before updating it.
40887 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
40889         ‘signal’ no longer returns
40891         Although for decades ‘signal’ has been documented to not return,
40892         a corner case in the Lisp debugger causes ‘signal’ to return.
40893         Remove the corner case and adjust Emacs internals accordingly.
40894         An alternative would be to document the corner case, but this
40895         would complicate the Lisp API unnecessarily.  (Bug#24047)
40896         * src/eval.c (signal_or_quit): New function, with most of the
40897         old contents of Fsignal.
40898         (quit): New function, which uses signal_or_quit and which
40899         might return.  All keyboard-based callers of Fsignal (Qquit,
40900         Qnil) changed to use this new function instead.
40901         (Fsignal): Use signal_or_quit.  Now _Noreturn.  All callers
40902         changed.
40903         (xsignal): Move to lisp.h.
40904         * src/lisp.h (xsignal): Now an inline function, as it's now
40905         just an alias for Fsignal.
40907 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
40909         Require libgnutls unless --with-gnutls=no
40911         * configure.ac: Report an error if the gnutls library is missing,
40912         unless --with-gnutls=no is specified.
40914 2016-07-23  Alan Mackenzie  <acm@muc.de>
40916         Fontify C++ parameter packs.
40918         This fixes debbugs #23610.
40920         * lisp/progmodes/cc-langs.el (c-pack-ops, c-pack-key): New
40921         c-lang-defconsts/defvars.
40922         (c-type-decl-prefix-key): Add "..." and "&&" into the C++ version.
40924         * lisp/progmodes/cc-engine.el (c-forward-type): Handle matches of c-pack-key.
40926 2016-07-23  Alan Mackenzie  <acm@muc.de>
40928         Java Mode: Handle strings as case labels correctly.
40930         This fixes debbugs #23901.
40932         * lisp/progmodes/cc-langs.el (c-nonlabel-token-key): Remove "\"" from the
40933         Java value.
40935 2016-07-22  Kaushal Modi  <kaushal.modi@gmail.com>
40937         Avoid repeated warnings while restoring desktop
40939         * lisp/desktop.el (desktop-restore-file-buffer): Do not print warnings
40940         when files are being opened during desktop restore.
40942 2016-07-22  Eli Zaretskii  <eliz@gnu.org>
40944         Fix compilation warning in the MinGW build
40946         * nt/inc/ms-w32.h: Include stdint.h.
40947         (_execvp, execve): Provide prototypes.
40949         * lib-src/emacsclient.c [WINDOWSNT]: Remove prototype for execvp,
40950         it is now in nt/inc/ms-w32.h.
40951         * lib-src/ntlib.c (getppid): Avoid compiler warnings due to format
40952         mismatch.
40953         (sys_ctime): Remove, not used.
40955 2016-07-22  Lars Ingebrigtsen  <larsi@gnus.org>
40957         Move read-multiple-choice to subr-x.el
40959         * lisp/faces.el (read-multiple-choice-face): Fix doc string.
40961         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here
40962         from subr.el.
40964         * lisp/gnus/message.el (subr-x): Ditto.
40966         * lisp/net/nsm.el: Require subr-x for read-multiple-choice.
40968         read-multiple-choice doesn't need to be in the dumped Emacs, so move
40969         it to a less central file.
40971 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
40973         Update define-ibuffer-op doc string
40975         * lisp/ibuf-macs.el (define-ibuffer-op):
40976         Mention that BODY is evaluated with 'buf' bound to the actual
40977         marked buffer being processed.
40979 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
40981         Update define-ibuffer-op doc string
40983         * lisp/ibuf-macs.el (define-ibuffer-op): Document arg COMPLEX
40984         instead of refer the reader to the source code.
40985         Document arg BODY.
40987 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
40989         Fix shell-command[-on-region] doc strings
40991         * lisp/simple.el (shell-command, shell-command-on-region):
40992         Drop the sentence saying that the command may delete the buffer
40993         '*Shell Command Output*': the command never delete such
40994         buffer (Bug#23936).
40996 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
40998         ;Revert ";Partially revert 2649105a"
41000         This reverts commit b7651649c2b1321a0c510116c1ac2442599d9a2e.
41002 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
41004         ;Partially revert 2649105a
41006         * lisp/textmodes/tex-mode.el (tex-common-initialization): Use
41007         setq-local to modify prettify-symbols-compose-predicate.
41009 2016-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
41011         * src/bytecode.c: Fix compilation with BYTE_CODE_SAFE
41013         (struct byte_stack): Re-add `bottom'.
41014         (exec_byte_code): Initialize it.
41016 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
41018         Ibuffer: Use default output buffer for shell commands
41020         * lisp/ibuf-ext.el (shell-command-pipe): Insert the output in buffer
41021         '*Shell Command Output*', as command 'shell-command-file'.
41023 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
41025         Fix failing test
41027         * test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in):
41028         Enable Font Lock mode in order to initialize
41029         'char-property-alias-alist' (Bug#23954).
41031 2016-07-21  Paul Eggert  <eggert@cs.ucla.edu>
41033         Fix use-after-close in connect_network_socket
41035         * src/process.c (connect_network_socket): Don’t use
41036         external_sock_fd after closing it.  Problem found by Coverity Scan.
41038 2016-07-21  Katsumi Yamaoka  <yamaoka@jpl.org>
41040         * lisp/net/shr.el (shr-fill-line):
41041         Preserve text properties in folded lines (bug#24034).
41043 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
41045         Fix lifetime bug in tzlookup
41047         * src/editfns.c (tzlookup): Fix storage lifetime bug when
41048         INTEGERP (zone) && settz.  Problem found by Coverity Scan.
41050 2016-07-20  Lars Ingebrigtsen  <larsi@gnus.org>
41052         Fix shr.el/image build problem
41054         (Bug#24035)
41056         * lisp/net/shr.el: Require image, since some builds seem to
41057         break without it (bug#24035).
41059 2016-07-20  Ted Zlatanov  <tzz@lifelogs.com>
41061         Bring the Gnus Cloud package into working order.
41063         * lisp/gnus/gnus-sync.el: Removed in favor of gnus-cloud.el.
41065         * lisp/gnus/gnus-cloud.el: Autoload EPG functions. Change storage format to
41066         simplify non-file data.
41067         (gnus-cloud-storage-method): New defcustom to support nil, Base64,
41068         Base64+gzip, or EPG encoding on the Gnus Cloud IMAP server. Defaults to
41069         EPG if that's available, Base64+gzip otherwise.
41070         (gnus-cloud-interactive): New defcustom to make Gnus Cloud operations
41071         interactive, defaults to enabled.
41072         (gnus-cloud-group-name): New variable for the Gnus Cloud group name.
41073         (gnus-cloud-make-chunk): Tag with "Gnus-Cloud-Version" instead of just
41074         "Version".
41075         (gnus-cloud-insert-data): Simplify and support :newsrc-data entries.
41076         (gnus-cloud-encode-data, gnus-cloud-decode-data): Support various
41077         storage methods as per gnus-cloud-storage-method.
41078         (gnus-cloud-parse-chunk): Look for "Gnus-Cloud-Version" marker.
41079         (gnus-cloud-parse-version-1): Fix parsing loop bug. Handle :newsrc-data
41080         entries.
41081         (gnus-cloud-update-all): Handle :newsrc-data entries and dispatch to
41082         file and data handlers.
41083         (gnus-cloud-update-newsrc-data): New function to handle :newrsc-data
41084         entries.
41085         (gnus-cloud-update-file): Rework to support gnus-cloud-interactive and
41086         be more careful.
41087         (gnus-cloud-delete-file): Remove; merged into gnus-cloud-update-file.
41088         (gnus-cloud-file-covered-p, gnus-cloud-all-files)
41089         (gnus-cloud-files-to-upload, gnus-cloud-ensure-cloud-group)
41090         (gnus-cloud-add-timestamps, gnus-cloud-available-chunks)
41091         (gnus-cloud-prune-old-chunks): Fix indentation.
41092         (gnus-cloud-timestamp): New function to make a standard Gnus Cloud
41093         timestamp.
41094         (gnus-cloud-file-new-p): Use it.
41095         (gnus-cloud-upload-all-data): Add interactive convenience function to
41096         upload all data.
41097         (gnus-cloud-upload-data): Make interactive; collect files and newsrc
41098         data separately; refresh Gnus Cloud group after insert.
41099         (gnus-cloud-download-all-data): Add interactive convenience function to
41100         download all data.
41101         (gnus-cloud-download-data): Rework to support "Gnus-Cloud-Version"
41102         marker and different storage methods.
41103         (gnus-cloud-host-server-p): New function to check if a server is the
41104         Gnus Cloud host.
41105         (gnus-cloud-collect-full-newsrc): Tag entries with :newsrc-data.
41106         (gnus-cloud-host-acceptable-method-p): New function so
41107         other code can check if a server method can host the Gnus cloud.
41108         (gnus-cloud-storage-method): Use 'radio instead of 'choice for better UI.
41109         (gnus-cloud-method): Make this a defcustom and note how to set it.
41111         * lisp/gnus/gnus-group.el (gnus-group-cloud-map): Add Gnus Cloud autoloaded
41112         keybindings under the `~' prefix.
41114         * lisp/gnus/gnus-srvr.el (gnus-server-mode-map, gnus-server-make-menu-bar)
41115         (gnus-server-cloud, gnus-server-cloud-host)
41116         (gnus-server-font-lock-keywords, gnus-server-insert-server-line)
41117         (gnus-server-toggle-cloud-method-server): Support Gnus Cloud
41118         synchronized servers and synchronization host server toggling (`i' and
41119         `I') and visual display.
41120         (gnus-server-toggle-cloud-method-server): Use
41121         gnus-cloud-host-acceptable-method-p.
41122         (gnus-server-toggle-cloud-method-server): Use custom-set-variables to
41123         set the gnus-cloud-method. Ask the user if it's OK to upload the data
41124         right now.
41126         * doc/misc/gnus.texi: Document Gnus Cloud package.
41128 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
41130         Remove CHECK_FRAME_FONT cruft from bytecode.c
41132         * src/bytecode.c [CHECK_FRAME_FONT]: Do not include frame.h, xterm.h.
41133         Remove some old ‘#if 0’ code.
41135 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
41137         Work around GCC bug 54561 in a better way
41139         The new approach is less selective, but also less intrusive on C code.
41140         * src/bytecode.c, src/image.c, src/keyboard.c: Ignore -Wclobbered.
41141         * src/conf_post.h (NONVOLATILE): Remove.  All uses removed.
41143 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
41145         Fix port to glibc 2.24 (pre-release) + ppc64
41147         * src/callproc.c (child_setup): Use emacs_exec_file
41148         so that ASLR is enabled in the child process.
41149         * src/emacs.c: Move some personality details into sys/sysdep.c.
41150         Do not include <sys/personality.h>.
41151         (main): Disable ASLR earlier, so that we don’t chdir twice.
41152         * src/lisp.h (disable_address_randomization): New decl.
41153         * src/sysdep.c (disable_address_randomization)
41154         [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Move personality details
41155         here from emacs.c.
41156         (emacs_exec_file): New function.
41158 2016-07-19  Alan Third  <alan@idiocy.org>
41160         Prevent bar cursor overwriting next glyph (bug#16856)
41162         * src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width
41163         before setting final size.
41165 2016-07-19  Eli Zaretskii  <eliz@gnu.org>
41167         Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil
41169         * src/insdel.c (adjust_markers_bytepos): New function.
41170         * src/lisp.h (adjust_markers_bytepos): Add prototype.
41171         * src/insdel.c (replace_range, replace_range_2):
41172         * src/editfns.c (Ftranspose_regions): Call
41173         adjust_markers_bytepos.  (Bug#5131)
41175         * test/src/editfns-tests.el (transpose-test-reverse-word)
41176         (transpose-test-get-byte-positions): New functions.
41177         (transpose-ascii-regions-test)
41178         (transpose-nonascii-regions-test-1)
41179         (transpose-nonascii-regions-test-2): New tests.
41181 2016-07-19  Katsumi Yamaoka  <yamaoka@jpl.org>
41183         Make gif animation work (bug#24004)
41185         * lisp/image.el (image-animate-timeout): Fix the logic that tests if
41186         an animation is too big (bug#24004).
41188 2016-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
41190         * lisp/simple.el (undo-amalgamate-change-group): New function
41192         * lisp/emulation/viper-cmd.el (viper-adjust-undo): Use it.
41193         (viper-set-complex-command-for-undo): Save current state with
41194         prepare-change-group.
41195         * lisp/emulation/viper-init.el (viper-undo-needs-adjustment)
41196         (viper-buffer-undo-list-mark): Remove.
41198 2016-07-18  Noam Postavsky  <npostavs@gmail.com>
41200         Keep w32 environment settings internal only
41202         * src/emacs.c (main) [WINDOWSNT]: Move init_environment calls after the
41203         set_initial_environment call.  This prevents Emacs' modifications to the
41204         environment from contaminating Vprocess_environment and
41205         Vinitial_environment (Bug #10980).
41206         * src/callproc.c (getenv_internal) [WINDOWSNT]: Consult Emacs' internal
41207         environment in as a fallback to Vprocess_environment.
41208         * test/src/callproc-tests.el (initial-environment-preserved): New Test.
41210 2016-07-18  Nicolas Petton  <nicolas@petton.fr>
41212         Better documentation for cl-reduce (bug#24014)
41214         * lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means.
41216 2016-07-17  Alan Third  <alan@idiocy.org>
41218         Remove separate pool for popup dialogs (bug#23856)
41220         * src/nsmenu.m (pop_down_menu, ns_popup_dialog): Remove references to
41221         autorelease pool and Popdown_data struct.
41223 2016-07-17  Mark Oteiza  <mvoteiza@udel.edu>
41225         Use eldoc-documentation-functions
41227         * lisp/hexl.el (hexl-mode):
41228         * lisp/ielm.el (inferior-emacs-lisp-mode):
41229         * lisp/progmodes/cfengine.el (cfengine3-mode):
41230         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
41231         * lisp/progmodes/octave.el (octave-mode, inferior-octave-mode):
41232         * lisp/progmodes/python.el (python-mode):
41233         * lisp/simple.el (read--expression): Add buffer-locally to hook
41234         eldoc-documentation-functions.
41236 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
41238         Optimize ucs-normalize.el compilation
41240         * lisp/international/ucs-normalize.el (ucs-normalize-combining-chars-regexp):
41241         (quick-check-list-to-regexp): Use regexp-opt-charset instead of
41242         regexp-opt.
41243         * lisp/international/ucs-normalize.el (quick-check-list): Reuse a single
41244         temp buffer for the whole loop.
41246 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
41248         Add tests for ucs-normalize.el
41250         Some tests are marked as expected to fail.
41252         * test/lisp/international/ucs-normalize-tests.el: New tests.
41253         * admin/unidata/NormalizationTest.txt: Add data for tests.
41254         * admin/unidata/README: Add URL for NormalizationTest.txt.
41255         * admin/notes/unicode: Add note about running (and updating the data
41256         for) the new tests.  Remove note about normalization being unsupported.
41258 2016-07-16  Alan Third  <alan@idiocy.org>
41260         Fix cursor display (bug#23993)
41262         * src/xdisp.c (get_phys_cursor_geometry): Fix invalid C operator.
41264 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
41266         Stop worrying about Alliant in bytecode.c
41268         * src/bytecode.c (PUSH): Remove workaround for long-obsolete compiler.
41270 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
41272         Remove BYTE_MAINTAIN_TOP
41274         It is no longer needed now that we assume GC_MARK_STACK ==
41275         GC_MAKE_GCPROS_NOOPS.
41276         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove.
41277         All uses removed, and code simplified accordingly.
41278         (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Remove, since they
41279         are always no-ops now.  All uses removed.
41280         (MAYBE_GC): Remove.  All uses replaced by maybe_gc,
41281         since it is now equivalent.
41283 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
41285         Remove now-inaccurate bytecode comments
41287         * src/bytecode.c: Remove comments that are no longer accurate.
41288         Most of these are actually old ChangeLog entries.
41290 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
41292         Port to glibc 2.24 (pre-release) + ppc64
41294         Inspired by a suggestion by Florian Weimer in:
41295         https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
41296         * configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE):
41297         Rename from HAVE_PERSONALITY_LINUX32, and check for
41298         ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32.
41299         All uses changed.
41300         * src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]:
41301         Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the
41302         flag ourselves.  Just set that flag, rather than also setting the
41303         persona.  When doing it, avoid functions like putenv that may
41304         allocate memory.
41306 2016-07-14  Mark Oteiza  <mvoteiza@udel.edu>
41308         Revert "Add a couple cells to lisp-prettify-symbols-alist"
41310         This reverts commit bdda4855c635ecf4135e23321bdba023e9ae65c9.
41312 2016-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
41314         * lisp/simple.el (shell-command): Add save-match-data comment
41316 2016-07-14  Alan Mackenzie  <acm@muc.de>
41318         CC Mode: correct incorrect invocation of parse-partial-sexp.
41320         Fixes bug #23944.
41322         * lisp/progmodes/cc-engine.el (c-literal-limits): make the sixth argument of
41323         an invocation of parse-partial-sexp 'syntax-table, not the fourth.
41325 2016-07-14  Andreas Schwab  <schwab@suse.de>
41327         Fix configure summary for hybrid malloc configurations
41329         * configure.ac ("$hybrid_malloc" = yes): Set GNU_MALLOC to no,
41330         parenthesize value of GNU_MALLOC_reason.
41332 2016-07-14  Stephen Berman  <stephen.berman@gmx.net>
41334         Fix delete-duplicate-lines
41336         * lisp/sort.el (delete-duplicate-lines): Delete duplicate
41337         first line when operating backward (bug#23863).
41339 2016-07-14  Andreas Schwab  <schwab@suse.de>
41341         Remove unused SHEAP_OBJ
41343         * Makefile.in (base_obj): Remove $(SHEAP_OBJ).
41345 2016-07-13  Katsumi Yamaoka  <yamaoka@jpl.org>
41347         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
41348         Use shr-image-map instead of shr-map (bug#23964).
41350 2016-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
41352         * lisp/mouse.el (mouse): Consolidate group definition here
41354         * lisp/cus-edit.el (mouse): Remove both group definitions.
41356 2016-07-13  Chris Feng  <chris.w.feng@gmail.com>
41358         Include versioned preloaded libraries in `package--builtin-versions'
41360         * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Do not
41361         exclude preloaded libraries or remove entries generated for them.
41362         (autoload-generate-file-autoloads): Do not generate autoload
41363         statements for preloaded libraries.
41365 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
41367         Omit unnecessary #includes from xwidget.c
41369         * src/xwidget.c: Remove #include directives that are not needed.
41370         Also, don’t conditionalize #includes on HAVE_X_WINDOWS, since this
41371         file is compiled only if the X interface is available.
41373 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
41375         Port xwidget.c to GCC 6 with --enable-gcc-warnings
41377         * src/xwidget.c (x_draw_xwidget_glyph_string, xwidget_end_redisplay):
41378         Adjust to pacify GCC.  Add a couple of FIXME comments, suggesting
41379         possible bugs found by GCC.
41381 2016-07-12  Tino Calancha  <tino.calancha@gmail.com>
41383         Escape meta chars in commands processed by shell
41385         * lisp/progmodes/grep.el (grep-compute-defaults): Quote braces
41386         in all commands to be passed to a shell (Bug#23959).
41388 2016-07-12  John Wiegley  <johnw@newartisans.com>
41390         Revert "Cleanup tooltips"
41392         This reverts commit 20038f8ab75dd1551412a43cd58520c483c22921.
41394         I am reverting this change because it was applied without prior discussion
41395         on emacs-devel, and has been found to break the NS port.  It needs more
41396         testing and review before it should be applied here.
41398 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
41400         * lisp/emacs-lisp/cl-macs.el (cl--prog): New function
41402         (cl-prog, cl-prog*): New macros.
41404 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
41406         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic
41408         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic.
41409         (cl--generic-make-defmethod-docstring): New function for that.
41410         (cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly.
41411         (cl-generic-define-method, cl--generic-describe): Change `load-history'
41412         format of cl-defmethods, so as not to confused methods with equal
41413         specializers but different qualifiers.
41414         * lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings.
41416 2016-07-12  Eli Zaretskii  <eliz@gnu.org>
41418         Don't install keyboard hook when debugged on MS-Windows
41420         * src/w32fns.c (setup_w32_kbdhook): Don't install the keyboard
41421         hook if we are being debugged.  This avoids hosing the debugger,
41422         because the hook is global, and is called in the context of the
41423         thread which installed it, and that thread is stopped when GDB has
41424         control.  Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
41426 2016-07-12  Alan Mackenzie  <acm@muc.de>
41428         Amend CC Mode to handle big C++ raw strings correctly.
41430         Problems were caused by such a string spanning jit-lock chunks, and by a flaw
41431         in the +-500 bytes boundaries imposed for macros.
41433         * lisp/progmodes/cc-mode.el (c-extend-region-for-CPP): Check the +-500 byte
41434         macro boundaries here.
41435         (c-extend-font-lock-region-for-macros): Remove the check on the +-500 byte
41436         lower boundary.  Fix the check on the upper boundary.
41438         * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Handle the starting
41439         point already being within a raw string.
41441         * lisp/progmodes/cc-engine.el (c-raw-string-pos)
41442         (c-depropertize-raw-strings-in-region, c-after-change-re-mark-raw-strings):
41443         Modify regexp element "\\{,16\\}" to "\\{0,16\\}" for greater compatibility
41444         with other Emacsen.
41446 2016-07-12  Stephen Berman  <stephen.berman@gmx.net>
41448         * lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group.
41450 2016-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
41452         Cleanup tooltips
41454         * src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls.
41455         * src/frame.h (struct frame): New bitfield to indicate tooltip frame.
41456         (FRAME_TOOLTIP_P): New macro.
41457         * src/frame.c (make_frame): Mark new frame as regular frame by default.
41458         (Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P.
41459         (syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer'
41460         and 'Qtooltip_parameters' instead.
41461         * src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl.
41462         * src/gtkutil.c (xg_hide_tip): New function.
41463         (xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed.
41464         * src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip.
41465         * src/nsfns.m (toplevel): Remove 'tip_frame' leftover.
41466         * src/w32fns.c (unwind_create_tip_frame): Remove.
41467         (w32_display_monitor_attributes_list)
41468         (w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P.
41469         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
41470         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
41471         as a tooltip frame and record it using appropriate display info.
41472         (x_hide_tooltip): Add frame arg.
41473         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
41474         base frame parameters, store tooltip hide timer among tooltip frame
41475         parameters.
41476         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
41477         (syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize
41478         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
41479         * src/w32term.c (w32_read_socket): Extract tooltip window id from
41480         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
41481         (x_new_font): Use FRAME_TOOLTIP_P.
41482         (x_free_frame_resources): Reset pointer to tooltip frame.
41483         * src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'.
41484         * src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars):
41485         Use FRAME_TOOLTIP_P.
41486         * src/xfns.c (x_make_monitor_attribute_list)
41487         (Fx_display_monitor_attributes_list): Likewise.
41488         (unwind_create_tip_frame): Remove.
41489         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
41490         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
41491         as a tooltip frame and record it using appropriate display info.
41492         (x_hide_tooltip): Add frame arg.
41493         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
41494         base frame parameters, store tooltip hide timer among tooltip frame
41495         parameters.  To hide GTK system tooltip, use timeout hooked into GTK
41496         event loop.
41497         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
41498         (syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize
41499         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
41500         * src/xterm.c (handle_one_xevent): Extract tooltip window id from
41501         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
41502         (x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P.
41503         (x_free_frame_resources): Reset pointer to tooltip frame.
41504         * src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'.
41505         (struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'.
41507 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
41509         * src/fns.c (syms_of_fns): Leave `features' lexically scoped
41511 2016-07-11  Mario Lang  <mlang@delysid.org>
41513         Test mapcan
41515         * test/src/fns-tests.el (fns-tests-mapcan): New test.
41517 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
41519         Prevent to apply funcall on t
41521         * lisp/vc/ediff-util.el (ediff-really-quit): Ignore the global part of
41522         'ediff-after-quit-hook-internal' hook (Bug#23933).
41524 2016-07-11  Tino Calancha  <tino.calancha@gmail.com>
41526         Ignore angle mode while simplifying units
41528         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
41529         Ignore value of 'calc-angle-mode' when 'math-simplifying-units'
41530         is non-nil (Bug#23889).
41531         * lisp/calc/calc-math.el (math-to-radians, math-from-radians)
41532         (math-from-radians-2, math-to-radians-2): Idem.
41534 2016-07-11  Eli Zaretskii  <eliz@gnu.org>
41536         Fix display of composed characters
41538         * src/xdisp.c (x_produce_glyphs): Fix off-by-one error in
41539         iteration through composition glyphs.  (Bug#23938)
41541 2016-07-11  Paul Eggert  <eggert@cs.ucla.edu>
41543         Fix composition bug caused by off-by-1 typo
41545         * src/xdisp.c (x_produce_glyphs): Fix off-by-one typo when
41546         computing composition glyph (Bug#23938).
41548 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
41550         Dired always read file system
41552         * lisp/dired.el (dired-always-read-filesystem): Add new option.
41553         (dired-mark-files-containing-regexp): Use it (Bug#22694).
41554         * doc/emacs/dired.texi: Mention it in the manual.
41555         * test/lisp/dired-tests.el (dired-test-bug22694): Add test.
41556         ;* etc/NEWS: Add entry for this change.
41558 2016-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
41560         * src/macfont.m (mac_font_shape): Make sure that total_advance is increasing.
41562 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
41564         Avoid 'unused var' 'not left unused var' warnings
41566         * lisp/ibuffer.el (ibuffer-locked-buffer-p): Remove unused var 'char'.
41567         Rename used var '_buffer' to 'cbuffer'.
41569         * lisp/ibuf-ext.el (ibuffer-unmark-all): Rename used var '_mark'
41570         to cmark'.
41572 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
41574         * lisp/simple.el (shell-command, shell-command-on-region): Fix doc strings
41576 2016-07-10  Michael Albinus  <michael.albinus@gmx.de>
41578         Add a note how to use `tramp-own-remote-path'
41580         * doc/misc/tramp.texi (Inline methods, External methods)
41581         (Remote shell setup, Android shell setup)
41582         (Frequently Asked Questions, Frequently Asked Questions):
41583         Use @command and @samp consequently.
41584         (Remote programs): The remote shell must support the -l
41585         argument, in order to use `tramp-own-remote-path'.  (Bug#23914)
41587 2016-07-10  Alan Third  <alan@idiocy.org>
41589         Remove App Nap setting from Info.plist (bug#22993)
41591         * nextstep/templates/Info.plist.in: Remove LSAppNapIsDisabled key since
41592         it doesn't actually disable app nap.
41594 2016-07-09  Mario Lang  <mlang@delysid.org>
41596         An efficient built-in mapcan
41598         A built-in version of `mapcan' avoids consing up (and GC'ing) the
41599         intermediate list.
41601         * src/fns.c (Fmapcan): New built-in.
41602         (syms_of_fns): Define.
41604         * lisp/emacs-lisp/cl.el (mapcan): Remove defalias.
41606         * lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
41607         if only one sequence is provided.
41609         * lisp/progmodes/hideif.el (hif-delimit):
41610         * lisp/dired-aux.el (dired-do-find-regexp):
41611         * lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
41612         `cl-mapcan'.
41614         * lisp/woman.el (eval-when-compile): Require 'cl-lib only when
41615         compiling.
41617         * lisp/mouse.el (mouse-buffer-menu-map):
41618         * lisp/net/pop3.el (pop3-uidl-dele):
41619         * lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
41620         * lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
41621         * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
41622         * lisp/gnus/nnmail.el (nnmail-split-it):
41623         * lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
41624         * lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
41625         * lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.
41627 2016-07-09  Tino Calancha  <tino.calancha@gmail.com>
41629         Detect aliases to built-in functions
41631         * lisp/help-fns.el (describe-function-1): Check for aliases
41632         defined with (defalias alias (symbol-function built-in)) (Bug#23887).
41634         * test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as
41635         failing this test.
41637 2016-07-09  Michael Albinus  <michael.albinus@gmx.de>
41639         Avoid recursive detection of remote uid and gid in tramp-gvfs.el
41641         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress):
41642         New variable.
41643         (tramp-gvfs-maybe-open-connection): Use it.
41645         * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
41646         Reorder test.
41648 2016-07-09  Jürgen Hötzel  <juergen@archlinux.org>
41650         Wrap around error in coreutil's ls
41652         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Add switch
41653         "--quoting-style=literal" if remote host supports quoting style.
41654         Recent versions of coreutils changed default quoting style to
41655         "--quoting=shell-escape".
41657 2016-07-09  Eli Zaretskii  <eliz@gnu.org>
41659         Minor tweaks of copying text properties when padding strings
41661         * src/editfns.c (styled_format): Don't include padding on the left
41662         in the properties at the beginning of the string.  (Bug#23897)
41664         * test/src/editfns-tests.el (format-properties): Add tests for
41665         faces when the string is padded on the left or on the right.
41667 2016-07-08  Mario Lang  <mlang@delysid.org>
41669         No need to require the same feature twice.
41671         * lisp/dired-aux.el (require 'cl-lib): Remove.
41673 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
41675         Turn on lexical binding
41677         * lisp/net/secrets.el (secrets-collection-handler): Use cl-pushnew.
41678         (secrets-search-items, secrets-create-item): Use append.
41679         (secrets-show-secrets): Remove unused binding.
41680         (secrets-expand-item, secrets-tree-widget-after-toggle-function):
41681         Ignore unused arguments.
41683 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
41685         Derive secrets-mode from special-mode
41687         * lisp/net/secrets.el: Remove top-level secrets-mode hack.
41688         (secrets-mode-map): New variable.  Add key bindings to n and p for
41689         navigating lines.
41690         (secrets-mode): Derive from special-mode.  Remove keymap code and
41691         initialization code.  Do not record undo information.  Make
41692         secrets-show-collections the local revert-buffer-function.
41693         (secrets-show-collections): Change signature to satisfy revert-buffer.
41695 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
41697         Add a couple cells to lisp-prettify-symbols-alist
41699         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add
41700         "sqrt" and "not".
41702 2016-07-08  Michael Albinus  <michael.albinus@gmx.de>
41704         Detect remote uid and gid in tramp-gvfs.el
41706         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
41707         (tramp-gvfs-handler-mounted-unmounted)
41708         (tramp-gvfs-connection-mounted-p):
41709         Make "default-location" a connection property.
41710         (tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid): New defuns.
41711         (tramp-gvfs-maybe-open-connection): Use them.
41713 2016-07-08  Eli Zaretskii  <eliz@gnu.org>
41715         Yet another fix for copying properties by 'format'
41717         * src/textprop.c (extend_property_ranges): Accept an additional
41718         argument OLD_END, and only extend the end of a property range if
41719         its original end is at OLD_END; all the other ranges are left
41720         intact.  (Bug#23897)
41721         * src/editfns.c (styled_format): Pass the original length of the
41722         string to 'extend_property_ranges'.
41723         * src/intervals.h (extend_property_ranges): Adjust prototype.
41725         * test/src/editfns-tests.el (format-properties): Add tests for
41726         bug#23897.
41728 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
41730         Allow selecting region with mouse to move point to beginning
41732         * etc/NEWS: Mention new user option
41733         `mouse-select-region-move-to-beginning'.
41735         * doc/emacs/frames.texi (Mouse Commands): Add cross-reference
41736         to the following.
41737         (Word and Line Mouse): Describe how double-clicking mouse-1 to
41738         activate region and `mouse-select-region-move-to-beginning'
41739         affect point.
41741         * lisp/mouse.el (mouse-select-region-move-to-beginning): New defcustom.
41742         (mouse-set-point): Use it.  (Bug#23478)
41744 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
41746         Fix menu bar breakage
41748         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Use backquoting
41749         to prevent void variable errors, and fix typo (bug#23918).
41751 2016-07-08  Tino Calancha  <tino.calancha@gmail.com>
41753         Copy buffer names to kill ring
41755         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): New command.
41756         * lisp/ibuffer.el (ibuffer-mode-map): Bound it to 'B'.
41757         ;* etc/NEWS: Add entry for this new feature.
41759 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
41761         Remove just input mark
41763         * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove
41764         just MARK.
41766 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
41768         Ibuffer change marks
41770         * lisp/ibuffer.el (ibuffer-change-marks): New command.
41771         (ibuffer-mode-map): Bind it to '* c'.
41772         (ibuffer-mode-groups-popup): Update menus.
41773         (ibuffer-mode): Update mode doc.
41775 2016-07-07  Alan Third  <alan@idiocy.org>
41777         Prevent NS event loop being re-entered (bug#11049)
41779         * src/nsterm.m (ns_read_socket, ns_select): Return -1 if already
41780         in event loop instead of aborting.
41782 2016-07-07  Alan Third  <alan@idiocy.org>
41784         Fix some deprecated functions
41786         * src/nsterm.m (firstRectForCharacterRange): In OS X >10.6 replace
41787         convertBaseToScreen with convertRectToScreen.
41788         * src/nsmenu.m (ns_update_menubar): Remove attachedMenu, deprecated in
41789         OS X 10.2, and always seems to return nil.
41791 2016-07-07  Aaron Jensen  <aaronjensen@gmail.com>  (tiny change)
41793         Disable App Nap (bug#22993)
41795         * nextstep/templates/Info.plist.in: Insert AppNap disable code.
41797 2016-07-07  Michael Albinus  <michael.albinus@gmx.de>
41799         Fix an error in Tramp for rsync
41801         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
41802         Make it work for "rsync".
41803         (tramp-make-copy-program-file-name): Apply `directory-file-name'.
41805 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
41807         Ibuffer: Mark locked buffers
41809         * lisp/ibuf-ext.el (ibuffer-locked-buffer-p): New defun.
41810         (ibuffer-mark-by-locked): New command.
41811         (ibuffer-mode-map): Bind it to '% L'; update menus.
41812         (ibuffer-mode): Update mode doc.
41813         ;* etc/NEWS: Add NEWS entry for these changes and previous two commits.
41815 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
41817         * lisp/ibuffer.el: Add face for locked buffers
41819         * lisp/ibuffer.el: Add mark for locked buffers
41821         ;* etc/NEWS (Ibuffer): Update entry according with last commit
41823 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
41825         Remove duplicate binding
41827         * lisp/ibuffer.el (ibuffer-mode-map): 'ibuffer-mark-by-content-regexp'
41828         just bound to '% g'.
41829         As suggested in:
41830         https://lists.gnu.org/r/emacs-devel/2016-07/msg00165.html
41832 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
41834         Ibuffer: Drop needless binding
41836         * lisp/ibuffer.el (ibuffer-mark-interactive): 'inhibit-read-only'
41837         already bound to 't' inside 'ibuffer-set-mark'.
41839 2016-07-07  Phillip Lord  <phillip.lord@russet.org.uk>
41841         Run tests from non-byte compiled files
41843         * test/Makefile.in: Eval non-byte-compiled files for tests.
41845 2016-07-06  Mark Oteiza  <mvoteiza@udel.edu>
41847         Replace eldoc-documentation-function with a hook
41849         * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): New hook.
41850         (eldoc-documentation-function): Make into obsolete alias.
41851         (eldoc-echo-area-use-multiline-p, eldoc-highlight-function-argument):
41852         (eldoc-argument-case, global-eldoc-mode): Update docstrings.
41853         (eldoc-print-current-symbol-info): Use run-hook-with-args-until-success
41854         on eldoc-documentation-functions.
41855         (eldoc-supported-p): New function.
41856         (eldoc-mode, global-eldoc-mode, eldoc-schedule-timer): Use eldoc-supported-p.
41857         * etc/NEWS: Mention eldoc-documentation-functions.
41858         * doc/lispref/modes.texi: Update reference.
41860 2016-07-06  Simen Heggestøyl  <simenheg@gmail.com>
41862         Complete "initial" and "unset" in CSS mode
41864         * lisp/textmodes/css-mode.el (css--complete-property-value): Make
41865         "initial" and "unset" completion candidates for all CSS properties,
41866         just like "inherit".
41868         * test/lisp/textmodes/css-mode-tests.el
41869         (css-test-complete-property-value): Update test to reflect the above
41870         change.
41872 2016-07-06  Michael Albinus  <michael.albinus@gmx.de>
41874         * lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec): Fix typo.
41876 2016-07-06  Paul Eggert  <eggert@cs.ucla.edu>
41878         Simplify rfc1345.el a bit
41880         * lisp/leim/quail/rfc1345.el: Omit commented-out codes for ASCII
41881         that would no longer parse.  Replace control characters with
41882         escapes in character constants.  Omit unnecessary \ after ?.
41883         This does not change behavior.
41885 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
41887         Prefer 'frame-parameter' where it is expected to be a bit faster
41889         * lisp/international/mule-diag.el (mule-diag):
41890         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu):
41891         * lisp/mouse.el (mouse-drag-line, font-menu-add-default):
41892         * lisp/scroll-bar.el (toggle-scroll-bar, toggle-horizontal-scroll-bar):
41893         * lisp/faces.el (x-resolve-font-name): Use 'frame-parameter'.
41895 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
41897         Reduce consing caused by vertical motion commands
41899         * src/frame.c (Fframe_parameter): Avoid call to Fframe_parameters for the
41900         parameters frequently requested by calls to 'next-line' and 'previous-line'.
41902 2016-07-05  Michael Albinus  <michael.albinus@gmx.de>
41904         Make all Tramp tests pass for "gdrive" method
41906         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
41907         * lisp/net/tramp-compat.el (tramp-compat-copy-directory)
41908         (tramp-compat-delete-directory):
41909         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
41910         Use `directory-files-no-dot-files-regexp'.
41912         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted)
41913         (tramp-gvfs-send-command): Call `tramp-flush-file-property' in
41914         case of problems.
41916         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
41917         Adapt docstring.
41918         (tramp-test14-delete-directory): Make further tests.
41920 2016-07-05  Eli Zaretskii  <eliz@gnu.org>
41922         Fix redisplay with window-start on continuation lines
41924         * src/xdisp.c (pos_visible_p): Return false if the window starts
41925         after CHARPOS.
41926         (compute_window_start_on_continuation_line): Don't return
41927         window-start position that is after point in the buffer, as the
41928         callers don't expect this to happen, and will generally display an
41929         empty window with the cursor in its middle.  (Bug#23871)
41931 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
41933         Add :expected-result :failed for unfixed bug test
41935         * test/lisp/help-fns-tests.el (help-fns-test-bug23887):
41937 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
41939         * test/lisp/help-fns-tests.el: Add several tests for 'describe-function'.
41941 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
41943         Don’t create unnecessary marker in ‘delete-trailing-whitespace’
41945         * lisp/simple.el (delete-trailing-whitespace): If END argument is nil,
41946         there is no need for the end-marker to be created.
41948 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
41950         Simplify ‘delete-trailing-whitespace’ by not treating \n as whitespace
41952         * lisp/simple.el (delete-trailing-whitespace): Set newline’s character
41953         syntax to non-whitespace so that ‘\s-’ regular expression does not match
41954         it.
41956         This simplifies the loop slightly since a simple ‘\s-+$’ can be used and
41957         as a consequence ‘line-beginning-position’ function does not need to be
41958         called any longer.
41960         Furthermore, when newline has whitespace syntax, ‘\s-$’ regular
41961         expression ends up matching empty lins since ‘\s-’ matches newline
41962         characetr of proceeding line.  This leads to needless loop iterations.
41964         Since previous change to ‘delete-trailing-whitespace’ already introduced
41965         ‘with-syntax-table’, take advantage of it and also overwrite newline’s
41966         character syntax.
41968 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
41970         Make ‘delete-trailing-whitespace’ delete spaces after form feed
41972         * lisp/simple.el (delete-trailing-whitespace): Treat form fead as
41973         a non-whitespace character (regradless of whether it’s character syntax
41974         is whitespace) and delete any whitespace following it instead of leaving
41975         lines with form feeds completely unchanged.  I.e. a line like "\f " will
41976         now became "\f".
41978 2016-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
41980         Cleanup XEditRes hack
41982         * configure.ac [USE_X_TOOLKIT]: Define X_TOOLKIT_EDITRES if
41983         _XEditResCheckMessages is declared in X11/Xmu/Editres.h and may be
41984         linked with -lXmu.  This should work with any non-ancient Xmu library.
41985         * src/xfns.c (toplevel): Remove old cruft.
41986         (x_window) [USE_X_TOOLKIT]: Use X_TOOLKIT_EDITRES.
41987         * src/xterm.c (toplevel): Remove old cruft.
41988         (handle_one_xevent): Use X_TOOLKIT_EDITRES.
41989         * src/xterm.h (toplevel): Include X11/Xmu/Editres.h if X_TOOLKIT_EDITRES.
41991 2016-07-04  Michael Albinus  <michael.albinus@gmx.de>
41993         Add Google Drive support to Tramp
41995         * doc/misc/tramp.texi: Add `gdrive' method.
41997         * doc/misc/trampver.texi:
41998         * lisp/net/trampver.el: Change version to "2.3.1-pre".
42000         * etc/NEWS: Add Tramp connection method "gdrive".
42002         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods) <gdrive>: Add.
42003         (tramp-default-user-alist, tramp-default-host-alist): Add rule
42004         for "gdrive".
42005         (tramp-gvfs-file-attributes): Add "name", remove "standard::icon".
42006         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Simplify regexp.
42007         (tramp-gvfs-get-directory-attributes): Improve loop.  Use
42008         "standard::display-name" as file name, if available.
42009         (tramp-gvfs-handle-file-name-all-completions): Simplify.
42010         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
42011         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
42012         Map between "gdrive" and "google-drive".
42014         * lisp/net/tramp.el (tramp-call-process): Do not signal error.
42016         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
42017         Do not enable `tramp-message-show-message'.
42018         (tramp-test13-make-directory, tramp-test14-delete-directory):
42019         Do not specify error type.
42021 2016-07-04  Tino Calancha  <tino.calancha@gmail.com>
42023         Calc: Update mode line after change mode
42025         * lisp/calc/calc-ext.el (calc-change-mode): Call 'calc-set-mode-line'.
42027 2016-07-03  Mark Oteiza  <mvoteiza@udel.edu>
42029         * lisp/simple.el (save-mark-and-excursion): Add declare forms.
42031 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
42033         Re-fix open-network-stream responsiveness
42035         Problem reported by Christer Ekholm (Bug#23864).
42036         * src/process.c (wait_reading_process_output): Further fix for
42037         typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu when
42038         wait == INFINITY and got_output_end_time is invalid.  See:
42039         https://bugs.gnu.org/23864#20
42041 2016-07-03  Alan Mackenzie  <acm@muc.de>
42043         Remove redundant forms from CC Mode for faster fontification
42045         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove four arms of
42046         the "main" cond form in the function, which have been redundant since the
42047         extraction of c-font-lock-cut-off-declarators from the function on
42048         2016-06-15/16.
42050 2016-07-03  Alan Mackenzie  <acm@muc.de>
42052         Speed up CC Mode fontification with less accurate functions extending region
42054         * lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators)
42055         (c-font-lock-enclosing-decls)
42056         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Replace invocations of
42057         c-beginning-of-decl-1 with less accurate invocations of
42058         c-syntactic-skip-backwards to speed up fontification.
42060 2016-07-03  Tino Calancha  <tino.calancha@gmail.com>
42062         Ibuffer: unmark all buffers without confirmation
42064         * lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680).
42065         (ibuffer-mouse-popup-menu): Use it.
42066         (ibuffer-mode): Update mode doc.
42067         (ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'.
42068         Rebind 'ibuffer-do-replace-regexp' to 'r'.
42070 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
42072         Fix open-network-stream responsiveness
42074         Problem reported by Constantin Kulikov (Bug#23684).
42075         * src/process.c (wait_reading_process_output):
42076         Fix typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu
42077         when wait == INFINITY and got_output_end_time is invalid.
42078         In this case the code should break, not continue.
42080 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
42082         Ibuffer: Mark buffers by content
42084         * lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): New command.
42085         (ibuffer-never-search-content-name): New option.
42086         (ibuffer-never-search-content-mode): Idem.
42087         (ibuffer-mark-by-content-regexp): Use them (Bug#23734).
42089         * lisp/ibuffer.el (ibuffer-mode-map): Bind new command to '% c' and '% g'.
42090         (ibuffer-mode): Update mode documentation.
42092 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
42094         ibuffer-copy-filename-as-kill verbosity increase
42096         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill):
42097         Use shorter name, result, for a local bound var.
42098         Show the string result in the echo area.
42100 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
42102         Fix cursor positioning on TTY frames after stretch glyph
42104         * src/term.c (append_glyph, append_composite_glyph)
42105         (append_glyphless_glyph): Set the avoid_cursor_p and multibyte_p
42106         members of the produced 'struct glyph'.  Fixes cursor positioning
42107         on the first character after a stretch glyph produced from
42108         line-prefix, wrap-prefix, etc. on TTY frames.
42110 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
42112         Fix vertical-movement in buffers with wrap-prefix
42114         * src/indent.c (Fvertical_motion): Zero the current_y coordinate
42115         whenever we zero the vpos vertical position of the iterator.
42116         * src/xdisp.c (move_it_in_display_line_to): Handle line-prefix and
42117         wrap-prefix regardless of whether the current Y coordinate is
42118         inside the window dimensions.  (Bug#23879)
42120 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
42122         Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL
42124         * src/dispextern.h (FACE_FROM_ID_OR_NULL): Renamed from
42125         FACE_OPT_FROM_ID; all callers changed.
42126         * src/xdisp.c (extend_face_to_end_of_line): Call FACE_FROM_ID, not
42127         FACE_FROM_ID_OR_NULL, as the resulting face is immediately
42128         dereferenced.
42129         (fill_gstring_glyph_string): Call FACE_FROM_ID, not
42130         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
42131         when the glyph string is drawn.
42132         (BUILD_COMPOSITE_GLYPH_STRING): Call FACE_FROM_ID, not
42133         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
42134         in fill_composite_glyph_string.
42135         (calc_line_height_property): Call FACE_FROM_ID_OR_NULL rather that
42136         FACE_FROM_ID, since the function and its caller can cope with that
42137         situation.  Conflate 3 tests of missing face or font into just
42138         one.
42139         * src/xfaces.c (Fx_list_fonts, Fface_font, lookup_face): Call
42140         FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since these
42141         functions can cope with that situation.
42142         (lookup_derived_face): Don't call FACE_FROM_ID if the result will
42143         not be used.
42144         * src/w32console.c (w32_face_attributes): Remove redundant 'eassert'.
42146 2016-07-01  Mark Oteiza  <mvoteiza@udel.edu>
42148         * lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote.
42150 2016-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
42152         * lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace
42154         i.e. rename from auto-source--symbol-keyword.
42156 2016-07-01  Dmitry Antipov  <dmantipov@yandex.ru>
42158         Avoid yet another possible NULL pointer dereference found by GCC 6.1.1
42160         * lwlib/lwlib.c (lw_get_all_values): Always check the value returned by
42161         get_widget_info.
42163 2016-06-30  Alan Mackenzie  <acm@muc.de>
42165         CC Mode: truncate the semi-nonlit cache when applying syntax-table to a quote
42167         This applies to applying or removing syntax-table text properties in raw
42168         strings which affect the stringiness of a piece of text.  This fixes the
42169         bug
42170         reported in
42171         https://lists.gnu.org/r/emacs-devel/2016-06/msg00695.html.
42173         * lisp/progmodes/cc-engine.el (c-truncate-semi-nonlit-pos-cache): new
42174         defsubst.
42175         (c-invalidate-state-cache-1): Call new function in place of inline
42176         manipulation.
42177         (c-depropertize-raw-string, c-propertize-raw-string-opener): truncate the
42178         semi-nonlit cache when pertinent syntax-table text properties get applied to
42179         the text.
42181 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
42183         Minor tweaks to openp
42185         * src/lread.c (openp): Move invariant code out of the loop
42186         and thus avoid redundant calls to memcpy.  Adjust comments.
42188 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
42190         Simplify handling of frame parameters
42192         * src/frame.c (x_set_frame_parameters): Avoid extra loop processing
42193         foreground color, background color and font parameters.  Adjust
42194         comments.
42196 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
42198         Cleanup around mature character manipulation functions
42200         * lisp/international/mule-diag.el (decode-codepage-char): Remove.
42202         * lisp/ldefs-boot.el (toplevel): Adjust accordingly.
42204         * lisp/subr.el (toplevel): Do not advertise calling conventions
42205         for 'decode-char' and 'encode-char'.
42207         * src/charset.c (Fdecode_char, Fencode_char): Remove unused 3rd arg.
42209 2016-06-29  Alan Mackenzie  <acm@muc.de>
42211         Fix C-M-a in a C function finding the start of a macro preceding it.
42213         Also amend some pertinent documentation.  This fixes bug #23818.
42215         * lisp/progmodes/cc-engine.el (c-beginning-of-decl-1): Also check for a
42216         virtual semicolon at a place where we check for other types of statement ends.
42218         * lisp/progmodes/cc-vars.el (c-macro-nacmes-with-semicolon): Remove from the
42219         doc string the bit saying that the variable is a prototype and liable to
42220         change.
42222         * doc/misc/cc-mode.texi (Macros with ;): Enhance, stating that configuring
42223         macros with semicolon can prevent C-M-a missing the beginning of defun.
42225 2016-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
42227         Avoid possible NULL pointer dereference found by GCC 6.1.1
42229         * src/xfns.c (x_get_monitor_attributes_xrandr): Always check
42230         the value returned by XRRGetOutputInfo.
42232 2016-06-28  Tino Calancha  <tino.calancha@gmail.com>
42234         Dired recognize dirs when file size in human units
42236         * lisp/dired.el (dired-re-inode-size): Update 'dired-re-inode-size'
42237         to match when Dired displays the allocated file size column
42238         in human readable units (Bug#22255).
42240 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
42242         Fix breakage from previous change
42244         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
42245         * lisp/vc/log-view.el (log-view-font-lock-keywords): Quote face.
42247 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
42249         Fix breakage from previous change.
42251         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords): Quote face.
42253 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
42255         Add tests for copying properties by 'format'
42257         * test/src/editfns-tests.el (format-properties): New test.
42259 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
42261         Fix copying properties in 'format' when it produces padding
42263         * src/textprop.c (extend_property_ranges): Correct range extension
42264         when the new end is beyond the old end.  (Bug#23859)
42266 2016-06-27  Alan Third  <alan@idiocy.org>
42268         Enable dividers in NS (bug#22973)
42270         src/nsfns.m: Add colour settings functions to ns_frame_park_handlers.
42271         src/nsterm.m (ns_draw_window_divider): ns_focus has to go before the
42272         attempt to set the colour.
42273         src/nsterm.m (ns_draw_vertical_window_border): This had the same bug as
42274         above, although I didn't see any errors.
42276 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42278         Fix the prefix action of shr-copy-url
42280         * lisp/net/shr.el (shr-copy-url): Make the command really copy
42281         the image url if given a prefix.
42283 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42285         New functions svg-text and svg-remove
42287         * doc/lispref/display.texi (SVG Images): Document svg-remove.
42289         * doc/lispref/display.texi (SVG Images): Document svg-text.
42291         * lisp/svg.el (svg-remove): New function.
42292         (svg-text): New function.
42294 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42296         Add new function dom-remove-node
42298         * doc/lispref/text.texi (Document Object Model): Document
42299         dom-remove-node.
42301         * lisp/dom.el (dom-remove-node): New function.
42303 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42305         Add a new function `svg-embed'
42307         * doc/lispref/display.texi (SVG Images): Document `svg-embed'.
42309         * lisp/svg.el (svg-embed): New function.
42310         (svg--image-data): Ditto.
42312 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
42314         * lisp/descr-text.el (describe-char-unicode-data): Fix copy/paste errors.
42316 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
42318         Fix 'move-to-window-line' when EOB is on last screen line
42320         * src/window.c (displayed_window_lines): Fix an off-by-one error
42321         when the bottom of the last display line is exactly at window's
42322         last pixel.  Remove kludgey fix for TTY frames that is no longer
42323         needed.  (Bug#15760)
42324         (Fmove_to_window_line): Doc fix.
42326         * doc/lispref/positions.texi (Screen Lines): Clarify and make more
42327         accurate the documentation of 'move-to-window-line'.
42329 2016-06-27  Alan Mackenzie  <acm@muc.de>
42331         Amend a cache so that typing into C++ raw strings has no undue delay.
42333         Also amend the code so that low-level searches to the end of literals are done
42334         only when these positions get used.
42336         * lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use the new
42337         c-literal-start instead of c-literal-limit.
42338         (c-state-semi-nonlit-pos-cache): Change the structure of this cache, such that
42339         it stores details of the literal at a point, rather than merely points outside
42340         of literals.
42341         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
42342         (c-cache-to-parse-ps-state, c-parse-ps-state-to-cache, c-ps-state-cache-pos)
42343         (c-parse-ps-state-below, c-literal-start): New functions.
42344         (c-state-semi-safe-place): Removed.
42345         (c-in-literal): Use c-state-semi-pp-to-literal, so as not to scan to its end.
42346         (c-literal-limits, c-determine-limit-get-base): consequential amendments.
42347         (c-find-decl-spots, c-before-change-check-<>-operators, c-raw-string-pos)
42348         (c-guess-basic-syntax (CASE 2)): Avoid needless scans to end of literals.
42350         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Avoid needless scans
42351         to end of literals.
42353         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Avoid needless scans to end of
42354         literals.
42356         * lisp/progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun)
42357         (c-defun-name, c-declaration-limits): Avoid needless scans to end of literals.
42359 2016-06-26  Dmitry Gutov  <dgutov@yandex.ru>
42361         Also handle escaping when string begins with a quote
42363         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
42364         Handle quoting of the first character in the string.
42366         * test/lisp/progmodes/ruby-mode-tests.el
42367         (ruby-toggle-string-quotes-quotes-correctly): Update.
42369 2016-06-26  Sriram Thaiyar  <sriram.thaiyar@gmail.com>  (tiny change)
42371         Fix quote escaping in ruby-toggle-string-quotes
42373         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
42374         Change logic to quote based on the current quote of the string.
42376         * test/lisp/progmodes/ruby-mode-tests.el
42377         (ruby-toggle-string-quotes-quotes-correctly): Add test.
42379 2016-06-26  Noam Postavsky  <npostavs@gmail.com>
42381         Fix test-completion with completion-regexp-list
42383         * src/minibuf.c (Ftest_completion): Handle alist COLLECTION with non-nil
42384         completion-regexp-list (Bug #23533).
42386 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
42388         Try other addresses when connecting to multihomed
42390         Problem reported by Juliusz Chroboczek (Bug#17976)
42391         and by Artur Malabarba (Bug#23620).
42392         Patch from a suggestion by Andreas Schwab in:
42393         https://bugs.gnu.org/17976#39
42394         This patch is for non-MS-Windows platforms.
42395         I don't know the situation on MS-Windows.
42396         * src/process.c (connecting_status):
42397         New function, for (connect . ADDRINFOS).
42398         (connect_network_socket, check_for_dns, wait_for_socket_fds)
42399         (wait_while_connecting, wait_reading_process_output, status_notify):
42400         Use it.
42401         (decode_status, Fmake_network_process):
42402         Support (connect . ADDRINFOS) status.
42403         (connect_network_socket) [!WINDOWSNT]:
42404         If the connection failed and there are other addresses to try, do not
42405         signal an error; instead, loop around to try the next address.
42406         (wait_reading_process_output): Advance to the next address
42407         if there are multiple addresses and the first remaining address
42408         failed.
42409         * src/process.h (struct Lisp_Process.status): Adjust comment
42410         to describe (connect . ADDRINFOS).
42412 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
42414         Fix GNUC_PREREQ for GCC 2.8.1 etc.
42416         Problem reported by Eli Zaretskii in:
42417         https://lists.gnu.org/r/emacs-devel/2016-06/msg00608.html
42418         * src/conf_post.h (GNUC_PREREQ): Port to GCC versions like GCC
42419         2.8.1 (1998), which come before GCC 3.0 and which have nonzero
42420         patchlevel numbers.
42422 2016-06-26  Eli Zaretskii  <eliz@gnu.org>
42424         Don't set 'bidi-paragraph-direction' in 'ansi-term'
42426         * lisp/term.el (ansi-term): Remove unnecessary setting of
42427         'bidi-paragraph-direction'.  The underlying problem is solved in
42428         bidi.c by changing the regexps that define the paragraph beginning
42429         and end.  (Bug#20611)
42431 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
42433         Sync with Tramp 2.3.0
42435         * doc/misc/trampver.texi:
42436         * lisp/net/trampver.el: Change version to "2.3.0".
42438 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
42440         Fix GNUC_PREREQ off-by-1 typo
42442         Problem reported by Martin Rudalics in:
42443         https://lists.gnu.org/r/emacs-devel/2016-06/msg00587.html
42444         * src/conf_post.h (GNUC_PREREQ) [__GNUC_PATCHLEVEL__]:
42445         Fix < vs <= typo.
42447 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
42449         Fix some oddities in Tramp's rsync and smb methods
42451         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-p" and
42452         "-s" arguments.
42453         (tramp-do-copy-or-rename-file-out-of-band):
42454         Call `file-name-directory' also for remote NEWNAME.
42456         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
42457         Do not skip for tramp-smb.el.  Test als COPY-CONTENTS case.
42458         (tramp-test24-file-name-completion): Improve check for
42459         hostname completion.
42460         (tramp--test-rsync-p): New defun.
42461         (tramp-test31-special-characters)
42462         (tramp-test31-special-characters-with-stat)
42463         (tramp-test31-special-characters-with-perl)
42464         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
42465         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
42466         (tramp-test32-utf8-with-ls): Skip for "rsync".
42468         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
42469         Check also for CIFS capabilities.
42471 2016-06-26  Ury Marshak  <ury.marshak@gmail.com>  (tiny change)
42473         Fix FRAME_INTERNAL_BORDER_WIDTH use (Bug#23841)
42475         * src/nsfns.m (x_set_internal_border_width): Replace assignments to
42476         FRAME_INTERNAL_BORDER_WIDTH.
42478 2016-06-25  Leo Liu  <sdl.web@gmail.com>
42480         Deprecations (bug#23850)
42482         * lisp/subr.el (string-to-unibyte, string-as-unibyte,
42483         string-to-multibyte, string-as-multibyte): Make obsolete.
42485 2016-06-25  Tino Calancha  <tino.calancha@gmail.com>
42487         Do not prompt twice to save a buffer
42489         * lisp/hilit-chg.el (highlight-markup-buffers): (Bug#23824).
42491 2016-06-25  Alan Third  <alan@idiocy.org>
42493         Move text line right when in box (bug#23755)
42495         * src/nsterm.m (ns_draw_glyph_string_foreground): Create to take
42496         CHAR_GLYPH specific code and move glyphs right if within a box.
42497         (ns_draw_glyph_string): Move CHAR_GLYPH specific code into above
42498         function.
42500 2016-06-25  Paul Eggert  <eggert@cs.ucla.edu>
42502         Merge from origin/emacs-25
42504         0377fe2 ; Spelling fixes
42505         f253695 Update docs for `customize-mode'
42506         4395aaa Fix documentation of 'assoc-string' and 'compare-strings'
42507         ab0ebb9 ; Only load .elc file in tests.
42508         a98aa02 Error on multibyte characters in HTTP request
42509         ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th...
42510         8297331 ; Revert "Ensure undo-boundary after insert-file-contents."
42511         dc5e65b Unset GIT_DIR when calling Git commands
42512         6cdd8f7 Ensure undo-boundary after insert-file-contents.
42513         4793f5f Clarify documentation of 'line-spacing' and 'line-height'
42514         5f37572 Fix removal of variables from process-environment
42515         e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file...
42516         db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add...
42518         # Conflicts:
42519         #       doc/lispref/modes.texi
42520         #       lisp/gnus/mm-decode.el
42522 2016-06-25  Mark Oteiza  <mvoteiza@udel.edu>
42524         Teach net-utils more iproute2 and nl80211 tools
42526         * lisp/net/net-utils.el (iwconfig-program): Add iw(8).
42527         (iwconfig-program-options): Add "dev" argument for iw.  Another useful
42528         option is "phy"; beyond that one needs to know the interface name.
42529         (netstat-program): Add ss(8).
42530         (route-program): Add ip(8).
42531         (route-program-options): Add "route" argument for ip.
42533 2016-06-24  Leo Liu  <sdl.web@gmail.com>
42535         Use use-region-p in prolog.el
42537         * lisp/progmodes/prolog.el (region-exists-p): Remove.
42538         * lisp/progmodes/prolog.el (prolog-edit-menu-runtime,
42539         prolog-edit-menu-insert-move): Use use-region-p.
42541 2016-06-24  Leo Liu  <sdl.web@gmail.com>
42543         Remove compatibility with Emacs 24.3 in octave-mode
42545         * lisp/progmodes/octave.el: Clean up and remove compatibility with
42546         Emacs 24.3.
42548 2016-06-24  Alan Mackenzie  <acm@muc.de>
42550         Ensure hack-local-variables is run in a fundamental mode buffer.
42552         This fixes bug #23827.
42554         * src/buffer.c (set-buffer-major-mode): Run `fundamental-mode' when the buffer
42555         gets set to that mode, so that `run-mode-hooks', and thus
42556         `hack-local-variables' get run.
42558 2016-06-24  Tino Calancha  <tino.calancha@gmail.com>
42560         Fix caller to ediff-setup
42562         * lisp/hilit-chg.el (hilit-chg-get-diff-info): #Bug23820.
42564 2016-06-24  Alan Mackenzie  <acm@muc.de>
42566         Implement ' separators in C++ integer literals.
42568         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): insert
42569         c-before-after-change-digit-quote into the C++ value.
42570         (c-before-font-lock-functions): Insert c-depropertize-new-text into the values
42571         for all languages.  Insert c-before-after-change-digit-quote into the C++
42572         value.
42574         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Wrap the function in
42575         c-save-buffer-state.
42576         (c-depropertize-new-text, c-before-after-change-digit-quote): New functions.
42578 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
42580         Update from gnulib
42582         This incorporates:
42583         2016-06-24 intprops: port better to GCC 7
42584         2016-06-13 xalloc-oversized: port to GCC 7; fewer warnings
42585         * doc/misc/texinfo.tex, lib/xalloc-oversized.h, lib/intprops.h:
42586         Copy from gnulib.
42588 2016-06-24  Martin Rudalics  <rudalics@gmx.at>
42590         Remove two uses of 'min' in Fwindow_text_pixel_size
42592         * src/xdisp.c (Fwindow_text_pixel_size): Don't use 'min' since
42593         it calls move_it_to twice.  Suggested by Eli Zaretskii.
42595 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
42597         Clarify intent of FACE_FROM_ID and IMAGE_FROM_ID
42599         * src/dispextern.h (FACE_OPT_FROM_ID): Don’t use FACE_FROM_ID,
42600         since it is intended to be used only when it returns a non-null
42601         pointer, and here the pointer might be null.
42602         (IMAGE_OPT_FROM_ID): Don’t use IMAGE_FROM_ID, for similar reasons.
42604 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
42606         Remove some more face aliases obsoleted in 22.1
42608         * lisp/eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face,
42609         eshell-ls-executable-face, eshell-ls-readonly-face,
42610         eshell-ls-unreadable-face, eshell-ls-special-face,
42611         eshell-ls-missing-face, eshell-ls-archive-face, eshell-ls-backup-face,
42612         eshell-ls-product-face, eshell-ls-clutter-face): Remove.
42613         * lisp/isearch.el (isearch-lazy-highlight-face, lazy-highlight-face): Remove.
42614         (isearch-lazy-highlight-update): Use face symbol.
42615         * lisp/net/sieve-mode.el (sieve-control-commands-face,
42616         sieve-action-commands-face, sieve-test-commands-face,
42617         sieve-tagged-arguments-face): Remove.
42618         (sieve-font-lock-keywords): Use non-obsolete faces.
42619         * lisp/progmodes/sh-script.el (sh-heredoc-face): Remove.
42620         (sh-get-indent-info, sh-prev-line): Use face symbol.
42621         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
42622         Use non-obsolete face.
42623         (tex-math-face, tex-verbatim-face): Remove.
42624         (tex-font-lock-syntactic-face-function): Use face symbols.
42626 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
42628         Remove some face aliases obsoleted in 22.1
42630         * lisp/faces.el (modeline-inactive, modeline-highlight, modeline-buffer-id):
42631         * lisp/hilit-chg.el (highlight-changes-face, highlight-changes-delete-face):
42632         * lisp/info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face,
42633         Info-title-4-face, info-menu-5):
42634         * lisp/obsolete/old-whitespace.el (whitespace-highlight-face):
42635         * lisp/paren.el (show-paren-match-face, show-paren-mismatch-face):
42636         * lisp/progmodes/make-mode.el (makefile-space-face):
42637         * lisp/textmodes/texinfo.el (texinfo-heading-face): Remove.
42638         (texinfo-font-lock-keywords): Use texinfo-heading face.
42639         * lisp/vc/add-log.el (change-log-date-face, change-log-name-face,
42640         change-log-email-face, change-log-file-face, change-log-list-face,
42641         change-log-conditionals-face, change-log-function-face,
42642         change-log-acknowledgement-face):
42643         * lisp/vc/diff-mode.el (diff-header-face, diff-file-header-face,
42644         diff-index-face, diff-hunk-header-face, diff-removed-face, diff-added-face,
42645         diff-changed-face, diff-function-face, diff-context-face,
42646         diff-nonexistent-face): Remove.
42647         (diff-use-changed-face, diff-font-lock-keywords): Use non-obsolete face
42648         symbols.
42649         (diff-hunk-file-names): Fix comment.
42650         (diff-refine-change): Remove.
42651         (diff-refine-removed, diff-refine-added, diff-refine-hunk): Use
42652         non-obsolete face.
42653         * lisp/vc/log-view.el (log-view-file-face, log-view-message-face): Remove.
42654         (log-view-font-lock-keywords): Use non-obsolete face names.
42655         * lisp/vc/pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face,
42656         cvs-handled-face, cvs-need-action-face, cvs-marked-face, cvs-msg-face):
42657         * lisp/wid-edit.el (widget-documentation-face, widget-button-face,
42658         widget-field-face, widget-single-line-field-face, widget-inactive-face,
42659         widget-button-pressed-face):
42660         * lisp/woman.el (woman-italic-face, woman-bold-face, woman-unknown-face,
42661         woman-addition-face): Remove.
42663 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
42665         * lisp/international/characters.el (standard-case-table): Improve last change.
42667 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
42669         Improve results of 'upcase' for characters with title-case
42671         * lisp/international/characters.el (standard-case-table): Swap the
42672         order of some lines, to have 'upcase' return the upper-case
42673         variant, not the title-case, for some characters whose lower-case
42674         map to the same codepoints.  (Bug#23833)
42676 2016-06-23  Alan Mackenzie  <acm@muc.de>
42678         Make typing into incomplete C++ raw strings work, and make it work fast enough
42680         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-state-pp-to-literal):
42681         Put `save-match-data' around calls to `looking-at' to enable the use of the
42682         match data in higher level functions.
42684         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations)
42685         (c-font-lock-cut-off-declarators): Use `limit' rather than `(point-max)' as a
42686         limit to speed up handling of C++ raw strings.
42688 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
42690         Fix handling of LWINDOW key on MS-Windows
42692         * src/w32fns.c (funhook): Correct a typo which broke handling of
42693         the LWINDOW key.  (Bug#23830)
42695 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
42697         Update Unicode data files from Unicode 9.0.0
42699         * admin/unidata/copyright.html:
42700         * admin/unidata/BidiBrackets.txt:
42701         * admin/unidata/UnicodeData.txt: Update from Unicode 9.0.0, just
42702         released.
42704 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
42706         Fix test for whether the '.el' file is newer than '.elc'
42708         * src/lread.c (Fload): Don't overwrite the last character of the
42709         file name in FOUND with 'c', unless the file name ended in ".elc"
42710         to begin with.  Don't treat empty files as byte-compiled.  See
42711         https://lists.gnu.org/r/emacs-devel/2016-06/msg00463.html
42712         for more details of the problem this caused.
42714 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
42716         Fix 'insert-file-contents' when REPLACE is non-nil
42718         * src/fileio.c (maybe_move_gap): New function to move the gap to
42719         the end of a buffer, if it isn't there already.
42720         (Finsert_file_contents): Call 'maybe_move_gap' before using
42721         conversion_buffer's text as a C 'char' array.  (Bug#23659)
42722         * src/coding.c (decode_eol): Compute the byte increment before
42723         calling del_range_2, because the latter can invalidate the pointer
42724         to buffer text.
42726 2016-06-22  Ken Brown  <kbrown@cornell.edu>
42728         Avoid compiler warning
42730         * src/w32fns.c (Fx_show_tip): Don’t jump over auto initialization.
42732 2016-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
42734         * lisp/emacs-lisp/syntax.el (syntax-propertize): Flush extended region.
42736 2016-06-22  Ken Brown  <kbrown@cornell.edu>
42738         Fix last change to FRAME_INTERNAL_BORDER_WIDTH
42740         * src/w32fns.c (x_set_internal_border_width): Don’t use
42741         FRAME_INTERNAL_BORDER_WIDTH(), which is now a function call, as an
42742         lvalue.
42744 2016-06-21  Paul Eggert  <eggert@cs.ucla.edu>
42746         Improve --without-x GCC pacification
42748         * src/composite.c (autocmp_chars):
42749         * src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]:
42750         Use simpler ((void) 0) for no-op expression returning void.
42751         * src/dispextern.h [HAVE_WINDOW_SYSTEM]:
42752         Include fontset.h, for face_for_char.
42753         (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR):
42754         Now inline functions instead of macros.  This avoids the need for
42755         all those casts to void.
42756         (FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg.
42757         All uses changed.
42758         * src/frame.c (Ficonify_frame, Fset_frame_position):
42759         * src/xdisp.c (Fmove_point_visually, show_mouse_face):
42760         * src/xdisp.c (note_mode_line_or_margin_highlight)
42761         (note_mouse_highlight):
42762         Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should
42763         now work either way without generating warnings.
42764         * src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function.
42765         (window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h.
42766         (decode_window_system_frame): Use check_window_system instead of
42767         rolling the code ourself.  Return needed only if HAVE_WINDOW_SYSTEM.
42768         (decode_window_system_frame, check_window_system):
42769         Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one.
42770         * src/frame.c (Ficonify_frame, Fset_frame_position):
42771         * src/xdisp.c (show_mouse_face, define_frame_cursor1)
42772         (note_mouse_highlight):
42773         Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef;
42774         this is a better way to pacify GCC.
42775         * src/xdisp.c (x_set_left_fringe, x_set_right_fringe)
42776         (x_set_right_divider_width, x_set_bottom_divider_width):
42777         * src/xfns.c (x_set_internal_border_width):
42778         Don’t use what are now function calls as lvalues.
42779         * src/frame.h (WINDOW_SYSTEM_RETURN): New macro.
42780         (decode_window_system_frame, check_window_system):
42781         Use it, to avoid the need for duplicate declarations.
42782         (window_system_available): Now an inline function.
42783         (display_available): New decl.
42784         (frame_dimension): New inline function.
42785         (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
42786         (FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH)
42787         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
42788         (FRAME_BOTTOM_DIVIDER_WIDTH):
42789         Use it, to avoid the need for duplicate definitions.
42790         Now inline functions instead of macros.
42791         * src/gnutls.c (gnutls_log_function2i): Remove.
42792         * src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly.
42793         This avoids complaints about gnutls_log_function2i being defined
42794         and not used on older platforms that do not need to call GNUTLS_LOG2i.
42795         * src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro.
42796         * src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id =
42797         expr’ to ‘type id; id = expr’, as this would suppress valid
42798         jump-misses-init diagnostics.  Let’s find a better way to address
42799         the problem.
42800         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE):
42801         Define only if needed.
42802         * src/xdisp.c (handle_single_display_spec):
42803         Simplify fringe_bitmap computation.
42804         (define_frame_cursor1): Do nothing unless in a window system.
42805         All callers changed and simplified.
42806         * src/xfaces.c (realize_default_face):
42807         Use a simpler way to pacify GCC when a return value is not used
42808         on some platforms.
42810 2016-06-21  Phillip Lord  <phillip.lord@russet.org.uk>
42812         Ensure undo-boundary after all commands
42814         * lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after
42815           every command whether it (apparently) changes the buffer or not.
42817         See Bug#23785 for discussion.
42819 2016-06-21  Eli Zaretskii  <eliz@gnu.org>
42821         Fix vertical layout calculations when newline has line-height property
42823         * src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
42824         'constrain_row_ascent_descent_p' flag after processing the
42825         newline, similar to what 'display_line' does.  Without this, the
42826         flag remains set once set by x_produce_glyphs, and causes the
42827         vertical layout calculations to go awry, because Emacs thinks the
42828         screen lines have zero height.  (Bug#23850)
42830 2016-06-20  Ken Brown  <kbrown@cornell.edu>
42832         Fix compiler warnings in Cygwin-w32 build
42834         * src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while
42835         loop to avoid compiler warnings about empty body of 'if'
42836         statement.
42838         * src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused
42839         macro.
42840         (x_create_bitmap_from_data): Declare 'frame'.
42841         (x_create_bitmap_from_file): Don't declare unused variable
42842         'dpyinfo'.
42844         * src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to
42845         prevent "jump-misses-init" compiler warnings.
42847         * src/w32fns.c (check_w32_winkey_state): Define and use only if
42848         WINDOWSNT.
42849         (Fx_show_tip): Declare 'f'.
42850         (Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE.
42851         (w32_strerror): Use format specifier %d for sprintf argument of
42852         type int.
42853         (emacs_abort): Cast sprintf argument of type DWORD to unsigned
42854         int, and use format specifier %x, for compatibility with Cygwin.
42855         (unicode_append_menu) [NTGUI_UNICODE]:
42856         * src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info)
42857         (set_menu_item_info, unicode_append_menu)
42858         (unicode_message_box):
42859         * src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as
42860         functions rather than macros to avoid "address will always
42861         evaluate as true" compiler warnings.
42863         * src/w32font.c (w32_to_x_charset): Use format specifier %d for
42864         sprintf argument of type int.
42866         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast
42867         sprintf argument of type int to unsigned int to match %X format
42868         specifier.
42869         (w32_scroll_bar_handle_click):
42870         (w32_horizontal_scroll_bar_handle_click): Declare 'f'.
42872         * src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused
42873         argument.
42875 2016-06-20  Ken Brown  <kbrown@cornell.edu>
42877         Fix compiler warnings in no-window-system-build
42879         * src/composite.c (autocmp_chars): Declare and set 'f' only if
42880         HAVE_WINDOW_SYSTEM.
42882         * src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
42883         (FACE_FOR_CHAR): Explicitly discard unused arguments.
42885         * src/font.c (font_open_entity): Declare 'min_width' where it is
42886         first set, and only if HAVE_WINDOW_SYSTEM.
42888         * src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
42889         Define _Noreturn version to avoid "suggest attribute noreturn"
42890         compiler warning.
42891         (check_window_system): Declare as _Noreturn.
42892         (Ficonify_frame):
42893         (Fset_frame_position): Don’t declare and set 'f'.
42895         * src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
42896         (check_window_system):  Add _Noreturn prototypes.
42897         (FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
42898         (FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
42899         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
42900         (FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.
42902         * src/xdisp.c (handle_single_display_spec): Declare
42903         'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
42904         (append_space_for_newline): Declare 'g' where it is first set.
42905         (Fmove_point_visually): Declare and set 'target_is_eol_p' only if
42906         HAVE_WINDOW_SYSTEM.
42907         (show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
42908         if HAVE_WINDOW_SYSTEM.
42909         (note_mode_line_or_margin_highlight):
42910         (note_mouse_highlight): Declare and set 'cursor' and 'pointer'
42911         only if HAVE_WINDOW_SYSTEM.
42913         * src/xfaces.c (realize_default_face): Declare and set 'face' only
42914         if HAVE_X_WINDOWS.  Remove redundant #ifdef.
42916 2016-06-20  Michael Albinus  <michael.albinus@gmx.de>
42918         Weaken test conditions in filenotify-tests.el
42920         * test/lisp/filenotify-tests.el (file-notify--test-with-events):
42921         Fix thinko in test.
42922         (file-notify-test02-events, file-notify-test04-file-validity)
42923         (file-notify-test07-backup)
42924         (file-notify-test08-watched-file-in-watched-dir): Make test
42925         conditions more weak.  (Bug#23618)
42927 2016-06-19  Paul Eggert  <eggert@cs.ucla.edu>
42929         Minor ABLOCKS_BUSY cleanups in alloc.c
42931         * src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash
42932         with member ‘abase’ in definiens.
42933         (lisp_align_malloc, lisp_align_free): Use bool for boolean.
42934         Avoid compiler warning with fewer casts.
42935         (lisp_align_free): Check busy-field values; this can help the
42936         compiler a bit when optimizing, too.
42938 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
42940         ASCII-fy coding-system-for-read used for Git commands
42942         * lisp/vc/vc-git.el (vc-git--asciify-coding-system):
42943         New function.
42944         (vc-git-diff, vc-git-annotate-command): Use it.
42946 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
42948         Prohibit multibyte characters in url-http-data
42950         It didn't work anyway, but this makes any such errors more obvious
42951         by catching them earlier.
42953         * lisp/url/url-http.el (url-http-create-request):
42954         Use string-to-unibyte (bug#23750).
42956 2016-06-19  Eli Zaretskii  <eliz@gnu.org>
42958         Fix setting a range of char-table slots in a singular case
42960         * src/chartab.c (char_table_set_range): Start the loop from the
42961         first character of the block to which FROM belongs.  (Bug#23797)
42963         * test/src/chartab-tests.el: New test file.
42965 2016-06-19  Alan Mackenzie  <acm@muc.de>
42967         Fix CC Mode fontification problem apparent in test file decls-6.cc.
42969         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Recognize
42970         "bar (gnu);" as a declarator only when the construct is directly inside a
42971         class (etc.) called "bar".
42972         (c-directly-in-class-called-p): New function.
42974 2016-06-19  Alan Mackenzie  <acm@muc.de>
42976         c-renarrow-state-cache: take care when new point is inside old brace pair.
42978         Also add display of point-min to the c-parse-state debugging output.
42980         * lisp/progmodes/cc-engine.el (c-renarrow-state-cache): When the new
42981         point is inside an old recorded brace pair, clear the cache.
42982         (c-debug-parse-state): Output the value of point-min.
42984 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
42986         Rename ALIGN to pointer_align
42988         * src/alloc.c (pointer_align): Rename from ALIGN.
42989         This fixes Bug#23764 in a simpler way.
42991 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
42993         Merge from origin/emacs-25
42995         d1efbaf Fix documentation of completion functions
42996         65c96cc Clarify documentation of 'font-lock-maximum-decoration'
42997         2ad3d01 * doc/misc/cl.texi (Usage): Add some more details.
42998         b49cb0a Fbackward_prefix_chars: stay within buffer bounds
43000 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
43002         Merge from origin/emacs-25
43004         2317c61 Fix last todo-mode change
43005         5d4d8a3 Improve last todo-mode fix
43006         d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
43007         27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD.  (Bug#23...
43008         f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
43009         e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
43010         d308aa1 Minor grammar fix (bug#23746)
43011         20de667 Doc fixes for grammar and typos (bug#23746)
43012         a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
43013         27f440e Add cross-reference to ELisp manual
43014         10802d8 ; make change-history-commit
43015         4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
43016         12e009e Restore initial undo boundary with viper
43017         291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
43018         6921f4a Fix dbus crash on 32-bit Cygwin
43020 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
43022         Merge from origin/emacs-25
43024         9ae514a * etc/AUTHORS: Update the AUTHORS file
43025         3ca428e add entries to authors.el
43026         66d556b Fix eldoc-related freezes in python mode
43027         d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
43028         27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
43029         a813487 Fix undo boundary in recursive edit (Bug#23632)
43030         1f85b7c Doc fixes re alist-get.  (Bug#23548)
43031         ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
43032         56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
43033         4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
43034         a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
43035         601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.
43037 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
43039         * lisp/emacs-lisp/map.el (map-contains-key): Better docstring
43041 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
43043         Fix seq-contains
43045         Make sure seq-contains return the element of the sequence instead of t.
43047         * lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
43048         * test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
43050 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
43052         Add new function map-do
43054         * lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New
43055           functions.
43056         * test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do.
43058 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
43060         Add seq-do-indexed
43062         * lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
43063         * test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.
43065 2016-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
43067         map.el (map-merge*): Use `map-into' at beginning rather than end
43069         * lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map,
43070         and don't use of an intermediate alist.
43071         (map-merge-with): Same, plus use `cl-callf' to try and avoid performing
43072         3 lookups per inner iteration.
43074 2016-06-16  Mark Oteiza  <mvoteiza@udel.edu>
43076         * lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version.
43078 2016-06-15  Alan Mackenzie  <acm@muc.de>
43080         Speed up CC Mode's font locking by taking some code out of a hot loop.
43082         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove code which
43083         tests for bare declarators.
43084         (c-font-lock-cut-off-declarators): New function.
43085         (c-complex-decl-matchers): insert c-font-lock-cut-off-declarators.
43087 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
43089         Automatically find vars and functions via definition-prefixes
43091         * lisp/help-fns.el (help-definition-prefixes): New var and function.
43092         (help--loaded-p, help--load-prefixes, help--symbol-completion-table):
43093         New functions.
43094         (describe-function, describe-variable): Use them.
43096         * lisp/emacs-lisp/radix-tree.el (radix-tree--prefixes)
43097         (radix-tree-prefixes, radix-tree-from-map): New functions.
43099 2016-06-15  Michal Nazarewicz  <mina86@mina86.com>
43101         Automatically detect whether .h file is C or C++
43103         * lisp/progmodes/cc-mode.el (c-or-c++-mode): A new function which
43104         analyzes contents of the buffer to determine whether it looks like C++
43105         source code and based on that enables c-mode or c++-mode.
43106         (c-or-c++-mode--regexp): Regular expression which, when matches
43107         a buffer, signals file is C++.
43109 2016-06-15  Alan Mackenzie  <acm@muc.de>
43111         Parse compound identifiers in C++ member initialization lists.
43113         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): New function.
43114         (c-back-over-member-initializer-braces, c-back-over-list-of-member-inits)
43115         (c-back-over-member-initializers): Call c-back-over-compound-identifier rather
43116         than c-simple-skip-symbol-backward.
43118 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
43120         Advertize set-keymap-parent as replacement for copy-keymap
43122         * doc/lispref/keymaps.texi (Creating Keymaps):
43123         * src/keymap.c (Fcopy_keymap): Advertize set-keymap-parent as replacement.
43125 2016-06-15  Ted Zlatanov  <tzz@lifelogs.com>
43127         * lisp/generic-x.el (ansible-inventory-generic-mode): Warn if
43128         value is missing
43130 2016-06-15  Tim Chambers  <tbc@alum.mit.edu>  (tiny change)
43132         Add new ansible-inventory-generic-mode (Bug#23762)
43134         * lisp/generic-x.el (ansible-inventory-generic-mode): Add new mode.
43136 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
43138         Fix ifdef-vs-if typo with RANDR13_LIBRARY
43140         * src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
43141         This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
43142         https://lists.gnu.org/r/emacs-devel/2016-06/msg00198.html
43144 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
43146         Port to platforms where char * has top bit set
43148         This fixes a five-year-old FIXME comment.  Although I don’t know
43149         of a platform where this is a problem in practice, better safe
43150         than sorry.
43151         * src/doc.c (Fdocumentation): If SUBRP, simply use doc as integer,
43152         as it is now an integer, not char *.
43153         (store_function_docstring): Offset is now EMACS_INT, not ptrdiff_t;
43154         this is a file offset and EMACS_INT is better if --with-wide-int.
43155         If SUBRP, simply store the offset rather than negating it and
43156         converting it to char *.
43157         * src/lisp.h (struct Lisp_Subr.doc): Now EMACS_INT, not char *.
43159 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
43161         Remove recursion from store_function_docstring
43163         * src/doc.c (store_function_docstring):
43164         Refactor to avoid the need for C-level recursion.
43166 2016-06-14  Ken Brown  <kbrown@cornell.edu>
43168         Remove system-specific -I switch from Cygwin-w32 build
43170         Suggested by Eli Zaretskii in discussion of bug#18302.
43172         * src/image.c [HAVE_NTGUI]: Remove the unused macro
43173         PIXEL_ALREADY_TYPEDEFED.  On Cygwin, include "noX/xpm.h" instead of
43174         "X11/xpm.h".
43176         * configure.ac [CYGWIN && HAVE_W32]: Change the xpm test to use
43177         "noX/xpm.h".  Don't add a -I switch to CPPFLAGS.
43179 2016-06-14  Noam Postavsky  <npostavs@gmail.com>
43181         Make python.el work in Emacs 24
43183         * lisp/progmodes/python.el: Bump version.
43184         (python-define-auxiliary-skeleton): Only use format-message if
43185         fbound (Bug#23126).
43187 2016-06-13  Ken Brown  <kbrown@cornell.edu>
43189         Avoid compiler warning
43191         * src/w32fns.c (deliver_wm_chars): Add 'const' to declaration of
43192         'type_CtrlAlt'.
43194 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
43196         Call tzset after setting TZ
43198         * src/editfns.c (tzlookup): Call tzset after setting TZ, so that
43199         the setting change propagates into Emacs local time (Bug#23600).
43200         (emacs_setenv_TZ): Clarify comments.
43202 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
43204         Update texinfo.tex
43206         * doc/misc/texinfo.tex: Update from gnulib.
43208 2016-06-12  Paul Eggert  <eggert@cs.ucla.edu>
43210         New macro GNUC_PREREQ for GCC version
43212         * src/conf_post.h (GNUC_PREREQ): New macro.
43213         Change uses of __GNUC_MINOR__ and __GNUC_PATCHLEVEL__ to use this
43214         macro instead, for clarity and consistency.
43215         (PRINTF_ARCHETYPE): New macro.  Define it to __gnu_printf__ only
43216         if glibc, since non-GNU platforms don’t necessarily support GNU
43217         printf formats.
43218         (ATTRIBUTE_FORMAT_PRINTF): Use it.
43220 2016-06-12  Nicolas Petton  <nicolas@petton.fr>
43222         * lisp/emacs-lisp/seq.el (seq-drop): Better list implementation
43224 2016-06-12  Eli Zaretskii  <eliz@gnu.org>
43226         Fix printf-related compilation warnings on MinGW
43228         * src/conf_post.h (ATTRIBUTE_FORMAT_PRINTF) [__MINGW32__]: Use
43229         '__ms_printf__', not '__gnu_printf__', as the latter is not what
43230         MS 'printf' supports, and causes bogus compilation warnings.
43231         * src/lisp.h (pI) [__MINGW32__]: Define to "I64", as MS 'printf'
43232         doesn't support the "ll" modifier.
43234 2016-06-11  Paul Eggert  <eggert@cs.ucla.edu>
43236         emacs_strerror cleanups
43238         * src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h;
43239         no longer needed, now that emacs_strerror is declared by lisp.h.
43240         * src/coding.c (emacs_strerror): Remove; moved to emacs.c.
43241         * src/coding.h (emacs_strerror) [emacs]: Remove decl; moved
43242         to lisp.h.
43243         * src/emacs.c (emacs_strerror): Move here from coding.c.  Do not
43244         convert result string; this is now the caller’s responsibility,
43245         as some need conversion and others don’t.
43246         * src/fileio.c (report_file_errno, report_file_notify_error):
43247         Use emacs_strerror rather than rolling it ourselves.
43248         * src/lisp.h (emacs_strerror): Move decl here from coding.h.
43249         * src/lread.c (dir_warning): Just call emacs_strerror rather than
43250         both strerror and emacs_strerror.  Convert its result from
43251         locale-coding-system, since it no longer does that conversion.
43252         * src/sound.c (sound_perror):
43253         * src/sysdep.c (emacs_perror, str_collate):
43254         Use emacs_strerror, not strerror.
43256 2016-06-10  David Reitter  <david.reitter@gmail.com>
43258         Prevent compiler warning for unused arguments
43260         * lisp/international/ucs-normalize.el
43261         (ucs-normalize-hfs-nfd-pre-write-conversion):
43262         Prevent compiler warning for unused arguments, add coment.
43264 2016-06-10  Paul Eggert  <eggert@cs.ucla.edu>
43266         Catch malloc_get_state, malloc_set_state failure
43268         This should help insulate Emacs better from configuration screwups.
43269         Future versions of the GNU C library are planned to deprecate
43270         these functions, but will continue to support them in
43271         already-built-and-dumped Emacs executables.
43272         * src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
43273         Abort if malloc_set_state fails.
43274         (alloc_unexec_pre) [DOUG_LEA_MALLOC]:
43275         Report malloc_get_state failure, and exit.
43277 2016-06-10  Eli Zaretskii  <eliz@gnu.org>
43279         Show returned value after gdb-mi "finish" command
43281         * lisp/progmodes/gdb-mi.el (gdb-stopped): Display the expected
43282         "Value returned" message in response to "finish", when not
43283         produced by GDB/MI.  (Bug#23720)
43285 2016-06-10  David Reitter  <david.reitter@gmail.com>
43287         Simplify pre-write-conversion for utf-8-hfs coding system
43289         * lisp/international/ucs-normalize.el
43290         (ucs-normalize-hfs-nfd-pre-write-conversion): Refactor.
43292         May address an issue where Emacs consumed large amounts of CPU
43293         because of neverending toolbar updating (which was caused
43294         by, but also called this function).
43296 2016-06-09  Martin Rudalics  <rudalics@gmx.at>
43298         Revert "Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2"
43300         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
43301         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
43302         Monnier.  (Bug#19185, Bug#20398)
43304         This reverts commit 72166f2f3dba18f1217c666574032f5a0351ed65.
43306         That commit did more harm than good (Bug#23571).
43308 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
43310         Port __builtin_assume_aligned to Sun C 5.13
43312         * src/conf_post.h (__builtin_assume_aligned):
43313         Fix typo: the extra arg did not conform to C99.
43315 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
43317         Prefer getsockopt to getpeername on non-MS-Windows
43319         * admin/CPP-DEFINES: Remove HAVE_GETPEERNAME.
43320         * configure.ac: Don’t check for getpeername.
43321         * src/process.c (wait_reading_process_output) [!WINDOWSNT]:
43322         Use getsockopt even if not GNU/Linux, as the platforms where
43323         getsockopt used to hang are no doubt long dead.
43325 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
43327         Fix XFASTINT of non-fixnum in process status
43329         * src/process.c (decode_status): 3rd arg is now Lisp_Object *,
43330         not int *, and is not decoded.  All uses changed.
43331         (status_message): Do not assume ‘failed’ code is an integer.
43332         * src/process.h: Document codes better.
43334 2016-06-09  Glenn Morris  <rgm@gnu.org>
43336         Make messcompat.el obsolete.
43338         * lisp/obsolete/messcompat.el: Move here from lisp/gnus.
43339         * doc/misc/message.texi (Compatibility): Remove section.
43341 2016-06-09  Glenn Morris  <rgm@gnu.org>
43343         Leading "*" in the doc of defvars is long obsolete.
43345         * lisp/plstore.el (plstore-encrypt-to):
43346         * lisp/cedet/semantic/lex-spp.el
43347         (semantic-lex-spp-macro-max-length-to-save):
43348         * lisp/cedet/semantic/symref.el (semantic-symref-tool):
43349         * lisp/cedet/semantic/bovine/el.el
43350         (semantic-elisp-store-documentation-in-tag):
43351         * lisp/cedet/semantic/wisent/comp.el (wisent-verbose-flag)
43352         (wisent-expected-conflicts):
43353         * lisp/cedet/semantic/wisent/wisent.el (wisent-parse-verbose-flag):
43354         * lisp/gnus/gnus-agent.el (gnus-category-menu-hook):
43355         * lisp/gnus/gnus-group.el (gnus-group-listing-limit):
43356         * lisp/gnus/gnus-srvr.el (gnus-server-menu-hook)
43357         (gnus-browse-menu-hook):
43358         * lisp/gnus/message.el (message-shoot-gnksa-feet):
43359         * lisp/gnus/mm-decode.el (mm-path-name-rewrite-functions):
43360         * lisp/gnus/mm-util.el (mm-extra-numeric-entities):
43361         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
43362         * lisp/gnus/mml.el (mml-generate-multipart-alist):
43363         * lisp/gnus/nndraft.el (nndraft-required-headers):
43364         * lisp/gnus/nnheader.el (nnheader-max-head-length)
43365         (nnheader-head-chop-length, nnheader-file-name-translation-alist)
43366         (nnheader-directory-separator-character)
43367         (nnheader-pathname-coding-system):
43368         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system)
43369         (nnmail-active-file-coding-system):
43370         * lisp/gnus/nnrss.el (nnrss-file-coding-system):
43371         * lisp/gnus/nntp.el (nntp-record-commands):
43372         * lisp/gnus/score-mode.el (gnus-score-edit-done-hook)
43373         (gnus-score-mode-hook, gnus-score-menu-hook):
43374         * lisp/mail/rfc2047.el (rfc2047-header-encoding-alist)
43375         (rfc2047-allow-irregular-q-encoded-words)
43376         (rfc2047-allow-incomplete-encoded-text):
43377         * lisp/mh-e/mh-alias.el (mh-alias-system-aliases):
43378         * lisp/mh-e/mh-e.el (mh-mail-header-separator, mh-x-mailer-string):
43379         * lisp/mh-e/mh-scan.el (mh-scan-format-mh, mh-scan-format-nmh):
43380         * lisp/net/pop3.el (pop3-password):
43381         * lisp/play/animate.el (animate-n-steps):
43382         * lisp/progmodes/cc-vars.el (c-old-style-variable-behavior):
43383         Convert from defvar with leading * to defcustom.
43386         * lisp/emulation/viper-init.el (viper-heading-end):
43387         * lisp/gnus/mm-url.el (mm-url-html-entities):
43388         * lisp/gnus/nnmaildir.el (nnmaildir-article-file-name):
43389         * lisp/mh-e/mh-e.el (mh-invisible-header-fields-compiled):
43390         * lisp/net/tramp-adb.el (tramp-adb-method): Remove leading * from doc.
43392         * lisp/gnus/messcompat.el: Mark (pointless) file not for compilation.
43393         (message-from-style, message-interactive, message-indentation-spaces)
43394         (message-signature, message-signature-file):
43395         Remove settings that match the defaults.
43396         (message-setup-hook, message-mode-hook, message-default-headers)
43397         (message-send-hook, message-send-mail-function):
43398         Just use setq rather than redefining.
43400         * lisp/gnus/nnrss.el (nnrss):
43401         * lisp/mail/rfc2047.el (rfc2047):
43402         * lisp/play/animate.el (animate): New custom groups.
43404 2016-06-09  Glenn Morris  <rgm@gnu.org>
43406         Remove obsolete leading * from defcustom, defface doc strings.
43408         * lisp/cedet/ede/linux.el, lisp/cedet/ede/project-am.el:
43409         * lisp/cedet/ede/simple.el, lisp/cedet/semantic/bovine/c.el:
43410         * lisp/cedet/semantic/complete.el, lisp/cedet/semantic/db.el:
43411         * lisp/cedet/semantic/decorate/include.el:
43412         * lisp/cedet/semantic/decorate/mode.el, lisp/cedet/semantic/format.el:
43413         * lisp/cedet/semantic/ia.el, lisp/cedet/semantic/idle.el:
43414         * lisp/cedet/semantic/imenu.el, lisp/cedet/semantic/lex-spp.el:
43415         * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/sb.el:
43416         * lisp/cedet/srecode/fields.el, lisp/ecomplete.el:
43417         * lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
43418         * lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
43419         * lisp/gnus/gnus-cite.el, lisp/gnus/gnus-delay.el:
43420         * lisp/gnus/gnus-diary.el, lisp/gnus/gnus-dup.el:
43421         * lisp/gnus/gnus-fun.el, lisp/gnus/gnus-group.el:
43422         * lisp/gnus/gnus-kill.el, lisp/gnus/gnus-msg.el:
43423         * lisp/gnus/gnus-picon.el, lisp/gnus/gnus-salt.el:
43424         * lisp/gnus/gnus-score.el, lisp/gnus/gnus-start.el:
43425         * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
43426         * lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
43427         * lisp/gnus/gnus.el, lisp/gnus/mail-source.el, lisp/gnus/message.el:
43428         * lisp/gnus/mm-url.el, lisp/gnus/mm-uu.el, lisp/gnus/mml.el:
43429         * lisp/gnus/nndiary.el, lisp/gnus/nnir.el, lisp/gnus/nnmail.el:
43430         * lisp/gnus/smiley.el, lisp/gnus/smime.el, lisp/mail/mail-extr.el:
43431         * lisp/mh-e/mh-e.el, lisp/net/mailcap.el, lisp/net/pop3.el:
43432         * lisp/net/starttls.el, lisp/progmodes/cc-vars.el:
43433         * lisp/progmodes/cperl-mode.el, test/manual/cedet/tests/test.el:
43434         Remove obsolete leading * from defcustom, defface doc strings.
43436 2016-06-09  Eli Zaretskii  <eliz@gnu.org>
43438         Fix copying text properties by 'format'
43440         * src/editfns.c (styled_format): Fix copying text properties from
43441         the format specification to the produced string representation.
43442         (Bug#23730)
43443         (Fformat) Doc fix.
43445         * doc/lispref/strings.texi (Formatting Strings): Document that
43446         text properties from the format specifiers are also copied to the
43447         produced string.
43449 2016-06-09  Alan Mackenzie  <acm@muc.de>
43451         Handle C++ raw strings.
43453         * lisp/progmodes/cc-engine.el (c-raw-string-pos, c-depropertize-raw-string)
43454         (c-depropertize-raw-strings-in-region,
43455         c-before-change-check-raw-strings)
43456         (c-propertize-raw-string-opener, c-after-change-re-mark-raw-strings): New
43457         functions.
43459         * lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Insert a clause for
43460         c-font-lock-raw-strings.
43461         (c-font-lock-raw-strings): New function.
43463         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Insert
43464         c-before-change-check-raw-strings into the C++ value, and c-depropertize-CPP
43465         into the values for C, C++, and Objective C.
43466         (c-before-font-lock-functions): Insert c-after-change-re-mark-raw-strings into
43467         the C++ value.
43469         * lisp/progmodes/cc-mode.el (c-old-BEG, c-old-END): New variables.
43470         (c-depropertize-CPP): New function, extracted from
43471         c-neutralize-syntax-in-and-mark-CPP.
43472         (c-neutralize-syntax-in-and-mark-CPP): Remove the call to
43473         c-clear-char-property-with-value for 'syntax-table value '(1) at the beginning
43474         of the function.
43475         (c-after-change): Set c-old-BEG and c-old-END to the current values of
43476         c-new-BEG and c-new-END.
43478 2016-06-09  Daiki Ueno  <ueno@gnu.org>
43480         epg: don't use obsolete function
43482         * lisp/epg.el (epg-sign-string, epg-encrypt-string): Remove
43483         redundant configuration check, which is now done in
43484         `epg-make-context'.
43486 2016-06-09  Daiki Ueno  <ueno@gnu.org>
43488         epg: don't start pinentry if it is useless
43490         * lisp/epg.el (epg--start): Don't start pinentry server if the
43491         session is non-interactive or pinentry-mode is set.
43493 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
43495         Replace IF_LINT by NONVOLATILE and UNINIT
43497         Inspired by a suggestion from RMS in: https://bugs.gnu.org/23640#58
43498         * .dir-locals.el (c-mode): Adjust to macro changes.
43499         * src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640).
43500         (IF_LINT): Remove.  All uses replaced by the new macros.
43502 2016-06-08  Michal Nazarewicz  <mina86@mina86.com>
43504         Remove ‘ert-with-function-mocked’ macro in favour of ‘cl-letf’ macro
43506         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro
43507         in favour of ‘cl-letf’ macro which is more generic.  All existing
43508         uses are migrated accordingly.  The macro has not been included in
43509         an official release yet so it should be fine to delete it.
43511 2016-06-08  Glenn Morris  <rgm@gnu.org>
43513         * test/lisp/emacs-lisp/package-tests.el
43514         (package-test-update-archives-async): Try re-enabling on hydra.
43516 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
43518         * src/fileio.c (auto_save_error): Omit unused local.
43520 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
43522         Simplify overflow check via INT_SUBTRACT_WRAPV
43524         * src/editfns.c (check_tm_member): Simplify integer overflow check.
43526 2016-06-07  Glenn Morris  <rgm@gnu.org>
43528         Try to avoid hangs and stray procs in network-stream-tests.  (Bug#23560)
43530         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv4-wait)
43531         (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait):
43532         Ensure gnutls-serv process gets killed.
43533         (echo-server-nowait, connect-to-tls-ipv4-nowait):
43534         Limit the amount of time we might wait.
43536 2016-06-07  Glenn Morris  <rgm@gnu.org>
43538         Reduce allout.el's pollution of the namespace.
43540         * lisp/allout.el (allout-set-regexp): Rename from set-allout-regexp.
43541         Keep old name as obsolete alias.
43542         (allout-produce-mode-menubar-entries, allout-nullify-prefix-data)
43543         (allout-solicit-char-in-string)
43544         (allout-count-trailing-whitespace-region, allout-regexp-sans-escapes):
43545         Rename to add an "allout-" prefix.
43547 2016-06-07  Glenn Morris  <rgm@gnu.org>
43549         * configure.ac (emacs_config_features): Add CANNOT_DUMP.
43551 2016-06-07  Glenn Morris  <rgm@gnu.org>
43553         Misc small webjump updates.
43555         * lisp/net/webjump.el (webjump): Add custom group.
43556         (webjump-sample-sites): Make it a constant.
43557         Remove explicit, old list of GNU ftp mirrors.
43558         (webjump-state-to-postal-alist): Make it a constant.
43559         (webjump-sites): Make it a defcustom.
43560         (webjump-to-iwin): Update for changed remote service.
43562 2016-06-07  Glenn Morris  <rgm@gnu.org>
43564         Do not hard-code port for package test server.  (Bug#23708)
43566         * test/lisp/emacs-lisp/package-resources/package-test-server.py:
43567         Do not hard-code port.
43568         * test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async):
43569         Update for the above change.
43571 2016-06-07  Tino Calancha  <f92capac@gmail.com>
43573         * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (Bug#23617)
43575 2016-06-07  Glenn Morris  <rgm@gnu.org>
43577         * src/fileio.c (auto_save_error): Use display-warning.  (Bug#23703)
43579 2016-06-07  Tino Calancha  <f92capac@gmail.com>
43581         * lisp/ibuf-ext.el (ibuffer-do-shell-command-file):
43582         Fix non-file-visiting-buffer case.  (Bug#22678)
43584 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
43586         Port --enable-gcc-warnings to clang 3.7.0
43588         * configure.ac: Add -Wno-tautological-compare to avoid bogus
43589         warnings about 0 <= rlim.rlim_max.  Remove flags that no longer
43590         seem to be needed, at least in Fedora 23 x86-64.
43592 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
43594         Use __builtin_assume_aligned on untagged Lisp vals
43596         * src/conf_post.h (__has_builtin, __builtin_assume_aligned):
43597         New macros, for compilers not already defining them.
43598         (__has_builtin___builtin_assume_aligned): New macro.
43599         * src/lisp.h (lisp_h_XUNTAG): Use __builtin_assume_aligned.
43600         This shrinks text space by 0.2% on x86-64 with GCC 6.1.
43602 2016-06-07  Glenn Morris  <rgm@gnu.org>
43604         * lisp/help-fns.el (describe-function-1): Avoid reporting advised
43605         aliases as the type of their targets.
43607 2016-06-07  Tino Calancha  <f92capac@gmail.com>
43609         * lisp/simple.el (process-menu-mode, list-processes--refresh):
43610         Include PID.  (Bug#21725)
43612 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
43614         Merge from origin/emacs-25
43616         6e3adf8 Fix crash in syntax.c after GC
43617         973ce5a Improve squiggly heredoc support in non-SMIE Ruby mode
43618         9d5cceb Fix doc string quoting
43619         0b33a23 Fix mouse dragging of vertical dividers with scroll bars on l...
43620         a5d05f4 * etc/PROBLEMS: Mention the link-time problems on FreeBSD 11.
43622 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
43624         Merge from origin/emacs-25
43626         604f656 * test/automated/viper-tests.el (viper-test-undo-kmacro): Del...
43627         20eb531 * lisp/mail/footnote.el (footnote-mode): Fix doc typo.
43628         a7a2244 * doc/misc/smtpmail.texi (Encryption): Fix 2012-12-22 typo.
43629         07bd972 * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): Fix...
43631 2016-06-06  Paul Eggert  <eggert@cs.ucla.edu>
43633         Use standard Unicode names for Thai, Lao
43635         * lisp/language/lao-util.el, lisp/language/thai-util.el:
43636         Don’t override standard Unicode character name (Bug#23698).
43638 2016-06-06  Glenn Morris  <rgm@gnu.org>
43640         * lisp/man.el (Man-reference-regexp, Man-default-man-entry):
43641         Handle U+2010 hyphen at eol, as used when LANG=en_US.utf8.
43643 2016-06-06  Michael Albinus  <michael.albinus@gmx.de>
43645         Some fixes in filenotify-tests.el for cygwin
43647         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
43648         Reintroduce value for cygwin, it's needed on slow systems.
43649         (file-notify--wait-for-events): Move up definition.
43650         (file-notify--test-no-descriptors): Use `file-notify--wait-for-events'.
43651         (file-notify--test-with-events-check, file-notify--test-with-events)
43652         (file-notify-test08-watched-file-in-watched-dir):
43653         Use :random rather than `random.
43654         (file-notify-test06-many-events): Do not skip for cygwin.
43656 2016-06-05  Juri Linkov  <juri@linkov.net>
43658         * src/casefiddle.c (Fupcase_region): Add arg ‘region-noncontiguous-p’.
43660         If non-nil, operate on multiple chunks.  (Bug#23655)
43662         * src/search.c (Freplace_match): Use Qnil for new arg of Fupcase_region.
43664 2016-06-05  Juri Linkov  <juri@linkov.net>
43666         * lisp/wdired.el (wdired-next-line, wdired-previous-line): Add "^"
43668         to interactive spec to handle shift-selection.  (Bug#23642)
43670 2016-06-05  Michael Albinus  <michael.albinus@gmx.de>
43672         Improve robustness of filenotify-tests.el (Bug#23618)
43674         * test/lisp/filenotify-tests.el (file-notify--test-no-descriptors)
43675         (file-notify--test-no-descriptors-explainer)
43676         (file-notify--test-cleanup-p): New defuns.
43677         (file-notify--test-cleanup): Don't check for
43678         `file-notify--test-event' anymore, that's done in
43679         `file-notify--test-no-descriptors'.
43680         (file-notify--test-with-events-check)
43681         (file-notify--test-with-events): Handle the `random' marker.
43682         (file-notify--test-with-events-explainer): Improve readability.
43683         (file-notify-test00-availability)
43684         (file-notify-test01-add-watch, file-notify-test02-events)
43685         (file-notify-test03-autorevert)
43686         (file-notify-test04-file-validity)
43687         (file-notify-test05-dir-validity)
43688         (file-notify-test06-many-events, file-notify-test07-backup)
43689         (file-notify-test08-watched-file-in-watched-dir)
43690         (file-notify-test09-sufficient-resources): Check also
43691         `file-notify--test-cleanup-p'.
43692         (file-notify-test04-file-validity)
43693         (file-notify-test05-dir-validity): Use `ignore' as handler.
43694         (file-notify-test05-dir-validity)
43695         (file-notify-test06-many-events): Delete directory finally.
43696         (file-notify-test08-watched-file-in-watched-dir): Add `random' marker.
43698 2016-06-05  Stephen Berman  <stephen.berman@gmx.net>
43700         man.el: Fix links on hyphenated words (bug#23647)
43702         * lisp/man.el (Man-bgproc-sentinel): Make links work on
43703         hyphenated words.
43705 2016-06-05  K. Handa  <handa@gnu.org>
43707         Add category 'j' to more characters.
43709         * lisp/international/characters.el: Add category 'j' (Japanese)
43710         to characters in japanese-jisx0213.2004-1.
43712 2016-06-04  Tino Calancha  <f92capac@gmail.com>
43714         isearch-edit-string resumes multi isearches
43716         * lisp/isearch.el (with-isearch-suspended): Remember and restore
43717         multi-isearch variables.  (Bug#21663)
43719 2016-06-04  Eli Zaretskii  <eliz@gnu.org>
43721         Fix Eshell display when RTL characters are involved
43723         * lisp/eshell/esh-mode.el (eshell-mode): Set
43724         'bidi-paragraph-direction' to 'left-to-right'.  (Bug#23652)
43726 2016-06-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
43728         Make ses-jump with completing input.
43730         * lisp/ses.el (ses-jump): Make symbol input completing against list of
43731           named cells.
43733 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
43735         Port angle-bracket TZ settings to MS-Windows
43737         * doc/lispref/os.texi (Time Zone Rules): Document MS-Windows
43738         lack of support for numeric time zone abbreviations.
43739         * src/w32.c (sys_putenv): Convert angle-bracket TZ syntax
43740         to MS-compatible syntax if possible, and to "ZZZ" otherwise.
43741         Problem reported by Kazuhiro Ito (Bug#23600).
43743 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
43745         Avoid delving into Git internals for version
43747         * lisp/loadup.el (exec-path): Set it to nil later, so that
43748         emacs-repository-get-version can invoke git commands in the PATH.
43749         * lisp/version.el (emacs-repository--version-git-1): Remove.
43750         (emacs-repository-get-version): Let Git do it rather than
43751         delving into Git internals.
43753 2016-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
43755         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Expand less
43757 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
43759         Fix emacs-repository-get-version with packed .git
43761         * lisp/version.el (emacs-repository-get-version):
43762         Parse .git/packed-refs if it exists.
43763         Problem reported by Martin Rudalics in:
43764         https://lists.gnu.org/r/emacs-devel/2016-05/msg00554.html
43766 2016-06-01  Michael Albinus  <michael.albinus@gmx.de>
43768         Minor change in tramp.texi
43770         * doc/misc/tramp.texi (Password handling): Do not discuss
43771         anymore how to get password-cache.el.  It is bundled with
43772         Emacs.
43774 2016-06-01  Alan Mackenzie  <acm@muc.de>
43776         Correct fontification and indentation of C++'s "constexpr" expressions
43778         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "constexpr".
43779         (c-modifier-kwds): Add "constexpr".
43781 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
43783         Cosmetic change to kinsoku-eol.  (tiny change)
43785         * lisp/international/kinsoku.el (kinsoku-eol): Make the
43786         order of characters match with the comments.
43788 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
43790         Add HIRAGANA ITERATION MARK to japanese-kana-table.  (tiny change)
43792         * lisp/language/japan-util.el (japanese-kana-table): Add an
43793         entry for HIRAGANA ITERATION MARK (U+309D).
43794         (japanese-alpha-numeric-table): Fix docstring.
43796 2016-05-31  K. Handa  <handa@gnu.org>
43798         Fix incomplete handling of translation table in a coding system.
43800         * src/coding.c (get_translation): New arg NCHARS.  Even if TRANS
43801         is an alist, return a character or a vector of character.
43802         (produce_chars): Adjust for the above change.
43803         (consume_chars): Likewise.
43805 2016-05-31  Michael Albinus  <michael.albinus@gmx.de>
43807         Improve robustness for out-of-band copy in Tramp
43809         * lisp/net/tramp-adb.el (tramp-adb-execute-adb-command)
43810         * lisp/net/tramp-cmds.el (tramp-append-tramp-buffers)
43811         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
43812         Cosmetic changes.
43814         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
43815         Use local `default-directory'.  Simplify command to send.
43816         Don't check return code, this was already done in
43817         `tramp-process-actions'.
43818         (tramp-get-inline-coding): Don't set `default-directory'.
43820         * lisp/net/tramp.el (tramp-action-out-of-band):
43821         Throw `out-of-band-failed'.
43822         (tramp-process-actions): Handle `out-of-band-failed'.
43823         (tramp-call-process, tramp-call-process-region):
43824         Use local `default-directory'.
43826 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
43828         Merge from origin/emacs-25
43830         788c9b6 ; Spelling fix
43831         25c4a30 * lisp/recentf.el (recentf-dialog-mode-map): Remove follow-li...
43832         0992ec3 Correct cl-flet usage (Bug#22317)
43833         50caae3 Release MH-E manual version 8.6
43834         602bb40 Update MH-E's documentation about HTML renderers
43835         89018f0 Fx the we->the typo
43836         845ee57 Restore frames into the current display by default
43837         ee28b4c * lisp/recentf.el (recentf-open-files-item): Quick fix for (b...
43838         01c3cd1 etc/TODO: Remove out-of-place issue
43839         5e18486 Clarify doc string of 'file-name-sans-extension'
43840         bffda22 Fix the MSDOS build
43841         f907f98 * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Ca...
43842         1a2ffd0 * src/dired.c (Ffile_name_all_completions): Doc fix.  (Bug#23...
43843         f7ffc4b Fix infloop in 'number-sequence'
43844         4ab2673 ; Spelling and punctuation fixes in comments
43845         71c152e * lisp/emacs-lisp/find-func.el (find-function-library):
43847 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
43849         * lisp/emacs-lisp/autoload.el: Use radix-tree.
43851          (autoload--make-defs-autoload): Rewrite.
43852         (autoload--split-prefixes-1): Remove.
43853         (autoload-def-prefixes-max-entries): Rename from
43854         autoload-defs-autoload-max-size.
43855         (autoload-popular-prefixes): Remove.
43856         (autoload-def-prefixes-max-length): New const.
43858         * lisp/emacs-lisp/radix-tree.el: New file.
43860 2016-05-30  Ken Brown  <kbrown@cornell.edu>
43862         * src/conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Increase.
43864 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
43866         Omit IF_LINT code that no longer seems needed
43868         Nowadays GCC is smarter, or the Emacs code has mutated, or both,
43869         and now is as good a time as any to remove uses of IF_LINT that
43870         now seem to be unnecessary.
43871         * lib-src/emacsclient.c (set_local_socket):
43872         * lib-src/movemail.c (main) [MAIL_USE_MAILLOCK && HAVE_TOUCHLOCK]:
43873         * src/buffer.c (fix_start_end_in_overlays, fix_overlays_before):
43874         * src/casefiddle.c (casify_region):
43875         * src/charset.c (load_charset_map):
43876         * src/coding.c (decode_coding_object, encode_coding_object):
43877         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable)
43878         (cons_to_unsigned, cons_to_signed):
43879         * src/frame.c (make_frame, x_set_frame_parameters):
43880         * src/keyboard.c (read_event_from_main_queue):
43881         * src/regex.c (regex_compile):
43882         * src/syntax.c (back_comment):
43883         * src/window.c (Frecenter):
43884         * src/xfaces.c (Fx_list_fonts):
43885         Remove IF_LINT that no longer seems necessary.
43886         * src/image.c (png_load_body, jpeg_load_body): Simplify use of IF_LINT.
43887         * src/keyboard.c (read_char): Use IF_LINT (volatile) rather than
43888         a pragma dance to pacify GCC -Wclobbered.
43889         * src/xdisp.c (x_produce_glyphs): Rewrite to avoid need for IF_LINT.
43891         * src/xterm.c (x_connection_closed): Now _Noreturn, which should
43892         mean we do not need IF_LINT any more.
43893         (x_io_error_quitter): Now _Noreturn.  Put an 'assume (false)’
43894         at the end, to forestall warnings from older compilers.
43896 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
43898         Port --enable-gcc-warnings to Cygwin, FreeBSD
43900         These platforms have a bug where _Noreturn is empty when 'lint' is
43901         defined.  Problem reported by Ken Brown (Bug#23640).
43902         * configure.ac (GCC_LINT): Rename from 'lint'.
43903         * src/conf_post.h (IF_LINT): Use GCC_LINT, not just 'lint’.
43905 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
43907         Update from gnulib
43909         This incorporates:
43910         2016-05-30 Use GCC_LINT, not lint
43911         2016-05-29 secure_getenv: Port to many more platforms.
43912         * doc/misc/texinfo.tex, lib/secure_getenv.c, lib/verify.h:
43913         * m4/secure_getenv.m4: Copy from gnulib.
43915 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
43917         * lisp/emacs-lisp/pcase.el: Undo last change's spurious changes
43919         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Add `atom'.
43921 2016-05-30  Ken Brown  <kbrown@cornell.edu>
43923         * src/regex.c (IF_LINT): Remove; it’s in conf_post.h
43925 2016-05-30  Michael Albinus  <michael.albinus@gmx.de>
43927         Fix Bug#23631 for Tramp
43929         * lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions)
43930         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions)
43931         * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
43932         Fix caching problems.
43934         * lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions): Simplify.
43936         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
43937         Move duplicate deletion ...
43938         (tramp-smb-handle-file-name-all-completions): ... here.
43940         * lisp/net/tramp.el (tramp-handle-file-name-completion):
43941         Handle `completion-ignored-extensions'.  (Bug#23631)
43943         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
43944         Test also `completion-regexp-list' and `completion-ignored-extensions'.
43946 2016-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
43948         * lisp/wid-edit.el (link): Remove :follow-link property (bug#22434)
43950         * lisp/recentf.el (recentf-dialog-mode-map): Remove unecessary mapping.
43952 2016-05-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
43954         Fix up remainder of the mml property change
43956         * lisp/gnus/message.el (message-send-mail): Use the renamed
43957         mml-buffer-substring-no-properties-except-some function.
43958         (message-send-news): Ditto.
43960 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
43962         Allow preserving EXIF rotations when sending HTML messages
43964         * lisp/gnus/mml.el (mml--possibly-alter-image): Allow image
43965         rotation if you have exiftool installed and the image format
43966         supports it.
43967         (mml-expand-html-into-multipart-related): Use it.
43968         (mml-buffer-substring-no-properties-except-some): Renamed and
43969         copy display properties, too.
43971 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
43973         Make message-toggle-image-thumbnails work better
43975         * lisp/gnus/message.el (message-toggle-image-thumbnails): Use
43976         `insert-image' instead of `put-image' to make it possible to
43977         edit the resulting text in a sensible manner.
43979 2016-05-29  Alan Mackenzie  <acm@muc.de>
43981         Rationalize the use of c-new-BEG and c-new-END in CC Mode.
43983         Remove the now redundant c-old-BOM and c-old-EOM.
43985         * lisp/progmodes/cc-engine.el (c-macro-cache-syntactic): Change and simplify
43986         meaning.
43987         (c-macro-cache-no-comment): New variable.
43988         (c-invalidate-macro-cache, c-beginning-of-macro, c-end-of-macro): incorporate
43989         the new c-macro-cache-no-comment.
43990         (c-syntactic-end-of-macro): Make better use of c-macro-cache-syntactic.
43991         (c-no-comment-end-of-macro): New function.
43993         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
43994         c-extend-font-lock-region-for-macros to C/C++/ObjC value.
43996         * lisp/progmodes/cc-mode.el (c-old-BOM, c-old-EOM): Remove.
43997         (c-extend-region-for-CPP): Put results in c-new-BEG/END rather than
43998         c-old-BOM/EOM.
43999         (c-extend-font-lock-region-for-macros): Simplify meaning, no longer returning
44000         a cons for the new region, since the function is now called as an after-change
44001         function.  No longer adjust c-new-END for the length of inserted/deleted
44002         text.  Move the size restrictions on macros to here from
44003         c-neutralize-syntax-in-and-mark-CPP.
44004         (c-neutralize-syntax-in-and-mark-CPP): No longer adjust c-new-BEG/END here.
44005         Use c-no-comment-end-of-macro rather than c-syntactic-end-of-macro to find the
44006         upper boundary to "neutralize" syntactically obtrusive characters.
44007         (c-change-expand-fl-region): Don't set c-new-END to next BOL when already at
44008         one.
44010 2016-05-28  Ken Brown  <kbrown@cornell.edu>
44012         Avoid compiler warnings
44014         * src/cygw32.c (chdir_to_default_directory): Use "void" as
44015         argument list.  Use SSDATA instead of SDATA.
44017         * src/unexcw.c (fixup_executable): Use %td as format specifier for
44018         argument of type ptrdiff_t.  Use %zu for argument of type size_t.
44020 2016-05-28  Eli Zaretskii  <eliz@gnu.org>
44022         Fix 'next-line' and 'previous-line' during keyboard macro
44024         * lisp/simple.el (line-move-visual): Handle the case when point
44025         moves outside of the visible portion of the buffer while executing
44026         a keyboard macro.  (Bug#13452)  (Bug#23551)  (Bug#23555)
44028 2016-05-28  Alan Mackenzie  <acm@muc.de>
44030         C++ Mode: attribute in class declaration fouls up indentation.  Fix!
44032         * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Add code to skip
44033         back over noise clauses and attribute clauses.
44035         * lisp/progmodes/cc-langs.el (c-paren-nontype-key): New language variable.
44037 2016-05-28  Ken Olum  <kdo@cosmos.phy.tufts.edu>
44039         Prevent locked-file errors in Rmail
44041         * lisp/mail/rmail.el (rmail-get-new-mail-1): Lock file before
44042         calling 'rmail-insert-inbox-text'.  Unlock if
44043         'rmail-insert-inbox-text' doesn't modify buffer.
44044         (rmail-insert-inbox-text): Remove lock-checking code.  (Bug#17706)
44046 2016-05-28  Michael Albinus  <michael.albinus@gmx.de>
44048         Sync with Tramp repository.
44050         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
44051         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process)
44052         * lisp/net/tramp-smb.el (tramp-smb-handle-start-file-process):
44053         Create BUFFER if it doesn't exist.  Reported by Nikolay
44054         Kudryavtsev <nikolay.kudryavtsev@gmail.com>.
44056         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
44057         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp)
44058         (tramp-gvfs-file-attributes-with-gvfs-info-regexp): New defconst.
44059         (tramp-gvfs-get-directory-attributes)
44060         (tramp-gvfs-get-root-attributes)
44061         (tramp-gvfs-get-file-attributes): New defun.
44062         (tramp-gvfs-handle-file-attributes)
44063         (tramp-gvfs-handle-file-name-all-completions): Use them.
44064         (tramp-gvfs-handle-file-directory-p): Use `file-truename'.
44065         (tramp-gvfs-maybe-open-connection): Set :noquery flag for process.
44066         (tramp-gvfs-send-command): Add locale settings to `process-environment'.
44067         (top): Suppress D-Bus error messages during zeroconf initialization.
44069         * lisp/net/tramp.el (tramp-unknown-id-string)
44070         (tramp-unknown-id-integer): New defconst.
44071         (tramp-check-cached-permissions)
44072         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes)
44073         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
44074         (tramp-convert-file-attributes, tramp-get-remote-uid)
44075         (tramp-get-remote-gid): Use them.
44077         * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
44078         Rename from `tramp-color-escape-sequence-regexp'.
44079         (tramp-sh-handle-insert-directory)
44080         (tramp-convert-file-attributes): Adapt callees.
44081         (tramp-device-escape-sequence-regexp): New defconst.
44082         (tramp-wait-for-output): Use it.  Reported by Matthías Páll
44083         Gissurarson <icetritlo@gmail.com>.
44085         * lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
44086         Simplify.
44088         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
44089         (tramp-test28-shell-command):
44090         Use `tramp-display-escape-sequence-regexp'.
44092 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44094         Don’t document declare-function internals
44096         Suggested by Stefan Monnier in:
44097         https://lists.gnu.org/r/emacs-devel/2016-05/msg00618.html
44098         * doc/lispref/functions.texi (Declaring Functions):
44099         * lisp/subr.el (declare-function):
44100         * lisp/emacs-lisp/bytecomp.el:
44101         (byte-compile-macroexpand-declare-function):
44102         Document as (fn file &optional arglist fileonly)
44103         even though it is really (fn file &rest args).
44105 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44107         * src/puresize.h (BASE_PURESIZE): Increase it some more.
44109 2016-05-27  Glenn Morris  <rgm@gnu.org>
44111         * src/puresize.h (BASE_PURESIZE): Increase it by a little bit.
44113         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Tweak previous to
44114         avoid build failure.
44116 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44118         Port to platforms where rlim_max < 0
44120         * src/emacs.c (main): Do not treat a negative rlim_max as a limit;
44121         this can happen if a special value like RLIM_INFINITY is negative.
44123 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44125         Robustify stack-size calculation
44127         * src/emacs.c: Include getpagesize.h.
44128         (main): Check for integer overflow when computing stack size.
44129         Round new rlim_cur to pagesize boundary on all platforms, as this
44130         is easy and would have prevented Bug#23622.  If setrlimit
44131         fails, use current limit to determine re_max_failures.
44133 2016-05-27  Ken Brown  <kbrown@cornell.edu>
44135         Adjust filenotify-tests on Cygwin
44137         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
44138         Remove special case for Cygwin.
44139         (file-notify-test07-backup): Update expected results on Cygwin.
44141 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44143         Improve define-function omitted-arg documentation
44145         * doc/lispref/functions.texi (Declaring Functions):
44146         * lisp/subr.el (declare-function):
44147         Be clearer when documenting omitted args for define-function.
44149 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
44151         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add docstring to accessors.
44153 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
44155         * lisp/subr.el (definition-prefixes): Expand docstring
44157         * lisp/emacs-lisp/autoload.el (autoload--split-prefixes):
44158         Remove unused function.
44160 2016-05-27  Phillip Lord  <phillip.lord@russet.org.uk>
44162         Fix broken viper deactivation
44164         * lisp/emulation/viper.el (viper--deactivate-advice-list): Destructure
44165           args to advice-remove.
44166           (viper--advice-add): Use cons not list.
44168         Addresses bug#23625
44170 2016-05-27  Mark Oteiza  <mvoteiza@udel.edu>
44172         Preserve buffer point in windows by default (Bug#4041).
44174         * doc/lispref/windows.texi: Mention new default.
44175         * etc/NEWS: Mention new default.
44176         * lisp/window.el (switch-to-buffer-preserve-window-point): Default to t.
44178 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44180         Fix byte-compiler pacification for declare-function
44182         Problem reported by Michael Heerdegen in:
44183         https://lists.gnu.org/r/emacs-devel/2016-05/msg00590.html
44184         * lisp/emacs-lisp/bytecomp.el:
44185         (byte-compile-macroexpand-declare-function):
44186         Revert signature to previous value.
44187         * lisp/subr.el (declare-function): Change signature to
44188         match the reverted signature used in the byte compiler.
44190 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44192         Update texinfo.tex
44194         This fixes Bug#23611 in a different (and presumably better) way.
44195         * doc/misc/texinfo.tex: Update from gnulib.
44197 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44199         Pacify 'make check-declare'
44201 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44203         Repair damage from emacs-25 merge
44205         * test/lisp/character-fold-tests.el:
44206         Remove, as it was renamed to test/lisp/char-fold-tests.el.
44207         * test/lisp/emulation/viper-tests.el:
44208         Rename from test/automated/viper-tests.el.
44210 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44212         Merge from origin/emacs-25
44214         c3489d0 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w3...
44215         a4d882c Correct old cell name unbinding when renaming cell.
44216         6c12c53 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
44217         0be6725 Document problem: slow screen refresh on missing font.
44218         853b9b9 * admin/admin.el (add-release-logs): Basic check of existing ...
44219         5fa80cf * build-aux/gitlog-to-emacslog: Handle empty generated Change...
44220         3c79e51 * admin/admin.el (add-release-logs): Generate ChangeLog if ne...
44221         42275df * doc/misc/texinfo.tex: Revert previous change (Bug#23611).
44222         3f4a9d9 * admin/authors.el (authors): First update the ChangeLog.
44223         897fb6f ; 'Changes from the pre-25.1 API' copyedits
44224         825ca25 Rename vc-stay-local back to vc-cvs-stay-local
44225         4efb3e8 * doc/emacs/files.texi (Comparing Files): * doc/emacs/trouble...
44226         b995d1e * doc/misc/eww.texi (Advanced): Fix xref.
44227         2e589c0 Fix cross-references between manuals
44228         f3d2ded * doc/misc/vhdl-mode.texi (Sample Init File): Rename node to ...
44229         906c810 ; * admin/release-process: Move etc/HISTORY from here... ; * ...
44230         bea1b65 * admin/admin.el (add-release-logs): Also update etc/HISTORY.
44231         503e752 ; * CONTRIBUTE: Fix a typo.
44232         fbfd478 Avoid aborting due to errors in arguments of 'set-face-attrib...
44233         bdfbe6d ; * admin/release-process: Copyedits.
44234         44a6aed ; * test/automated/data-tests.el: Standardize license notice.
44235         c33ed39 ; * test/automated/viper-tests.el: Standardize license notice.
44236         df4a14b Add automated test for viper-tests.el
44237         c0139e3 Fix viper undo breakage from undo-boundary changes
44238         920d76c Fix reference to obsolete fn ps-eval-switch
44239         18a9bc1 Do not trash symlinks to init file
44240         2671179 Don't print the "decomposition" line for control chars in wha...
44241         869092c Bring back xterm pasting with middle mouse
44242         5ab0830 Provide workaround for xftfont rendering problem
44243         c9f7ec7 * lisp/desktop.el: Disable restore frameset if in non-graphic...
44244         30989a0 Mention GTK+ problems in etc/PROBLEMS
44245         421e3c4 * lisp/emacs-lisp/package.el (package-refresh-contents):
44246         dadfc30 Revert "epg: Add a way to detect gpg1 executable for tests"
44247         e41a5cb Avoid errors with Czech and Slovak input methods
44248         d4ae6d7 epg: Add a way to detect gpg1 executable for tests
44249         ebc3a94 * lisp/emacs-lisp/package.el: Fix free variable warnings.
44250         6e71295 * lisp/emacs-lisp/package.el (package--with-response-buffer):
44251         c45d9f6 Improve documentation of 'server-name'
44252         3b5e38c Modernize ASLR advice in etc/PROBLEMS
44253         1fe1e0a * lisp/char-fold.el: Rename from character-fold.el.
44255 2016-05-26  Eli Zaretskii  <eliz@gnu.org>
44257         Avoid byte-compiler warnings due to 'declare-function'
44259         * lisp/w32-fns.el (set-message-beep, w32-get-locale-info)
44260         (w32-get-valid-locale-ids):
44261         * lisp/progmodes/js.el (ido-mode): Specify arglist in
44262         'declare-function' forms, to avoid byte-compiler warnings.
44264 2016-05-26  Glenn Morris  <rgm@gnu.org>
44266         * lisp/info.el (Info-default-directory-list): Don't check /share,info.
44268         No-one puts info pages there.  If /share does exist, it's likely to
44269         contain remote file systems where access could be slow.
44271 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44273         Merge from origin/emacs-25
44275         2d76405 etc/AUTHORS: Update the AUTHORS file
44277 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44279         Merge from origin/emacs-25
44281         06cb28f Fix bug#23462: Crash when iconifying frame on OS X.
44283 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44285         Merge from origin/emacs-25
44287         939eb75 Fix bug in default setting of 'ps-paper-type'
44289 2016-05-26  Glenn Morris  <rgm@gnu.org>
44291         * lisp/info.el (Info-default-directory-list): Remove obsolete suffixes.
44293 2016-05-26  Michael Albinus  <michael.albinus@gmx.de>
44295         Fix Bug#23614.
44297         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
44298         Let-bind `process-coding-system-alist' in order to suppress
44299         the value for "cmdproxy".
44301         * lisp/net/tramp.el (tramp-encoding-shell):
44302         `w32-shell-name' is a function.
44303         (tramp-encoding-command-switch)
44304         (tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'.
44306         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
44307         Suppress some tests on MS Windows.  (Bug#23614)
44309 2016-05-26  Stephen Berman  <stephen.berman@gmx.net>
44311         hl-line.el: Fix flickering of highlighted line (bug#23510)
44313         * lisp/hl-line.el (hl-line-maybe-unhighlight)
44314         (global-hl-line-highlight-all)
44315         (global-hl-line-maybe-unhighlight): New functions.
44316         (hl-line-overlay-buffer): New variable.
44317         (hl-line-mode): Use it.  Replace hl-line-unhighlight on
44318         pre-command-hook by hl-line-maybe-unhighlight on
44319         post-command-hook, to prevent hl-line from flickering.
44320         Adjust document string.
44321         (global-hl-line-mode): Use global-hl-line-highlight-all to
44322         simultaneously highlight the current line in all live windows.
44323         Replace global-hl-line-unhighlight on pre-command-hook by
44324         global-hl-line-maybe-unhighlight on post-command-hook, to
44325         prevent global-hl-line from flickering.  Remove
44326         global-hl-line-unhighlight from change-major-mode-hook on
44327         disabling the mode.  Adjust document string.
44329 2016-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
44331         Make autoloads populate a new definition-prefixes table
44333         * lisp/subr.el (definition-prefixes): New hash table.
44334         (register-definition-prefixes): New function.
44336         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): New var.
44337         (autoload--split-prefixes-1, autoload--split-prefixes)
44338         (autoload--make-defs-autoload): New functions.
44339         (autoload-defs-autoload-max-size, autoload-popular-prefixes): New vars.
44340         (autoload-generate-file-autoloads): Obey autoload-compute-prefixes.
44341         (update-directory-autoloads): Don't touch loaddefs.el if the set of
44342         autoloads hasn't changed (i.e. if only the timestamp would change).
44344         * lisp/loadup.el: Purify definition-prefixes.
44346         * lisp/w32-fns.el: Keep name space clean.
44347         (w32-set-default-process-coding-system): Rename from
44348         set-default-process-coding-system.
44349         (w32-set-system-coding-system): Rename from set-w32-system-coding-system.
44351 2016-05-24  Ken Brown  <kbrown@cornell.edu>
44353         Allow network-stream-tests to work for out-of-tree builds
44355         * test/lisp/net/network-stream-tests.el
44356         (network-stream-tests--datadir): New defconst.
44357         (make-tls-server): Use it.
44359 2016-05-24  Ken Brown  <kbrown@cornell.edu>
44361         Fix failing echo-server-nowait test
44363         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
44364         Specify IPv4 for the client, to match the family of the server.
44365         (Bug#23606)
44367 2016-05-24  Ken Brown  <kbrown@cornell.edu>
44369         Allow shr-tests to work for out-of-tree builds
44371         * test/lisp/net/shr-tests.el (shr-tests--datadir): New defconst.
44372         (shr-test, rendering): Use it.
44374 2016-05-24  Ken Brown  <kbrown@cornell.edu>
44376         Update allowable arguments for open-network-stream
44378         * src/coding.c (Ffind_operation_coding_system): Allow t as a
44379         target for open-network-stream.  (Bug #23540)
44381 2016-05-24  Dmitry Gutov  <dgutov@yandex.ru>
44383         Make js-mode's syntax highlighting work again
44385         * lisp/progmodes/js.el (js-mode): Fix the assigned
44386         font-lock-defaults value (bug#23603).
44388 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
44390         * lisp/progmodes/cc-mode.el: Add minor comments
44392         (c-change-expand-fl-region): Mark args as unused.
44394 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
44396         * lisp/url/url-http.el: Use lexical-binding
44398         (url-http-simple-after-change-function): Use buffer-size rather than `nd'.
44399         (url-http-wait-for-headers-change-function): Remove unused var
44400         `content-length'.
44401         (url-http): Remove unused vars `host' and `port'.
44403 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
44405         * lisp/widget.el (define-widget): Use `declare' (which does work now).
44407         (widget-plist-member): Mark as obsolete.
44409 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
44411         * lisp/image.el: Use lexical-binding
44413         (image-scaling-factor, imagemagick-types-inhibit)
44414         (imagemagick-enabled-types): Remove redundant :group.
44415         (image--get-image): Apply de-Morgan and use car-safe.
44416         (image-compute-scaling-factor): Use the argument.
44418 2016-05-23  Glenn Morris  <rgm@gnu.org>
44420         * lisp/image.el (image--get-image): Remove nonsensical code.
44422         * lisp/image.el (image--get-image): Avoid requiring a library for
44423         one trivial operation.
44425 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
44427         Don’t use only last protocol from getaddrinfo
44429         Problem reported by Ken Brown in:
44430         https://lists.gnu.org/r/emacs-devel/2016-05/msg00483.html
44431         * src/process.c (conv_addrinfo_to_lisp): New function.
44432         (connect_network_socket): Arg is now a list of addrinfos, not
44433         merely IP addresses.  All uses changed.  Use protocol from
44434         each addrinfo.
44435         (Fmake_network_process): Accumulate protocols into addrinfos
44436         rather than just using the last one found.
44437         (check_for_dns): Accumulate protocols here, too.
44438         * src/process.h (struct Lisp_Process): Remove ai_protocol;
44439         no longer needed.
44441 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
44443         Fix seq requirement that broke bootstrap
44445         * lisp/image.el (image--get-image): Require seq here, not at the
44446         top level, to avoid ‘(require seq) while preparing to dump’ while
44447         bootstrapping.  Suggested by Tino Calancha in:
44448         https://lists.gnu.org/r/emacs-devel/2016-05/msg00477.html
44450 2016-05-22  Nicolas Petton  <nicolas@petton.fr>
44452         Add missing dependencies to seq.el
44454         * lisp/emacs-lisp/find-func.el:
44455         * lisp/ibuffer.el:
44456         * lisp/image.el: Require seq.
44458 2016-05-22  Alp Aker  <alp@food52.com>
44460         * src/process.c (SOCK_NONBLOCK): Fix typo.
44462 2016-05-22  Etienne Prud’homme  <e.e.f.prudhomme@gmail.com>
44464         Add completion of colors in CSS mode
44466         * lisp/textmodes/css-mode.el (css-value-class-alist): Add CSS colors
44467         from "CSS Color Module Level 3".
44469         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
44470         Update test.
44472 2016-05-21  Paul Eggert  <eggert@cs.ucla.edu>
44474         Prefer SOCK_NONBLOCK to O_NONBLOCK
44476         * src/process.c (SOCK_NONBLOCK): Define to 0 if not already defined.
44477         (connect_network_socket): Create the socket with SOCK_NONBLOCK, to
44478         avoid an fcntl with O_NONBLOCK if SOCK_NONBLOCK works.  Put the
44479         SOCK_DGRAM check a bit later, to keep the logic cleaner, as
44480         the order does not matter here.
44482 2016-05-21  Alan Third  <alan@idiocy.org>
44484         Fix bug#16856, cursor leaves garbage in fringe on OS X.
44486         * src/nsterm.m (ns_draw_window_cursor): Prevent the cursor from
44487         being drawn outside the text area.
44489 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
44491         Fix compiler warnings in the MinGW build
44493         * configure.ac [mingw32]: Don't add -Wpointer-sign, and add
44494         -Wno-pointer-sign, to keep the noise level down.
44496         * nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable
44497         -Wredundant-decls, as that produces a lot of noise due to
44498         redeclaration of time-related functions by gnulib.
44499         * nt/runemacs.c (set_user_model_id): Fix argument type of
44500         'SetCurrentProcessExplicitAppUserModelID'.
44502         * src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't
44503         declare 'dpyinfo', as it is unused.
44504         (xpm_load): Fix warnings about pointer signedness.
44505         * src/w32proc.c (IsValidLocale, init_winsock): Remove redundant
44506         prototypes.
44507         (sys_spawnve): Avoid warnings about discarding 'const' qualifier.
44508         (sys_select): Provide prototype.
44509         (g_b_init_compare_string_w): Move declaration to file scope.
44510         * src/w32heap.c (dumped_data_commit): Now static.
44511         (FREEABLE_P): Avoid warnings about pointer comparison with integer.
44512         (mmap_realloc): Cast to 'char *' for arithmetics on void pointers.
44513         * src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr)
44514         (evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear):
44515         Provide prototypes.
44516         * src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove
44517         redundant prototypes.
44518         (w32_get_internal_run_time, map_w32_filename): Provide prototype.
44519         (init_environment, sys_ctime): Avoid warnings about discarding
44520         'const' qualifier.
44521         Include utimens.h.
44522         (sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir)
44523         (sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock)
44524         (sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide
44525         prototypes.
44526         (sys_rename_replace): Use %d to avoid compiler warnings.
44527         (_wsa_errlist): Make the message text 'const char *', to avoid
44528         compilation warnings.
44529         (dynlib_reset_last_error): Move prototype to file scope.
44530         (w32_get_resource): First argument is now 'const char *'.
44531         * src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype.
44532         (otf_features): Second argument is no 'const char *'.
44533         * src/w32term.c (free_frame_menubar, x_wm_set_size_hint)
44534         (x_set_window_size): Remove redundant prototypes.
44535         (XChangeGC, XGetGCValues, w32_draw_underwave)
44536         (w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave)
44537         (x_calc_absolute_position, x_destroy_window): Now static.
44538         (menubar_selection_callback): Move prototype to file scope.
44539         * src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant
44540         declaration.
44541         (w32_to_x_charset): Fix warnings about discarding 'const' qualifier.
44542         (w32font_full_name): Fix warnings about implicit conversion of
44543         'float' to 'double'.
44544         * src/w32reg.c (w32_get_rdb_resource): Fix warnings about
44545         discarding 'const' qualifier.
44546         * src/w32menu.c (syms_of_w32menu, globals_of_w32menu)
44547         (set_frame_menubar): Remove redundant prototypes.
44548         (menubar_selection_callback, w32_menu_display_help): Provide
44549         prototypes.
44550         (simple_dialog_show): Avoid warnings about discarding 'const'
44551         qualifier.
44552         * src/w32fns.c (syms_of_w32fns, globals_of_w32fns)
44553         (free_frame_menubar, w32_strerror, x_set_menu_bar_lines)
44554         (x_set_tool_bar_lines, x_set_internal_border_width): Remove
44555         redundant prototypes.
44556         (current_popup_menu): Remove redundant declaration.
44557         (colormap_t): Member 'name' is now 'const char *'.
44558         (add_system_logical_colors_to_map): Fix signed/unsigned warnings.
44559         (x_decode_color, x_set_border_pixel)
44560         (x_clear_under_internal_border, x_set_name, hook_w32_key)
44561         (reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now
44562         static.
44563         (w32_load_cursor, w32_key_to_modifier, map_keypad_keys)
44564         (w32_msg_worker, w32_last_error): Provide prototypes.
44565         (funhook, lookup_vk_code): Avoid warnings about missing
44566         parentheses.
44567         (x_default_font_parameter, Fw32_notification_notify): Avoid
44568         warnings about discarding 'const' qualifier.
44569         (Fx_create_frame): Avoid warnings about empty body of 'else'.
44570         (x_screen_planes): Ifdef away unused function.
44571         (Fx_show_tip): Remove unused variables.
44572         (Fw32_battery_status): Avoid warnings about implicit promotion
44573         from float to double.
44574         (Fw32_notification_notify): Initialize 'timeout'.
44575         * src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only
44576         define the TIMER_SETTIME_RUNNING value if it will be used.
44577         * src/w32notify.c (send_notifications): Ifdef away an empty if
44578         clause.  Remove unused variable.
44579         (watch_end, watch_completion): Provide prototypes.
44580         * src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused.
44581         * src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix
44582         warning with pointer signedness.
44583         * src/gnutls.c (gnutls_x509_crt_get_signature)
44584         (gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and
44585         don't load them from the GnuTLS library, as they are no longer
44586         used.
44587         * src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't
44588         define, as it's unused.
44589         * src/unexw32.c (open_input_file, open_output_file)
44590         (close_file_data): Remove redundant prototypes.
44591         (_start): provide prototype.
44592         (mainCRTStartup): Move prototype to file level.
44593         (find_section): Use type-cast to shut up compiler warnings.
44594         (offset_to_section, relocate_offset): Now static.
44595         (find_section): First argument is now a 'const char *'.
44596         (offset_to_section): Ifdef away, as it's unused.
44597         * src/w32heap.h (find_section): Adjust prototype.
44598         * src/dynlib.c (dynlib_reset_last_error): Provide prototype.
44599         * src/dired.c (directory_files_internal_w32_unwind): Avoid
44600         warnings about missing prototypes.
44601         (is_slow_fs) [WINDOWSNT]: Provide prototype at file level.
44602         (directory_files_internal) [WINDOWSNT]: Fix warnings about pointer
44603         signedness.
44604         * src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]:
44605         Fix warnings about pointer signedness.
44606         * src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's
44607         unused.
44608         * src/sysdep.c (_getpid): Remove redundant prototype.
44609         (sys_subshell) [DOS_NT]: Don't define 'status', it's unused.
44610         [!MSDOS]: Don't define 'st', it's unused.
44611         (init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused.
44612         (str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness.
44613         * src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define
44614         n_to_read, as it is not used.
44615         (MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused.
44616         * src/w32font.h (syms_of_w32font): Remove redundant prototype.
44617         * src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro.
44618         * src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are
44619         not used by DOS_NT builds, to avoid compiler warnings.
44620         * src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant
44621         declaration.
44622         * src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut
44623         up compiler warnings.
44624         * src/w32term.h (x_set_window_size, x_get_focus_frame)
44625         (x_make_frame_visible, x_make_frame_invisible, x_iconify_frame)
44626         (x_set_frame_alpha, x_activate_menubar, x_bitmap_icon)
44627         (x_free_frame_resources, x_real_positions)
44628         (display_x_get_resource): Remove redundant prototypes.
44630         * lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp)
44631         (sys_rename, gettimeofday): Provide prototypes.
44632         * lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant
44633         declarations.
44634         * lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'.
44635         (xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname)
44636         (close_winsock, initialize_sockets, w32_set_user_model_id)
44637         (w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add
44638         prototypes.
44639         (w32_get_resource) [WINDOWSNT]: Fix a warning about signedness
44640         difference.
44641         (w32_set_user_model_id): Update prototype of
44642         SetCurrentProcessExplicitAppUserModelID to avoid compiler
44643         warnings.
44644         (start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to
44645         shut up compiler warnings.
44646         * lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro.
44648 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
44650         Fix 'vertical-motion' and 'posn-at-point' under 'visual-line-mode'
44652         * src/xdisp.c (move_it_in_display_line_to): Don't assume we can
44653         wrap on a whitespace character if it's followed by another
44654         whitespace character.  When returning under WORD_WRAP for a screen
44655         line that is continued, restore to wrap point when atpos/atx
44656         position would be displayed on the next screen line due to
44657         line-wrap.  (Bug#23570)
44659 2016-05-21  Puneeth Chaganti  <punchagan@muse-amuse.in>
44661         * lisp/svg.el (svg-create): Fix a typo: xmlsn -> xmlns.  (Bug#23589)
44663 2016-05-20  Andrew Hyatt  <ahyatt@gmail.com>
44665         Added tests for dos unibyte decoding.
44667         The underlying bug was previously fixed by Eli Zaretskii in commit
44668         c8109d9c4057d8cac79e2c139758cadd410e7446.
44670 2016-05-20  Philipp Stephani  <phst@google.com>
44672         Fix handling of ‘mouse-on-link-p’.
44674         If ‘mouse-on-link-p’ returns a string or vector, the first element
44675         is to be used as new event.  Translation to ‘mouse-2’ should only
44676         happen if the return value is not a string or vector.  See
44677         docstring of ‘mouse-on-link-p’ and Bug#23288.
44679         * lisp/mouse.el (mouse--down-1-maybe-follows-link): Process return
44680         value of ‘mouse-on-link-p’ according to documentation.
44682         * test/lisp/mouse-tests.el (bug23288-use-return-value)
44683         (bug23288-translate-to-mouse-2): Tests for Bug#23288.
44685 2016-05-20  Daiki Ueno  <ueno@gnu.org>
44687         epg: Add a way to detect gpg1 executable for tests
44689         Fixes bug#23561.
44691         * test/automated/epg-tests.el
44692         (epg-tests-program-alist-for-passphrase-callback): New
44693         constant.
44694         (epg-tests-find-usable-gpg-configuration): New function,
44695         renamed from `epg-tests-gpg-usable'.  All callers changed.
44696         (epg-tests-gpg-usable): Remove.
44698         * lisp/epg-config.el (epg-config--program-alist): Factor out
44699         constructor element to...
44700         (epg-config--configuration-constructor-alist): ...here.
44701         (epg-find-configuration): Rename FORCE argument to NO-CACHE,
44702         and add PROGRAM-ALIST argument.
44704 2016-05-19  Mark Oteiza  <mvoteiza@udel.edu>
44706         Put point at beginning of display-time-world buffer.
44708         If display-time-world decides to popup vertically from the bottom of the
44709         frame and scroll-margin is nonzero, the top of the buffer contents are
44710         hidden due to scroll.
44711         * lisp/time.el (display-time-world-display): Move point to point-min
44712         after inserting contents.
44714 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
44716         Allow null entries in face and image cache
44718         Problem reported by Tino Calancha (Bug#23580).
44719         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID):
44720         Don’t assume that the result is non-null.
44721         * src/xdisp.c (fill_image_glyph_string):
44722         Restore check that image pointer is non-null.
44724 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
44726         Fix flyspell highlighting
44728         Problem reported by Jim Meyering (Bug#23575).
44729         * src/xdisp.c (extend_face_to_end_of_line):
44730         Fix typo in previous change.
44732 2016-05-18  Eli Zaretskii  <eliz@gnu.org>
44734         * lisp/server.el (server-name): Add autoload cookie.  (Bug#23576)
44736 2016-05-18  Sam Steingold  <sds@gnu.org>
44738         python-describe-at-point: add and bind
44740 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44742         ‘make check-declare’ now chatters less
44744         * etc/NEWS: Document this.
44745         * lisp/emacs-lisp/check-declare.el (check-declare-locate):
44746         Return relative names, not absolute.
44747         (check-declare-scan, check-declare-verify, check-declare-warn)
44748         (check-declare-file, check-declare-directory):
44749         Generate less chatter.  Use relative file names rather than
44750         absolute.  Don’t give up on computing a good file name for a
44751         diagnostic merely because the function name was bad.  Make
44752         malformed declarations more noticeable.  Don’t warn about
44753         "ext:..." declarations if check-declare-ext-errors is nil.
44754         (check-declare-errmsg): Remove.
44755         (check-declare-warn): New optional arg LINE.
44756         (check-declare-files): Put status into mode line rather than
44757         chattering.
44759 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44761         Pacify byte-compiler for byte-compile-macroexpand-declare-function
44763         * lisp/emacs-lisp/bytecomp.el: Change signature of
44764         byte-compile-macroexpand-declare-function to match that of
44765         declare-function.
44767 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44769         Pacify byte-compiler for with-wrapper-hook
44771         * lisp/subr.el (subr--with-wrapper-hook-no-warnings):
44772         New macro, split out from with-wrapper-hook.
44773         * lisp/abbrev.el (abbrev--default-expand):
44774         * lisp/minibuffer.el (completion--in-region):
44775         * lisp/simple.el (buffer-substring--filter):
44776         * lisp/subr.el (with-wrapper-hook):
44777         Use it.
44779 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44781         Pacify byte-compiler in lisp/url
44783         * lisp/url/url-misc.el, lisp/url/url-file.el (mm-disable-multibyte):
44784         Add decl.
44786 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44788         Port --enable-gcc-warnings to GCC 6.1
44790         * configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2.
44791         * lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE):
44792         Omit test whether pointer plus a constant equals a null pointer.
44793         * src/alloc.c (compact_small_strings):
44794         Avoid pointer arithmetic on null pointers.
44795         * src/alloc.c (mark_face_cache):
44796         * src/fontset.c (free_realized_fontsets, Fset_fontset_font):
44797         * src/fringe.c (draw_fringe_bitmap_1)
44798         (Fset_fringe_bitmap_face):
44799         * src/macfont.m (macfont_draw):
44800         * src/msdos.c (IT_set_face, IT_clear_screen):
44801         * src/nsfont.m (nsfont_draw):
44802         * src/nsterm.h (FRAME_DEFAULT_FACE):
44803         * src/nsterm.m (ns_draw_window_cursor)
44804         (ns_draw_vertical_window_border, ns_draw_window_divider)
44805         (ns_dumpglyphs_box_or_relief)
44806         (ns_maybe_dumpglyphs_background, ns_dumpglyphs_image)
44807         (ns_dumpglyphs_stretch):
44808         * src/w32term.c (w32_draw_vertical_window_border)
44809         (w32_draw_window_divider, x_set_mouse_face_gc):
44810         * src/xdisp.c (estimate_mode_line_height, init_iterator)
44811         (handle_face_prop, handle_single_display_spec, pop_it)
44812         (CHAR_COMPOSED_P, get_next_display_element)
44813         (next_element_from_display_vector, extend_face_to_end_of_line)
44814         (fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING):
44815         * src/xfaces.c (Finternal_merge_in_global_face, Fface_font)
44816         (lookup_named_face):
44817         * src/xterm.c (x_draw_vertical_window_border)
44818         (x_draw_window_divider, x_set_mouse_face_gc):
44819         Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null.
44820         * src/xterm.c (try_window_id):
44821         Redo loop to convince GCC 6.1 that it is null pointer safe.
44822         (x_color_cells):
44823         Use eassume as necessary to pacify GCC 6.1.
44824         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null.
44825         (FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old
44826         behavior of the non-_OPT macro, to be used when the result
44827         might be a null pointer.
44828         * src/dispnew.c (buffer_posn_from_coords, marginal_area_string)
44829         [HAVE_WINDOW_SYSTEM]:
44830         * src/intervals.h (INTERVAL_WRITABLE_P):
44831         * src/term.c (turn_off_face):
44832         * src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string)
44833         (produce_image_glyph, produce_xwidget_glyph):
44834         * src/xfaces.c (lookup_named_face):
44835         Remove unnecessary test for null pointer.
44836         * src/keyboard.c (read_char): Suppress bogus -Wclobbered warning.
44837         * src/process.c (would_block): New function.
44838         (server_accept_connection, wait_reading_process_output, send_process):
44839         Use it.
44840         * src/xdisp.c (get_window_cursor_type, note_mouse_highlight):
44841         Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result
44842         might be null.
44844 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44846         Sync from gnulib
44848         This incorporates:
44849         2016-05-17 manywarnings: update for GCC 6.1
44850         2016-05-13 intdiv0, memmem, nocrash, strcasestr, strstr: no exit
44851         * m4/manywarnings.m4, m4/nocrash.m4: Copy from gnulib.
44853 2016-05-16  Glenn Morris  <rgm@gnu.org>
44855         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
44856         Include more details on hydra.
44858 2016-05-16  Alan Mackenzie  <acm@muc.de>
44860         Tidy up redundant code in cc-vars.el caused by mistake in emacs-25 -> master
44862 2016-05-16  Alan Mackenzie  <acm@muc.de>
44864         Fix spurious fontification of "for (; a * b;)" in CC Mode.
44866         This fixes bug #7918 (again).
44868         * lisp/progmodes/cc-engine.el (c-delq-from-dotted-list): New function.
44869         (c-forward-decl-or-cast-1): Return a 4 element list in place of the previous
44870         cons cell - additionally, return a flag indicating whether the declaration
44871         parsed might have been an expression, and the position of the type identifier
44872         in the said declaration.
44874         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): When
44875         c-forward-decl-or-cast-1 has indicated it might have parsed an expression,
44876         check for it being a spurious declaration in a "for" statement.
44878 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44880         Pacify ‘make check-declare’
44882         * lisp/cedet/srecode/insert.el (data-debug-new-buffer)
44883         (data-debug-insert-stuff-list, data-debug-insert-thing):
44884         * lisp/emulation/viper-ex.el (viper-change-state-to-vi)
44885         (viper-change-state-to-emacs):
44886         * lisp/emulation/viper-macs.el (viper-change-state-to-vi):
44887         * lisp/org/ob-asymptote.el (orgtbl-to-generic):
44888         * lisp/org/ob-awk.el (orgtbl-to-generic):
44889         * lisp/org/ob-core.el (org-edit-src-code, orgtbl-to-generic):
44890         * lisp/org/ob-emacs-lisp.el (orgtbl-to-generic):
44891         * lisp/org/ob-exp.el (org-element-context):
44892         * lisp/org/ob-gnuplot.el (org-time-string-to-time)
44893         (orgtbl-to-generic):
44894         * lisp/org/ob-haskell.el (org-export-to-file):
44895         * lisp/org/ob-latex.el (org-create-formula-image)
44896         (org-latex-compile):
44897         * lisp/org/ob-python.el (run-python):
44898         * lisp/org/ob-sh.el (orgtbl-to-generic):
44899         * lisp/org/ob-tangle.el (org-link-escape, org-back-to-heading):
44900         * lisp/org/org-colview.el (org-agenda-redo):
44901         * lisp/org/org-feed.el (url-retrieve-synchronously):
44902         * lisp/org/org-info.el (Info-find-node):
44903         * lisp/org/org-list.el (org-previous-line-empty-p):
44904         * lisp/org/org-macs.el (org-string-match-p):
44905         * lisp/org/org.el (org-beamer-mode):
44906         Fix prototype to match current definition.
44907         * lisp/emacs-lisp/advice.el (function-called-at-point):
44908         * lisp/progmodes/prolog.el (compilation-shell-minor-mode):
44909         Fix typo: extra '.
44910         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
44911         Insert ,' to pacify check-declare.
44912         * lisp/org/ob-comint.el (tramp-flush-directory-property):
44913         * lisp/org/ob-tangle.el (org-babel-update-block-body):
44914         * lisp/org/org-bibtex.el (org-babel-trim):
44915         * lisp/org/org-pcomplete.el (org-export-backend-options):
44916         * lisp/org/org-protocol.el (org-publish-get-project-from-filename):
44917         Fix file name in declare-function.
44918         * lisp/org/ob-comint.el (with-parsed-tramp-file-name)
44919         * lisp/org/ob-core.el (with-parsed-tramp-file-name):
44920         * lisp/org/org.el (org-beamer-mode):
44921         * lisp/url/url-http.el (gnutls-negotiate):
44922         Append ‘t’ to declare-function, since the declaration isn’t a defun.
44923         * lisp/org/ob-core.el (show-all):
44924         Declare outline-show-all instead, since it is the
44925         non-obsolete version of this function.
44926         (org-save-outline-visibility): Remove; not needed.
44927         * lisp/org/ob-scheme.el (run-geiser, geiser-mode)
44928         (geiser-eval-region, geiser-repl-exit):
44929         * lisp/org/ox-org.el (htmlize-buffer):
44930         Prepend "ext:" to file name, since it is not part of Emacs.
44931         * lisp/org/ob-sh.el (org-babel-comint-in-buffer)
44932         * lisp/org/org-gnus.el (nnimap-group-overview-filename):
44933         Remove decl, since function was removed.
44934         * lisp/org/ob-sh.el (org-babel-comint-with-output):
44935         * lisp/org/org-macro.el (org-with-wide-buffer):
44936         Omit unnecessary (and mismatching) decl.
44937         * lisp/org/org-agenda.el (calendar-absolute-from-iso):
44938         * lisp/org/org-clock.el (calendar-iso-to-absolute):
44939         Declare calendar-iso-to-absolute instead, since it is the
44940         non-obsolete version of this function.
44941         * lisp/org/org-compat.el (w32-focus-frame):
44942         Remove decl, since function is now obsolete.
44944 2016-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
44946         :max-width/height fixes for shr after the scaling changes
44948         * lisp/net/shr.el (shr-rescale-image): Ensure that we respect
44949         max-width and max-height even after the scaling changes done
44950         earlier this year.
44952 2016-05-14  Eli Zaretskii  <eliz@gnu.org>
44954         Fix reading minibuffer input in viper-mode
44956         * lisp/emulation/viper-cmd.el (viper-read-string-with-history):
44957         Restore an assignment to viper-initial that got lost when
44958         viper-cmd.el was switched to lexical-binding.  (Bug#23536)
44960 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44962         Port autogen.sh to Git 2.4
44964         Problem reported by Michael Brand in:
44965         https://lists.gnu.org/r/emacs-devel/2016-05/msg00367.html
44966         * autogen.sh (git_config): Don't assume that git rev-parse
44967         groks --git-common-dir.
44969 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
44971         Merge from origin/emacs-25
44973         6de0715 Properly reject malformed or empty package sigs
44974         edae7d9 Remove buggy non-native image scrolling
44976 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
44978         Improve display of tex-verbatim and Info quoted
44980         Problem reported by Glenn Morris (Bug#19889).
44981         * doc/emacs/display.texi (Standard Faces):
44982         * doc/lispref/display.texi (Basic Faces):
44983         * etc/NEWS: Mention fixed-pitch-serif.
44984         * lisp/faces.el (face-font-family-alternatives):
44985         New family alias Monospace Serif.
44986         (fixed-pitch-serif): New face, which uses the new family.
44987         * lisp/info.el (Info-quoted):
44988         * lisp/textmodes/tex-mode.el (tex-verbatim): Use the new face.
44989         * test/lisp/legacy/font-parse-tests.el (font-parse-tests--data):
44990         Add test case for Monospace Serif.
44992 2016-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
44994         * lisp/net/sieve-mode.el: Handle the text:... notation
44996         Get rid of redundant :group keywords.
44997         (sieve-mode-syntax-table): Move initialization into declaration.
44998         (sieve-syntax-propertize, sieve-syntax-propertize-text): New functions.
44999         (sieve-mode): Use them.
45001 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
45003         Tweak check-declare-directory performance
45005         * lisp/emacs-lisp/check-declare.el (check-declare-directory):
45006         Use ‘find ... -exec ... +’ for speed.
45008 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
45010         Sync from gnulib
45012         This incorporates a spelling fix, plus:
45013         2016-05-09 Fix undefined behaviour in gettext.h
45014         * lib/gettext.h, lib/mktime.c:
45015         Copy from gnulib.
45017 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
45019         Merge from origin/emacs-25
45021         9c2a1a2 * doc/misc/texinfo.tex: Sync from gnulib.
45022         66cd4d8 * lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al...
45023         1a5a05c Do not mistake colon at the end of regexp for slash symbol
45024         4c5a00b Make package-install-from-buffer not move point
45025         9596ea1 ; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion"
45026         f79c352 Redo the fix for bug#21839
45027         8d2f78c Don't treat JS spread as contination method call
45029 2016-05-12  Chris Feng  <chris.w.feng@gmail.com>
45031         Correct server/client address
45033         * src/process.c (Fmake_network_process): :local is for servers and :remote
45034         is for clients.
45036 2016-05-12  Ken Brown  <kbrown@cornell.edu>
45038         Autosave buffers on logout if HAVE_NTGUI
45040         * src/w32fns.c (w32_wnd_proc): Pass a WM_ENDSESSION message on to
45041         w32_read_socket.
45043         * src/w32term.c (w32_read_socket): Create an event of type
45044         END_SESSION_EVENT if a WM_ENDSESSION message is received.
45046         * src/termhooks.h [HAVE_NTGUI]: New event kind END_SESSION_EVENT.
45048         * src/keyboard.c [HAVE_NTGUI] (syms_of_keyboard): New symbol
45049         `end-session'.
45050         (kbd_buffer_get_event): Return an end-session event if an event of
45051         type END_SESSION_EVENT is read.
45052         (keys_of_keyboard): Bind the end-session event to kill-emacs in
45053         special-event-map.  (Bug#23483)
45055 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
45057         * lisp/cedet/semantic/{db-el,symref}.el: Mark unused vars
45059         * lisp/cedet/semantic/db-el.el: Use _ to mark unused vars.
45060         (object-print): Use cl-call-next-method instead of call-next-method.
45061         * lisp/cedet/semantic/symref.el: Use _ to mark unused vars.
45063 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
45065         * lisp/cedet/semantic: Silence some warnings
45067         * lisp/cedet/semantic/db-el.el (emacs-lisp-mode)
45068         (semanticdb-get-database-tables): Use make-instance to silence warnings.
45070         * lisp/cedet/semantic/symref.el: Require semantic/find since we use
45071         some macros from there.  Silence compilation warnings:
45072         Replace initargs with slot names in oref/oset.
45073         Move `SYMREF TOOLS' section earlier so definitions precede their use.
45075 2016-05-12  Lars Ingebrigtsen  <larsi@gnus.org>
45077         Support srcset in <img>
45079         * lisp/net/shr.el (shr--preferred-image): Allow <img> tags
45080         with srcset specifiers (bug#23459).
45082 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
45084         Do not autoload some functions of tramp.el
45086         * lisp/net/tramp.el (tramp-completion-file-name-handler):
45087         Autoload a shortened version of this function, avoid recursive load.
45088         (tramp-completion-file-name-handler-alist)
45089         (tramp-completion-mode-p)
45090         (tramp-completion-handle-expand-file-name)
45091         (tramp-completion-handle-file-name-all-completions)
45092         (tramp-completion-handle-file-name-completion): Do not autoload.
45094 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
45096         Avoid recursive load of tramp.el
45098         * lisp/net/tramp.el (tramp-completion-file-name-handler):
45099         Autoload a shortened version of this function, avoid recursive load.
45101 2016-05-11  Michael Albinus  <michael.albinus@gmx.de>
45103         Fix a problem of tramp-tests on hydra.
45105         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
45106         Nullify `tramp-default-method' due to hydra.
45108 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
45110         Pacify byte-compiler in lisp/vc
45112         * lisp/vc/vc-bzr.el, lisp/vc/vc-cvs.el, lisp/vc/vc-hg.el:
45113         * lisp/vc/vc-rcs.el, lisp/vc/vc-src.el:
45114         Declare functions defined elsewhere, to forestall “might not
45115         be defined at runtime” warnings.
45117 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
45119         Merge from origin/emacs-25
45121         d0d9f55 Allow newlines inside cl function arglists
45122         963541a Publicize cl--generic-all-functions
45123         3c581d5 ; Fix typo
45124         e58f900 Add some "safe-local-variable" declarations for compatibility...
45126 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
45128         'text-quoting-style' now affects only ` and '
45130         Change 'text-quoting-style' so that it no longer affects
45131         formatting of curved quotes in format arguments to functions like
45132         'message'.  In particular, when this variable's value is 'grave',
45133         all quotes in formats are output as-is.
45134         * doc/lispref/help.texi (Keys in Documentation):
45135         * doc/lispref/strings.texi (Formatting Strings):
45136         * doc/lispref/tips.texi (Documentation Tips):
45137         * etc/NEWS:
45138         * src/doc.c (syms_of_doc): Document this.
45139         * lisp/help-fns.el (describe-function-1):
45140         * src/doc.c (text_quoting_style, Fsubstitute_command_keys)
45141         (syms_of_doc):
45142         * src/editfns.c (styled_format): Omit now-unnecessary code.
45143         * src/lisp.h (LEAVE_QUOTING_STYLE): Remove.
45145 2016-05-10  Alan Mackenzie  <acm@muc.de>
45147         Revert "Fix spurious fontification of "for (; a * b;)" in CC Mode."
45149         This reverts commit 89d1776b81ab552192ee41f13ce84ff86bda4556.  It is
45150         being reverted because it slowed down CC Mode's fontification too much
45151         (factor ~3).  It was the fix to bug #7918.
45153 2016-05-09  Lars Ingebrigtsen  <larsi@gnus.org>
45155         Move "Recent messages" earlier in report-emacs-bug
45157         * lisp/mail/emacsbug.el (report-emacs-bug): Move the "Recent
45158         messages" part earlier so that users can see it and remove it
45159         if they want.
45161 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
45163         Pacify byte compiler in tramp.el
45165         * lisp/net/tramp.el (tramp-time-diff): Use `tramp-compat-funcall'.
45167 2016-05-09  Paul Eggert  <eggert@cs.ucla.edu>
45169         Merge from origin/emacs-25
45171         3b47898 Fix doc string in `insert'
45172         b479dea * doc/misc/emacs-mime.texi (time-date): Document now-builtins...
45173         cd27f73 Say 'All results processed' at the end
45174         4ffec91 Document automatic adjustment of process' logical window dime...
45175         dc66271 ; Fix typos and stylistic glitches in NEWS
45177 2016-05-09  Alan Mackenzie  <acm@muc.de>
45179         CC Mode now uses the new :after-hook feature of define-derived-mode
45181         It now runs internal variable setting functions after the mode hooks, no
45182         longer runs the mode hooks twice, and declares the configuration variables for
45183         noise macros and macros with semicolons as safe variables (when given suitable
45184         arguments).
45186         Fixes bug #16759 and bug #23476.
45188         * .dir-locals.el: Put the c-noise-macros-with-paren-names setting
45189         back into the C Mode value.
45191         * lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to
45192         c-make-macro-with-semi-re.
45193         (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move
45194         c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate)
45195         and c-update-modeline into the :after-hook form.  Remove the explicit settings
45196         of the syntax table, the abbreviation table and the local key map, since they
45197         duplicate forms generated by define-derived-mode.  Remove the explicit
45198         invocation of each mode's mode hook, since they duplicate ones generated by
45199         define-derived-mode.
45201         * lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
45202         functions.
45203         (c-noise-macro-names, c-noise-macro-with-parens-names): give the
45204         save-local-variable property c-string-list-p.
45205         (c-macro-names-with-semicolon): give the save-local-variable property
45206         c-string-or-string-list-p.
45208         * doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not
45209         necessary to call the regexp generating functions after setting the pertinent
45210         configuration values in a mode hook.
45212 2016-05-09  Dmitry Gutov  <dgutov@yandex.ru>
45214         Fix the jit-lock-fontify-now test names
45216         * test/lisp/jit-lock-tests.el
45217         (jit-lock-fontify-now-mends-the-gaps)
45218         (jit-lock-fontify-now-does-not-refontify-unnecessarily):
45219         Fix the test names.
45221 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
45223         Extend completion candidates in tramp.el
45225         * lisp/net/tramp.el (tramp-parse-default-user-host): New defun.
45226         (tramp-get-completion-function): Use it.
45228 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
45230         Revert e2f785991d0c696fbb2bc2f331f888d979b8da82 for tramp.el
45232         * lisp/net/tramp.el (tramp-time-diff): Revert previous change due to backwards
45233         compatibility.
45235 2016-05-08  Dmitry Gutov  <dgutov@yandex.ru>
45237         Emulate interactive mode
45239         * test/lisp/jit-lock-tests.el (jit-lock-tests--setup-buffer)
45240         (jit-lock-does-not-refontify-unnecessarily):
45241         Bind noninteractive to nil (bug#23278).
45243 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
45245         Simplify now that float-time etc. are built-in
45247         This was prompted by warnings about calls to now-obsolete functions.
45248         * lisp/calendar/time-date.el (encode-time-value):
45249         Use setq rather than a recursive call, to avoid a warning
45250         about calling this obsolete function.
45251         * lisp/calendar/time-date.el (encode-time-value)
45252         (with-decoded-time-value, time-to-seconds, time-to-number-of-days):
45253         * lisp/erc/erc.el (erc-emacs-time-to-erc-time):
45254         * lisp/net/rcirc.el (rcirc-float-time):
45255         * lisp/org/org-compat.el (org-float-time):
45256         Simplify now that time-add and float-time are now built-in.
45257         * lisp/calendar/time-date.el (time-add, time-subtract, time-less-p):
45258         * lisp/net/newst-backend.el (time-add):
45259         * lisp/org/org.el (time-subtract):
45260         Remove backward-compatibility definitions; they are now built-in.
45261         * lisp/calendar/timeclock.el (timeclock-time-to-seconds)
45262         (timeclock-seconds-to-time):
45263         * lisp/net/rcirc.el (rcirc-float-time):
45264         * lisp/org/org-compat.el (org-float-time):
45265         Now obsolete, since callers can just use float-time and
45266         seconds-to-time.  All uses changed.
45267         * lisp/emacs-lisp/ert.el (ert-results-pop-to-timings):
45268         * lisp/gnus/gnus-art.el (article-lapsed-string):
45269         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
45270         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
45271         * lisp/gnus/nndiary.el (nndiary-compute-reminders):
45272         * lisp/net/tramp.el (tramp-time-diff):
45273         * lisp/org/org-clock.el (org-clock-timestamps-change):
45274         Prefer the time-subtract builtin to the subtract-time alias.
45275         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
45276         * test/lisp/character-fold-tests.el (character-fold--speed-test):
45277         Prefer the float-time builtin to the time-to-seconds alias.
45278         * lisp/org/org-agenda.el, lisp/org/org-clock.el, lisp/org/org-list.el:
45279         * lisp/org/org-timer.el, lisp/org/org.el:
45280         Adjust to org-float-time deprecation.
45282 2016-05-08  Alan Mackenzie  <acm@muc.de>
45284         Add :after-hook facility to define-derived-mode.
45286         This allow a form to be evaluated _after_ a major mode's hooks have been run.
45287         It is needed to solve some problems in CC Mode, including bug #16759 and
45288         bug #23476.
45290         * lisp/emacs-lisp/derived.el (define-derived-mode): introduce the new argument
45291         `:after-hook', and generate the requisite code for it.
45292         (derived-mode-make-docstring): Take account of the possibility of :after-hook.
45294         * lisp/subr.el (delayed-after-hook-forms): New variable.
45295         (run-mode-hooks): As the last thing evaluate the forms in
45296         delayed-after-hook-forms.
45298         * doc/lispref/modes.texi (Derived Modes): Document :after-hook.
45299         (Mode Hooks): Document the new feature in run-mode-hooks.
45301         * etc/NEWS: Note the new feature.
45303 2016-05-08  Michael Albinus  <michael.albinus@gmx.de>
45305         Fix recursive load of tramp.elc
45307         * lisp/net/tramp.el (tramp-completion-file-name-handler):
45308         Check also for `tramp-completion-mode-p'.
45309         (tramp-completion-mode, tramp-completion-mode-p): Autoload them.
45311 2016-05-07  Paul Eggert  <eggert@cs.ucla.edu>
45313         Prefer grep -E/-F to egrep/fgrep
45315         POSIX marked egrep and fgrep as legacy apps in SUSv2 (1997) and
45316         withdrew them in SUSv3 (2001), and these days grep -E and grep -F
45317         are probably more portable.
45318         * lib-src/etags.c (main):
45319         * lisp/eshell/em-unix.el (eshell-grep, eshell/egrep)
45320         (eshell/fgrep):
45321         * lisp/cedet/semantic/symref.el (semantic-symref-find-text):
45322         * lisp/eshell/esh-var.el (eshell-apply-indices):
45323         * lisp/progmodes/ada-xref.el (ada-xref-search-with-egrep)
45324         (ada-find-in-src-path):
45325         * lisp/textmodes/ispell.el (ispell-grep-command):
45326         (ispell-lookup-words):
45327         Use or document grep -E and grep -F instead of egrep and fgrep.
45328         * lisp/textmodes/ispell.el (ispell-grep-options):
45329         Use -Ei on all platforms, not just MS-Windows.
45331 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
45333         Avoid unnecessary work if a chunk is empty
45335         * lisp/jit-lock.el (jit-lock-fontify-now): Avoid unnecessary work
45336         if a chunk is empty (bug#23278).
45338 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
45340         * test/lisp/jit-lock-tests.el: New file.
45342 2016-05-07  Michael Albinus  <michael.albinus@gmx.de>
45344         Continue to fix Bug#10085
45346         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist)
45347         <expand-file-name>: Add handler.
45348         (tramp-completion-handle-expand-file-name): New defun.
45349         (tramp-handle-file-name-as-directory): Handle completion mode case.
45351         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
45352         Fix test.
45353         (tramp-test24-file-name-completion): Extend test.
45355 2016-05-07  Alan Mackenzie  <acm@muc.de>
45357         Revert change 8e4595a... due to annoyance it causes the development team.
45359         Change 8e4595a438fe85dd109756886cdeaeea2e665afb from 2016-04-30 17:28:24
45360         +0000 was an enhancement to .dir-locals to allow correct fontification
45361         of certain macro constructs.
45363         * .dir-locals.el: Remove the two forms for C Mode dealing with noise macros.
45365 2016-05-07  Alan Mackenzie  <acm@muc.de>
45367         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): Give it a version number.
45369 2016-05-07  Simen Heggestøyl  <simenheg@gmail.com>
45371         Add tests for CSS mode completion
45373         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values)
45374         (css-test-property-values-no-duplicates)
45375         (css-test-value-class-lookup): Use `seq-sort'.
45376         (css-mode-tests--completions): New helper function for retrieving CSS
45377         completions.
45378         (css-test-complete-bang-rule, scss-test-complete-bang-rule)
45379         (css-test-complete-property-value, css-test-complete-pseudo-class)
45380         (css-test-complete-pseudo-element, css-test-complete-at-rule)
45381         (scss-test-complete-at-rule, css-test-complete-property)
45382         (css-test-complete-selector, css-test-complete-nested-selector)
45383         (scss-test-complete-nested-selector): New tests.
45385 2016-05-06  Alan Mackenzie  <acm@muc.de>
45387         Add an option in Edebug to prevent pauses after `h', 'f', and `o'.
45389         Requested by Paul Pogonyshev.  Also add in documentation for Edebug config
45390         variables which was missing.
45392         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): New customizable option.
45393         (edebug--display-1): Test edebug-sit-on-break before pausing 1 second.
45395         * doc/lispref/edebug.texi (Jumping): Document the effect of the new option.
45396         (Edebug Options): Document the new option.  Also add documentation for
45397         edebug-eval-macro-args, edebug-print-length, edebug-print-level,
45398         edebug-print-circle, edebug-sit-for-seconds.
45400         * etc/NEWS: Note the new feature.
45402 2016-05-07  Jorgen Schaefer  <contact@jorgenschaefer.de>
45404         scheme.el: Turn literal tabs into \t
45406         * lisp/progmodes/scheme.el: The last change to turn tabs into spaces
45407         also caught some literal tabs in character classes. Fix this by
45408         adding \t to those classes.
45410 2016-05-07  Tino Calancha  <f92capac@gmail.com>
45412         Make 'backtab' work in table-mode on text terminals
45414         * lisp/textmodes/table.el (table-cell-bindings): Bind 'backtab'
45415         explicitly.  (Bug#23456)
45417 2016-05-07  Eli Zaretskii  <eliz@gnu.org>
45419         Try to speed-up display of many all-blank lines
45421         * src/bidi.c (bidi_initialize): Use anchored regexps for
45422         paragraph start and paragraph separator sequences.  (Bug#23457)
45424 2016-05-06  Alan Mackenzie  <acm@muc.de>
45426         Correct hack-local-variables change from Thu May 5 11:05:49 2016 +0000
45428         Prevent hack-local-variables being called from the fundamental-mode mode call
45429         early in normal-mode.  This fixes bug #23460 and bug #23463.
45431         * lisp/files.el (normal-mode) Replace call to fundamental-mode with calls to
45432         the things it calls, with the exception of hack-local-variables.
45434         * etc/NEWS: Add an entry to note the calling of hack-local-variables at each
45435         major mode initialization.
45437 2016-05-06  Paul Eggert  <eggert@cs.ucla.edu>
45439         Port xref-tests to master branch
45441         Also, add a test to make this problem less likely in the future.
45442         * test/Makefile.in (check-no-automated-subdir): New rule.
45443         (check, check-expensive, check-maybe): Depend on it.
45444         * test/automated/data/xref/file1.txt: Rename to ...
45445         * test/data/xref/file1.txt: ... here.
45446         * test/automated/data/xref/file2.txt: Rename to ...
45447         * test/data/xref/file2.txt: ... here.
45448         * test/automated/xref-tests.el: Rename to ...
45449         * test/lisp/progmodes/xref-tests.el: ... here.
45450         (xref-tests-data-dir): Use EMACS_TEST_DIRECTORY.
45452 2016-05-05  Paul Eggert  <eggert@cs.ucla.edu>
45454         Merge from origin/emacs-25
45456         50650cb Doc fixes for fclist and grep
45457         5e814e0 Minor doc fixes for quoting
45458         3347a73 `nreverse' the marker pairs list
45459         1a4127d Use save-excursion in xref-location-marker more
45460         ab3ba91 shell-quote-argument DIR when appropriate
45461         922c7a3 Rework xref-query-replace-in-results
45462         3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w...
45463         0932b94 Fix todo-mode bug involving archived items (bug#23447)
45464         e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432)
45465         adc80b7 ; * test/automated/xref-tests.el: Add copyright and license.
45466         4d8fd9c Handle "empty line" regexp in xref searches
45467         f559b37 Add tests for xref-collect-matches
45468         6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc...
45469         6f82d8e Clear buffer-undo-list when showing xrefs
45470         c68a091 Note the quote translation in `message' in section "incompati...
45471         52f86a7 * etc/NEWS: Mention (message "%s" (format ...)).
45472         93703c5 (Common Keywords): Correct what missing :group means
45473         79e5800 Improve documentation of Dired's 'A' and 'Q' commands
45474         2ea2a2f Doc fixes for quoting
45475         8544b98 posnp doc clarification
45476         805204f Mention what a missing :group does
45477         ec554d7 Fix documentation of dired-aux search/replace commands
45479 2016-05-05  Simen Heggestøyl  <simenheg@gmail.com>
45481         Support completion of HTML tags in CSS selectors
45483         * lisp/textmodes/css-mode.el (css--html-tags): New variable holding a
45484         list of HTML tags for completion.
45485         (css--nested-selectors-allowed): New variable for determining whether
45486         nested selectors are allowed in the current mode.
45487         (css--complete-selector): New function for completing part of a CSS
45488         selector.
45489         (css-completion-at-point): Support completion of selectors.
45490         (scss-mode): Allow nested selectors.
45492 2016-05-05  Lars Ingebrigtsen  <larsi@gnus.org>
45494         Make `R' in eww work more reliably
45496         * lisp/net/eww.el (eww-score-readability): Protect against
45497         null children.
45499 2016-05-05  Alan Mackenzie  <acm@muc.de>
45501         Call hack-local-variables from major modes rather than from file visiting
45503         This prevents file/directory local variables from being lost when the major
45504         mode is set or changed.
45506         This fixes bug #15577 and bug #23407.
45508         * lisp/files.el (normal-mode): Call `hack-local-variables' when the major mode
45509         function hasn't already done so.
45510         (hack-local-variables): Rename parameter `mode-only' to `handle-mode', make
45511         its previous non-nil setting be t, and introduce the following action for a
45512         non-nil non-t value: apply all settings apart from `mode'.
45514         * lisp/subr.el (run-mode-hooks): call `hack-local-variables' for buffers
45515         which are visiting files.
45517         * doc/emacs/custom.texi (File Variables): Note that setting a major mode also
45518         sets file variables.
45519         (Directory Variables): Note that `mode', `eval', and `unibyte' can be set as
45520         dir local variables, but `coding' can't.
45522         * doc/lispref/modes.texi (Major Mode Conventions): Say that `run-mode-hooks'
45523         also calls `hack-local-variables'.
45524         (Auto Major Mode): Say that `find-file' no longer runs `hack-local-variables',
45525         as from 25.2.  Remove vagueness from `normal-mode' and `set-auto-mode' by
45526         saying that the mode IS SET, not merely "selected" or "chosen".
45527         (Mode Hooks): Document change to `run-mode-hooks'.
45529         * doc/lispref/variables.texi (File Local Variables): Document change to
45530         `hack-local-variables'.
45532 2016-05-05  Michael Albinus  <michael.albinus@gmx.de>
45534         tramp-sh.el: Work around a stat bug
45536         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Do not use
45537         stat versions which produce shell quoted output.  See also
45538         coreutils Bug#23422.
45540 2016-05-04  Noam Postavsky  <npostavs@gmail.com>
45542         Fix autogen.sh for separate worktrees
45544         * autogen.sh: Use the $hooks variable in the $sample_hooks loop, instead
45545         of assuming .git/hooks is a directory.
45547 2016-05-04  Alan Mackenzie  <acm@muc.de>
45549         Allow `text-quoting-style' to be `leave', i.e. no translation of quotes.
45551         * lisp/help-fns.el (describe-function-1): Don't set coding system to UTF-8
45552         when text-quoting-style is `leave'.
45554         * src/lisp.h (enum text_quoting_style): Add identifier LEAVE_QUOTING_STYLE.
45556         * src/doc.c (syms_of_doc): New symbol "leave".  Amend doc string of
45557         `text_quoting_style'.
45558         (text_quoting_style): Handle `leave' by returning LEAVE_QUOTING_STYLE.
45559         (Fsubstitute_command_keys): Don't translate quotes when quoting_style is
45560         LEAVE_QUOTING_STYLE.
45562         * src/editfns.c (styled_format): Set quoting_style to -1 when
45563         text-quoting-style is `leave'.
45565 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
45567         * lisp/emulation/viper.el:
45568         * lisp/emulation/viper-cmd.el: Use lexical-binding.
45569         (viper-change-state-to-vi, viper-change-state-to-emacs): Allow dummy
45570         args, for use in advice-add.
45571         (viper--init-message): Rename from init-message.
45572         (viper-minibuffer-standard-hook): Adjust accordingly.
45573         (viper-undo): Remove unused var `modified'.
45574         (viper-read-string-with-history, viper-set-searchstyle-toggling-macros):
45575         Don't use dynamic vars as args.
45576         (viper-submit-report): Clarify use of dynamic vars.
45578         * lisp/emulation/viper.el: Use lexical-binding and nadvice.
45579         Remove redundant :group keywords.  Group the (if viper-mode) at top-level.
45580         Use add-function rather than a `(lambda ...).
45581         (viper--advice-list): New var.
45582         (viper--advice-add, viper--deactivate-advice-list): New funs.
45583         (viper-go-away, viper-set-hooks, viper-non-hook-settings): Use them.
45584         (viper-non-hook-settings): Don't hook into find-file any more.
45586 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
45588         * lisp/vc/ediff-util.el: Use lexical-binding.
45590         * lisp/progmodes/js.el (js-syntax-propertize): Recognize shebang line.
45592 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
45594         Add an animation sanity check
45596         * lisp/image.el (image-multi-frame-p): Give up on animations
45597         if it seems like they are too slow (bug#23431).
45599 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
45601         abbrev-tests.el fix
45603         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Don't check
45604         internal implementation detail.
45606 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
45608         (shr-rescale-image): Clarify logic slightly
45610         * lisp/net/shr.el (shr-rescale-image): Clarify logic slightly.
45612 2016-05-02  Martin Rudalics  <rudalics@gmx.at>
45614         Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2
45616         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
45617         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
45618         Monnier.  (Bug#19185, Bug#20398)
45620 2016-05-02  Lee Bochicchio  <lboc.home@gmail.com>
45622         Add more abbrev tests
45624         * test/lisp/abbrev-tests.el
45625         (clear-abbrev-table-test): Use `abbrev-expansion'
45626         (abbrev-table-empty-p-test, list-abbrevs-test)
45627         (prepare-abbrev-list-buffer-test, insert-abbrevs-test)
45628         (edit-abbrevs-test, define-abbrevs-test)
45629         (read-write-abbrev-file-test)
45630         (abbrev-edit-save-to-file-test): New tests (bug#23139).
45632 2016-05-02  Philipp Stephani  <p.stephani2@gmail.com>  (tiny change)
45634         Allow eval-ing named character literals
45636         * lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over
45637         named character literals.
45638         * test/lisp/progmodes/elisp-mode-tests.el
45639         (elisp--preceding-sexp--char-name): Add test for skipping over
45640         named character literals (bug#23354).
45642 2016-05-02  Aaron Conole  <aconole@redhat.com>
45644         Call va_end in boot_error
45646         * src/gnutls.c (boot_error): A recent change added a function
45647         to signal an error or return an error code. That function uses
45648         a variadic argument list to populate an error message
45649         string. However, it missed calling va_end after using the
45650         variadic argument list.
45652           Copyright-paperwork-exempt: yes
45654 2016-05-02  Aaron Conole  <aconole@bytheb.org>
45656         Fix the call to set_network_coding_system
45658         * src/process.c (Fmake_network_process): A recent commit
45659         modified the set_network_socket_coding_system function to take
45660         arguments host, service, and name. However, those arguments
45661         appear to be swapped.
45663           Copyright-paperwork-exempt: yes
45665 2016-05-02  Lars Ingebrigtsen  <larsi@gnus.org>
45667         Revert "alas, a map can have only one parent"
45669         This reverts commit d05806fda1cbba2db112bc783597fbe9d27175b2.
45671         This had already been fixed by using `make-composed-map'.  And
45672         we don't want image-map to inherit from special-mode-map, anyway.
45674 2016-05-02  Paul Eggert  <eggert@cs.ucla.edu>
45676         Merge from origin/emacs-25
45678         bf21c84 Fix quoting problem in cc-engine debug message
45679         8f36614 Add electric-quote-string unit test
45680         6280531 Don’t electrically quote ‘'’ in Python
45681         fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits
45683 2016-05-02  Sam Steingold  <sds@gnu.org>
45685         alas, a map can have only one parent
45687         * lisp/image-mode.el (image-model-map): Cannot have two parents.
45688         * lisp/image.el (image-map): Inherit from `special-mode-map'.
45690 2016-05-02  Michael Albinus  <michael.albinus@gmx.de>
45692         Fix Bug#10085
45694         * lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
45695         Add optional arguments OPERATION and COMPETION.  Handle
45696         `file-name-as-directory', `file-name-directory' and
45697         `file-name-nondirectory' also in completion mode.
45698         (tramp-file-name-handler): Use it.  (Bug#10085)
45700         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
45701         Extend test.
45703 2016-05-01  Martin Rudalics  <rudalics@gmx.at>
45705         * src/minibuf.c (read_minibuf): Use CONSP instead of Fconsp.
45707 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45709         Tweak .gitignore
45711         * .gitignore: Remove leim/changed.misc, leim/changed.tit,
45712         as these files are no longer created.  Add gmon.out, for
45713         -pg profiling.  Sort.
45715 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45717         Sync from gnulib
45719         This incorporates:
45720         2016-05-01 mktime: port to stricter signed overflow checking
45721         2016-05-01 mktime: speed up DEBUG_MKTIME benchmarks
45722         2016-05-01 mktime: resurrect DEBUG_MKTIME testing
45723         2016-05-01 mktime: simplify DEBUG_MKTIME
45724         2016-05-01 Port mktime_internal offset to unsigned time_t
45725         2016-04-27 xstrtol: prohibit monstrosities like "1bB"
45726         2016-04-13 mktime: improve integer overflow checking
45727         2016-04-13 intprops: check two's complement assumption
45728         2016-04-13 intprops, mktime, strtol: assume two's complement
45729         * lib/intprops.h, lib/mktime-internal.h, lib/mktime.c:
45730         * lib/strtol.c, lib/timegm.c, m4/mktime.m4, m4/std-gnu11.m4:
45731         Copy from gnulib.
45733 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45735         Merge from origin/emacs-25
45737         c695fb3 ; Spelling fixes
45738         03750c0 * doc/misc/texinfo.tex: Sync from gnulib.
45739         42fed3b * lisp/isearch.el (isearch-forward-symbol-at-point): Add isea...
45741 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45743         Merge from origin/emacs-25
45745         d8affa3 Use ‘T *restrict’ proto, not ‘T[restrict]’
45746         d38d2a8 Fix documentation of 'url-retrieve-synchronously'
45747         586b213 * lisp/url/url.el (url-retrieve-synchronously): Doc fix.  (Bu...
45749         # Conflicts:
45750         #       doc/misc/url.texi
45751         #       lisp/url/url.el
45753 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45755         Merge from origin/emacs-25
45757         16e5e8e Fix last change to isearch-update (bug#23406)
45758         b755d98 Autoload cursor-sensor-inhibit (bug#23406)
45759         b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call
45760         86aa409 Followup for last commit in the user manual
45761         7004459 Improve doc string of 'set-goal-column'
45762         ccdaf04 Fix the MSDOS build
45763         ffe701c Remove \= from format string (bug#18190)
45764         1c58fa1 Fix variable-pitch font on MS-Windows
45765         c6077bf Restore follow-scroll-up/down to scrolling by the combined si...
45766         b671e21 Revert unneeded change which harms syntactic parsing.  This f...
45767         48b24c9 Correct indentation of ids in a C++ enum after a protection k...
45768         5c3534f * lisp/window.el (window--process-window-list): No-op if no p...
45769         734fb3a Port dumping to NetBSD with PaX
45770         0255a70 Don't mistake `for' inside a function for a part of array com...
45772         # Conflicts:
45773         #       src/Makefile.in
45775 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45777         Merge from origin/emacs-25
45779         71fb0e0 Improve last change to vc-git-mode-line-string
45780         6858e77 Todo mode doc bug fix
45781         e55d0db Fix revision calculation in vc-git-mode-line-string
45782         ca87b34 ; Fix errant revert ccb75d7
45783         40bfebe Add Python 3.5 keyword "await"
45784         fa7886a Add new keywords of Python 3.5
45785         ccb75d7 Partially revert previous change.
45786         8ee168a ; * etc/NEWS: Update entry about color fonts on OS X with a w...
45787         b09ca27 Say why text-quoting-style is not a user option
45789 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45791         Merge from origin/emacs-25
45793         5a952eb Don't mention ~/.emacs.bmk literally in doc strings
45794         c338cf3 * etc/NEWS: Explain why multicolor font display is disabled o...
45795         c30d1b4 Port to Ubuntu 16.04 --enable-gcc-warnings
45797 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
45799         Mention the `find-library-name' changes
45801 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
45803         Fix text in menu in minor-mode-menu-from-indicator
45805         * lisp/mouse.el (minor-mode-menu-from-indicator): Don't
45806         capitalize "Off" in "Turn Off" (bug#11028).
45808 2016-05-01  David Engster  <deng@randomsample.de>
45810         gitmerge: Add cherry pick to gitmerge-skip-regexp
45812         * admin/gitmerge.el (gitmerge-skip-regexp): Add "cherry picked
45813         from commit", which is the string appended by 'git cherry-pick
45814         -x'.
45816 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
45818         Allow `global-set-key' to bind keys under the `M-o' map
45820         * lisp/subr.el (global-set-key): Allow binding keys under the
45821         `M-o' map (bug#9730).
45823 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
45825         Add `size-indication-mode' to the menu on `mouse-1' "Top"
45827         * lisp/bindings.el (mode-line-column-line-number-mode-map):
45828         Add `size-indication-mode' to the menu (bug#5727).
45830 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
45832         Allow finding libraries loaded manually outside the load-path
45834         * lisp/emacs-lisp/find-func.el (find-library--from-load-path):
45835         New function to find a library from a load path (bug#5661).
45836         (find-library-name): Use it.
45838         There are so many combinations of inputs and possibly entries in
45839         `load-history' that the code looks like an entry in a code obfuscation
45840         contest.  If anybody has a better implementation, please substitute.
45842         But remember that the input given may be foo, foo.el, foo.elc, and the
45843         entries in load-history may be foo.el, foo.elc and foo.el.gz, and we
45844         want to return only foo.el and foo.el.gz.  *phew*
45846 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
45848         Allow minibuffer prompts to use faces
45850         * doc/lispref/minibuf.texi (Text from Minibuffer): Document
45851         `minibuffer-prompt-properties' and explain how faces work in
45852         the minibuffer prompt.
45854         * src/minibuf.c (read_minibuf): If `face' is in
45855         `minibuffer-prompt-properties', apply it to the end of the
45856         face list to allow users to have their own faces on the
45857         prompts (bug#16136).
45859 2016-05-01  Peter Feigl  <peter.feigl@nexoid.at>  (tiny change)
45861         Add R7RS syntax forms to scheme.el
45863         * lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
45864         a number of special forms introduced in R7RS-small.
45865         * lisp/progmodes/scheme.el (scheme-indent-function): Same.
45867 2016-05-01  Alan Third  <alan@idiocy.org>
45869         Implement horizontal scroll bars on NS
45871         * lisp/scroll-bar.el (horizontal-scroll-bars-available-p): Remove NS
45872         check.
45873         * lisp/term/ns-win.el: Remove custom NS scroll-bar handlers and bind
45874         scroll-bar mouse clicks to standard handlers.
45875         * src/nsterm.h (EmacsScroller): Add 'horizontal' property and rename
45876         pixel_height to pixel_length.
45877         * src/nsterm.m (x_set_window_size): Remove left-hand scroll-bar code. It
45878         caused scroll-bars to be over-drawn and the best working solution
45879         appears to be complete removal.
45880         (ns_set_horizontal_scroll_bar): Rewrite to handle horizontal scrollers
45881         correctly.
45882         (ns_set_vertical_scroll_bar): Set width to actual scroller width.
45883         (setFrame): Handle horizontal case.
45884         (dealloc): Handle horizontal case.
45885         (judge): Handle horizontal case.
45886         (setPosition): Rename pixel_height to pixel_length.
45887         (sendScrollEventAtLoc): Handle horizontal case.
45888         (mouseDown): Handle horizontal case and general tidy up of code.
45889         (mouseDragged): Handle horizontal case. Call sendScrollEventAtLoc with
45890         absolute pixel size instead of ratio.
45891         * src/window.h: Remove NS check.
45893 2016-05-01  Michael Albinus  <michael.albinus@gmx.de>
45895         tramp.texi: Revert last change due to backward compatibility
45897 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
45899         Fix the buffer-count patch (Bug#23394)
45901         * src/buffer.c (Fgenerate_new_buffer_name): Increment count just
45902         once each time through the loop.  Reported by Lars Ingebrigtsen in:
45903         https://lists.gnu.org/r/emacs-devel/2016-04/msg00918.html
45905 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
45907         cua-prefix-override-inhibit-delay doc fix
45909         * lisp/emulation/cua-base.el
45910         (cua-prefix-override-inhibit-delay): Typo fix in doc string
45911         (bug#23401).
45913 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
45915         Fix generate-new-buffer-name increment typo
45917         Problem reported by Chaitanya Koparkar (Bug#23394).
45918         * src/buffer.c (Fgenerate_new_buffer_name): Increment count when
45919         generating a new buffer.  This fixes a typo I introduced in
45920         2014-04-05T00:04:58Z!eggert@cs.ucla.edu.
45922 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
45924         global-eldoc-mode doc fix
45926         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Be more
45927         specific about what "applicable" means (bug#23071).
45929 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
45931         Make the legend in describe-categories a link
45933         * lisp/help-fns.el (describe-categories): Make the "see
45934         bottom" text a link (bug#22227).
45936 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
45938         normal-top-level-add-subdirs-to-load-path doc fix
45940         * lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
45941         Doc fix (bug#21962).
45943 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
45945         isearch-search-fun-function doc tweak
45947         * lisp/isearch.el (isearch-search-fun-function): Mention what
45948         the STRING parameter is (bug#21552).
45950 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
45952         Fill some imenu--index-alist doc lines
45954         * lisp/imenu.el (imenu--index-alist): Fill some doc lines (bug#21269).
45956 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
45958         Make describe-variable look up the variable in the current buffer
45960         * lisp/help-fns.el (describe-variable): Get the variable
45961         definition in the buffer we were called from (in case it only
45962         exists there) (bug#21252).
45964 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
45966         Fmarker_position doc string clarification
45968         * src/marker.c (Fmarker_position): Clarify the doc string
45969         (bug#21231).
45971 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
45973         Further define-obsolete-* doc fixups
45975         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
45976         Fix up last change.
45977         (define-obsolete-variable-alias): Ditto.
45979 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
45981         Describe WHEN in all the define-obsolete- macros
45983         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
45984         Say more verbosely what WHEN is (bug#21225).
45985         (define-obsolete-function-alias): Describe the WHEN parameter.
45986         (define-obsolete-variable-alias): Ditto.
45988 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
45990         Mention with-silent-modifications in the lispref manual
45992         * doc/lispref/text.texi (Changing Properties): Document
45993         with-silent-modifications (bug#21171).
45995 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
45997         with-silent-modifications doc clarification
45999         * lisp/subr.el (with-silent-modifications): Rearrange the doc
46000         string a bit so that the most pertinent information is at the
46001         top (bug#21171).
46003 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46005         clear-visited-file-modtime doc string fix
46007         * lisp/files.el (clear-visited-file-modtime): Fix possibly
46008         confusing doc string wording (bug#21169).
46010 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46012         Document mode mode line variables
46014         * doc/lispref/modes.texi (Mode Line Variables): Document
46015         `mode-line-front-space, `mode-line-misc-info',
46016         `mode-line-end-spaces' (bug#21014).
46018 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46020         Add a cross ref to Optional Mode Line
46022         * doc/lispref/modes.texi (Mode Line Variables): Add a cross
46023         reference to the Emacs mode line node that explains things
46024         like `display-time-string' (bug#21002).
46026 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46028         Add a doc string to display-time-string
46030         * lisp/time.el: Add a doc string to `display-time-string',
46031         because it's referred to in the manual, and is too mysterious
46032         otherwise (bug#21002).
46034 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46036         custom-buffer-style doc fix
46038         * lisp/cus-edit.el (custom-buffer-style): Document the `tree'
46039         value (bug#20724).
46041 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46043         Document how to check for ImageMagick support
46045         * doc/lispref/display.texi (ImageMagick Images): Say how to
46046         check for ImageMagick support, which isn't quite obvious
46047         (bug#20702).
46049 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46051         Minor doc fix for ImageMagick/SVG builds
46053         * doc/lispref/display.texi (SVG Images): Don't imply that you
46054         have to build Emacs yourself (bug#20702).
46055         (ImageMagick Images): Ditto.
46057 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46059         Rearrange the doc of query-replace slightly
46061         * lisp/replace.el (query-replace): Move the mention of the
46062         interactive prefix arg earlier so that users can find it
46063         (bug#20654).
46065 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46067         apropos-print doc fix
46069         * lisp/apropos.el (apropos-print): Document the undocumented
46070         parameters (bug#20520).
46072 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46074         completion-table-with-predicate doc string fix
46076         * lisp/minibuffer.el (completion-table-with-predicate): t ->
46077         non-nil in the doc string (bug#20460).
46079 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46081         Fill the completion-table-with-predicate doc string
46083         * lisp/minibuffer.el (completion-table-with-predicate): Fill
46084         the doc string (bug#20460).
46086 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46088         replace-match-maybe-edit doc clarification
46090         * lisp/replace.el (replace-match-maybe-edit): Say what
46091         MATCH-DATA is (bug#20304).
46093 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46095         add-timeout doc fix
46097         * lisp/emacs-lisp/timer.el (add-timeout): Mention the return
46098         value (bug#20181).
46100 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46102         Extremely minor doc fix in Choosing Window
46104         * doc/lispref/windows.texi (Choosing Window): There's only one
46105         action alist, I think (bug#20158).
46107 2016-04-30  Alan Mackenzie  <acm@muc.de>
46109         * .dir-locals.el: Amend for correct fontification of *.[ch]
46110         containing "IF_LINT"
46112 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46114         Transform mentions of `eval-after-load' to `with-eval-after-load'
46116         * doc/lispref/loading.texi (Hooks for Loading): Update text to
46117         not mention `eval-after-load' (bug#20038).
46119 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46121         cursor-type doc fix
46123         * src/buffer.c (syms_of_buffer): Mention that cursor-type's
46124         WIDHT/HEIGHT can't exceed the frame char size (bug#19215).
46126 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46128         Add a link from Tool Bar to Images
46130         * doc/lispref/keymaps.texi (Tool Bar): Add a link to the
46131         Images node (bug#19722).
46133 2016-04-30  Alan Mackenzie  <acm@muc.de>
46135         CC Mode: Recognize a noise macro with parens after a declarator's identifier
46137         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): In the while loop
46138         following comment "Skip over type decl suffix operators." insert code also
46139         to check for noise macros with parentheses.
46141 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46143         (default-mode-line-format): More explicit obsolete info
46145         * lisp/subr.el (default-mode-line-format): Be more explicit in
46146         how default values are now handled (bug#19424).
46148 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46150         Fcompare_buffer_substrings doc string clarification
46152         * src/editfns.c (Fcompare_buffer_substrings): Extremely minor
46153         doc string clarification (bug#19255).
46155 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46157         insert-file-contents-literally doc fix
46159         * lisp/files.el (insert-file-contents-literally): Say that the
46160         parameters are explained in the other function (bug#18317).
46162 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46164         Fix custom types for cursor-in-non-selected-windows
46166         * lisp/cus-start.el (standard): Use the same custom types for
46167         cursor-in-non-selected-windows as for cursor-type (bug#19214).
46169 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46171         Doc clarification to mwheel-scroll
46173         * lisp/mwheel.el (mwheel-scroll): Mention that the restriction
46174         does not apply to Windows (bug#19209).
46176 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46178         Clarify the doc of eval-expression-print-format
46180         * lisp/simple.el (eval-expression-print-format): Doc
46181         clarification (bug#19114).
46183 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46185         (extended-command-suggest-shorter): Add a version string
46187         * lisp/simple.el (extended-command-suggest-shorter): Add a
46188         version string.
46190 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46192         Document extended-command-suggest-shorter
46194         * doc/emacs/m-x.texi (M-x): Mention
46195         extended-command-suggest-shorter (bug#19152).
46197 2016-04-30  Ivan Shmakov  <ivan@siamics.net>
46199         Add a variable to control "shorter command" suggestions
46201         * lisp/simple.el (extended-command-suggest-shorter): New variable (bug#19152).
46202         (execute-extended-command): Use it.
46204 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46206         Explictly explain that package-initialize loads the packages
46208         * lisp/emacs-lisp/package.el (package-initialize): Be explicit
46209         in saying that `package-initialize' obviates adjusting the
46210         path or requiring the packages, as this is a question that
46211         apparently comes up now and then (bug#18829).
46213 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46215         Have the doc strings of `load-path' and `require' mention each other
46217         * src/fns.c (Frequire): Mention `load-path' and fill the doc
46218         string (bug#18829).
46220         * src/lread.c (syms_of_lread): Mention that `require' uses
46221         `load-path'.
46223 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46225         Doc fix for insert-pair-alist
46227         * lisp/emacs-lisp/lisp.el (insert-pair-alist): Say what
46228         COMMAND-CHAR is (bug#18809).
46230 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46232         Move doc of backup-directory-alist to the Backup node
46234         * doc/emacs/files.texi (Backup): Move the documentation of
46235         `backup-directory-alist' here from the "Single or Numbered
46236         Backups" node, because it doesn't seem to have much to do with
46237         numbering (bug#18692).
46239 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46241         Tiny doc clarification for create-fontset-from-fontset-spec
46243         * lisp/international/fontset.el (create-fontset-from-fontset-spec):
46244         Clarify what the optional part is (bug#18686).
46246 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46248         Fill the doc string of font-lock-keywords
46250         * lisp/font-lock.el (font-lock-keywords): Fill the lines and
46251         reorganize some explanations (bug#21427).
46253 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46255         Doc fix for font-lock-remove-keywords
46257         * lisp/font-lock.el (font-lock-remove-keywords): Add a link to
46258         `font-lock-add-keywords' to describe KEYWORDS (bug#18634).
46260 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46262         Clarify whitespace-style doc string
46264         * lisp/whitespace.el (whitespace-style): Doc clarification
46265         (bug#18296).
46267 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46269         No need to test for jka-compr
46271         * lisp/vc/ediff-util.el (ediff-file-compressed-p): jka-compr
46272         is always available; no need to test (bug#18204).
46274 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46276         Doc fixed for next-error-buffer-p
46278         * lisp/simple.el (next-error-buffer-p): Clarify doc string
46279         (bug#18202).
46281 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46283         Tiny doc fix
46285         * src/fileio.c (Ffile_accessible_directory_p): Tiny doc fix
46286         (and fill) (bug#18201).
46288 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46290         Doc fix
46292         * src/keymap.c (Fdefine_prefix_command): Clarify doc string
46293         slightly (bug#18092).
46295 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46297         delsel doc touch ups
46299         * lisp/delsel.el (delete-selection-helper): Use non-nil
46300         instead of t and clarify function return values (bug#18089).
46302 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46304         Doc fixes for menu-bar.el
46306         * lisp/menu-bar.el (clipboard-kill-ring-save): Describe the
46307         REGION parameter (bug#18028).
46308         (clipboard-kill-region): Ditto.
46310 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46312         Doc fix
46314         * lisp/rect.el (delete-whitespace-rectangle): Doc fix (bug#18026).
46316 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46318         Minor doc clarification
46320         * lisp/subr.el (y-or-n-p): Document the return value from "n"
46321         (bug#18024).
46323 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46325         Fill font-lock-mode doc string
46327         * lisp/font-core.el (font-lock-mode): Fill the text to make it
46328         narrower (bug#18008).
46330 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46332         Wrap the auto-generated doc string
46334         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Wrap a
46335         string to make it less likely that we get overlong lines
46336         (bug#17999).
46338 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46340         Clarify hi-lock-find-patterns
46342         * lisp/hi-lock.el (hi-lock-find-patterns): Doc clarification
46343         (bug#17989).
46345 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46347         Warning fix in jit-lock-mode
46349         * lisp/jit-lock.el (jit-lock-mode): Don't issue a warning when
46350         turning the mode on in an indirect buffer, if this somehow has
46351         happened (bug#17738).
46353 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46355         Add a doc string to `winner-mode'
46357         * lisp/winner.el (winner-mode): Add a doc string based on the
46358         comments in the file (bug#17716).
46360 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46362         Doc fix for align-newline-and-indent
46364         * lisp/align.el (align-newline-and-indent): Mention that
46365         alignment is done by `align' (bug#17707).
46367 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46369         Cancel the eldoc timer when switching off eldoc mode
46371         * lisp/emacs-lisp/eldoc.el (eldoc-mode): Cancel the eldoc
46372         timer when switching off eldoc mode.  It will be restarted
46373         again if needed (bug#17582).
46375 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46377         Doc fix for `kbd'
46379         * lisp/subr.el (kbd): Describe more fully the format of the
46380         parameter (bug#17039).
46382 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46384         Add a sanity check to apropos-documentation-internal
46386         * lisp/apropos.el (apropos-documentation-internal): Add a
46387         sanity check to be less fragile in the presence of invalid
46388         data (bug#16725).
46390 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46392         Doc tweak
46394         * lisp/simple.el (use-empty-active-region): Doc tweak.
46395         There's only one region (bug#16513).
46397 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46399         Clarify `read-face-name' doc and tweak the code
46401         * lisp/faces.el (read-face-name): Clarify the documentation
46402         and allow a mix of faces and faces names in all cases
46403         (bug#16483).
46405 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46407         Remove ": ?" from the read-face-name prompt
46409         * lisp/faces.el (read-face-name): Remove ": ?" from the prompt
46410         to be more backwards compatible (bug#15909).
46412 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46414         Link from (emacs)Exiting to (lisp)Killing Emacs
46416         * doc/emacs/entering.texi (Exiting): Link to the lispref
46417         manual for further customizations (bug#15445).
46419 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46421         find-lisp doc touchups
46423         * lisp/find-lisp.el (find-lisp-format): Copy over the doc
46424         string (bug#15047).
46425         (find-lisp-find-files): Clarify doc.
46427 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46429         Don't have the manual claim that it lists all CL incompatibilities
46431         * doc/misc/cl.texi (Common Lisp Compatibility): The list of
46432         incompatibilities isn't exhaustive, so don't say that it is
46433         (bug#15171).
46435 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46437         Fix call of `kmacro-display'
46439         * lisp/kmacro.el (kmacro-view-ring-2nd): Fix call of
46440         `kmacro-display' (bug#15020).
46442 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46444         Change all occurrences of "Mouse-[0-9]" to "mouse-[0-9]"
46446         * doc/emacs/*.texi: Change all occurrences of "Mouse-[0-9]" to
46447         "mouse-[0-9]".  These are case sensitive, and the keys are lower case
46448         (bug#14554).
46450 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46452         Rename "Directory Search" menu to "Servers"
46454         * lisp/menu-bar.el (menu-bar-tools-menu): Rename "Directory
46455         Search" to "Directory Servers".  Suggested by Eli
46456         Zaretskii. (bug#14919).
46458         * lisp/net/eudc.el: Rename ditto throughout.
46460 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46462         Remove uses of the unused to-end parameter from simple.el
46464         * lisp/simple.el (line-move-partial): Remove usages of the
46465         unused to-end parameter, and make it optional (bug#14844).
46466         (line-move): Remove use of the unused to-end parameter.
46468 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46470         Doc fix: _ chars are automatically removed.
46472         * lisp/cus-edit.el (custom-buffer-create): _ chars are
46473         automatically removed when displaying help, so fix the last
46474         doc change.
46475         (custom-buffer-create-other-window): Ditto.
46477 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46479         Doc string change to enable-recursive-minibuffers
46481         * src/minibuf.c (syms_of_minibuf): Mention
46482         minibuffer-depth-indicator-mode in the doc string to
46483         enable-recursive-minibuffers (bug#14147).
46485 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46487         Fix definition of nobreak-space
46489         * lisp/faces.el (nobreak-space): The definition to
46490         nobreak-space was inadvertantly changed by the previous checkin.
46492 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46494         Clarify the `interactive' doc string slightly
46496         * src/callint.c (Finteractive): Clarify the doc string slightly
46497           (bug#14577).
46499 2016-04-28  Drew Adams  <drew.adams@oracle.com>
46501         Make icomplete respect `completion-ignored-extensions'
46503         * lisp/icomplete.el (icomplete-completions): Heed
46504         `completion-ignored-extensions' (bug#12939).
46506 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46508         Make ibuffer not break on newline-embedded buffer names
46510         * lisp/ibuffer.el (name): When buffer names contain newlines,
46511         quote those newlines before displaying (bug#12378).
46513 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46515         Add a new face for non-breaking hyphen characters
46517         * doc/emacs/display.texi (Standard Faces): Mention nobreak-hyphen.
46518         (Text Display): Ditto.
46520         * lisp/faces.el (nobreak-hyphen): New face (bug#12048).
46522         * src/xdisp.c (get_next_display_element): Use it instead of
46523         the escape-glyph face.
46525         * src/xdisp.c (syms_of_xdisp): New symbil Qnobreak_hyphen.
46527 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46529         Make a menu less ambiguous
46531         * doc/emacs/custom.texi (Key Bindings): The Modifier Keys node
46532         is about using modifier keys, not binding them (bug#10942).
46534 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46536         Make kill-emacs-query-functions into defcustom
46538         * lisp/files.el (save-buffers-kill-terminal): Mention
46539         `save-buffers-kill-emacs' (bug#10794).
46540         (kill-emacs-query-functions): Made into a defcustom.
46542 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46544         Have describe-variable output multi-line values better
46546         * lisp/help-fns.el (describe-variable): When printing
46547         multi-line expressions, display them prettier (bug#10723).
46549 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46551         Clean up custom-buffer-create code slightly
46553         * lisp/cus-edit.el (custom-buffer-create-other-window): Don't
46554         pass the unused description value on (for clarity) (bug#10540).
46555         (custom-buffer-create): Ditto
46557 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46559         Clarify some doc strings
46561         * lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
46562         Clarify doc string (bug#8693).
46563         (syntax-propertize): Clarify doc string.
46565 2016-04-28  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
46567         Fix number-at-point in lisp buffers
46569         * lisp/thingatpt.el (number-at-point): Don't say that things
46570         like ?a are numbers in lisp mode buffers (bug#8634).
46572 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46574         Don't consider colons to be paragraphs starting chars in strings
46576         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't
46577         consider colons to start paragraphs in (doc) strings
46578         (bug#7751).
46580 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
46582         Make `undo' of `C-x r t' put point where it should be
46584         * lisp/rect.el (string-rectangle): Make `undo' of a this
46585         command put point back where it was (bug#7522).
46587 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
46589         Add some concept index entries for custom types
46591         * doc/lispref/customize.texi (Composite Types): Add concept
46592         index entries for restricted-sexp, radio and choice (bug#7385).
46594 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
46596         Mention `lisp-indent-function' in the lispref manual
46598         * doc/lispref/macros.texi (Indenting Macros): Mention
46599         `lisp-indent-function' (bug#3393).
46601 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
46603         Clarify doc string of internal compilation function
46605         * lisp/progmodes/compile.el (compilation-get-file-structure):
46606         Clarify doc string (bug#3137).
46608 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
46610         Avoid having `C-x h' mark the prompt part of the minibuffer
46612         * lisp/simple.el (mark-whole-buffer): Don't mark the prompt
46613         part of the minibuffer (bug#2589).
46615 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
46617         Allow a prefix argument to find-library to pop to a different window
46619         * lisp/emacs-lisp/find-func.el (find-library): Allow a prefix
46620         argument to pop to a different window (bug#2270).
46622 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
46624         Move the diff command to "Operate" in ibuffer
46626         * lisp/ibuffer.el (ibuffer-mode-operate-map): Move the diff
46627         command to the "Operate" menu, and remove the customization
46628         entry to make the "View" menu more logical (bug#1150).
46630 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
46632         Make the minor modes in help buffers into buttons
46634         * lisp/help.el (describe-mode): Make the minor modes into
46635         buttons to enable easier documentation traversal (bug#1149).
46637 2016-04-27  Jorgen Schaefer  <contact@jorgenschaefer.de>
46639         Add a number of Python 3 exceptions
46641         * lisp/progmodes/python.el (python-font-lock-keywords): Clean up
46642         the exception list, adding a number of new Python 3 exceptions and
46643         moving some exceptions to the Python 2 and 3 list as Python 2.7
46644         includes them.
46646 2016-04-26  Anders Lindgren  <andlind@gmail.com>
46648         Fix bug#22891: wrong terminal width when a fringe width is zero.
46650         When either fringe width is zero, Emacs reserved one column for a
46651         continuation glyph. Terminal windows does not take this into
46652         account when the frame is resized.
46654         * lisp/window.el (window-adjust-process-window-size): Use
46655         `window-max-chars-per-line' instead of `window-body-width'.
46656         * lisp/term.el (term-window-width): Remove function. (It does the
46657         same as `window-max-chars-per-line' but without recent bug fixes.)
46658         (term-mode): Use `window-max-chars-per-line' instead of
46659         `term-window-width'.
46661 2016-04-26  Simen Heggestøyl  <simenheg@gmail.com>
46663         Add completion of `calc()' in CSS mode
46665         * lisp/textmodes/css-mode.el (css-value-class-alist): Add `calc()' as
46666         a completion candidate for several value classes.
46667         (css--value-class-lookup): Return only unique results.
46669         * test/lisp/textmodes/css-mode-tests.el
46670         (css-test-property-values-no-duplicates)
46671         (css-test-value-class-lookup): Update to reflect the above changes.
46673 2016-04-26  Paul Eggert  <eggert@cs.ucla.edu>
46675         Fix socketd fd startup bug that I introduced
46677         Problem reported by Matthew Leach in:
46678         https://lists.gnu.org/r/emacs-devel/2016-04/msg00778.html
46679         * src/emacs.c (main): Indicate more clearly the coupling between
46680         the --daemon option and init_process_emacs.
46681         * src/lisp.h: Adjust to API changes.
46682         * src/process.c (set_external_socket_descriptor):
46683         Remove, replacing by ...
46684         (init_process_emacs): ... passing the socket FD here instead.
46685         All uses changed.
46687 2016-04-25  Tao Fang  <fangtao0901@gmail.com>
46689         Fix: (void-variable url-http-response-status)
46691         * lisp/url/url-http.el
46692         (url-https-proxy-after-change-function): Display the error
46693         message before doing the callback to avoid a void variable
46694         situation (bug#23290).
46696 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46698         smtpmail would say it's done before it is
46700         * lisp/mail/smtpmail.el (smtpmail-via-smtp): Move the sending
46701         of the data end marker from here... (bug#23020).
46702         (smtpmail-send-data): ... to here, so that we don't get a
46703         "Sending done" before we've sent the final "." (which can make
46704         the SMPT server reject the email.
46706 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46708         `url-retrieve-synchronously' now takes an optional timeout parameter
46710         * doc/misc/url.texi (Retrieving URLs): Document optional parameters.
46712         * lisp/url/url.el (url-retrieve-synchronously): Allow passing
46713         in a timeout parameter (bug#22940).
46715 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46717         Include "Retype" as a comint password prompt
46719         * lisp/comint.el (comint-password-prompt-regexp): Include
46720         "Retype" to catch "Retype password for [account]:" from the
46721         "pass" utility (bug#22942).
46723 2016-04-25  Alan Mackenzie  <acm@muc.de>
46725         Fix spurious fontification of "for (; a * b;)" in CC Mode.
46727         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Check for being
46728         inside the parens of a for statement and after a semicolon near the beginning
46729         of the lambda form.
46731 2016-04-25  Paul Eggert  <eggert@cs.ucla.edu>
46733         New function ‘char-from-name’
46735         This also fixes the mishandling of "\N{CJK COMPATIBILITY
46736         IDEOGRAPH-F900}", "\N{VARIATION SELECTOR-1}", etc.
46737         Problem reported by Eli Zaretskii in:
46738         https://lists.gnu.org/r/emacs-devel/2016-04/msg00614.html
46739         * doc/lispref/nonascii.texi (Character Codes), etc/NEWS: Document this.
46740         * lisp/international/mule-cmds.el (char-from-name): New function.
46741         (read-char-by-name): Use it.  Document that "BED" is treated as
46742         a name, not as a hexadecimal number.  Reject out-of-range integers,
46743         floating-point numbers, and strings with trailing junk.
46744         * src/lread.c (character_name_to_code): Call char-from-name
46745         instead of inspecting ucs-names directly, so that we handle
46746         computed names like "VARIATION SELECTOR-1".  Do not use an auto
46747         string, since char-from-name might GC.
46748         * test/src/lread-tests.el: Add tests for new behavior, and
46749         fix some old tests that were wrong.
46751 2016-04-25  Alan Mackenzie  <acm@muc.de>
46753         c-forward-<>-arglist no longer directly applies face properties in Java Mode.
46755         This allows the calling of c-restore-<>-properties from c-common-init without
46756         the test suite giving spurious errors.
46758         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove the form that
46759         sets face properties.
46760         (c-forward-<>-arglist-recur): Reformulate the bit that handles types inside
46761         template brackets using c-inside-<>-type-key.  Don't bind
46762         c-record-type-identifiers or c-record-found-types around the recursive call,
46763         allowing positions of found types to flow back to the caller.
46765         * lisp/progmodes/cc-langs.el (c-inside-<>-type-kwds, c-inside-<>-type-key):
46766         new lang consts/var.
46768         * lisp/progmodes/cc-mode.el (c-common-init): Don't remove
46769         c-restore-<>-properties from the list of functions called at mode
46770         initialization.
46772 2016-04-25  Jun Hao  <jun_hao@aol.com>
46774         Pass in port only if provided by caller in the OS X keychain
46776         * lisp/auth-source.el (auth-source-macos-keychain-search): Pass in
46777         port only if provided (bug#23374).
46779 2016-04-25  Alan Mackenzie  <acm@muc.de>
46781         Add fontification for a C declaration which looks like a function call.
46783         For example, "t1 *fn (t2 *b);".
46785         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add new variable
46786         at-decl-start, setting it to whether the putative decl starts immediately
46787         after ; or { or }.  Accept such a construct as a decl when at-decl-start is
46788         non-nil.
46790         * lisp/progmodes/cc-langs.el (c-pre-start-tokens): New language variable.
46792 2016-04-25  Eli Zaretskii  <eliz@gnu.org>
46794         Don't mirror slashes in convert-standard-filename on MS-Windows
46796         * lisp/w32-fns.el (w32-convert-standard-filename): Don't mirror
46797         slashes into backslashes.  This avoids producing ugly file names,
46798         and is deemed no longer necessary, and should certainly be
46799         unrelated to which shell is in use.
46801 2016-04-24  Dmitry Gutov  <dgutov@yandex.ru>
46803         Revert the disputed VC change and update the tests
46805         * lisp/vc/vc-hooks.el (vc-working-revision):
46806         Remove the previous change.
46807         (vc-state): Same.  And update the old, incorrect comment about
46808         unregistered files
46809         (https://lists.gnu.org/r/emacs-devel/2016-04/msg00526.html).
46811         * test/lisp/vc/vc-tests.el (vc-test--state): Remove the check
46812         calling `vc-state' on default-directory (VC state is undefined
46813         for directories).  Check that `vc-state' returns nil where it
46814         returned `unregistered' before.  Remove all checks comparing
46815         invocations with the backend passed in explictly and without.
46816         (vc-test--working-revision): Remove all checks comparing
46817         invocations with the backend passed in explictly and without.
46818         Update comments, and add a new one.
46820 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
46822         * etc/NEWS: Grammar and punctuation improvements.
46824 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
46826         Merge from origin/emacs-25
46828         9daf1cf * etc/NEWS: Improve wording of vc-git-log-output-coding-syste...
46829         0cd2e92 Don't kill ~/ if it's the top level directory
46830         4f40f5f describe-char: fix insert char documentation
46831         87ee542 (vc-git-mode-line-string): Don't use `replace-regexp-in-string'
46833 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
46835         Merge from origin/emacs-25
46837         960f90d * etc/AUTHORS: Update the AUTHORS file
46838         b21e9d4 * admin/update_autogen: Use #!/usr/bin/env bash
46840 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
46842         Merge from origin/emacs-25
46844         78f9af7 ; ChangeLog fixes
46845         162e549 * admin/authors.el (authors-ignored-files): Additions.
46846         2b31a0c In x_set_window_size restore do_pending_window_change calls
46847         401857e Fix Alt-modified keys on some European MS-Windows keyboards
46848         a77cf24 Document 'help-go-forward'
46849         1ba947f Revert "Allow to customize names of executables used by grep.el"
46850         570e0fa Revert "Don't use 'find-program'"
46851         645f4ef Revert "Use 'grep-find-program' in check-declare.el"
46852         aa03257 Clarify documentation of 'dired-mark-files-containing-regexp'
46853         ce0d8c7 Make tmm-menubar work in correct order again
46854         b8d5a8f Remove the Meta-CVS VC backend
46856 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
46858         Don't let `css--property-values' return duplicates
46860         * lisp/textmodes/css-mode.el (css--property-values): Don't return
46861         duplicate values.
46863         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
46864         Take the above into account.
46865         (css-test-property-values-no-duplicates): Test that duplicates aren't
46866         returned by `css--property-values'.
46868 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46870         Call `make-composed-keymap' correctly
46872         * lisp/image-mode.el (image-mode-map): Call
46873         `make-composed-keymap' correctly.
46875 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46877         Use `make-composed-keymap' instead of copying the keymap
46879         * lisp/image-mode.el (image-mode-map): Use
46880         `make-composed-keymap' instead of copying the keymap.
46882 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46884         Make `q' etc work in image mode again
46886         * lisp/image-mode.el (image-mode-map): Restore
46887         special-mode-map as the parent keymap of image-mode-map (bug#23167).
46889 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46891         Fix typo in last url.texi checkin
46893 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46895         Make STARTTLS error messages better
46897         * lisp/net/network-stream.el (network-stream-open-starttls):
46898         Output a better error message when TLS negotiation fails while
46899         doing STARTTLS (bug#23027).
46901 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46903         Encode the shr tests files with trailing white space
46905 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
46907         Cache results of `css--property-values'
46909         * lisp/textmodes/css-mode.el (css--property-values): Cache computed
46910         values.
46912         * test/lisp/textmodes/css-mode-tests.el (css-test-property-value-cache):
46913         New regression test for the above.
46915 2016-04-24  Michael Albinus  <michael.albinus@gmx.de>
46917         Some improvements in vc
46919         * lisp/vc/vc-hooks.el (vc-state, vc-working-revision):
46920         Check, whether FILE is registered.
46922         * lisp/vc/vc-rcs.el (vc-rcs-checkout-model): Return `locking'
46923         for nonexistent files.
46925         * test/lisp/vc/vc-tests.el (w32-application-type): Declare.
46926         (vc-test--revision-granularity-function)
46927         (vc-test--unregister-function): Use `vc-call-backend'.
46928         (vc-test--run-maybe-unsupported-function): New defmacro.
46929         (vc-test--register, vc-test--state, vc-test--working-revision)
46930         (vc-test--checkout-model): Use it.  Fix also expected results.
46931         (vc-test-src02-state, vc-test-rcs04-checkout-model): They pass now.
46933 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46935         Document the nil/default values of url-user-agent
46937         * doc/misc/url.texi (Customization): Document the nil/default
46938         values of url-user-agent.
46940 2016-04-24  Clément Pit--Claudel  <clement.pit@gmail.com>
46942         Compute User-Agent dynamically in url-http
46944         * lisp/url/url-http.el (url-http-user-agent-string): Compute
46945         User-Agent string dynamically.
46946         (url-http--user-agent-default-string): New function.
46948         * lisp/url/url-vars.el (url-privacy-level): Allow `emacs' in list
46949         of information not to send.
46950         (url-user-agent): Add nil and `default' options; do not
46951         pre-compute value.
46953 2016-04-24  Jun Hao  <jun_hao@aol.com>
46955         Handle auth-source items with special characters on OS X
46957         * lisp/auth-source.el
46958         (auth-source-macos-keychain-search-items): Handle keychain
46959         output correctly when has special chararcters (bug#22824).
46961 2016-04-24  Magnus Henoch  <magnus.henoch@gmail.com>
46963         Implement process-attributes for Darwin
46965         * src/sysdep.c (timeval_to_timespec, make_lisp_timeval)
46966         (system_process_attributes): Implement process-attributes
46967         for Darwin (bug#16579).
46969 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46971         Use Unicode literals instead of hex values
46973         * lisp/net/shr.el (shr-tag-bdo): Use Unicode literals instead
46974         of hex values for greater readability.
46975         (shr-tag-bdi): Ditto.
46977 2016-04-24  Steve Purcell  <steve@sanityinc.com>
46979         Allow _ characters in SQL prompts
46981         * lisp/progmodes/sql.el (sql-product-alist): Allow _
46982         characters in SQL prompts (bug#22596).
46984         Fixes issue 22596, whereby "_" is now not considered a word constituent
46985         character in sql-interactive-mode, so prompts like "foo_dev# " are not
46986         correctly detected. Rather than piggy-back on the symbol table, we
46987         explicitly match against alphanumeric chars or "_".
46989 2016-04-23  Glenn Morris  <rgm@gnu.org>
46991         When autoload-timestamps is nil, use a dummy timestamp rather than "t".
46993         * lisp/emacs-lisp/autoload.el (autoload--non-timestamp): New constant.
46994         (autoload-generate-file-autoloads, autoload-find-destination)
46995         (update-directory-autoloads): Use autoload--non-timestamp.
46997 2016-04-23  Glenn Morris  <rgm@gnu.org>
46999         * test/lisp/xt-mouse-tests.el: Move from test/automated/.
47001 2016-04-22  Jö Fahlke  <jorrit@jorrit.de>  (tiny change)
47003         Regexps for matching CMake output
47005         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add
47006         regexps for matching CMake output.
47007         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add
47008         CMake test cases.
47009         * etc/compilation.txt (CMake): Add CMake examples.
47011 2016-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
47013         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
47015         Fix docstring quotes.
47017 2016-04-21  Paul Eggert  <eggert@cs.ucla.edu>
47019         Improve character name escapes
47021         * doc/lispref/nonascii.texi (Character Properties):
47022         Avoid duplication of Unicode names.  Reformat examples to fit in
47023         narrow pages.
47024         * doc/lispref/objects.texi (General Escape Syntax):
47025         Simplify and better-organize explanation of \N{...} escapes.
47026         * src/character.h (CHAR_SURROGATE_PAIR_P): Remove; unused.
47027         (char_surrogate_p): New inline function.
47028         * src/lread.c: Do not include string.h; no longer needed.
47029         (invalid_character_name, check_scalar_value): Remove; the ideas
47030         behind these functions are now bundled into character_name_to_code.
47031         (character_name_to_code): Remove undocumented support for "CJK
47032         IDEOGRAPH-XXXX" names, as "U+XXXX" suffices.  Reject monstrosities
47033         like "\N{U+-0}" and null bytes in \N escapes.  Reject floating
47034         point in \N escapes instead of returning garbage.  Use
47035         AUTO_STRING_WITH_LEN to lessen pressure on the garbage collector.
47036         * test/src/lread-tests.el (lread-char-number, lread-char-name)
47037         (lread-string-char-number, lread-string-char-name):
47038         Test runtime behavior, not compile-time, as the test framework
47039         is not set up to test compile-time.
47040         (lread-char-surrogate-1, lread-char-surrogate-2)
47041         (lread-char-surrogate-3, lread-char-surrogate-4)
47042         (lread-string-char-number-2, lread-string-char-number-3):
47043         New tests.
47044         (lread-string-char-number-1): Rename from lread-string-char-number.
47046 2016-04-21  Philipp Stephani  <phst@google.com>
47048         Use 'ucs-names' for character name escapes
47050         * src/lread.c (invalid_character_name, check_scalar_value)
47051         (parse_code_after_prefix, character_name_to_code): New helper
47052         functions that use 'ucs-names' and parsing for CJK ideographs.
47053         (read_escape): Use helper functions.
47054         (syms_of_lread): New symbol 'ucs-names'.
47055         * test/src/lread-tests.el: New tests; fix a couple of bugs in
47056         existing tests.
47058 2016-04-21  Philipp Stephani  <phst@google.com>
47060         Minor cleanups for character name escapes
47062         * src/lread.c (init_character_names): Add missing 'void'.
47063         Remove top-level 'const'.
47064         (read_escape): Simplify loop a bit.  Remove top-level 'const'.
47066 2016-04-21  Philipp Stephani  <phst@google.com>
47068         Add documentation for character name escapes
47070 2016-04-21  Philipp Stephani  <phst@google.com>
47072         Implement named character escapes, similar to Perl
47074         * src/lread.c (init_character_names): New function.
47075         (read_escape): Read Perl-style named character escape sequences.
47076         (syms_of_lread): Initialize new variable 'character_names'.
47077         * test/src/lread-tests.el (lread-char-empty-name): Add test file
47078         for src/lread.c.
47080 2016-04-21  Fabrice Popineau  <fabrice.popineau@gmail.com>
47082         Avoid run-time dependency on libwinpthread DLL on MS-Windows
47084         * nt/mingw-cfg.site (ac_cv_search_clock_gettime)
47085         (ac_cv_func_clock_gettime, ac_cv_func_clock_settime): Force to not
47086         present, so that MinGW64 builds don't depend on libwinpthread.
47087         (Bug#22959)
47089 2016-04-21  Matthew Leach  <matthew@mattleach.net>
47091         Add LIBSYSTEMD to the list of supported features
47093         * configure.ac: Add LIBSYSTEMD to EMACS_CONFIG_FEATURES and print a
47094         message at the end of configure stating whether Emacs will be build
47095         with libsystemd support.
47097 2016-04-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
47099         Support absolute column movement in 'ansi-term'
47101         * lisp/term.el (term-handle-ansi-escape): Handle the "\E[G" sequence
47102         for absolute column movement.  (Bug#23303)
47104 2016-04-21  Jorgen Schaefer  <contact@jorgenschaefer.de>
47106         Add Python 3.5 keyword "await"
47108         * lisp/progmodes/python.el (python-font-lock-keywords): Add await as
47109         keyword.
47111 2016-04-20  Simen Heggestøyl  <simenheg@gmail.com>
47113         Add "keyframes" to list of CSS at-rules
47115         * lisp/textmodes/css-mode.el (css-at-ids): Add "keyframes" at-rule.
47117 2016-04-20  Phillip Lord  <phillip.lord@russet.org.uk>
47119         Prevent bootstrap autoload backup files
47121         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Suppress
47122         backups in newly created file.
47124         (autoload-ensure-default-file): Function split into two.
47125         (autoload-ensure-file-writeable): New function from split.
47127         (Bug#23203)
47129 2016-04-20  Paul Eggert  <eggert@penguin.cs.ucla.edu>
47131         Fix org-timestamp-change typo
47133         Problem reported by Peter Münster (Bug#23299).
47134         * lisp/org/org.el (org-timestamp-change): Fix typo that relied
47135         on undocumented behavior in ‘encode-time’.  In practice the
47136         old code used local time, so use that.
47138 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
47140         Avoid AC_PREPROC_IFELSE glitch in configure.ac
47142         Problem reported by Angelo Graziosi in:
47143         https://lists.gnu.org/r/emacs-devel/2016-04/msg00545.html
47144         * configure.ac (gl_gcc_warnings): Work around an Autoconf glitch:
47145         AC_PREPROC_IFELSE doesn’t generate a simple shell command.
47147 2016-04-19  Michael Albinus  <michael.albinus@gmx.de>
47149         autorevert: Resume with polling if file is deleted
47151         * lisp/autorevert.el: Use consistent wording in comments and
47152         docstrings.
47153         (auto-revert-mode): Add local function to `kill-buffer-hook'.
47154         (auto-revert-notify-handler): Improve handling of `stopped' event.
47156         * test/lisp/autorevert-tests.el
47157         (auto-revert-test02-auto-revert-deleted-file): New test.
47158         (auto-revert-test03-auto-revert-tail-mode)
47159         (auto-revert-test04-auto-revert-mode-dired): Rename them.
47161 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
47163         Merge from origin/emacs-25
47165         5a0cbe5 Fix Bug#23276
47166         2007e32 Sync with upstream vhdl mode v3.38.1.
47167         b6d2552 Tweak configure.ac syntax in recent module patch
47169 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
47171         Merge from origin/emacs-25
47173         ac00a92 Make sh-electric-here-document-mode accessible in sh-mode-hoo...
47174         3287f48 ; Add entry to MAINTAINERS
47175         b85981f * configure.ac (HAVE_MODULES): Exclude gnu-kfreebsd from prev...
47176         0f33284 Make use of rectangle-preview custom variable.
47177         aa0d83a Make use of rectangle-preview face.
47178         33bef6e Use 'grep-find-program' in check-declare.el
47179         a8560e5 Improve "C-h S" for cl-lib symbols
47180         52e798b Fix minor issues with removing left or right fringes
47181         d6ffd64 Speed up redisplay in ansi-term mode
47182         4ab671c Simplify 8-bit character handling by terminal for 'raw-text'
47183         f3653ec * configure.ac (HAVE_MODULES): Treat gnu like gnu-linux.  (Bu...
47184         ab849b7 Fix w32 memory-management problem when extending buffer text
47186 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
47188         Merge from origin/emacs-25
47190         32364bb substitute-command-keys keeps quotes’ text props
47191         567ab52 * src/xwidget.c (x_draw_xwidget_glyph_string): More clipping ...
47192         24b87a1 Add semantic-symref-filepattern-alist entry for lisp-interact...
47193         cc0b713 Perform xref searches without visiting unopened files
47194         5045575 Revert "Prevent bootstrap autoload backup files"
47196 2016-04-18  Philipp Stephani  <p.stephani2@gmail.com>
47198         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
47200         so that it matches the actual implementation.
47201         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
47203 2016-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
47205         * lisp/textmodes/ispell.el: Compile with lexical-binding
47207         (declare-function): Don't define any more.
47208         (ispell-check-minver, ispell-looking-back): Tweak definition so that
47209         the compiler can obviously know that it's always defined.
47210         (ispell-debug-buffer): Declare var.
47211         (ispell-hunspell-fill-dictionary-entry)
47212         (ispell-parse-hunspell-affix-file, ispell-hunspell-add-multi-dic)
47213         (ispell-find-hunspell-dictionaries, ispell-set-spellchecker-params)
47214         (ispell-command-loop): Avoid add-to-list on local variables.
47216 2016-04-17  Paul Eggert  <eggert@cs.ucla.edu>
47218         Minor fixups for external socket launching
47220         * configure.ac (HAVE_LIBSYSTEMD): Change earliest version to 222.
47221         * doc/emacs/misc.texi (Emacs Server):
47222         * etc/NEWS: Spelling and doc fixes.
47223         * src/emacs.c (main) [HAVE_LIBSYSTEMD]:
47224         Check for sd_is_socket returning positive, not zero.
47225         * src/process.c (external_sock_fd): Instead of initializing here ...
47226         (init_process_emacs): ... initialize it here, so that it does the
47227         right thing after dump/restore.
47228         (connect_network_socket): Simplify socket_to_use test.
47230 2016-04-17  Simen Heggestøyl  <simenheg@gmail.com>
47232         Add HTML5 tags to HTML mode
47234         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 tags.
47235         (html-tag-help): Add short descriptions of those tags.
47237 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47239         Finish idna->puny changes in last Message patch
47241         * lisp/gnus/message.el (message-idna-to-ascii-rhs-1): Use puny
47242         instead of idna functions.
47244 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47246         Use puny.el instead of idna.el functions in Gnus
47248         * lisp/gnus/gnus-art.el (gnus-use-idna): Default to t (since
47249         Emacs comes with IDNA support built in).
47250         (article-decode-idna-rhs): Use `puny-decode-domain' instead of
47251         `idna-to-unicode'.
47253         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message): Ditto.
47255 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47257         Mention `message-use-idna' in NEWS
47259 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47261         Default `message-use-idna' to t
47263         * lisp/gnus/message.el (message-use-idna): Default to t (since
47264         Emacs comes with puny.el now).
47266 2016-04-16  Matthew Leach  <matthew@mattleach.net>
47268         Extend battery.el to exotic power supply types
47270         * lisp/battery.el (battery-linux-sysfs-regexp): Rename from
47271         'battery--linux-sysfs-regexp' and make a defcustom. All users
47272         changed.  (Bug#23216)
47274 2016-04-16  Matthew Leach  <matthew@mattleach.net>
47276         Add external socket launching support
47278         * src/process.c (connect_network_socket): Allow a pre-allocated socket
47279         descriptor to be used if passed to Emacs, avoiding the call to
47280         'socket' and 'bind'.
47281         (Fmake_network_process): Allow users to pass ':use-external-socket' in
47282         the parameter plist to use any sockets that have been passed to Emacs.
47283         (wait_reading_process_output): Call 'socket' and 'bind' every time.
47284         (syms_of_process): New symbol ':use-external-socket'.
47285         (set_external_socket_descriptor): New function.
47286         (external_sock_fd): New variable.
47287         * src/lisp.h: (set_external_socket_descriptor): New declaration.
47288         * src/emacs.c (main): Call 'sd_listen_fds' to read the number of sockets
47289         passed and call 'set_external_socket_descriptor' to set the external
47290         socket.
47291         * src/Makefile.in: Add libsystemd library and C flags to the Emacs
47292         compilation options.
47294         * configure.ac: Add new default-on option "systemd" and check for
47295         libsystemd at configure time.
47297         * lisp/server.el (server-start): Set ':use-external-socket' to 't' when
47298         calling 'make-network-process'.
47300         * etc/NEWS: Document new socket-passing functionality and the configure
47301         option to disable systemd interaction.
47303         * doc/emacs/misc.texi (Emacs Server): Document systemd socket passing
47304         functionality and provide systemd unit examples.
47305         * doc/lispref/processes.texi (Network Processes): Document new
47306         'make-network-process' option ':use-external-socket'.
47308 2016-04-16  Matthew Leach  <matthew@mattleach.net>
47310         Don't spell-check argument of 'cref' TeX macro
47312         * lisp/textmodes/ispell.el (ispell-tex-skip-alists): Add the cref
47313         macro to skip spell-checking the cref macro argument.
47315 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
47317         Simplify use of O_BINARY
47319         * src/callproc.c (call_process):
47320         * src/fileio.c (write_region):
47321         * src/filelock.c (read_lock_data):
47322         * src/image.c (x_find_image_fd):
47323         * src/lread.c (openp):
47324         * src/sysdep.c (init_random, emacs_fopen):
47325         * src/unexcw.c (unexec):
47326         Omit unnecessary use of O_BINARY, since emacs_open now arranges
47327         that for us.
47329 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
47331         * src/indent.c (Fvertical_motion): Pacify GCC
47333         5.3.1 20160406 (Red Hat 5.3.1-6) on x86-64.
47335 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
47337         Port ‘./autogen.sh git’ to non-clones
47339         Problem reported by Angelo Graziosi in:
47340         https://lists.gnu.org/r/emacs-devel/2016-04/msg00341.html
47341         * autogen.sh (do_git): Default to false when the arg is ‘all’ but
47342         there is no ‘.git’.
47343         (git_common_dir, hooks): New vars.
47344         (git_config, tailored_hooks, sample_hooks): Use them.
47346 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
47348         Do not require that .git be a directory
47350         Problem reportyed by Phillip Lord.
47351         * admin/update_autogen, autogen.sh, build-aux/gitlog-to-emacslog:
47352         * configure.ac, make-dist:
47353         Do not require that .git be a directory, as 'git worktree' makes
47354         it a file and not a directory.
47356 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
47358         Avoid now-obsolete function gmm-format-time-string
47360         * lisp/gnus/message.el (message-insert-formatted-citation-line):
47361         Use format-time-string instead of obsolete function
47362         gmm-format-time-string.
47364 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
47366         Support OFFSET and (OFFSET ABBR) time zone rules
47368         This simplifies Gnus and VC time zone support, by letting them
47369         feed the output of ‘current-time-zone’ and ‘decode time’ to
47370         primitives that accept time zone arguments.
47371         * doc/lispref/os.texi (Time Zone Rules, Time Conversion):
47372         * etc/NEWS:
47373         * lisp/gnus/message.el (message-insert-formatted-citation-line):
47374         * lisp/org/org.el (org-timestamp-format):
47375         * src/editfns.c (Fformat_time_string, Fdecode_time):
47376         (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
47377         Document new behavior.
47378         * lisp/gnus/gmm-utils.el (gmm-format-time-string):
47379         * lisp/vc/add-log.el (add-log-iso8601-time-zone):
47380         Mark as obsolete, as it is now just an alias or narrow wrapper
47381         around format-time-string.
47382         * src/editfns.c (tzlookup): Also support integer OFFSET and
47383         list (OFFSET ABBR) as time zone rules.
47384         (Fencode_time): No longer need a special case for a cons ZONE.
47385         (Fcurrent_time_zone): If the time zone string is missing, compute
47386         it the same way the other new code does.
47388 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
47390         Merge from origin/emacs-25
47392         ca50981 Improve time zone documentation
47393         c23c965 Prevent bootstrap autoload backup files
47394         9344612 Disable multicolor fonts on OS X since they are not supported...
47395         c41ce1c Capitalize “Universal Time” in documentation
47396         10597c9 Don't use 'find-program'
47398 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
47400         Merge from origin/emacs-25
47402         b134c20 Sync with gnulib
47403         bb30fa9 Fix last change on 2016-01-02
47404         488a72f ; Spelling fixes
47405         9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3
47406         0e7bcec Avoid crashes due to unreasonably large or small text scaling
47407         85f257c Improve documentation of 'with-eval-after-load'
47408         668c7bc Improve handling of non-ASCII characters in Git log messages
47409         b570769 Remove undefined behavior in OS X dumper.
47410         97211f3 Fix clipping of xwidgets
47411         e87fbc0 Improve Lisp-level documentation of tooltips
47412         9f1786e Faces names should not end in "-face".
47413         3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings.
47414         a1f221b Comint and compile no longer set EMACS
47415         5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2...
47416         a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
47417         c93ae7a Allow to customize names of executables used by grep.el
47418         f6497c6 Set locale encoding to UTF-8 when run from OS X GUI.
47419         7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt
47420         a3f1ac2 Avoid infinite loop in 'studlify-word'
47421         f36df4b Don’t recommend obsolete EMACS env var
47422         fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...
47424 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
47426         Merge from origin/emacs-25
47428         96d9e78 Fix "Beginning of buffer" error in forward-page
47429         20686f7 Add a `transient' project type
47431 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
47433         Merge from origin/emacs-25
47435         80128a7 Fix stability confusion in sort-tests
47436         1e4aa42 Avoid describe-key error with lambdas
47437         a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag...
47438         f501116 Sync with gnulib
47439         c4963f9 Fix doc for Universal Time
47441 2016-04-10  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
47443         Fix alignement rule for CSS
47445         * lisp/align.el (align-rules-list): Support CSS properties that have
47446         multiple words.
47448 2016-04-10  Tassilo Horn  <tsdh@gnu.org>
47450         New custom option for overriding mailcap choices
47452         * lisp/net/mailcap.el (mailcap--get-user-mime-data): New function.
47453         (mailcap--set-user-mime-data): New function.
47454         (mailcap-user-mime-data): New customization option.
47455         (mailcap-select-preferred-viewer): New function.
47456         (mailcap-mime-info): Use it.
47458         * doc/misc/emacs-mime.texi (mailcap): Document `mailcap-user-mime-data'.
47460 2016-04-10  Michael Albinus  <michael.albinus@gmx.de>
47462         Fix Bug#23207
47464         * src/keyboard.c (read_char): Resume idle timers in case of
47465         dbus-event, file-notify-event and config-changed-event.
47466         Reported by Johan Claesson <johanclaesson@bredband.net>.  (Bug#23207)
47468 2016-04-09  Michael Albinus  <michael.albinus@gmx.de>
47470         Add vc-backend and vc-responsible-backend tests
47472         * lisp/vc/vc-hooks.el (vc-file-setprop, vc-file-getprop)
47473         (vc-file-clearprops): Use properties on absolute files.
47475         * test/lisp/vc/vc-tests.el (vc-test--unregister-function):
47476         Clear file properties.
47477         (vc-test--register): Add tests for `vc-backend' and
47478         `vc-responsible-backend'.  Catch other errors but `vc-not-supported'.
47479         (vc-test--state, vc-test--checkout-model): Catch other errors
47480         but `vc-not-supported'.
47481         (vc-test--working-revision): Fix test for RCS and SCCS.  Catch
47482         other errors but `vc-not-supported'.
47483         (vc-test-src02-state): Mark as an expected failure.
47485 2016-04-08  Paul Eggert  <eggert@cs.ucla.edu>
47487         Minor improvements for hash function primitives
47489         * src/fns.c (hashfn_eql): Define in terms of hashfn_equal and
47490         hashfn_eq rather than reaching inside them.
47491         (hashtest_eq, hashtest_eql, hashtest_equal):
47492         Now constants with initializers.
47493         (syms_of_fns): Omit no-longer-needed initialization.
47494         * src/lisp.h (LISPSYM_INITIALLY): New macro.
47495         (DEFINE_LISP_SYMBOL): Use it.
47497 2016-04-08  Paul Pogonyshev  <pogonyshev@gmail.com>
47499         New primitives sxhash-eq, sxhash-eql
47501         * doc/lispref/hash.texi (Defining Hash), etc/NEWS: Document this.
47502         * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
47503         Add sxhash-equal, sxhash-eq, sxhash-eql.
47504         * lisp/subr.el (sxhash): Now an alias for sxhash-equal.
47505         * src/fns.c (Fsxhash_eq, Fsxhash_eql): New functions.n
47507 2016-04-08  Eli Zaretskii  <eliz@gnu.org>
47509         Teach Dired support parallel execution of commands on MS-Windows
47511         * lisp/dired-aux.el (dired-shell-stuff-it): Support
47512         parallel-in-background execution of commands on MS-Windows.
47513         Test 'w32-shell-dos-semantics' instead of the underlying OS
47514         when determining whether addition of 'wait' is needed.
47516 2016-04-08  Tino Calancha  <f92capac@gmail.com>
47518         Make 'dired-do-shell-command' wait for all background jobs
47520         * lisp/dired-aux.el (dired-shell-stuff-it): Force POSIX shells to
47521         wait until all background jobs exit.  (Bug#23206).
47523 2016-04-07  Vivek Dasmohapatra  <vivek@etla.org>
47525         Prefer 'font-lock-face to 'face in erc where appropriate
47527         * lisp/erc/erc-button.el (erc-button-add-face): Prefer
47528         'font-lock-face to 'face where appropriate.
47529         * lisp/erc/erc-capab.el (erc-capab-identify-add-prefix)
47530         * lisp/erc/erc-dcc.el (erc-dcc-chat-parse-output)
47531         * lisp/erc/erc-goodies.el (erc-controls-propertize)
47532         * lisp/erc/erc-stamp.el (erc-format-timestamp)
47533         * lisp/erc/erc-track.el (erc-faces-in)
47534         * lisp/erc/erc.el (erc-load-irc-script-lines, erc-display-msg)
47535         (erc-display-command, erc-make-notice, erc-highlight-notice)
47536         (erc-format-my-nick, erc-format-@nick, erc-format-privmessage)
47537         (erc-display-prompt, erc-display-message-highlight)
47538         (erc-log-irc-protocol): Ditto.
47540         * test/lisp/erc/erc-track-tests.el: Converted asserts into ert
47541         tests.
47543 2016-04-06  Lele Gaifax  <lele@metapensiero.it>
47545         Add new keywords of Python 3.5
47547         Python 3.5, released in mid September 2015, introduced a few new
47548         keywords to better support asynchronous code, "async" and "await"
47549         in particular. See https://www.python.org/dev/peps/pep-0492/ for
47550         details. (Bug#21783)
47551         * lisp/progmodes/python.el (python-rx-constituents): Add async
47552         def/for/with as block-start and async def as defun.
47553         * lisp/progmodes/python.el (python-font-lock-keywords): Add async
47554         def/for/with as keyword.
47555         * test/automated/python-tests.el (python-indent-after-async-block-1,
47556         python-indent-after-async-block-2, python-indent-after-async-block-3,
47557         python-nav-beginning-of-defun-3): New tests to test indentation and
47558         navigation for the async keyword.
47560 2016-04-05  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
47562         Support completion of at-rules in SCSS mode
47564         lisp/textmodes/css-mode.el (scss-at-ids): New defconst holding
47565         SCSS-specific at-rules.
47566         (css--at-ids): New buffer-local variable holding the list of at-rules
47567         for the current mode.
47568         (css--complete-at-rule): Retrieve at-rules from `css--at-ids`.
47569         (scss-mode): Set `css--at-ids'.
47571 2016-04-05  Paul Eggert  <eggert@cs.ucla.edu>
47573         Enable GCC warnings in developer builds
47575         However, do not fail; just issue the warnings.  Add an option
47576         --enable-gcc-warnings=warn-only to configure, to implement this.
47577         * INSTALL, etc/NEWS: Document this.
47578         * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
47579         (gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option.
47580         Don’t treat --with-x-toolkit=no as a special case when configuring
47581         warnings.
47583 2016-04-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47585         Inhibit querying for the encoding of the headers when resending
47587         * lisp/gnus/message.el (message-resend): Inhibit querying for
47588         the encoding of the headers when resending.
47590 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
47592         Prefer AUTO_STRING_WITH_LEN to make_formatted_string
47594         * src/buffer.c (Fgenerate_new_buffer_name):
47595         * src/filelock.c (get_boot_time):
47596         * src/minibuf.c (get_minibuffer):
47597         * src/process.c (make_process):
47598         * src/xdisp.c (ensure_echo_area_buffers):
47599         Prefer AUTO_STRING_WITH_LEN + sprintf to make_formatted_string
47600         when either will do.
47602 2016-04-04  Tao Fang  <fangtao0901@gmail.com>
47604         Allow URL using HTTPS proxies using CONNECT
47606         * lisp/url/url-http.el (url-http-find-free-connection): Allow
47607         using proxies (bug#11788).
47608         (url-http-end-of-document-sentinel): Ditto.
47609         (url-http): The protocol may change from http to https and
47610         vice versa.
47611         (url-https-proxy-connect): Allow using CONNECT proxies for https.
47613 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
47615         New C macro AUTO_STRING_WITH_LEN
47617         Put a bit less pressure on the garbage collector by defining a
47618         macro that is like AUTO_STRING but also allows null bytes in strings,
47619         and by extending AUTO_STRING to work with any unibyte string.
47620         * src/alloc.c (verify_ascii): Remove; all uses removed.
47621         AUTO_STRING can now be used on non-ASCII unibyte strings.
47622         * src/lisp.h (AUTO_STRING): Now allows non-ASCII unibyte strings.
47623         (AUTO_STRING_WITH_LEN): New macro.
47624         * src/coding.c (from_unicode_buffer):
47625         * src/editfns.c (format_time_string):
47626         * src/emacs-module.c (module_make_string, module_format_fun_env):
47627         * src/fileio.c (Fexpand_file_name):
47628         * src/font.c (font_parse_family_registry):
47629         * src/ftfont.c (ftfont_get_charset):
47630         * src/keymap.c (silly_event_symbol_error):
47631         * src/menu.c (single_menu_item):
47632         * src/sysdep.c (system_process_attributes):
47633         Use AUTO_STRING_WITH_LEN if possible.
47634         * src/emacs-module.c (module_make_function):
47635         * src/fileio.c (report_file_errno, report_file_notify_error):
47636         * src/fns.c (Flocale_info):
47637         * src/sysdep.c (system_process_attributes):
47638         Use AUTO_STRING if possible.  This is doable more often now
47639         that AUTO_STRING works on any unibyte string.
47641 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
47643         Port redirect-debugging-output to MS-Windows
47645         Suggested by Eli Zaretskii in:
47646         https://lists.gnu.org/r/emacs-devel/2016-04/msg00037.html
47647         * src/print.c [WINDOWSNT]: Include sys/socket.h.
47648         * src/w32.c (sys_dup2): Work around problem with MS-Windows _dup2.
47650 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
47652         Port redirect-debugging-output to non-GNU/Linux
47654         Problem reported by Kylie McClain for musl in:
47655         https://lists.gnu.org/r/emacs-devel/2016-03/msg01592.html
47656         * etc/DEBUG, etc/NEWS: Mention this.
47657         * src/callproc.c (child_setup) [!MSDOS]:
47658         * src/dispnew.c (init_display):
47659         * src/emacs.c (main, Fdaemon_initialized):
47660         * src/minibuf.c (read_minibuf_noninteractive):
47661         * src/regex.c (xmalloc, xrealloc):
47662         Prefer symbolic names like STDERR_FILENO to magic numbers like 2,
47663         to make file-descriptor manipulation easier to follow.
47664         * src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed
47665         now that we make sure stdin, stdout and stderr are open.  All uses
47666         removed.
47667         (main): Make sure standard FDs are OK.  Prefer symbolic names like
47668         EXIT_FAILURE to magic numbers like 1.  Use bool for boolean.
47669         * src/lisp.h (init_standard_fds): New decl.
47670         * src/print.c (WITH_REDIRECT_DEBUGGING_OUTPUT) [GNU_LINUX]:
47671         Remove; no longer needed.
47672         (Fredirect_debugging_output): Define on all platforms, not just
47673         GNU/Linux.  Redirect file descriptor, not stream, so that the code
47674         works even if stderr is not an lvalue.  Report an error if the
47675         file arg is neither a string nor nil.
47676         (syms_of_print): Always define redirect-debugging-output.
47677         * src/sysdep.c (force_open, init_standard_fds): New functions.
47679 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
47681         Spelling fixes
47683 2016-04-03  John Wiegley  <johnw@newartisans.com>
47685         Revert "Add `r'/`l' grep command history commands"
47687         This reverts commit a32eea60ac90d367435860fe3a10bf843e6f497c.
47689 2016-04-03  John Wiegley  <johnw@newartisans.com>
47691         Revert "Restore the point in grep buffers when traversing the history"
47693         This reverts commit f7c5f79ca565d3ef3feeb1e0af5ca261f1bcf58a.
47695 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
47697         Merge from origin/emacs-25
47699         787df9d ; * src/keyboard.c (read_char): Fix typos in a comment.
47701 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
47703         Merge from origin/emacs-25
47705         b787d55 More format-time-string change fixups
47706         13c8f29 make-xwidget unused arg cleanup
47707         36e05f0 Remove unused arguments from make-xwidget
47708         1042217 Document incompatible changes in 'format-time-string'
47709         7228eb8 Improve documentation of byte-code objects
47710         0020047 Adapt calls to 'format-time-string' to changes in Emacs 25
47711         17b5152 Improve vc-diff with Git backend
47712         c28f87a (js--continued-expression-p): Special-case unary plus and minus
47713         2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary.
47714         9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem...
47715         b3b523c Avoid crashes due to insanely large columns in tabulated-list...
47716         a3daa34 Teach M-x disassemble a default argument.
47717         e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
47718         df441b3 Fix OS X specific settings in tramp-tests
47719         2244331 Finish fixing a cacheing bug in CC Mode (see 2016-03-09)
47721         # Conflicts:
47722         #       lisp/net/tramp-sh.el
47723         #       lisp/progmodes/cc-engine.el
47725 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47727         Restore the point in grep buffers when traversing the history
47729         * lisp/progmodes/grep.el (grep-process-setup): Allow moving
47730         point to a specific place after finishing the grep command.
47731         (grep-mode): Use it to restore point after traversing the history.
47732         (grep--history-point): New internal variable.
47733         (grep--save-history, grep-forward-history): Use it to restore
47734         the point.
47736 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47738         Add `r'/`l' grep command history commands
47740         * doc/emacs/building.texi (Grep Searching): Mention the
47741         `r'/`l' commands.
47743         * lisp/progmodes/grep.el (grep-forward-history): New command.
47744         (grep-backward-history): Ditto.
47745         (grep--save-buffers): New function.
47746         (grep): Use it to record the history.
47747         (grep--command-history, grep--history-inhibit)
47748         (grep--history-place): New internal variables for the grep
47749         history (bug#22627).
47751 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
47753         Fix Bug#23186, again
47755         * lisp/net/tramp.el (tramp-encoding-shell)
47756         (tramp-encoding-command-switch)
47757         (tramp-encoding-command-interactive): Check for
47758         `w32-shell-name'.  (Bug#23186)
47760 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
47762         Fix Bug#23186
47764         * lisp/net/tramp.el (tramp-encoding-command-switch)
47765         (tramp-encoding-command-interactive):
47766         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
47767         `tramp-encoding-shell' could be nil.  (Bug#23186)
47769 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
47771         Fix Bug#22145
47773         * lisp/net/tramp-cache.el (tramp-get-connection-property)
47774         (tramp-set-connection-property, tramp-connection-property-p)
47775         (tramp-flush-connection-property): Improve docstring.
47777         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
47779         * lisp/net/tramp.el (tramp-get-local-locale): New defun.
47781         * test/automated/tramp-tests.el (tramp--test-utf8):
47782         Improve settings of coding systems.  (Bug#22145)
47784 2016-04-02  John Wiegley  <johnw@newartisans.com>
47786         Merge from origin/emacs-25
47788         7c1802f * doc/lispref/text.texi (Columns): Remove a nonexistent refer...
47789         9034c50 * doc/man/emacsclient.1: Document +line:column option.
47790         06495c9 Fix rare problems with echo-area display and multiple frames
47791         f99b512 In M-%, avoid making buffer-local binding of text-property-de...
47793 2016-04-02  John Wiegley  <johnw@newartisans.com>
47795         Merge from origin/emacs-25
47797         e65c307 * src/font.c (QCuser_spec): Add missing colon to :user-spec.
47798         c8b868b Don't start the 'midnight' timer twice
47799         278c8a7 * src/xwidget.c (Fxwidget_resize): Fix inappropriate use of X...
47800         e5c17f4 Fix todo-mode category movement
47801         bc70fda * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version.
47802         cf40f38 Ignore non-nil. non-cons values of unread-command-events
47803         8ee4c52 Improve documentatuon of 'truncate-partial-width-windows'
47804         fb9a62c * src/ftfont.c (ftfont_shape_by_flt): Parenthesize as per GNU...
47805         1e1ea22 Fix 'dired-goto-file' in Dired buffers produced by find-dired
47806         3a13472 Fix map-put and map-delete for alists (Bug#23105)
47807         422c3da Minor copyedits of documentation for temporary displays
47808         90fb9b3 Add customization option for using UTF-8 coordinates in xt-mouse
47809         f14d463 Minor doc string fixes in replace.el
47810         e70ee9d Fix scrolling upwards with 'xwidget-webkit-browse-url'
47811         44782de Fix display of Indic scripts
47812         326c64f Fix splash screen display at startup
47813         7ab2a97 ; In NEWS mention new display of minibuffer completions window
47814         a1cd84c Describe temporary displays in Emacs manual
47815         5ec1056 Avoid stray As next to IDLW icons
47816         45577d5 Avoid GTK 3 crash with icons and masks
47817         e99ff6e * lisp/minibuffer.el (minibuffer-completion-help): Use fit-wi...
47818         077b78c Define make_save_ptr_ptr unconditionally
47819         20a1003 Preserve current buffer when popping up TTY menus
47820         7eba90c Improve font selection by family on MS-Windows
47821         73d213f Comint, term, and compile now set EMACS
47822         9524ec5 Ignore more merges when generating ChangeLog
47823         ad250f2 Sync with gnulib
47824         c0165ea Resurrect GNUS-NEWS autogeneration
47825         1e5327c ; Backport ChangeLog.2 fixes from master
47826         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
47827         38a43f1 Fix bug in displaying header line with a box face
47828         91e6676 Fix an Isearch var to be a string (Bug#23038)
47829         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
47830         8a35f83 Render empty <ul><li><ul> correctly
47831         d8b2ce5 Ignore invalid base64 encoded embedded images
47832         52ba24b Fix <p> and <div> newlines with or without <li> in shr
47833         b8ea08b Avoid errors in 'newline'
47834         fc3cd53 Fix Bug#23032
47835         dd2737b Adjudicate review comments in abbrevs.texi
47836         26f9c50 Fixup the "normal" matcher; highlight global var symbols, too
47837         413e73b ; Small theme additions
47838         cd950da Honor prefix arg in doc-view-next-line-or-next-page
47839         ed909c0 ; Spelling fixes
47840         6da3a6d Port to strict C99 offsetof
47841         de7601f Port to GTK with strict C11 compiler
47842         658aa2d Port to GTK with strict C99 compiler
47843         1df7173 Avoid screen artifacts with new OS X visible bell after scrol...
47844         7a2edd3 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
47845         dca240a Suppress some Tramp tests for OSX, do not merge with master
47846         9094304 * lisp/progmodes/xref.el (xref-buffer-name, xref--window): Mo...
47847         cbedfc2 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it.
47848         005ac7c * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare.
47849         9ab03f2 ; Auto-commit of loaddefs files.
47850         56df617 Address compilation warnings due to 2016-01-03 mml refactoring.
47851         a1ef911 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp i...
47852         79ae7fb * lisp/dired-x.el (dired-omit-here-always): Correct error mes...
47853         253929f * lisp/dired-x.el (dired-omit-here-always): Replace undefined...
47854         ce53389 * lisp/xml.el (xml-parse-tag-1): Replace undefined function.
47855         d6d164f Avoid segfaults due to frame image cache being absent
47856         bc7f6f6 Improve documentation of glyphless-character display
47857         6b6916e ; * src/xdisp.c (with_echo_area_buffer): Fix typos in comments.
47858         ee9a1f7 Support safe navigation operator in non-SMIE indentation code
47859         c3ed95b Move xsd:base64Binary decoding fix to debbugs.el 0.9.1
47860         2036be4 Fix Ruby's operator precedence
47861         1d686c2 (ruby-interpolation-inside-another-interpolation): New failin...
47862         7950e1d Port to clang 3.7.0 on x86-64
47863         218ae59 * test/automated/package-test.el (package-test-signed): Tweak...
47864         ba33b7c Sync with gnulib
47865         38b276d Fix startup of "emacs -nw" on systems that CANNOT_DUMP
47866         dbfbedd Do not tokenize a comment before continuation as ';'
47867         0403620 Don't misindent arguments of a method call inside continuation
47868         e6776f8 * src/keyboard.c (echo_keystrokes_p): Don't test cursor_in_ec...
47869         8475f3d ASCII-only etc/NEWS etc.
47870         5cc6919 Fix a cacheing bug, which led to inordinately slow c-beginnin...
47871         0ce37ea Fix Isearch prompt when invoked with an argument
47872         f3033d4 Fix a typo in the Emacs manual
47873         4235d2d Curved quotes in etc/NEWS etc.
47874         26b56dc Fix some single quotes in documentation
47875         80ec484 Make lisp-completion-at-point's argument optional
47876         9d463ae Tweak the left precedence of '=>'
47877         5b705bc Indent '.' relative to the first sibling expression
47878         04f5525 Make '.' associative, for easier sexp navigation
47879         ba24c99 Revert "Simplify "Visit New File" to "New File""
47881 2016-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
47883         * lisp/erc/erc-backend.el: Use lexical-binding. Silence byte-compiler
47885         Use #' to quote functions.
47886         (erc-server-delayed-reconnect): Remove unused arg `event'.
47887         (erc-process-sentinel-2): Adjust accordingly.
47888         Don't pass `err' to condition-case if we don't use it.
47889         (define-erc-response-handler): Use add-hook rather than add-to-list.
47890         (NICK): Use cl-pushnew rather than add-to-list.
47891         (331): Remove unused var `topic'.
47892         (352): Remove unused var `hopcount'.
47894 2016-04-02  Paul Pogonyshev  <pogonyshev@gmail.com>
47896         Support macros in 'func-arity'
47898         * src/eval.c (Ffunc_arity): Support Lisp macros as well.
47900 2016-04-02  Andy Moreton  <andrewjmoreton@gmail.com>
47902         Fix compilation of Cygwin w32 port
47904         * src/w32xfns.c (init_crit, delete_crit) [HAVE_W32NOTIFY]: Only
47905         initialize and free the notification set if compiling with
47906         w32notify feature.
47908 2016-04-01  Paul Eggert  <eggert@penguin.cs.ucla.edu>
47910         Fix resize incompatibility with GTK+ master
47912         Problem reported by Matthias Clasen (Bug#23144).
47913         * src/xterm.c (handle_one_xevent) [USE_GTK]:
47914         Do not call xg_frame_resized.
47916 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
47918         Fix check for subscript errors in module calls
47920         * src/emacs-module.c (check_vec_index): New function.
47921         (module_vec_set, module_vec_get): Use it instead of a
47922         not-strict-enough check.
47924 2016-03-31  Simen Heggestøyl  <simenheg@gmail.com>
47926         Support completion of bang-rules in CSS mode
47928         lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable
47929         holding the list of bang-rules for the current mode.
47930         (css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids'
47931         instead of computing them.
47932         (css--complete-bang-rule): New function for completing a bang-rule.
47933         (css-completion-at-point): Add support for completing bang-rules.
47934         (scss-font-lock-keywords): Change from a variable to a function in
47935         order to recompute `css--font-lock-keywords' when `css--bang-ids' has
47936         changed.
47937         (scss-mode): Set `css--bang-ids' and recompute font-lock keywords.
47939 2016-03-30  Simen Heggestøyl  <simenheg@gmail.com>
47941         Add HTML4 tags to HTML mode
47943         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML4 tags.
47944         (html-tag-help): Add short descriptions of those tags.
47946 2016-03-29  Paul Eggert  <eggert@cs.ucla.edu>
47948         Pacify --enable-gcc-warnings for buffer-hash etc.
47950         * src/fns.c (make_digest_string): Now static.
47951         (secure_hash): Omit unused local.
47953 2016-03-29  Oleh Krehel  <ohwoeowho@gmail.com>
47955         Add support for 7z archives
47957         * lisp/dired-aux.el (dired-compress-file-suffixes): "Z" should now
47958           also work with 7z archives.
47960         The shell command should produce a single extracted directory named
47961         after the archive's name.
47963         In case the extracted directory exists, all files will be overwritten
47964         without a prompt. This matches the expected behavior with the "tar.gz"
47965         archives.
47967 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
47969         * lisp/emacs-lisp/seq.el: Require cl-lib instead of cl-extra
47971 2016-03-29  Michael Albinus  <michael.albinus@gmx.de>
47973         Fix typo in network-stream-tests.el
47975         * test/lisp/net/network-stream-tests.el
47976         (connect-to-tls-ipv6-nowait): Fix typo.
47978 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
47980         New function seq-sort-by in seq.el
47982         * lisp/emacs-lisp/seq.el (seq-sort-by): New function.
47983         * test/lisp/emacs-lisp/seq-tests.el: New test for seq-sort-by.
47984         * doc/lispref/sequences.texi: Add documentation for seq-sort-by.
47986 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47988         Mention the `M-q' changes
47990 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47992         Have `M-q' not mark buffers are changed when they haven't
47994         * lisp/textmodes/fill.el (fill-paragraph): Use `buffer-hash'
47995         to avoid marking buffers as changed when they haven't.
47997 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47999         Add a new function `buffer-hash'
48001         * doc/lispref/text.texi (Checksum/Hash): Document `buffer-hash'.
48003         * src/fns.c (Fbuffer_hash): New function.
48004         (make_digest_string): Refactored out into its own function.
48005         (secure_hash): Use it.
48007         * test/src/fns-tests.el (fns-tests-hash-buffer): New tests.
48009 2016-03-27  Paul Eggert  <eggert@cs.ucla.edu>
48011         Rename C names to match Lisp symbols better
48013         This was inspired by commit e65c3079c65595d95749348366af9811fafff062,
48014         which fixed a bug where the C name for a symbol disagreed with the
48015         symbol name itself.  Fix other instances of disagreements that I found.
48016         Although this doesn’t fix a bug, it should make code easier to follow.
48017         The remaining disagreements are idiosyncratic: Qminus, Qplus,
48018         Qsans__serif, Qbackquote, Qcomma, Qcomma_at, Qcomma_dot.
48019         All uses changed.
48020         * src/alloc.c (QAutomatic_GC): Rename from Qautomatic_gc.
48021         * src/dbusbind.c (QCsystem): Rename from QCdbus_system_bus.
48022         (QCsession): Rename from QCdbus_session_bus.
48023         (QCtimeout): Rename from QCdbus_timeout.
48024         (QCbyte): Rename from QCdbus_type_byte.
48025         (QCboolean): Rename from QCdbus_type_boolean.
48026         (QCint16): Rename from QCdbus_type_int16.
48027         (QCuint16): Rename from QCdbus_type_uint16.
48028         (QCint32): Rename from QCdbus_type_int32.
48029         (QCuint32): Rename from QCdbus_type_uint32.
48030         (QCint64): Rename from QCdbus_type_int64.
48031         (QCuint64): Rename from QCdbus_type_uint64.
48032         (QCdouble): Rename from QCdbus_type_double.
48033         (QCstring): Rename from QCdbus_type_string.
48034         (QCobject_path): Rename from QCdbus_type_object_path.
48035         (QCsignature): Rename from QCdbus_type_signature.
48036         (QCunix_fd): Rename from QCdbus_type_unix_fd.
48037         (QCarray): Rename from QCdbus_type_array.
48038         (QCvariant): Rename from QCdbus_type_variant.
48039         (QCstruct): Rename from QCdbus_type_struct.
48040         (QCdict_entry): Rename from QCdbus_type_dict_entry.
48041         (QCserial): Rename from QCdbus_registered_serial.
48042         (QCmethod): Rename from QCdbus_registered_method.
48043         (QCsignal): Rename from QCdbus_registered_signal.
48044         * src/emacs-module.c (Qinternal__module_call):
48045         Rename from Qinternal_module_call.
48046         * src/frame.c (Qwindow__pixel_to_total):
48047         Rename from Qwindow_pixel_to_total.
48048         * src/gnutls.c (QChostname): Rename from QCgnutls_bootprop_hostname.
48049         (QCpriority): Rename from QCgnutls_bootprop_priority.
48050         (QCtrustfiles): Rename from QCgnutls_bootprop_trustfiles.
48051         (QCkeylist): Rename from QCgnutls_bootprop_keylist.
48052         (QCcrlfiles): Rename from QCgnutls_bootprop_crlfiles.
48053         (QCmin_prime_bits): Rename from QCgnutls_bootprop_min_prime_bits.
48054         (QCloglevel): Rename from QCgnutls_bootprop_loglevel.
48055         (QCcomplete_negotiation): Rename from QCgnutls_complete_negotiation.
48056         (QCverify_flags): Rename from QCgnutls_bootprop_verify_flags.
48057         (QCverify_error): Rename from QCgnutls_bootprop_verify_error.
48058         * src/w32fns.c (Qfont_parameter): Rename from Qfont_param.
48059         (Qgnutls): Rename from Qgnutls_dll.
48060         (Qlibxml2): Rename from Qlibxml2_dll.
48061         (Qzlib): Rename from Qzlib_dll.
48062         * src/w32select.c (Qutf_16le_dos): Rename from QUNICODE.
48063         * src/window.c (Qwindow__resize_root_window):
48064         Rename from Qwindow_resize_root_window.
48065         (Qwindow__resize_root_window_vertically):
48066         Rename from Qwindow_resize_root_window_vertically.
48067         (Qwindow__sanitize_window_sizes):
48068         Rename from Qwindow_sanitize_window_sizes.
48069         (Qwindow__pixel_to_total): Rename from Qwindow_pixel_to_total.
48070         * src/xdisp.c (Qredisplay_internal_xC_functionx):
48071         Rename from Qredisplay_internal.
48072         * src/xfns.c (Qfont_parameter): Rename from Qfont_param.
48073         * src/xselect.c (Q_EMACS_TMP_): Rename from QEMACS_TMP.
48075 2016-03-26  Paul Eggert  <eggert@cs.ucla.edu>
48077         func-arity minor improvements
48079         * src/bytecode.c (get_byte_code_arity): Omit unnecessary
48080         runtime test for integer argument, unless debugging.
48081         Use EMACS_INT for Emacs integers.
48082         * src/eval.c (Ffunc_arity): Omit unused locals.
48083         Avoid side effects in ‘if’ expr.
48084         (lambda_arity): Use bool for boolean, and EMACS_INT for Emacs ints.
48086 2016-03-26  John Wiegley  <johnw@newartisans.com>
48088         Restore the fix to bug#18527 from commit d6868025
48090 2016-03-26  Martin Rudalics  <rudalics@gmx.at>
48092         Safely run window size change functions
48094         * src/window.c (run_window_size_change_functions): Use
48095         safe_call1 when running a size change function.
48096         (grow_mini_window, shrink_mini_window): Report error when
48097         minibuffer window cannot be resized.
48099 2016-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
48101         Implement 'func-arity'
48103         * src/eval.c (Ffunc_arity, lambda_arity): New functions.
48104         * src/bytecode.c (get_byte_code_arity): New function.
48105         * src/lisp.h (get_byte_code_arity): Add prototype.
48107         * doc/lispref/functions.texi (What Is a Function): Document
48108         'func-arity'.
48110         * etc/NEWS: Mention 'func-arity'.
48112         * test/src/fns-tests.el (fns-tests-func-arity): New test set.
48114 2016-03-25  Alan Mackenzie  <acm@muc.de>
48116         Fix absence of c-noise-macro-name-re, etc., in languages which don't use it
48118         * lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id, c-forward-type)
48119         (c-forward-declarator, c-forward-decl-or-cast-1, c-backward-over-enum-header)
48120         (c-guess-basic-syntax): Check c-opt-cpp-prefix before `looking-at'
48121         c-noise-macro-with-parens-name-re.
48123         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): The same as for
48124         cc-engine.el.
48126         * lisp/progmodes/cc-mode.el (c-basic-common-init): Add call to
48127         `c-make-noise-macro-regexps'.
48128         (c-mode, c++-mode, objc-mode): Remove calls to `c-make-noise-macro-regexps'.
48130         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
48131         (c-noise-macro-with-re): Initialize to "\\<\\>" rather than nil.
48133 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48135         (shr-insert): Respect non-breaking space in non-<pre> text
48137         * lisp/net/shr.el (shr-insert): Respect non-breaking space in
48138         non-<pre> text.
48140 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48142         parse-times-string doc string clarification
48144         * lisp/calendar/parse-time.el (parse-time-string): Note that
48145         we accept RFC2822 strings.
48147 2016-03-25  Marcin Borkowski  <mbork@mbork.pl>
48149         Doc string fix
48151         * lisp/calendar/parse-time.el (parse-time-tokenize): Clarify
48152         doc string and clean up code.
48154 2016-03-25  Michael Albinus  <michael.albinus@gmx.de>
48156         Cleanup file notification code in Tramp
48158         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
48159         Make `events' a list of symbols for "inotifywait".
48160         (tramp-sh-gvfs-monitor-dir-process-filter): Make event a list.
48161         Call `file-notify-handle-event' for better traces.
48162         (tramp-sh-inotifywait-process-filter): Check for expected events.
48163         Call `file-notify-handle-event' for better traces.
48165 2016-03-24  Michael Albinus  <michael.albinus@gmx.de>
48167         Adapt filenotify-tests.el according latest tests
48169         * test/lisp/filenotify-tests.el (file-notify-test02-events)
48170         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
48171         Remove superfluous `read-event' calls.
48172         (file-notify-test02-events): Expect different events under MS
48173         Windows 7 and 10.
48174         (file-notify-test04-file-validity): Move `file-notify-valid-p'
48175         check up.
48177 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
48179         Merge from origin/emacs-25
48181         ad250f2 Sync with gnulib
48182         c0165ea Resurrect GNUS-NEWS autogeneration
48184         # Conflicts:
48185         #       etc/GNUS-NEWS
48186         #       lisp/Makefile.in
48188 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
48190         Merge from origin/emacs-25
48192         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
48193         38a43f1 Fix bug in displaying header line with a box face
48195 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
48197         * etc/NEWS: Use straight quotes.
48199 2016-03-23  Simen Heggestøyl  <simenheg@gmail.com>
48201         Support completion of attribute values in CSS mode
48203         * lisp/textmodes/css-mode.el (css-property-alist): New defconst
48204         holding CSS identifiers and the values they can have.
48205         (css-property-ids): Compute dynamically from `css-property-alist'.
48206         (css-value-class-alist): New defconst holding property value classes
48207         and their values.
48208         (css--property-value-cache): New variable providing a cache for
48209         `css--property-values'.
48210         (css--value-class-lookup): New function for computing a list of values
48211         in a value class.
48212         (css--property-values): New function for computing a list of possible
48213         values for a CSS property.
48214         (css--complete-property-value): New function for completing a property
48215         value.
48216         (css-completion-at-point): Add support for completing property values.
48217         * test/lisp/textmodes/css-mode-tests.el: New file.
48219 2016-03-22  Wilson Snyder  <wsnyder@wsnyder.org>
48221         Sync with verilog-mode development tree.
48223         * lisp/progmodes/verilog-mode.el (verilog-imenu-generic-expression,
48224         verilog-speedbar-initialize): Automatically add verilog-mode
48225         extensions when in speedbar mode, bug1045, bug1046.  Reported by
48226         David Shleifman.
48227         (verilog-mode-map): Move `verilog-star-comment' from M-* to C-c/ to
48228         avoid conflict with `pop-tag-mark'. Reported by Ian Perryman.
48229         (verilog-read-always-signals-recurse): Fix :: notation for
48230         auto-reset signals.  Reported by Andrew Jones.
48231         (verilog-font-lock-grouping-keywords-face): Fix highlighting of
48232         grouping keywords, bug1002. Reported by Paul Sargent.
48233         (verilog-save-font-no-change-functions): Commentary and fix
48234         pre-Emacs 21 behavior.
48236 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
48238         Compute a better commit message for merges
48240         Problem reported by David Engster in:
48241         https://lists.gnu.org/r/emacs-devel/2016-03/msg01270.html
48242         * admin/gitmerge.el (gitmerge-commit-message):
48243         Truncate the computed commit message to at most 72 characters per line.
48244         (gitmerge-maybe-resume): Don’t use "-" as the commit message for
48245         merges; use the computed commit message instead.
48247 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
48249         * admin/gitmerge.el (gitmerge-skip-regexp): Add "no need to merge".
48251 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
48253         Change do-not-merge pattern to "do not merge"
48255         This should avoid the problem we recently had with
48256         automatically-generated merge messages, while still letting people
48257         specify commits not to merge.
48258         * admin/gitmerge.el (gitmerge-skip-regexp): Add "do not merge".
48259         (gitmerge-highlight-skip-regexp): Fold case when searching
48260         for gitmerge-skip-regexp.
48262 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
48264         Merge from origin/emacs-25
48266         91e6676 Fix an Isearch var to be a string (Bug#23038)
48267         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
48269 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
48271         -
48273         -
48275 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
48277         Keep "merge" commits by default in gitmerge
48279         * admin/gitmerge.el (gitmerge-skip-regexp): Omit "merge", as it
48280         causes false positives.  See:
48281         https://lists.gnu.org/r/emacs-devel/2016-03/msg01234.html
48283 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
48285         Assume NON_BLOCKING_CONNECT (Bug#22946)
48287         * lisp/proced.el (proced-signal-list): Omit comment about
48288         obsolete systems that do not support POSIX 1003.1-2001 signals.
48289         * src/process.c (NON_BLOCKING_CONNECT): Remove, since we can now
48290         assume POSIX 1003.1-2001 or better here.  Assume it’s defined.
48291         (connect_network_socket): Assume EINPROGRESS is defined,
48292         as that’s portable too now.
48293         (Fmake_network_process): Use bool for boolean.
48295 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
48297         Fix problems caused by new implementation of sub-word mode
48299         * lisp/subr.el (forward-word-strictly, backward-word-strictly):
48300         New functions.
48301         (word-move-empty-char-table): New variable.
48303         * etc/NEWS: Mention 'forward-word-strictly' and
48304         'backward-word-strictly'.
48306         * doc/lispref/positions.texi (Word Motion): Document
48307         'find-word-boundary-function-table', 'forward-word-strictly', and
48308         'backward-word-strictly'.  (Bug#22560)
48310         * src/syntax.c (syms_of_syntax)
48311         <find-word-boundary-function-table>: Doc fix.
48313         * lisp/wdired.el (wdired-xcase-word):
48314         * lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
48315         (texinfo-copy-section-title, texinfo-start-menu-description)
48316         (texinfo-copy-menu-title, texinfo-specific-section-type)
48317         (texinfo-insert-node-lines, texinfo-copy-next-section-title):
48318         * lisp/textmodes/texinfo.el (texinfo-clone-environment)
48319         (texinfo-insert-@end):
48320         * lisp/textmodes/texinfmt.el (texinfo-format-scan)
48321         (texinfo-anchor, texinfo-multitable-widths)
48322         (texinfo-multitable-item):
48323         * lisp/textmodes/tex-mode.el (latex-env-before-change):
48324         * lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
48325         * lisp/skeleton.el (skeleton-insert):
48326         * lisp/simple.el (count-words):
48327         * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
48328         (vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
48329         (vhdl-update-sensitivity-list, vhdl-template-block)
48330         (vhdl-template-break, vhdl-template-case, vhdl-template-default)
48331         (vhdl-template-default-indent, vhdl-template-for-loop)
48332         (vhdl-template-if-then-use, vhdl-template-bare-loop)
48333         (vhdl-template-nature, vhdl-template-procedural)
48334         (vhdl-template-process, vhdl-template-selected-signal-asst)
48335         (vhdl-template-type, vhdl-template-variable)
48336         (vhdl-template-while-loop, vhdl-beginning-of-block)
48337         (vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
48338         * lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
48339         (verilog-forward-sexp, verilog-beg-of-statement)
48340         (verilog-set-auto-endcomments, verilog-backward-token)
48341         (verilog-do-indent):
48342         * lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
48343         (vera-indent-block-closing):
48344         * lisp/progmodes/simula.el (simula-context)
48345         (simula-backward-up-level, simula-forward-down-level)
48346         (simula-previous-statement, simula-next-statement)
48347         (simula-skip-comment-backward, simula-calculate-indent)
48348         (simula-find-if, simula-electric-keyword):
48349         * lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
48350         * lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
48351         (ruby-smie--forward-token, ruby-smie--backward-token)
48352         (ruby-singleton-class-p, ruby-calculate-indent)
48353         (ruby-forward-sexp, ruby-backward-sexp):
48354         * lisp/progmodes/ps-mode.el (ps-run-goto-error):
48355         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
48356         (perl-syntax-propertize-special-constructs)
48357         (perl-backward-to-start-of-continued-exp):
48358         * lisp/progmodes/pascal.el (pascal-indent-declaration):
48359         * lisp/progmodes/octave.el (octave-function-file-p):
48360         * lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
48361         * lisp/progmodes/js.el (js--forward-function-decl):
48362         * lisp/progmodes/idlwave.el (idlwave-show-begin-check)
48363         (idlwave-beginning-of-block, idlwave-end-of-block)
48364         (idlwave-block-jump-out, idlwave-determine-class):
48365         * lisp/progmodes/icon.el (icon-is-continuation-line)
48366         (icon-backward-to-start-of-continued-exp, end-of-icon-defun):
48367         * lisp/progmodes/hideif.el (hide-ifdef-define):
48368         * lisp/progmodes/f90.el (f90-change-keywords):
48369         * lisp/progmodes/cperl-mode.el (cperl-electric-pod)
48370         (cperl-linefeed, cperl-electric-terminator)
48371         (cperl-find-pods-heres, cperl-fix-line-spacing)
48372         (cperl-invert-if-unless):
48373         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
48374         * lisp/progmodes/cc-align.el (c-lineup-java-inher):
48375         * lisp/progmodes/ada-mode.el (ada-compile-goto-error)
48376         (ada-adjust-case-skeleton, ada-create-case-exception)
48377         (ada-create-case-exception-substring)
48378         (ada-case-read-exceptions-from-file, ada-after-keyword-p)
48379         (ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
48380         (ada-get-indent-if, ada-get-indent-block-start)
48381         (ada-get-indent-loop, ada-get-indent-type)
48382         (ada-search-prev-end-stmt, ada-check-defun-name)
48383         (ada-goto-decl-start, ada-goto-matching-start)
48384         (ada-goto-matching-end, ada-looking-at-semi-or)
48385         (ada-looking-at-semi-private, ada-in-paramlist-p)
48386         (ada-search-ignore-complex-boolean, ada-move-to-start)
48387         (ada-move-to-end, ada-which-function, ada-gen-treat-proc):
48388         * lisp/net/quickurl.el (quickurl-grab-url):
48389         * lisp/mail/sendmail.el (mail-do-fcc):
48390         * lisp/mail/rmail.el (rmail-resend):
48391         * lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
48392         * lisp/mail/mail-extr.el (mail-extract-address-components):
48393         * lisp/json.el (json-read-keyword):
48394         * lisp/files.el (insert-directory):
48395         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
48396         * lisp/completion.el (symbol-under-point, symbol-before-point)
48397         (symbol-before-point-for-complete, next-cdabbrev)
48398         (add-completions-from-c-buffer):
48399         * lisp/cedet/semantic/texi.el (semantic-up-context)
48400         (semantic-beginning-of-context):
48401         * lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
48402         use 'forward-word-strictly' and 'backward-word-strictly' instead
48403         of 'forward-word' and 'backward-word'.
48405         [This reapplies commit c1d32a65372c72d7de4808d620eefd3214a8e92a,
48406         which was inadvertently lost by merge commit
48407         c71e7cc113ed0d5f01aaa2e441a3e3c9fbeb9fa5.]
48409 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
48411         * etc/TODO: Minor quoting and grammar fixes.
48413         [This reapplies commit 433407d8230a8a256b26c6c7615d3921b43f59ce,
48414         which was inadvertently lost by merge commit
48415         5ab243f40e4db91586ff74b01a775a5218a1d5be.]
48417 2016-03-21  Alan Mackenzie  <acm@muc.de>
48419         Don't confuse "::" with ":" when trying to parse member initializers.
48421         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
48422         more robustly for ":" token when searching backwards for it.
48424         * lisp/progmodes/cc-langs.el (c-:$-multichar-token-regexp): New
48425         language variable.
48427         [This reapplies commit 9e5452f7166e3634f2d8e943815ed722e1672714,
48428         which was inadvertently lost by merge commit
48429         7823745acbe9b87eea2db4ef434e379fc903ec35.]
48431 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
48433         Ensure positive number of glyphs for margins of positive width
48435         * src/dispnew.c (margin_glyphs_to_reserve): Always return a
48436         positive value when a non-zero width of the marginal area was
48437         requested.  (Bug#22356)
48439         [This reapplies commit 740849fe986b62a839bce4bbf67d0036fc1be0b9,
48440         which was inadvertently lost by merge commit
48441         7823745acbe9b87eea2db4ef434e379fc903ec35.]
48443 2016-03-21  Alan Mackenzie  <acm@muc.de>
48445         In comment-dwim with style `extra-line', respect indent-tabs-mode.
48447         This fixes bug #22369.
48449         * lisp/newcomment.el (comment-make-bol-ws): New function.
48450         (comment-make-extra-lines): Use new function instead of a crude `make-string'.
48452         [This reapplies commit 016b3d5894b8c424eab262aeefc646c6cd03a70a,
48453         which was inadvertently lost by merge commit
48454         7823745acbe9b87eea2db4ef434e379fc903ec35.]
48456 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
48458         Merge doc fixes for 'random' lost in previous merge
48460         [This reapplies part of commit
48461         3ffe81e245d854a694ae1734f1b6a995bdc5e724,
48462         which was inadvertently lost by merge commit
48463         7823745acbe9b87eea2db4ef434e379fc903ec35.]
48464         (Bug#22202)
48466 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
48468         Unhide the --no-line-directive option to 'etags'
48470         * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
48471         option.  (Bug#22306)
48473         * doc/man/etags.1: Document the --no-line-directive option.
48475         [This reapplies commit fee0526a189f43e8470d78e8374bd425890fbe6f,
48476         which was inadvertently lost by merge commit
48477         7823745acbe9b87eea2db4ef434e379fc903ec35.]
48479 2016-03-21  Alan J Third  <alan@idiocy.org>  (tiny change)
48481         Fix picture-mode wrt double-width characters
48483         * lisp/textmodes/picture.el (picture-insert): Check the width of
48484         the character being replaced, not just that of the replacement.
48485         (Bug#1808)
48487         [This reapplies commit b70dba4e18514411ed38b5bbb846558158842ace,
48488         which was inadvertently lost by merge commit
48489         7823745acbe9b87eea2db4ef434e379fc903ec35.]
48491 2016-03-20  Martin Rudalics  <rudalics@gmx.at>
48493         Resurrect earlier fix of resize_frame_windows
48495         * src/window.c (resize_frame_windows): Resurrect earlier fix for
48496         calculating the number of columns of the minibuffer window which
48497         was lost in subsequent merges.
48499 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48501         Move the cert files to the data directory
48503 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48505         Further empty <li> tweaks
48507         * lisp/net/shr.el (shr-tag-li): When showing several empty
48508         <li> elements, ensure that they really get inserted on a new line.
48510 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48512         Don't remove too much white space at the end of documents
48514         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): Don't
48515         remove too much white space -- leave it on the last line (in
48516         case there's a background color).
48518 2016-03-20  Alan Mackenzie  <acm@muc.de>
48520         Amend parse-partial-sexp correctly to handle two character comment delimiters
48522         Do this by adding a new field to the parser state: the syntax of the last
48523         character scanned, should that be the first char of a (potential) two char
48524         construct, nil otherwise.
48525         This should make the parser state complete.
48526         Also document element 9 of the parser state.  Also refactor the code a bit.
48528         * src/syntax.c (struct lisp_parse_state): Add a new field.
48529         (SYNTAX_FLAGS_COMSTARTEND_FIRST): New function.
48530         (internalize_parse_state): New function, extracted from scan_sexps_forward.
48531         (back_comment): Call internalize_parse_state.
48532         (forw_comment): Return the syntax of the last character scanned to the caller
48533         when that character might be the first of a two character construct.
48534         (Fforward_comment, scan_lists): New dummy variables, passed to forw_comment.
48535         (scan_sexps_forward): Remove a redundant state parameter.  Access all `state'
48536         information via the address parameter `state'.  Remove the code which converts
48537         from external to internal form of `state'.  Access buffer contents only from
48538         `from' onwards.  Reformulate code at the top of the main loop correctly to
48539         recognize comment openers when starting in the middle of one.  Call
48540         forw_comment with extra argument (for return of syntax value of possible first
48541         char of a two char construct).
48542         (Fparse_partial_sexp): Document elements 9, 10 of the parser state in the
48543         doc string.  Clarify the doc string in general.  Call
48544         internalize_parse_state.  Take account of the new elements when consing up the
48545         output parser state.
48547         * doc/lispref/syntax.texi: (Parser State): Document element 9 and the new
48548         element 10.  Minor wording corrections (remove reference to "trivial
48549         cases").
48550         (Low Level Parsing): Minor corrections.
48552         * etc/NEWS: Note new element 10, and documentation of element 9 of parser
48553         state.
48555 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48557         Allow the shr test files to have trailing blank space.
48559         * .gitattributes: Allow the shr test files to have trailing
48560         blank space.
48562 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48564         Add tests for empty <ul><li>
48566 2016-03-20  Paul Eggert  <eggert@cs.ucla.edu>
48568         * src/alloc.c (purecopy): Use AUTO_STRING.
48570 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48572         Ignore invalid base64 encoded embedded images
48574         * lisp/net/shr.el (shr-image-from-data): Ignore invalid base64
48575         encoded embedded images (bug#22928).
48577 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48579         Render empty <ul><li><ul> correctly
48581         * lisp/net/shr.el (shr-tag-ul): Render empty <ul><li><ul>
48582         correctly (bug#22964).
48584 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48586         Fix <p> and <div> newlines with or without <li> in shr
48588         * lisp/net/shr.el (shr-ensure-newline): Respect that we're in
48589         a <li>, if we are, and don't insert newlines there.
48590         (shr-ensure-paragraph): When mixing newlines and paragraph
48591         ensurements, don't insert too many blank lines.
48592         (shr-tag-div): A <div> shouldn't introduce a paragraph, but a
48593         new line.
48595 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48597         Add more shr HTML rendering tests
48599         Add a test harness for shr HTML rendering and one test
48601 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48603         Remove code left over from when overlays were used for padding
48605         * lisp/net/shr.el (shr-previous-newline-padding-width): Remove.
48606         (shr-remove-trailing-whitespace): Ditto.
48607         (shr-insert-document): Don't call them.
48609 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48611         Remove trailing blank lines in shr
48613         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): New function.
48614         (shr-insert-document): Use it to remove trailing blank lines
48615         at the end of documents, since these never seem to be very useful.
48617 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48619         Don't bug out on nil `patch-buf' arguments
48621         * lisp/vc/ediff.el (ediff-patch-file): Don't bug out on nil
48622         `patch-buf' arguments.
48624 2016-03-20  Ernest Adrogué  <nfdisco@gmail.com>
48626         Add a Catalan language environment
48628         * lisp/international/mule-cmds.el (locale-language-names): Map locale
48629           language name `ca' to language environment `Catalan'.
48631         * lisp/language/european.el: Add definition of language
48632         environment for the Catalan language.
48634         * lisp/leim/quail/latin-pre.el: Add quail rule to the
48635         `catalan-prefix' input method to support input of middle dot
48636         characters through composition (bug#18279).
48638 2016-03-19  Paul Eggert  <eggert@cs.ucla.edu>
48640         No need to block input when reading directories
48642         * src/dired.c: Don’t include blockinput.h.
48643         (open_directory, directory_files_internal_unwind)
48644         (directory_files_internal, file_attributes):
48645         Don’t block input here, as the reasons for blocking input should
48646         no longer apply.  See blockinput.h FIXME.  (Bug#22996).
48648 2016-03-19  Oscar Fuentes  <ofv@wanadoo.es>
48650         * lisp/vc/vc-hooks.el: Fix typo
48652 2016-03-19  Fabrice Popineau  <fabrice.popineau@gmail.com>
48654         Improve w32notify notifications
48656         * src/w32notify.c (DIRWATCH_BUFFER_SIZE): New macro.
48657         (struct notification): 'terminate' is now a HANDLE.
48658         (send_notifications): Argument is now a pointer to a
48659         notification.  Don't loop waiting for the notification to be
48660         acknowledged by the main thread; instead, just add the
48661         notification to the linked list of notifications waiting to be
48662         acknowledged.
48663         (watch_end): Don't close the directory handle.
48664         (watch_completion): Allocate a new notification structure to be
48665         added to the notifications set.  Call ReadDirectoryChangesW
48666         immediately after adding the new notification, and before sending
48667         a message to the main thread about them.
48668         (watch_worker): Don't loop calling ReadDirectoryChangesW; instead,
48669         call it just once -- it will be called again in watch_completion.
48670         Loop waiting for the main thread's indication to terminate.
48671         (start_watching): Create the event to be used to indicate to the
48672         worker thread that its should terminate.
48673         (remove_watch): Indicate to the worker thread that it should
48674         terminate.
48675         * src/w32term.c (queue_notifications): Loop over all the
48676         notifications in the linked list, processing all of them in one
48677         go.
48678         * src/w32inevt.c (handle_file_notifications): Loop over all the
48679         notifications in the linked list.
48680         * src/w32xfns.c (init_crit): Initialize the linked list of file
48681         notifications.
48682         (delete_crit): Free the linked list of file notifications,
48683         including any unprocessed notifications left in it.
48684         * src/w32term.h (struct notifications_se): New struct.
48686         * test/lisp/filenotify-tests.el (file-notify-test02-events)
48687         (file-notify-test05-dir-validity): Add read-event calls to
48688         facilitate event recognition by the main thread in batch mode.
48690 2016-03-17  Sam Steingold  <sds@gnu.org>
48692         make `vc-log-operation' buffer local to allow multiple simultaneous editing
48694 2016-03-17  Glenn Morris  <rgm@gnu.org>
48696         Simplify some rococo Gnus code that loads or tests for other libraries.
48698         * lisp/gnus/gnus-art.el (gnus-treat-ansi-sequences): Simplify default.
48699         * lisp/gnus/mml-smime.el (epg): Simply require it.
48700         (mml-smime-use): Simplify the default.  Doc fix.
48701         * lisp/gnus/mml2015.el (epg-config): Require it.
48702         (mml2015-use): Simplify the default.
48703         * lisp/gnus/smime.el (password-cache): Simply require it.
48704         (password-read-and-add): Remove declaration.
48706 2016-03-16  Glenn Morris  <rgm@gnu.org>
48708         * test/lisp/dabbrev-tests.el: Merge fix: move here from test/automated.
48710 2016-03-16  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
48711             Alex Harsanyi  <AlexHarsanyi@gmail.com>
48713         Sync with soap-client repository, version 3.1.1
48715         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix error
48716         message.
48717         (soap-find-port): Delete trailing whitespace.
48718         (soap-find-operation): Fix documentation and rename parameter.
48719         (soap-find-port): Likewise.
48720         (soap-operation-arity): Likewise.
48722         * lisp/net/soap-client.el: Update copyright years.
48723         (soap-warning): Fix docstring quoting.
48724         (soap-decode-date-time): Likewise.
48725         (soap-validate-xs-simple-type): Remove tabs for indentation.
48726         * lisp/net/soap-inspect.el: Update copyright years.
48728         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Do not
48729         assume xsd:base64Binary values are UTF-8 strings.
48730         (soap-decode-xs-basic-type): Likewise.
48731         (soap-invoke): Document xsd:base64Binary handling.
48733         * lisp/net/soap-client.el (soap-find-port, soap-find-operation)
48734         (soap-operation-arity): new defuns
48735         (soap-invoke-internal): use soap-find-port, soap-find-operation.
48737 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
48739         Merge from gnulib
48741         This incorporates:
48742         2016-03-15 std-gnu11: improve clang support
48743         * m4/std-gnu11.m4: Copy from gnulib.
48745 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48747         Disable MOVE more for Dovecot
48749         * lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Also
48750         disable MOVE when expirying.
48751         (nnimap-split-incoming-mail): And when splitting mail.
48753 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48755         Don't use MOVE on Dovecot
48757         * lisp/gnus/nnimap.el (nnimap-request-move-article): Don't use
48758         MOVE on Dovecot, since it's broken in many versions.
48759         (nnimap-quirks): Mark MOVE on Dovecot as non-working.
48761 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
48763         Improve diff hunk headers when maintaining Emacs
48765         * .gitattributes: Improve diff hunk header support for makefiles,
48766         shell scripts, Ada, C, C++, Objective C, HTML, SHTML, XML, Java,
48767         Perl, PHP, Python, Ruby, and TeX, all of which are used in Emacs
48768         somewhere (sometimes just in test cases).
48769         * autogen.sh: Add regexes for makefiles and shell scripts.
48771 2016-03-12  Eli Zaretskii  <eliz@gnu.org>
48773         Update handling of <bdo> per Unicode 9.0
48775         * lisp/net/shr.el (shr-tag-bdo): Wrap in FSI..PDI as well, per
48776         Unicode 9.0 changes in UAX#9, paragraph 2.7.
48778 2016-03-11  John Wiegley  <johnw@newartisans.com>
48780         Merge from origin/emacs-25
48782         facb5e2 Update Emacs manual section related to character folding
48783         4efea8e ; * etc/DEBUG: Fix a typo.  (Bug#22984)
48784         f8df21b Update admin/notes/unicode
48785         950be68 Add symref-filepattern entries for c?perl-mode
48786         8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them.
48787         985dacf ; NEWS update for the last change in etags
48788         741a6f8 Sync with gnulib
48789         7352c6c Rework C source files to avoid ^(
48790         a589e9a By default, etags produces unqualified Perl tag names
48791         72c7438 Indent methods with keyword names correctly
48792         28532a9 Propertize character literals and special global variables
48793                 differently
48794         a7d6f39 ; Fix last change in NEWS
48795         83b2a20 Change how /etc/NEWS presents character folding
48796         b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding
48797                 off by default""
48798         711ca36 Properly handle lambda as read function (bug 22961)
48799         1b9d616 Propertize operator symbol names with symbol syntax class
48800         9b16bc2 Stop recognizing :#{} as symbol in ruby-mode
48801         366ec77 Allow using the left shift operator without spaces on both sides
48802         02bf7cc Properly handle unquoting in wdired (bug 22938)
48803         16cf469 ; Spelling fix and tighten up comment
48804         f50bc04 Allow splat operator before percent literal
48805         991c801 Don't apply the return value of goto-char as syntax class
48806         6e63b3e Guard against nested percent literals
48807         066f3bc Recognize iuwu-mod after an escaped newline
48808         6f7a57c Fix symbolic mode string conversion for s and t
48809         50b9826 Update 'ucs-names' database
48810         993b2fb Improve doc string of 'shell-command'
48811         b71c717 Make the code in movemail_strftime more general
48812         cc057e4 Speed up redisplay of binary files with long series of nulls
48813         e51b27e Remove the highlighting support for quoting 'like this' inside
48814                 Lisp docstrings
48815         b1abce1 Restore leading space in movemail pop output
48816         98b8d44 Fix bidi-paragraph-direction in Rmail view buffer
48817         dc9d837 Don't misindent computed property generator methods
48818         7923112 Fix mbox files produced by movemail on MS-Windows
48819         c45a1ca doc string file descriptor exhaustion fix
48820         265141b Fix Bug#22814
48822 2016-03-11  John Wiegley  <johnw@newartisans.com>
48824         Merge from origin/emacs-25
48826         620951f Fix previous fix of enlarge-/shrink-window
48827         2e78353 * lisp/isearch.el (isearch-define-mode-toggle): Fix toggling logic
48828         66d2717 Complete temperature units in calc-convert-temperature
48829         dbb02bf Make sure to use case-sensitive search
48830         8b01e69 Prevent infinite loop on not-well-formed xml. (Bug#16344)
48831         100346a Add the missing test case for the previous patch
48832         5aba61e Use the correct dabbrev expansion
48834 2016-03-11  Michael Albinus  <michael.albinus@gmx.de>
48836         Remove compat code in Tramp
48838         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
48839         Remove compat code.
48841 2016-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
48843         * lisp/textmodes/tex-mode.el: Complete local envs.  Use #'.
48845         Use #' for function names.
48846         (latex-complete-envnames): Include existing environments in
48847         current buffer.
48848         (latex-insert-block): Use latex-complete-envnames.
48849         (tildify-foreach-ignore-environments): Declare.
48851 2016-03-10  Alain Schneble  <a.s@realize.ch>
48853         Fix asynchronous TLS connections on MS-Windows
48855         * src/w32.c (sys_write): Don't switch the socket to blocking mode
48856         if the connection attempt is in progress.  Instead, return either
48857         EWOULDBLOCK immediately if the connection is in progress, or the
48858         error code produced by '_sys_wait_connect' if the connection
48859         failed.  Switching the socket to blocking mode was found to
48860         interfere with GnuTLS handshake.  (Bug#22789)
48862 2016-03-10  Alan Mackenzie  <acm@muc.de>
48864         Clarify the documentation of nested comments.
48866         * doc/lispref/syntax.texi (Syntax Flags): State that only comments of the same
48867         style are recognized inside nestable comments.
48868         (Low-Level Parsing): Clarify that parsing will stop after the start or end of
48869         UNNESTED comments.
48871 2016-03-10  Nicolas Richard  <youngfrog@members.fsf.org>
48873         Add new function display-buffer-reuse-mode-window
48875         * lisp/window.el (display-buffer-reuse-mode-window): New function.
48876         * doc/lispref/windows.texi (Display Action Functions): Document it.
48878 2016-03-09  Paul Eggert  <eggert@cs.ucla.edu>
48880         Minor fixes for getaddrinfo_a usage
48882         * src/process.c (Fdelete_process): Check gai_cancel return value.
48883         That way, there’s no need to invoke gai_error.  Check gai_suspend
48884         return value.
48885         (Fmake_network_process): Don’t assume gai_strerror returns a UTF-8
48886         string.  Simplify call to connect_network_socket.
48887         (check_for_dns): Avoid unnecessary initialization of local.
48889 2016-03-09  Sam Steingold  <sds@gnu.org>
48891         declare `rmail-mime-entity-truncated' and `rmail-mime-render-html-function'
48893         The former avoids a compiler warning, the latter fixes a bug whereas
48894         the variable is compiled as lexical instead of dynamic.
48896 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
48898         Pacify --enable-gcc-warnings
48900         * src/xfns.c (x_create_tip_frame): Omit unused local.
48901         (Fx_show_tip): Don’t jump over auto initialization.
48903 2016-03-07  Martin Rudalics  <rudalics@gmx.at>
48905         Optionally reuse tooltip frames instead of deleting/recreating them.
48907         * src/frame.c (tooltip_reuse_hidden_frame): New option.
48908         * src/w32fns.c (x_create_tip_frame): Remove argument TEXT.  Fix
48909         handling of dividers.
48910         (x_hide_tip): New function.
48911         (Fx_show_tip): Try to reuse old tooltip frame when
48912         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
48913         have not changed.  Insert STRING here instead of passing it to
48914         x_create_tip_frame.  Compute size of tooltip window with
48915         Fwindow_text_pixel_size.  Obey Vw32_tooltip_extra_pixels when
48916         padding tooltip window.
48917         (Fx_hide_tip): Call x_hide_tip.
48918         (Vw32_tooltip_extra_pixels): New variable.
48919         * src/xdisp.c (Fwindow_text_pixel_size): Don't return negative y
48920         value.  Fix doc-string.
48921         * src/xfns.c (x_create_tip_frame): Remove argument TEXT.  Call
48922         make_frame with mini_p argument false.
48923         (x_hide_tip): New function.
48924         (Fx_show_tip): Try to reuse old tooltip frame when
48925         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
48926         have not changed.  Insert STRING here instead of passing it to
48927         x_create_tip_frame.  Compute size of tooltip window with
48928         Fwindow_text_pixel_size.
48929         (Fx_hide_tip): Call x_hide_tip.
48930         * lisp/cus-start.el (tooltip-reuse-hidden-frame): Add
48931         customization entry.
48933 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48935         Assume getaddrinfo in C code
48937         * admin/CPP-DEFINES, configure.ac: Remove HAVE_GETADDRINFO, HAVE_H_ERRNO.
48938         All uses removed.
48939         * doc/lispref/processes.texi (Network, Network Processes), etc/NEWS:
48940         Say that port numbers can be integer strings.
48941         * lib-src/pop.c (h_errno) [!WINDOWSNT && !HAVE_H_ERRNO]: Remove decl.
48942         (socket_connection): Assume HAVE_GETADDRINFO.
48943         * lisp/mpc.el (mpc--proc-connect):
48944         * lisp/net/network-stream.el (open-network-stream):
48945         It’s now OK to use integer strings as port numbers.
48946         * src/process.c (conv_numerical_to_lisp) [!HAVE_GETADDRINFO]: Remove.
48947         (Fmake_network_process): Assume HAVE_GETADDRINFO.
48949 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48951         Remove support for IRIX
48953         The IRIX port wasn’t really working anyway, and the code was
48954         getting in the way of other changes (e.g., getaddrinfo fixes).
48955         IRIX’s supplier dropped support for IRIX in 2013.
48956         * admin/CPP-DEFINES:
48957         * configure.ac (opsys):
48958         * doc/lispref/os.texi (System Environment):
48959         * etc/MACHINES, etc/PROBLEMS:
48960         * lisp/find-dired.el (find-grep-options):
48961         * lisp/lpr.el (lpr-lp-system):
48962         * lisp/ls-lisp.el (ls-lisp-emulation):
48963         * lisp/mail/rmail.el (rmail-spool-directory):
48964         * lisp/net/net-utils.el (ping-program-options):
48965         * lisp/progmodes/gud.el (gud-irix-p, gud-dbx-use-stopformat-p):
48966         * lisp/progmodes/ps-mode.el (ps-mode-print-function):
48967         * src/conf_post.h [IRIX6_5]:
48968         * src/emacs.c (Vsystem_type):
48969         * src/filelock.c (get_boot_time_1):
48970         * src/process.c (process_send_signal):
48971         * src/unexelf.c (unexec):
48972         Omit IRIX-specific code and/or documentation.
48973         * configure.ac (NON_GCC_TEST_OPTIONS, IRIX6_5, PREFER_VSUSP):
48974         Remove.  All uses removed.
48975         * etc/NEWS: Document the change.
48977 2016-03-06  John Wiegley  <johnw@newartisans.com>
48979         Revert "Use colors in the VC mode lines"
48981         This reverts commit 2621c293d82c15c00d9e73a8db75d70da7d0a23b.
48983 2016-03-06  Ken Brown  <kbrown@cornell.edu>
48985         Fix Cygwin-w32 build
48987         * src/w32fns.c (funhook, setup_w32_kbdhook, remove_w32_kbdhook):
48988         Define only if WINDOWSNT, and update all uses accordingly.
48989         * src/w32term.h (check_w32_winkey_state, setup_w32_kbdhook)
48990         (remove_w32_kbdhook): Declare only if WINDOWSNT.
48991         (w32_kbdhook_active): Define as 0 if not WINDOWSNT.
48993 2016-03-06  Eli Zaretskii  <eliz@gnu.org>
48995         Unbreak the MinGW64 build
48997         * nt/inc/ms-w32.h [MINGW_W64]: Undefine HAVE_GAI_STRERROR.  See
48998         https://lists.gnu.org/r/emacs-devel/2016-03/msg00130.html
48999         for the details.  Reported by Angelo Graziosi
49000         <angelo.graziosi@alice.it>.
49002 2016-03-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49004         Don't signal errors on E_AGAIN
49006         * src/gnutls.c (Fgnutls_errorp): Qgnutls_e_again is not an
49007         error now that TLS is async.
49009 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49011         Allow making TLS negotiation blocking
49013         * lisp/net/gnutls.el (gnutls-negotiate): Make negotiation blocking.
49015         * src/gnutls.c (Fgnutls_boot): Provide a new keyword,
49016         :complete-negotiation, to specify that we want complete
49017         negotiation even if the socket is non-blocking.
49018         (gnutls_try_handshake): Complete negotiation if given that keyword.
49020         * src/process.h (L): Added gnutls_complete_negotiation_p.
49022 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49024         Don't run ipv6 test on systems without ipv6
49026         * test/lisp/net/network-stream-tests.el
49027         (connect-to-tls-ipv6-nowait): Skip on systems without ipv6.
49029 2016-03-05  Eli Zaretskii  <eliz@gnu.org>
49031         Implement getaddrinfo fallback for MS-Windows
49033         See https://lists.gnu.org/r/emacs-devel/2016-02/msg01602.html
49034         for more details.
49036         * nt/mingw-cfg.site (ac_cv_func_getaddrinfo)
49037         (ac_cv_func_gai_strerror): Set to "yes", as the configure script's
49038         test program is not smart enough to auto-detect these.
49039         * nt/inc/sys/socket.h (getaddrinfo, freeaddrinfo): Redirect to
49040         sys_getaddrinfo and sys_freeaddrinfo.  Provide prototypes for
49041         sys_getaddrinfo and sys_freeaddrinfo.
49043         * src/w32.c (init_winsock): Try loading getaddrinfo and
49044         freeaddrinfo from ws2_32.dll.
49045         (sys_getaddrinfo, sys_freeaddrinfo): New functions.
49047         * lib-src/pop.c [WINDOWSNT]: Include winsock2.h, not winsock.h,
49048         and also ws2tcpip.h.
49049         (getaddrinfo, freeaddrinfo) [WINDOWSNT]: Redirect to
49050         sys_getaddrinfo and sys_freeaddrinfo, respectively.
49051         (load_ws2, sys_getaddrinfo, sys_freeaddrinfo) [WINDOWSNT]: New
49052         functions.
49054 2016-03-04  Glenn Morris  <rgm@gnu.org>
49056         * lisp/files.el: Fix recent typo.
49058         * lisp/subr.el (read-multiple-choice): Avoid free variable.
49060         * doc/lispref/files.texi (File Attributes): Fix typo.
49062 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
49064         Make the describe-key prompts clearer
49066         * lisp/help.el (describe-key-briefly): Make the prompt clearer
49067         (bug#14854).
49068         (describe-key): Ditto.
49070 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
49072         Allow scrolling while querying multiple choice
49074         * lisp/subr.el (read-multiple-choice): Allow scrolling the
49075         buffer while querying (bug#22827).
49077 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
49079         Add accessors for `file-attributes'
49081         * doc/lispref/files.texi (File Attributes): Mention the accessors.
49083         * lisp/files.el (file-attribute-type)
49084         (file-attribute-link-number, file-attribute-user-id)
49085         (file-attribute-group-id, file-attribute-access-time)
49086         (file-attribute-modification-time)
49087         (file-attribute-change-time, file-attribute-size)
49088         (file-attribute-modes, file-attribute-inode-number)
49089         (file-attribute-device-number): New functions.
49091         * src/dired.c (Ffile_attributes): Mention the accessors (bug#22890).
49093 2016-03-04  Michael Albinus  <michael.albinus@gmx.de>
49095         Fix Bug#22814
49097         * lisp/autorevert.el (global-auto-revert-mode): Do not set
49098         `auto-revert-use-notify' to nil.
49100         * etc/NEWS: Mention this.
49102         * etc/PROBLEMS: Remove problem Bug#22814.
49104         * src/kqueue.c: Include <sys/resource.h>.
49105         (Fkqueue_add_watch): Limit the number of used file descriptors.
49106         (Bug#22814)
49108         * test/lisp/filenotify-tests.el (file-notify--test-remote-enabled)
49109         (file-notify-test00-availability, file-notify-test01-add-watch)
49110         (file-notify-test02-events, file-notify-test06-many-events):
49111         Use #' read syntax for functions.
49112         (file-notify-test05-dir-validity)
49113         (file-notify-test06-many-events): Simplify directory creation.
49114         (file-notify-test09-sufficient-ressources): New test.
49116 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
49118         Fix insertion of edited servers in the dribble file
49120         * lisp/gnus/gnus-srvr.el (gnus-server-update-server): Don't
49121         insert explicit newlines, because they're quoted (bug#22903).
49123 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
49125         Move cl-seq-tests to the right place after the merge
49127         Move cl-seq-tests to the right place after the merge
49129 2016-03-03  John Wiegley  <johnw@newartisans.com>
49131         Merge from origin/emacs-25
49133         d6f6b7d * etc/AUTHORS: Update the AUTHORS file
49134         5cf7c39 authors.el updates
49135         a26f193 ; fix changelog entries
49136         fbc85c7 ; make change-history-commit
49137         06da00c Fix Bug#22859
49138         ab30bf5 ; * src/w32proc.c: Update the commentary to sys_select.
49139         1481029 Fix reordering of bidi text in an isolate inside an override
49140         60e0596 Document c-guess-basic-syntax in the CC Mode manual.
49142 2016-03-03  John Wiegley  <johnw@newartisans.com>
49144         Merge from origin/emacs-25
49146         f5d1435 Fix targets in test/automated/Makefile.in
49148 2016-03-03  John Wiegley  <johnw@newartisans.com>
49150         Merge from origin/emacs-25
49152         b6d6304 Comment on last change to define-derived-mode
49154 2016-03-03  John Wiegley  <johnw@newartisans.com>
49156         Merge from origin/emacs-25
49158         cb1e3da Also allow setting the paragraph direction to nil
49159         bbe8a89 Made the new OS X visible bell more visible.
49161 2016-03-03  John Wiegley  <johnw@newartisans.com>
49163         Merge from origin/emacs-25
49165         aae436e Uncomment the next-error-function integration in xref
49166         5f0d096 Remove the word "valid", to avoid ambiguity
49168 2016-03-03  John Wiegley  <johnw@newartisans.com>
49170         Merge from origin/emacs-25
49172         5a44bfe Set auto-revert-use-notify to nil in global-auto-revert-mode.  (Bug#22814)
49173         0d60bfc Fix ModelSim error parsing
49175 2016-03-03  John Wiegley  <johnw@newartisans.com>
49177         Merge from origin/emacs-25
49179         b13cab6 Add a eww command to toggle paragraph direction
49180         4e46128 * nextstep/WISHLIST: Merge into etc/TODO and remove.
49181         9e078e5 Fix char signedness issue in bidi code
49182         064adf6 * lib-src/pop.c (socket_connection): Fix format string.
49183         14060a9 Avoid inflooping in thing-at-point-looking-at
49184         098d47b * lisp/emacs-lisp/derived.el (define-derived-mode): Revert
49185                 indent change.
49186         b5db8e0 etc/PROBLEMS: Mention problems with using file descriptors
49187         ec10ef9 * lisp/apropos.el (apropos-variable): Doc fix.  (Bug#22813).
49188         d2dd614 Remove unneeded workaround in xftfont.c
49189         9b7593c ; * etc/NEWS: Reflect latest changes in saveplace.
49190         fde0cd1 * lisp/saveplace.el (save-place-local-mode): New minor mode
49191         06a872b Fix redisplay on a TTY after 'make-frame'
49192         95f5a43 Make double-click-1 work with unbalanced parens in CC Mode.
49193                 Fixes bug#5560.
49194         7d206fc Input method polish-slash should not use keyboard translation
49195         8be32cf Fix an assertion
49196         040e0d6 Fix 'toggle-save-place'
49197         5244db2 * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)
49199 2016-03-03  John Wiegley  <johnw@newartisans.com>
49201         Merge from origin/emacs-25
49203         e6a3819 Update HISTORY section in readme for the NextStep interface.
49204         f67f1ed ; * doc/lispref/modes.texi (Font Lock Basics): Minor rewording.
49205         7c81a0b Improve documentation of 'save-place-mode'
49206         cab3f0a Allocate glyph matrices for the initial frame
49207         e01c72f Fix white space in last checkin
49208         370eb67 Make `insert-pair' always leave the cursor where documented
49209         b594393 etc/NEWS: Mention the new second parameter to `package-install'
49211 2016-03-03  John Wiegley  <johnw@newartisans.com>
49213         Merge from origin/emacs-25
49215         bd58c13 Improve documentation of focus-related hooks
49216         00a4720 Further improve doc string of 'disable-point-adjustment'
49217         c582def Further adaptions in file-notify-tests.el for w32notify
49218         a1585e1 Don't bug out on localized dates in gnus-icalendar
49220 2016-03-03  John Wiegley  <johnw@newartisans.com>
49222         Merge from origin/emacs-25
49224         7bc4820 Make setf for frame-height/width work again
49226 2016-03-03  John Wiegley  <johnw@newartisans.com>
49228         Merge from origin/emacs-25
49230         6620944 (cl-union): Do not ignore :test argument when lists are equal.
49231         17dd3fb Add `isearch' to `basic-faces'
49232         c1ec743 Make $, : and @ "prefix characters" in ruby-mode
49233         e72a26e Make find-tag-default-bounds more strict
49234         1bc0e0a Minor fixes in filenotify.el
49236 2016-03-02  Alain Schneble  <a.s@realize.ch>
49238         Fix issue of inserting images on some systems
49240         * lisp/net/shr.el (shr-tag-img): Construct a non-empty range
49241         to pass to shr-image-fetched, to indicate where to insert the
49242         image.  Fixes the issue introduced with commit
49243         80852f843e69b81618f29cfb9aa4b074946cb3c4
49244         (bug#22789).
49246 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
49248         Ensure TLS negotiation progress
49250         * src/gnutls.h (GNUTLS_EMACS_HANDSHAKES_LIMIT): Increase the
49251         number of retries so that we try for about a minute.
49253         * src/process.c (wait_reading_process_output): Ensure progress
49254         for DNS resolution and TLS negotiation.
49256 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
49258         emacs-module.h slight simplification
49260         * src/emacs-module.c (emacs_init_function, emacs_subr): Move here ...
49261         * src/emacs-module.h: ... from here, as they don’t need to be public.
49262         (enum emacs_arity): Remove useless enum tag.  The enum value is
49263         used in ptrdiff_t contexts.
49265         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
49267 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
49269         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
49271 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
49273         emacs-module.c simplification and tuneup
49275         * src/emacs-module.c (CHECK_USER_PTR): New function.
49276         (module_get_user_ptr, module_set_user_ptr)
49277         (module_get_user_finalizer, module_set_user_finalizer): Use it.
49278         (module_make_global_ref, module_copy_string_contents)
49279         (module_make_string, module_vec_set, module_vec_get): Omit
49280         unnecessary runtime tests.  For example, vector sizes are always
49281         fixnums, so we don’t need to test that they are in fixnum range.
49283 2016-03-02  Philipp Stephani  <phst@google.com>
49285         Use standard checks whenever possible.
49287         This is possible in all functions where we catch signals anyway.
49289         * src/emacs-module.c (module_make_global_ref, module_funcall)
49290         (module_copy_string_contents, module_make_string): Use xsignal0
49291         and CHECK macros for argument checks.
49293 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
49295         Deterministic build improvements
49297         * configure.ac (BUILD_DETAILS): Rename from DETERMINISTIC_DUMP,
49298         and negate its sense.  Use it via AC_SUBST, not AC_DEFINE,
49299         and have its value be either empty or --no-build-details.
49300         All uses changed.  Change option to --disable-build-details.
49301         * doc/emacs/cmdargs.texi (Initial Options):
49302         Document --no-build-details.
49303         * doc/lispref/internals.texi (Building Emacs):
49304         * etc/NEWS:
49305         Document --disable-build-details.
49306         * doc/lispref/intro.texi (Version Info): Say that
49307         emacs-build-time can be nil.
49308         * lisp/erc/erc-compat.el (erc-emacs-build-time):
49309         Now nil if details are omitted.
49310         * lisp/erc/erc.el (erc-cmd-SV):
49311         * lisp/version.el (emacs-build-time):
49312         Now nil if no build details.
49313         (emacs-version):
49314         Output build time only if build details.
49315         * src/Makefile.in (BUILD_DETAILS): New macro.
49316         (temacs, bootstrap-emacs): Use it.
49317         * src/emacs.c (build_details): New var.
49318         (standard_args, main): Support --no-build-details.
49319         (Vdeterministic_dump): Remove; all uses replaced
49320         by !build_details.
49321         (syms_of_emacs): Set Vbuild_details to a boolean, not
49322         to a Lisp_Object.
49323         * src/lisp.h (build_details): New decl.
49324         * src/sysdep.c (init_system_name): When !build_details,
49325         set system-name to nil, not to "elided".
49327 2016-03-02  Philipp Stephani  <phst@google.com>
49329         Remove build system name from deterministic dumps
49331         * configure.ac (DETERMINISTIC_DUMP): New configuration option.
49332         * lisp/version.el (emacs-build-time): Add a comment to make the
49333         build time deterministic if requested.
49334         (emacs-build-system): Make variable deterministic if requested.
49335         * src/emacs.c (main): Initialize `deterministic-dump' from the
49336         configuration option.
49337         (syms_of_emacs): New constant `deterministic-dump'.
49338         * src/sysdep.c (init_system_name): Use a constant
49339         if a deterministic dump is requested.
49341 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
49343         Remove buggy parse-time test
49345         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
49346         Remove the iso parse test, since it doesn't work.
49348 2016-03-01  Paul Eggert  <eggert@cs.ucla.edu>
49350         * src/syntax.c (syntax_multibyte): Omit unnecessary parens.
49352 2016-02-29  Glenn Morris  <rgm@gnu.org>
49354         * lisp/emacs-lisp/autoload.el (autoload-timestamps):
49355         Experiment with setting to nil.
49357 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
49359         Make the revert command in timer-list-mode work
49361         * lisp/emacs-lisp/timer-list.el (timer-list): Make the revert
49362         command work.
49364 2016-02-29  Glenn Morris  <rgm@gnu.org>
49366         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
49367         Fix 6-week old merge error.
49369         * lisp/emacs-lisp/autoload.el (update-file-autoloads):
49370         Ensure timestamps.
49372         * lisp/emacs-lisp/package.el (package-generate-autoloads):
49373         Disable timestamps.
49375 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
49377         Allow binding `url-mime-accept-string'
49379         * lisp/url/url-http.el (url-http): Allow binding
49380         `url-mime-accept-string' (bug#22855).
49382 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
49384         Add a NEWS entry for the colorful VC indicator
49386 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
49388         Use colors in the VC mode lines
49390         * lisp/vc/vc-hooks.el: Make the mode line faces default to
49391         using colors to more clearly tell the user what the status is.
49393 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
49395         Support <bdo> and <bdi>
49397         * lisp/net/shr.el (shr-tag-bdo): New function.
49398         (shr-tag-bdi): Ditto.
49400 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
49402         Respect <html dir=auto>
49404         * lisp/net/shr.el (shr-tag-html): Respect the "auto"
49405         directional HTML setting.
49407 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
49409         Default bidi paragraph direction to nil
49411         * lisp/net/eww.el (eww-display-html): Default bidi rendering
49412         to nil, so that possibly more Arabic web pages render
49413         correctly (bug#22786).
49414         (eww-setup-buffer): Ditto.
49416 2016-02-29  Mathias Dahl  <mathias.dahl@gmail.com>
49418         Preserve current column, going up/down in thumbnail view.
49420 2016-02-29  Alan Mackenzie  <acm@muc.de>
49422         Handle "noise" macros and compiler directives.
49424         * lisp/progmodes/cc-langs.el (c-symbol-char-key): New language variable.
49426         * lisp/progmodes/cc-vars.el (c-noise-macro-names)
49427         (c-noise-macro-with-parens-names): New customizable variables.
49428         (c-noise-macro-name-re, c-noise-macro-with-parens-name-re): New variables.
49429         (c-make-noise-macro-regexps): New function.
49431         * lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Adapt to treat
49432         members of c-noise-macro-names as whitespace.
49433         (c-forward-noise-clause): New function.
49434         (c-forward-keyword-prefixed-id, c-forward-type, c-forward-declarator)
49435         (c-forward-decl-or-cast-1, c-backward-over-enum-header)
49436         (c-guess-basic-syntax CASE 5A.3, CASE 5A.5, CASE 9A):
49437         Handle "noise clauses" in parallel with, e.g., "hangon key clauses".
49439         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): Handle "noise clauses"
49440         in parallel with "prefix-spec keywords".
49442         * lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): call
49443         c-make-noise-macro-regexps to initialize the internal variables.
49445         * doc/misc/cc-mode.texi ("Noise Macros"): New section documenting the new
49446         facilities.
49448 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
49450         Stop calling res_init
49452         Emacs shouldn’t need to call res_init any more, now that nscd or
49453         equivalent is everywhere.  On modern systems, calling res_init
49454         simply slows Emacs down.  On ancient systems lacking nscd Emacs
49455         will still work well enough with this change; it’s just that it
49456         won’t respond to changes in /etc/resolv.conf.
49457         * configure.ac (HAVE_RES_INIT): Remove.  Worry about -lresolv only
49458         when configured --with-hesiod.  Hesiod is still used; see, e.g.:
49459         https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214
49460         * src/Makefile.in (LIBRESOLV): Remove.  All uses removed.
49462 2016-02-29  Glenn Morris  <rgm@gnu.org>
49464         * lisp/progmodes/grep.el (grep-save-buffers): Fix type, tweak doc.
49466         * lisp/progmodes/grep.el (grep-save-buffers): Don't autoload defcustoms.
49468 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
49470         * src/process.c (Fdelete_process): Simplify cast.
49472 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
49474         Use the correct background color when filling nested <divs>
49476         * lisp/net/shr.el (shr-face-background): Return the first
49477         background, because that's the one that's visible (bug#22680).
49479 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
49481         Make <div> in <li> not insert extra newlines
49483         * lisp/net/shr.el (shr-tag-div): Make <div> in <li> not insert
49484         extra newlines (bug#19587).
49486 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
49488         Allow reading Gnus reports from an offline cache
49490         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
49491         Allow reading bug reports from an offline cache directory.
49493 2016-02-28  Tino Calancha  <f92capac@gmail.com>
49495         Meta + shift + Fn combos are recognized by xterm>=216.
49497         * lisp/term/xterm.el (xterm-alternatives-map): Meta + shift +
49498         Fn combos are recognized by xterm>=216 (bug#22837).
49500 2016-02-28  Simen Heggestøyl  <simenheg@gmail.com>
49502         Declare $ as an expression prefix in SCSS
49504         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
49505         expression prefix (bug#22841).
49507 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
49509         Revert "Declare $ as an expression prefix in SCSS"
49511         This reverts commit ffb33264f21e8af60b8055c47baffcf0f6c300df.
49513         Revering to fix author name.
49515 2016-02-28  Simen  <simenheg@gmail.com>
49517         Declare $ as an expression prefix in SCSS
49519         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
49520         expression prefix (bug#22841).
49522 2016-02-28  Hugh Brown  <aardvark@saintaardvarkthecarpeted.com>
49524         Save buffers before running grep commands
49526         * lisp/progmodes/grep.el (grep-ask-about-save): New variable (bug#96).
49527         (grep, lgrep, rgrep): Use it (bug#96).
49529         * doc/emacs/building.texi (Grep Searching): Document
49530         `grep-save-buffers'.
49532         * lisp/progmodes/grep.el (grep-save-buffers): Rename from
49533         `grep-ask-about-save'.
49534         (grep--save-buffers): New function.
49535         (grep, lgrep, rgrep): Use it.
49537 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
49539         Allow sorting flyspell corrections
49541         * lisp/textmodes/flyspell.el (flyspell-sort): New function (bug#2405).
49542         (flyspell-sort-corrections-functionx): New variable.
49543         (flyspell-sort-corrections-alphabetically): New function.
49544         (flyspell-notify-misspell): Use them.
49545         (flyspell-auto-correct-word): Ditto.
49546         (flyspell-emacs-popup): Ditto.
49547         (flyspell-xemacs-popup): Ditto.  Suggested by Sebastien Delafond.
49549 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
49551         Wait for async DNS to complete before freeing resources
49553         * src/process.c (Fdelete_process): Wait for async DNS to
49554         complete before freeing the data structures it needs.
49556 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
49558         * lisp/faces.el: Remove duplicated functions from previous patch.
49560 2016-02-28  Eli Zaretskii  <eliz@gnu.org>
49562         Fix TLS connections on MS-Windows
49564         * src/w32.c (sys_write): If 'send' returns with WSAENOTCONN, and
49565         this is a non-blocking socket whose connection is in progress, set
49566         errno to EWOULDBLOCK, as expected by GnuTLS and other callers.
49567         Avoid overwriting the errno value from 'send' by 'ioctlsocket'.
49568         Suggested by Alain Schneble <a.s@realize.ch>.  (Bug#22789)
49570 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
49572         Add a NEWS entry for the read-color change
49574 2016-02-27  Jan Moringen  <jan.moringen@uni-bielefeld.de>
49576         Show the face colours when completing in `read-color'
49578         * lisp/faces.el (defined-colors-with-face-attributes): New function.
49579         (readable-foreground-color, defined-colors-with-face-attributes)
49580         (readable-foreground-color): Ditto.
49581         (read-color): Use them (bug#5305).
49583 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
49585         Clean up the code in parse-time-string-chars
49587         * lisp/calendar/parse-time.el (parse-time-string-chars):
49588         Clean up the code a bit.
49590 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
49592         Add some tests for parse-time.el
49594         * test/lisp/calendar/parse-time-tests.el: New file.
49596 2016-02-27  Dima Kogan  <dima@secretsauce.net>
49598         Strip out some leading whitespace when looking at logs
49600         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): When looking
49601         at expanded git logs with `vc-print-root-log' (C-x v L, then
49602         <enter> by default), Emacs was stripping out all leading
49603         whitespace from git logs.  I now strip exactly 2 leading
49604         spaces, which retains the indentation in the logs (bug#18110).
49606 2016-02-27  Dima Kogan  <dima@secretsauce.net>
49608         Use a separate history variable for align-regexp
49610         * lisp/align.el (align-regexp-history): New variable (bug#16891).
49611         (align-regexp): Use it.
49613 2016-02-27  Phil Sung  <philbert@gmail.com>
49615         Create subdirectories automatically in wdired
49617         * lisp/wdired.el (wdired-create-parent-directories): New
49618         variable (bug#6817).
49619         (wdired-create-parentdirs): New function.
49620         (wdired-do-renames): Use it.
49621         * doc/emacs/dired.texi (Wdired): Mention
49622         `wdired-create-parent-directories'
49624 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
49626         Return the correct error values from gnutls.c
49628         * src/gnutls.c (emacs_gnutls_read): Set errno to the value
49629         expected by process.c.
49630         (gnutls_try_handshake): Set gnutls_p to true earlier to avoid
49631         possible race condition with the process.c socket polling
49632         functions.
49634 2016-02-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
49636         Don't make assumptions about mkdir.  (Bug#22822)
49638         * test/Makefile.in (MKDIR_P): New, set by configure.
49639         (%.log): Use MKDIR_P.
49641 2016-02-27  Alexander Kuleshov  <kuleshovmail@gmail.com>
49643         Support switching to hexl-mode from image-mode
49645         * lisp/image-mode.el (image-toggle-hex-display)
49646         (image-mode-to-text): New functions.
49647         (image-mode-map, image-minor-mode-map): Bind "C-c C-x" to
49648         image-toggle-hex-display.
49649         (image-mode-map): New menu item "Show as Hex".
49650         (image-mode): Update doc string and echo-area message.
49651         (image-toggle-display): Support toggle to hex.  (Bug#22453)
49653         * doc/emacs/files.texi (File Conveniences): Document
49654         'image-toggle-hex-display'.
49656 2016-02-27  Eli Zaretskii  <eliz@gnu.org>
49658         Remove unused code in coding.c
49660         * src/coding.c (decode_eol): Remove unused code that handled the
49661         case of coding->dst_object being nil.  Replace it with an
49662         assertion.
49664 2016-02-26  Aurelien Aptel  <aaptel@suse.com>
49666         * src/syntax.c: Fix result of syntax_multibyte()
49668         The ?: operator has a lower precedence than ||.
49669         Bug introduced by commit 45b683a.
49671 2016-02-26  Paul Eggert  <eggert@cs.ucla.edu>
49673         --enable-gcc-warnings now uses -Wjump-misses-init
49675         When configuring with --enable-gcc-warnings, also enable
49676         -Wjump-misses-init, as it’s confusing to use a goto to skip over
49677         an initialization.  Fix the few places in the code that run afoul
49678         of this warning.
49679         * configure.ac (WERROR_CFLAGS): Add -Wjump-misses-init.
49680         * src/doc.c (Fsubstitute_command_keys):
49681         * src/image.c (svg_load_image):
49682         * src/regex.c (re_match_2_internal):
49683         * src/xdisp.c (redisplay_internal, redisplay_window):
49684         Don’t jump over initialization.
49686 2016-02-26  Jussi Lahdenniemi  <jussi@aprikoodi.fi>
49688         Improve the register-hotkey functionality on MS-Windows
49690         * src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for
49691         keyboard hook functionality.
49692         Include w32inevt.h, basetyps.h and unknwn.h.
49693         (VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros.
49694         (kbdhook): A new struct definition.
49695         (funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key)
49696         (check_w32_winkey_state, reset_w32_kbdhook_state): New functions.
49697         (modifier_set): Call check_w32_winkey_state if a Win key was
49698         pressed and the keyboard hook is active.
49699         (w32_wnd_proc): Don't handle Win key combinations if the keyboard
49700         hook is active.  Only register/unregister the hotkeys if the
49701         keyboard hook is not active.  When WM_CREATE is received, call
49702         setup_w32_kbdhook.  When WM_DESTROY is received, call
49703         reset_w32_kbdhook_state.
49704         (lookup_vk_code): When the keyboard hook is active, map
49705         alphanumeric characters to themselves.
49706         (w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key.  Map
49707         modified keys to VK_ANY if the keyboard hook is active.  Register
49708         Alt-x and Win-x combinations.
49709         (Fw32_shell_execute): Update doc string to reflect new
49710         functionality.  Bypass the code that posts the
49711         WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active.
49712         (Fw32_unregister_hot_key): Bypass the code that posts the
49713         WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active.
49714         (syms_of_w32fns) <w32-pass-lwindow-to-system>
49715         <w32-pass-rwindow-to-system, w32-phantom-key-code>
49716         <w32-lwindow-modifier, w32-rwindow-modifier>: Update doc strings
49717         to reflect the new functionality.
49718         * src/w32console.c (initialize_w32_display): Install the low-level
49719         keyboard hook.
49720         * src/w32inevt.c (key_event): Handle Win-x combinations only if
49721         the keyboard hook is not active.  If the hook is active, use
49722         check_w32_winkey_state instead.
49723         * src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook)
49724         (check_w32_winkey_state): Add prototypes.
49725         (w32_kbdhook_active): New macro.
49727         * doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the
49728         new functionality.
49730 2016-02-25  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
49732         Add forward-sexp (and related) tests
49734         * test/lisp/emacs-lisp/lisp-tests.el: New file for testing
49735         forward-sexp and related functions (bug#22800).
49737 2016-02-25  Jan Tatarik  <jan.tatarik@gmail.com>
49739         Don't use (localized) week days in dates
49741         * lisp/gnus/gnus-icalendar.el
49742         (gnus-icalendar-event:org-timestamp): Don't use (localized)
49743         week days in the dates, because that messes up things later.
49745 2016-02-25  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
49747         Update pcomplete/find
49749         * lisp/pcmpl-gnu.el (pcomplete/find): Update to newest version
49750         (bug#10487).
49752 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
49754         Make parse-time-string-chars more efficient
49756         * lisp/calendar/parse-time.el (parse-time-string-chars): The
49757         string has already been downcase, so don't care about case
49758         (bug#18522).
49760 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
49762         Remove killed buffers from the list of Gnus buffers
49764         * lisp/gnus/gnus.el (gnus-prune-buffers): Remove killed
49765         buffers from the list of Gnus buffers (bug#18522).
49767 2016-02-25  Paul Eggert  <eggert@cs.ucla.edu>
49769         Integer overflow cleanups for ports and socklen
49771         * src/process.c (struct sockaddr_and_len, conv_sockaddr_to_lisp)
49772         (get_lisp_to_sockaddr_size, Fset_process_datagram_address)
49773         (connect_network_socket):
49774         Use ptrdiff_t, not int, for signed object sizes.
49775         This addresses only a theoretical problem, as in practice these
49776         object sizes are less than 2**31, but we might as well use the
49777         same style here as elsewhere in Emacs.
49778         (string_integer_p): Remove; all uses removed.
49779         (Fmake_network_process): Check that port number is in range.
49780         When converting an integer-string service, rely on strtol
49781         rather than rechecking the string by hand.
49782         * src/process.h, src/w32.c (conv_sockaddr_to_lisp):
49783         Adjust prototypes to match.
49785 2016-02-24  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
49787         Add pcomplete support for find
49789         * lisp/pcmpl-gnu.el (pcomplete/find): Add pcomplete support
49790         for find (bug#10487).
49792 2016-02-24  Per Starbäck  <starback@stp.lingfil.uu.se>
49794         Replace XXX acronyms with draft standard ones
49796         * lisp/international/characters.el (c1-acronyms): Replace XXX
49797         entries with the acronyms PAD, HOP, SGCI from draft DIS 10646
49798         (bug#13745).
49800 2016-02-24  Kevin Ryde  <user42@zip.com.au>
49802         Make checkdoc warn about variables described as "True"
49804         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
49805         Docstrings for variables "True...", and functions "Return
49806         true...", should usually be "non-nil" (bug#15506).
49808 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
49810         Add NEWS entry for "number string" change
49812 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
49814         Allow using "number strings" as services on non-GNU systems
49816         * src/process.c (string_integer_p): New function.
49817         (Fmake_network_process): Use it to allow connecting to
49818         services specified as "993" even when getaddrbyname isn't
49819         available.
49821 2016-02-24  Michael Albinus  <michael.albinus@gmx.de>
49823         Fix problem in tramp.texi
49825         * doc/misc/tramp.texi (File name completion): Do not use
49826         @trampfn{} for IPv6 addresses.  Somehow, it results in errors
49827         during PDF creation.
49829 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
49831         Make image commands available in image-mode
49833         * lisp/image-mode.el (image-mode-map): Inherit from
49834         `image-map' so that the usual image commands work.
49836 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
49838         Move `o' to `O' in shr-map
49840         * lisp/net/shr.el (shr-map): `shr-save-contents' has moved
49841         from `o' to `O' to avoid collisions with `image-map'.
49843 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
49845         Make setting the coding system non-blocking
49847         * src/process.c (Fset_process_filter_multibyte): Defer
49848         completing coding system setup in asynchronous processes.
49849         (Fset_process_coding_system): Ditto.
49851 2016-02-23  Gregoire Jadi  <daimrod@gmail.com>
49853         Mention `proced-toggle-auto-update' in the proced-mode doc string
49855         * lisp/proced.el (proced-mode): Mention
49856         `proced-toggle-auto-update' (bug#14341).
49858 2016-02-23  Joshua Datko  <jbdatko@gmail.com>  (tiny change)
49860         Add a fortune-message command
49862         * lisp/play/fortune.el (fortune-message): Add a command to
49863         display fortunes in the echo area (bug#14915).
49865 2016-02-23  Susanne Oberhauser  <froh@suse.com>  (tiny change)
49867         Add hideshow bindings analogous to outline mode
49869         * lisp/progmodes/hideshow.el (hs-minor-mode-map): Add bindings
49870         analogous to outline mode bindings (bug#15324).
49872 2016-02-23  Bastien Guerry  <bzg@altern.org>
49874         Allow highlighting things like @math{2^{12}}
49876         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords):
49877         Allow highlighting things like @math{2^{12}} (bug#16390).
49879 2016-02-23  Per Bothner  <per@bothner.com>
49881         Make `C-{up,down,left,right}' work in term mode
49883         * lisp/term.el (term-raw-map): Define C-{up,down,left,right}
49884         to send the same escape sequence that xterm sends.  This makes
49885         backward-word and forward-word work in readline (bug#16746).
49887 2016-02-23  Dima Kogan  <dima@secretsauce.net>
49889         Allow ff-find-other-file (etc) to work with indirect clone buffers
49891         * lisp/find-file.el (ff-buffer-file-name): New function to
49892         allow the feature to work with indirect buffers, too
49893         (bug#16904).
49894         (ff-find-the-other-file): Use it.
49895         (ff-other-file-name): Ditto.
49896         (ff-get-file-name): Ditto.
49898 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
49900         Fix error in add-change-log-entry when the entry has no newline
49902         * lisp/vc/add-log.el (add-change-log-entry): The entry in the
49903         ChangeLog may end without a new line starting with blanks.
49905 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
49907         Avoid using mm-util functoins in gravatar.el
49909         * lisp/image/gravatar.el (gravatar-retrieve): Avoid using
49910         mm-util functions.
49911         (gravatar-retrieve-synchronously): Ditto.
49913 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
49915         Move low-level library files from the lisp/gnus directory
49917         The files moved from lisp/gnus are:
49919         auth-source.el -> /
49920         compface.el -> /image
49921         ecomplete.el -> /
49922         flow-fill.el -> /mail
49923         gravatar.el -> /image
49924         gssapi.el -> /net
49925         html2text.el -> /net
49926         ietf-drums.el -> /mail
49927         mail-parse.el -> /mail
49928         mail-prsvr.el -> /mail
49929         mailcap.el -> /net
49930         plstore.el -> /
49931         pop3.el -> /net
49932         qp.el -> /mail
49933         registry.el -> /
49934         rfc1843.el -> /international
49935         rfc2045.el -> /mail
49936         rfc2047.el -> /mail
49937         rfc2231.el -> /mail
49938         rtree.el -> /
49939         sieve-manage.el -> /net
49940         sieve-mode.el -> /net
49941         sieve.el -> /net
49942         starttls.el -> /net
49943         utf7.el -> /international
49944         yenc.el -> /mail
49946 2016-02-23  Tino Calancha  <f92capac@gmail.com>
49948         Allow undoing changes while doing query-replace
49950         * doc/lispref/searching.texi (Search and Replace): Mention
49951         undo (bug#21684).
49953         * lisp/replace.el (query-replace-help): Document undo.
49954         (perform-replace): Implement undo while replacing text.
49956 2016-02-23  John F. Trudeau  <JFTrudeau@aetna.com>  (tiny change)
49958         Highlight assignments in Makefiles more correctly
49960         * lisp/progmodes/make-mode.el (makefile-macroassign-regex):
49961         Highlight assignments preceded by a TAB character correctly
49962         (bug#20787).
49964 2016-02-23  Fredrik Bergroth  <fbergroth@gmail.com>  (tiny change)
49966         Use memmove instead of memcpy on overlapping regions
49968         * src/editfns.c (Ftranspose_regions): Regions may overlap, so
49969         use memmove instead of memcpy (bug#19213).
49971 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
49973         Port to --enable-gcc-warnings sans getaddrinfo_a
49975         * src/process.c (Fmake_network_process): Add ATTRIBUTE_UNUSED
49976         to a local unused when getaddrinfo_a is missing.
49977         Resize portbuf to size needed.  Do cheap test first.
49978         Move local to block where it’s needed.
49980 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
49982         Minor cleanups for async DNS etc.
49984         * src/frame.h (FRAME_WINDOW_CONFIGURATION_CHANGED):
49985         Omit unnecessary parens.
49986         * src/gnutls.c (gnutls_try_handshake, emacs_gnutls_deinit)
49987         (gnutls_verify_boot):
49988         Use bool for boolean.
49989         (ATTRIBUTE_FORMAT_PRINTF): Add printf attribute.
49990         * src/process.c (free_dns_request, Fmake_network_process):
49991         Allocate and free async request control block all in one go.
49992         (set_network_socket_coding_system, finish_after_tls_connection)
49993         (connect_network_socket):
49994         Now static.
49995         (conv_numerical_to_lisp): 2nd arg is now int, not unsigned.
49996         (Fmake_network_process): Use list1 for brevity.
49997         (wait_for_socket_fds): 2nd arg is now const ptr.
49998         * src/process.h (struct Lisp_Process.dns_request):
49999         Now struct gaicb *, not struct gaicb **, since there was always
50000         exactly one.  All uses changed.
50001         * src/window.c, src/window.h (run_window_configuration_change_hook):
50002         Now static.
50004 2016-02-23  Carlos Pita  <carlosjosepita@gmail.com>
50006         Allow more shell script defun forms
50008         * lisp/progmodes/sh-script.el (sh-mode): Allow more shell
50009         script defun forms, like function name () {...} (bug#19754).
50011 2016-02-23  Martin Rudalics  <rudalics@gmx.at>
50013         Fix `window-configuration-change-hook' and `window-size-change-functions'
50015         (1) Run `window-configuration-change-hook' if and only if at least
50016         one window was deleted or created or shows another buffer since
50017         last redisplay.
50019         (2) Run `window-size-change-functions' if and only if at least
50020         one window changed its size since last redisplay (in a few cases
50021         `window-size-change-functions' will also run when no window
50022         changed its size).
50024         (3) Provide two functions `window-pixel-height-before-size-change'
50025         and `window-pixel-width-before-size-change' that allow to easily
50026         detect which window changed size.
50028         * src/frame.h (struct frame): New boolean member
50029         window_configuration_changed.
50030         (FRAME_WINDOW_SIZES_CHANGED): Remove macro.
50031         (FRAME_WINDOW_CONFIGURATION_CHANGED): New macro.
50032         * src/frame.c (adjust_frame_size): Don't run
50033         `window-configuration-change-hook'.
50034         * src/window.h (struct window): New fields
50035         pixel_width_before_size_change and pixel_height_before_size_change.
50036         (WINDOW_INTERNAL_P): New macro.
50037         * src/window.c (Fwindow_pixel_width_before_size_change)
50038         (Fwindow_pixel_height_before_size_change): New functions.
50039         (Fdelete_other_windows_internal, Fwindow_resize_apply)
50040         (resize_frame_windows, Fsplit_window_internal)
50041         (Fdelete_window_internal, grow_mini_window)
50042         (shrink_mini_window, Fresize_mini_window_internal): Don't call
50043         FRAME_WINDOW_SIZES_CHANGED.
50044         (window_size_changed, window_set_before_size_change_sizes)
50045         (run_window_size_change_functions): New functions.
50046         (make_window): Initialize pixel_width_before_size_change and
50047         pixel_height_before_size_change.
50048         (Fdelete_window_internal): Don't call
50049         run_window_configuration_change_hook.
50050         (struct saved_window): Add pixel_height_before_size_change and
50051         pixel_width_before_size_change.
50052         (Fset_window_configuration): Try to identify window configuration
50053         changes correctly so run_window_configuration_change_hook and
50054         run_window_size_change_functions run only if configuration and size
50055         really changed.
50056         (save_window_save): Set the pixel_height_before_size_change and
50057         pixel_width_before_size_change fields.
50058         (Vwindow_size_change_functions): Move here definition from xdisp.c.
50059         * src/xdisp.c (prepare_menu_bars, redisplay_internal): Call
50060         run_window_size_change_functions.
50061         (Vwindow_size_change_functions): Move definition to window.c.
50062         * src/xfns.c (x_set_menu_bar_lines): Don't call
50063         run_window_configuration_change_hook.
50064         * doc/lispref/windows.texi (Window Sizes): Document new
50065         functions `window-pixel-height-before-size-change' and
50066         `window-pixel-width-before-size-change'.
50067         (Window Configurations): Mention that this may trigger
50068         execution of `window-size-change-functions' although no window
50069         changed size.
50070         (Window Hooks): Update descriptions of `window-size-change-functions'
50071         and `window-configuration-change-hook'.
50073 2016-02-23  Drew Adams  <drew.adams@oracle.com>
50075         (ls-lisp-insert-directory): Make -B work
50077         * lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work
50078         (bug#20776).
50080 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
50082         Fix typo in message-setup-fill-variables
50084         * lisp/gnus/message.el (message-setup-fill-variables): Fix
50085         typo in a recent checkin that used `setq-default' instead of
50086         `setq-local' (bug#22781).
50088 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
50090         `message-dont-reply-to-names' can also be a list of regexps
50092         * lisp/gnus/message.el (message-dont-reply-to-names):
50093         `message-dont-reply-to-names' can also be a list of regexps (bug#22773).
50095 2016-02-23  Vaidheeswaran C  <vaidheeswaran.chinnaraju@gmail.com>
50097         Make buttons in header lines work
50099         * lisp/help-mode.el (help-button-action): `help-xref-button' in
50100         header line doesn't work (bug#21024).
50102 2016-02-23  Vasilij Schneidermann  <v.schneidermann@gmail.com>
50104         Place apples randomly in Snake
50106         * lisp/play/snake.el (snake-score): New variable (bug#21359).
50107         (snake-set-dot): Place the apples randomly.
50109 2016-02-23  Tino Calancha  <f92capac@gmail.com>
50111         Allow optional parameter to be nil
50113         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Allow the
50114         optional parameter to be nil (bug#21576).
50116 2016-02-23  Tino Calancha  <f92capac@gmail.com>
50118         Completely ignore buffers with no name when copying file names
50120         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Completely
50121         ignore buffers with no file name. (bug#21577).
50123 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
50125         Make spelling of "Eshell" consistent
50127         * lisp/eshell/esh-mode.el (eshell-mode): Spell it "Eshell".
50128         * lisp/eshell/eshell.el (eshell-command):
50129         Spell it "Eshell" (bug#21678).
50131 2016-02-23  Simen Heggestøyl  <simenheg@gmail.com>
50133         Allow pretty lambdas in Scheme mode
50135         * lisp/progmodes/scheme.el (scheme-mode-variables): Borrow
50136         `prettify-symbols-alist' from Lisp mode (bug#21679).
50138 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
50140         Rename lisp--prettify-symbols-alist
50142         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist):
50143         Rename from `lisp--prettify-symbols-alist' since we're going
50144         to use it in Scheme mode, too.
50145         (lisp-mode-variables): Use it.
50147 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>  (tiny change)
50149         Remove spurious newline in package list
50151         * lisp/emacs-lisp/package.el (describe-package-1): Remove
50152         spurious newline (bug#21706).
50154 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
50156         Revert "Remove spurious newline in package list"
50158         This reverts commit fad14c289d36a2c61e0fd34105ebb1f62c80d71d.
50160 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>
50162         Remove spurious newline in package list
50164         * lisp/emacs-lisp/package.el (describe-package-1): Remove
50165         spurious newline (bug#21706).
50167 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
50169         Keep the position in the process buffer when deleting processes
50171         * lisp/simple.el (process-menu-delete-process): Keep the
50172         position in the buffer after killing a process (bug#21759).
50174 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
50176         Require that the buffer that we're trying to patch exist
50178         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
50179         buffer that we're trying to patch exist (bug#21852).
50181 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
50183         Require that the buffer that we're trying to patch exist
50185         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
50186         buffer that we're trying to patch exist (bug#21852).
50188 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
50190         Be more verbose when changing frame mode in ediff
50192         * lisp/vc/ediff-util.el (ediff-toggle-multiframe): Say what
50193         mode we toggled to (bug#21853).
50195 2016-02-22  Łukasz Stelmach  <stlman@poczta.fm>
50197         Encode header strings before printing
50199         * lisp/ps-print.el (ps-generate-header-line): Encode the
50200         header strings to avoid problems with non-ASCII headers
50201         (bug#22611).
50203 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
50205         Test message-strip-subject-trailing-was
50207         * test/lisp/gnus/message-tests.el (message-strip-subject-trailing-was):
50208         New test (bug#22632).
50210 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
50212         Make use of the `ert-with-function-mocked' macro
50214         * test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
50215         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9781): Use
50216         `ert-with-function-mocked' instead of implementing the fragile
50217         `unwind-protect' logic openly.
50219 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
50221         message-strip-subject-trailing-was: Refactor
50223         * lisp/gnus/message.el (message-strip-subject-trailing-was): Refactor
50224         the function replacing sequence of `if' calls with a mixture of `or'
50225         and `and' calls instead.  This makes it shorter and containing less
50226         internal state thus easier to follow.
50228 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
50230         ert-with-function-mocked: New macro
50232         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): New macro which
50233         allows evaluating code while particular function is replaced with
50234         a mock.  The original definition of said function is restored once the
50235         macro finishes.
50237 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
50239         Move Gnus functions frm rfc1843 to new file gnus-rfc1843
50241         * lisp/gnus/gnus-rfc1843.el: New file for Gnus/rfc1843
50242         interface functions.
50244         * lisp/gnus/gnus-rfc1843.el: Move all Gnus-specifig functions to
50245         gnus-rfc1843.
50247 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
50249         Don't use mm-util functions in qp.el
50251         * lisp/gnus/qp.el (quoted-printable-decode-region): Don't use
50252         mm-util functions.
50253         (quoted-printable-encode-string): Ditto.
50254         (quoted-printable-encode-region): Ditto.
50256 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
50258         Don't require mm-util
50260         * lisp/mail/ietf-drums.el (mm-util): Don't require.
50262 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
50264         Remove Gnus functions from auth-source.el
50266         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
50267         Remove usage of Gnus utility function.
50268         (mm-util, gnus-util): Don't require.
50270 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
50272         Allow deleting all non-matching cookies
50274         * lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow
50275         keeping matching cookies (bug#22720).
50277 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
50279         Make (setf (image-property ...)) return VALUE
50281         * lisp/image.el (image--set-property): Return VALUE, not IMAGE.
50283 2016-02-22  John Wiegley  <johnw@newartisans.com>
50285         Merge from origin/emacs-25
50287         a9c48d5 Additional fixes for file notification
50288         6bd9d69 Fix documentation of 'global-disable-point-adjustment'
50289         8c22ac9 ; Spelling fix
50290         2975784 Set file modes of pinentry socket for extra safety
50291         2667b3e Clarify GnuPG version compatibility chapter
50292         5e34c36 Revert "Change the default socket location for pinentry"
50293         e19c1c3 Kill off xref--display-history
50294         5698947 Keep the xref buffer visible until the user quits it explicitly
50295         e34fbde Change the default socket location for pinentry
50296         5f89658 Mention how to enable pinentry feature
50297         db51224 Sync with gnulib
50298         aa5a794 Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
50299         2d8b2fd Restore point when writing semantic table to disk
50300         27d3430 Mention pinentry.el in epa manual
50301         5baa001 Fix Bug#22736
50302         7261355 Grammar fix in doc string
50303         d0f3b18 Naming fix for consistency
50304         74ec92d Prefer customized value for GnuPG executable
50305         ea0b604 Fix memory reservation on MS-Windows
50306         c5f72aa Update NextStep readme and add wish list.
50307         6de26a7 Report also result in `file-notify--test-event-handler'
50308         5d17ae7 Improve file-notify-test08-watched-file-in-watched-dir
50309         1cb1268 Fix todo-mode item date editing bugs
50310         1e996cf Fix "[:upper:]" for non-ASCII characters
50311         896f993 Allow customizing the article mode cursor behavior
50312         24c1c1d Use pop-to-buffer-same-window in woman.el
50313         2a75f64 New filenotify test for bug#22736
50314         c9bccf7 Report critical battery errors
50315         d675db9 Make eww message toggling message clearer
50316         5e0bb40 * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment.
50317         fa8fd65 ; Improve character-folding entries in NEWS
50318         3722a69 Fix bugs in window resizing code
50319         289d5c6 Fix decoding DOS EOL in a unibyte buffer
50320         2abcb06 Correct c-parse-state cache manipulation error.
50321         14aec91 Take advantage of new GnuPG version check function
50322         e80c2a7 Make GnuPG version check robuster
50323         15a9464 Fix x-load-color-file pointer signedness
50324         132dbf0 * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct.
50325         78ab6f1 Follow convention for greek letter constants.
50326         106b5bb Add Stefan-Boltzmann constant to calc units table.
50327         b96baa8 * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode.
50328         5f91cf9 Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw.  (Bug#22669)
50329         2d40f7d Fix soffice UserInstallation-URL for Windows
50330         b1a3ebe Fix display of <pre> elements
50331         57d0e3d ; * lisp/help-fns.el: Remove outdated comment.
50332         7a0628d ; * admin/make-tarball.txt: Mention cleaning.
50334 2016-02-22  Oleh Krehel  <ohwoeowho@gmail.com>
50336         lisp/calendar/appt.el (appt-delete-window): Check if buffer is live
50338         * lisp/calendar/appt.el (appt-delete-window): Avoid trying to delete a
50339           non-existing buffer.
50341 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50343         Mention the further asynchronousity
50345 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50347         Fix async TLS boot problem
50349         * src/process.c (wait_reading_process_output): Verify the boot
50350         of the correct process.
50352 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50354         Clean up forgotten text in manual
50356         * doc/lispref/display.texi (Defining Images): Remove example
50357         forgotten when making previous change.
50359 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50361         Clean up debugging code
50363         * src/process.c (Fmake_network_process): Remove debugging printf.
50364         (wait_for_socket_fds, wait_while_connecting)
50365         (wait_for_tls_negotiation): Remove newlines from messages.
50367 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50369         Fix merge conflicts in network-stream-tests.el
50371 2016-02-21  Paul Eggert  <eggert@penguin.cs.ucla.edu>
50373         Port recent filevercmp addition to MS-Windows
50375         Reported by Andy Moreton in:
50376         https://lists.gnu.org/r/emacs-devel/2016-02/msg01302.html
50377         * nt/gnulib.mk (libgnu_a_SOURCES): Add filevercmp.c.
50378         (EXTRA_DIST): Add filevercmp.h.
50380 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50382         add_to_log expects Lisp parameters
50384 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50386         Mention sentinels in conjunction with :nowait t.
50388         * doc/lispref/processes.texi (Network Processes): Mention the
50389         recommended way of using sentinels with :nowait t.
50391 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50393         Mention in the doc strings that process functions may block
50395         (Fprocess_contact, Fprocess_datagram_address)
50396         (Fset_process_datagram_address, Fset_network_process_option)
50397         (Fprocess_send_region, Fprocess_send_string): Mention that the
50398         functions may block.
50399         (Fset_process_coding_system): Ditto.
50401 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50403         Add blocker warnings to the *Messages* buffer
50405         * src/process.c (wait_for_socket_fds): Add warning to the log.
50406         (wait_while_connecting): Ditto.
50407         (wait_for_tls_negotiation): Ditto.
50409 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50411         Rework the image property getter/setters
50413         * doc/lispref/display.texi (Defining Images): Document the
50414         renamed `image-get/set-property' functions.
50416         * lisp/image.el (image--set-property): Rename from
50417         image-set-property.
50418         (image-property): Declare a setf form.
50419         (image-property): Rename from `image-get-property'.
50421 2016-02-21  Paul Eggert  <eggert@cs.ucla.edu>
50423         Use Gnulib filevercmp for version comparison
50425         * admin/merge-gnulib (GNULIB_MODULES): Add filevercmp.
50426         * doc/lispref/strings.texi (Text Comparison):
50427         * etc/NEWS, src/fns.c:
50428         * test/src/fns-tests.el (fns-tests-string-version-lessp):
50429         Rename newly-introduced function to string-version-lessp, by
50430         analogy with strverscmp.
50431         * lib/filevercmp.c, lib/filevercmp.h: New files, copied from gnulib.
50432         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
50433         * src/fns.c: Include <filevercmp.h>.
50434         (gather_number_from_string): Remove.
50435         (Fstring_version_lessp): Reimplement via filevercmp.
50437 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
50439         Add a function to delete URL cookies
50441         * doc/misc/url.texi (Cookies): Document
50442         url-cookie-delete-cookies.
50444         * lisp/url/url-cookie.el (url-cookie-delete-cookies): New function.
50446 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
50448         Avoid integer overflows in string-numeric-lessp
50450         * src/fns.c (Fstring_numeric_lessp): If we have an integer
50451         overflow, compare lexicographically.
50453 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
50455         Add the string-numeric-lessp function
50457         * doc/lispref/strings.texi (Text Comparison): Document
50458         `string-numerical-lessp'.
50460         * src/fns.c (Fstring_numeric_lessp): New function.
50461         (gather_number_from_string): Helper function for that function.
50463         * test/src/fns-tests.el (fns-tests-string-numeric-lessp): Add tests.
50465 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
50467         Clarify levels of :nowait t.
50469         * doc/lispref/processes.texi (Network Processes): Mention
50470         levels of asynchronicity.
50472 2016-02-20  Alain Schneble  <a.s@realize.ch>
50474         Respect DNS timeouts
50476         * src/process.c (check_for_dns): If the async DNS request
50477         failed and the associated process is still in "connect" state,
50478         deactivate the process and set status to "failed".
50480 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
50482         Add a frame around the placeholder image in shr
50484         * lisp/net/shr.el (shr-make-placeholder-image): Add a frame
50485         around the image.
50487 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
50489         Use placeholder images in shr to avoid text moving around
50491         * lisp/net/shr.el (shr-rescale-image): Pass in width/height
50492         from the HTML.
50493         (shr-tag-img): Ditto.
50494         (shr-string-number): New function.
50495         (shr-make-placeholder-image): Make placeholder images.
50496         (shr-tag-img): Insert them if we have SVG support.
50498 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
50500         Get explicit width/height + scale computations right
50502         * src/image.c (compute_image_size): :scale should also be
50503         taken into account when :width and :height are explicitly names.
50505 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
50507         New functions for getting and setting image properties
50509         * doc/lispref/display.texi (Defining Images): Document
50510         image-get/set-property.
50512         * lisp/image.el (image-set-property): New function.
50513         (image-get-property): Ditto.
50515 2016-02-19  Alan Mackenzie  <acm@muc.de>
50517         Await the final mouse event in C-h c and C-h k.
50519         * lisp/help.el (describe-key-briefly, describe-key): On receiving a mouse
50520         event, keep reading further events until a timeout occurs, to ensure we have
50521         the complete mouse event from the user.
50523 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
50525         Add a library for creating and manipulating SVG images
50527         * doc/lispref/display.texi (SVG Images): New section.
50529         * lisp/svg.el: New file.
50531 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
50533         Fix up tests for async TLS negotiation
50535 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
50537         Fix coding system setup
50539         * src/process.c (set_network_socket_coding_system): Pass in
50540         the host/service that's been computed already.
50542 2016-02-18  Michael Albinus  <michael.albinus@gmx.de>
50544         Reference `tramp-theme' in GNU ELPA.
50546         * doc/misc/tramp.texi (Frequently Asked Questions):
50547         Reference `tramp-theme' in GNU ELPA.
50549 2016-02-17  Lars Ingebrigtsen  <larsi@gnus.org>
50551         Verify the TLS connection asynchronously
50553         * src/gnutls.c (gnutls_verify_boot): Refactor out into its own
50554         function so that we can call it asynchronously.
50555         (Fgnutls_boot): Use it.
50557         * src/process.c (wait_reading_process_output): Verify the TLS
50558         negotiation.
50560 2016-02-16  Simen Heggestøyl  <simenheg@gmail.com>
50562         Add column layout module to CSS property list
50564         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
50565         CSS Multi-column Layout Module.
50567 2016-02-16  Michael Albinus  <michael.albinus@gmx.de>
50569         Minor cleanup in CONTRIBUTE and test/README
50571         * CONTRIBUTE: Remove detailed explanation about testing; this
50572         is now in test/README.
50574         * test/README: Don't mention automated/ subdirectory.
50576 2016-02-15  Glenn Morris  <rgm@gnu.org>
50578         Provide 'term/name in lisp/term files.
50580         * lisp/term/AT386.el, lisp/term/bobcat.el, lisp/term/cygwin.el:
50581         * lisp/term/internal.el, lisp/term/iris-ansi.el, lisp/term/linux.el:
50582         * lisp/term/lk201.el, lisp/term/news.el, lisp/term/ns-win.el:
50583         * lisp/term/pc-win.el, lisp/term/rxvt.el, lisp/term/screen.el:
50584         * lisp/term/sun.el, lisp/term/tty-colors.el, lisp/term/tvi970.el:
50585         * lisp/term/vt100.el, lisp/term/vt200.el, lisp/term/w32-win.el:
50586         * lisp/term/w32console.el, lisp/term/wyse50.el, lisp/term/x-win.el:
50587         For consistency, provide 'term/name in all files that don't already.
50589 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
50591         Deactivate the correct process
50593         * src/process.c (wait_reading_process_output): Deactivate the
50594         correct process on failure.
50596 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
50598         Implement asynch TLS negotiation
50600         * src/gnutls.c (gnutls_try_handshake): Factor out into its own
50601         function.
50602         (emacs_gnutls_handshake): Use it.
50603         (emacs_gnutls_read): Just return instead of retrying the handshake.
50605         * src/process.c (finish_after_tls_connection): Factor out
50606         into its own function.
50607         (connect_network_socket): Use it.
50608         (wait_reading_process_output): Retry TLS handshakes.
50609         (wait_reading_process_output): Defer sentinel until TLS completes.
50611 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
50613         Simplify the DNS resolution loop a bit
50615         * src/process.c (wait_reading_process_output): Simplify the
50616         DNS resolution loop a bit.
50618 2016-02-15  Alain Schneble  <a.s@realize.ch>
50620         Loop over the process list instead of maintaining a separate list
50622         * src/process.c: Remove declaration/definition of dns_processes list.
50623         * src/process.c (wait_reading_process_output): Loop over all processes in
50624         Vprocess_alist instead of dns_processes, to check for completed DNS
50625         requests.
50627 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
50629         Allow setting the filter masks later
50631         * src/process.c (Fset_process_filter): Don't set the socket
50632         masks here, because we may not have a socket yet.
50633         (set_process_filter_masks): New function.
50634         (connect_network_socket): Set the filter masks here.
50636 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
50638         Remove debugging
50640 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
50642         Ensure we always free DNS resources when deleting a process
50644         * src/process.c (free_dns_request): Factor out into own function.
50645         (Fdelete_process): When deleting a process, free any DNS
50646         structures associated with it.
50647         (check_for_dns): Always free all DNS resources.
50649 2016-02-15  Alain Schneble  <a.s@realize.ch>
50651         Don't block in set-process-window-size
50653         * src/process.c (set-process-window-size): Explicitly return Qnil when
50654         called with network processes as set_window_size won't work anyway on
50655         socket fds.  As a welcome side effect, this makes the blocking
50656         wait_for_socket_fds call obsolete.
50658 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
50660         Do most of the coding system setup earlier
50662         * src/process.c (Fmake_network_process): Set the read/write
50663         coding systems here, so that special bindings work.
50664         (Fmake_network_process): Complete the coding system setup here.
50666 2016-02-15  John Wiegley  <johnw@newartisans.com>
50668         Merge from origin/emacs-25
50670         d4b93e1 Minor fixes in global-auto-composition-mode
50671         02b037b Allow arithmetic operators inside C++ template constructs.
50672         44b16f6 Avoid crashes in semi-malformed 'condition-case'
50673         652e5b4 Allow arithmetic operators inside C++ template constructs.
50674         d9ea795 Fix regression with 'recent-keys' and keyboard macros
50675         903603f Fix wording in a doc-view.el comment
50676         cf79616 ; Spelling fixes
50677         f8bf1b3 CONTRIBUTE cleanups and updates
50678         f3aaca3 Port USE_STACK_LISP_OBJECTS fix to Clang
50679         1834ac7 Port to x86 GCC 4.3.1 and earlier
50680         8482949 Fix point movement under 'scroll-conservatively'
50681         c1313b5 Replace colon in file name (not legal on Windows)
50682         f7af26c Fix a typo in edt.texi
50683         8badf95 Make 'mmap_realloc' on MS-Windows more reliable
50684         856cd94 Grep alias `all' shall not match parent directory
50686 2016-02-15  John Wiegley  <johnw@newartisans.com>
50688         Merge from origin/emacs-25
50690         dacde7e * etc/AUTHORS: Update the AUTHORS file
50691         478ca5d ; fix changelog entries
50692         2b7d006 ; make change-history-commit
50693         851decb * lisp/dired-aux.el: Require cl-lib.  (Bug#22613)
50694         47896c8 ; Improve commentary in insdel.c
50695         53ca1e1 Index tilde characters in names of backup files
50696         d97f522 Document deprecation of hi-lock-mode's 'C-x w' bindings
50697         b55f06d ; * etc/NEWS: Use double spaces to end a sentence.
50698         28bb214 Announce that the `C-x w' bindings are deprecated
50699         1c98f98 Suppress GNUstep hardening
50700         d82f24b Fix redisplay after a large insertion
50701         85a2753 Revert "Fix gnus-group-get-new-news-this-group on group with
50702                 closed server"
50703         e8e3db0 ; Improve merge documentation in CONTRIBUTE
50704         5be9989 * lib-src/make-docfile.c: Include stdarg.h.
50705         c95ebbf Extend gpm-mouse-mode's doc string and doc to point out
50706                 limitations.
50708 2016-02-15  John Wiegley  <johnw@newartisans.com>
50710         Merge from origin/emacs-25
50712         f5d6b9b Revert "Support integer image rotation and respect EXIF rotations"
50713         afe7d1f Revert "Document EXIF image rotation"
50714         c6f377c Document OS X LANG default
50715         eb4a18c Set locale when run from OS X GUI
50716         456c0a3 make-docfile cleanup for I/O, etc.
50717         25ec995 Memory-management cleanup in make-docfile
50718         02d925e Kevin Gallagher has new email address
50719         4ef153b Improve doc strings of 'forward/backward-word-strictly'
50720         3ad05a0 Describe Makefile test targets in test/README
50722 2016-02-15  John Wiegley  <johnw@newartisans.com>
50724         Merge from origin/emacs-25
50726         10b8ed2 Document EXIF image rotation
50727         0f60049 Support integer image rotation and respect EXIF rotations
50728         7dd45b6 Quote table names for postgres listings (sql-mode)
50729         6bac035 * lisp/replace.el (replace-match-maybe-edit): Make arg
50730                 `backward' optional.
50731         ee909aa * lisp/simple.el (next-line-or-history-element): Reset
50732                 temporary-goal-column.
50733         0a289d3 Suppress ACL ops if configured with --disable-acl
50734         1a9dbf5 Mention web bugs
50735         fa55da2 Make mm-html-blocked-images default to "" again
50737 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
50739         Protect against initial handshake failures
50741         * src/process.c (connect_network_socket): Mark the connection
50742         as failed if the handshake didn't succeed yet.  This should be
50743         reworked later.
50745 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
50747         Call the network security manager after doing TLS negotiation
50749         * lisp/net/network-stream.el (network-stream-open-tls):
50750         Postpone NSM verification when running async.
50752         * src/process.c (Fset_process_filter): This function doesn't
50753         need to wait.
50754         (connect_network_socket): Set the process status to "run" only
50755         after TLS negotiation.
50756         (wait_for_socket_fds): Take a name parameter for more debugging.
50757         (wait_reading_process_output): Don't change status to "run"
50758         unless TLS negotiation has finished.
50759         (send_process): Wait for the process here instead of
50760         send_process_string.
50761         (connect_network_socket): Call the network security manager.
50763 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
50765         Remove some #ifdefs and update documentation
50767         * doc/lispref/processes.texi (Network Processes): Remove
50768         mention of `dns'.
50770         * lisp/net/network-stream.el (open-network-stream): Remove
50771         mention of `dns'.
50773         * src/process.c (Fset_process_filter)
50774         (Fset_process_window_size, Fprocess_contact)
50775         (Fprocess_datagram_address, Fset_process_datagram_address)
50776         (Fset_network_process_option, Fprocess_send_region)
50777         (Fprocess_send_string, Fset_process_coding_system)
50778         (Fset_process_filter_multibyte): Remove the #ifdef
50779         HAVE_GETADDRINFO_A checks.
50780         (Fprocess_send_string): Wait for TLS negotiation.
50781         (wait_for_tls_negotiation): New function.
50782         (send_process): Remove the TLS boot check.
50784         * src/process.c (Fmake_network_process): Ditto.
50786 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
50788         Use :nowait t in url-gw
50790         * lisp/url/url-gw.el (url-open-stream): Just use :nowait t,
50791         since we're not differentiating.
50793 2016-02-14  Alain Schneble  <a.s@realize.ch>
50795         Add blockers to process functions
50797         * src/process.c (set-process-filter, set-process-window-size,
50798         process-contact, process-datagram-address, set-process-datagram-address,
50799         set-network-process-option): Make functions wait (block) on network
50800         process until pending DNS requests have been processed and associated
50801         socket initialized.
50803         * src/process.c (process-send-region, process-send-string,
50804         process-send-eof): Make functions wait (block) while network process is
50805         in connect state.
50807 2016-02-14  Simen Heggestøyl  <simenheg@gmail.com>
50809         Add fragmentation module to CSS property list
50811         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
50812         CSS Fragmentation Module Level 3.
50814 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
50816         * doc/lispref/sequences.texi: Add documentation for seq-map-indexed
50818 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
50820         New function seq-map-indexed
50822         * lisp/emacs-lisp/seq.el (seq-map-indexed): New function.
50823         * test/lisp/emacs-lisp/seq-tests.el: Add tests for seq-map-indexed.
50825 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50827         * lisp/gnus/mm-util.el: Remove the mm-string-as-multibyte alias.
50829 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50831         Fix problem with wrong encoding of non-ASCII message bodies
50833         * lisp/gnus/mml.el (mml-generate-mime-1): Disable
50834         multibyteness before encoding the data.
50836 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50838         Remove codepage setup code from mm-util
50840         * lisp/gnus/mm-util.el (mm-codepage-setup): Remove.
50841         (mm-codepage-iso-8859-list): Remove.
50842         (mm-codepage-ibm-list, mm-setup-codepage-iso-8859)
50843         (mm-setup-codepage-ibm): Remove.
50844         (mm-charset-eval-alist): Remove the code pages from the
50845         default value.
50847 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50849         Remove compat code for older Emacsen
50851         * lisp/gnus/gnus-art.el (gnus-button-url-regexp): Remove
50852         XEmacs compat code.
50854         * lisp/gnus/gnus-sync.el (gnus-sync-json-alist-p): Remove
50855         unused compat function.
50856         (gnus-sync-json-plist-p): Ditto.
50858         * lisp/gnus/message.el (message-default-charset): Make obsolete.
50859         (message-info): Remove compat code.
50860         (message-setup-fill-variables): Remove kludge needed earlier
50861         to not overwrite `normal-auto-fill-function'.
50862         (message-split-line): Remove compat code.
50864         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Remove
50865         compat code.
50867 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50869         Remove some compat functions from gmm-utils.el
50871         * lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Remove
50872         compat code.
50873         (gmm-image-search-load-path): Remove.
50874         (gmm-image-load-path-for-library): Remove.
50876 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50878         Remove the gmm-lazy and nnmail-lazy compat widgets
50880         * lisp/gnus/gmm-utils.el (gmm-lazy): Remove.
50882         * lisp/gnus/nnmail.el (nnmail-lazy): Remove.
50884 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50886         Clean up nnimap-request-move-article slightly
50888         * lisp/gnus/nnheader.el (subr-x): Require.
50890         * lisp/gnus/nnimap.el (nnimap-request-move-article): Clean up
50891         the code slightly.
50893 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50895         Use open-network-stream instead of open-protocol-stream
50897         * lisp/gnus/nnimap.el: Use open-network-stream instead of
50898         open-protocol-stream.
50900         * lisp/gnus/nntp.el: Ditto.
50902         * lisp/gnus/pop3.el: Ditto.
50904         * lisp/net/sieve-manage.el: Ditto.
50906         * lisp/net/network-stream.el (open-protocol-stream): Make obsolete.
50908 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50910         Remove compat code that relies on (featurep 'mule)
50912         * lisp/gnus/gnus-group.el (gnus-group-name-decode): Remove
50913         compat code.
50915         * lisp/gnus/gnus-start.el (gnus-read-descriptions-file):
50916         Remove compat code.
50918         * lisp/gnus/mm-bodies.el (mm-decode-body, mm-decode-string):
50919         Remove compat code.
50921         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
50922         Remove compat code.
50923         (mm-w3m-standalone-supports-m17n-p): Ditto.
50925 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50927         Remove compat functions from starttls.el
50929         * lisp/net/starttls.el
50930         (starttls-set-process-query-on-exit-flag): Remove.
50932 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50934         Remove compat functions from smime.el
50936         * lisp/gnus/smime.el (smime-replace-in-string): Remove.
50937         (smime-make-temp-file): Remove.
50939 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50941         Remove compat code from smiley
50943         * lisp/gnus/smiley.el (smiley-style): Remove compat code.
50945 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50947         Remove compat code from rfc2047
50949         * lisp/mail/rfc2047.el (rfc2047-encode-message-header): Remove
50950         compat code.
50951         (rfc2047-decode-string): Ditto.
50953 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50955         Remove compat function from pop3
50957         * lisp/gnus/pop3.el (pop3-set-process-query-on-exit-flag): Remove.
50959 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50961         Remove compat code in Gnus backends
50963         * lisp/gnus/nndiary.el (nndiary-error): Remove.
50965         * lisp/gnus/nndraft.el (nndraft-request-associate-buffer): Ditto.
50967         * lisp/gnus/nnfolder.el (nnfolder-read-folder): Ditto.
50969         * lisp/gnus/nnheader.el (nnheader-find-file-noselect): Ditto.
50971         * lisp/gnus/nnimap.el (nnimap-log-buffer): Remove compat code.
50973 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50975         Remove compat code from some mml files
50977         * lisp/gnus/mml-sec.el (mml-secure-passphrase-cache-expiry):
50978         Remove compat code.
50980         * lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query):
50981         Always use `mail-extract-address-components', since this isn't
50982         time critical.
50983         (mml-smime-get-dns-cert): Ditto.
50985         * lisp/gnus/mml.el (mml-preview): Remove compat code.
50987 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50989         Remove compat code and compat functions from mm-util.el
50991         * lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): Remove
50992         compat code.
50993         (mm-coding-system-priorities)
50994         (mm-mule-charset-to-mime-charset, mm-charset-after)
50995         (mm-mime-charset, mm-iso-8859-x-to-15-region): Remove compat code.
50996         (mm-detect-coding-region): Define unconditionally.
50997         (mm-detect-mime-charset-region): Ditto.
50998         (mm-coding-system-to-mime-charset): It's 'mime-charset now.
50999         (coding-system-name)
51000         (find-file-coding-system-for-read-from-filename)
51001         (find-operation-coding-system): Remove aliases.
51003 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
51005         Remove some compat code from mm-*.el
51007         * lisp/gnus/mm-bodies.el (mm-decode-body): Ditto.
51009         * lisp/gnus/mm-decode.el (mm-tmp-directory)
51010         (mm-valid-image-format-p): Remove compat code.
51012         * lisp/gnus/mm-url.el (mm-url-insert-file-contents): Remove
51013         "Connection" "Close" workaround for older Emacsen.
51015 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
51017         Remove compat code and functions from message.el
51019         * lisp/gnus/message.el (message-send-mail-function): Remove
51020         compat code.
51021         (message-dont-reply-to-names, message-mode)
51022         (message-setup-fill-variables, message-fill-paragraph)
51023         (message-remove-blank-cited-lines, message-make-from)
51024         (message-forward-rmail-make-body, message-tool-bar-gnome)
51025         (message-tab): Remove compat code.
51026         (message-completion-in-region): Remove.
51027         (message-read-from-minibuffer): Remove compat code.
51029 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
51031         Declare rfc1843 instead of autoloading
51033         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Declare
51034         instead of autoload.
51036 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
51038         Avoid signaling an error in 'dired-do-find-regexp-and-replace'
51040         * lisp/dired-aux.el: Require cl-lib, so that 'cl-mapcan' is
51041         autoloaded correctly.  (Bug#22613)
51043 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
51045         Fix network-stream-tests.el for MS-Windows
51047         * test/lisp/net/network-stream-tests.el
51048         (connect-to-tls-ipv6-nowait): Skip for MS-Windows builds.
51049         (connect-to-tls-ipv4-wait): Add a 0.1 sleep-for.
51051 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
51053         Remove some Message compat functions
51055         * lisp/gnus/message.el (message-kill-all-overlays): Define
51056         unconditionally.
51057         (message-window-inside-pixel-edges): Remove.
51058         (mail-dont-reply-to): Remove.
51060 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51062         Remove some Gnus compat code
51064         * lisp/gnus/gnus-art.el (gnus-mime-inline-part): Remove compat code.
51065         (gnus-mm-display-part): Ditto.
51067         * lisp/gnus/gnus-start.el (gnus-dribble-read-file): Remove
51068         compat code.
51070 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51072         Sort groups before inserting them into the group buffer
51074         * lisp/gnus/gnus-group.el (gnus-group-describe-all-groups):
51075         Sort groups before inserting them.
51077 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51079         Make "unseen" tracking work again in Gnus
51081         * lisp/gnus/gnus-sum.el (gnus-update-marks): Make "unseen"
51082         tracking work again.
51084 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51086         Remove Gnus compat functions defined in gnus.el
51088         * lisp/gnus/gnus.el (gnus-extent-detached-p): Remove.
51089         (gnus-extent-start-open, gnus-character-to-event)
51090         (gnus-assq-delete-all, gnus-add-text-properties)
51091         (gnus-put-text-property, gnus-key-press-event-p):
51093 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51095         Remove compat code from gnus-uu and win
51097         * lisp/gnus/gnus-util.el (gnus-image-type-available-p): Remove
51098         compat code.
51100         * lisp/gnus/gnus-uu.el (gnus-uu-tmp-dir): Remove compat code.
51102         * lisp/gnus/gnus-win.el (gnus-frames-on-display-list): Remove.
51104 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51106         Remove several gnus-util compat functions
51108         * lisp/gnus/gnus-util.el (gnus-set-process-query-on-exit-flag): Remove.
51109         (gnus-read-shell-command): Remove.
51110         (gnus-match-substitute-replacement): Remove.
51111         (gnus-string-match-p): Remove.
51112         (gnus-string-prefix-p): Remove.
51114 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51116         Remove the gnus-merge alias
51118         * lisp/gnus/gnus-util.el (gnus-merge): Remove.
51120 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51122         Remove the gnus-union alias
51124         * lisp/gnus/gnus-util.el (gnus-union): Remove.
51126 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51128         Remove the gnus-delete-alist alias
51130         * lisp/gnus/gnus-util.el (gnus-run-mode-hooks): Remove compat code.
51131         (gnus-delete-alist): Remove.
51133 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51135         Remove the gnus-float-time alias
51137         * lisp/gnus/gnus-util.el (gnus-completion-styles): Remove
51138         compat code.
51139         (gnus-float-time): Remove.
51141 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51143         Remove compat code from gnus-srvr, start and sum
51145         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Remove
51146         compat code.
51148         * lisp/gnus/gnus-start.el (gnus-check-reasonable-setup):
51149         Remove compat code.
51151         * lisp/gnus/gnus-sum.el (gnus-summary-display-arrow)
51152         (gnus-summary-make-menu-bar, gnus-summary-make-tool-bar)
51153         (gnus-recenter)
51154         (gnus-summary-limit-strange-charsets-predicate)
51155         (gnus-summary-show-thread): Remove compat code.
51157 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51159         Remove compat code from gnus-spec.el
51161         * lisp/gnus/gnus-spec.el (gnus-lrm-string-p): Remove compat code.
51162         (gnus-balloon-face-function): Remove compat code.
51164 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51166         Fix compat change in last check-in
51168         * lisp/gnus/gnus-group.el
51169         (gnus-group-name-charset-group-alist): `find-coding-system'
51170         doesn't exist in Emacs.
51172 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51174         Always use url-queue
51176         * lisp/gnus/gnus-html.el (gnus-html-schedule-image-fetching):
51177         Always use url-queue.
51179 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51181         Remove compat functions from gnus-html.el
51183         * lisp/gnus/gnus-html.el (gnus-html-encode-url-chars): Remove.
51185 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51187         Remove compat code from gnus-group.el
51189         * lisp/gnus/gnus-group.el (gnus-group-name-charset-group-alist)
51190         (gnus-group-make-tool-bar, gnus-group-update-tool-bar): Remove compat code.
51192 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51194         Define gnus-diary-kill-entire-line unconditionally
51196         * lisp/gnus/gnus-diary.el (gnus-diary-kill-entire-line):
51197         Define unconditionally.
51199 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51201         Remove compat code from gnus-cache and gnus-bookmark
51203         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map): Ditto.
51205         * lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-name):
51206         Remove compat code.
51208 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51210         Remove compat code from gnus-art.el
51212         * lisp/gnus/gnus-art.el (gnus-article-prepare)
51213         (gnus-mime-copy-part, gnus-output-to-file)
51214         (gnus-article-reply-with-original)
51215         (gnus-button-handle-apropos-variable)
51216         (gnus-button-handle-apropos-documentation):
51218 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51220         Remove compat code from gnus-agent.el
51222         * lisp/gnus/gnus-agent.el (gnus-agent-make-mode-line-string):
51223         Remove compat code.
51225 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51227         Rewrite gmm-labels usage to use cl-labels
51229         * lisp/gnus/gmm-utils.el (gmm-tool-bar-style): Remove compat code.
51230         (gmm-labels): Remove.
51232 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51234         Remove compat code from canlock.el
51236         * lisp/gnus/canlock.el (defmacro): Remove
51238 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51240         Remove compat code from auth-source
51242         * lisp/gnus/auth-source.el (auth-source-read-char-choice):
51243         Remove compat code.
51245 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51247         Fix gnus-group.el compilation warnings about unprefixed variables
51249         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): Avoid
51250         compilation warnings by passing in the dynamic variables as
51251         explicit lexical parameters to `eval'.
51253 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51255         Fix the :tracker slot name
51257         * lisp/gnus/registry.el (registry-lookup-secondary): The
51258         `tracker' slot is called `tracker', not `:tracker'.
51260 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51262         Fix compilation warnings in gnus-art.el
51264         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Autoload.
51265         (gnus-article-hide): Avoid compilation warnings.
51267 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51269         Fix compilation warning in gnus-score.el
51271         * lisp/gnus/gnus-score.el (gnus-art): Require to silence byte
51272         compiler.
51274 2016-02-12  Andreas Schwab  <schwab@linux-m68k.org>
51276         Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
51278         This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e.
51280         This makes nnimap groups not be activated.
51282 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51284         Fix encoding problem introduced by previous patch series
51286         * lisp/mail/rfc2047.el: Ditto (bug#22648).
51288         * lisp/mail/rfc2231.el: Fix problem created by the
51289         mm-replace-in-string conversion.
51291 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51293         Revert "Avoid defvarring prefix-less variables"
51295         This reverts commit 303390bda34f98b400798d5383cf0d722e35ba19.
51297         The defvars are needed if we're doing lexical-binding
51299 2016-02-12  Glenn Morris  <rgm@gnu.org>
51301         * test/lisp/url/url-auth-tests.el (url-auth-test-digest-auth):
51302         Make it pass.
51304         * test/lisp/url/url-auth-tests.el
51305         (url-auth-test-digest-auth-retrieve-cache): Fix obvious typo.
51307 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51309         Finish up cl-defmethoding registry,el
51311         * lisp/gnus/registry.el (initialize-instance): Use cl-defmethod.
51313 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51315         Revert the gnus-replace-in-string change, fix arguments, reapply
51317 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51319         Silence more message.el compilation warnings
51321         * lisp/gnus/message.el (message-generate-headers): Don't use
51322         variable values directly to get the header values, because
51323         that breaks with lexical binding (without unprefixed defvars).
51325 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51327         Fix various compilation warnings in message.el
51329         * lisp/gnus/message.el (message-fix-before-sending): Use
51330         read-multiple-choice instead of gnus-multiple-choice.
51331         (mm-util): Require.
51332         (rfc2047): Require.
51333         (message-remove-blank-cited-lines): Use message instead of
51334         gnus-message.
51335         (message-send): Use y-or-n-p instead of gnus-y-or-n-p.
51337 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51339         Silence compilation warning in mm-view
51341         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Silence
51342         compilation warning.
51344 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51346         Fix epg-related compilation warnings in mml-sec
51348         * lisp/gnus/mml-sec.el: Fix compilation warnings from the epg
51349         library.
51351 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51353         rmail-dont-reply-to-names is obsolete
51355         * lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Don't bind
51356         the obsolete `rmail-dont-reply-to-names' variable.
51358 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51360         Partially revert the defmethod->cl-defmethod change in registry.el
51362         * lisp/gnus/registry.el (initialize-instance): Use defmethod,
51363         since cl-defmethod doesn't work with :after.
51364         (initialize-instance): Ditto, but with :before.
51366 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51368         Avoid obsolete function in plstore
51370         * lisp/gnus/plstore.el (plstore--insert-buffer): Use setf
51371         instead of the obsolete epg-context-set-armor.
51373 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51375         Use cl-defmethod in registry.el
51377         * lisp/gnus/registry.el: Use cl-defmethod instead of the
51378         obsolete defmethod.
51380 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51382         Make sieve-manage require sasl
51384         * lisp/net/sieve-manage.el: Fix compilation warning by
51385         requiring sasl.
51387 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51389         Avoid defvarring prefix-less variable
51391         * lisp/gnus/mm-uu.el (mm-uu-entry): Rename from `entry'.
51393 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51395         * lisp/gnus/mailcap.el: Remove usage of mailcap-delete-duplicates.
51397 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51399         Don't use the obsolete char-valid-p function
51401         * lisp/gnus/mm-url.el (mm-url-decode-entities): Don't use the
51402         obsolete char-valid-p function.
51404 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51406         Fix missed translation in a previous commit
51408         * lisp/gnus/mailcap.el (mailcap-mime-types): Fix missed
51409         translation of mailcap-delete-duplicates.
51411 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51413         Avoid using mm-make-temp-file
51415         * lisp/gnus/mail-source.el (mail-source-delete-crash-box): Ditto.
51417         * lisp/gnus/mm-decode.el (mm-display-external): Ditto.
51419         * lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Ditto.
51421 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51423         Fix compilation warning in gnus-start
51425         * lisp/gnus/gnus-start.el (gnus-slave-save-newsrc): Avoid
51426         mm-make-temp-file.
51428 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51430         Avoid the obsoleted defmethod
51432         * lisp/gnus/gnus-icalendar.el: Use cl-defmethod instead of
51433         defmethod.
51435 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51437         Avoid defvarring prefix-less variables
51439         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): We
51440         don't need to `defvar' the short variables to allow `eval' to
51441         use them.
51443 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51445         nnweb doesn't need unibyte buffers
51447         * lisp/gnus/nnweb.el (nnweb-retrieve-headers)
51448         (nnweb-read-overview, nnweb-request-article)
51449         (nnweb-google-reference): Unibyte buffers are not needed here.
51451 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51453         Encode before sending from nnspool
51455         * lisp/gnus/nnspool.el (nnspool-request-post): Encode data
51456         before sending it to the news server.
51458 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51460         nnrss buffers don't have to be unibyte
51462         * lisp/gnus/nnrss.el (nnrss-insert): The buffer doesn't have
51463         to be unibyte just to receive data, I think.
51465 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51467         Don't use mm-with-unibyte-current-buffer in mml2015
51469         * lisp/gnus/mml2015.el (mml2015-mailcrypt-encrypt): Don't use
51470         mm-with-unibyte-current-buffer.
51472 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51474         Don't use mm-with-unibyte-current in mml1991
51476         * lisp/gnus/mml1991.el (mml1991-epg-sign): Don't use
51477         mm-with-unibyte-current.
51479 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51481         Don't use mm-with-unibyte-current in mml1991
51483         * lisp/gnus/mml1991.el (mml1991-pgg-sign): Don't use
51484         mm-with-unibyte-current.
51486 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51488         Don't use mm-with-unibyte-buffer in utf7
51490         * lisp/international/utf7.el (utf7-fragment-encode): Don't use
51491         mm-with-unibyte-buffer.
51493 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51495         Remove XEmacs compat code from Gnus helper libraries
51497         * lisp/gnus/plstore.el (plstore-called-interactively-p): Remove.
51499         * lisp/gnus/pop3.el (pop3-make-date): Remove XEmacs compat.
51501         * lisp/gnus/sieve-mode.el: Remove XEmacs compat.
51503         * lisp/gnus/spam-stat.el (spam-stat-called-interactively-p): Remove.
51505 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51507         Remove XEmacs compat code from Gnus backends
51509         * lisp/gnus/mm-view.el (mm-inline-image-xemacs): Remove.
51510         (mm-inline-image): Rename from mm-inline-image-emacs.
51512         * lisp/gnus/mml.el: Remove XEmacs compat code.
51514         * lisp/gnus/nnheader.el: Remove XEmacs compat code.
51516         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Remove
51517         XEmacs compat code.
51519         * lisp/gnus/nnir.el (nnir-run-gmane): Remove XEmacs compat code.
51521         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system): Remove
51522         XEmacs compat code.
51524         * lisp/gnus/nnmairix.el: Remove XEmacs compat code.
51526         * lisp/gnus/nnrss.el: Remove XEmacs compat code.
51528         * lisp/gnus/nntp.el: Remove XEmacs compat code.
51530 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51532         Remove XEmacs compat functions from mm-util.el
51534         * lisp/gnus/mm-util.el (mm-special-display-p): Remove.
51535         (mm-decode-coding-string, mm-encode-coding-string)
51536         (mm-decode-coding-region, mm-encode-coding-region): Remove.
51537         (mm-string-to-multibyte): Remove.
51538         (mm-char-or-char-int-p): Remove.
51539         (mm-ucs-to-char): Remove compat versions of the function.
51540         (mm-read-coding-system): Remove.
51541         (mm-coding-system-p): Remove compat code.
51542         (mm-enrich-utf-8-by-mule-ucs): Remove.
51543         (mm-enable-multibyte, mm-disable-multibyte): Remove compat versions.
51544         (mm-delete-duplicates): Remove.
51545         (mm-multibyte-p): Remove compat versions.
51546         (mm-xemacs-find-mime-charset-1): Remove.
51547         (mm-xemacs-find-mime-charset): Remove.
51548         (mm-make-temp-file): Made obsolete.
51549         (mm-find-buffer-file-coding-system): Remove XEmacs compat.
51551 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51553         Remove Message and mm-decode XEmacs compat code
51555         * lisp/gnus/message.el: Remove XEmacs compat code.
51557         * lisp/gnus/mm-decode.el (mm-create-image-xemacs): Remove.
51559         * lisp/gnus/mm-util.el: Remove some XEmacs compat code.
51561 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51563         Remove som XEmacs compat code from message.el
51565         * lisp/gnus/message.el: Remove some XEmacs compat code.
51567 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51569         Remove XEmacs compat code from ietf-drums.el
51571         * lisp/mail/ietf-drums.el (ietf-drums-syntax-table): Drop
51572         XEmacs compat.
51574 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51576         Remove XEmacs compat code from gravatar.el
51578         * lisp/gnus/gravatar.el: Remove XEmacs compat code from
51579         gravatar.el.
51581 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51583         Remove more XEmacs compat code from Gnus
51585         * lisp/gnus/gnus-util.el (gnus-bound-and-true-p): Remove.
51586         (gnus-timer--function): Remove.
51588         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Remove XEmacs
51589         19.2 compat.
51591         * lisp/gnus/gnus-win.el: Remove XEmacs compat code.
51593 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51595         Remove more XEmacs compat functions from gnus-util.el
51597         * lisp/gnus/gnus-util.el (gnus-put-display-table): Remove.
51598         (gnus-get-display-table): Remove.
51599         (gnus-format-message): Remove.
51601 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51603         Remove more XEmacs compat functions from Gnus
51605         * lisp/gnus/gnus-util.el (gnus-next-char-property-change): Remove.
51606         (gnus-previous-char-property-change): Remove.
51607         (gnus-graphic-display-p): Remove.
51608         (gnus-select-frame-set-input-focus): Remove.
51610 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51612         Remove more XEmacs compat code from gnus-util
51614         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
51615         all its usages).
51616         (gnus-invisible-p): Remove.
51618 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51620         Remove gnus-make-local-hook
51622         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
51623         all its usages).
51625 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51627         gnus-replace-in-string -> replace-regexp-in-string
51629         * lisp/gnus/gnus-util.el (gnus-replace-in-string): Declare
51630         obsolete.  Transform all usages of it into
51631         replace-regexp-in-string.
51633         * lisp/gnus/mailcap.el (mailcap-replace-in-string): Remove.
51635 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51637         Remove Gnus XEmacs compat
51639         * lisp/gnus/gnus-start.el (gnus-dribble-enter): Remove comment
51640         about code that doesn't work in XEmacs.
51642         * lisp/gnus/gnus-sum.el: Remove XEmacs compat.
51644         * lisp/gnus/gnus-topic.el: Remove XEmacs compat.
51646 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51648         Remove compat functions in gnus-spec.el
51650         * lisp/gnus/gnus-spec.el (gnus-string-width-function): Remove.
51651         (gnus-substring-function): Remove.
51652         (gnus-use-correct-string-widths): Remove.
51653         (gnus-make-format-preserve-properties): Remove.
51654         (gnus-xmas-format): Remove.
51656         * lisp/gnus/gnus-srvr.el (gnus-server-mode): Remove XEmacs compat.
51658 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51660         Remove Gnus XEmacs compat functions
51662         * lisp/gnus/gnus-registry.el: Remove XEmacs compat.
51664         * lisp/gnus/gnus-salt.el: Remove XEmacs compat.
51666         * lisp/gnus/gnus-score.el (gnus-decay-score): Remove XEmacs compat.
51668 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51670         Remove Gnus XEmacs compatibility
51672         * lisp/gnus/gnus-demon.el (gnus-demon-idle-since): Remove
51673         XEmacs compat.
51675         * lisp/gnus/gnus-dired.el: Remove XEmacs compat.
51677         * lisp/gnus/gnus-draft.el: Remove XEmacs compat.
51679         * lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): Remove
51680         XEmacs compat.
51682         * lisp/gnus/gnus-group.el: Remove XEmacs compat.
51684         * lisp/gnus/gnus-html.el: Remove XEmacs compat.
51686         * lisp/gnus/gnus-ml.el: Remove XEmacs compat.
51688         * lisp/gnus/gnus-picon.el (gnus-picon-style): Remove XEmacs comment.
51690 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51692         Don't use image-map if it isn't defined
51694         * lisp/net/shr.el (shr-image-map): Only use image-map as a
51695         parent if it's defined (bug#22614).
51697 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51699         Check for MagickAutoOrientImage
51701         * configure.ac: Check for MagickAutoOrientImage.
51703         * src/image.c (imagemagick_load_image): Don't use
51704         MagickAutoOrientImage unless it's available.
51706 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51708         Document EXIF image rotation
51710         * doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation.
51712 2016-02-10  Dima Kogan  <dima@secretsauce.net>
51714         Support integer image rotation and respect EXIF rotations
51716         * src/image.c (imagemagick_load_image): Allow integer rotations in
51717         addition to floating point rotations (bug#22591).
51718         * src/image.c (imagemagick_load_image): Images that have an
51719         orientation given in EXIF and have no explicit :rotation tag are now
51720         pre-rotated.  All information such as width/height is reported for the
51721         rotated image.
51723 2016-02-10  Wolfgang Jenkner  <wjenkner@inode.at>
51725         * lisp/net/shr.el (image-map): Defvar it.  (Bug#22614)
51727 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51729         * lisp/gnus/gnus-cite.el: Remove XEmacs compat code.
51731 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51733         Remove compat code from gnus-bookmark.el
51735         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-mouse-available-p): Remove.
51736         (gnus-bookmark-remove-properties): Remove.
51738 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51740         Remove XEmacs compat code from gnus-a*.el
51742         * lisp/gnus/gnus-agent.el: Remove compat code.
51744         * lisp/gnus/gnus-art.el: Remove compat code.
51746         * lisp/gnus/gnus-async.el: Remove compat code.
51748 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51750         Remove gmm compat functions
51752         * lisp/gnus/gmm-utils.el (gmm-image-search-load-path): Remove.
51753         (gmm-write-region): Remove.
51754         (gmm-called-interactively-p): Remove.
51756 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51758         * lisp/gnus/ecomplete.el: Remove XEmacs compat code.
51760 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51762         Remove compat code from compface.el
51764         * lisp/image/compface.el: Remove XEmacs compat code throughout.
51766 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51768         Remove the now empty gnus-ems.el and references to it
51770 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51772         Remove Gnus compat names for mouse bindings
51774         * lisp/gnus/gnus-ems.el (gnus-widget-button-keymap): Remove.
51775         (gnus-down-mouse-2): Remove.
51776         (gnus-down-mouse-3): Remove.
51778 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51780         Drop Gnus compat functions
51782         * lisp/gnus/gnus-ems.el (gnus-mule-max-width-function): Remove.
51784         * lisp/gnus/gnus-util.el (gnus-kill-all-overlays): Move here.
51786         * lisp/gnus/gnus.el (gnus-mode-line-modified): Remove.
51788 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51790         Get rid of gnus-ems-redefine
51792         * lisp/gnus/gnus-ems.el (gnus-mouse-face-prop): Remove.
51794 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51796         * lisp/gnus/gnus-spec.el: Move definition here from gnus-ems.el.
51798 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51800         Remove Gnus compat code
51802         * lisp/gnus/gnus-ems.el (gnus-ems-redefine): Remove
51803         transitional code from ten years ago.
51805 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51807         Allow interactively scaling past :max-width etc
51809         * lisp/image.el (image--current-scaling)
51810         (image--image-without-parameters): New functions.
51811         (image--change-size): Use them to allow changing the size of a
51812         image even if it has :width/:max-width (etc.) already set.
51814 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51816         * lisp/gnus/mm-decode.el (shr-image-map): Compilation fix.
51818 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51820         Allow accessing the image commands via shr
51822         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Allow
51823         accessing the image commands.
51825         * lisp/net/shr.el (shr-image-map): New map used for images.
51826         (shr-urlify): Don't overwrite image maps when applying URL maps.
51828 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51830         Use a sparse image keymap
51832         * lisp/image.el (image-map): Use a sparse keymap.
51834 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51836         Put a keymap on images created with insert-image and friends
51838         * lisp/image.el (image-save): New command.
51839         (image-rotate): Ditto.
51840         (image-map): New keymap.
51841         (insert-image): Put the image-map on all images.
51842         (insert-sliced-image): Ditto.
51843         * doc/lispref/display.texi (Showing Images): Document the
51844         image map.
51846 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51848         Fix some folding issues in read-multiple-choice
51850         * lisp/subr.el (read-multiple-choice): Fix folding when you
51851         have many items.
51853 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51855         Fix typo in last checkin
51857 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51859         Remove Gnus compat functions
51861         * lisp/gnus/gnus-ems.el (gnus-mark-active-p)
51862         (gnus-region-active-p, gnus-select-lowest-window)
51863         (gnus-summary-display-table, gnus-max-width-function): Remove
51864         compat functions.
51866 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51868         Move non-compat Gnus functions to gnus-util.el
51870         * lisp/gnus/gnus-util.el (gnus-remove-image, gnus-put-image)
51871         (gnus-create-image, gnus-image-type-available-p): Move here
51872         from gnus-ems.el, since these aren't compat functions.
51874 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
51876         Omit valloc decl if redundant
51878         * src/gmalloc.c (valloc): Omit decl if malloc.h is included,
51879         to pacify --enable-gcc-warnings.
51881 2016-02-09  Wolfgang Jenkner  <wjenkner@inode.at>
51883         Restore the calloc family.
51885         * src/gmalloc.c (calloc, gcalloc, hybrid_calloc): Restore definitions.
51886         They were lost in a4817d8 but calloc is still (marginally) used in
51887         code statically liked with emacs, so hybrid_calloc is needed.
51888         Also, in the non-hybrid case, we can't get rid of calloc anyway as
51889         other libraries liked with emacs may need it.
51890         * src/conf_post.h: Restore redefinition of calloc to hybrid_calloc.
51892 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51894         Remove some Gnus compat functions
51896         * lisp/gnus/gnus-ems.el (gnus-string-mark-left-to-right)
51897         (gnus-window-inside-pixel-edges, gnus-set-process-plist)
51898         (gnus-process-plist, gnus-process-get, gnus-process-put): Remove.
51900 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
51902         -
51904         -
51906 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
51908         Merge from origin/emacs-25
51910         4feb962 * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring
51911         cc419fb Don't inloop gnus-uu-mark-thread on the last thread
51912         51c77a2 Display non-ASCII group names better in prompts
51913         f93d669 Default to gpg2 instead of gpg
51915 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
51917         Merge from origin/emacs-25
51919         9ffe7dd * lisp/isearch.el (isearch-define-mode-toggle): Improve logic
51920         16140f7 * lisp/menu-bar.el (menu-bar-options-menu): New search submenu
51921         3db6adb * lisp/isearch.el (search-default-mode)
51922         4ea1ea7 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
51923         c77ffc8 Use monitor's resolution for positioning tooltips
51924         49e5749 Fix file-notify-test on MS-Windows
51925         be1d874 Fix issues found by auditing w32notify code
51926         87ae218 Extend etags Ruby support for accessors
51927         aa35257 Update publicsuffix.txt.
51928         6816bff Ensure that Gnus dribble handling allows removing entries
51929         691feae Be consistent when using encoded strings in nnimap data
51930         3ed423b Display the decoded Gnus group name
51931         5428b5b Use completion-ignore-case instead of defining command
51933 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
51935         Merge from origin/emacs-25
51937         1eaf68f * test/automated/file-notify-tests.el (file-notify-test06-many-events):
51938         d333716 ; * etc/NEWS: Expand news entry for scss-mode
51939         c32c16f ; Better document changes in ls-lisp default behavior
51940         dc6eed2 Fix doc string of tls-program
51942 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
51944         Merge from origin/emacs-25
51946         2c117fc * etc/NEWS: Document new mpc.el features
51947         71a0496 * lisp/custom.el (defface): Revert indentation change.  (Bug#22524)
51948         9dfece1 Correctly fontify C++ initializations which "look like" functions.
51949         4485222 Improve newsticker-treeview-selection-face
51950         4236944 Minor fix in tagging Ruby accessors by etags
51951         35fc77d Spelling fixes
51952         3dda110 Remove 'def X' from the example
51954 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
51956         Fix network-stream-tests on MS-Windows
51958         * test/lisp/net/network-stream-tests.el (make-local-unix-server):
51959         Skip if local sockets are not supported.
51961 2016-02-09  Michael Albinus  <michael.albinus@gmx.de>
51963         * admin/notes/bug-triage: Fix bug priorities.  Explain colors in debbugs-gnu.
51965 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
51967         Disable 'timer-list'
51969         * lisp/emacs-lisp/timer-list.el: Make 'timer-list' a disabled
51970         command.
51972 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
51974         Avoid aligned_alloc static/extern collision
51976         * src/alloc.c (aligned_alloc): Define to private name when a
51977         static function, to avoid collision with lisp.h extern decl.
51978         Reported by John Yates in:
51979         https://lists.gnu.org/r/emacs-devel/2016-02/msg00439.html
51981 2016-02-08  David Edmondson  <dme@dme.org>
51983         src/process.c Correctly convert AF_INET6 addresses
51985         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
51986         converted to a list of 16 bit quantities by
51987         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
51988         same scheme rather than expecting a (longer) list of 8 bit
51989         quantities.
51991 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
51993         Make `message-beginning-of-line' aware of folded headers
51995         * lisp/gnus/message.el (message-beginning-of-header): New function which
51996         moves point to the beginning of a mail header.  The function is aware of
51997         folded headers and with non-nil argument looks for the true beginning of
51998         a header while with nil argument moves to the indented text of header's
51999         value.
52000         (message-beginning-of-line): Function is now aware of folded headers and
52001         either moves point to the indention of a header or, in visual-line-mode,
52002         searches for the beginning of the header.
52004 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
52006         Optimize ‘point in message header’ check
52008         * lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
52009         regular expression matches with a single bound string match thus
52010         reducing amount of work the function is doing.
52012 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
52014         Make the `R' command get the correct relative <img>s
52016         * lisp/net/eww.el (eww-readable): Preserve the base URL so
52017         that image expansions are fetched from the right place (bug#22605).
52019 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
52021         Add a mode to list and cancel timers
52023         * doc/lispref/os.texi (Timers): Menton `timer-list'.
52025         * lisp/emacs-lisp/timer-list.el: New file.
52027 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
52029         Add new commands to allow changing the size of images
52031         * lisp/image.el (image-increase-size, image-decrease-size):
52032         New commands.
52033         (image-change-size): New function.
52035 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
52037         Allow the image scale to be a floating point number
52039         * src/image.c (compute_image_size): The scale can be a
52040         floating point number.
52042 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
52044         Add an IPv6 test
52046         * test/lisp/net/network-stream-tests.el
52047         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
52049 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
52051         Use gnutls-serv instead of openssh
52053         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
52054         gnutls-serv instead of openssh.
52056 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
52058         Skip TLS tests if we don't have openssl
52060         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
52061         TLS tests if we don't have openssl and GnuTLS.
52063 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
52065         Add an IPv6 test
52067         * test/lisp/net/network-stream-tests.el
52068         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
52070 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
52072         Use gnutls-serv instead of openssh
52074         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
52075         gnutls-serv instead of openssh.
52077 2016-02-08  Daniel Colascione  <dancol@dancol.org>
52079         Performance improvements for vc-hg
52081         Teach vc-hg how to read some Mercurial internal data structures,
52082         allowing us to avoid the need to run hg status -A, which is very slow
52083         for large repositories.  Fall back to running hg if anything looks
52084         funny.  vc-hg now puts the _working directory_ revision in the
52085         modeline instead of the file revision, which greatly improves
52086         performance and which allows us to again skip running hg in the case
52087         that we have an active bookmark.
52089         * lisp/vc/vc-hg.el (vc-hg-state): Try calling `vc-hg-statefast'
52090         (vc-hg-symbolic-revision-styles)
52091         (vc-hg-use-file-version-for-mode-line-version)
52092         (vc-hg-parse-hg-data-structures): New user preferences
52093         (vc-hg--active-bookmark-internal, vc-hg--run-log)
52094         (vc-hg--symbolic-revision, vc-hg-mode-line-string)
52095         (vc-hg--read-u8, vc-hg--read-u32-be)
52096         (vc-hg--raw-dirstate-search, vc-hg--cached-dirstate-search)
52097         (vc-hg--parts-to-string, vc-hg--pcre-to-elisp-re)
52098         (vc-hg--glob-to-pcre, vc-hg--hgignore-add-pcre)
52099         (vc-hg--hgignore-add-glob, vc-hg--hgignore-add-path)
52100         (vc-hg--slurp-hgignore-1, vc-hg--slurp-hgignore)
52101         (vc-hg--ignore-patterns-valid-p)
52102         (vc-hg--ignore-patterns-ignored-p, vc-hg--time-to-fixnum)
52103         (vc-hg--file-ignored-p, vc-hg--read-repo-requirements)
52104         (vc-hg--requirements-understood-p, vc-hg--dirstate-scan-cache)
52105         (vc-hg-state-fast): New functions.
52106         (vc-hg--hgignore-patterns, vc-hg--hgignore-filenames)
52107         (vc-hg--cached-ignore-patterns, vc-hg--dirstate-scan-cache)
52108         (vc-hg--dirstate-scan-cache): New internal variables.
52109         * lisp/vc/vc-hooks.el (vc-refresh-state): Invoke vc find-file-hook
52110         before updating modeline.
52112 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52114         Skip TLS tests if we don't have openssl
52116         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
52117         TLS tests if we don't have openssl and GnuTLS.
52119 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52121         Automatically scale images up on high-density screens
52123         * doc/lispref/display.texi (ImageMagick Images): Mention :scale.
52124         (Defining Images): Mention image-scaling-factor.
52126         * lisp/image.el (image-compute-scaling-factor): New function
52127         (bug#22172).
52128         (create-image): Use it.
52129         (image-scaling-factor): New variable.
52131         * src/image.c (compute_image_size): Take :scale into account.
52133 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52135         Ensure progress when fetching from the queue
52137         * lisp/url/url-queue.el (url-queue-check-progress): Ensure
52138         that we have progress when fetching queued requests (bug#22576).
52140 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52142         Make mail-extract-address-components return the user name more
52144         * lisp/mail/mail-extr.el (mail-extract-address-components):
52145         Return the name even if it's the same as the mailbox name (if
52146         `mail-extr-ignore-single-names' isn't set) (bug#22594).
52148 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52150         Message no longer warns about unknown top level domains
52152 2016-02-07  Jarno Malmari  <jarno@malmari.fi>
52154         Add tests for url-auth
52156         * test/lisp/url/url-auth-tests.el: New file.
52158 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52160         Add a TLS connection test
52162         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
52163         a TLS connection test.
52165 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52167         Add more network tests
52169         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
52170         New test.
52172 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52174         Add network tests
52176         * test/lisp/net/network-stream-tests.el: New suite of network tests.
52178 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52180         Add a TLS connection test
52182         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
52183         a TLS connection test.
52185 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52187         Add more network tests
52189         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
52190         New test.
52192 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52194         Add network tests
52196         * test/lisp/net/network-stream-tests.el: New suite of network tests.
52198 2016-02-07  Rasmus Pank Roulund  <rasmus@gmx.us>
52200         Allow various Gnus and Message address variables to be functions
52202         * doc/misc/gnus.texi (To From Newsgroups):
52203         gnus-ignored-from-addresses can be a function.
52205         * doc/misc/message.texi (Wide Reply):
52206         message-dont-reply-to-names can be a function.
52208         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-identities):
52209         message-alternative-emails can be a function.
52211         * lisp/gnus/gnus-notifications.el (gnus-notifications):
52212         message-alternative-emails can be a function (bug#22315).
52214         * lisp/gnus/gnus-sum.el
52215         (gnus-summary-from-or-to-or-newsgroups):
52216         gnus-ignored-from-addresses can be a function (bug#22315).
52218 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52220         Fix typo in Gnus regexp
52222         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Fix
52223         typo in last change to this regexp (bug#22592).
52225 2016-02-07  Paul Eggert  <eggert@cs.ucla.edu>
52227         Port to FreeBSD x86
52229         Reported by Herbert J. Skuhra in:
52230         https://lists.gnu.org/r/emacs-devel/2016-02/msg00336.html
52231         * src/lisp.h (NONPOINTER_BITS) [__FreeBSD__]: Zero in this case too,
52232         since malloc always returns a multiple of 8 in FreeBSD.
52234 2016-02-07  Alan Mackenzie  <acm@muc.de>
52236         On leaving CC Mode, clean up by removing character properties.
52238         * lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Remove from the buffer
52239         all instances of the text properties/extents category, syntax-table,
52240         c-is-sws, c-in-sws, c-type, and c-awk-NL-prop.
52242 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
52244         message-valid-fqdn-regexp no longer exists
52246         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Don't use
52247         the no-longer-existing message-valid-fqdn-regexp variable.
52249 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
52251         Remove message-valid-fqdn-regexp, since it changes too much now
52253         * lisp/gnus/message.el (message-valid-fqdn-regexp): Remove.
52254         (message-bogus-recipient-p): Don't use it any more.
52255         (message-make-fqdn): Ditto.  Suggested by Lars-Johan Liman.
52257 2016-02-06  Paul van der Walt  <paul@denknerd.org>
52259         Match "Re :" as a "Re:" prefix
52261         * lisp/gnus/message.el (message-subject-re-regexp): Also match
52262         "Re :" as a "Re:" prefix (commonly used in France).
52264 2016-02-06  Adam Sjøgren  <asjo@koldfront.dk>
52266         lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
52268         * lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
52270 2016-02-06  David Edmondson  <dme@dme.org>
52272         src/process.c Correctly convert AF_INET6 addresses
52274         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
52275         converted to a list of 16 bit quantities by
52276         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
52277         same scheme rather than expecting a (longer) list of 8 bit
52278         quantities.
52280 2016-02-05  Martin Jesper Low Madsen  <martin@martinjlowm.dk>
52282         Search for host/port combinations in auth-source on OS X
52284         * lisp/gnus/auth-source.el (auth-source-macos-keychain-search):
52285         Search for all host/port (or protocol) combinations for a match in
52286         the OS X keychain.
52288 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
52290         Remove nonsensical setting of gnus-newsgroup-unseen
52292         * lisp/gnus/gnus-sum.el (gnus-update-marks): Remove nonsensical
52293         setting of gnus-newsgroup-unseen.
52295 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
52297         Use underline on all terminals that support it
52299         * lisp/subr.el (read-multiple-choice): Use
52300         display-supports-face-attributes-p instead of
52301         display-graphic-p to determine whether we can use underlining.
52303 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
52305         Make the nsm query say what it did after the user interaction
52307         * lisp/net/nsm.el (nsm-query): Issue a message about
52308         aborting/accepting messages (suggested by N. Jackson)
52309         (bug#22531).
52311 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
52313         Omit XLI (init) == 0 optimization in make-vector
52315         * src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init)
52316         == 0) case, as this optimization is probably not worth the hassle.
52317         Just for the record, the test for that case could have been
52318         (XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!),
52319         assuming the typical platform with no padding bits and where
52320         conversion to int omits the most significant bits.
52322 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
52324         * autogen.sh: Port to dash (Bug#22556).
52326 2016-02-05  Michael Albinus  <michael.albinus@gmx.de>
52328         Minor cleanup for Tramp "doas".
52330         * doc/misc/tramp.texi (Inline methods): Add "doas" method.
52332         * etc/NEWS: Add Tramp connection method "doas".
52334         * lisp/net/tramp-sh.el (tramp-methods) <doas>:
52335         Add `tramp-remote-shell-args'.
52337 2016-02-05  Xi Lu  <lx@shellcodes.org>
52339         * lisp/net/tramp-sh.el (tramp-methods) <doas>: Add.  (Bug#22542)
52341         (tramp-default-user-alist): Add rule for "doas".
52342         (top): Completion function for "doas" is
52343         `tramp-completion-function-alist-su'.
52345 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52347         Restore the window configuration
52349         * lisp/net/nsm.el (nsm-query-user): Restore the window
52350         configuration (bug#22532).
52352 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52354         Use an X popup in read-multiple-choice if running from a mouse command
52356         * lisp/subr.el (read-multiple-choice): Use an X popup if
52357         called from a mouse action (bug#19368).
52359 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52361         Display cursor in echo area when prompting
52363         * lisp/subr.el (read-multiple-choice): Display the cursor in
52364         the echo area when prompting (bug#19368).
52366 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52368         Make NSM prompting clearer
52370         * lisp/net/nsm.el (nsm-query-user): Use read-multiple-choice
52371         to prompt in a nicer way (bug#19368).
52373 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52375         Underline read-multiple-choice-face
52377         * lisp/faces.el (read-multiple-choice-face): Also underline
52378         the choice.
52380 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52382         Make url.el use async DNS
52384         * lisp/url/url-gw.el (url-open-stream): Use non-blocking DNS.
52386         * src/process.c (syms_of_process): Add a `dns' subfeature for
52387         make-network-process.
52389 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52391         Only do async DNS if requested with :nowait 'dns
52393         * doc/lispref/processes.texi (Network Processes): Mention the
52394         dns value of :nowait.
52396         * src/process.c (Fmake_network_process): Only do async DNS if
52397         :nowait is `dns'.
52399 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52401         Add sanity check for checking async DNS
52403         * src/process.c (check_for_dns): Disregard processes that have
52404         already been killed.
52406 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52408         Make the read-multiple-choice prompt a bit prettier
52410         * doc/lispref/commands.texi (Reading One Event): Mention
52411         read-multiple-choice-face.
52413         * lisp/subr.el (read-multiple-choice): Make the prompting a bit
52414         prettier.
52416 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
52418         Prefer memcpy and memset to doing it by hand
52420         * src/alloc.c (Fmake_vector):
52421         * src/ccl.c (setup_ccl_program):
52422         Use memset to clear array.
52423         * src/alloc.c (Fvector, Fmake_byte_code):
52424         * src/charset.c (Fdefine_charset_internal):
52425         Use memcpy to copy array.
52427 2016-02-04  Nicolas Petton  <nicolas@petton.fr>
52429         Do not ignore redirections of 301, 302 and 307 status codes
52431         The current version of HTTP/1.1 (RFC 7231) no longer requires
52432         confirmation on 301, 302 or 307 status codes, therefore we do not have
52433         to ignore redirects for other requests than GET and HEAD.
52435         * lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
52436         and 307 redirects for other requests than GET and HEAD.
52438 2016-02-04  Mark Oteiza  <mvoteiza@udel.edu>
52440         * lisp/net/eww.el (eww-switch-to-buffer): Use pop-to-buffer-same-window instead.
52442 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
52444         Simplify USE_ALIGNED_ALLOC
52446         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify, now that we’ve merged
52447         in the emacs-25 changes.  Omit no-longer-needed decl for aligned_alloc.
52449 2016-02-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
52451         Honor docstring of gnus-group-get-new-news
52453         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg
52454         is t, but non-numeric, unconditionally consider all groups to need
52455         updating.
52457 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52459         New function read-multiple-choice
52461         * doc/lispref/commands.texi (Reading One Event): Document
52462         read-multiple-choice.
52464         * lisp/faces.el (read-multiple-choice-face): New face.
52466         * lisp/subr.el (read-multiple-choice): New function.
52468 2016-02-03  John Wiegley  <johnw@newartisans.com>
52470         Merge from origin/emacs-25
52472         ee73997 Make erc work better when encountering unknown prefix chars
52473         b99141d Make erc completion case-insensitive again
52474         66c4620 Make complection in erc use consistent casing
52475         8c562b2 Make /QUIT in erc more robust
52476         d93d2c5 Make tracking faces in Emacs work more reliably
52477         af6ab7e Make shr not bug out on images on non-graphical displays
52478         3311f40 Fix bookmark display widths
52479         d90ab1e Fix typo in eww-make-unique-file-name
52480         7f81825 Make it possible to TAB to input fields
52481         a43a1dc Insert complete alt texts when images are disabled
52482         56ed4e1 Allow eww text fields to grow
52483         66b315c Make erc work when subword-mode is switched on
52484         255b68f Fix IMAP doc example
52485         91557f5 Quoting fixes in doc strings and diagnostics
52486         2c0dc9f Fix warning message in hack-local-variables
52487         504696d Etags: yet another improvement in Ruby tags
52488         8784ebf Fix x-popup-menu on TTYs without a mouse
52489         8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the
52490                 pcase macro
52491         6191003 Use pop-to-buffer-same-window in eww
52492         fe321fd * autogen.sh: Revert all recent changes.
52493         74ebd4a * make-dist: Updates related to nt/.
52494         737193a * make-dist: Add modules/.
52495         3696bf2 * make-dist: Update for super-special file that can't live in etc/.
52496         a4278e2 Fix failure to compile ns-win.el in parallel builds
52497         860da4d Fix names of tags generated for Ruby accessors
52498         f6213ce Fix file-name recognition in 'etags'
52499         e42e662 Change Ruby file names and extensions recognized by 'etags'
52500         58bfb6a More improvements for Ruby support in 'etags'
52501         c04e911 Add --git-config option to autogen.sh
52502         5713466 Fix editing undo changes in eww fields
52503         51362d6 Allow the user more control of popping up the eww window
52504         ee0fbd8 Make eww-browse-url with new-window parameter work again
52505         9c3142d Clean up eww code slightly
52506         cb035f3 Don't insert nil faces in shr
52507         4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary.
52508         93f2153 Improve the custom type of some user options.
52509         9f60d7e Mark some risky calendar variables.
52510         1d07dcd Highlight two additional SCSS keywords
52511         ee8b466 Recommend enabling integrity-checking in git
52512         e639e10 Some corrections in Elisp manual
52513         d766ca8 Chatter when autogen.sh changes Git configuration
52514         3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
52515         43cb9f8 Omit unnecessary history from Lisp intro
52516         2fbd1da * etc/HISTORY: Add some more history, plus git tags.
52517         c90e1b4 Improve elisp “Security Considerations” doc
52518         cedd7ca autogen.sh now arranges for git to check hashes
52519         86ce76b ; Fix ChangeLog.2 commit ID.
52520         7b1d2b1 Fix (c & 040) typo in emergency escapes
52521         a8273da Fix display of overlay strings with 'display' and 'box' property
52522         fc48106 Fix imap-starttls-open
52523         cdecbed Fix return value of imap-starttls-open
52524         20c7e34 ; * etc/NEWS: Fix renamed command name
52525         98bdbdb Correct reference to DARWIN_OS preprocessor symbol
52526         b250d29 Spelling fix
52527         b920a0e Spelling fixes
52528         93b144b Pacify GCC on C library without glibc API
52530 2016-02-03  John Wiegley  <johnw@newartisans.com>
52532         Merge from origin/emacs-25
52534         ea26c8a * lisp/net/browse-url.el (browse-url-default-browser): Lower
52535                 priority of non-free Chrome.
52536         0fac75f Improve the custom type of some user options.
52537         2df0e04 Highlight CSS variables with variable name face
52538         3cf5e81 * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not
52539                 user-serviceable.
52540         2a5233c Mark some user options that can get evalled as risky.
52541         39b166f Disable DebPrint in sys_read on MS-Windows
52542         9fd0189 ;Fix ChangeLog entry
52543         4bb7233 Fix typos in Introduction to Emacs Lisp manual
52545 2016-02-03  Mark Oteiza  <mvoteiza@udel.edu>
52547         Add a new command to switch between erc buffers
52549         * doc/misc/eww.texi: Document eww-switch-to-buffer and its keybinding
52550         * etc/NEWS: Mention new command
52551         * lisp/net/eww.el (eww-mode-map): Bind eww-switch-to-buffer to "s"
52552         (eww-mode-map): Add menu item
52553         (eww-switch-to-buffer): New command
52555 2016-02-03  David Edmondson  <dme@dme.org>
52557         Make erc work better when encountering unknown prefix chars
52559         * lisp/erc/erc.el (erc-channel-receive-names): Output a warning
52560         instead of erroring out on unknown prefix chars (bug#22380).
52562 2016-02-03  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
52564         Allow sending empty hidden values in eww
52566         * lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
52567         values (bug#22388).
52569 2016-02-03  Andrew Hyatt  <ahyatt@gmail.com>
52571         Remove packages obsoleted before Emacs 24.
52573         In accordance with the policy discussed in the emacs-devel list,
52574         packages that have been obsoleted for a full major release cycle are up
52575         for deletion.
52577         This removes almost all packages that are now eligible for deletion,
52578         with the exception of "cl-compat", which seems it is likely to still be
52579         used, and "optional", which offers some functionality that doesn't have
52580         a replacement yet.
52582 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
52584         Mention context when resume from emergency escape
52586         That way, if the user has been doing something else for a while,
52587         they are reminded of the situation when restarting Emacs,
52588         and are more likely to understand the two questions.
52589         * doc/emacs/trouble.texi (Emergency Escape): Document this.
52590         * src/keyboard.c (handle_interrupt): Implement this.
52592 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
52594         Port aligned_alloc decl to Cygwin.
52596         Problem reported by Ken Brown (Bug#22522#38).
52597         * configure.ac (aligned_alloc): Check for decl too.
52598         * src/lisp.h (aligned_alloc): Declare if not already declared.
52600 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
52602         autogen.sh now configures git only on request
52604         * autogen.sh (do_autoconf, do_git): New vars.
52605         Support new arguments --help, all, autoconf, git.
52606         By default, just do autoconf-related configuration, not git.
52607         Prefer 'echo' to 'cat <<EOF ...', as this tends to avoid temp files.
52608         If GNU cp is available, use it to backup .git/config before
52609         changing it.  When configuring git, chatter about what is being
52610         done, and configure git to check hashes.  Avoid some duplicate
52611         file name specification when creating git hooks.
52613         * GNUmakefile (ALL_IF_GIT): New macro.
52614         (configure): Use it.
52615         * INSTALL.REPO: Suggest './autogen.sh all'.
52617 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
52619         Doc fixes and refactorings based on comments from Eli Zaretskii
52621         * doc/lispref/processes.texi (Network Processes): Clarify the
52622         meaning of :tls-parameters.
52624         * lisp/net/gnutls.el (open-gnutls-stream): Clarify :nowait.
52626         * lisp/net/gnutls.el (gnutls-boot-parameters): Factor out into
52627         own function.
52628         (gnutls-negotiate): Use it.
52629         (open-gnutls-stream): Ditto.
52631         * src/eval.c (vformat_string): Refactor out the printing bits
52632         from verror.
52633         (verror): Use it.
52635         * src/gnutls.c (boot_error): Mark failed processes with the
52636         real error message.
52638         * src/lisp.h: Declare vformat_string.
52640 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
52642         Build with C11 if available
52644         * admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
52645         * m4/std-gnu11.m4: New file, from gnulib.
52646         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
52648 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
52650         Update gnulib copy
52652         * doc/misc/texinfo.tex: Copy from gnulib.
52654 2016-02-02  Glenn Morris  <rgm@gnu.org>
52656         * lisp/vc/add-log.el (change-log-directory-files, find-change-log):
52657         Doc tweaks.
52659 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
52661         Port better to platforms lacking aligned_alloc
52663         Problem reported by Ken Brown (Bug#22522).
52664         * src/lisp.h (hybrid_aligned_alloc)
52665         [HYBRID_MALLOC && !HAVE_ALIGNED_ALLOC]: New decl.
52667 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
52669         Port malloc.h hygiene fix to LTO
52671         * src/alloc.c (__malloc_initialize_hook):
52672         Make it externally visible (Bug#22522).
52674 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
52676         Build fix for --enable-check-lisp-object-type
52678         * src/process.c (check_for_dns): Type fix reported by YAMAMOTO
52679         Mitsuharu.
52681 2016-02-01  Glenn Morris  <rgm@gnu.org>
52683         Make find-change-log prefer a VCS root, if no ChangeLog exists.
52685         * lisp/vc/add-log.el (change-log-directory-files): New option.
52686         (find-change-log): Respect change-log-directory-files.
52687         * doc/emacs/maintaining.texi (Change Log Commands):
52688         Mention change-log-directory-files.
52690 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
52692         Boot parameter check fix
52694         * src/process.c (send_process): Fix test for boot parameters noted
52695         by Andy Moreton.
52697 2016-02-01  Paul Eggert  <eggert@cs.ucla.edu>
52699         Double static heap size.
52701         * src/sheap.h (STATIC_HEAP_SIZE): Double it, since it was too
52702         small on FreeBSD (Bug#22086).
52704 2016-02-01  Michael Albinus  <michael.albinus@gmx.de>
52706         Fix Bug#20821
52708         * lisp/net/tramp.el (tramp-file-name-handler):
52709         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
52710         Use `tramp-drop-volume-letter'.  (Bug#20821)
52712 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52714         Style fix
52716 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52718         Return the correct server port number
52720         * src/process.c (connect_network_socket): Return the correct
52721         server port number.
52723 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52725         Fix autoconf test for getaddrinfo_a
52727         * configure.ac: Make the test for getaddrinfo_a work.
52729 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52731         Better async error reporting
52733         * src/process.c (connect_network_socket): Mark failed processes
52734         with a better error message.
52735         (check_for_dns): Ditto.
52737 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52739         Clarify :tls-parameters.
52741 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52743         Always boot TLS if given parameters
52745         * src/process.c (connect_network_socket): If we have the TLS
52746         parameters, then boot the socket.
52748 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52750         Add documentation for :tls-parameters
52752         * doc/lispref/processes.texi (Network Processes): Mention
52753         :tls-parameters.
52755         * src/process.c (Fmake_network_process): Document the
52756         :tls-parameters parameter.
52758 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52760         Build fix for glibc systems.
52762 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52764         Make network connections work again on non-glibc systems
52766         * lisp/net/gnutls.el (open-gnutls-stream): Pass the TLS
52767         keywords in directly so that they can be used when doing
52768         synchronous DNS on non-synchronous connections.
52770         * lisp/net/network-stream.el (open-network-stream): Allow
52771         passing in the TLS parameters directly.
52773         * src/process.c (conv_numerical_to_lisp): New function to convert
52774         numerical addresses to Lisp.
52775         (Fmake_network_process): Rework the non-HAVE_ADDRINFO code
52776         paths so that they work again.
52777         (syms_of_process): Build fix for non-glibc systems.
52779 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52781         Windows build fix
52783         * src/process.c (Fmake_network_process): Build fix for systems
52784         without local sockets.
52786 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52788         Use XCAR/XCDR instead of Fcar etc
52790 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52792         Fix GC problem in async TLS connection
52794         * src/process.h: All Lisp_Object slots have to come first,
52795         otherwise they won't be protected from gc.
52797 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52799         Further TLS async work
52801         * src/gnutls.c (boot_error): New function to either signal an
52802         error or return an error code.
52803         (Fgnutls_boot): Don't signal errors when running asynchronously.
52805         * src/process.h (pset_status): Move here from process.c to be
52806         able to use from gnutls.c.
52808         * src/process.c (connect_network_socket): Do the TLS boot here
52809         when running asynchronously.
52810         (wait_reading_process_output): Rework the dns_processes
52811         handling for more safety.
52813 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52815         Clean up dead code
52817         * lisp/net/gnutls.el (gnutls-async-sentinel): Remove.
52819 2016-01-31  Dave Barker  <kzar@kzar.co.uk>
52821         Add ability to give rcirc servers an alias name
52823         * lisp/net/rcirc.el (rcirc-server-alist): Add :server-alias
52824         customization option.
52825         (rcirc, rcirc-connect): Take server alias into account.
52827 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
52829         Port new hybrid malloc to FreeBSD
52831         Problem reported by Wolfgang Jenkner in: https://bugs.gnu.org/22086#118
52832         * src/gmalloc.c (__malloc_initialize_hook, __after_morecore_hook)
52833         (__morecore) [HYBRID_MALLOC]: Define in this case too.
52835 2016-01-31  Wolfgang Jenkner  <wjenkner@inode.at>
52837         * configure.ac: Stop using mmap for buffers for FreeBSD.
52839 2016-01-31  Michael Albinus  <michael.albinus@gmx.de>
52841         Merge changes from Tramp repository
52843         * doc/misc/Makefile.in (${buildinfodir}/tramp.info tramp.html):
52844         No EXTRA_OPTS needed.
52846         * doc/misc/tramp.texi: Merge changes from Emacsemacs-25
52847         branch, especially for @trampfn{}.
52848         (Top): Move @ifnottex down.
52849         (History): XEmacs support has been removed.
52850         (GVFS based methods, Remote processes): Do not use emacsgvfs flag.
52851         (Auto-save and Backup): Use both syntax versions.
52852         (File name Syntax): Remark on IPv6 adresses is valid for
52853         unified syntax only.
52855         * doc/misc/trampver.texi: Do not set emacsgvfs flag.
52857 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
52859         Spelling fixes
52861 2016-01-30  Glenn Morris  <rgm@gnu.org>
52863         * lisp/vc/add-log.el (find-change-log): Use locate-dominating-file.
52865 2016-01-30  Matthew Carter  <m@ahungry.com>
52867         Quote table names for postgres listings (sql-mode)
52869         * lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
52870           unquoted table names to the completion list.
52872 2016-01-30  Glenn Morris  <rgm@gnu.org>
52874         Change Smerge "Mine" and "Other" for "Upper" and "Lower.  (Bug#20878)
52876         * lisp/vc/smerge-mode.el (smerge-diff-switches)
52877         (smerge-context-menu, smerge-match-conflict, smerge-swap): Doc fixes.
52878         (smerge-upper, smerge-upper-face, smerge-keep-upper)
52879         (smerge-diff-base-upper): Rename from smerge-mine, smerge-mine-face,
52880         smerge-keep-mine, smerge-diff-base-mine.  Update all uses.
52881         (smerge-mine-face, smerge-other-face): Remove obsolete face aliases.
52882         (smerge-lower, smerge-lower-face, smerge-lower-re, smerge-keep-lower)
52883         (smerge-diff-base-lower): Rename from smerge-other, smerge-other-face,
52884         smerge-other-re, smerge-keep-other, smerge-diff-base-lower.
52885         Update all uses.
52886         (smerge-basic-map): Add "l" and "u" bindings.
52887         (smerge-mode-menu): Update menu bindings for renaming.
52888         (smerge-font-lock-keywords): Update face names.
52889         (smerge-match-names): Update names.
52890         (smerge-diff-upper-lower): Rename from smerge-diff-mine-other.
52891         (smerge-match-conflict, smerge-ediff): Rename local variables.
52892         (smerge-makeup-conflict): Relabel markers.
52893         (smerge-parsep-re): Use renamed variables.
52895 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
52897         Port recent my_edata change to MS-Windows
52899         * src/lastfile.c (my_edata): Also define if WINDOWSNT.
52901 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
52903         Rework the mechanisms for async GnuTLS connections
52905         * lisp/net/gnutls.el (open-gnutls-stream): Compute the
52906         gnutls-boot parameters and pass them to the process object.
52907         (gnutls-negotiate): New parameter :return-keywords that won't
52908         connect to anything, just compute the keywords.
52910         * lisp/url/url-http.el (url-http): Revert async TLS sentinel
52911         hack, which is no longer necessary.
52913         * src/gnutls.c (Fgnutls_asynchronous_parameters): Rename from
52914         gnutls-mark-process.
52916         * src/process.c (connect_network_socket): If we're connecting to
52917         an asynchronous TLS socket, complete the GnuTLS boot sequence here.
52919         * src/process.h: New parameter gnutls_async_parameters.
52921 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
52923         Fix segfault from double free
52925         * src/process.c (check_for_dns): Protect against double free
52926         issues.
52928 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
52930         Remove debugging
52932 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
52934         Implement asynchronous GnuTLS connections
52936         * doc/misc/emacs-gnutls.texi (Help For Developers): Mention
52937         the nowait parameter.
52939         * lisp/net/gnutls.el (open-gnutls-stream): Allow asynchronous
52940         connections with the new nowait parameter.
52942         * lisp/net/network-stream.el (network-stream-open-tls): Pass
52943         on :nowait to open-gnutls-stream.
52945         * lisp/url/url-http.el (url-http): Don't overwrite the
52946         sentinel created by open-gnutls-stream.
52948         * src/gnutls.c (Fgnutls_mark_process): New function.
52950         * src/process.c (send_process): Don't write to GnuTLS sockets that
52951         haven't been initialized yed.
52953         * src/process.h: New slot gnutls_wait_p.
52955 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
52957         Tell Automake the new lib/Makefile.am is OK
52959         * lib/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
52961 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
52963         Make it easy to override preferred-branch test
52965         * Makefile.in (preferred-branch-is-current):
52966         Rename from emacs-25-branch-is-current.  All uses changed.
52967         (PREFERRED_BRANCH): New macro.
52969 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
52971         Shrink static heap a bit
52973         * src/sheap.h: Include lisp.h, for Lisp_Object.
52974         (STATIC_HEAP_SIZE): Now an enum constant, not a macro.
52975         Make it 2 MiB * sizeof (Lisp_Object), which is a bit more
52976         conservative than the old value.
52977         (Bug#22086)
52979 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
52981         Fix extern symbols defined and not used
52983         * src/alloc.c: Always include <signal.h>.
52984         (malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]:
52985         Do not define; unused.
52986         * src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static.
52987         * src/gmalloc.c (gdefault_morecore): Rename from __default_morecore,
52988         to avoid collision with glibc.  Now static.  All uses changed.
52989         * src/lastfile.c (my_edata): Define only if
52990         ((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined
52991         WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS).
52992         (Bug#22086)
52994 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
52996         Build lib/e-*.o only on platforms that need it
52998         * configure.ac (hybrid malloc): Simplify configuration.
52999         (SHEAP_OBJ): Remove; no longer needed.
53000         (HYBRID_MALLOC): New var. Subst it.
53001         (HYBRID_MALLOC_LIB): New Automake conditional.
53002         * lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if
53003         HYBRID_MALLOC_LIB.
53004         (libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed.
53005         (MOSTLYCLEANFILES): Add libegnu.a.
53006         * src/Makefile.in (SHEAP_OBJ): Remove.
53007         (HYBRID_MALLOC): New macro.
53008         (base_obj): Use it to conditionally add sheap.o.
53009         (LIBEGNU_ARCHIVE): New macro.
53010         ($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a.
53011         All uses of the latter replaced by the former.
53012         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration.
53013         Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC.
53014         * src/gmalloc.c: Update comment.
53015         * src/lisp.h (aligned_alloc)
53016         [!DOUG_LEA_MALLOC && !HYBRID_MALLOC && !SYSTEM_MALLOC]:
53017         New decl.
53018         (Bug#22086)
53020 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53022         Include <malloc.h> when advisable
53024         This should help insulate us better from future glibc changes.
53025         It is good hygiene to include .h files for APIs that Emacs uses.
53026         Fix type clashes between Emacs and GNU <malloc.h> (Bug#22086).
53027         * configure.ac: Check for malloc.h.
53028         * src/alloc.c: Include <malloc.h> depending on HAVE_MALLOC_H,
53029         not on DOUG_LEA_MALLOC.
53030         * src/emacs.c, src/gmalloc.c (malloc_enable_thread):
53031         Remove decl (now in lisp.h).
53032         * src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t.
53033         [emacs]: Include lisp.h.
53034         [HAVE_MALLOC_H]: Include <malloc.h>.
53035         (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
53036         (__after_morecore_hook, __malloc_initialize_hook, __morecore)
53037         (__default_morecore):
53038         [!HAVE_MALLOC_H]: New decls near non-inclusion of <malloc.h>.
53039         (calloc): Make it clear that the macro should not be used.
53040         Remove unused decl.
53041         (malloc_info): New macro, to avoid clash with glibc <malloc.h>.
53042         (__morecore, __default_morecore, __after_morecore_hook)
53043         (__malloc_extra_blocks, __malloc_initialize_hook, __free_hook)
53044         (__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings):
53045         Remove later decls.
53046         (gmalloc_hook, gfree_hook, grealloc_hook):
53047         Rename from __malloc_hook, __free_hook, __realloc_hook to
53048         avoid type collision with glibc <malloc.h>.  All uses changed.
53049         (gmalloc_hook):
53050         (__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]:
53051         Now static.
53052         (gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC].
53053         (__malloc_initialize_hook, __after_morecore_hook):
53054         Declare with types compatible with glibc.
53055         (__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]:
53056         Remove.  All uses removed.
53057         * src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls.
53058         * src/ralloc.c, src/vm-limit.c:
53059         Simplify includes and include <malloc.h> if available.
53061 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53063         * src/alloc.c: Include "sheap.h".
53065         (alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]:
53066         Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin.
53067         * src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]:
53068         Declare unconditionally.
53069         * src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl.
53070         (unexec): Don’t set or clear bss_sbrk_did_unexec;
53071         the caller now does this.
53072         (Bug#22086)
53074 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53076         Pacify --enable-gcc-warnings when HYBRID_MALLOC
53078         * src/buffer.c (init_buffer):
53079         * src/emacs.c (main):
53080         * src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
53081         Use emacs_get_current_dir_name, not get_current_dir_name.
53082         * src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro.
53083         (HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove.
53084         * src/emacs.c: Include "sheap.h".
53085         (report_sheap_usage): Remove decl.
53086         (Fdump_emacs) [HYBRID_MALLOC]: Report usage directly.
53087         Don't assume ptrdiff_t can be printed as int.
53088         * src/gmalloc.c [HYBRID_MALLOC]:
53089         Include "sheap.h" rather than declaring its contents by hand.
53090         (get_current_dir_name, gget_current_dir_name)
53091         (hybrid_get_current_dir_name): Remove.
53092         (emacs_abort): Remove duplicate decl.
53093         (aligned_alloc): Undef, like malloc etc.
53094         (ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro.
53095         Make it a bit more efficient.
53096         (malloc_find_object_address): Remove unused decl.
53097         (enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats)
53098         (mstats, memory_warnings): Declare only if GC_MCHECK.
53099         * src/lisp.h (emacs_get_current_dir_name):
53100         New decl, replacing get_current_dir_name.
53101         * src/sheap.c: Include sheap.h first.
53102         (STATIC_HEAP_SIZE): Remove; now in sheap.h.
53103         (debug_sheap): Now static.
53104         (bss_sbrk_buffer_end): Remove; no longer used.
53105         (bss_sbrk_ptr): Now static and private.
53106         (bss_sbrk_did_unexec): Now bool.
53107         (BLOCKSIZE): Remove, to avoid GCC warning about its not being used.
53108         (bss_sbrk): Don't treat request_size 0 as special, since the code
53109         works without this being a special case.
53110         Avoid overflow if request size exceeds INT_MAX.
53111         (report_sheap_usage): Remove; now done in emacs.c.
53112         * src/sheap.h: New file.
53113         * src/sysdep.c (get_current_dir_name): Remove macro.
53114         Include "sheap.h".
53115         (emacs_get_current_dir_name): Rename function from
53116         get_current_dir_name.  Handle HYBRID_MALLOC here;
53117         this is simpler.
53118         (Bug#22086)
53120 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53122         Report static heap usage on non-Cygwin, too
53124         * src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ...
53125         * src/unexcw.c (unexec): ... instead of here, since sheap can be used
53126         on platforms other than Cygwin (Bug#22086).
53128 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53130         Pacify GCC on extern decls
53132         * src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level
53133         to pacify recent GCC (Bug#22086).
53135 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
53137         Add musl patch to support HYBRID_MALLOC on elf systems
53139         * src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case.
53140         (__default_morecore): Here, in particular.
53141         * configure.ac: Define HYBRID_MALLOC when unexelf.o is used.
53142         New variable SHEAP_OBJ.
53143         * src/Makefile.in: Use it.
53144         (Bug#22086)
53146 2016-01-30  Rich Felker  <dalias@libc.org>  (tiny change)
53148         unexelf.c hook to support HYBRID_MALLOC on ELF
53150         * src/unexelf.c (unexec) [HYBRID_MALLOC]:
53151         Define bss_sbrk_did_unexec (Bug#22086).
53153 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
53155         Link temacs with gnulib compiled with -Demacs
53157         This is done to support HYBRID_MALLOC, since some static variables
53158         (e.g., last_environ in putenv.c) hold pointers to memory malloced
53159         before dumping (Bug#22086).
53160         * lib/Makefile.am: Add incantation to install libegnu.a.
53161         * src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
53162         (temacs$(EXEEXT)): Use it.
53164 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
53166         Internal linkage for gmalloc etc. if HYBRID_MALLOC
53168         This avoids clashes with symbols if the after-dump malloc is
53169         derived from Doug Lea's implementation (Bug#22086).
53171         * src/gmalloc.c (emacs_abort, __morecore, __default_morecore):
53172         Move declarations up.  For HYBRID_MALLOC, turn all `extern'
53173         declarations below to `static' ones.
53174         (aligned_alloc): Declare for !MSDOS as well.
53175         (heapsize, _fraghead): Move resp. copy declaration downwards.
53176         For HYBRID_MALLOC, conditionalize out the other definitions,
53177         since the previous `static' declarations double as tentative
53178         definitions, anyway.
53179         (_malloc, _free, _realloc, __free_hook, _aligned_blocks)
53180         (__realloc_hook, __memalign_hook): Conditionalize out.
53181         (cfree, memalign, valloc): Ditto.
53183 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53185         -
53187         -
53189         -
53191 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53193         Merge from origin/emacs-25
53195         3f481ad Rename xref-query-replace to xref-query-replace-in-results
53196         62f4ed4 Update cl-defgeneric and cl-defmethod docstrings
53197         2111e0e Comment out next-error-function integration in xref
53198         4e11ad3 Correct a use of "which" in intro.texi
53199         a1865bc Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
53200         76045f7 Don't operate on menu bar of nonexistent frame
53201         c32f3bc Unbreak the GNUstep build.
53203 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53205         -
53207         -
53209 2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>
53211         Re-enable checks in member, memql, delete to complain about non-lists
53213         * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
53215 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
53217         Clean up compilation warnings
53219 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
53221         Make async resolution more efficient
53223         * src/process.c (wait_reading_process_output): Use a list of
53224         process objects instead of looping through an array to check
53225         for name resolution.  This should be much faster.
53227 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53229         More async memory leaks
53231         * src/process.c (check_for_dns): Free even more allocated async stuff.
53233 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53235         Compilation for for systems with getaddrinfo_a
53237         * src/process.c (Fmake_network_process): Make stuff work again on
53238         systems with getaddrinfo_a.
53240 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53242         Save correct server data
53244         * src/process.c (connect_network_socket): Save the correct contact
53245         info for servers.
53247 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53249         Compilation for for non-GNU systems
53251         * src/process.c (Fmake_network_process): Make compilation work
53252         again on hosts that don't have getaddrinfo_a.
53254 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53256         Avoid memory leaks in async DNS
53258         * src/process.c (check_for_dns): Free async DNS resources after
53259         they've been used.
53261 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53263         * src/process.c (check_for_dns): Free the result data.
53265 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53267         Fix server connections
53269         * src/process.c (Fmake_network_process): Make creating server
53270         listening ports work again.
53272 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53274         Further make_network_process clean up
53276         * src/process.c (Fmake_network_process): Remove setting of unused
53277         family variable.
53279 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53281         Clean up GETADDRINFO usage in make-network-process
53283         * src/process.c (Fmake_network_process): Clean up the GETADDRINFO
53284         handling.
53286 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53288         Implement asynchronous name resolution
53290         * src/process.c (Fmake_network_process): Do asynchronous DNS
53291         lookups if we have getaddrinfo_a and the user requests :nowait.
53292         (check_for_dns): New function.
53293         (wait_reading_process_output): Check for pending name
53294         resolution in the idle loop.
53296         * src/process.h: Add structure for async DNS.
53298 2016-01-28  Glenn Morris  <rgm@gnu.org>
53300         Remove some useless-use-of eval.
53302         * lisp/gnus/gnus.el (gnus-load-hook): Don't use eval.
53303         * lisp/gnus/nnrss.el (xml): Simply require it.
53304         (xml-rpc-method-call): Use declare-function.
53306 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
53308         Fix memory leak
53310         * src/process.c (connect_network_socket): Free previous sockaddr
53311         before allocating a new one.
53313 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
53315         Return IP addresses in the correct order
53317         * src/process.c (Fmake_network_process): Return the IP addresses
53318         in the same order as getaddrinfo does.
53319         (set_network_socket_coding_system): Clean up the code slightly.
53321 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
53323         Add checks for getaddrinfo_a
53325         * configure.ac: Detect getaddrinfo_a.
53327 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
53329         Refactor make_network_process
53331         * src/process.c (set_network_socket_coding_system)
53332         (connect_network_socket): Refactor out of
53333         make_network_process to allow calling connect_network_socket
53334         asynchronously.
53335         (Fmake_network_process): Do nothing but parsing the parameters
53336         and name resolution, leaving the connection to
53337         connect_network_socket.
53339 2016-01-28  Glenn Morris  <rgm@gnu.org>
53341         * lisp/emacs-lisp/bytecomp.el (byte-compile-nogroup-warn):
53342         Warn if defcustom has no type.  (Bug#16276)
53344 2016-01-27  Glenn Morris  <rgm@gnu.org>
53346         * test/lisp/vc/vc-hg-tests.el: Move from test/automated/.
53348 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
53350         (rng-c-fix-escaped-newlines): Use subst-char-in-string
53352         * lisp/nxml/rng-cmpct.el (rng-c-fix-escaped-newlines):
53353         Use subst-char-in-string.
53355 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
53357         * lisp/textmodes/sgml-mode.el (sgml-forward-sexp): New function
53359         (sgml-cursor-sensor, sgml-pretty-print, sgml-parse-tag-backward)
53360         (sgml-calculate-indent): Use it.
53362 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
53364         * lisp/org: Fix some compiler warnings
53366         * lisp/org/ob-core.el (org-babel-check-confirm-evaluate)
53367         (org-babel-map-src-blocks): Don't emit warnings if added vars are not used.
53368         (*this*): Declare as dyn-bound.
53369         (org-babel-expand-src-block, org-babel-load-in-session)
53370         (org-babel-switch-to-session-with-code, org-babel-get-rownames):
53371         Mark unused args.
53372         (org-babel-combine-header-arg-lists): Remove unused var `args'.
53373         (org-babel-find-named-block): Remove unused var `msg'.
53375         * lisp/org/org-src.el (org-inhibit-startup, org-src-fontify-natively):
53376         Declare as dyn-bound.
53377         (org-edit-src-code): Remove unused var `lfmt'.
53378         (org-edit-fixed-width-region): Remove unused var `preserve-indentation'.
53380 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
53382         * lisp/font-lock.el: Use #' to quote function symbols
53384 2016-01-23  Michael Albinus  <michael.albinus@gmx.de>
53386         Improve user name completion in Tramp
53388         * lisp/net/tramp.el (tramp-parse-passwd, tramp-parse-etc-group):
53389         Call also "getent passwd" or "getent group", if possible.
53390         (tramp-parse-putty): Cache the result.
53392 2016-01-22  Michael Albinus  <michael.albinus@gmx.de>
53394         * etc/NEWS: Move kqueue entries to Emacs 25.1 sections.
53396 2016-01-20  Glenn Morris  <rgm@gnu.org>
53398         Remove handling of non-string time-stamp formats, obsolete for 20 years.
53400         * lisp/time-stamp.el (time-stamp-format): Doc fix.
53401         (time-stamp-old-format-warn, time-stamp-fconcat): Remove.
53402         (time-stamp-string): Ignore non-string formats.
53404 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
53406         Anoter fix for problematic merge from emacs-25
53408         * src/w32fns.c (globals_of_w32fns): Move initialization of
53409         resetstkoflw to a non-Cygwin part.
53411 2016-01-20  Michael Albinus  <michael.albinus@gmx.de>
53413         * test/Makefile.in (mostlyclean): Use ${LOGFILES}.
53415 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
53417         Fix MS-Windows build broken by a botched merge from emacs-25
53419         * src/w32.c (w32_crypto_hprov): New static variable.
53420         (globals_of_w32): Initialize w32_crypto_hprov.
53421         (w32_init_crypt_random, w32_init_random): New functions.
53422         Include wincrypt.h.
53423         * src/w32.h (w32_init_random): Add prototype.
53425 2016-01-19  Vincent Belaïche  <vincentb1@users.sourceforge.net>
53427         Correct a whole bunch of bugs coming with renamed cell relocation.
53429         * lisp/ses.el (ses-localvars): rename variable
53430         `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
53431         and adjust the comment about it.
53432         (ses-plist-delq): new defun.
53433         (ses--ses-buffer-list): new defvar.
53434         (ses--unbind-cell-name): new defun.
53435         (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
53436         (ses-relocate-formula): Undo change of
53437         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
53438         preventing relocation for named cell --- now doing this is delegated
53439         to function `ses-relocate-symbol'.
53440         (ses-relocate-range): In docstring, undo change of
53441         2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
53442         lower case as it is not a variable.
53443         (ses-relocate-all): Cell name relocation : 1) check that cell is a
53444         renamed cell by testing `ses-cell' property to :ses-named, rather than
53445         comparing name to corresponding standard name. Set rowcol of renamed
53446         cell into the hashmap --- `ses-cell' property must not be used for
53447         that as the same name can be used for different locations in different
53448         SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
53449         `local-variable-p' to check if cell name is already in use in this
53450         sheet or needs initialization.
53451         (ses-relocate-all): Cell value relocation : 1) like for name
53452         relocation use the `ses-cell' property rather than comparing actual
53453         name to corresponding standard name. 2) Correct bug introduced in
53454         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
53455         made the other way round than the intention --- ie value relocation
53456         was disabled for standard cell, not for renamed cell as was the
53457         intention.
53458         (ses-relocate-all): Add loop for unbinding deleted renamed cells
53459         names.
53460         (ses-killbuffer-hook): new defun.
53461         (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
53462         kill buffer hook, plus pushing current buffer if new in list.
53463         (ses-delete-row, ses-delete-column): Collect deleted renamed cells
53464         into `ses--in-killing-named-cell-list'.
53465         (ses-rename-cell): Remove update of variable
53466         `ses--renamed-cell-symb-list', this variable is renamed to
53467         `ses--in-killing-named-cell-list', and its setting is done in
53468         functions `ses-delete-row' and , `ses-delete-column' now.
53469         (ses-rename-cell): Change correction of
53470         2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
53471         computation of the range over which `cursor-intangible' property was
53472         to be updated. This correction was ok for non spilling cells, but not
53473         for cells spilling over following blank cells. Simply use
53474         `next-single-property-change' rather than computing the end column
53475         from column widths.
53477 2016-01-18  John Wiegley  <johnw@newartisans.com>
53479         -
53481 2016-01-18  John Wiegley  <johnw@newartisans.com>
53483         Merge from origin/emacs-25
53485         3ae7934 ; * etc/NEWS: Mark entries that don't need further treatment.
53486         6165c36 * lisp/files.el (dir-locals--all-files): Respect absolute file-names
53487         2ffdf15 * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
53488         71ecd62 * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
53489         f0b82b3 * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
53490         86e4513 Fix incompatbilities with MS-Windows 2000 and older
53491         4e96521 Mention in PROBLEMS an issue with MS-Windows NT4
53492         15c23aa Ensure 8-byte aligned memory allocation on MS-Windows 9X
53493         39afa42 Fix tests for active region in hideif.el
53494         05df666 Fix interactive specs in some hideif.el commands
53496 2016-01-18  John Wiegley  <johnw@newartisans.com>
53498         -
53500 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
53502         Avoid stdio in SIGINT handler
53504         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
53505         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
53506         * lib/ignore-value.h: New file, from gnulib.
53507         * src/keyboard.c: Include it.
53508         (write_stdout, read_stdin): New functions.
53509         (handle_interrupt): Use them instead of printf and getchar,
53510         and avoid fflush when handling signals.
53512 2016-01-18  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
53514         Refactor mml-smime.el, mml1991.el, mml2015.el
53516         (Maybe this is the last merge from Gnus git to Emacs git)
53518         Cf. discussion on ding mailing list, messages in
53519         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
53520         Common code from the three files mml-smime.el, mml1991.el, and
53521         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
53522         to gnus-util.el.
53524         The code is supported by test cases with necessary test keys.
53526         Documentation in message.texi is updated.
53528         * doc/misc/message.texi (Security, Using S/MIME):
53529         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
53530         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
53531         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
53533         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
53534         New functions.
53536         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
53537         (epa--select-keys): Autoload.
53538         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
53539         (mml-secure-openpgp-signers): New user option;
53540         make mml1991-signers and mml2015-signers obsolete aliases to it.
53541         (mml-secure-smime-signers): New user option;
53542         make mml-smime-signers an obsolete alias to it.
53543         (mml-secure-openpgp-encrypt-to-self): New user option;
53544         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
53545         aliases to it.
53546         (mml-secure-smime-encrypt-to-self): New user option;
53547         make mml-smime-encrypt-to-self an obsolete alias to it.
53548         (mml-secure-openpgp-sign-with-sender): New user option;
53549         make mml2015-sign-with-sender an obsolete alias to it.
53550         (mml-secure-smime-sign-with-sender): New user option;
53551         make mml-smime-sign-with-sender an obsolete alias to it.
53552         (mml-secure-openpgp-always-trust): New user option;
53553         make mml2015-always-trust an obsolete alias to it.
53554         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
53555         New user options.
53556         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
53557         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
53558         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
53559         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
53560         (mml-secure-passphrase-callback, mml-secure-check-user-id)
53561         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
53562         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
53563         (mml-secure-fingerprint, mml-secure-filter-keys)
53564         (mml-secure-normalize-cust-name, mml-secure-select-keys)
53565         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
53566         (mml-secure-self-recipients, mml-secure-recipients)
53567         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
53569         * lisp/gnus/mml-smime.el: Require epg;
53570         refactor declaration and autoloading of epg functions.
53571         (mml-smime-use): Doc fix.
53572         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
53573         Obsolete.
53574         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
53575         Use format instead of gnus-format-message.
53576         (mml-smime-epg-secret-key-id-list): Remove variable.
53577         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
53578         (mml-smime-epg-find-usable-secret-key): Remove functions.
53579         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
53581         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
53582         (mml1991-passphrase-cache-expiry): Obsolete.
53583         (mml1991-epg-secret-key-id-list): Remove variable.
53584         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
53585         (mml1991-epg-find-usable-secret-key): Remove functions.
53586         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
53588         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
53589         (mml2015-passphrase-cache-expiry): Obsolete.
53590         (mml2015-epg-secret-key-id-list): Remove variable.
53591         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
53592         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
53593         (mml2015-epg-find-usable-secret-key): Remove functions.
53594         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
53595         (mml2015-epg-encrypt): Refactor.
53597 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
53599         Merge from gnulib
53601         This mostly just updates copyright dates of gnulib files.
53602         It also updates to the latest version of texinfo.tex.
53604 2016-01-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
53606         Move variables to inner loop, preparing for Mac port merge
53608         * src/keyboard.c (command_loop_1): Move variables `cmd',
53609         `keybuf', and `i' to inner loop.
53611 2016-01-17  Bill Wohler  <wohler@newt.com>
53613         * lisp/mh-e/mh-e.el (mh-version): Add +git to version.
53615 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
53617         * lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
53619         (syntax-ppss):
53620         * lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
53622 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
53624         lisp/nxml: Use syntax-tables for comments
53626         * lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
53627         (nxml-mode): Set syntax-ppss-table.
53628         Use sgml-syntax-propertize-function for syntax-propertize-function.
53629         Let font-lock highlight strings and comments.
53630         (nxml-degrade): Don't touch "nxml-inside" property any more.
53631         (nxml-after-change, nxml-after-change1): Remove functions.
53632         (comment): Don't set fontify rule any more.
53633         (nxml-fontify-attribute): Don't highlight the value any more.
53634         (nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
53635         (nxml-comment-delimiter, nxml-comment-content): Remove faces.
53637         * lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
53638         (nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
53639         (nxml-clear-inside, nxml-set-inside): Remove.
53640         (nxml-scan-after-change): Remove function.
53641         (nxml-scan-prolog, nxml-tokenize-forward): Simplify.
53642         (nxml-ensure-scan-up-to-date): Use syntax-propertize.
53643         (nxml-move-outside-backwards):
53644         * lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
53645         nxml-inside-start behavior.
53647         * lisp/nxml/nxml-util.el (nxml-debug-set-inside)
53648         (nxml-debug-clear-inside): Remove macros.
53650         * lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
53651         (xmltok-scan-after-comment-open): Simplify.
53653 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
53655         * lisp/progmodes/elisp-mode.el
53656         (elisp--font-lock-flush-elisp-buffers): Fix comment
53658 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
53660         * lisp/nxml: Use standard completion; it also works for company-mode
53662         * lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
53663         (nxml-completion-at-point-function): Remove.
53664         (nxml-mode): Don't set completion-at-point-functions.
53665         * lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
53666         (rng-completion-at-point): Rename from rng-complete and mark it
53667         non-interactive.  It is now to be used as completion-at-point-function.
53668         (rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
53669         (rng-complete-attribute-value): Don't perform completion, but return
53670         completion data instead.
53671         (rng-complete-qname-function, rng-generate-qname-list): Add a few
53672         arguments, previously passed via dynamic coping.
53673         (rng-strings-to-completion-table): Rename from
53674         rng-strings-to-completion-alist.  Don't return an alist.  Don't both
53675         sorting and uniquifying.
53677         * lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
53678         (rng-completion-exact-p, rng-quote-string): Delete functions.
53680         * lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
53681         (rng-missing-attributes-message, rng-missing-element-message)
53682         (rng-mark-missing-end-tags): Use explicit ".." in formats rather than
53683         calling rng-quote-string everywhere.
53685 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
53687         Use sgml-electric-tag-pair-mode also in nxml-mode
53689         * lisp/nxml/rng-nxml.el: Require sgml-mode.
53690         (rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
53691         (rng-complete-qname-function): Use complete-with-action.
53693         * lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
53694         Let-bind forward-sexp-function, since nxml-mode binds it to
53695         something incompatible.
53697         * lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.
53699 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
53701         * lisp/nxml/xmltok.el: Mark the "sole --" rather than the comment
53702         opener.
53704         * lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
53705         marker on the "sole --" rather than on the comment opener.
53707 2016-01-15  Sam Steingold  <sds@gnu.org>
53709         replace `tramp-compat-split-string' (removed) with `split-string'
53711         (python-shell-tramp-refresh-process-environment)
53712         (python-shell-calculate-pythonpath): use `split-string'
53713         instead of defunct `tramp-compat-split-string'
53715 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
53717         Update nXML to use Emacs's Unicode support, and lexical-binding
53719         * etc/nxml/*.el: Remove obsolete char-name files.
53720         * lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
53721         var `next'.
53722         * lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
53723         * lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
53724         * lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
53725         (nxml-target-section-pos, nxml-depth-in-target-section)
53726         (nxml-outline-state-transform-alist)
53727         (nxml-outline-display-section-tag-function): Move decl before first use.
53728         * lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
53729         (nxml-char-name-alist, nxml-char-name-table)
53730         (nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
53731         (nxml-enable-char-name-set, nxml-disable-char-name-set)
53732         (nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
53733         (nxml-define-char-name-set, nxml-get-char-name): Remove functions.
53734         (nxml-insert-named-char): Use read-char-by-name instead.
53735         (nxml-char-ref-display-extra): Use get-char-code-property.
53736         * lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
53737         Remove function.
53738         * lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.
53740 2016-01-15  Michael Albinus  <michael.albinus@gmx.de>
53742         Add "sg" method to Tramp
53744         * doc/misc/tramp.texi (Inline methods): Add "sg" method.
53745         (Customizing Completion): Add function `tramp-parse-etc-group'.
53747         * lisp/net/tramp-sh.el (tramp-methods) <sg>: Add.  (Bug#22329)
53748         (tramp-completion-function-alist-sg): New defconst.
53749         (top): Completion function for "sg" is
53750         `tramp-completion-function-alist-sg'.
53752         * lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
53753         (tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.
53755 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
53757         Remove XEmacs compatibility in Tramp
53759         * doc/misc/tramp.texi: Replace flags by their hard coded name.
53760         Remove unused flags and the enclosed alternative text for XEmacs.
53762         * doc/misc/trampver.texi: Use "Tramp" CamelCase.  Rename "emacs"
53763         and "xemacs" flags to "unified" and "separate".  Remove flags
53764         "emacsgw", "emacsname", "emacsdir", "ftppackagename",
53765         "emacsothername", "emacsotherdir" and "emacsotherfilename".
53766         (trampver):
53767         * lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".
53769         * lisp/net/tramp.el (bkup-backup-directory-info)
53770         (directory-sep-char, ls-lisp-use-insert-directory-program)
53771         (outline-regexp, tramp-backup-directory-alist)
53772         (tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
53773         (tramp-file-name-regexp-unified)
53774         (tramp-file-name-regexp-separate)
53775         (tramp-completion-file-name-regexp-unified)
53776         (tramp-completion-file-name-regexp-separate, tramp-chunksize)
53777         (tramp-get-method-parameter, tramp-find-method, tramp-find-user)
53778         (tramp-debug-message, tramp-progress-reporter-update)
53779         (with-tramp-progress-reporter)
53780         (tramp-rfn-eshadow-setup-minibuffer)
53781         (rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
53782         (tramp-rfn-eshadow-update-overlay)
53783         (rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
53784         (tramp-file-name-for-operation)
53785         (tramp-completion-file-name-handler)
53786         (tramp-autoload-file-name-handler, tramp-completion-mode-p)
53787         (tramp-handle-directory-files)
53788         (tramp-handle-directory-files-and-attributes)
53789         (tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
53790         (tramp-handle-insert-file-contents, tramp-handle-load)
53791         (tramp-handle-shell-command)
53792         (tramp-handle-verify-visited-file-modtime)
53793         (tramp-handle-file-notify-valid-p, tramp-accept-process-output)
53794         (tramp-check-for-regexp, tramp-wait-for-regexp)
53795         (tramp-send-string, tramp-mode-string-to-int)
53796         (tramp-get-local-gid, tramp-check-cached-permissions)
53797         (tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
53798         (auto-save-file-name-transforms)
53799         (tramp-handle-make-auto-save-file-name, tramp-read-passwd)
53800         (tramp-clear-passwd, tramp-time-diff):
53801         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
53802         (directory-sep-char, tramp-adb-file-name-handler-alist)
53803         (tramp-adb-parse-device-names)
53804         (tramp-adb-handle-expand-file-name)
53805         (tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
53806         (tramp-adb-handle-file-local-copy)
53807         (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
53808         (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
53809         (tramp-adb-handle-shell-command)
53810         (tramp-adb-handle-start-file-process, tramp-adb-get-device)
53811         (tramp-adb-maybe-open-connection):
53812         * lisp/net/tramp-cache.el (tramp-persistency-file-name)
53813         (tramp-cache-print):
53814         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
53815         (tramp-bug, tramp-reporter-dump-variable)
53816         (tramp-load-report-modules, tramp-append-tramp-buffers):
53817         * lisp/net/tramp-compat.el (tramp-compat-funcall)
53818         (tramp-advice-file-expand-wildcards)
53819         (tramp-compat-temporary-file-directory)
53820         (tramp-compat-make-temp-file, tramp-compat-copy-file)
53821         (tramp-compat-delete-directory, )
53822         (tramp-compat-process-running-p):
53823         * lisp/net/tramp-ftp.el (tramp-methods) <ftp>:
53824         (tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
53825         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
53826         (tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
53827         (tramp-gvfs-handle-file-local-copy)
53828         (tramp-gvfs-handle-file-name-all-completions)
53829         (tramp-gvfs-handle-file-notify-add-watch)
53830         (tramp-gvfs-monitor-file-process-filter)
53831         (tramp-gvfs-handle-file-readable-p)
53832         (tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
53833         (tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
53834         (tramp-gvfs-maybe-open-connection)
53835         (tramp-gvfs-parse-device-names):
53836         * lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
53837         (tramp-gw-open-connection, tramp-gw-open-network-stream):
53838         * lisp/net/tramp-sh.el (directory-sep-char)
53839         (tramp-sh-file-name-handler-alist)
53840         (tramp-sh-handle-file-truename)
53841         (tramp-sh-handle-set-visited-file-modtime)
53842         (tramp-sh-handle-verify-visited-file-modtime)
53843         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
53844         (tramp-sh-handle-file-acl)
53845         (tramp-sh-handle-file-name-all-completions)
53846         (tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
53847         (tramp-do-copy-or-rename-file-directly)
53848         (tramp-do-copy-or-rename-file-out-of-band)
53849         (dired-compress-file-suffixes, dired-remove-file)
53850         (tramp-sh-handle-dired-compress-file)
53851         (tramp-sh-handle-insert-directory)
53852         (tramp-sh-handle-expand-file-name)
53853         (tramp-sh-handle-start-file-process)
53854         (tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
53855         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
53856         (tramp-sh-handle-file-notify-add-watch)
53857         (tramp-sh-gvfs-monitor-dir-process-filter)
53858         (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
53859         (tramp-find-executable)
53860         (tramp-open-connection-setup-interactive-shell)
53861         (tramp-find-inline-encoding, tramp-compute-multi-hops)
53862         (tramp-maybe-open-connection, tramp-convert-file-attributes)
53863         (tramp-get-remote-path, tramp-get-remote-touch):
53864         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
53865         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
53866         (tramp-smb-handle-delete-directory)
53867         (tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
53868         (tramp-smb-handle-make-directory-internal)
53869         (tramp-smb-handle-process-file, tramp-smb-handle-rename-file)
53870         (tramp-smb-handle-set-file-acl, tramp-smb-handle-set-file-modes)
53871         (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
53872         (tramp-smb-get-cifs-capabilities)
53873         (tramp-smb-maybe-open-connection):
53874         * lisp/net/trampver.el (tramp-repository-get-version):
53875         Remove XEmacs compat code.
53877         * lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
53878         (reporter-dump-variable): Declare functions.
53880         * lisp/net/tramp.el (tramp-bkup-backup-directory-info)
53881         (tramp-advice-minibuffer-electric-separator)
53882         (tramp-advice-minibuffer-electric-tilde)
53883         (tramp-handle-unhandled-file-name-directory):
53884         * lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
53885         (tramp-compat-font-lock-add-keywords)
53886         (tramp-compat-load, tramp-compat-number-sequence)
53887         (tramp-compat-split-string, tramp-compat-delete-dups):
53888         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
53889         Remove.
53891         * lisp/net/tramp-sh.el (tramp-methods) <psftp>: This does not work
53892         recursively.
53894 2016-01-14  K. Handa  <handa@gnu.org>
53896         fix previous change of src/ftfont.c (ftfont_shape_by_flt)
53898         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
53899         second glyph only when there are enough glyphs.
53901 2016-01-13  Glenn Morris  <rgm@gnu.org>
53903         * src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,
53905         or its hook, to move point.  (Bug#22348)
53907 2016-01-12  Michael Albinus  <michael.albinus@gmx.de>
53909         Merge missing commit from emacs-25 branch
53911         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
53912         New variables.
53913         (check-expensive, check-doit): New targets.
53915         * Makefile.in (check-expensive): New target.
53917         * test/lisp/autorevert-tests.el
53918         (auto-revert-test01-auto-revert-several-files):
53919         * test/lisp/filenotify-tests.el (file-notify--deftest-remote)
53920         (file-notify-test06-many-events):
53921         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
53922         (tramp-test27-start-file-process, tramp-test28-shell-command)
53923         (tramp-test29-vc-registered)
53924         (tramp-test31-special-characters-with-stat)
53925         (tramp-test31-special-characters-with-perl)
53926         (tramp-test31-special-characters-with-ls)
53927         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
53928         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
53929         (tramp-test35-unload): Tag the tests as :expensive-test.
53931 2016-01-11  John Wiegley  <johnw@newartisans.com>
53933         Merge from origin/emacs-25
53935         1f6898d test/automated/vc-hg.el: Support out-of-tree build
53936         3adb56e Minor change in tramp-tests.el
53937         2b535ba ; * etc/NEWS: Update the js.el entry.
53938         76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
53939         b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
53940         36b9539 Avoid an infloop when we run out of memory
53941         2006752 Avoid unnecessary failures of auto-saving after fatal error
53942         eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
53943         552694a Revert attempt to use 'noexcept' in typedef
53944         6ad0d39 Update documentation of 'indirect-function'
53945         c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
53946         303141a Update documentation for obsoleting 'syntax-begin-function'
53947         4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
53948         e667bbb Document new features if Eshell
53949         9c4e4e0 ; * etc/NEWS: Update EUDC entries.
53950         1089dc9 Handle too long commands in Tramp
53951         684eb58 * .gitattributes: *.cur and *.pif are binary files too.
53952         d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
53953         bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
53954         09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
53955         cca0f93 ; Account for spaces before the filename
53956         c71e1e8 Use short date for 'hg annotate', and output the author
53957         f50027b Spelling fix
53958         c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
53959         cc140bc Document user-level functions in project.el
53960         f8208b6 Document the user-level features of the Xref package
53961         b131fb8 * loading.texi: Add `define-type' entry for load-history
53962         db3c2a8 Improve doc strings and prompts in xref.el
53963         f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
53964         90fd798 Fix coding system for Tramp on OS X.
53965         e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
53966         9dfcbf0 Update 'load-history' docs
53967         207e191 Fix (error ...) error
53968         457738f Correctly analyze brace arguments in templated C++ function declarations.
53969         d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
53970         2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
53971         1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
53972         8be046f Respect fontification region calculated by major mode.  Fixes bug #22316.
53973         4b37cba Improve documentation of Delete Selection mode
53974         a034dd3 Fix two project-find-file issues
53975         30abf29 Clarify doc string of 'dired-current-directory'
53976         e990bb2 Use the face of preceding text for displaying the ellipsis
53977         5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
53978         eeb710a ; * lisp/startup.el: Sentences end with two spaces.
53979         428b3de * admin/admin.el (set-version): Also handle the NEWS file.
53980         648de81 ; Add NEWS entry for project.el
53981         671862f apropos-library: Skip obvious duplicates; don't error on generics
53982         51668a5 ; Grammar fix
53983         ed41d11 Add project-find-file and project-or-external-find-file
53984         056da45 ; Improve commentary in 'setup_for_ellipsis'
53985         269d008 ; Improve docstring for `inhibit-startup-echo-area-message'
53987 2016-01-11  John Wiegley  <johnw@newartisans.com>
53989         Merge from origin/emacs-25
53991         ce4a052 Add defvar-local to lisp-imenu-generic-expression
53992         a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
53993         76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
53994         1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
53995         b6b47af Properly encode/decode base64Binary data in SOAP
53996         c632466 Obey coding-system-for-write when writing stdout/stderr in batch
53997         2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
53998                 Update the URI of MELPA and marmalade-repo.
53999                 Reported by CHENG Goa <chenggao@royau.me> in
54000                 https://lists.gnu.org/r/emacs-devel/2016-01/msg00390.html.
54001         d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
54002         5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
54003         7380990 Remove function wrongly on AWK Mode value of context
54004         fontification hook.
54005         d400753 * src/buffer.c: Stick with ASCII in doc string.
54006         221240c Reword transient-mark-mode doc string
54007         977d3ea Update doc string of 'selective-display'
54008         229c3fa Make C++ buffers writeable when writing their initial text
54009                 properties.
54010         f5c762c Additional changes for "make check-expensive"
54011         1729cf3 ; * admin/MAINTAINERS: Remove myself.
54012         33219d3 Apply text properties for <, > in new after-change function
54013                 (C++ Java Modes).
54015 2016-01-11  John Wiegley  <johnw@newartisans.com>
54017         Merge from origin/emacs-25
54019         9fb185a shr-tag-video bug fix
54020         6300655 Minor fixes in tramp-tests.el
54021         50575b1 Ensure redisplay when 'truncate-lines' is set
54022         0d9e80d Fix a doc string of 'transient-mark-mode'
54023         0000ae5 MS-Windows followup to latest gnulib update
54024         4bc5e02 Spelling fix
54025         f1093f7 Do secure signed Bcc handling
54027 2016-01-11  John Wiegley  <johnw@newartisans.com>
54029         Merge from origin/emacs-25
54031         861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
54032         46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
54033         71ea138 * lisp/align.el (align): Simplify a lambda
54034         5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
54035         1f680db Fix compilation next-error in buffers with selective-display
54036         d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
54037         1da116f Add SHA1 warnings for high network security settings
54038         e48bacd ; * etc/NEWS: Typo fix.
54040 2016-01-11  John Wiegley  <johnw@newartisans.com>
54042         Merge from origin/emacs-25
54044         43662a2 ; Clarify that xref is still experimental
54045         0a6e6ca ; * admin/release-process: Remove some obsolete records.
54046         c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
54047         8637f3d (semantic-symref-derive-find-filepatterns): Return a list
54048         0a7ad07 ; Re-arrange xref-related entries in NEWS.
54049         fe903ef Fix xref-find-references on MS-Windows
54050         55a28d8 ; Fixed visual bell artifact problem on NextStep.
54051         d064034 Document new features of tildify-mode
54052         964bea7 Document new features of Whitespace mode
54053         cd68f47 Improve documentation of new Hide-IfDef features
54054         723b8bf Fix regression in font-locking cl-assert and cl-check-type
54056 2016-01-11  John Wiegley  <johnw@newartisans.com>
54058         Merge from origin/emacs-25
54060         ef33bc7 Spelling and grammar fixes
54061         9c3dbab Fix copyright years by hand
54062         0e96320 Update copyright year to 2016
54064 2016-01-11  John Wiegley  <johnw@newartisans.com>
54066         Merge from origin/emacs-25
54068         9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
54069         526d80c Port chart.el methods to cl-generic.
54070         410bb69 Add nt/INSTALL.W64 build instructions
54071         8f5b524 Add new input method 'programmer-dvorak'
54072         6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
54073         bb83bb1 Fix EWW rendering of long RTL lines
54074         b1a8509 fix  bug#21054
54075         ce5ad12 Clean up cairo printing code
54077 2016-01-11  John Wiegley  <johnw@newartisans.com>
54079         Merge from origin/emacs-25
54081         6ee327d Add handle_user_signal_hook
54082         47580e0 Avoid writing to purespace
54083         0588be7 Remove unused variable
54084         89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
54085         3b95e9c Use posix_openpt instead of openpty on Darwin
54086         86312ff Document support for ':documentation' in Lisp mode
54087         c930e75b Document new features of TeX mode
54088         7c83d84 Clarify docs of hscroll in RTL text
54089         4c8f8db Fix rendering of HTML pages that use character composition
54090         a8d37ca Avoid some compiler warnings in w32.c
54091         ce106f3de Undo ill-advised change
54092         be0bba4 Unbreak completion in python-mode buffers
54094 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
54096         Adding example replies to bug-triage.
54098         * admin/notes/bug-triage: Added example replies. Also, as requested,
54099           making the process notes into more of a checklist.
54101 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
54103         Rename the notes/admin/triage file to bug-triage.
54105         * CONTRIBUTE: Change reference to the triage file name.
54106         * admin/notes/triage: Rename file to admin/notes/bug-triage.
54108 2016-01-08  K. Handa  <handa@gnu.org>
54110         Fix outdated comments.
54112 2016-01-06  Glenn Morris  <rgm@gnu.org>
54114         Allow creation of loaddefs files without timestamps.
54116         * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
54117         (autoload-generate-file-autoloads, update-directory-autoloads):
54118         If autoload-timestamps is nil, write "t" instead of file timestamp.
54119         (autoload-find-destination, update-directory-autoloads):
54120         If timestamp is "t", use the modtime of the output file instead.
54122 2016-01-06  Glenn Morris  <rgm@gnu.org>
54124         Doc tweaks.
54126         * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
54127         * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
54128         (calendar-iso-from-absolute):
54129         * lisp/calendar/cal-tex.el (cal-tex-comment):
54130         * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
54132 2016-01-06  Glenn Morris  <rgm@gnu.org>
54134         Build tweaks related to tags files.
54136         * lib-src/Makefile.in (tagsfiles): New variable.
54137         (TAGS): Also depend on the source files.  Use our own etags program.
54138         * lisp/Makefile.in (ETAGS): Add EXEEXT.
54139         (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
54140         Remove.
54141         (tagsfiles): New, replacing lisptagsfiles1 etc.
54142         Remove irrelevant source files here rather than in the TAGS rule.
54143         (${ETAGS}): New rule.
54144         (TAGS): Also depend on the etags executable.
54145         * lwlib/Makefile.in (EXEEXT): New, set by configure.
54146         (ETAGS): Add EXEEXT.
54147         (${ETAGS}): New rule.
54148         (ctagsfiles): Use "wildcard".
54149         (TAGS): Also depend on the etags executable.
54150         * nt/Makefile.in (ETAGS, tagsfiles): New variables.
54151         (${ETAGS}): New rule.
54152         (TAGS): Fix dependencies.
54153         * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
54154         (ETAGS): New variable, replacing $TAGS.  Use our own etags program.
54155         Remove "-t" argument.
54156         (${ETAGS}): New rule.
54157         (tagsfiles): New variable.
54158         (TAGS): New rule, with proper dependencies.
54159         * src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
54160         (ctagsfiles1, ctagsfiles2): Use "wildcard".
54161         (ctagsfiles3): Remove.
54162         (TAGS): Depend on etags.
54163         (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
54164         directories decide if updates are needed.
54166 2016-01-06  Glenn Morris  <rgm@gnu.org>
54168         * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
54170 2016-01-06  Glenn Morris  <rgm@gnu.org>
54172         * test/lisp/emacs-lisp/package-tests.el
54174         (package-test-macro-compilation): Fixup branch merge.
54176 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
54178         Fix fallout from merging emacs-25 branch in test/
54180         * .gitignore: Update for the new place of biditest.txt.
54181         * test/automated/: Directory removed.  All files moved to their
54182         proper places.
54183         * test/etags/: Directory removed.  All files moved to their proper
54184         places.
54185         * test/automated/url-parse-tests.el: File removed; it was an exact
54186         copy of the same file in test/lisp/url/.
54187         * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
54189 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
54191         Spelling fixes
54193 2016-01-04  Daniel Colascione  <dancol@dancol.org>
54195         Let users disable unsafe signal handling code
54197         * src/keyboard.c (syms_of_keyboard): New user variables
54198         `attempt-stack-overflow-recovery' and
54199         `attempt-orderly-shutdown-on-fatal-signal'.
54200         * src/sysdep.c (stack_overflow): Check
54201         `attempt-stack-overflow-recovery'.
54202         * src/emacs.c (terminate_due_to_signal): Check
54203         `attempt-orderly-shutdown-on-fatal-signal'.
54205 2016-01-03  Michael Albinus  <michael.albinus@gmx.de>
54207         * configure.ac: Add error message for gfile on Nextstep.
54209 2016-01-02  John Wiegley  <johnw@newartisans.com>
54211         Merge branch 'emacs-25-merge'
54213 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
54215         Align textually on fix done for emacs-25 branch for bug#21054
54217         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
54218         and useless `(if t ...)' in order to align textually on fix done for
54219         emacs-25 branch for bug#21054.
54221 2016-01-01  K. Handa  <handa@gnu.org>
54223         support rendering of wider range of combinging characters by ftfont backend
54225         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
54226         supports rendering of combining characters, call
54227         font-shape-gstring.
54229         * src/font.c (Ffont_get): Handle `combining-capability' property.
54230         (syms_of_font): New symbol ":combining-capability'.
54232         * src/font.h (struct font_driver): New member combining_capability.
54234         * src/ftfont.c: Include "category.h".
54235         (ftfont_driver): Initialize combining_capability to
54236         ftfont_combining_capability.
54237         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
54238         FLT in advance.
54239         (ftfont_combining_capability): New function.
54241 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
54243         Add notes on bug triage procedure
54245         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
54246         * admin/notes/triage: New file explaining triage procedure.
54248 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
54250         Correct ses-rename-cell cursor-intangible text prop updating.
54252         There were two problems:
54254         - First ses-rename-cell has to work when called non interactively
54255           (with non-nil CELL argument), so in this case the start pos of
54256           put-text-property cannot be plainly (point), you need a
54257           ses-goto-print call before
54259         - Second, the range itself was computed erronously, only the first
54260           char was affected instead of the full cell width. This was not
54261           noticeable prior to changes (Deprecate `intangible' and
54262           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
54264         * lisp/ses.el (ses-rename-cell): Correct computation of position range
54265         to which the 'cursor-intangible text property has to be set to cell
54266         new name.
54268 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
54270         Don't fake empty cells value by "" when printing with a lambda.
54272         When using a lambda expression printer function the user should be
54273         free to format differently a really empty cell, ie. containing nil,
54274         from a cell containing an empty string "".
54276         * lisp/ses.el (ses-call-printer): Replace `(or value "")' by just
54277         `value' in the case of a lambda expression printer function.
54279         * doc/misc/ses.texi (Printer functions): Add example and
54280         description about lambda expression printer function handling all
54281         the possible values, including unexpected ones.
54283 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
54285         Quick temporary hack to fix curcell refreshing.
54287         The problem was caused by change: 2015-04-13 Deprecate `intangible'
54288         and `point-entered' properties. The problem is that this change has
54289         removed the (setq ses--curcell t) setting in the ses-command-hook
54290         function.
54292         * lisp/ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
54293         a condition to call function `ses-set-curcell'. Comment this as a quick
54294         temporary hack to make it work, as I don't know yet whether a definite
54295         correction would be to make the ses-set-curcell at every ses-check-curcell,
54296         or to revert to the previous approach, ie marking ses--curcell as out-of-date
54297         at every potentially cursor motion command.
54299 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
54301         Restrictive URL checking tweaks
54303         * lisp/net/eww.el (eww): Check whether the domain is
54304         restrictive instead of the string
54305         (http://македонија.icom.museum is restrictive even if each
54306         part is from a different script).
54308 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
54310         New function `puny-highly-restrictive-domain-p'
54312         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
54313         (puny-highly-restrictive-domain-p): New function.
54315 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
54317         eww build fix (require puny)
54319 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
54321         Transform non-restrictive domains to punycode for display
54323         * lisp/net/eww.el (eww): Check whether the domain is Highly
54324         Restrictive in the Unicode IDNA sense.
54326 2015-12-29  John Wiegley  <johnw@newartisans.com>
54328         Merge emacs-25 into master (using imerge)
54330 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
54332         Further Unicode restrictive fixups
54334         * lisp/net/puny.el (puny-highly-restrictive-p): Include the extra
54335         identifier characters from table 3.
54337 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
54339         Add a new function to say whether a string is restrictive
54341         * lisp/net/puny.el (puny-highly-restrictive-p): New function.
54343 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54345         Mention the new puny.el library
54347 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54349         IDNA-related fixes for the URL library
54351         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
54352         the Host: header.
54354         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
54355         domain names, but leave them as UTF-8, so that they can be
54356         IDNA-encoded later when contacting the host.
54358 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54360         IDNA-encode all domain names in `open-network-stream'
54362         * lisp/net/network-stream.el (open-network-stream)
54363         (network-stream-open-plain, network-stream-open-starttls):
54364         IDNA-encode all domain names, if needed.
54366 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54368         Fix puny-encoding all-non-ASCII domains
54370         * lisp/net/puny.el (puny-encode-string): Fix the all-non-ASCII
54371         encoding case.
54373 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54375         shr link traversal fixup
54377         * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
54379 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54381         Reconnect erc even on server errors
54383         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
54384         reconnect even if a server error has occurred (bug#18527).
54386 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54388         Fix punycode short circuit logic
54390         * lisp/net//puny.el (puny-encode-domain): Fix short-circuit logic.
54392 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54394         IDNA speed up
54396         * lisp/net/puny.el (puny-encode-domain): Make the common non-IDNA case faster
54398 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54400         Add IDNA domain encode/decode functions
54402         * lisp/net/puny.el (puny-decode-domain): New function.
54403         (puny-encode-domain): Ditto.
54404         (puny-decode-digit): Fix digit decoding error.
54406 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54408         Rename idna.el to puny.el
54410         * lisp/net/puny.el: Renamed from idna.el to avoid name collisions with
54411         the external idna.el library.
54413 2015-12-27  Katsumi Yamaoka  <yamaoka@jpl.org>
54415         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
54417         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
54418         Don't use split-string with 4th arg for old Emacsen compatibility.
54420 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
54422         * lisp/net/idna.el (idna-decode-string-internal): Implement
54423         decoding.
54425 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
54427         Further IDNA tweaks
54429         (idna-encode-string): Make idna-encode-string safe for
54430         non-ASCII use.
54432 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
54434         Clean up the code slightly
54436 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
54438         Added basic idna encoding support
54440         * lisp/net/idna.el: New file.
54442 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
54444         Disconnection fixes for erc
54446         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
54447         reconnect if the user has disconnected explicitly (bug#4589).
54449 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
54451         Further erc asynch fixes
54453         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
54454         erc-server-connect to return even if the connection is not
54455         ready.  Then erc-open and erc-server-reconnect do the
54456         same. (bug#5650).
54458 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
54460         Make erc connect asynchronously
54462         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
54463         reconnect asynchronously.
54465         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
54467 2015-12-27  David Edmondson  <dme@dme.org>
54469         Proxy error in erc with multiple clients
54471         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
54472         generated when multiple IRC clients talk to a single IRC proxy
54473         (bug#19034).
54475 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
54477         Fix mml-sec build warnings
54479         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
54480         (bug#18718).
54482 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
54484         (eww-setup-buffer): Restore left-to-right defaults
54486         * eww.el (eww-setup-buffer): Restore left-to-right defaults.
54488 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
54490         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
54492 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
54494         Identify unsafe combinations of Bcc and encryption
54496         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
54497         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
54498         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
54500 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
54502         * shr.el (shr-descend): Allow using lambdas in external functions.
54504 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
54506         * admin/gitmerge.el: Tweaks that seemed necessary
54508         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
54509         (gitmerge-maybe-resume): Provide explicit empty commit message.
54511 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
54513         Use a different port for TLS erc
54515         * lisp/erc/erc.el (erc-default-port-tls): New variable
54516         (bug#19497).
54517         * lisp/erc/erc.el (erc-tls): Use it.
54519 2015-12-25  Alain Schneble  <a.s@realize.ch>
54521         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
54523         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
54524         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
54525         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
54526         information in URL-struct.
54527         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
54528         path and query into nil path and query, respectively.
54529         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
54530         empty path into an absolute ("/") path.
54531         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
54532         fragment-only URIs. Do not just return them unchanged.
54533         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
54534         reference URI should not drop the last segment.
54536 2015-12-25  Alain Schneble  <a.s@realize.ch>
54538         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
54540         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
54541         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
54542         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
54543         information in URL-struct.
54544         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
54545         path and query into nil path and query, respectively.
54546         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
54547         empty path into an absolute ("/") path.
54548         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
54549         fragment-only URIs. Do not just return them unchanged.
54550         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
54551         reference URI should not drop the last segment.
54553 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
54555         Let url use default file modes when copying files
54557         * lisp/url/url-handlers.el (url-copy-file): Use default file
54558         modes when copying files (bug#11400).
54560 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
54562         Doc fix for url-http
54564         * lisp/url/url-http.el (url-http): Document better return values
54565           (bug#13187) (tiny change)
54567 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
54569         * eww.el (eww-display-html): Support <button> tags (bug#20485).
54571 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
54573         Made ffap-url-p a defun instead of a defsubst
54575         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
54576         since there doesn't seem to be much of a reason for it to be a
54577         defsubst (bug#18203).
54579 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
54581         Add a command to view files in the browser to dired
54583         * lisp/dired.el (dired-mode-map): Add the `W' command
54584         (bug#18810).
54586 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
54588         Allow http://user:pass@foo/ URLs again
54590         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
54591         user/passwords in URLs (bug#19046).
54593 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
54595         * eww.el (eww-mode-map): Fix command name of eww-toggle-colors.
54597 2015-12-25  Samer Masterson  <samer@samertm.com>
54599         Autoload url-insert-buffer-contents
54601         * lisp/url/url-handlers.el: Add autoload cookie so that
54602         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
54604 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
54606         Allow toggling colors in eww
54608         * doc/misc/eww.texi (Basics): Mention "C".
54610         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
54612         * lisp/net/shr.el (shr-use-colors): New variable.
54613         (shr-colorize-region): Use it.
54615 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
54617         Follow meta refresh tags in eww
54619         * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
54621 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54623         More eww file name coding fixes
54625         * eww.el (eww-decode-url-file-name): Use the base coding
54626         system to check for encodability.
54628 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54630         Always save eww history
54632         * eww.el (eww-setup-buffer): Always save history, even when
54633         called from outside the eww buffer (bug#19638).
54635 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54637         Default web pages to right-to-left
54639         * eww.el (eww-mode): Most web pages are left-to-right, so make
54640         that the default (bug#19801).
54642         * shr.el (shr-tag-html): Respect "dir" attributes
54643         (left-to-right, right-to-left).
54645 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54647         Make toggling checkboxes work again
54649         * eww.el (eww-update-field): Make toggling checkboxes work
54650         again (bug#21881).
54652 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54654         Don't store cookies with empty names
54656         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
54657         cookies with empty names (bug#21936).
54659 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54661         Stop rendering HTML before specdlr exhaustion
54663         Fixes: 22117
54665         * shr.el (shr-descend): Stop rendering before we run out of
54666         specpdl room (bug#22117).
54668 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54670         Use cl-reduce, not reduce.
54672 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54674         Allow several <tbody> tags in shr
54676         * shr.el (shr-table-body): New function to find the real body
54677         of a table.
54678         (shr-tag-table): Use it to render several <tbody> tags in a
54679         table (bug#22170).
54681 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54683         Make prettier unique file names in eww
54685         (eww-make-unique-file-name): Make unique file names by making
54686         files like foo(2).jpg instead of foo(1)(2).jpg.
54688 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54690         Decode hex-encoded URLs before using them as file names
54692         * eww.el (eww-decode-url-file-name): New function.
54693         (eww-download-callback): Use it to decode file names before
54694         saving them.
54696 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>
54698         Add FreeBSD cert bundle
54700         * doc/misc/emacs-gnutls.texi (Help For Users): Document
54701         FreeBSD bundle.
54703         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
54705 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54707         Allow overriding shr functions from eww
54709         * eww.el (eww-display-html): Allow overriding elements in
54710         `shr-external-rendering-functions'.
54712 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54714         Ignore invalid SVG images
54716         * shr.el (shr-tag-svg): Ignore SVG images that have no width
54717         or height, because these can't be displayed by ImageMagick,
54718         anyway.
54720 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54722         shr table rendering fix
54724         * shr.el (shr-tag-table): Allow rendering body-less tables
54725         that have headers.
54727 2015-12-22  Sam Steingold  <sds@gnu.org>
54729         clipboard should still work even if interprogram-* is disabled
54731         (clipboard-yank): When `interprogram-cut-function' is nil,
54732         bind it to `gui-selection-value' - the default value.
54733         (clipboard-kill-region, clipboard-kill-ring-save): When
54734         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
54735         the default value.
54737 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
54739         Fix bootstrap issue with dired-loaddefs
54741         * lisp/dired.el: Autoloads for secondary files loaded optionally.
54743 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
54745         dired generate autoloads to non-versioned file.
54747         * lisp/dired.el: Remove autoloads.
54748         * lisp/Makefile.in: Add dired to autogenel.
54749         * lisp/dired-aux.el, lisp/dired-x.el: Update file local.
54750         * test/lisp/dired-tests.el: Add new test.
54752 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
54754         eieio generate autoloads to non-versioned file.
54756         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
54757         * lisp/emacs-lisp/eieio.el, lisp/emacs-lisp/eieio-core.el:
54758           Remove autoloads.
54759         * lisp/emacs-lisp/eieio-compat.el, lisp/emacs-lisp/eieio-custom.el,
54760           lisp/emacs-lisp/eieio-opt.el: Update file local.
54761         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
54763 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
54765         htmlfontify generate autoload to non-versioned file.
54767         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
54768         * lisp/hfy-cmap.el: Update file local.
54769         * lisp/htmlfontify.el: Remove autoloads, add require.
54770         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
54772 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
54774         ibuffer generate autoloads to non-versioned file.
54776         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
54777         * lisp/ibuf-ext.el: Update file local.
54778         * lisp/ibuffer.el: Remove autoloads and add a require.
54779         * test/lisp/ibuffer-tests.el: Test that autoload is working.
54781 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
54783         rmail generate autoloads to non-versioned file.
54785         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
54786         * lisp/mail/rmail.el: Remove autoloads, add require.
54787         * lisp/mail/rmailedit.el, lisp/mail/rmailkwd.el:
54788         * lisp/mail/rmailmm.el, lisp/mail/rmailmsc.el:
54789         * lisp/mail/rmailsort.el, lisp/mail/rmailsum.el:
54790         * lisp/mail/undigest.el: Update file-local.
54791         * test/lisp/mail/rmail-tests.el:
54793 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
54795         Add autoload-force target.
54797         * lisp/Makefile.in (autoload-force): New target.
54799 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
54801         ps-print generate autoloads to non versioned file.
54803         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
54804         * lisp/ps-print.el: Remove autoloads.
54805         * lisp/ps-mule.el: Update file-local.
54806         * test/lisp/ps-print-tests.el: Test autoload functionality.
54808 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
54810         reftex generate autoloads to non versioned file.
54812         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
54813         * lisp/textmodes/reftex.el: Remove autoloads.
54814         * lisp/textmodes/reftex-auc.el, lisp/textmodes/reftex-cite.el:
54815         * lisp/textmodes/reftex-dcr.el, lisp/textmodes/reftex-global.el:
54816         * lisp/textmodes/reftex-index.el, lisp/textmodes/reftex-parse.el:
54817         * lisp/textmodes/reftex-ref.el, lisp/textmodes/reftex-sel.el:
54818         * lisp/textmodes/reftex-toc.el: Update autoload file-local.
54819         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
54820           function.
54822 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
54824         * lisp/calculator.el (calculator-define-key): Undo last change
54826         Make map argument mandatory instead (bug#22106).
54827         (calculator-add-operators): Pass the argument that's not optional any more.
54829 2015-12-03  Glenn Morris  <rgm@gnu.org>
54831         * Makefile.in: Avoid duplication.
54833         (have-tests): New rule.
54834         (check, check-maybe): Use it.
54836 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
54838         make check unconditional, check-maybe top-level.
54840          * Makefile.in: Add check-maybe target.
54841          * test/Makefile.in: Restore unconditional behaviour to make check.
54843 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
54845         Tests now support out-of-source-build.
54847          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
54848            about current working directory.
54850 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
54852         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
54854 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
54856         Improve documentation and clean up.
54858          * test/Makefile.in: Improve documentation, use EMACS variable
54859            correctly, and clean up makefile rules.
54861 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
54863         Update file headers for name change.
54865          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
54867 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
54869         Test files renamed to new scheme.
54871          * (finalizer-tests.el): Now renamed alloc-tests.el
54872          * (zlib-tests.el): Now renamed decompress-tests.el.
54874 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
54876         Tests now depend on source files
54878          * test/Makefile.in: Include dependences from tests to source files.
54879          * test/make-test-deps.emacs-lisp: New file
54880          * .gitignore: Ignore generated make include file
54882 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
54884         * lisp/progmodes/which-func.el: Improve disabling the mode
54886         Use lexical-binding.
54887         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
54888         (which-func, which-func-format): Remove redundant :group arg.
54889         (which-func-try-to-enable): New function.
54890         (which-func-ff-hook, which-function-mode): Use it.
54891         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
54892         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
54894 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
54896         * lisp/calculator.el (calculator-define-key): Silence warning
54898         ...about unknown calculator-mode-map.
54900 2015-11-29  Eli Barzilay  <eli@barzilay.org>
54902         * lisp/calculator.el: more improvements and bugfixes.
54904         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
54905           effect anyway.)
54907         - Simplify `calculator-number-to-string' by throwing most of the work
54908           onto `number-to-string', leaving just some tweaks for decimal inputs.
54909           This leads to some minor changes, for example, pasting "1x1" in hex
54910           mode would warn that "x" is ignored and result in "11" (and it wasn't
54911           done in decimal mode), whereas now it just ignores everything from the
54912           "x" and on and result in a "1" just like in decimal input mode.  Also,
54913           overflows are left for `number-to-string' to deal with.
54915         - `calculator-paste' is very simple as a result.
54917         - Extend the simplified `calculator-paste': with a prefix argument it
54918           pastes a string as if the characters were entered.  This can be used
54919           to reduce expressions, but note that it's a simple literal operation,
54920           so precedence can be messed, a number can be paster while entering a
54921           number, spaces and newlines matter, etc.
54923         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
54924           operator.
54926         - Fix a bug in `calculator-put-value': avoid grouping in the display
54927           that is used to construct `calculator-curnum'.  This would trigger
54928           when pasting or getting a value from a register in some radix mode
54929           with a large enough value.  Another fix: make the output radix equal
54930           the input one, otherwise numbers could be converted twice.
54932 2015-11-29  Eli Barzilay  <eli@barzilay.org>
54934         * lisp/calculator.el: Re-do key bindings.
54936         Use a helper function that arranges a parent keymap that binds alternate
54937         case keys so if some letter key is unbound and it's un/shifted version
54938         is, it will get used.  This makes the global-map trickery unnecessary.
54940         Also switch to passing strings that name keys through `kbd'.
54942 2015-11-29  Eli Barzilay  <eli@barzilay.org>
54944         * lisp/calculator.el: improve radix modes
54946         Fix prompt for some input radix with decimal output (eg, "BD" instead of
54947         the incorrect "B="); also, some minor docstring tweaks for these.
54949 2015-11-29  Eli Barzilay  <eli@barzilay.org>
54951         * lisp/calculator.el: better reading of register names
54953         Use `register-read-with-preview' with a dynamically bound
54954         `register-alist' and a proper preview function to read register names.
54956 2015-11-29  Eli Barzilay  <eli@barzilay.org>
54958         * lisp/calculator.el: General improvements
54960         Use things like `when', `unless', and `push'.
54962         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
54963         non-electric mode.
54965 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
54967         Fix a problem with gfilenotify in filenotify-tests.el
54969         * test/lisp/filenotify-tests.el
54970         (file-notify--test-expected-events): Remove.
54971         (file-notify--test-cleanup): Do not set that variable.
54972         (file-notify--test-with-events): EVENTS can also be a list of lists.
54973         (file-notify-test02-events, file-notify-test04-file-validity):
54974         Adapt expected result.
54976 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
54978         * .gitignore: Adjust to changes in 'test' directory structure.
54980 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
54982         Fix test/manual/etags/Makefile
54984         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
54985         changes in 'test' directory structure.
54987 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
54989         Exclude resource dirs from search for tests.
54991         * test/Makefile.in: Test file locations are now found with find
54992           rather than using finds native functions.
54994 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
54996         Add test targets without directory names.
54998          * (test/Makefile.in): Extend test_template to add two targets for each
54999            file.
55001 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
55003         * lisp/emacs-lisp/package.el: Require url-handlers
55005 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
55007         Move elisp-mode-tests to new function names.
55009          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
55010          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
55012 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
55014         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
55016 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
55018         Merge branch 'feature/standard-test-location'
55020 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
55022         * lisp/emacs-lisp/eieio.el: Add some default implementations
55024         (standard-class): Mark it obsolete.
55025         (slot-missing): Give it a default implementation.
55026         (destructor): Simplify and mark it obsolete.
55027         (object-print): Give it a default implementation.
55028         (eieio-change-class): Rename from change-class.
55029         (change-class): Redefine as obsolete alias.
55031 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55033         Mention kqueue in NEWS
55035 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55037         Merge from scratch/kqueue
55039         bec57a4 Some final fixes in file notification before merging with master
55040         0247489 Rework file notifications, kqueue has problems with directory monitors
55041         5154781 Continie with pending events
55042         6b490c0 Improve loops in file-notify-test06-many-events
55043         c8e266f Handle more complex rename operation in kqueue
55044         5044bdf New test with a larger number of events.
55045         65ba5a9 Further fixes for kqueue.
55046         13f3508 Code cleanup of kqueue.c
55047         99aa855 Doc changes for kqueue
55048         8deebe1 Finish implementation in kqueue.c
55049         90d6c69 * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
55050         e95b309 More work on kqueue
55051         41d9bd0 Implement directory events
55052         c571fc1 Build fixes for kqueue support.
55053         e0a68f2 Continue kqueue implementation
55054         7543d1c Work on kqueue
55055         e3354e2 Add kqueue support
55056         c6457ce Minor fix to comment indentation and typo in last commit
55057         b92307f linum-mode plays more nicely with other margin-setting extensions
55058         58e6235 * lisp/image-mode.el: Support encrypted file
55059         9375652 * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
55060         47f83b6 ; ChangeLog.2 fixes
55061         7cc233e * lisp/emacs-lisp/package.el: Fix a decoding issue
55062         5f9153f * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
55063         353f5e7 * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
55064         70f1fda ; Auto-commit of ChangeLog files.
55065         ae0653b * CONTRIBUTE: Remove information about feature freeze.
55066         9459456 Merge branch 'release-process-lowercase'
55067         9a4aa0f Document the release process
55068         f8cc14b * admin/release-process: Rename from admin/FOR-RELEASE.
55069         dcd5877 gitmerge: Fix git log command
55070         2ac79ae gitmerge: Try to detect cherry-picks
55071         5f7a2a9 Increment Emacs version on master branch
55072         ed2e7e2 Mention CONTRIBUTE in README
55073         9e00a02 Update verilog-mode.el to 2015-11-09-b121d60-vpo.
55074         138ad3d ; Fix warnings
55075         7126e9a ; Update xref-etags-mode for the latest change
55076         246d660 Use generic dispatch for xref backends
55077         31f6e93 Support rectangular regions for more commands
55078         f103a27 Handle multiple matches on the same line; add highlighting
55079         fe973fc Replace xref-match-bounds with xref-match-length
55080         92a5010 Merge from gnulib
55081         04ac097 Spruce up ftfont.c memory allocation
55082         4c4b520 Port recent XCB changes to 64-bit ‘long int’
55083         4f0ce9c * src/undo.c (run_undoable_change): Now static.
55084         695a6f9 Remove support for ':timeout' from w32 tray notifications
55085         a731c2f * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
55086         2b4c0c0 * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
55087         66b9f7b * src/undo.c: Small fixes for previous change
55088         2fac30e Add a few more variables to redisplay--variables
55089         04f69f1 * lisp/loadup.el: Enlarge the size of the hash table to 80000.
55090         e221d32 Fix point positioning after transposing with negative arg
55091         35f5afb Fix last change in shr.el
55092         508e77b Fix last change
55093         d60ed3f Another fix for MinGW64 and Cygwin builds due to notifications
55094         805a39b Remove intern calls and XXX comments from Fx_export_frames
55095         9463abf shr: don't invoke unbound function (Bug#21895)
55096         6e5186e * test/automated/keymaps-test.el: Fix test to make it repeatable
55097         0c92826 * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
55098         39dbd1c : Tests for undo-auto functionality.
55099         20aa42e ; Merge branch 'fix/no-undo-boundary-on-secondary-buffer-change'
55100         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'.
55101         d2f73db Bind [?\S-\ ] to previous line command in Dired-like modes.
55102         c1bc6e5 Fix the MinGW64 and Cygwin-w32 builds
55103         1e363a8 Enable sorting of JSON object keys when encoding
55104         9dd7da9 * test/automated/keymap-tests.el: New test file
55105         aa17de9 Speed up x_real_pos_and_offsets using XCB
55106         a838c83 Enable use of XCB for checking window manager state
55107         c7f2b6a Detect XCB and save a connection handle
55108         e1c27db Reduce some data dependencies between X calls
55109         25e32bd Use color cache for creating bitmap
55110         851be0f Add "^" to the interactive specs of `dired-next/previous-line'
55111         055ca3a Sync with soap-client repository, version 3.0.2
55112         e0f64e7 CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
55113         952395d * lisp/obarray.el: Fix shadowed variables
55114         436d330 Avoid error in submitting a form with EWW
55115         e887f6e ; * doc/lispref/os.texi: Fix indentation of sample code.
55116         51d840a Rename seq-p and map-p to seqp and mapp
55117         23036ba Rename obarray-p to obarrayp
55118         20aea42 Rename obarray-foreach to obarray-map
55119         a3b2101 New file with obarray functions.
55120         9d43941 Implement tray notifications for MS-Windows
55122 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55124         Some final fixes in file notification before merging with master
55126         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
55127         (file-notify-callback): Improve check for `stopped' event.  Call
55128         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
55129         (file-notify-add-watch): In case FILE is not a directory, call the
55130         file monitor for the kqueue backend.  Otherwise, call the
55131         directory monitor for the upper directory.
55133         * src/inotify.c (inotifyevent_to_event): Extract file name from
55134         watch_object if the event doesn't provide it.
55135         (Finotify_add_watch): Add file name to watch_object.
55137         * test/automated/file-notify-tests.el (file-notify--test-timeout):
55138         Use different timeouts for different libraries.
55139         (file-notify--test-with-events): Suppress lock files.  Flush
55140         outstanding events before running the body.
55141         (file-notify-test02-events, file-notify-test04-file-validity): Do
55142         not skip cygwin tests.  Add additional test for file creation.
55143         Adapt expected result for different backends.
55144         (file-notify-test03-autorevert): Some of the tests don't work for
55145         w32notify.
55146         (file-notify-test06-many-events): Rename into both directions.
55148 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55150         Rework file notifications, kqueue has problems with directory monitors
55152         * lisp/filenotify.el (file-notify-add-watch): Call the native
55153         add-watch function on the file, not on the dir.
55155         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
55156         about already deleted entries.
55158         * test/automated/auto-revert-tests.el
55159         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
55160         since this deletes the target file first.
55162         * test/automated/file-notify-tests.el (file-notify--test-event-test):
55163         Make stronger checks.
55164         (file-notify-test01-add-watch, file-notify-test02-events)
55165         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
55166         Rewrite in order to call file monitors but directory monitors.
55167         (file-notify-test06-many-events): Ler rename work in both directions.
55169 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55171         Continie with pending events
55173         * src/kqueue.c (pending_events): Remove global variable.
55174         (kqueue_compare_dir_list): Create `write' event for not used
55175         pending events.
55176         (globals_of_kqueue): Remove initialization of pending_events.
55178 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55180         Improve loops in file-notify-test06-many-events
55182         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
55183         Use `read-event' pauses for the `write-file' loops; otherwise
55184         events are lost in inotify and gfilenotify cases.
55186 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55188         Handle more complex rename operation in kqueue
55190         * src/kqueue.c (pending_events): New variable.
55191         (kqueue_compare_dir_list): Handle more complex rename operation.
55192         (globals_of_kqueue): Initialize pending_events.
55194         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
55195         Adapt expected events in the `rename-file' case.
55196         (file-notify-test06-many-events-remote): Declare.
55198 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
55200         New test with a larger number of events.
55202         * test/automated/file-notify-tests.el (file-notify--test-with-events):
55203         Make timeout heuristically depend on the number of events.
55205         (file-notify-test06-many-events): Use it for new test.
55207 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55209         Further fixes for kqueue.
55211         * lisp/filenotify.el (file-notify-callback): Raise also event if
55212         directory name matches.
55213         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
55215         * src/kqueue.c (kqueue_generate_event): Use watch_object as
55216         argument instead of ident.  Remove callback argument.  Adapt
55217         callees.  Check actions whether they are monitored flags.
55219         * test/automated/file-notify-tests.el (file-notify--test-library):
55220         New defun.
55221         (file-notify-test00-availability, file-notify-test02-events)
55222         (file-notify-test04-file-validity)
55223         (file-notify-test05-dir-validity): Use it.
55224         (file-notify-test02-events, file-notify-test04-file-validity): Add
55225         `read-event' calls between different file actions, in order to
55226         give the backends a chance to rais an event.  Needed especially
55227         for kqueue.  In case of deleting a directory, there are two
55228         `deleted' events.
55230 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55232         Code cleanup of kqueue.c
55234         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
55235         (kqueue_compare_dir_list): Do not loop when calling
55236         directory_files_internal.  Remove checks for "." and "..", this is
55237         done in kqueue_directory_listing now.
55238         (Fkqueue_add_watch): Check for proper emacs_open flags.
55240 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55242         Doc changes for kqueue
55244         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
55245         Fix some glitches in the example.
55247 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55249         Finish implementation in kqueue.c
55251         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
55252         Simplify access to list.
55253         (kqueue_compare_dir_list): Simplify access to list.  Raise
55254         `delete' event if directory does not exist any longer.  Otherwise,
55255         wait until directory contents has changed.  Fix error in check.
55257 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55259         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
55261 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55263         More work on kqueue
55265         * lisp/filenotify.el (file-notify-callback): Handle also the
55266         `rename' event from kqueue.
55267         (file-notify-add-watch): Do not register an entry twice.
55269         * src/kqueue.c (kqueue_directory_listing): New function.
55270         (kqueue_generate_event): New argument FILE1.  Adapt callees.
55271         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
55273 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55275         Implement directory events
55277         * lisp/filenotify.el (file-notify-handle-event)
55278         (file-notify-callback): Remove traces.
55280         * src/kqueue.c: Include <sys/time.h>.
55281         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
55282         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
55283         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
55284         Compute initial directory listing.  Close file descriptor in case
55285         of errors.
55286         (syms_of_kqueue): Declare Qcreate.
55288 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
55290         Build fixes for kqueue support.
55292         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
55293         flag.
55295         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
55296         kqueue on *BSD.
55298 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55300         Continue kqueue implementation
55302         * lisp/filenotify.el (file-notify-handle-event)
55303         (file-notify-callback): Enable trace messages.
55305         * src/kqueue.c: Include also <sys/types.h>.
55306         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
55307         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
55308         (syms_of_kqueue): Add them.
55310 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55312         Work on kqueue
55314         * lisp/filenotify.el (file-notify--library)
55315         (file-notify-descriptors, file-notify-callback)
55316         (file-notify-add-watch, file-notify-rm-watch)
55317         (file-notify-valid-p): Add kqueue support.
55319         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
55321 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55323         Add kqueue support
55325         * configure.ac (--with-file-notification): Add kqueue.
55326         (top): Remove special test for "${HAVE_NS}" and
55327         ${with_file_notification}, this is handled inside gfilenotify
55328         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
55329         instead of library specific variables.
55331         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
55333         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
55335         * src/kqueue.c: New file.
55337         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
55339 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55341         Some final fixes in file notification before merging with master
55343         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
55344         (file-notify-callback): Improve check for `stopped' event.  Call
55345         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
55346         (file-notify-add-watch): In case FILE is not a directory, call the
55347         file monitor for the kqueue backend.  Otherwise, call the
55348         directory monitor for the upper directory.
55350         * src/inotify.c (inotifyevent_to_event): Extract file name from
55351         watch_object if the event doesn't provide it.
55352         (Finotify_add_watch): Add file name to watch_object.
55354         * test/automated/file-notify-tests.el (file-notify--test-timeout):
55355         Use different timeouts for different libraries.
55356         (file-notify--test-with-events): Suppress lock files.  Flush
55357         outstanding events before running the body.
55358         (file-notify-test02-events, file-notify-test04-file-validity): Do
55359         not skip cygwin tests.  Add additional test for file creation.
55360         Adapt expected result for different backends.
55361         (file-notify-test03-autorevert): Some of the tests don't work for
55362         w32notify.
55363         (file-notify-test06-many-events): Rename into both directions.
55365 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
55367         Update elisp-mode-tests for changed file location.
55369          * test/lisp/progmodes/elisp-mode-tests.el:
55371 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
55373         Exclude manual tests from Makefile
55375          * test/Makefile.in:
55377 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
55379         Move package test files to new directory.
55381          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
55382          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
55384 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
55386         Restore delete Makefiles and fix .gitignore.
55388          * .gitignore: Update Makefiles to changed locations
55389          * test/lisp/progmodes/flymake-resources/Makefile,
55390            test/manual/etags/Makefile,
55391            test/manual/etags/make-src/Makefile,
55392            test/manual/indent/Makefile: Restored and moved to new location.
55394 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
55396         Test infrastructure: updates after directory move
55398          * (test/Makefile.in): Support directories several levels deep.
55399          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
55400          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
55402 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
55404         Rename all test files to reflect source layout.
55406         * CONTRIBUTE, Makefile.in, configure.ac: Update to reflect
55407         test directory moves.
55408         * test/file-organisation.org: New file.
55409         * test/automated/Makefile.in:
55410         * test/automated/data/decompress/foo.gz:
55411         * test/automated/data/epg/pubkey.asc:
55412         * test/automated/data/epg/seckey.asc:
55413         * test/automated/data/files-bug18141.el.gz:
55414         * test/automated/data/flymake/test.c:
55415         * test/automated/data/flymake/test.pl:
55416         * test/automated/data/package/archive-contents:
55417         * test/automated/data/package/key.pub:
55418         * test/automated/data/package/key.sec:
55419         * test/automated/data/package/multi-file-0.2.3.tar:
55420         * test/automated/data/package/multi-file-readme.txt:
55421         * test/automated/data/package/newer-versions/archive-contents:
55422         * test/automated/data/package/newer-versions/new-pkg-1.0.el:
55423         * test/automated/data/package/newer-versions/simple-single-1.4.el:
55424         * test/automated/data/package/package-test-server.py:
55425         * test/automated/data/package/signed/archive-contents:
55426         * test/automated/data/package/signed/archive-contents.sig:
55427         * test/automated/data/package/signed/signed-bad-1.0.el:
55428         * test/automated/data/package/signed/signed-bad-1.0.el.sig:
55429         * test/automated/data/package/signed/signed-good-1.0.el:
55430         * test/automated/data/package/signed/signed-good-1.0.el.sig:
55431         * test/automated/data/package/simple-depend-1.0.el:
55432         * test/automated/data/package/simple-single-1.3.el:
55433         * test/automated/data/package/simple-single-readme.txt:
55434         * test/automated/data/package/simple-two-depend-1.1.el:
55435         * test/automated/abbrev-tests.el:
55436         * test/automated/auto-revert-tests.el:
55437         * test/automated/calc-tests.el:
55438         * test/automated/icalendar-tests.el:
55439         * test/automated/character-fold-tests.el:
55440         * test/automated/comint-testsuite.el:
55441         * test/automated/descr-text-test.el:
55442         * test/automated/electric-tests.el:
55443         * test/automated/cl-generic-tests.el:
55444         * test/automated/cl-lib-tests.el:
55445         * test/automated/eieio-test-methodinvoke.el:
55446         * test/automated/eieio-test-persist.el:
55447         * test/automated/eieio-tests.el:
55448         * test/automated/ert-tests.el:
55449         * test/automated/ert-x-tests.el:
55450         * test/automated/generator-tests.el:
55451         * test/automated/let-alist.el:
55452         * test/automated/map-tests.el:
55453         * test/automated/advice-tests.el:
55454         * test/automated/package-test.el:
55455         * test/automated/pcase-tests.el:
55456         * test/automated/regexp-tests.el:
55457         * test/automated/seq-tests.el:
55458         * test/automated/subr-x-tests.el:
55459         * test/automated/tabulated-list-test.el:
55460         * test/automated/thunk-tests.el:
55461         * test/automated/timer-tests.el:
55462         * test/automated/epg-tests.el:
55463         * test/automated/eshell.el:
55464         * test/automated/faces-tests.el:
55465         * test/automated/file-notify-tests.el:
55466         * test/automated/auth-source-tests.el:
55467         * test/automated/gnus-tests.el:
55468         * test/automated/message-mode-tests.el:
55469         * test/automated/help-fns.el:
55470         * test/automated/imenu-test.el:
55471         * test/automated/info-xref.el:
55472         * test/automated/mule-util.el:
55473         * test/automated/isearch-tests.el:
55474         * test/automated/json-tests.el:
55475         * test/automated/bytecomp-tests.el:
55476         * test/automated/coding-tests.el:
55477         * test/automated/core-elisp-tests.el:
55478         * test/automated/decoder-tests.el:
55479         * test/automated/files.el:
55480         * test/automated/font-parse-tests.el:
55481         * test/automated/lexbind-tests.el:
55482         * test/automated/occur-tests.el:
55483         * test/automated/process-tests.el:
55484         * test/automated/syntax-tests.el:
55485         * test/automated/textprop-tests.el:
55486         * test/automated/undo-tests.el:
55487         * test/automated/man-tests.el:
55488         * test/automated/completion-tests.el:
55489         * test/automated/dbus-tests.el:
55490         * test/automated/newsticker-tests.el:
55491         * test/automated/sasl-scram-rfc-tests.el:
55492         * test/automated/tramp-tests.el:
55493         * test/automated/obarray-tests.el:
55494         * test/automated/compile-tests.el:
55495         * test/automated/elisp-mode-tests.el:
55496         * test/automated/f90.el:
55497         * test/automated/flymake-tests.el:
55498         * test/automated/python-tests.el:
55499         * test/automated/ruby-mode-tests.el:
55500         * test/automated/subword-tests.el:
55501         * test/automated/replace-tests.el:
55502         * test/automated/simple-test.el:
55503         * test/automated/sort-tests.el:
55504         * test/automated/subr-tests.el:
55505         * test/automated/reftex-tests.el:
55506         * test/automated/sgml-mode-tests.el:
55507         * test/automated/tildify-tests.el:
55508         * test/automated/thingatpt.el:
55509         * test/automated/url-future-tests.el:
55510         * test/automated/url-util-tests.el:
55511         * test/automated/add-log-tests.el:
55512         * test/automated/vc-bzr.el:
55513         * test/automated/vc-tests.el:
55514         * test/automated/xml-parse-tests.el:
55515         * test/BidiCharacterTest.txt:
55516         * test/biditest.el:
55517         * test/cedet/cedet-utests.el:
55518         * test/cedet/ede-tests.el:
55519         * test/cedet/semantic-ia-utest.el:
55520         * test/cedet/semantic-tests.el:
55521         * test/cedet/semantic-utest-c.el:
55522         * test/cedet/semantic-utest.el:
55523         * test/cedet/srecode-tests.el:
55524         * test/cedet/tests/test.c:
55525         * test/cedet/tests/test.el:
55526         * test/cedet/tests/test.make:
55527         * test/cedet/tests/testdoublens.cpp:
55528         * test/cedet/tests/testdoublens.hpp:
55529         * test/cedet/tests/testfriends.cpp:
55530         * test/cedet/tests/testjavacomp.java:
55531         * test/cedet/tests/testnsp.cpp:
55532         * test/cedet/tests/testpolymorph.cpp:
55533         * test/cedet/tests/testspp.c:
55534         * test/cedet/tests/testsppcomplete.c:
55535         * test/cedet/tests/testsppreplace.c:
55536         * test/cedet/tests/testsppreplaced.c:
55537         * test/cedet/tests/testsubclass.cpp:
55538         * test/cedet/tests/testsubclass.hh:
55539         * test/cedet/tests/testtypedefs.cpp:
55540         * test/cedet/tests/testvarnames.c:
55541         * test/etags/CTAGS.good:
55542         * test/etags/ETAGS.good_1:
55543         * test/etags/ETAGS.good_2:
55544         * test/etags/ETAGS.good_3:
55545         * test/etags/ETAGS.good_4:
55546         * test/etags/ETAGS.good_5:
55547         * test/etags/ETAGS.good_6:
55548         * test/etags/a-src/empty.zz:
55549         * test/etags/a-src/empty.zz.gz:
55550         * test/etags/ada-src/2ataspri.adb:
55551         * test/etags/ada-src/2ataspri.ads:
55552         * test/etags/ada-src/etags-test-for.ada:
55553         * test/etags/ada-src/waroquiers.ada:
55554         * test/etags/c-src/a/b/b.c:
55555         * test/etags/c-src/abbrev.c:
55556         * test/etags/c-src/c.c:
55557         * test/etags/c-src/dostorture.c:
55558         * test/etags/c-src/emacs/src/gmalloc.c:
55559         * test/etags/c-src/emacs/src/keyboard.c:
55560         * test/etags/c-src/emacs/src/lisp.h:
55561         * test/etags/c-src/emacs/src/regex.h:
55562         * test/etags/c-src/etags.c:
55563         * test/etags/c-src/exit.c:
55564         * test/etags/c-src/exit.strange_suffix:
55565         * test/etags/c-src/fail.c:
55566         * test/etags/c-src/getopt.h:
55567         * test/etags/c-src/h.h:
55568         * test/etags/c-src/machsyscalls.c:
55569         * test/etags/c-src/machsyscalls.h:
55570         * test/etags/c-src/sysdep.h:
55571         * test/etags/c-src/tab.c:
55572         * test/etags/c-src/torture.c:
55573         * test/etags/cp-src/MDiagArray2.h:
55574         * test/etags/cp-src/Range.h:
55575         * test/etags/cp-src/burton.cpp:
55576         * test/etags/cp-src/c.C:
55577         * test/etags/cp-src/clheir.cpp.gz:
55578         * test/etags/cp-src/clheir.hpp:
55579         * test/etags/cp-src/conway.cpp:
55580         * test/etags/cp-src/conway.hpp:
55581         * test/etags/cp-src/fail.C:
55582         * test/etags/cp-src/functions.cpp:
55583         * test/etags/cp-src/screen.cpp:
55584         * test/etags/cp-src/screen.hpp:
55585         * test/etags/cp-src/x.cc:
55586         * test/etags/el-src/TAGTEST.EL:
55587         * test/etags/el-src/emacs/lisp/progmodes/etags.el:
55588         * test/etags/erl-src/gs_dialog.erl:
55589         * test/etags/f-src/entry.for:
55590         * test/etags/f-src/entry.strange.gz:
55591         * test/etags/f-src/entry.strange_suffix:
55592         * test/etags/forth-src/test-forth.fth:
55593         * test/etags/html-src/algrthms.html:
55594         * test/etags/html-src/index.shtml:
55595         * test/etags/html-src/software.html:
55596         * test/etags/html-src/softwarelibero.html:
55597         * test/etags/lua-src/allegro.lua:
55598         * test/etags/objc-src/PackInsp.h:
55599         * test/etags/objc-src/PackInsp.m:
55600         * test/etags/objc-src/Subprocess.h:
55601         * test/etags/objc-src/Subprocess.m:
55602         * test/etags/objcpp-src/SimpleCalc.H:
55603         * test/etags/objcpp-src/SimpleCalc.M:
55604         * test/etags/pas-src/common.pas:
55605         * test/etags/perl-src/htlmify-cystic:
55606         * test/etags/perl-src/kai-test.pl:
55607         * test/etags/perl-src/yagrip.pl:
55608         * test/etags/php-src/lce_functions.php:
55609         * test/etags/php-src/ptest.php:
55610         * test/etags/php-src/sendmail.php:
55611         * test/etags/prol-src/natded.prolog:
55612         * test/etags/prol-src/ordsets.prolog:
55613         * test/etags/ps-src/rfc1245.ps:
55614         * test/etags/pyt-src/server.py:
55615         * test/etags/tex-src/gzip.texi:
55616         * test/etags/tex-src/nonewline.tex:
55617         * test/etags/tex-src/testenv.tex:
55618         * test/etags/tex-src/texinfo.tex:
55619         * test/etags/y-src/atest.y:
55620         * test/etags/y-src/cccp.c:
55621         * test/etags/y-src/cccp.y:
55622         * test/etags/y-src/parse.c:
55623         * test/etags/y-src/parse.y:
55624         * test/indent/css-mode.css:
55625         * test/indent/js-indent-init-dynamic.js:
55626         * test/indent/js-indent-init-t.js:
55627         * test/indent/js-jsx.js:
55628         * test/indent/js.js:
55629         * test/indent/latex-mode.tex:
55630         * test/indent/modula2.mod:
55631         * test/indent/nxml.xml:
55632         * test/indent/octave.m:
55633         * test/indent/pascal.pas:
55634         * test/indent/perl.perl:
55635         * test/indent/prolog.prolog:
55636         * test/indent/ps-mode.ps:
55637         * test/indent/ruby.rb:
55638         * test/indent/scheme.scm:
55639         * test/indent/scss-mode.scss:
55640         * test/indent/sgml-mode-attribute.html:
55641         * test/indent/shell.rc:
55642         * test/indent/shell.sh:
55643         * test/redisplay-testsuite.el:
55644         * test/rmailmm.el:
55645         * test/automated/buffer-tests.el:
55646         * test/automated/cmds-tests.el:
55647         * test/automated/data-tests.el:
55648         * test/automated/finalizer-tests.el:
55649         * test/automated/fns-tests.el:
55650         * test/automated/inotify-test.el:
55651         * test/automated/keymap-tests.el:
55652         * test/automated/print-tests.el:
55653         * test/automated/libxml-tests.el:
55654         * test/automated/zlib-tests.el: Files Moved.
55656 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
55658         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
55660         * lisp/progmodes/verilog-mode.el
55661         (verilog-save-font-no-change-functions): Commentary and fix
55662         pre-Emacs 21 behavior.
55664 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
55666         Rework file notifications, kqueue has problems with directory monitors
55668         * lisp/filenotify.el (file-notify-add-watch): Call the native
55669         add-watch function on the file, not on the dir.
55671         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
55672         about already deleted entries.
55674         * test/automated/auto-revert-tests.el
55675         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
55676         since this deletes the target file first.
55678         * test/automated/file-notify-tests.el (file-notify--test-event-test):
55679         Make stronger checks.
55680         (file-notify-test01-add-watch, file-notify-test02-events)
55681         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
55682         Rewrite in order to call file monitors but directory monitors.
55683         (file-notify-test06-many-events): Ler rename work in both directions.
55685 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
55687         Use obarray functions from obarray.
55689         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
55690           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
55691           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
55692           delegate to obarray.el functions.
55693         * lisp/loadup.el: load obarray before abbrev
55694         * test/automated/abbrev-tests.el: new tests
55696 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
55698         Continie with pending events
55700         * src/kqueue.c (pending_events): Remove global variable.
55701         (kqueue_compare_dir_list): Create `write' event for not used
55702         pending events.
55703         (globals_of_kqueue): Remove initialization of pending_events.
55705 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
55707         Improve loops in file-notify-test06-many-events
55709         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
55710         Use `read-event' pauses for the `write-file' loops; otherwise
55711         events are lost in inotify and gfilenotify cases.
55713 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
55715         Handle more complex rename operation in kqueue
55717         * src/kqueue.c (pending_events): New variable.
55718         (kqueue_compare_dir_list): Handle more complex rename operation.
55719         (globals_of_kqueue): Initialize pending_events.
55721         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
55722         Adapt expected events in the `rename-file' case.
55723         (file-notify-test06-many-events-remote): Declare.
55725 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
55727         epa.el: Add option to replace original text
55729         * lisp/epa.el (epa-replace-original-text): New user option.
55730         (Bug#21947)
55732 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
55734         Add interactive seek command.
55736         * lisp/mpc.el (mpc-cmd-seekcur): New function.
55737         (mpc-seek-current): New command.
55738         (mpc-mode-menu): Add entry for mpc-seek-current
55739         (mpc-mode-map): Bind mpc-seek-current to "g"
55741 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
55743         Fix issue where a new tempfile was created every refresh
55745         * lisp/mpc.el (mpc-format): Leave dir as relative path
55747 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
55749         New test with a larger number of events.
55751         * test/automated/file-notify-tests.el (file-notify--test-with-events):
55752         Make timeout heuristically depend on the number of events.
55754         (file-notify-test06-many-events): Use it for new test.
55756 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
55758         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
55760         (c-save-buffer-state): Use with-silent-modifications when available.
55761         (c--macroexpand-all): Check macroexpand-all directly rather than
55762         c--mapcan-status.
55764 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
55766         * lisp/loadup.el: Set max-lisp-eval-depth here
55768         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
55769         (BYTE_COMPILE_FLAGS): Adjust accordingly.
55771 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
55773         Further fixes for kqueue.
55775         * lisp/filenotify.el (file-notify-callback): Raise also event if
55776         directory name matches.
55777         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
55779         * src/kqueue.c (kqueue_generate_event): Use watch_object as
55780         argument instead of ident.  Remove callback argument.  Adapt
55781         callees.  Check actions whether they are monitored flags.
55783         * test/automated/file-notify-tests.el (file-notify--test-library):
55784         New defun.
55785         (file-notify-test00-availability, file-notify-test02-events)
55786         (file-notify-test04-file-validity)
55787         (file-notify-test05-dir-validity): Use it.
55788         (file-notify-test02-events, file-notify-test04-file-validity): Add
55789         `read-event' calls between different file actions, in order to
55790         give the backends a chance to rais an event.  Needed especially
55791         for kqueue.  In case of deleting a directory, there are two
55792         `deleted' events.
55794 2015-11-17  João Távora  <joaotavora@gmail.com>
55796         Minor fix to comment indentation and typo in last commit
55798         * lisp/linum.el (linum-update-window): Fix comment indentation and
55799         a typo.
55801 2015-11-17  João Távora  <joaotavora@gmail.com>
55803         linum-mode plays more nicely with other margin-setting extensions
55805         linum.el will only modify the left margin if it needs to, and will
55806         only reset the it back to 0 if it guesses that no-one has touched that
55807         margin in the meantime.
55809         As such, this is a more of a workaround than an actual fix, but fixes
55810         the problems described in bug#20674 regarding the interaction with
55811         modes such as darkroom-mode and olivetti-mode.
55813         A similar fix was commited to nlinum.el in ELPA.git's
55814         e7f5f549fbfb740b911fb7f33b42381ecece56d8
55816         * lisp/linum.el (linum-delete-overlays): Restore margins more
55817         criteriously.
55818         (linum-update-window): Set margins more criteriously.
55820 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
55822         Code cleanup of kqueue.c
55824         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
55825         (kqueue_compare_dir_list): Do not loop when calling
55826         directory_files_internal.  Remove checks for "." and "..", this is
55827         done in kqueue_directory_listing now.
55828         (Fkqueue_add_watch): Check for proper emacs_open flags.
55830 2015-11-16  Daiki Ueno  <ueno@gnu.org>
55832         * lisp/image-mode.el: Support encrypted file
55834         (image-toggle-display-image): Read content from the buffer instead
55835         of the file, if the buffer holds a decrypted data.  (Bug#21870)
55837 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
55839         Doc changes for kqueue
55841         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
55842         Fix some glitches in the example.
55844 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
55846         Finish implementation in kqueue.c
55848         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
55849         Simplify access to list.
55850         (kqueue_compare_dir_list): Simplify access to list.  Raise
55851         `delete' event if directory does not exist any longer.  Otherwise,
55852         wait until directory contents has changed.  Fix error in check.
55854 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
55856         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
55858 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
55860         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
55862 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
55864         * lisp/emacs-lisp/package.el: Fix a decoding issue
55866         (package--with-response-buffer): Use `url-insert-buffer-contents'.
55867         The previous code had some issues with decoding. Refactoring that
55868         function allows us to use the decoding from url-handlers while still
55869         treating both sync and async requests the same.
55871         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
55872         `url-insert-buffer-contents'.
55873         (url-insert-buffer-contents): New function
55875 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
55877         * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
55879         (package--with-work-buffer-async): Reimplement as
55880         `package--with-response-buffer'.
55881         (package--with-work-buffer): Mark obsolete.
55882         (package--with-response-buffer): New macro. This is a more self
55883         contained and less contrived version of
55884         `package--with-work-buffer-async'.  It uses keyword arguments,
55885         doesn't have async on the name, doesn't fallback on
55886         `package--with-work-buffer', and has _much_ simpler error
55887         handling.
55889         (package--check-signature, package--download-one-archive)
55890         (package-install-from-archive, describe-package-1): Use it.
55892         (package--download-and-read-archives): Let
55893         `package--download-one-archive' take care of calling
55894         `package--update-downloads-in-progress'.
55896 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
55898         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
55900         (verilog-save-buffer-state): Use with-silent-modifications when available.
55901         (verilog-save-font-no-change-functions): Don't bind
55902         before/after-change-functions if it's not needed.
55904 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
55906         More work on kqueue
55908         * lisp/filenotify.el (file-notify-callback): Handle also the
55909         `rename' event from kqueue.
55910         (file-notify-add-watch): Do not register an entry twice.
55912         * src/kqueue.c (kqueue_directory_listing): New function.
55913         (kqueue_generate_event): New argument FILE1.  Adapt callees.
55914         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
55916 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
55918         * CONTRIBUTE: Remove information about feature freeze.
55920         Merge branch 'release-process-lowercase'
55922 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
55924         Document the release process
55926         * admin/notes/versioning: Add information about RC releases.
55927         * admin/release-process: Document the release process.
55928         * admin/authors.el (authors-ignored-files):
55929         * admin/README: Change FOR-RELEASE to release-process.
55930         * CONTRIBUTE:
55931         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
55933 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
55935         * admin/release-process: Rename from admin/FOR-RELEASE.
55937 2015-11-14  David Engster  <deng@randomsample.de>
55939         gitmerge: Fix git log command
55941         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
55942         only want commits from the branch that is to be merged.
55943         (gitmerge-setup-log-buffer): Use the same symmetric range as in
55944         `gitmerge-missing'.
55946 2015-11-14  David Engster  <deng@randomsample.de>
55948         gitmerge: Try to detect cherry-picks
55950         * admin/gitmerge.el (gitmerge-default-branch): Change to
55951         origin/emacs-25.
55952         (gitmerge-missing): Use symmetric difference ('...') between
55953         branch and master so that cherry-picks can be detected.
55955 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
55957         Implement directory events
55959         * lisp/filenotify.el (file-notify-handle-event)
55960         (file-notify-callback): Remove traces.
55962         * src/kqueue.c: Include <sys/time.h>.
55963         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
55964         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
55965         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
55966         Compute initial directory listing.  Close file descriptor in case
55967         of errors.
55968         (syms_of_kqueue): Declare Qcreate.
55970 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
55972         Increment Emacs version on master branch
55974         * lisp/cus-edit.el (customize-changed-options-previous-release):
55975         Increase previous version to 24.5.
55977         * configure.ac:
55978         * msdos/sed2v2.inp: Bump version to 25.1.50.
55980 2015-11-13  Xue Fuqiao  <xfq.free@gmail.com>
55982         Mention CONTRIBUTE in README
55984         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
55985         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
55986         * README: Mention CONTRIBUTE.
55988 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
55990         Update verilog-mode.el to 2015-11-09-b121d60-vpo.
55992         * lisp/progmodes/verilog-mode.el (verilog-auto, verilog-delete-auto)
55993         (verilog-modi-cache-results, verilog-save-buffer-state)
55994         (verilog-save-font-no-change-functions): When internally suppressing change
55995         functions, use `inhibit-modification-hooks' and call
55996         `after-change-funtions' to more nicely work with user hooks.  Reported by
55997         Stefan Monnier.
55999         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
56000         Create `verilog-delete-auto-buffer' to avoid double-calling
56001         fontification hooks.
56003         (verilog-restore-buffer-modified-p, verilog-auto)
56004         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
56005         set-buffer-modified-p. Reported by Stefan Monnier.
56007         (verilog-diff-auto, verilog-diff-buffers-p)
56008         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
56010         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
56011         AUTOINST with unpacked dimensional parameters, bug981. Reported by
56012         by Amol Nagapurkar.
56014         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
56015         properties inside internal structures. No functional change
56016         intended.
56018 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
56020         Build fixes for kqueue support.
56022         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
56023         flag.
56025         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
56026         kqueue on *BSD.
56028 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
56030         Continue kqueue implementation
56032         * lisp/filenotify.el (file-notify-handle-event)
56033         (file-notify-callback): Enable trace messages.
56035         * src/kqueue.c: Include also <sys/types.h>.
56036         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
56037         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
56038         (syms_of_kqueue): Add them.
56040 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
56042         Work on kqueue
56044         * lisp/filenotify.el (file-notify--library)
56045         (file-notify-descriptors, file-notify-callback)
56046         (file-notify-add-watch, file-notify-rm-watch)
56047         (file-notify-valid-p): Add kqueue support.
56049         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
56051 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
56053         Add kqueue support
56055         * configure.ac (--with-file-notification): Add kqueue.
56056         (top): Remove special test for "${HAVE_NS}" and
56057         ${with_file_notification}, this is handled inside gfilenotify
56058         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
56059         instead of library specific variables.
56061         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
56063         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
56065         * src/kqueue.c: New file.
56067         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
56069 This file records repository revisions from
56070 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
56071 commit bce51bd6f7702dbc70a570e8b905f23db9cdcdcf (inclusive).
56072 See ChangeLog.1 for earlier changes.
56074 ;; Local Variables:
56075 ;; coding: utf-8
56076 ;; End:
56078   Copyright (C) 2015-2018 Free Software Foundation, Inc.
56080   This file is part of GNU Emacs.
56082   GNU Emacs is free software: you can redistribute it and/or modify
56083   it under the terms of the GNU General Public License as published by
56084   the Free Software Foundation, either version 3 of the License, or
56085   (at your option) any later version.
56087   GNU Emacs is distributed in the hope that it will be useful,
56088   but WITHOUT ANY WARRANTY; without even the implied warranty of
56089   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
56090   GNU General Public License for more details.
56092   You should have received a copy of the GNU General Public License
56093   along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.