Bump Emacs version to 26.1.91
[emacs.git] / ChangeLog.3
blob35866c87a58287e4c13fc749a8a5d5cb0c6533b1
1 2019-01-07  Leo Liu  <sdl.web@gmail.com>
3         * lisp/textmodes/mhtml-mode.el: Avoid loading flyspell.  (Bug#33939)
5 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
7         Improve GC+Cairo workaround
9         Suggested by Eli Zaretskii (Bug#20890#31).
10         * src/font.h (font_data_structures_may_be_ill_formed): New function.
11         * src/ftfont.c (ftfont_close):
12         * src/ftcrfont.c (ftcrfont_close): Use it.
14         (cherry picked from commit d02fd482fbeaf6ed551e78223b538495cb0c3541)
16 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
18         Work around GC+Cairo bug
20         Workaround suggested by Robert Pluim (Bug#20890#13).
21         * src/ftfont.c (ftfont_close) [USE_CAIRO]:
22         Do nothing if GC is in progress.
24 2019-01-05  Eli Zaretskii  <eliz@gnu.org>
26         Improve commentary in font.h
28         * src/font.h (struct font, struct font_driver): Fix typos and
29         wording in comments.  Document all driver methods.
31 2019-01-04  Martin Rudalics  <rudalics@gmx.at>
33         Fix definition of Qwindow_point_insertion_type (Bug#33871)
35         * src/window.c (Qwindow_point_insertion_type): Fix definition
36         (Bug#33871).
38 2019-01-04  Eli Zaretskii  <eliz@gnu.org>
40         Improve documentation of 'server-name'
42         * doc/emacs/misc.texi (Emacs Server, TCP Emacs server)
43         (emacsclient Options):
44         * lisp/server.el (server-name):  Document the usage of
45         'server-name' to specify the server file as an absolute file
46         name.  Do not merge to master.  (Bug#33934)
48 2019-01-04  Eli Zaretskii  <eliz@gnu.org>
50         Update Unicode copyright notice
52         * admin/unidata/copyright.html: Updated version from the
53         Unicode Consortium's site.
55 2019-01-02  Michael Albinus  <michael.albinus@gmx.de>
57         Handle quoted file names in filenotify.el
59         * lisp/filenotify.el (file-notify-add-watch): Do not save
60         quoted file names in `file-notify-descriptors'.
62         * test/lisp/files-tests.el
63         (files-file-name-non-special-notify-handlers): Do not expect
64         to fail.
66 2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>
68         Fix copyright years by hand
70         These are dates that admin/update-copyright did not update, or
71         updated incorrectly.
73 2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>
75         Update copyright year to 2019
77         Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
79 2018-12-31  Eli Zaretskii  <eliz@gnu.org>
81         * doc/man/emacs.1.in: Fix value of default frame height.  (Bug#33921)
83 2018-12-30  Martin Rudalics  <rudalics@gmx.at>
85         In user manual fix value of default frame height (Bug#33921)
87         * doc/emacs/cmdargs.texi (Window Size X): Fix value of default
88         frame height (Bug#33921).
90 2018-12-29  Eli Zaretskii  <eliz@gnu.org>
92         Improve documentation of 'file-local-name' and related APIs
94         * doc/lispref/files.texi (Unique File Names)
95         (Magic File Names, File Name Expansion): Improve documentation
96         of the "local part" of a remote file name.
97         * doc/lispref/processes.texi (Synchronous Processes)
98         (Asynchronous Processes): State explicitly that program and
99         file names passed to functions that start remote processes
100         need to be relative or obtained by 'file-local-name'.
102         * lisp/files.el (file-local-name):
103         * lisp/simple.el (start-file-process, process-file): Improve
104         the documentation of the "local part" of a remote file name,
105         and its use in APIs that start remote processes.
107 2018-12-29  Michael Albinus  <michael.albinus@gmx.de>
109         Fix Bug#31704.  Do not merge
111         * lisp/net/tramp.el (tramp-eshell-directory-change):
112         Use `path-separator' as it does eshell.  (Bug#31704)
114 2018-12-29  Michael Albinus  <michael.albinus@gmx.de>
116         Fix Bug#31704.  Do not merge
118         * lisp/eshell/esh-proc.el (eshell-gather-process-output): Do not
119         let `expand-file-name' prefix remote file names with MS Windows
120         volume letter.
122         * lisp/net/tramp.el (tramp-eshell-directory-change):
123         Use `path-separator' as it does eshell.  (Bug#31704)
125 2018-12-29  Eli Zaretskii  <eliz@gnu.org>
127         * lisp/files.el (cd): Fix last change.  (Bug#33791)
129 2018-12-29  Eli Zaretskii  <eliz@gnu.org>
131         Fix remote directories in Eshell on MS-Windows
133         * lisp/files.el (cd): Support remote directory names on
134         MS-Windows.  (Bug#33791)
136 2018-12-29  Drew Adams  <drew.adams@oracle.com>
138         Fix :type 'group' in defcustom
140         * lisp/wid-edit.el (group): Fix the :format spec.  (Bug#33566)
142 2018-12-28  Alan Third  <alan@idiocy.org>
144         Fix NS fringe bitmap drawing bug (bug#33864)
146         * src/nsterm.m (ns_draw_fringe_bitmap): Check the rectangle to clear
147         correctly.
149 2018-12-28  Eli Zaretskii  <eliz@gnu.org>
151         Fix commentary in dispnew.c
153         * src/dispnew.c (buffer_posn_from_coords): Fix inaccuracies in
154         the commentary.
156 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
158         Improve accept-process-process doc
160         * doc/lispref/processes.texi (Accepting Output):
161         * src/process.c (Faccept_process_output):
162         Document that (accept-process-output P) can return non-nil
163         even after P has exited, and that it can return nil even if P
164         is still running (Bug#33839).
166 2018-12-23  Stephen Leake  <stephen_leake@stephe-leake.org>
168         Fix a simple bug in display-buffer-use-some-frame
170         * lisp/window.el (display-buffer-use-some-frame): Simplify the
171         predicate, fix TYPE arg to window--display-buffer.
173 2018-12-23  Michael Albinus  <michael.albinus@gmx.de>
175         Clarify thread switching while waiting for process output
177         * doc/lispref/threads.texi (Threads): Clarify, that thread
178         switching happens when waiting for process output from
179         asynchronous processes.
181 2018-12-22  Charles A. Roelli  <charles@aurox.ch>
183         Improve process doc. with respect to handling of large input (Bug#33191)
185         * src/process.c (Fprocess_send_region, Fprocess_send_string):
186         Document that process input longer than the process input
187         buffer may be split into bunches.  Remove an outdated
188         reference to a 500 character split boundary.
189         * doc/lispref/processes.texi (Asynchronous Processes): Remove
190         mention of "stray character injections" in PTY processes.  See
191         also the comment about ICANON in src/sysdep.c, function
192         child_setup_tty.
194 2018-12-22  Terrence Brannon  <metaperl@gmail.com>
196         Minor copyedits in landmark.el
198         * lisp/obsolete/landmark.el: Fix author's email and commentary.
200 2018-12-20  Alan Mackenzie  <acm@muc.de>
202         Check result from c-backward-token-2 to avoid infinite loop
204         This fixes bug #33784.
206         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): While moving back
207         over enclosing parentheses, check that c-backward-token-2 actually moves.
209 2018-12-19  Paul Eggert  <eggert@cs.ucla.edu>
211         cl-make-random-state was not copying its arg
213         Problem reported by Xu Chunyang (Bug#33731).
214         * lisp/emacs-lisp/cl-extra.el (cl-make-random-state):
215         Use copy-sequence, not copy-tree, so that the record is copied.
216         * test/lisp/emacs-lisp/cl-extra-tests.el:
217         (cl-extra-test-cl-make-random-state): New test.
219 2018-12-19  Glenn Morris  <rgm@gnu.org>
221         Skip a vc-bzr test if run as root
223         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-faulty-bzr-autoloads):
224         Skip this test when run as root.  This works around a race
225         condition in root-specific code in vc-mode-line when deleting a file.
227 2018-12-19  Chris Feng  <chris.w.feng@gmail.com>
229         Backport: Handle unread-command-events consistently (bug#23980)
231         * src/keyboard.c (read_char): Events put into `unread-command-events'
232         with the form (t . EVENT) should always have the t stripped when read
233         out.
234         * test/src/keyboard-tests.el: New tests for `unread-command-events'.
236         (cherry picked from commit 1f3f4b1296613b8cdc0632a68fde86e86ddad866)
238 2018-12-19  Glenn Morris  <rgm@gnu.org>
240         Restrict downcasing in elisp xref tests (bug#25534)
242         The tests happen to not fail at the moment because find-library-name
243         now has an extra feature, find-library--from-load-history, which
244         happens to do a case-insensitive regexp match; but still it seems
245         better not to rely on this.
247         * test/lisp/progmodes/elisp-mode-tests.el (xref--case-insensitive):
248         New variable.
249         (xref-elisp-test-run, emacs-test-dir): Only downcase if the
250         filesystem seems to be case-insensitive.
252 2018-12-18  Rob Browning  <rlb@defaultvalue.org>
254         Avoid test failures if directory name looks like a regexp
256         Taken from <https://sources.debian.org/patches/emacs/1:26.1+1-1>
257         * test/lisp/ibuffer-tests.el (ibuffer-filter-inclusion-3):
258         * test/lisp/net/tramp-tests.el (tramp-test42-remote-load-path):
259         Regexp-quote file names to avoid failures with directory names
260         of the form "build/emacs-i87jK3/emacs-26.1+1/...".
262 2018-12-18  Michael Albinus  <michael.albinus@gmx.de>
264         Fix Bug#33524
266         * lisp/progmodes/flymake-proc.el
267         (flymake-proc-create-temp-with-folder-structure):
268         Unquote file-name.  (Bug#33524)
270 2018-12-17  Glenn Morris  <rgm@gnu.org>
272         * doc/lispintro/emacs-lisp-intro.texi (Finding More): Fix xref.
274 2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>
276         More porting to GCC 8 of --enable-gcc-warnings
278         Backport from master.
279         I ran into this when building Emacs 26 with GCC 8 on Fedora 29 x86.
280         * lwlib/lwlib-Xaw.h (xaw_update_one_value, xaw_popup_menu):
281         * lwlib/lwlib-Xlw.h (xlw_update_one_value, xlw_pop_instance):
282         * lwlib/lwlib.h (lw_allow_resizing, lw_set_main_areas) [!USE_MOTIF]:
283         No longer const.
284         * src/emacs-module.c: Ignore -Wcast-function-type.
286 2018-12-15  Glenn Morris  <rgm@gnu.org>
288         Fix an epg test for recent GnuPG versions (bug#33439)
290         * test/lisp/epg-tests.el (epg-decrypt-1):
291         Tell recent GnuPG (e.g. 2.2.11) not to worry about missing MDC.
293 2018-12-14  Robert Pluim  <rpluim@gmail.com>
295         Document font structure layout constraints
297         This has to be the same as in src/ftcrfont.c and src/ftfont.c
299         * src/xftfont.c (struct xftfont_info): Document layout constraints.
301 2018-12-14  Robert Pluim  <rpluim@gmail.com>
303         Document font structure layout constraints
305         The layout of the initial members of ftcrfont_info must match
306         ftfont_info
308         * src/ftcrfont.c (struct ftcrfont_info): Likewise.
310         * src/ftfont.c (struct ftfont_info): Document layout constraints.
312 2018-12-14  Eli Zaretskii  <eliz@gnu.org>
314         Fix display of line numbers in empty lines beyond EOB
316         * src/xdisp.c (maybe_produce_line_number): When the current
317         line is at EOB, use the 'line-number-current-line' face only
318         on that single line, but not on the rest of empty lines beyond
319         EOB.  (Bug#33732)
321 2018-12-11  Eli Zaretskii  <eliz@gnu.org>
323         Fix redisplay when a window's scroll bar or fringes are changed
325         * src/window.c (set_window_fringes, set_window_scroll_bars):
326         Set windows_or_buffers_changed flag to cause immediate
327         thorough redisplay of a window when scroll bars or fringes are
328         changed.  (Bug#33694)
330 2018-12-11  Martin Rudalics  <rudalics@gmx.at>
332         Tiny markup fix in Elisp manual
334         * doc/lispref/lists.texi (Building Lists): Use '@var' instead
335         of '@code' for argument.
337 2018-12-10  Alan Mackenzie  <acm@muc.de>
339         CC Mode: stop extra parens on expression causing false fontification as type
341         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): recognize
342         arithmetic operator followed by several open parentheses, not just one, as not
343         being an argument list.
345 2018-12-10  Ari Roponen  <ari.roponen@gmail.com>
347         Fix cairo scrolling for side-by-side windows
349         Backport: Fixes Bug#33442.
351         * src/xterm.c (x_scroll_run) [USE_CAIRO]: Fix scrolling for
352         side-by-side split windows.  (Bug#31288)
354         (cherry picked from commit 6e362a32bc9d21f73a0f29ca6f45481edeea6f29)
356 2018-12-10  Alan Mackenzie  <acm@muc.de>
358         CC Mode: stop wrongly recognizing "func(a * 9)" as "pointer to type a"
360         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): When testing for an
361         identifier after "a *", on failure additionally check for a digit, setting a
362         new flag variable got-number if one is found.  In the test for CASE 18, check
363         this flag.
365 2018-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
367         * lisp/emacs-lisp/cursor-sensor.el: Add motivation
369 2018-12-10  Raimon Grau  <raimonster@gmail.com>
371         Guard occur against an undefined orig-line
373         * lisp/replace.el (occur-engine): Avoid inserting the current line if
374         orig-line is nil.  This happens, for example, when reverting an occur
375         buffer with `list-matching-lines-jump-to-current-line' set to t.
376         (Bug#33476)
378 2018-12-09  Eli Zaretskii  <eliz@gnu.org>
380         Indexing followup to recent changes
382         * doc/lispref/text.texi (Special Properties): Index
383         'cursor-sensor-inhibit'.  (Bug#33664)
385 2018-12-09  Stefan Monnier  <monnier@iro.umontreal.ca>
387         Improve documentation of cursor-sensor.el (bug#33664)
389         * doc/lispref/text.texi (Special Properties): Mention cursor-sensor-inhibit.
390         * lisp/emacs-lisp/cursor-sensor.el (Commentary): Add cursor-sensor-mode.
391         (cursor-sensor-inhibit): Add docstring.
393 2018-12-09  Stefan Monnier  <monnier@iro.umontreal.ca>
395         * doc/lispref/commands.texi (Adjusting Point): Bug#33662
397         Tweak text to clarify intangibility.
399 2018-12-09  Michael Albinus  <michael.albinus@gmx.de>
401         Tramp multi-hop methods must be inline
403         * doc/misc/tramp.texi (Ad-hoc multi-hops): Involved methods must
404         be inline methods.
406 2018-12-08  Ari Roponen  <ari.roponen@gmail.com>
408         Fix scaling problem in Cairo builds
410         * src/xterm.c (x_begin_cr_clip) [USE_GTK]:
411         (x_update_begin) [USE_CAIRO && USE_GTK]: Support scaling.
412         (Bug#33442)
414 2018-12-06  Juri Linkov  <juri@linkov.net>
416         * lisp/simple.el (next-line-or-history-element): Use current-column
418         in all position calculations.
419         (previous-line-or-history-element): Idem.  (Bug#33640)
421 2018-12-03  Martin Rudalics  <rudalics@gmx.at>
423         A few further fixes of window internals description
425         * doc/lispref/internals.texi (Window Internals): Add a few
426         more items and clarify description of some others.
428 2018-12-02  Eli Zaretskii  <eliz@gnu.org>
430         Revert "Revert "Fix infloop in GC mark_kboards""
432         This reverts commit c418c85617babbe7b63730fefb71e2c87a0141af.
433         This reinstates the original fix, as it had nothing to do
434         with the behavior reported in bug#33571, which seems to be
435         the expected behavior.
437 2018-12-02  Eli Zaretskii  <eliz@gnu.org>
439         Revert "Fix infloop in GC mark_kboards"
441         This reverts commit af914fc26db273d8788e7efa57c569f0f778d037,
442         since it caused unintended adverse effects on echoing of keys.
443         (Bug#33571)
445 2018-12-02  Glenn Morris  <rgm@gnu.org>
447         * lisp/emacs-lisp/subr-x.el (if-let, when-let): Doc fix: active voice.
449 2018-12-01  Paul Eggert  <eggert@cs.ucla.edu>
451         Fix infloop in GC mark_kboards
453         Do not merge to master, as I have a more systematic fix there.
454         * src/keyboard.c (mark_kboards): Fix infloop (Bug#33547).
456 2018-12-01  Alan Third  <alan@idiocy.org>
458         Fix macOS run-time feature check
460         * src/nsterm.m (x_set_parent_frame) [NS_IMPL_COCOA]: Fix run-time
461         feature check.
463 2018-12-01  Stefan Monnier  <monnier@iro.umontreal.ca>
465         * etc/NEWS-*: Fix capitalization of "Emacs"
467 2018-12-01  Eli Zaretskii  <eliz@gnu.org>
469         Fix "M-x man" when there's no 'man' program on PATH
471         * lisp/man.el (Man-bgproc-sentinel): Make sure the process
472         buffer is not read-only when inserting a message into it.
473         (Bug#33510)
475 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
477         Fix core dump in dbus-message-internal
479         Backport from master.
480         * src/dbusbind.c (Fdbus_message_internal):
481         Don’t go past array end (Bug#33530).
483 2018-11-30  Michael Albinus  <michael.albinus@gmx.de>
485         * doc/misc/dbus.texi (Type Conversion): Fix typo.  (Bug#33551)
487 2018-11-30  Eli Zaretskii  <eliz@gnu.org>
489         Improve documentation of gdb-mi.el
491         * lisp/progmodes/gdb-mi.el (gdb-show-changed-values)
492         (gdb-max-children): Doc fixes.
494         * doc/emacs/building.texi (Source Buffers, Stack Buffer)
495         (GDB User Interface Layout): Mention some additional
496         customizable variables.  (Bug#33548)
498 2018-11-29  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
500         LDAP: Set process-connection-type to t on Darwin
502         * lisp/net/ldap.el (ldap-search-internal): Set
503         process-connection-type to t on Darwin.  Do not merge to
504         master.  (Bug#33050)
506 2018-11-28  Eli Zaretskii  <eliz@gnu.org>
508         Fix a typo in a doc string
510         * lisp/emacs-lisp/map-ynp.el (read-answer-short): Fix typo.
511         (Bug#33528)
513 2018-11-28  Eli Zaretskii  <eliz@gnu.org>
515         Minor markup fix in frames.texi
517         * doc/lispref/frames.texi (Frame Layout): Fix markup of @table
518         entries.  (Bug#33531)
520 2018-11-28  Glenn Morris  <rgm@gnu.org>
522         * lisp/net/trampver.el (customize-package-emacs-version-alist):
523         Add 2.3.3.
525         * lisp/mh-e/mh-e.el (customize-package-emacs-version-alist): Additions.
527 2018-11-27  Glenn Morris  <rgm@gnu.org>
529         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Pass format to message.
531 2018-11-27  Robert Pluim  <rpluim@gmail.com>
533         Don't call xwidget functions until GTK has been initialized
535         Follow up fix to Bug#33294.
537         * src/gtkutil.c: Define xg_gtk_initialized.
538         (xg_initialize): Set it when GTK has finished initializing.
540         * src/gtkutil.h: Declare xg_gtk_initialized.
542         * src/xwidget.c (Fmake_xwidget): Error out if GTK has not been
543         initialized.
544         (xwidget_init_view): Likewise.
546 2018-11-27  Eli Zaretskii  <eliz@gnu.org>
548         Improve documentation of Ediff wordwise commands
550         * lisp/vc/ediff.el (ediff-windows-wordwise)
551         (ediff-windows-linewise, ediff-regions-wordwise): Update and
552         clarify the doc strings.
554         * doc/misc/ediff.texi (Major Entry Points): Update and clarify
555         the documentation of 'ediff-windows-wordwise' and
556         'ediff-regions-wordwise'.  See the discussion starting at
557         https://lists.gnu.org/archive/html/help-gnu-emacs/2018-11/msg00197.html
558         for the details.
560 2018-11-26  Eli Zaretskii  <eliz@gnu.org>
562         Support Hunspell 1.7.0 in ispell.el
564         * lisp/textmodes/ispell.el
565         (ispell-find-hunspell-dictionaries): Invoke Hunspell with an
566         additional command-line argument, to work around a misfeature
567         in Hunspell 1.7.0 that prevents it from reporting the loaded
568         dictionary.  (Bug#33493)
570 2018-11-26  Eli Zaretskii  <eliz@gnu.org>
572         Avoid clearing echo-area message by auto-save-visited-file-name
574         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Record the
575         previous echo-area message, if any, and restore it before
576         exiting.  (Bug#33490)
578 2018-11-25  Alan Third  <alan@idiocy.org>
580         Set tooltip text color (bug#33452)
583         * src/nsmenu.m: ([EmacsTooltip init]): Set text color to black.
585 2018-11-25  Alan Third  <alan@idiocy.org>
587         Fix more drawing bugs in NS port (bug#32932)
589         * src/nsterm.m (ns_row_rect): New function.
590         (ns_clip_to_row): Remove function.
591         (ns_copy_bits): Fix mistake.
592         (ns_shift_glyphs_for_insert): Mark the frame as dirty instead of
593         directly copying.
594         (ns_draw_fringe_bitmap): Stop using ns_clip_to_row.
595         (ns_draw_window_cursor): Stop using ns_clip_to_row and perform a
596         display when not in redisplay.
597         (ns_update_window_begin): Remove redundant code that never executes.
598         ([EmacsView drawRect:]): Show the rectangle being exposed in NSTRACE.
599         * src/xdisp.c (expose_window_tree) [HAVE_NS]:
600         (expose_frame) [HAVE_NS]: Redraw even if the frame is garbaged.
602 2018-11-24  Alan Mackenzie  <acm@muc.de>
604         Fix bug #33416, where typing a ) in a comment at EOB caused a loop (CC Mode).
606         * lisp/progmodes/cc-mode.el (c-fl-decl-start): A c-forward-syntactic-ws leaves
607         point inside whitespace when moving over a comment at EOB which has no
608         terminating LF.  Check this possibility and correct for it.
610 2018-11-24  Ulrich Müller  <ulm@gentoo.org>
612         Update the calc units table
614         On 2018-11-16, the 26th meeting of the General Conference on Weights
615         and Measures (CGPM) has redefined the International System of Units by
616         adopting fixed values for the Planck constant, the elementary charge,
617         the Boltzmann constant, and the Avogadro constant:
618         https://www.bipm.org/utils/en/pdf/CGPM/Draft-Resolution-A-EN.pdf
620         * lisp/calc/calc-units.el (math-standard-units): Update according
621         to redefinition of the SI in 2018.  (Bug#33412)
623 2018-11-24  Eli Zaretskii  <eliz@gnu.org>
625         Improve indexing in the ELisp manual
627         * doc/lispref/control.texi (Control Structures, Sequencing)
628         (Conditionals, Iteration, Catch and Throw, Handling Errors)
629         (Cleanups):
630         * doc/lispref/eval.texi (Self-Evaluating Forms)
631         (Symbol Forms, Function Forms, Macro Forms, Special Forms)
632         (Quoting, Backquote): Add index entries that begin with
633         "forms".  (Bug#33440)
635 2018-11-23  Eli Zaretskii  <eliz@gnu.org>
637         More Symbola-related extensions for default fontset
639         * lisp/international/fontset.el (setup-default-fontset): Add
640         few more blocks of symbols and punctuation supported by latest
641         Symbola.
643 2018-11-23  Eli Zaretskii  <eliz@gnu.org>
645         Better support for display of U+1F900..U+1F9FF block
647         * lisp/international/fontset.el (setup-default-fontset): Add
648         the [#x1F900..#x1F9FF] block to those supported by Symbola.
650 2018-11-23  Eli Zaretskii  <eliz@gnu.org>
652         Improve documentation of 'edit-abbrevs-mode'
654         * lisp/abbrev.el (edit-abbrevs-mode): Refer to 'edit-abbrevs'
655         for more detailed usage information.  (Bug#33443)
656         (edit-abbrevs): Doc fix.
658 2018-11-22  Eli Zaretskii  <eliz@gnu.org>
660         Improve documentation of 'dired-do-compress'
662         * lisp/dired-aux.el (dired-do-compress): Describe in the doc
663         string the effect on directories and on compressed archive.
664         (Bug#33450)
666 2018-11-22  Eli Zaretskii  <eliz@gnu.org>
668         Improve doc string and display of 'describe-character'
670         * lisp/descr-text.el (describe-char): Explain how does the
671         function obtain the various data about the character.  Don't
672         display "preferred" before "charset": it tends to confuse
673         people.
675 2018-11-21  Eli Zaretskii  <eliz@gnu.org>
677         * etc/NEWS: Clarify what 'Z' does in Dired.  (Bug#33450)
679 2018-11-20  Eli Zaretskii  <eliz@gnu.org>
681         Update the docs of object internals
683         * doc/lispref/internals.texi (Buffer Internals)
684         (Window Internals, Process Internals): Update the descriptions
685         of Lisp objects.
687 2018-11-19  Stephen Berman  <stephen.berman@gmx.net>
689         Fix two Edebug defcustoms (bug#33428)
691         * lisp/emacs-lisp/edebug.el (edebug-print-length)
692         (edebug-print-level): Fix customization type to allow setting
693         the documented valid value nil via the Customize interface.
695 2018-11-19  Michael Albinus  <michael.albinus@gmx.de>
697         Fix Bug#33141
699         * lisp/net/tramp.el (tramp-make-tramp-file-name): Avoid check for
700         empty method with simplified `tramp-syntax'.  (Bug#33141)
702 2018-11-19  Eli Zaretskii  <eliz@gnu.org>
704         Improve documentation of the window tree
706         * doc/lispref/windows.texi (Windows and Frames): More accurate
707         wording regarding the relation of a mini-window to its frame's
708         window tree.
710         * src/window.h (struct window): Improve commentary to some
711         fields.
713 2018-11-19  Eli Zaretskii  <eliz@gnu.org>
715         Fix window scrolling on TTY frames when there's no mode line
717         * src/window.c (window_internal_height): Remove tests for
718         next, prev, and parent pointers, as they are unrelated to
719         whether a window has a mode line.  (Bug#33363)
721 2018-11-19  Eli Zaretskii  <eliz@gnu.org>
723         Fix decoding XML files encoded in ISO-8859
725         * lisp/international/mule.el (sgml-xml-auto-coding-function):
726         Avoid signaling an error from coding-system-equal when the XML
727         encoding tag specifies an encoding whose type is 'charset'.
728         (Bug#33429)
730 2018-11-19  Nicolas Petton  <nicolas@petton.fr>
732         * etc/AUTHORS: Update.
734 2018-11-18  Martin Rudalics  <rudalics@gmx.at>
736         Fix description of some window hooks
738         * doc/lispref/windows.texi (Window Hooks): Remove text that
739         warns against using 'save-window-excursion' while running
740         'window-size-change-functions', it's no more relevant.
741         Clarify description of 'window-configuration-change-hook'.
743 2018-11-18  Gary Fredericks  <fredericksgary@gmail.com>  (tiny change)
745         Run 'window--adjust-process-windows' when frame size changes (Bug#32720)
747         * lisp/window.el (window-size-change-functions): Run
748         'window--adjust-process-windows' from
749         'window-size-change-functions' too (Bug#32720, "another issue"
750         in Bug#33230).
752 2018-11-16  Eli Zaretskii  <eliz@gnu.org>
754         Avoid errors in zone.el when there's overlay at EOB
756         * lisp/play/zone.el (zone): Make sure the window-end position
757         is calculated accurately, to avoid errors from
758         buffer-substring.  (Bug#33384)
760 2018-11-16  Eli Zaretskii  <eliz@gnu.org>
762         Document Emacs 26 behavior of Dired's 'Z' on directories
764         * doc/emacs/dired.texi (Operating on Files): Document behavior
765         of 'Z' on directories.
767         * etc/NEWS: Belatedly announce the new behavior of Dired's 'Z'
768         on directory names and on .tar.gz archives.
770 2018-11-15  Eli Zaretskii  <eliz@gnu.org>
772         Fix a typo in the Emacs manual
774         * doc/emacs/rmail.texi (Rmail Deletion): Fix a typo.
775         Reported by Jorge P. de Morais Neto <jorge+list@disroot.org>
776         in emacs-manual-bugs@gnu.org
778 2018-11-15  Paul Eggert  <eggert@cs.ucla.edu>
780         Fix tempfile creation when byte compiling
782         This improves on the recent fix for master failing to build
783         on FreeBSD.  Suggested by Stefan Monnier in:
784         https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
785         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
786         Put tempfile next to the target file, as was the original intent.
788         (cherry picked from commit 64c846738617d1d037eac0cefb6586c04317b0a1)
790 2018-11-14  Markus Triska  <triska@metalevel.at>
792         Small documentation correction.
794         * doc/lispref/windows.texi (Textual Scrolling): In the description of
795         scroll-up-aggressively, refer to scroll-down-aggressively instead of
796         a recursive reference to scroll-up-aggressively.  (Bug#33369)
798 2018-11-14  Eli Zaretskii  <eliz@gnu.org>
800         * src/coding.c (Fcheck_coding_systems_region): Doc fix.  (Bug#33372)
802 2018-11-14  Michael Albinus  <michael.albinus@gmx.de>
804         Fix Bug#33364
806         * lisp/net/tramp.el (tramp-parse-sconfig-group): Support also
807         "Host host1 host2 ..." syntax.  (Bug#33364)
809 2018-11-13  Michael Albinus  <michael.albinus@gmx.de>
811         * test/README: Explain $REMOTE_TEMPORARY_FILE_DIRECTORY.
813 2018-11-12  Glenn Morris  <rgm@gnu.org>
815         Avoid kill-emacs-hook errors hanging batch mode
817         * src/emacs.c (Fkill_emacs): Prevent errors from kill-emacs-hook
818         hanging Emacs in batch mode.  (Bug#29955)
820         (cherry picked from commit 109da684c5124e22505917fe0255ca66f2a6bfc9)
822 2018-11-12  Nicolas Petton  <nicolas@petton.fr>
824         Bump Emacs version to 26.1.90
826         * README:
827         * configure.ac:
828         * msdos/sed2v2.inp:
829         * nt/README.W32: Bump Emacs version to 26.1.90.
831 2018-11-12  Nicolas Petton  <nicolas@petton.fr>
833         * etc/AUTHORS: Update.
835 2018-11-12  Paul Eggert  <eggert@cs.ucla.edu>
837         Work around dumping bug on GNU/Linux ppc64le
839         Problem reported by Thomas Fitzsimmons (Bug#33174).
840         Do not merge to master, as we have a better fix there.
841         * src/Makefile.in (emacs$(EXEEXT)):
842         (bootstrap-emacs$(EXEEXT)):
843         Unset EMACS_HEAP_EXEC before invoking temacs.
845 2018-11-11  Eli Zaretskii  <eliz@gnu.org>
847         * lisp/files.el (write-file): Clarify the doc string.  (Bug#33339)
849 2018-11-11  Simen Heggestøyl  <simenheg@gmail.com>
851         Fix typos in midnight.el
853         * lisp/midnight.el (clean-buffer-list-delay-general)
854         (clean-buffer-list-kill-regexps)
855         (clean-buffer-list-kill-buffer-names): Fix docstring typos.
857 2018-11-10  Eli Zaretskii  <eliz@gnu.org>
859         Improve documentation of 'move-file-to-trash'
861         * doc/emacs/files.texi (Misc File Ops): Index
862         move-file-to-trash.  State that the way to restore trashed
863         files is system-dependent.
865 2018-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
867         * src/data.c (Ftype_of): xwidget objects are possible! (bug#33294)
869         (syms_of_data): Define Qwidget here.
870         * src/xwidget.c (syms_of_xwidget): Instead of here.
872 2018-11-09  Eli Zaretskii  <eliz@gnu.org>
874         Improve documentation of Diff mode
876         * doc/emacs/files.texi (Diff Mode): Document the effect of
877         prefix argument on the Diff mode's commands.  Document
878         'diff-jump-to-old-file'.
880 2018-11-09  Noam Postavsky  <npostavs@gmail.com>
882         Note that lex bound lambda forms are not self-quoting (Bug#33199)
884         * doc/lispref/functions.texi (Anonymous Functions):
885         * lisp/subr.el (lambda): Note that under lexical binding a lambda form
886         yields a closure object (Bug#33199).
888 2018-11-08  Martin Rudalics  <rudalics@gmx.at>
890         Rewrite buffer display related doc-strings and doc
892         * lisp/window.el (display-buffer-overriding-action)
893         (display-buffer-alist, display-buffer-base-action)
894         (display-buffer-fallback-action, display-buffer-assq-regexp)
895         (display-buffer): Rewrite doc-strings using suggestions by
896         Alan Mackenzie <acm@muc.de>.
897         (display-buffer-use-some-frame): Adjust doc-string and
898         reformat code.
899         * doc/lispref/windows.texi (Buffer Display Action Alists):
900         Make docs on 'window-height', 'window-width' and
901         'preserve-size' entries more accurate.
903 2018-11-06  Eli Zaretskii  <eliz@gnu.org>
905         Fix call to GlobalMemoryStatusEx in w32.c
907         * src/w32.c (system_process_attributes): Initialize the size
908         of the data structure passed to GlobalMemoryStatusEx,
909         otherwise it fails.
911 2018-11-04  Eli Zaretskii  <eliz@gnu.org>
913         Improve recent changes in documentation of window handling
915         * doc/lispref/windows.texi (Displaying Buffers)
916         (Choosing Window, Buffer Display Action Functions)
917         (Buffer Display Action Alists, Choosing Window Options)
918         (Precedence of Action Functions, The Zen of Buffer Display):
919         Fix wording, punctuation, and markup.  Remove redundant
920         cross-references.
922         * doc/emacs/windows.texi (Window Choice, Temporary Displays):
923         Fix wording and punctuation.
925 2018-11-04  Martin Rudalics  <rudalics@gmx.at>
927         Rewrite documentation of buffer display
929         * doc/emacs/windows.texi (Window Choice): Rewrite, replacing
930         references to older buffer display options with references to
931         and examples of buffer display actions.
932         (Temporary Displays): Rewrite display of *Completions*
933         example.
935         * doc/lispref/elisp.texi (Top): New Windows section
936         'Displaying Buffers'.
937         * doc/lispref/frames.texi (Child Frames): Adjust cross
938         reference.
939         * doc/lispref/windows.texi (Windows): New section 'Displaying
940         Buffers'.  Move sections 'Choosing Window', 'Display Action
941         Functions' and 'Choosing Window Options' there and adjust
942         namings.  Preferably write 'Buffer Display Action' instead of
943         'Display Action'.  More consistently use @w{} to make key
944         binding specifications unsplittable.
945         (Displaying Buffers): New section.
946         (Choosing Window): Make it a subsection of 'Displaying
947         Buffers'.  More explicitly describe how 'display-buffer'
948         compiles its list of action functions and the action alist.
949         (Buffer Display Action Functions): Rename from 'Display Action
950         Functions', make it a subsection of 'Displaying Buffers' and
951         rewrite it.  Elide more detailed descriptions of action alist
952         entries; these are now in the new section 'Buffer Display
953         Action Functions'.  Remove example.
954         (Buffer Display Action Alists): New subsection of 'Displaying
955         Buffers' giving a comprehensive description of recognized
956         action alist entries with appropriate indexing.  Contents were
957         partially moved here from the old 'Display Action Functions'
958         section.
959         (Choosing Window Options): Make it a subsection of 'Displaying
960         Buffers'.  Add examples of how to rewrite old buffer display
961         options with the help of buffer display actions.
962         (Precedence of Action Functions): New subsection of
963         'Displaying Buffers' explaining the execution order of action
964         functions with the help of a detailed example.
965         (The Zen of Buffer Display): New subsection of 'Displaying
966         Buffers' supplying guidelines on how to write and use buffer
967         display actions with examples.
968         (Side Windows, Displaying Buffers in Side Windows)
969         (Frame Layouts with Side Windows, Atomic Windows): Update
970         references to the 'Displaying Buffers' subsections.
972 2018-11-03  Eli Zaretskii  <eliz@gnu.org>
974         Improve documentation of destructuring-binding macros
976         * lisp/emacs-lisp/pcase.el (pcase-dolist, pcase-let)
977         (pcase-let*): Improve the doc strings.
979         * doc/lispref/sequences.texi (Sequence Functions): Improve
980         wording and rename arguments of seq-let to be more
981         descriptive.  Add a cross-reference to "Destructuring with
982         pcase Patterns".
983         * doc/lispref/control.texi (Pattern-Matching Conditional):
984         Improve wording and the menu.
985         (pcase Macro): Incorporate patch suggested by Paul Eggert
986         <eggert@cs.ucla.edu>.  Reformat text.
987         (Destructuring with pcase Patterns): Rename from
988         "Destructuring patterns", and improve wording and indexing.
990 2018-11-03  Eli Zaretskii  <eliz@gnu.org>
992         Avoid byte compilation warning in rcirc.el
994         * lisp/net/rcirc.el (rcirc-prompt-start-marker): Move
995         definition before 1st use to avoild byte-compiler warning.
997 2018-11-03  Basil L. Contovounesios  <contovob@tcd.ie>
999         Avoid race in rcirc process filter (bug#33145)
1001         * lisp/net/rcirc.el (rcirc-filter): Clear rcirc-process-output
1002         before processing its constituent lines.  Otherwise, if rcirc-filter
1003         runs again before the last rcirc-process-server-response is
1004         finished, the contents of rcirc-process-output could be duplicated.
1006 2018-11-03  Jordan Wilson  <jordan.t.wilson@gmx.com>  (tiny change)
1008         Avoid file-name errors when viewing PDF from Gnus
1010         * lisp/doc-view.el (doc-view-mode): Run the output file name
1011         through 'convert-standard-filename', to avoid problems with
1012         characters that are not allowed in file names on some
1013         systems.  (Bug#32989)
1015 2018-11-02  Eli Zaretskii  <eliz@gnu.org>
1017         Avoid crashes with remapped default face in Org mode
1019         * src/xfaces.c (face_at_buffer_position): Look up BASE_FACE_ID
1020         anew if it is not in the frame's face cache.  This avoids
1021         crashes when Org mode sets up for a new major mode in embedded
1022         code fragment, and the default face is remapped.  (Bug#33222)
1024 2018-11-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
1026         Doc fix for checkdoc-continue
1028         * lisp/emacs-lisp/checkdoc.el (checkdoc-continue): There is no second
1029           optional argument, and the function always starts from point.
1031 2018-11-01  Eli Zaretskii  <eliz@gnu.org>
1033         Fix a typo in autoload.el
1035         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
1036         Remove stray backslashes.  (Bug#33231)
1038 2018-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
1040         * doc/lispref/control.texi (Destructuring patterns): New subsection.
1042 2018-10-31  Gemini Lasswell  <gazally@runbox.com>
1044         Add regression test for Bug#33014
1046         Backport from master.
1047         * test/src/eval-tests.el:
1048         (eval-tests-byte-code-being-evaluated-is-protected-from-gc): New test.
1049         (eval-tests-33014-var): New variable.
1050         (eval-tests-33014-func, eval-tests-33014-redefine): New functions.
1052 2018-10-31  Paul Eggert  <eggert@cs.ucla.edu>
1054         Refer to bytecode constant vectors (Bug#33014)
1056         Backport from master.
1057         * src/bytecode.c (exec_byte_code): Save VECTOR into stack slot
1058         so that it survives GC.  The stack slot was otherwise unused,
1059         so this doesn’t cost us memory, only a store insn.
1061 2018-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
1063         * lisp/emacs-lisp/pcase.el: Improve docstrings.
1065 2018-10-30  Eli Zaretskii  <eliz@gnu.org>
1067         * lisp/emacs-lisp/rx.el (rx): Fix typo in doc string.  (Bug#33205)
1069 2018-10-30  Eli Zaretskii  <eliz@gnu.org>
1071         Improve doc string of 'call-process'
1073         * src/callproc.c (Fcall_process): Clarify DESTINATION in the
1074         doc string.
1076 2018-10-30  Eli Zaretskii  <eliz@gnu.org>
1078         Document that generic functions cannot be commands
1080         * doc/lispref/commands.texi (Defining Commands):
1081         * doc/lispref/functions.texi (Generic Functions): Document
1082         that generic functions cannot be turned into commands.
1083         (Bug#33170)
1085 2018-10-28  Charles A. Roelli  <charles@aurox.ch>
1087         * lisp/mail/rmailsum.el (rmail-summary-output): Add lost word to doc.
1089 2018-10-28  Charles A. Roelli  <charles@aurox.ch>
1091         Add index entries for more isearch commands/bindings (Bug#32990)
1093         * doc/emacs/search.texi (Basic Isearch): Index isearch-exit,
1094         isearch-abort, isearch-cancel, isearch-repeat-forward,
1095         isearch-repeat-backward and their bindings.
1096         (Repeat Isearch): Index isearch-ring-advance,
1097         isearch-ring-retreat and isearch-edit-string.
1098         (Special Isearch): Index isearch-quote-char,
1099         isearch-char-by-name and their bindings.  Index
1100         isearch-query-replace and isearch-query-replace-regexp, and
1101         the latter's binding.  Explain what
1102         isearch-query-replace-regexp does.  Index isearch-complete.
1103         (Word Search): Index isearch-toggle-word.
1105 2018-10-27  Noam Postavsky  <npostavs@gmail.com>
1107         * lisp/simple.el (filter-buffer-substring): Clarify doc (Bug#33179).
1109 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
1111         Fix recent change in lispref/processes.texi.
1113         * doc/lispref/processes.texi (Asynchronous Processes): Clarify
1114         wording.  Suggested by Thomas Fitzsimmons <fitzsim@fitzsim.org>.
1115         (Bug#33050)
1117 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
1119         * lisp/simple.el (region-extract-function): Doc fix.  (Bug#33167)
1121         * lisp/simple.el (region-bounds): Doc fix.  (Bug#33168)
1123 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
1125         Improve documentation of 'process-connection-type'
1127         * doc/lispref/processes.texi (Asynchronous Processes): Clarify
1128         better when it is advisable to use pipes for communicating
1129         with subprocesses.  (Bug#33050)
1131 2018-10-27  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
1133         Unify prompt for gnupg passphrase between GNU/Linux and MS-Windows.
1135         * lisp/epg.el (epg--start): Use 'raw-text' for coding system instead
1136         of 'binary', in order to avoid spurious carriage return on Microsoft
1137         Windows and MS-DOS when prompting for a password.  (Bug#33040)
1139 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
1141         Doc fix of 'gnus-fetch-old-headers'
1143         * lisp/gnus/gnus-sum.el (gnus-fetch-old-headers): Avoid
1144         treating 'some' and 'invisible' as symbols that need to be
1145         hyperlinked.  Reported by Robert Pluim <rpluim@gmail.com>.
1146         (Bug#33090)
1148 2018-10-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
1150         Deactivate incorrect hyperlinking in gnus-build-sparse-threads doc
1152         * lisp/gnus/gnus-sum.el (gnus-build-sparse-threads): Add the word
1153         "symbol" so it doesn't link to the `some' function.  (Bug#33090)
1155 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
1157         Minor copyedits in cmdargs.texi
1159         * doc/emacs/cmdargs.texi (Initial Options): Document '-nsl'.
1160         Add a cross-reference to "Writing Dynamic Modules".
1162 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
1164         Improve documentation of X resource loading
1166         * doc/emacs/cmdargs.texi (Initial Options):
1167         * doc/emacs/frames.texi (Frame Parameters):
1168         * doc/emacs/xresources.texi (Resources): Document the
1169         '--no-x-resources' command-line option and the fact that X
1170         resources override .emacs settings of frame parameters.
1171         (Bug#32975)
1173 2018-10-27  Michael Albinus  <michael.albinus@gmx.de>
1175         * lisp/net/tramp-sh.el (tramp-inline-compress-commands):
1177         Suppress warnings about obsolete environment variable GZIP.
1179 2018-10-25  Noam Postavsky  <npostavs@gmail.com>
1181         Don't error when indenting malformed Lisp (Bug#30891)
1183         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-calc-next): If we run out
1184         of indent stack, reset the parse state.
1186 2018-10-25  Charles A. Roelli  <charles@aurox.ch>
1188         Improve 'isearch-delete-char' documentation (Bug#32990)
1190         * doc/emacs/search.texi (Basic Isearch): Index
1191         'isearch-delete-char', its keybinding and the isearch "input
1192         item" concept, and define the latter.
1193         (Error in Isearch): Clarify the different uses of DEL and
1194         C-M-w during isearch.
1196         * lisp/isearch.el (isearch-delete-char): Correct its
1197         documentation and link to the Info node '(emacs)Basic Isearch'
1198         which explains less technically how this function works in
1199         everyday usage.
1201 2018-10-25  Alan Third  <alan@idiocy.org>
1203         Improve XPM load failure message (bug#33126)
1205         * src/image.c (xpm_load_image): Only XPM3 is supported, so make that
1206         explicit.
1208 2018-10-25  Eli Zaretskii  <eliz@gnu.org>
1210         Avoid infloop in CPerl mode fontification
1212         * lisp/progmodes/cperl-mode.el
1213         (cperl-font-lock-fontify-region-function): Stop the loop at
1214         EOB, to avoid inflooping there.  (Bug#33114)
1216 2018-10-25  Andreas Schwab  <schwab@suse.de>
1218         Fix minibuffer-help-form for lexical binding
1220         * lisp/simple.el (set-variable): Substitute var into
1221         minibuffer-help-form.
1222         * lisp/cus-edit.el (custom-prompt-variable): Likewise.
1224 2018-10-24  Alan Third  <alan@idiocy.org>
1226         Fix some NS drawing issues (bug#32932)
1228         * src/nsterm.m (ns_clip_to_rect):
1229         (ns_reset_clipping): Remove gsaved variable and associated code.
1230         (ns_flush_display): Remove function.
1231         (ns_copy_bits): use translateRectsNeedingDisplayInRect:by: to copy any
1232         pending drawing actions along with the image.
1233         ([EmacsView windowWillResize:toSize:]): Remove unneeded call.
1234         ([EmacsView drawRect:]): Remove redundant call to ns_clear_frame_area,
1235         and optimize the exposed rectangles.
1236         (ns_draw_window_cursor): Remove unneeded disabling of screen updates.
1238 2018-10-24  Katsumi Yamaoka  <yamaoka@jpl.org>
1240         * lisp/gnus/mm-util.el (mm-decompress-buffer): Fix split-string args.
1242 2018-10-24  Noam Postavsky  <npostavs@gmail.com>
1244         * doc/misc/calc.texi (Summary): The +/- key is 'p', not 'P'.
1246 2018-10-23  Robert Pluim  <rpluim@gmail.com>
1248         Correct typo in GNU ELPA url
1250         * doc/misc/efaq.texi (Packages that do not come with Emacs):
1251         Correct typo in GNU ELPA url (Bug#33072).  Change other url
1252         references to use https scheme.
1254 2018-10-22  Eli Zaretskii  <eliz@gnu.org>
1256         * doc/misc/dired-x.texi (Omitting Variables): Fix wording. (Bug#33112)
1258 2018-10-20  Michael Heerdegen  <michael_heerdegen@web.de>
1260         Fix help-form binding in dired-create-files
1262         This fixes Bug#32630: since "dired-aux" moved to lexical binding mode,
1263         the free variable TO in the constructed HELP-FORM got out of scope of
1264         the surrounding 'let'.
1266         * lisp/dired-aux.el (dired-create-files): Make the binding of
1267         HELP-FORM a string.
1269 2018-10-20  Eli Zaretskii  <eliz@gnu.org>
1271         Fix a pasto in a Gnus doc string
1273         * lisp/gnus/gnus-art.el (gnus-article-treat-fold-newsgroups):
1274         Doc string fix.  (Bug#33081)
1276 2018-10-19  Mauro Aranda  <maurooaranda@gmail.com>  (tiny change)
1278         Update revert-buffer documentation
1280         * doc/emacs/files.texi (Reverting): Document that revert-buffer
1281         does keep undo history.  (Bug#33084)
1283 2018-10-18  Juri Linkov  <juri@linkov.net>
1285         * lisp/mail/smtpmail.el (smtpmail-send-queued-mail): Load file with .el suffix.
1287         For the case when load-prefer-newer is t, ensure loading the right file
1288         by explicitly adding the .el suffix.  Use the same variable names
1289         as in the function smtpmail-send-it.  (Bug#33055)
1291 2018-10-16  Glenn Morris  <rgm@gnu.org>
1293         Tweak Makefile emacs-module.h handling
1295         * Makefile.in (install-arch-indep, uninstall): Respect DESTDIR.
1296         Handle whitespace.  Remove non-portable mkdir argument.
1298         (cherry picked from commit c1d0dbd6ca92cb221024382b19654e4fbf1d1ed3)
1300 2018-10-16  Philipp Stephani  <phst@google.com>
1302         Install emacs-module.h (Bug#31929)
1304         * Makefile.in (includedir): New variable.
1305         (install-arch-indep): Install emacs-module.h.
1306         (uninstall): Uninstall emacs-module.h.
1308         (cherry picked from commit 00ea749f2af44bff6ea8c1259477fbf0ead8a306)
1310 2018-10-15  Alan Mackenzie  <acm@muc.de>
1312         Clarify documentation of fractional vertical scrolling and some doc strings
1314         * doc/lispref/windows.texi (vertical scrolling): Clarify the meaning of
1315         vertical scrolling by referring to tall screen lines, images, and the display
1316         action.  Clarify an ambiguous English tense.
1318         * src/window.c (window-vscroll, set-window-vscroll): Amend doc strings to
1319         refer to display.
1321 2018-10-15  Charles A. Roelli  <charles@aurox.ch>
1323         * lisp/isearch.el (isearch-cmds): Recall absent isearch--state slot.
1325 2018-10-14  Alan Mackenzie  <acm@muc.de>
1327         doc/lispref/edebug.texi (Specification List) Remove obstrusive blank line
1329 2018-10-14  Eli Zaretskii  <eliz@gnu.org>
1331         Fix wording in module API documentation
1333         * doc/lispref/internals.texi (Module Functions): Fix confusing
1334         wording.  Reported by Basil L. Contovounesios <contovob@tcd.ie>.
1336 2018-10-13  Eli Zaretskii  <eliz@gnu.org>
1338         Fix redisplay of glyphless characters
1340         * src/conf_post.h (bool_bf): Use 'unsigned int' in the MinGW
1341         builds.  Suggested by Tom Tromey <tom@tromey.com>.  (Bug#33017)
1342         * src/dispnew.c (scrolling_window): Update commentary
1343         regarding xwidget builds.
1345 2018-10-13  Robert Pluim  <rpluim@gmail.com>
1347         Update --without-toolkit-scroll-bars doc
1349         * configure.ac (--without-toolkit-scroll-bars): Update list of
1350         affected toolkits.
1352 2018-10-13  Robert Pluim  <rpluim@gmail.com>
1354         Call GTK functions only on GTK scrollbars
1356         * src/gtkutil.c (xg_set_background_color) [USE_TOOLKIT_SCROLL_BARS]:
1357         Don't call GTK functions on non-GTK scrollbars (Bug#32975).
1359 2018-10-13  Eli Zaretskii  <eliz@gnu.org>
1361         Update the description of startup in ELisp manual
1363         * doc/lispref/os.texi (Startup Summary): Remove stale
1364         reference to window-system-initialization-alist.  Reported by
1365         Zhang Haijun <ccsmile2008@outlook.com>.
1367 2018-10-13  Eli Zaretskii  <eliz@gnu.org>
1369         Use the 'line-number' face for line-number fields past EOB
1371         * src/xdisp.c (get_phys_cursor_geometry): Treat rows at and
1372         beyond ZV specially.  Don't let the cursor exceed the
1373         vertical dimensions of the row.
1374         (maybe_produce_line_number): Use the 'line-number' face
1375         instead of 'default' for blank fields beyond ZV.  Don't update
1376         the IT metrics when displaying blank line-number fields beyond
1377         ZV.  (Bug#32337)
1379 2018-10-12  Alan Third  <alan@idiocy.org>
1381         Ensure NS frame is redrawn correctly  after scroll
1383         * src/nsterm.m (ns_copy_bits): Set needsDisplay so the previous cursor
1384         position is redrawn.
1386 2018-10-12  Alex Branham  <alex.branham@gmail.com>
1388         Avoid byte-compiler warning in em-rebind.el
1390         * lisp/eshell/em-rebind.el (eshell-delete-backward-char): Use
1391         'delete-char' instead of delete-backward-char.  (Bug#32945)
1393 2018-10-12  Eli Zaretskii  <eliz@gnu.org>
1395         Improve indexing of 'C-SPC C-SPC'
1397         * doc/emacs/mark.texi (Disabled Transient Mark): Fix
1398         indexing.  (Bug#32959)
1400 2018-10-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
1402         Fix bug with precious entries in Gnus registry
1404         * lisp/registry.el (registry-collect-prune-candidates): This `cdr' was
1405           an error: it meant that the last key in the precious list, would be
1406           considered a nil. Since the precious list only contains the symbol
1407           'mark by default, marks were never considered precious.
1408         * doc/misc/gnus.texi (Store arbitrary data): Fix typo: "marks" should
1409           be "mark".
1411 2018-10-11  Eli Zaretskii  <eliz@gnu.org>
1413         Document in the ELisp manual how to write loadable modules
1415         * doc/lispref/internals.texi (Writing Dynamic Modules)
1416         (Module Initialization, Module Functions, Module Values)
1417         (Module Misc, Module Nonlocal): New nodes.
1418         * doc/lispref/loading.texi (Dynamic Modules): Add
1419         cross-reference to the new node.
1420         * doc/lispref/internals.texi (GNU Emacs Internals):
1421         * doc/lispref/elisp.texi (Top): Update menus for the new nodes.
1423 2018-10-11  Tino Calancha  <tino.calancha@gmail.com>
1425         dired-do-shell-command: Notify users after abort the command
1427         * lisp/dired-aux.el (dired-do-shell-command):  Notify users that
1428         the command have aborted when they answer 'n' to the prompt (Bug#32969).
1430 2018-10-11  Michael Albinus  <michael.albinus@gmx.de>
1432         Adapt Tramp version.  Do not merge with master
1434         * lisp/net/trampver.el: Change version to "2.3.5.26.2".
1435         (customize-package-emacs-version-alist): Add Tramp version
1436         integrated in Emacs 26.2.
1438 2018-10-10  Alan Third  <alan@idiocy.org>
1440         Fix Apple Script permissions error
1442         * nextstep/templates/Info.plist.in: Add NSAppleEventsUsageDescription
1443         message to enable AppleEvents usage.
1445 2018-10-10  Mauro Aranda  <maurooaranda@gmail.com>  (tiny change)
1447         Fix typo in 'timerp' documentation
1449         * doc/lispref/os.texi (Timers): Fix typo in 'timerp' documentation.
1450         (Bug#32999)
1452 2018-10-08  Charles A. Roelli  <charles@aurox.ch>
1454         * doc/emacs/mark.texi (Mark): Index "(de)activating the mark".
1456         (Bug#32956)
1458 2018-10-08  Scott Corley  <scott@scorley.com>  (tiny change)
1460         Fix overflow lockup with frames > 255 lines
1462         Backport from master.
1463         * src/scroll.c (struct matrix_elt): Change unsigned char fields to
1464         int to handle frames with more than 255 lines (Bug#32951).
1466 2018-10-07  Eli Zaretskii  <eliz@gnu.org>
1468         Avoid assertion violations in nonsensical calls to 'signal'
1470         * src/eval.c (Fsignal): If both arguments are nil, replace the
1471         first one with 'error', to avoid assertion violations further
1472         down the line.  (Bug#32961)
1474 2018-10-06  Charles A. Roelli  <charles@aurox.ch>
1476         * lisp/simple.el (transient-mark-mode): Correct documentation.  (Bug#32956)
1478 2018-10-06  Eli Zaretskii  <eliz@gnu.org>
1480         Update the locale and language database
1482         * lisp/international/mule-cmds.el (locale-language-names):
1483         Update the list of supported locales.  Use existing language
1484         names where available.
1486 2018-10-05  Eli Zaretskii  <eliz@gnu.org>
1488         Fix a typo in a doc string.
1490         * lisp/window.el (display-buffer-alist): Fix a typo in a doc string.
1491         Reported by Michael Heerdegen <michael_heerdegen@web.de>.
1493 2018-10-05  Katsumi Yamaoka  <yamaoka@jpl.org>
1495         Make nneething allow CRLF-encoded files (bug#32940)
1497         * lisp/gnus/nneething.el (nneething-request-article):
1498         Bind coding system to raw-text instead of binary when reading a file,
1499         that may be CRLF-encoded (bug#32940).
1501 2018-10-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
1503         Further fix to eieio-persistent
1505         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
1506           Make handling of hash tables and vectors recursive. This is
1507           necessary because the write process, in `eieio-override-prin1' is
1508           also recursive. With any luck, this will be the last fix of its
1509           kind. If that's true, cherry-pick to Emacs 26.2 later on.
1511 2018-10-04  Eli Zaretskii  <eliz@gnu.org>
1513         Avoid ridiculously high stack limit requests on macOS
1515         * src/emacs.c (main): Avoid wraparound in subtraction of
1516         rlim_t values, in case rlim_t is an unsigned type.  (Bug#32338)
1518 2018-10-03  Charles A. Roelli  <charles@aurox.ch>
1520         Improve documentation of 'read-hide-char'
1522         * src/minibuf.c (syms_of_minibuf) <Vread_hide_char>: Clarify
1523         documentation and mention where else the variable is used.
1524         * doc/lispref/minibuf.texi (Reading a Password): Add an index
1525         entry for 'read-hide-char'.
1527 2018-10-03  Alan Mackenzie  <acm@muc.de>
1529         In follow mode, prevent the cursor resting on a partially displayed line
1531         Don't merge to master.  This fixes bug #32848
1533         * lisp/follow.el (follow-adjust-window): If point ends up in a partially
1534         displayed line in a left hand or middle window, move it one line
1535         forward, to
1536         prevent unwanted scrolling should make-cursor-line-fully-visible be
1537         non-nil.
1539 2018-10-03  Alan Mackenzie  <acm@muc.de>
1541         Revert "Temporary workaround for bug #32848 for branch emacs-26"
1543         This reverts commit 6650751ce73413d05599df07a9c5bc70744260f3.
1545 2018-10-03  Alan Mackenzie  <acm@muc.de>
1547         Revert "* etc/NEWS: Note setting make-cursor-line-fully-visible to nil in follow-mode"
1549         This reverts commit f3c8f4bde2de2b9d42c44f5e44f34c427bebdc58.
1551 2018-10-03  Alan Mackenzie  <acm@muc.de>
1553         * etc/NEWS: Note setting make-cursor-line-fully-visible to nil in follow-mode
1555         Also re-insert the "temporary note" explaining --- and +++.
1557 2018-10-03  Noam Postavsky  <npostavs@gmail.com>
1559         Fix note about interactive advice (Bug#32905)
1561         * doc/lispref/functions.texi (Core Advising Primitives): Add missing
1562         ':', and finish the sentence fragment.
1564 2018-10-01  Michael Albinus  <michael.albinus@gmx.de>
1566         Comple fix for Bug#32550
1568         * lisp/net/tramp.el (tramp-rfn-eshadow-update-overlay):
1569         Use `save-excursion'.  This completes the fix of Bug#32550.
1571 2018-10-01  Eli Zaretskii  <eliz@gnu.org>
1573         * lisp/savehist.el (savehist-mode): Doc fix.  (Bug#32889)
1575 2018-09-30  Nicolas Goaziou  <mail@nicolasgoaziou.fr>
1577         Org manual: Rewrite the Org Mobile section
1579         * doc/misc/org.texi (Org Mobile): Rewritten from "MobileOrg" section.
1580         Remove all references to non-free software.
1581         Moved into "Miscellaneous", much like Org Crypt library. No longer an
1582         appendix.
1583         (Footnotes): Remove a reference to "MobileOrg".
1584         (Bug#32722)
1586 2018-09-30  Alan Mackenzie  <acm@muc.de>
1588         Temporary workaround for bug #32848 for branch emacs-26
1590         Do not merge with master.
1592         * lisp/follow.el (follow-mode): Set make-cursor-line-fully-visible to nil
1593         buffer locally whilst follow-mode is active.
1595 2018-09-29  Tino Calancha  <tino.calancha@gmail.com>
1597         Improve cl-do, cl-do* docstrings
1599         * lisp/emacs-lisp/cl-macs.el(cl-do, cl-do*):
1600         Improve docstring (Bug#32803).
1602 2018-09-29  Eli Zaretskii  <eliz@gnu.org>
1604         Avoid returning early in 'while-no-input' due to subprocesses
1606         * src/keyboard.c (kbd_buffer_store_buffered_event): Support
1607         also the internal buffer-switch events.
1608         (syms_of_keyboard) <Qbuffer_switch>: New DEFSYM.
1610         * lisp/subr.el (while-no-input-ignore-events): Ignore
1611         'buffer-switch' events.  Reported by Michael Heerdegen
1612         <michael_heerdegen@web.de>.
1614         * etc/NEWS: Mention the change in behavior of 'while-no-input'
1616 2018-09-29  John Shahid  <jvshahid@gmail.com>
1618         Cleanup when opening a new terminal fails. (Bug#32794)
1620         * src/term.c (init_tty): Call delete_terminal_internal if emacs_open
1621         fail.
1622         * src/terminal.c (delete_terminal): Move some code into
1623         delete_terminal_internal and call it.
1624         (delete_terminal_internal): New function.
1625         * src/termhooks.h: Prototype for delete_terminal_internal.
1627 2018-09-28  Alan Third  <alan@idiocy.org>
1629         Fix deprecation warning
1631         * src/nsterm.m (ns_term_init): Use writeToFile or writeToURL as
1632         required.
1634 2018-09-28  Alan Third  <alan@idiocy.org>
1636         Make all NS drawing be done from drawRect
1638         See bug#31904 and bug#32812.
1640         * src/nsterm.m (ns_update_begin): Don't lock focus, only clip if there
1641         is already a view focused.
1642         (ns_update_end): Don't mess with view focusing any more.
1643         (ns_focus): Only clip drawing if there is already a focused view,
1644         otherwise mark area dirty for later drawing.  Renamed ns_clip_to_rect.
1645         All callers changed.
1646         (ns_unfocus): Don't unfocus the view any more.  Renamed
1647         ns_reset_clipping. All callers changed.
1648         (ns_clip_to_row): Update to match ns_clip_to_rect.
1649         (ns_clear_frame):
1650         (ns_clear_frame_area):
1651         (ns_draw_fringe_bitmap):
1652         (ns_draw_window_cursor):
1653         (ns_draw_vertical_window_border):
1654         (ns_draw_window_divider):
1655         (ns_dumpglyphs_stretch):
1656         (ns_draw_glyph_string): Only draw if ns_focus or ns_clip_to_row
1657         return YES.
1658         (ns_copy_bits): Remove superfluous calls to ns_(un)focus.
1659         (ns_flush_display): New function.
1661 2018-09-28  Michael Albinus  <michael.albinus@gmx.de>
1663         Fix Bug#32828
1665         * lisp/net/dbus.el (dbus-init-bus): Return number of connections,
1666         as promised by the docstring.  (Bug#32828)
1668 2018-09-28  Noam Postavsky  <npostavs@gmail.com>
1670         * lisp/net/shr.el (shr-copy-url): Fix docstring.
1672 2018-09-27  Eli Zaretskii  <eliz@gnu.org>
1674         Fix typos in documentation
1676         * doc/misc/vhdl-mode.texi (Custom Indentation Functions):
1677         * doc/misc/url.texi (Customization):
1678         * doc/misc/tramp.texi (Overview):
1679         * doc/misc/srecode.texi (Developing Template Functions):
1680         * doc/misc/sieve.texi (Sieve Mode):
1681         * doc/misc/reftex.texi (Options - Creating Citations):
1682         * doc/misc/org.texi (Cooperation, Conflicts):
1683         * doc/misc/gnus.texi (Misc Group Stuff):
1684         * doc/misc/eshell.texi (Bugs and ideas):
1685         * doc/misc/calc.texi (Summary):
1686         * doc/man/emacsclient.1:
1687         * doc/lispref/os.texi (Security Considerations):
1688         * doc/lispref/control.texi (pcase Macro):
1689         * CONTRIBUTE: Fix typos.  Reported by Mak Kolybabi
1690         <mak@kolybabi.com>  (Bug#32853)
1692 2018-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
1694         * doc/emacs/kmacro.texi (Basic Keyboard Macro): Mention old bindings
1696         According to Apple gospel, function keys are partly going the way of the dodo
1697         so F3/F4 can, like in the good old days, be hard to reach for some users.
1699 2018-09-24  Eli Zaretskii  <eliz@gnu.org>
1701         Improve docs of functions/variables related to 'display-buffer'
1703         * lisp/window.el (display-buffer, pop-to-buffer-same-window)
1704         (display-buffer-same-window, display-buffer-in-side-window)
1705         (same-window-p, display-buffer-overriding-action)
1706         (display-buffer-base-action)
1707         (display-buffer--same-window-action)
1708         (display-buffer--other-frame-action)
1709         (with-current-buffer-window, with-displayed-buffer-window)
1710         (display-buffer-alist, display-buffer-assq-regexp)
1711         (display-buffer-other-frame): Clarify and improve the doc
1712         strings.  (Bug#32798)
1714 2018-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
1716         * lisp/mouse.el (tear-off-window): Fix non-mouse use (bug#32799)
1718 2018-09-22  Eli Zaretskii  <eliz@gnu.org>
1720         Improve documentation of directory-local variables
1722         * lisp/files.el (hack-local-variables, normal-mode)
1723         (after-find-file, find-file-hook): Mention directory-local
1724         variables in the doc strings.  Suggested by Marcin Borkowski
1725         <mbork@mbork.pl>.
1727         * doc/emacs/custom.texi (File Variables, Directory Variables):
1728         Clarify that directory-local variables are overridden by
1729         file-local ones.
1731 2018-09-22  Eli Zaretskii  <eliz@gnu.org>
1733         Don't use obsolete variable 'save-place' in documentation
1735         * doc/lispref/customize.texi (Variable Definitions): Replace
1736         example of saveplace defcustom with a fictitious one, which
1737         will not bit-rot with time.  (Bug#32741)
1739 2018-09-22  Mark A. Hershberger  <mah@everybody.org>
1741         Use save-place-mode instead of save-place
1743         * lisp/menu-bar.el (menu-bar-options-save, menu-bar-options-menu):
1744         * lisp/saveplace.el (save-place-to-alist, save-places-to-alist)
1745         (save-place-find-file-hook, save-place-dired-hook): Use
1746         save-place-mode instead of the obsolete save-place.
1748 2018-09-20  Eli Zaretskii  <eliz@gnu.org>
1750         More accurate docs for 'text-char-description'
1752         * src/keymap.c (Ftext_char_description):
1753         * doc/lispref/help.texi (Describing Characters): More accurate
1754         description of 'text-char-description'.  Remove incorrect
1755         examples from the ELisp manual.  (Bug#32743)
1757 2018-09-20  Noam Postavsky  <npostavs@gmail.com>
1759         Document synchronous behavior of eshell/make (Bug#32513)
1761         * doc/misc/eshell.texi (Built-ins):
1762         * lisp/eshell/em-unix.el (eshell/make): Mention that it falls back to
1763         the external 'make' command when called synchronously.
1765 2018-09-20  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
1767         Fix bs-show with wide characters (Bug#17822)
1769         * lisp/bs.el (bs--insert-one-entry, bs-show-in-buffer): Use
1770         string-width instead of length.
1772 2018-09-19  Eli Zaretskii  <eliz@gnu.org>
1774         Improve Custom menu labels for 2 options
1776         * lisp/dired.el (dired-use-ls-dired):
1777         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Improve
1778         the doc string and the defcustom menu/tags text.  (Bug#32756)
1780 2018-09-19  Eli Zaretskii  <eliz@gnu.org>
1782         Improve wording of last change in dired-x.texi
1784         * doc/misc/dired-x.texi (Shell Command Guessing): Clarify
1785         wording in description of 'dired-guess-shell-alist-user'.
1786         Avoid passive tense.  (Bug#32733)
1788 2018-09-18  Eli Zaretskii  <eliz@gnu.org>
1790         Fix GnuTLS test suite with GnuTLS versions 3.4.x
1792         * src/gnutls.c (gnutls_cipher_get_tag_size): Make it return
1793         zero only for versions of GnuTLS < 3.2.2, where
1794         gnutls_cipher_get_tag_size was introduced.  This fixes the
1795         GnuTLS test suite, which assumes that any cipher whose tag
1796         size is non-zero is AEAD-capable, and doesn't test such ciphers
1797         if AEAD is not available, i.e. for GnuTLS < 3.5.1.  (Bug#32446)
1799 2018-09-17  Noam Postavsky  <npostavs@gmail.com>
1801         Fix build with gnutls versions 3.0 to 3.2 (Bug#32446)
1803         We previously used functions available only in 3.2+ for all 3.x
1804         versions.
1805         * src/gnutls.c [GNUTLS_VERSION_NUMBER < 0x030501]: Replace calls to
1806         gnutls_cipher_get_tag_size with 0.
1807         [GNUTLS_VERSION_NUMBER < 0x030200]: Alias gnutls_cipher_get_iv_size
1808         to gnutls_cipher_get_block_size, gnutls_digest_list to
1809         gnutls_mac_list, and gnutls_digest_get_name to gnutls_mac_get_name.
1810         [WINDOWSNT]: Adjust DLL function definitions and declarations
1811         accordingly.
1813 2018-09-17  Eli Zaretskii  <eliz@gnu.org>
1815         Fix the Bubbles game on TTY frames
1817         * lisp/play/bubbles.el (bubbles--col-offset)
1818         (bubbles--row-offset): Doc fixes.
1819         (bubbles--compute-offsets): Conflate the GUI and TTY code into
1820         a single common version.  Set the offsets to simple numbers,
1821         not to lists.
1822         (bubbles--initialize, bubbles--show-scores): Wrap offset
1823         values in a list, so that they are interpreted as pixel
1824         values, not as units of character width.  This fixes the game
1825         on TTY frames.  (Bug#32744)
1827 2018-09-17  Allen Li  <darkfeline@felesatra.moe>
1829         Add choice to reshow certificate information (Bug#31877)
1831         In various situations, the window displaying the certificate
1832         information can be hidden (such as if the user accidentally presses ?,
1833         which causes the read-multiple-choice help window to replace it).
1834         Instead of leaving the user to make a choice blindly, add a choice to
1835         reshow the certification information.
1837         * lisp/net/nsm.el (nsm-query-user): Add reshow choice.
1839 2018-09-16  Glenn Morris  <rgm@gnu.org>
1841         * src/alloc.c (Fbool_vector, Flist, Fvector): Doc tweak.
1843         Use a simpler, consistent form.
1845 2018-09-15  Alan Mackenzie  <acm@muc.de>
1847         * src/alloc.c (vector): Fix grammatical error in doc string: "are" -> "is".
1849 2018-09-15  Eli Zaretskii  <eliz@gnu.org>
1851         Avoid adverse side effects of fixing bug#21824
1853         * test/src/buffer-tests.el
1854         (overlay-modification-hooks-deleted-overlay): New test.
1856         * src/buffer.c (report_overlay_modification): Don't bypass all
1857         the overlay-modification hooks; instead, invoke each function
1858         only if the buffer associated with the overlay is the current
1859         buffer.  (Bug#30823)
1861 2018-09-15  Eli Zaretskii  <eliz@gnu.org>
1863         Document changes called out in NEWS
1865         * doc/lispref/lists.texi (Association Lists): Document
1866         'assoc-delete-all'.
1867         * doc/lispref/minibuf.texi (Minibuffers): Adapt menu.
1868         (Multiple Queries): Document 'read-answer'.
1870         * etc/NEWS: Reflect the above documentation in the respective
1871         entries.
1873 2018-09-14  Glenn Morris  <rgm@gnu.org>
1875         Tiny doc updates re yum/dnf etc
1877         * INSTALL: Mention dnf and Debian unversioned emacs package.
1878         * doc/misc/efaq.texi (Installing Emacs): Mention dnf.
1880 2018-09-14  Leo Liu  <sdl.web@gmail.com>
1882         Remove unused variable
1884         * lisp/progmodes/prolog.el (prolog-hungry-delete-key-flag): Remove.
1886 2018-09-14  Leo Liu  <sdl.web@gmail.com>
1888         Fix (thing-at-point 'list) regression (Bug#31772)
1890         * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point): Revert
1891           to pre 26.1 behavior.  Return whole sexp at point if no enclosing
1892           list.
1893           (list-at-point): New optional arg to ignore comments and strings.
1895         * test/lisp/thingatpt-tests.el
1896           (thing-at-point-bounds-of-list-at-point): Fix and augment tests.
1898 2018-09-14  Robert Pluim  <rpluim@gmail.com>
1900         Clarify meaning of '*'
1902         * doc/misc/dired-x.texi (Shell Command Guessing): Clarify meaning
1903         of '*'. (Bug#32733)
1905 2018-09-12  Paul Eggert  <eggert@cs.ucla.edu>
1907         * etc/PROBLEMS: Document Ubuntu 16.04 issue.
1909 2018-09-12  Alex Branham  <alex.branham@gmail.com>  (tiny change)
1911         Increase default value for imenu-auto-rescan-maxout
1913         * lisp/imenu.el (imenu-auto-rescan-maxout): Increase default value to
1914           600000.  (Bug#18426)
1915         * doc/emacs/programs.texi (imenu-auto-rescan-maxout): Add
1916           documentation for imenu-auto-rescan-maxout.
1918 2018-09-11  Eli Zaretskii  <eliz@gnu.org>
1920         Improve recent change to ELisp manual
1922         * doc/lispref/commands.texi (Keyboard Events): Add index entry
1923         for "character event".  (Bug#32562)
1925 2018-09-11  Eli Zaretskii  <eliz@gnu.org>
1927         * doc/lispref/display.texi (SVG Images): Improve wording.
1929         * doc/lispref/display.texi (SVG Images): Fix a typo.  (Bug#32690)
1931 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
1933         Clarify completion text in the ELisp manual
1935         * doc/lispref/minibuf.texi (Programmed Completion): Clarify
1936         text.  Suggested by Stefan Monnier <monnier@iro.umontreal.ca>.
1938 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
1940         Fix handling of abbreviated control command in gdb-mi.el
1942         * lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp):
1943         Support unambiguous abbreviations of commands.  (Bug#32576)
1945 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
1947         Clarify documentation of functions reading character events
1949         * doc/lispref/help.texi (Describing Characters):
1950         * doc/lispref/commands.texi (Keyboard Events)
1951         (Reading One Event, Classifying Events): Make the distinction
1952         between characters and character events more explicit.
1954         * src/keymap.c (Ftext_char_description)
1955         (Fsingle_key_description):
1956         * src/lread.c (Fread_char, Fread_char_exclusive): Doc fixes,
1957         to make a clear distinction between a character input event
1958         and a character code.  (Bug#32562)
1960 2018-09-07  Eli Zaretskii  <eliz@gnu.org>
1962         Record :version for built-in variables while dumping
1964         * lisp/cus-start.el (standard): Record the ':version; of the
1965         symbols when dumping, so that 'describe-variable' could tell
1966         which built-in variables were added/changed in recent
1967         versions.
1969 2018-09-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1971         * src/process.c (connect_network_socket): Fix memory leak.  (Bug#32604)
1973 2018-09-05  Glenn Morris  <rgm@gnu.org>
1975         * Makefile.in (appdatadir): Use the non-obsolete location "metainfo".
1977 2018-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>
1979         Better fix for bug#32550
1981         * lisp/rfn-eshadow.el (rfn-eshadow-overlay): Give it a global default.
1983         * lisp/net/tramp.el (rfn-eshadow-overlay): Declare it as dynamically scoped.
1984         (tramp-rfn-eshadow-update-overlay): Revert the corresponding part of
1985         last change.
1987 2018-09-04  Michael Albinus  <michael.albinus@gmx.de>
1989         Fix Bug#32550
1991         * lisp/net/tramp.el (tramp-rfn-eshadow-setup-minibuffer): Do not
1992         use `symbol-value'.
1993         (tramp-rfn-eshadow-update-overlay): Do not use `symbol-value'.  Do
1994         not let-bind `rfn-eshadow-overlay', assign it directly (due to
1995         lexical binding).  (Bug#32550)
1997 2018-09-04  Martin Rudalics  <rudalics@gmx.at>
1999         Don't call XGetGeometry for frames without outer X window (Bug#32615)
2001         * src/xfns.c (frame_geometry): Don't call XGetGeometry when
2002         FRAME has no outer X window; return nil instead.  (Bug#32615)
2004 2018-09-03  Paul Eggert  <eggert@cs.ucla.edu>
2006         * lisp/calculator.el: Fix doc typo.
2008 2018-09-03  Glenn Morris  <rgm@gnu.org>
2010         Standardize calc bug reporting instructions
2012         * doc/misc/calc.texi (Reporting Bugs): Use standard commands.
2013         * lisp/calc/calc-misc.el (report-calc-bug, calc-report-bug):
2014         * lisp/calc/calc.el (calc-bug-address): Change to be
2015         obsolete aliases for standard Emacs bug reporting items.
2017 2018-08-31  Michael Albinus  <michael.albinus@gmx.de>
2019         Rename thread-alive-p to thread-live-p
2021         * doc/lispref/threads.texi (Basic Thread Functions): Use thread-live-p.
2023         * etc/NEWS: 'thread-alive-p' has been renamed to 'thread-live-p'.
2025         * src/thread.c (thread_live_p): Rename from thread_alive_p.  Adapt
2026         all callees.
2027         (Fthread_live_p): Rename from Fthread_alive_p.
2028         (syms_of_threads): Make thread-alive-p an alias of thread-live-p.
2030         * test/src/thread-tests.el (all): Replace `thread-alive-p' by
2031         `thread-live-p'.
2032         (threads-live): Rename from `threads-alive'.
2034 2018-08-30  Miciah Masters  <miciah.masters@gmail.com>  (tiny change)
2036         rcirc: Document /reconnect as a built-in command (Bug#29656)
2038         The change "New command rcirc-cmd-reconnect" from 2014-04-09 (shipped
2039         in Emacs 25.1) added a /reconnect command to rcirc but did not
2040         document it and did not delete the example /reconnect command
2041         definition in the manual.
2042         * doc/misc/rcirc.texi (rcirc commands): Document the built-in /reconnect
2043         command.
2044         (Hacking and Tweaking): Delete example reconnect command.
2046 2018-08-30  Noam Postavsky  <npostavs@gmail.com>
2048         * test/lisp/calc/calc-tests.el (calc-imaginary-i): New test.
2050 2018-08-28  Glenn Morris  <rgm@gnu.org>
2052         admin.el: respect environment settings for makeinfo etc
2054         * admin/admin.el (manual-makeinfo, manual-texi2pdf, manual-texi2dvi):
2055         New variables.
2056         (manual-html-mono, manual-html-node, manual-pdf, manual-ps): Use them.
2058 2018-08-28  Glenn Morris  <rgm@gnu.org>
2060         * etc/PROBLEMS: New entry about GTK+ 3 crash with some X servers.
2062 2018-08-28  Noam Postavsky  <npostavs@gmail.com>
2064         Index profiler commands in elisp manual
2066         * doc/lispref/debugging.texi (Profiling): Add index entries for
2067         profiler-start, profiler-report, profiler-stop.
2069 2018-08-28  Noam Postavsky  <npostavs@gmail.com>
2071         Fix math-imaginary-i check
2073         Reported by Bastian Erdnüß at
2074         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00300.html>.
2075         * lisp/calc/calc-cplx.el (math-imaginary-i): Check for a value
2076         of (polar 1 <quarter-circle>).
2078 2018-08-28  Eli Zaretskii  <eliz@gnu.org>
2080         Avoid infinite hscrolling loops when line numbers are displayed
2082         * src/xdisp.c (maybe_produce_line_number): Don't produce line
2083         numbers if we don't have enough screen estate.  (Bug#32351)
2085 2018-08-28  Eli Zaretskii  <eliz@gnu.org>
2087         Avoid crashes in malformed defvar
2089         * src/eval.c (Fdefvar): Don't call XSYMBOL on something that
2090         might not be a symbol.  This avoids crashes due to malformed
2091         'defvar' forms.  (Bug#32552)
2093 2018-08-28  Glenn Morris  <rgm@gnu.org>
2095         * configure.ac (emacs_config_features): Add GLIB, XDBE, XIM.
2097         * configure.ac: Doc fixes related to --with-xim.
2099 2018-08-28  Glenn Morris  <rgm@gnu.org>
2101         Small checkdoc quoting fix (bug#32546)
2103         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
2104         Fix quoting thinko.
2106 2018-08-26  Sergey Vinokurov  <serg.foo@gmail.com>
2108         Fix detection of freed emacs_values (Bug#32479)
2110         * src/emacs-module.c (module_free_global_ref): Compare a value to be
2111         freed with all entries of the list.
2113         * test/data/emacs-module/mod-test.c (Fmod_test_globref_free): New
2114         function.
2115         (emacs_module_init): Make it accessible from Lisp.
2116         * test/src/emacs-module-tests.el (mod-test-globref-free-test): New
2117         test which uses it.
2119 2018-08-25  Eli Zaretskii  <eliz@gnu.org>
2121         Avoid crashes with very wide TTY frames on MS-Windows
2123         * src/w32console.c <glyph_base>: Reduce the number of elements
2124         to 80.
2125         <glyphs, glyphs_len>: New static variables.
2126         (w32con_clear_end_of_line): If the line is wider than the
2127         current size of the "empty row" in 'glyphs', reallocate
2128         'glyphs' to support the full width of the frame.  This
2129         avoids segfaults when the frame is wider than 256 columns.
2130         (Bug#32445)
2132 2018-08-25  Wenjamin Petrenko  <wenjamin.petrenko@yandex.ru>  (tiny change)
2134         Prevent `modify-file-local-variable-prop-line' from adding extra ';'
2136         * lisp/files-x.el (modify-file-local-variable-prop-line): Handle
2137         whitespace when checking if there's already a ';' before the
2138         variable (Bug#23294).
2140 2018-08-24  Glenn Morris  <rgm@gnu.org>
2142         Update GNOME bugtracker URLs
2144         * configure.ac, admin/notes/multi-tty, etc/PROBLEMS:
2145         * src/emacs.c (main):
2146         * src/xterm.c (x_connection_closed): Update GNOME bugtracker URLs.
2148 2018-08-23  Eli Zaretskii  <eliz@gnu.org>
2150         Clarify in the Emacs manual that ChangeLog files are not used
2152         * doc/emacs/trouble.texi (Sending Patches): Use "commit log"
2153         instead of "change log", to avoid the interpretation that we
2154         are talking about literal ChangeLog files.  (Bug#32359)
2156 2018-08-21  Eli Zaretskii  <eliz@gnu.org>
2158         Recognize codepage 65001 as a valid encoding
2160         * lisp/international/mule-conf.el (cp65001): Define it as an
2161         alias for UTF-8.
2163 2018-08-18  Eli Zaretskii  <eliz@gnu.org>
2165         Avoid compilation warning in nt/addpm.c
2167         * nt/addpm.c [!MINGW_W64]: Undefine _WIN32_IE before
2168         redefining it, to avoid compilation warnings.
2170 2018-08-17  Basil L. Contovounesios  <contovob@tcd.ie>
2172         Fix duplicate custom group names in bibtex.el
2174         * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
2175         Change :group from BibTeX to bibtex.  (bug#32436)
2177 2018-08-17  Eli Zaretskii  <eliz@gnu.org>
2179         Fix outdated text in the Calc manual
2181         * doc/misc/calc.texi (Internals): Don't advertise
2182         'calc-extensions' which no longer exists.  Reported by Francis
2183         Wright <francis.j.wright@gmail.com>.
2185 2018-08-13  Paul Eggert  <eggert@cs.ucla.edu>
2187         Port better to x86 -fexcess-precision=fast
2189         Problem reported by Eli Zaretskii in:
2190         https://lists.gnu.org/r/emacs-devel/2018-08/msg00380.html
2191         * src/data.c (arithcompare): Work around incompatibility
2192         between gcc -fexcess-precision=fast and the C standard on x86,
2193         by capturing the results of floating-point comparisons before
2194         the excess precision spontaneously decays.  Although this fix
2195         might not work in general, it does work here and is probably
2196         good enough for the platforms we care about.
2198         (cherry picked from commit a84cef90957f2379cc0df6bd908317fc441971ce)
2200 2018-08-13  Paul Eggert  <eggert@cs.ucla.edu>
2202         Add comment about floating point test
2204         * test/src/data-tests.el (data-tests--float-greater-than-fixnums):
2205         New constant.
2206         (data-tests-=, data-tests-<, data-tests->, data-tests-<=)
2207         (data-tests->=, data-tests-min): Use it.
2209 2018-08-13  Tino Calancha  <tino.calancha@gmail.com>
2211         Ibuffer: Add toggle ibuffer-do-toggle-lock
2213         Toggle the locked status in marked buffers or the buffer
2214         at point (Bug#32421).
2215         * lisp/ibuffer.el (ibuffer-do-toggle-lock): New command.
2216         (ibuffer-mode-map): Bind it to 'L'.
2217         (ibuffer-mode-operate-map): Add entries for
2218         `ibuffer-do-toggle-read-only' and `ibuffer-do-toggle-lock'.
2219         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.2):
2220         Announce the change.
2222 2018-08-13  Tino Calancha  <tino.calancha@gmail.com>
2224         Ibuffer: Detect correctly the buffers running a process
2226         * lisp/ibuffer.el (filename-and-process): Store the process buffer
2227         as a text property; check for such property to detect a buffer
2228         with a process (Bug#32420).
2230 2018-08-12  Michael Albinus  <michael.albinus@gmx.de>
2232         Backport fix for Bug#32226
2234         * test/lisp/shadowfile-tests.el: Set Tramp variables for hydra.
2235         (shadow-test06-literal-groups, shadow-test07-regexp-groups)
2236         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
2237         Use `set-visited-file-name' instead of setting the value in
2238         `buffer-file-name' directly.
2239         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
2240         Test for writable temporary directory.  Suppress errors in
2241         cleanup.  (Bug#32226)
2243 2018-08-12  Yuri D'Elia  <wavexx@thregr.org>
2245         Do not consider external packages to be removable (Bug#27822)
2247         Packages which are not directly user-installed shouldn't be autoremoved,
2248         since they can be setup through a different path (via
2249         `package-directory-list') where we have no authority over.
2250         * lisp/emacs-lisp/package.el (package--user-installed-p): New
2251         function.
2252         (package--removable-packages): Use it.
2254 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
2256         * src/alloc.c: Remove obsolete comments.
2258 2018-08-11  Eli Zaretskii  <eliz@gnu.org>
2260         Better support utf-8-with-signature and utf-8-hfs in HTML
2262         * lisp/international/mule.el (sgml-html-meta-auto-coding-function):
2263         Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
2264         obey the buffer's encoding if it is one of these variants, instead
2265         of re-encoding in UTF-8 proper.  (Bug#20623)
2267 2018-08-11  Eli Zaretskii  <eliz@gnu.org>
2269         Don't use -Wabi compiler option
2271         * configure.ac: Add -Wabi to the list of disabled warning
2272         options.  For the details, see
2273         http://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00123.html.
2275 2018-08-10  Filipp Gunbin  <fgunbin@fastmail.fm>
2277         Fix bugs in `auth-source-netrc-parse-one'.
2279         * lisp/auth-source.el (auth-source-netrc-parse-one): Ensure that match
2280           data is not overwritten in `auth-source-netrc-parse-next-interesting'.
2281           Ensure that blanks are skipped before and after going over comments
2282           and eols.
2283         * test/lisp/auth-source-tests.el (auth-source-test-netrc-parse-one): New test.
2285         (cherry picked from commit 60ff8101449eea3a5ca4961299501efd83d011bd)
2287 2018-08-09  Eli Zaretskii  <eliz@gnu.org>
2289         Fix copying text properties by 'format'
2291         * src/editfns.c (styled_format): Add the spec beginning index
2292         to the info recorded for each format spec, and use it to
2293         detect the case that a format spec and its text property end
2294         where the next spec with another property begins.  (Bug#32404)
2296         * test/src/editfns-tests.el (format-properties): Add tests for
2297         bug#32404.
2299 2018-08-09  Alexander Gramiak  <agrambot@gmail.com>
2301         Improve error messages regarding initial-buffer-choice (Bug#29098)
2303         * lisp/startup.el (command-line-1) <initial-buffer-choice>: Make the
2304         messages conform to Emacs conventions, and show the invalid return
2305         value in the message.
2307 2018-08-09  Glenn Morris  <rgm@gnu.org>
2309         * test/lisp/wdired-tests.el (wdired-test-unfinished-edit-01): Fix typo.
2311 2018-08-09  Lars Ingebrigtsen  <larsi@gnus.org>
2313         Make async :family 'local failures fail correctly again
2315         * src/fileio.c (get_file_errno_data): Refactor out into its own
2316         function so that we can reuse the error handling from an async
2317         context (bug#31901).
2319         * src/process.c (connect_network_socket): When an async :family
2320         'local client fails (with a file error, for instance), mark the
2321         process as failed.
2323         (cherry picked from commit 92ba34d89ac4f5b5bbb818e1c39a3cc12a405790)
2325 2018-08-09  Noam Postavsky  <npostavs@gmail.com>
2327         Fix emacsclient check for term.el buffer (Bug#21041)
2329         * lib-src/emacsclient.c (find_tty): Check for any TERM value with
2330         prefix of "eterm", not just "eterm" itself.  Also check for ",term:"
2331         in INSIDE_EMACS value.
2333 2018-08-08  Eli Zaretskii  <eliz@gnu.org>
2335         Improve documentation of 'set-fontset-font'
2337         * doc/lispref/display.texi (Fontsets): Fix description of
2338         'set-fontset-font'.
2339         * src/fontset.c (Fset_fontset_font): Doc fix.  (Bug#32401)
2341 2018-08-07  Eli Zaretskii  <eliz@gnu.org>
2343         Improve documentation of M-?
2345         * doc/emacs/maintaining.texi (Identifier Search):
2346         * lisp/progmodes/xref.el (xref-find-references): Improve
2347         documentation of xref-find-references and
2348         xref-prompt-for-identifier.  (Bug#32389)
2350 2018-08-07  Ivan Shmakov  <ivan@siamics.net>
2352         Reinterpret Esperanto characters in iso-transl as iso-8859-3.
2354         * lisp/international/iso-transl.el (iso-transl-language-alist):
2355         Reinterpret Esperanto characters as iso-8859-3 (were: iso-8859-1).
2356         (Bug#32371)
2358 2018-08-07  Eli Zaretskii  <eliz@gnu.org>
2360         Fix Flyspell mode when several languages are mixed in a buffer
2362         * lisp/textmodes/flyspell.el (flyspell-external-point-words):
2363         Handle "misspelled" words that actually belong to a language
2364         unsupported by the current dictionary.  (Bug#32280)  Fix the test
2365         for Ispell the program.
2367 2018-08-04  Juri Linkov  <juri@linkov.net>
2369         New function read-answer (Bug#31782)
2371         * lisp/emacs-lisp/map-ynp.el (read-answer-short): New defcustom.
2372         (read-answer): New function.
2373         * lisp/subr.el (assoc-delete-all): New function.
2374         * etc/NEWS: Announce them.
2376         * lisp/dired.el (dired-delete-file): Use read-answer.
2377         (dired--yes-no-all-quit-help): Remove function.
2378         (dired-delete-help): Remove defconst.
2380         (backported from master, "New function read-answer (bug#30073)" and
2381         "Respect non-saved value of `read-short-answer' (Bug#31782)")
2383 2018-08-02  Eli Zaretskii  <eliz@gnu.org>
2385         Avoid assertion violations in maybe_produce_line_number
2387         * src/xdisp.c (redisplay_window): Make sure desired_matrix is
2388         cleared before calling try_window.  This is important when
2389         display-line-numbers is non-nil, because line-number display code
2390         assumes each glyph row is completely cleared when it is called to
2391         produce a line number.  (Bug#32358)
2393 2018-08-02  Eli Zaretskii  <eliz@gnu.org>
2395         Avoid assertion violations in set_text_properties_1
2397         * src/textprop.c (set_text_properties): If the call to
2398         modify_text_properties modifies the interval tree as side effect,
2399         recalculate the correct interval for START and END.  (Bug#32265)
2401 2018-07-31  Stephen Berman  <stephen.berman@gmx.net>
2403         Fix wdired test failure when byte compiled (bug#32318)
2405         * test/lisp/wdired-tests.el: Require wdired.  Defvar dired-query
2406         to silence byte-compiler.
2408 2018-07-30  Stephen Berman  <stephen.berman@gmx.net>
2410         * test/lisp/wdired-tests.el (wdired-test-symlink-name): New test.
2412 2018-07-29  Raimon Grau  <raimonster@gmail.com>
2414         Fix url's thing-at-point beginning-op (Bug#32028)
2416         * lisp/thingatpt.el (url): Fix beginning-op making.
2418 2018-07-29  Eli Zaretskii  <eliz@gnu.org>
2420         Fix last change in 'char_width'
2422         * src/character.c (char_width): Make sure variable C is always
2423         initialized.  (Bug#32276)
2425 2018-07-29  Stephen Berman  <stephen.berman@gmx.net>
2427         Add initial tests for wdired.el
2429         * test/lisp/wdired-tests.el: New file.
2431 2018-07-28  Stephen Berman  <stephen.berman@gmx.net>
2433         Fix use of non-nil wdired-use-interactive-rename
2435         This is a fairly minimal fix for the release branch; a more
2436         comprehensive fix is on master, so do not merge this to master.
2438         * lisp/wdired.el (wdired-search-and-rename): Remove dired-filename
2439         text property in order to find new filename when it only partially
2440         replaces old filename (bug#32173).  If user quits before renaming
2441         succeeds, restore the dired-filename text property.
2443 2018-07-28  Eli Zaretskii  <eliz@gnu.org>
2445         Fix compilation with mingw.org's MinGW 5.x headers
2447 2018-07-28  Eli Zaretskii  <eliz@gnu.org>
2449         Update the list of special forms in the ELisp manual
2451         * doc/lispref/eval.texi (Special Forms):
2452         * doc/lispref/frames.texi (Mouse Tracking): 'track-mouse' is
2453         nowadays a macro.  (Bug#32284)
2455 2018-07-28  Noam Postavsky  <npostavs@gmail.com>
2457         Don't fail to indent-sexp before a full sexp (Bug#31984)
2459         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Only signal error if the
2460         initial forward-sexp fails.  Suppress scan-error forn any of the
2461         forward-sexp calls after that.
2462         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-cant-go): New
2463         test.
2465 2018-07-27  Eli Zaretskii  <eliz@gnu.org>
2467         Fix calls to modifications hooks in replace-buffer-contents
2469         * src/editfns.c (Freplace_buffer_contents): Call the modification
2470         hooks on the entire region where replacements could have taken
2471         place.  The previous attempts of being more accurate just
2472         introduced bugs.  (Bug#32278)
2474 2018-07-27  Eli Zaretskii  <eliz@gnu.org>
2476         * src/character.c (char_width): Support glyphs with faces.  (Bug#32276)
2478 2018-07-27  Eli Zaretskii  <eliz@gnu.org>
2480         Display raw bytes as belonging to 'eight-bit' charset
2482         * lisp/descr-text.el (describe-char):
2483         * lisp/simple.el (what-cursor-position): Display characters in the
2484         range #x3FFF80..#x3FFF9F as belonging to charset 'eight-bit', not
2485         'tis620-2533'.
2486         * lisp/international/mule-diag.el (describe-character-set):
2487         Improve description of :supplementary-p.
2489 2018-07-26  Eli Zaretskii  <eliz@gnu.org>
2491         Fix inaccurate text in the user manual
2493         * doc/emacs/mule.texi (International Chars): Correct inaccurate
2494         description of raw bytes display by "C-x =".
2496 2018-07-26  Michael Albinus  <michael.albinus@gmx.de>
2498         Copyedits in tramp.texi, improved example with bash's readline
2500         * doc/misc/tramp.texi (all): Unify some wordings.
2501         (Frequently Asked Questions): Update example with bash's readline.
2503 2018-07-25  Michael Albinus  <michael.albinus@gmx.de>
2505         Minor Tramp doc update
2507         * doc/misc/tramp.texi (Frequently Asked Questions): Disable bash's
2508         INPUTRC.
2510 2018-07-25  Michael Albinus  <michael.albinus@gmx.de>
2512         File Shadowing is not available on MS Windows
2514         * doc/emacs/files.texi (File Shadowing): File Shadowing is not
2515         available on MS Windows.
2517         * test/lisp/shadowfile-tests.el (shadow-test00-clusters)
2518         (shadow-test01-sites, shadow-test02-files)
2519         (shadow-test03-expand-cluster-in-file-name)
2520         (shadow-test04-contract-file-name, shadow-test05-file-match)
2521         (shadow-test06-literal-groups, shadow-test07-regexp-groups)
2522         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
2523         Skip under MS Windows.
2525 2018-07-24  Noam Postavsky  <npostavs@gmail.com>
2527         Let bookmark-jump override window-point (Bug#31751)
2529         * lisp/bookmark.el (bookmark-jump): Use pop-to-buffer-same-window
2530         instead of switch-to-buffer, the latter obeys
2531         switch-to-buffer-preserve-window-point and so loses the bookmark's
2532         point.
2534 2018-07-23  Noam Postavsky  <npostavs@gmail.com>
2536         Omit keymap from subword-mode docstring (Bug#32212)
2538         * lisp/progmodes/subword.el (subword-mode): Remove listing of
2539         subword-mode-map bindings, since it is empty as of 2014-03-23 "Merge
2540         capitalized-words-mode and subword-mode".
2542 2018-07-23  Tino Calancha  <tino.calancha@gmail.com>
2543             Noam Postavsky  <npostavs@gmail.com>
2545         Prevent line-mode term from showing user passwords
2547         For buffers whose mode derive from comint-mode, the user password is
2548         read from the minibuffer and it's hidden.  A buffer in term-mode and
2549         line submode, instead shows the passwords.  Make buffers in line
2550         term-mode to hide passwords too (Bug#30190).
2552         * lisp/term.el (term-send-invisible): Prefer the more robust
2553         `read-passwd' instead of `term-read-noecho'.
2554         (term-watch-for-password-prompt): New function.
2555         (term-emulate-terminal): Call it each time we receive non-escape
2556         sequence output.
2558 2018-07-22  Jonathan Kyle Mitchell  <kyle@jonathanmitchell.org>
2560         Check for special filenames in eshell (Bug#30724)
2562         * lisp/eshell/esh-cmd.el (eshell-lisp-command): Check for "~"
2563         in lisp commands with the eshell-filename-arguments property
2564         (Bug#30724).
2566         * lisp/eshell/em-dirs.el (eshell/cd, eshell/pushd, eshell/popd):
2567         * lisp/eshell/em-ls.el (eshell/ls):
2568         * lisp/eshell/em-unix.el (eshell/rm, eshell/mkdir, eshell/rmdir)
2569         (eshell/mv, eshell/cp, eshell/ln, eshell/cat, eshell/du, eshell/diff):
2570         * lisp/eshell/esh-ext.el (eshell/addpath): Add
2571         eshell-filename-arguments to symbol plist.
2573 2018-07-22  Noam Postavsky  <npostavs@gmail.com>
2575         Fix indent-sexp of #s(...) (Bug#31984)
2577         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Look for a sexp that
2578         ends after the current line.
2579         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-go): New test.
2581 2018-07-22  Noam Postavsky  <npostavs@gmail.com>
2583         Add save-match-data to abbreviate-file-name (Bug#32201)
2585         * lisp/files.el (abbreviate-file-name): Save match-data around
2586         expand-file-name; it is not guaranteed to preserve match-data, and may
2587         well do so depending on what file handlers and hooks are in effect.
2589 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
2591         Fix last change in editfns.c
2593         * src/editfns.c (Freplace_buffer_contents): Fix last change: always
2594         call buffer modification hooks, even if nothing was deleted/inserted.
2595         (bug#32237)
2597 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
2599         Fix calls to buffer modification hooks from replace-buffer-contents
2601         * src/editfns.c (Freplace_buffer_contents): Don't call buffer
2602         modification hooks if nothing was deleted/inserted.  (Bug#32237)
2604 2018-07-21  Michael Albinus  <michael.albinus@gmx.de>
2606         Fix Bug#32226
2608         * lisp/shadowfile.el (shadow-site-name, shadow-name-site):
2609         Use "[-.[:word:]]+" as hostname regexp.  (Bug#32226)
2611         * test/lisp/shadowfile-tests.el (shadow-test06-literal-groups)
2612         (shadow-test07-regexp-groups, shadow-test08-shadow-todo)
2613         (shadow-test09-shadow-copy-files): Skip if needed.
2615 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
2617         Improve doc strings of several variables in keyboard.c
2619         * src/keyboard.c (syms_of_keyboard) <debug-on-event>
2620         <attempt-stack-overflow-recovery>
2621         <attempt-orderly-shutdown-on-fatal-signal>: Make sure the first
2622         sentence of the doc string fits on a single line.
2624 2018-07-20  Michael Albinus  <michael.albinus@gmx.de>
2626         Fix (Bug#32218).  Do not merge with master
2628         * doc/misc/trampver.texi:
2629         * lisp/net/trampver.el: Change version to "2.3.4.26.2".
2630         (customize-package-emacs-version-alist): Add Tramp version
2631         integrated in Emacs 26.2.
2633         * lisp/net/tramp.el (tramp-handle-file-truename):
2634         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
2635         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename): Fix problem
2636         with trailing slash.  (Bug#32218)
2638         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
2639         Remove `tramp--test-emacs27-p' check.
2641 2018-07-20  Eli Zaretskii  <eliz@gnu.org>
2643         Improve documentation of 'pcase-defmacro rx'
2645         * lisp/emacs-lisp/rx.el (rx): Clarify and improve the doc string.
2646         For the details, see the discussion starting at
2647         http://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00399.html.
2649 2018-07-19  Eli Zaretskii  <eliz@gnu.org>
2651         Fix TTY colors breakage by 'clear-face-cache'
2653         Without examining the right frame, 'tty-color-24bit' was erroneously
2654         treating a GUI frame as a 24-bit TTY frame.
2655         * lisp/term/tty-colors.el (tty-color-24bit): Accept optional
2656         argument DISPLAY and pass it to display-color-cells.  Doc fix.
2657         (tty-color-define, tty-color-desc): Pass the FRAME argument to
2658         tty-color-24bit.  (Bug#32072)
2660 2018-07-18  Michael Albinus  <michael.albinus@gmx.de>
2662         * admin/MAINTAINERS: Add files maintained by me (Michael Albinus).
2664 2018-07-18  Michael Albinus  <michael.albinus@gmx.de>
2666         Adapt shadowfile.el for Tramp  (Bug#4526, Bug#4846)
2668         * etc/NEWS: Mention changes in shadowfile.el.
2670         * lisp/shadowfile.el (top): Require 'tramp instead of 'ange-ftp.
2671         (shadow-cluster): New defstruct.
2672         (shadow-make-cluster, shadow-cluster-name, shadow-cluster-primary)
2673         (shadow-cluster-regexp, shadow-get-user)
2674         (shadow-parse-fullname): Remove.
2675         (shadow-info-file, shadow-todo-file, shadow-system-name)
2676         (shadow-homedir, shadow-regexp-superquote, shadow-suffix)
2677         (shadow-set-cluster, shadow-get-cluster, shadow-site-name)
2678         (shadow-name-site, shadow-site-primary, shadow-site-cluster)
2679         (shadow-read-site, shadow-parse-name, shadow-make-fullname)
2680         (shadow-replace-name-component, shadow-local-file)
2681         (shadow-expand-cluster-in-file-name, shadow-contract-file-name)
2682         (shadow-same-site, shadow-file-match, shadow-define-cluster)
2683         (shadow-define-literal-group, shadow-define-regexp-group)
2684         (shadow-make-group, shadow-shadows-of-1, shadow-read-files)
2685         (shadow-write-info-file, shadow-write-todo-file)
2686         (shadow-initialize): Adapt variables and functions.
2688         * test/lisp/shadowfile-tests.el: New file.
2690 2018-07-18  Noam Postavsky  <npostavs@gmail.com>
2692         Fix auth-source-delete (Bug#26184)
2694         * lisp/auth-source.el (auth-source-delete): Fix `auth-source-search'
2695         call.
2696         * test/lisp/auth-source-tests.el (auth-source-delete): New test.
2698 2018-07-17  Eli Zaretskii  <eliz@gnu.org>
2700         Avoid assertion violations in gnutls.c
2702         * src/gnutls.c (Fgnutls_hash_digest, gnutls_symmetric)
2703         (Fgnutls_hash_mac): Check CONSP before invoking XCDR.  (Bug#32187)
2704         Report values of invalid arguments when signaling an error.
2706 2018-07-14  Eli Zaretskii  <eliz@gnu.org>
2708         Don't use a literal "C-u" in ispell.el  help message text
2710         * lisp/textmodes/ispell.el (ispell-command-loop): Use
2711         "\\[universal-argument]" instead of a literal "C-u".  (Bug#32142)
2713 2018-07-14  Eli Zaretskii  <eliz@gnu.org>
2715         Improve documentation of 'seqp'
2717         * doc/lispref/sequences.texi (Sequence Functions): Add text to
2718         explain the relation between 'seqp' and 'sequencep'.  (Bug#32125)
2720 2018-07-14  Eli Zaretskii  <eliz@gnu.org>
2722         Clarify usage and dependencies between several Flyspell features
2724         * lisp/textmodes/flyspell.el (flyspell-region)
2725         (flyspell-small-region, flyspell-persistent-highlight):
2726         Documentation improvements.  (Bug#32142)
2728 2018-07-13  Michael Albinus  <michael.albinus@gmx.de>
2730         Use consistent function names in thread-tests.el
2732         * test/src/thread-tests.el (threads-call-error, threads-custom)
2733         (threads-errors, threads-sticky-point, threads-signal-early):
2734         Rename, using naming convention to prefix with "threads-".
2736 2018-07-13  Michael Albinus  <michael.albinus@gmx.de>
2738         Fix format error in Faccept_process_output
2740         * src/process.c (Faccept_process_output): Do not use format spec
2741         "%p", it isn't valid for error().
2743 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
2745         Lessen stack consumption in recursive read1
2747         * src/lread.c (read1): Shrink local buffer size from
2748         MAX_ALLOCA to 128 (Bug#31995).
2750 2018-07-13  Noam Postavsky  <npostavs@gmail.com>
2752         Match w32 paths in grep sans --null hits (Bug#32051)
2754         * lisp/progmodes/grep.el (grep-regexp-alist): Add an optional part to
2755         match paths starting with C: (other drive letters).
2756         * test/lisp/progmodes/compile-tests.el
2757         (compile-tests--grep-regexp-testcases)
2758         (compile-tests--grep-regexp-tricky-testcases)
2759         (compile-test-grep-regexps): New tests.
2760         (compile--test-error-line): Return `compilation-message'.
2762 2018-07-13  Noam Postavsky  <npostavs@gmail.com>
2764         Fix previous make-network-process change
2766         * src/process.c (Fmake_network_process): On 2018-07-09 "Explicitly
2767         reject :server and :nowait (Bug#31903)", the sense of the SERVER check
2768         was accidentally reversed so that we ended up looking for the wrong
2769         ADDRESS.  Reported by T.V Raman in
2770         <https://lists.gnu.org/archive/html/emacs-devel/2018-07/msg00437.html>.
2772 2018-07-12  Eli Zaretskii  <eliz@gnu.org>
2774         Another documentation improvement in flyspell.el
2776         * lisp/textmodes/flyspell.el (flyspell-persistent-highlight): Doc
2777         fix.
2779 2018-07-12  Eli Zaretskii  <eliz@gnu.org>
2781         Improve documentation of Flyspell
2783         For the background, see
2784         http://lists.gnu.org/archive/html/help-gnu-emacs/2018-07/msg00099.html.
2786         * doc/emacs/fixit.texi (Spelling): Add a couple of caveats.
2787         * lisp/textmodes/flyspell.el: Update commentary.
2789 2018-07-12  Michael Albinus  <michael.albinus@gmx.de>
2791         Provide feature 'threads
2793         * src/thread.c (syms_of_threads): Provide feature "threads".
2795         * test/src/thread-tests.el (top): Declare the functions.
2796         (all): Use (featurep 'threads) check.
2798 2018-07-11  Miciah Masters  <miciah.masters@gmail.com>  (tiny change)
2800         Save the server alias on reconnect (Bug#29657)
2802         rcirc does not retain the server alias on reconnect.  As a result, rcirc
2803         fails to re-use server and channel buffers when an alias is used.  Further
2804         problems may ensue when aliases are used to differentiate multiple
2805         connections to the same host, for example when using a single IRC bouncer
2806         or proxy to connect to multiple IRC networks.
2808         Save the server alias when connecting to a server so that reconnect will
2809         retain the alias.
2810         * lisp/net/rcirc.el (rcirc-connect): Include server-alias when setting
2811         rcirc-connection-info.
2813 2018-07-11  Basil L. Contovounesios  <contovob@tcd.ie>
2815         Refer to "proper lists" instead of "true lists"
2817         * doc/lispref/lists.texi (Cons Cells, Building Lists):
2818         * doc/lispref/sequences.texi (Vector Functions): Use the more
2819         popular term "proper", rather than "true", to qualify nil-terminated
2820         lists.
2822         For discussion, see the following emacs-devel subthreads:
2823         https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00112.html
2824         https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00138.html
2826 2018-07-10  John Shahid  <jvshahid@gmail.com>
2828         Avoid turning on the global-minor-mode recursively
2830         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Clear
2831         the buffer-list inside MODE-enable-in-buffers to avoid enabling the
2832         mode recursively.  (Bug#31793)
2834 2018-07-10  Michael Albinus  <michael.albinus@gmx.de>
2836         Fix Bug#32085
2838         * doc/misc/tramp.texi (GVFS based methods): `dav' and `davs' do
2839         not support paths in the volume name.  (Bug#32085)
2841 2018-07-10  Noam Postavsky  <npostavs@gmail.com>
2843         Stop using indent-line-to in lisp-indent-line (Bug#32014)
2845         This is partial revert of "Remove ignored argument from
2846         lisp-indent-line", because `indent-line-to' doesn't respect field
2847         boundaries.
2848         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Use delete-region
2849         and indent-to instead of `indent-line-to'.
2850         * test/lisp/emacs-lisp/lisp-mode-tests.el
2851         (lisp-indent-with-read-only-field): Expect to pass.
2853         Don't merge to master, we will fix indent-line-to there instead.
2855 2018-07-10  Noam Postavsky  <npostavs@gmail.com>
2857         Explicitly reject :server and :nowait (Bug#31903)
2859         * src/process.c (Fmake_network_process): Explicitly check for and
2860         signal an error when passed both :server and :nowait non-nil.  In
2861         Emacs 25, :nowait would be ignored in this case, but as of Emacs 26.1
2862         this gives an error, albeit an unclear one.  Also remove obsolete
2863         comment regarding configurations lacking non-blocking mode, the
2864         corresponding code was removed in 2012-11-17 "Assume POSIX 1003.1-1988
2865         or later for fcntl.h."
2867 2018-07-09  Michael Albinus  <michael.albinus@gmx.de>
2869         Fix Bug#32090
2871         * lisp/files-x.el (connection-local-normalize-criteria): Do not
2872         use PROPERTIES anymore.
2873         (connection-local-get-profiles): Rewrite, in order to accept any
2874         property as optional.  (Bug#32090)
2875         (connection-local-set-profiles):
2876         Adapt ´connection-local-normalize-criteria' call.
2878         * test/lisp/files-x-tests.el
2879         (files-x-test-connection-local-set-profiles)
2880         (files-x-test-hack-connection-local-variables-apply): Extend tests.
2882 2018-07-08  Paul Eggert  <eggert@cs.ucla.edu>
2884         Fix floating point exceptions on Alpha (Bug#32086)
2886         Backport from master.
2887         * admin/merge-gnulib (GNULIB_MODULES): Add fpieee.
2888         * m4/fpieee.m4: New file, copied from Gnulib.
2889         * m4/gnulib-comp.m4: Regenerate.
2891 2018-07-08  Paul Eggert  <eggert@cs.ucla.edu>
2893         Fix bootstrap infloop in GNU/Linux alpha
2895         * src/emacs.c (main): Do not re-exec if EMACS_HEAP_EXEC
2896         is already set (Bug#32083).
2898 2018-07-08  Eli Zaretskii  <eliz@gnu.org>
2900         Minor fix of a recent documentation change
2902         * lisp/net/gnutls.el (gnutls-algorithm-priority): Clarify the doc
2903         string.
2905 2018-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
2907         Mention the NSM in the gnutls variable doc strings
2909         * lisp/net/gnutls.el (gnutls-algorithm-priority): Mention the Network
2910         Security Manager here since this variable is an obvious place
2911         for people concerned about network security to look.
2912         (gnutls-verify-error): Ditto.
2913         (gnutls-min-prime-bits): Ditto.
2915 2018-07-08  Michael Albinus  <michael.albinus@gmx.de>
2917         Remove test code from last commit
2919 2018-07-08  Michael Albinus  <michael.albinus@gmx.de>
2921         Fix Bug#32084
2923         * test/lisp/net/dbus-tests.el (dbus-test02-register-service-own-bus):
2924         Unset $DISPLAY when calling dbus-launch, in order to avoid
2925         possible X11 authentication errors.  (Bug#32084)
2927 2018-07-07  Basil L. Contovounesios  <contovob@tcd.ie>
2929         Fix (length NON-SEQUENCE) documentation
2931         Suggested by Eli Zaretskii <eliz@gnu.org> in the following threads:
2932         https://lists.gnu.org/archive/html/emacs-devel/2018-07/msg00171.html
2933         https://lists.gnu.org/archive/html/emacs-devel/2018-07/msg00206.html
2935         * doc/lispref/sequences.texi (Sequence Functions): Mention that
2936         'length' signals a 'wrong-type-argument' also when given a
2937         non-sequencep argument.
2939 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
2941         Fix bug #11732
2943         * src/w32fns.c (w32_wnd_proc): Fix handling of Windows input
2944         methods.  (Bug#11732)
2946 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
2948         Improve documentation of 'emacs-lock-mode'
2950         * lisp/emacs-lock.el (emacs-lock-mode): Mention in the doc string
2951         the special handling of some major modes due to
2952         'emacs-lock-unlockable-modes'.
2954 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
2956         * lisp/imenu.el (imenu-generic-expression): Doc fix.  (Bug#32016)
2958 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
2960         Improve indexing of 'eval-defun' in ELisp manual
2962         * doc/lispref/display.texi (Defining Faces):
2963         * doc/lispref/debugging.texi (Explicit Debug):
2964         * doc/lispref/customize.texi (Variable Definitions):
2965         * doc/lispref/variables.texi (Defining Variables): Add index
2966         entries for 'eval-defun'.  (Bug#32066)
2968 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
2970         Fix (length CIRCULAR) documentation
2972         * doc/lispref/sequences.texi (Sequence Functions):
2973         Correct documentation of what (length X) does when
2974         X is a circular list.
2976 2018-07-06  Michael Albinus  <michael.albinus@gmx.de>
2978         Tramp editorials
2980         * doc/misc/tramp.texi (Android shell setup): Mention Termux.
2982         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
2983         Use proper spelling "Tramp" in docstring.
2985 2018-07-06  Eli Zaretskii  <eliz@gnu.org>
2987         Clarify and improve doc strings of 'eval-last-sexp' and friends
2989         * lisp/simple.el (eval-expression, eval-expression-print-format):
2990         * lisp/progmodes/elisp-mode.el (eval-last-sexp): Doc fixes.
2991         (Bug#32064)
2993 2018-07-06  Glenn Morris  <rgm@gnu.org>
2995         Automate upload of Emacs manuals to gnu.org
2997         * admin/make-manuals, admin/upload-manuals: New scripts.
2998         * admin/admin.el (make-manuals, make-manuals-dist): Handle batch mode.
2999         * admin/make-tarball.txt: Update web-page details.
3001 2018-07-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
3003         Fix MH-E mail composition with GNU Mailutils (SF#485)
3005         * lisp/mh-e/mh-comp.el (mh-bare-components): Recursively delete
3006         the temporary folder.
3008 2018-07-03  Eli Zaretskii  <eliz@gnu.org>
3010         Speed up 'replace-buffer-contents' some more
3012         * src/editfns.c (EXTRA_CONTEXT_FIELDS): New members beg_a and beg_b.
3013         (Freplace_buffer_contents): Set up ctx.beg_a and ctx.beg_b.
3014         (buffer_chars_equal): Use ctx->beg_a and ctx->beg_b instead of
3015         calling BUF_BEGV, which is expensive.  This speeds up the recipe
3016         in bug#31888 by 30%.
3018 2018-07-03  Glenn Morris  <rgm@gnu.org>
3020         * doc/emacs/docstyle.texi: Avoid messing up the html output.
3022         Previously the @hyphenation commands somehow caused the <head>
3023         section to go missing, with makeinfo 4.13 at least.
3025 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
3027         * etc/HISTORY: Cite Brinkhoff on early history.
3029 2018-07-01  Martin Rudalics  <rudalics@gmx.at>
3031         Document internal use of 'above-suspended' z-group frame parameter
3033         * src/w32fns.c (w32_dialog_in_progress, x_set_z_group):
3034         * src/xterm.c (x_set_z_group): Clarify the internal use of
3035         'above-suspended' when setting a frame's 'z-group' parameter.
3037 2018-06-30  Gemini Lasswell  <gazally@runbox.com>
3039         Increase max-lisp-eval-depth adjustment while in debugger (bug#31919)
3041         * src/eval.c (call_debugger): Increase the amount of extra Lisp
3042         evaluation depth given to the debugger to allow it to call cl-print.
3043         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Add a comment
3044         to suggest updating call_debugger when changing print-level.
3046 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
3048         Improve on last change in replace-buffer-contents
3050         * src/editfns.c (Freplace_buffer_contents): Call modification
3051         hooks only for the actual region where changes are made.
3052         (Bug#31888)
3054 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
3056         Fix a factual error in Introduction to Emacs Lisp
3058         * doc/lispintro/emacs-lisp-intro.texi (Buffer Names): Update the
3059         key that exits the splash screen.  (Bug#32019)
3061 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
3063         Minor improvements in documentation of imenu.el
3065         * lisp/imenu.el (imenu-generic-skip-comments-and-strings)
3066         (imenu--generic-function): Doc fixes.  (Bug#31962)
3068 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
3070         Avoid errors with recentering in 'skeleton-insert'
3072         * lisp/skeleton.el (skeleton-insert): Don't recenter if we are
3073         running in a buffer other than the one displayed in the selected
3074         window.  (Bug#31950)
3076 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
3078         * src/lisp.h: Omit obsolete comment re bytecode stack.
3080 2018-06-29  Eli Zaretskii  <eliz@gnu.org>
3082         Speed up replace-buffer-contents
3084         * src/editfns.c (EXTRA_CONTEXT_FIELDS): Add a_unibyte and
3085         b_unibyte members.
3086         (rbc_quitcounter): New static variable.
3087         (Freplace_buffer_contents): Initialize a_unibyte, b_unibyte, and
3088         rbc_quitcounter.  Inhibit modification hooks if they were not
3089         already inhibited.  Use rarely_quit to allow user to quit, to
3090         avoid calling maybe_quit too frequently (which hurts performance).
3091         Remove redundant assertions (which hurt performance too much).
3092         Call signal_after_change and update_compositions after all the
3093         changes are done.
3094         (buffer_chars_equal): Remove redundant assertions (which hurt
3095         performance).  Avoid using BUF_FETCH_CHAR_AS_MULTIBYTE, which
3096         hurts performance by referencing Lisp symbols; instead, use
3097         lower-level macros with explicit tests to select which macro to
3098         use.  (Bug#31888)
3100 2018-06-27  Dmitry Gutov  <dgutov@yandex.ru>
3102         Remove extra process call from vc-git-find-file-hook
3104         * lisp/vc/vc-git.el (vc-git-find-file-hook): Resolve FIXMEs.
3106 2018-06-27  Dmitry Gutov  <dgutov@yandex.ru>
3108         Speed up vc-git-dir-status-files
3110         * lisp/vc/vc-git.el (vc-git-dir-status-goto-stage): Call 'git
3111         ls-files -u' for the ls-files-conflict stage
3112         (https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00885.html).
3114 2018-06-27  Eli Zaretskii  <eliz@gnu.org>
3116         Avoid compiler warning using coding.h
3118         * src/coding.h: Add INLINE_HEADER_BEGIN..INLINE_HEADER_END, since
3119         this header now has an extern INLINE function.
3121 2018-06-27  Michael Albinus  <michael.albinus@gmx.de>
3123         Sync with Tramp 2.3.4.  Do not merge with master
3125         * doc/misc/trampver.texi:
3126         * lisp/net/trampver.el: Change version to "2.3.4".
3128         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
3129         Check, that the directory has been removed indeed.
3131         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Adapt test.
3132         (tramp--test-emacs25-p): New defun.
3133         (tramp-test34-vc-registered): Use it.
3135 2018-06-27  Martin Rudalics  <rudalics@gmx.at>
3137         * src/xdisp.c (Vmouse_autoselect_window): Clarify doc-string (Bug#31975)
3139 2018-06-26  Noam Postavsky  <npostavs@gmail.com>
3141         Detect a non-list package archive content properly (Bug#22311)
3143         * lisp/emacs-lisp/package.el (package--download-one-archive): Use
3144         `read' instead of `read-from-string'; the latter always returns a
3145         cons, so the `listp' check on its return value doesn't make sense.  It
3146         was changed from `read' to `read-from-string' in 2015-04-01 "*
3147         emacs-lisp/package.el: Implement asynchronous refreshing", but that
3148         change was not needed because `read' works fine on strings as well as
3149         buffers.
3151 2018-06-25  Christophe Junke  <junke.christophe@gmail.com>  (tiny change)
3153         Add ido-fallback special variable (Bug#31707)
3155         Before ido.el switch to lexical-binding, it was possible for other
3156         packages to modify the 'fallback' variables declared inside
3157         'ido-file-internal' and 'ido-buffer-internal'.
3158         * lisp/ido.el (ido-fallback): New variable.
3159         (ido-buffer-internal, ido-file-internal): Reset ido-fallback to nil
3160         before prompting user.  Use ido-fallback when ido-exit is 'fallback'.
3161         (ido-fallback-command): Add optional FALLBACK-COMMAND argument.
3163 2018-06-25  Karl Fogel  <kfogel@red-bean.com>
3165         Tighten a cross-reference in documentation
3167         * doc/lispref/internals.texi (Writing Emacs Primitives): Switch to
3168           a simple parenthetical cross-reference, following up to my
3169           commit 9a53b6d426 of 2018-06-24.
3171         See discussion:
3173           https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00826.html
3174           From: Eli Zaretskii
3175           Subject: Re: [Emacs-diffs] \
3176                    emacs-26 9a53b6d: Say how to override a primitive interactive spec
3177           To: Karl Fogel
3178           CC: Stefan Monnier, Emacs Devel
3179           Date: Mon, 25 Jun 2018 17:41:53 +0300
3180           Message-Id: <83r2kvrkr2.fsf@gnu.org>
3182 2018-06-25  Michael Albinus  <michael.albinus@gmx.de>
3184         Fix last change in tramp-sh.el
3186         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly):
3187         Use "-R" rather than "-r" for recursive copy of directories.
3189 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
3191         Revert previous patch; comment was OK after all.
3193 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
3195         Fix lead comment for count_trailing_zero_bits
3197         * src/data.c (count_trailing_zero_bits): Fix comment to match code.
3199 2018-06-24  Noam Postavsky  <npostavs@gmail.com>
3201         * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix docstring quotes.
3203 2018-06-24  Simen Heggestøyl  <simenheg@gmail.com>
3205         Make a minor update to the CSS mode docstring
3207         * lisp/textmodes/css-mode.el (css-mode): Mention 'fill-paragraph'.
3209 2018-06-24  Karl Fogel  <kfogel@red-bean.com>
3211         Say how to override a primitive interactive spec
3213         * doc/lispref/internals.texi (Writing Emacs Primitives): Mention that
3214           the `interactive-form' property can be used to override a primitive
3215           interactive specification, and refer to the detailed documentation
3216           for setting that property.
3218         From this thread on Emacs Devel:
3220           https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00923.html
3221           From: Eli Zaretskii
3222           To: Karl Fogel
3223           CC: Juri Linkov, Emacs Devel
3224           Subject: Re: [Emacs-diffs] \
3225                    master b88e7c8: Make transpose-regions interactive (Bug#30343)
3226           Date: Thu, 29 Mar 2018 14:38:15 +0300
3227           Message-Id: <834lkzdsd4.fsf@gnu.org>
3229 2018-06-24  Michael Albinus  <michael.albinus@gmx.de>
3231         Fix Bug#31941
3233         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): In case of
3234         FILENAME being a directory, check whether `copy-directory' could
3235         be avoided.  Suggested by Stephen Nutt <stnutt@gmail.com>.  (Bug#31941)
3236         (tramp-do-copy-or-rename-file-directly): Call "cp" with "-r".
3238 2018-06-23  Leo Liu  <sdl.web@gmail.com>
3240         Fix previous change in minibuffer-default-add-dired-shell-commands
3242         The mailcap minibuffer completion used dynamic binding.  Locally set
3243         a dynamic variable.
3244         * lisp/dired-aux.el (minibuffer-default-add-dired-shell-commands):
3245         Store list of files in 'minibuffer-completion-table'.  (Bug#31794)
3247 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
3249         * src/editfns.c (Fformat): Make %x easier to spot in doc string.  (Bug#31945)
3251 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
3253         Improve responsiveness while in 'replace-buffer-contents'
3255         * src/editfns.c (buffer_chars_equal): Avoid calling
3256         buf_charpos_to_bytepos when the buffer is plain-ASCII.
3257         Suggested by Milan Stanojević <mstanojevic@janestreet.com>.
3258         Call maybe_quit to improve responsiveness.
3259         (Freplace_buffer_contents): Call maybe_quit.  Warn in the doc
3260         string that the function could be slow.  (Bug#31888)
3262 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
3264         Improve documentation of 'server-start' and friends
3266         * lisp/server.el (server-start, server-running-p): Document how to
3267         reliably check that the current Emacs process started the server.
3268         (Bug#31859)
3270 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
3272         Clarify wording about functions' argument lists
3274         * doc/lispref/functions.texi (Argument List): Clarify the
3275         wording.  (Bug#31872)
3277 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
3279         * lisp/doc-view.el: Fix typos in the commentary.  (Bug#31937)
3281 2018-06-22  Eli Zaretskii  <eliz@gnu.org>
3283         Fix a typo in emacs-lisp-intro.texi
3285         * doc/lispintro/emacs-lisp-intro.texi (kill-ring-yank-pointer):
3286         Add a missing quote.  Reported by Jean-Christophe Helary
3287         <brandelune@gmail.com> in emacs-devel.
3289 2018-06-22  Paul Eggert  <eggert@cs.ucla.edu>
3291         Fix doc typo: missing double-quote
3293 2018-06-22  Eli Zaretskii  <eliz@gnu.org>
3295         Avoid segfaults in replace-buffer-contents with large buffers
3297         * src/editfns.c (Freplace_buffer_contents): Don't release
3298         malloc'ed memory as long as we are using it.  (Bug#31888)
3300 2018-06-22  Robert Pluim  <rpluim@gmail.com>
3302         Adjust for scaling for mode-line popup menus (Bug#31880)
3304         * src/xmenu.c (menu_position_func) [HAVE_GTK3]: Take scaling
3305         into account when calculating screen size.
3307 2018-06-21  Simen Heggestøyl  <simenheg@gmail.com>
3309         Change name of `seqp' argument (Bug#26411)
3311         * lisp/emacs-lisp/seq.el (seqp): Change argument name.
3313         * doc/lispref/sequences.texi: Update the documentation for seqp.
3315 2018-06-20  Noam Postavsky  <npostavs@gmail.com>
3317         Change index of ";" to better reflect it's usage (Bug#31623)
3319         * doc/lispref/objects.texi (Comments): "; for commenting" fits better
3320         with the following text about how a semicolon begins a comment.  Also
3321         mention that only unescaped semicolons start a comment.
3323 2018-06-20  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
3325         Fix bug of 'mouse-drag-and-drop-region' to detect edges of region (Bug#31905)
3327         * lisp/mouse.el (mouse-drag-and-drop-region): Detect both the
3328         beginning and the end of character of region during dragging
3329         text.
3331 2018-06-19  Noam Postavsky  <npostavs@gmail.com>
3333         Fix #'fun handling inside `labels' (Bug#31792)
3335         * lisp/emacs-lisp/cl.el (labels): Apply the equivalent of the
3336         cl-labels change from 2015-01-16 "* lisp/emacs-lisp/cl-macs.el: Fix
3337         last change".
3338         * test/lisp/emacs-lisp/cl-tests.el (labels-function-quoting): New
3339         test.
3340         * lisp/emacs-lisp/cl-macs.el (cl-flet, cl-labels): Improve docstring,
3341         link to relevant manual page.
3342         * doc/misc/cl.texi (Function Bindings): Don't imply that function
3343         cells of symbols are modified by cl-flet.  Don't claim that cl-flet or
3344         cl-labels affect references of the form (quote FUNC).
3346 2018-06-18  Eli Zaretskii  <eliz@gnu.org>
3348         Fix vertical-motion with 'visual' line-number display
3350         * src/indent.c (Fvertical_motion): Don't exempt 'visual' sty;e of
3351         line-number display from X coordinate adjustments.  (Bug#31875)
3353 2018-06-17  Alan Third  <alan@idiocy.org>
3355         Handle NSAttributedString inputs (bug#29837)
3358         * src/nsterm.m (EmacsView::insertText): Handle NSAttributedString.
3360 2018-06-17  Philipp Stephani  <phst@google.com>
3362         Allow inserting non-BMP characters
3364         * src/coding.h (UTF_16_HIGH_SURROGATE_P, UTF_16_LOW_SURROGATE_P): Move
3365         from coding.c and document.
3366         (surrogates_to_codepoint): New function.
3368         * src/nsterm.m (insertText:): Properly handle surrogate pairs.
3370         (cherry picked from commit 703ac3ea1c1ce381f385469a0e88bc29d3fe83c2)
3372 2018-06-17  Aaron Jensen  <aaronjensen@gmail.com>
3374         Prevent errant scroll on mouse click (Bug#31546)
3376         * src/nsterm.m (ns_mouse_position): Use correct frame when determining
3377           mouse position.
3378         * lisp/mouse.el (mouse-drag-track): Only account for mode-line height
3379           if `mode-line-format' is non-nil.
3381 2018-06-17  Eli Zaretskii  <eliz@gnu.org>
3383         Minor documentation fix
3385         * doc/lispref/windows.texi (Window Start and End): Improve
3386         documentation and indexing of window-end.
3388 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
3390         * lisp/window.el (window-toggle-side-windows): Doc fix.  (Bug#31858)
3392 2018-06-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
3394         Fix byte compilation of (eq foo 'default)
3396         Backport from master.
3397         Do not use the symbol ‘default’ as a special marker.
3398         Instead, use a value that cannot appear in the program,
3399         improving on a patch proposed by Robert Cochran (Bug#31718#14).
3400         * lisp/emacs-lisp/bytecomp.el (byte-compile--default-val):
3401         New constant.
3402         (byte-compile-cond-jump-table-info)
3403         (byte-compile-cond-jump-table): Use it instead of 'default.
3404         * test/lisp/emacs-lisp/bytecomp-tests.el:
3405         (byte-opt-testsuite-arith-data): Add a test for the bug.
3407 2018-06-16  Michael Albinus  <michael.albinus@gmx.de>
3409         Fix Bug#31846.  Do not merge with master
3411         * lisp/net/secrets.el (secrets-search-items)
3412         (secrets-create-item): Fix format of :dict-entry values.  (Bug#31846)
3414 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
3416         Fix documentation of ':propertize' in mode-line-format
3418         * doc/lispref/modes.texi (Mode Line Data): Make the description of
3419         ':propertize' more accurate.  (Bug#26291)
3421 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
3423         Reject invalid 5-byte sequences when detecting UTF-8 encoding
3425         * src/coding.c (detect_coding_utf_8): Reject multibyte sequences
3426         whose leading byte is greater than MAX_MULTIBYTE_LEADING_CODE.
3427         (Bug#31829)
3428         * src/character.h (MAX_MULTIBYTE_LEADING_CODE): Add commentary
3429         about the connection between the value of this macro and MAX_CHAR.
3431 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
3433         Fix 'replace-buffer-contents' in multibyte buffers
3435         * src/editfns.c (buffer_chars_equal): Pass a byte position to
3436         BUF_FETCH_CHAR_AS_MULTIBYTE, not a character position.
3437         (Bug#31837)
3439         * test/src/editfns-tests.el (replace-buffer-contents-bug31837):
3440         New test.
3442 2018-06-15  Robert Pluim  <rpluim@gmail.com>
3444         Update etc/NEWS for mail-source-movemail-program change
3446         * etc/NEWS: Describe change in how we search for
3447         mail-source-movemail-program.
3449 2018-06-15  Robert Pluim  <rpluim@gmail.com>
3451         Improve movemail default
3453         * lisp/gnus/mail-source.el (mail-source-movemail-program):
3454         Change default to "movemail".
3455         (mail-source-movemail): Pass just mail-source-movemail-program to
3456         call-process instead of fully specifying it relative to
3457         exec-directory.  Ensures that we will find Mailutils movemail if
3458         it is installed.  (Bug#31737)
3460 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
3462         Delete description of deleted Customize functions
3464         * doc/lispref/customize.texi (Variable Definitions): Remove the
3465         description of 'custom-initialize-safe-set' and
3466         'custom-initialize-safe-default', which were deleted in Emacs
3467         23.2, and replace with the description of
3468         'custom-initialize-delay'.
3470 2018-06-14  Noam Postavsky  <npostavs@gmail.com>
3472         Keep vc-print-log from putting point at buffer end (Bug#31764)
3474         * lisp/vc/vc.el (vc-print-log-internal): Use `save-excursion' around
3475         `vc-print-log-setup-buttons'.
3477 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
3479         Don’t set EMACS=t if Bash is 4.4 or newer
3481         (Backport from master.)
3482         (Thanks to Stefan Monnier for improvements to this patch.)
3483         * lisp/term.el (term--bash-needs-EMACS-status): New var.
3484         (term--bash-needs-EMACSp): New function.
3485         (term-exec-1): Use it instead of always setting EMACS.
3487 2018-06-14  Eli Zaretskii  <eliz@gnu.org>
3489         Improve commentary in info.el
3491         * lisp/info.el: Explain in commentary why some commands start with
3492         "info-" and others with "Info-".  See also
3493         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00482.html.
3495 2018-06-13  Michael Albinus  <michael.albinus@gmx.de>
3497         Fix wording in tramp.texi
3499         * doc/misc/tramp.texi (Frequently Asked Questions):
3500         Fix wording for abbreviations.
3502 2018-06-13  Michael Albinus  <michael.albinus@gmx.de>
3504         * doc/misc/tramp.texi (Remote shell setup): Fix typo.
3506 2018-06-12  Sam Steingold  <sds@gnu.org>
3508         Finish the Bug#11728 work: hg & git
3510         * lisp/vc/vc-git.el (vc-git--pushpull): Make `extra-args' a list.
3511         Do not set `compilation-error-regexp-alist', this is done in
3512         `vc-compilation-mode'.
3513         (vc-git-error-regexp-alist): Tweak the regexp.
3514         * lisp/vc/vc-hg.el (vc-hg-error-regexp-alist): Make non-trivial.
3515         (vc-hg--pushpull): Accept `post-processing' argument.
3516         Call them after the `command'.
3517         (vc-hg-pull): Pass the `post-processing' commands that show which
3518         are to be modified by the `update', and then run `update'.
3520 2018-06-12  Sam Steingold  <sds@gnu.org>
3522         Fix Bug#11728: show files updated by git
3524         * lisp/vc/vc-git.el (vc-git--pushpull): Accept extra-args and set
3525         `compilation-error-regexp-alist' to `vc-git-error-regexp-alist'.
3526         (vc-git-pull): Pass "--stat" as `extra-args' to `vc-git--pushpull'.
3527         (vc-git-push): Pass "" as `extra-args' to `vc-git--pushpull'.
3529 2018-06-12  Noam Postavsky  <npostavs@gmail.com>
3531         Make 'tags' targets respect --with-silent-rules (Bug#31744)
3533         * lwlib/Makefile.in (TAGS):
3534         * lisp/Makefile.in (TAGS):
3535         * src/Makefile.in (TAGS): Use AM_V_GEN and AM_V_at.
3536         * src/Makefile.in: Note that TAGS are generated in build dir.
3538 2018-06-11  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3539             Noam Postavsky  <npostavs@gmail.com>
3541         soap-client: Add byte-code compatibility function (Bug#31742)
3543         * lisp/net/soap-client.el: Bump version to 3.1.4.
3544         (soap-type-of): New function.
3545         (soap-resolve-references, soap-decode-type)
3546         (soap-encode-attributes, soap-encode-value): Replace aref
3547         calls with calls to soap-type-of.
3549         * lisp/net/soap-inspect.el (soap-sample-value, soap-inspect):
3550         Replace aref calls with calls to soap-type-of.
3553         Backport: (cherry picked from commit
3554         1feb2e221349f26ec26bc684e0cce2acecbed3ca)
3556 2018-06-11  Eli Zaretskii  <eliz@gnu.org>
3558         * doc/lispref/files.texi (Unique File Names): Fix a typo.  (Bug#31784)
3560 2018-06-10  Noam Postavsky  <npostavs@gmail.com>
3562         Fix term.el cursor movement at bottom margin (Bug#31690)
3564         * lisp/term.el (term-handle-ansi-escape) <\E[B cud>: Allow moving the
3565         cursor to the bottom margin line, rather than stopping one line
3566         before.
3568 2018-06-10  Reuben Thomas  <rrt@sc3d.org>
3570         Call enchant-lsmod correctly when Enchant is installed with a suffix
3572         * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Cope with a
3573         version suffix on the binary name, so enchant-2 is converted to
3574         enchant-lsmod-2, not enchant-2-lsmod.  (Bug#31761)
3576         (cherry picked from commit a402d9aacbecf4bf0b9afde592a3b90c71f96832)
3578 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
3580         Enlarge DUMPED_HEAP_SIZE for 64-bit Windows builds
3582         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 23MB.  Reported by
3583         Andy Moreton <andrewjmoreton@gmail.com>.
3585 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
3587         Update Unicode data files to version 11.0.0 of Unicode
3589         * admin/unidata/UnicodeData.txt:
3590         * admin/unidata/SpecialCasing.txt:
3591         * admin/unidata/NormalizationTest.txt:
3592         * admin/unidata/copyright.html:
3593         * admin/unidata/BidiMirroring.txt:
3594         * admin/unidata/BidiBrackets.txt: Import from Unicode 11.0.
3595         * admin/notes/unicode: Update the URL for OTF script tags.
3597         * lisp/international/mule-cmds.el (ucs-names): Update unused ranges.
3598         * lisp/international/fontset.el (script-representative-chars): Add
3599         hanifi-rohingya, old-sogdian, sogdian, dogra, gunjala-gondi,
3600         makasar, and medefaidrin.
3601         (otf-script-alist): Add old-hungarian.
3602         * lisp/international/characters.el (tbl): Add syntax entries for
3603         Supplemental Mathematical Operators, Miscellaneous Symbols and
3604         Arrows, and Supplemental Punctuation.
3605         Update the list of wide characters.
3607         * test/lisp/international/ucs-normalize-tests.el
3608         (ucs-normalize-tests--failing-lines-part2): Update to match
3609         admin/unidata/NormalizationTest.txt.
3611         * doc/lispref/nonascii.texi (Character Properties): Update the
3612         reference to the Unicode Standard.
3613         * doc/misc/efaq.texi (New in Emacs 26):
3614         * etc/NEWS: Mention compatibility with Unicode 11.0.
3616 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
3618         * etc/NEWS: Belatedly call out vc-hg changes in v26.1.  (Bug#31759)
3620 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
3622         Clarify the documentation of 'dired-recursive-deletes'
3624         * doc/emacs/dired.texi (Dired Deletion): Clarify text regarding
3625         recursive deletion of non-empty directories.  (Bug#31529)
3627 2018-06-08  Eli Zaretskii  <eliz@gnu.org>
3629         Clarify doc string of 'update-glyphless-char-display'
3631         * lisp/international/characters.el
3632         (update-glyphless-char-display): Doc fix.  (Bug#31730)
3634 2018-06-08  Eli Zaretskii  <eliz@gnu.org>
3636         Clarify subtle issues with 'eq' in byte-compiled code
3638         * doc/lispref/objects.texi (Equality Predicates): Explain why
3639         byte-compiled code might compare literal objects with identical
3640         contents as 'eq'.  (Bug#31688)
3642 2018-06-07  Gemini Lasswell  <gazally@runbox.com>
3644         Make cl-print respect print-quoted (bug#31649)
3646         * lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Observe
3647         print-quoted when printing quote and its relatives.  Add printing of
3648         'function' as #'.
3650 2018-06-07  Martin Rudalics  <rudalics@gmx.at>
3652         Fix unexpected jumps of window-point in 'set-window-configuration' (Bug#31695)
3654         * src/window.c (Fset_window_configuration): Prevent that the
3655         fix for Bug#12208 affects restoration of window points when
3656         using separate minibuffer frames (Bug#31695).
3658 2018-06-06  Nicolas Petton  <nicolas@petton.fr>
3660         * etc/emacs.appdata.xml: Update Emacs screenshot.
3662 2018-06-06  Eli Zaretskii  <eliz@gnu.org>
3664         Fix cursor movement by 'next-logical-line' after 'next-line'
3666         * src/indent.c (Fvertical_motion): Adjust TO_X when line-numbers
3667         are being displayed.  Remove unneeded "correction" of TO_X at the
3668         goal line.
3670         * lisp/simple.el (last--line-number-width): Remove unneeded
3671         variable.
3672         (line-move-visual): Account for line-number display width by
3673         adjusting the pixel X coordinate that gets converted into
3674         canonical columns passed to vertical-motion, instead of adjusting
3675         temporary-goal-column (which then affects next commands, including
3676         next-logical-line).  (Bug#31723)
3678 2018-06-05  Allen Li  <darkfeline@felesatra.moe>
3680         Fix prompt in bookmark.el (Bug#24726)
3682         * lisp/bookmark.el (bookmark-set-internal): Conform to the standard
3683         default prompt format (per `minibuffer-electric-default-mode') which
3684         does not use a colon.
3686 2018-06-05  Basil L. Contovounesios  <contovob@tcd.ie>
3688         Improve documentation of 'empty' whitespace-style
3690         * doc/emacs/display.texi (Useless Whitespace): Clarify that the
3691         'empty' whitespace-style option highlights empty lines only at
3692         BOB/EOB, as per the docstring of whitespace-style. (bug#31713)
3694 2018-06-05  Paul Eggert  <eggert@cs.ucla.edu>
3696         Port FC_COLOR change to older fontconfig
3698         Problem reported by John ff in:
3699         https://lists.gnu.org/r/emacs-devel/2018-04/msg00058.html
3700         * src/ftfont.c (ftfont_spec_pattern) [!FC_COLOR]:
3701         Don’t use FC_COLOR on older fontconfigs that don’t have it.
3703 2018-06-05  Robert Pluim  <rpluim@gmail.com>
3705         Ignore color fonts when using Xft
3707         * src/font.c (syms_of_font): New configuration variable
3708         xft-ignore-color-fonts, default t.
3709         * src/ftfont.c (ftfont_spec_pattern): Tell fontconfig to ignore
3710         color fonts if xft-ignore-color-fonts is t.  (Bug#30874, Bug#30045)
3711         * etc/NEWS: Document xft-ignore-color-fonts.
3713 2018-06-04  Noam Postavsky  <npostavs@gmail.com>
3715         Fix comint-get-old-input-default for output field case (Bug#25028)
3717         * lisp/comint.el (comint-get-old-input-default): Don't return whole
3718         field when point was on an output field.
3720 2018-06-04  Eli Zaretskii  <eliz@gnu.org>
3722         Prevent infloop in 'delete-trailing-whitespace'
3724         * lisp/simple.el (delete-trailing-whitespace): Avoid inflooping
3725         when some region of trailing whitespace is unmodifiable.
3726         (Bug#31557)
3728 2018-06-04  Gemini Lasswell  <gazally@runbox.com>
3730         Make cl-print respect print-level and print-length (bug#31559)
3732         * lisp/emacs-lisp/cl-print.el (cl-print--depth): New variable.
3733         (cl-print-object) <cons>: Print ellipsis if printing depth greater
3734         than 'print-level' or length of list greater than 'print-length'.
3735         (cl-print-object) <vector>: Truncate printing with ellipsis if
3736         vector is longer than 'print-length'.
3737         (cl-print-object) <cl-structure-object>: Truncate printing with
3738         ellipsis if structure has more slots than 'print-length'.
3739         (cl-print-object) <:around>: Bind 'cl-print--depth'.
3740         * test/lisp/emacs-lisp/cl-print-tests.el
3741         (cl-print-tests-3, cl-print-tests-4): New tests.
3743         (cherry picked from commit 0f48d18fd2a30f29cc3592a835d2a2254c9b0afb)
3745 2018-06-03  Phil Sainty  <psainty@orcon.net.nz>
3747         Fix remote-host directory tracking for shells in `term' buffers
3749         * lisp/term.el (term-handle-ansi-terminal-messages): Use an explicit
3750         tramp method when constructing the tramp path for a non-local host,
3751         as this is now mandatory.  "-" is a pseudo-method for the user's
3752         `tramp-default-method'.  (Bug#31355)
3754         Specify the remote username explicitly in all cases, as
3755         `tramp-default-user' and `tramp-default-user-alist' could cause the
3756         previous logic to fail.
3758         Minor related improvements to the commentary.
3760 2018-06-03  Eli Zaretskii  <eliz@gnu.org>
3762         Update doc string of 'rx'
3764         * lisp/emacs-lisp/rx.el (rx): Update the description of some
3765         character classes.
3767 2018-06-03  Stefan Monnier  <monnier@iro.umontreal.ca>
3769         Fix bug#30846, along with misc cleanups found along the way
3771         * test/src/data-tests.el (data-tests-kill-all-local-variables): New test.
3773         * src/buffer.c (swap_out_buffer_local_variables): Remove.
3774         Fuse the body of its loop into that of reset_buffer_local_variables.
3775         (Fkill_buffer, Fkill_all_local_variables): Don't call it any more.
3776         (reset_buffer_local_variables): Make sure the buffer's local binding
3777         is swapped out before removing it from the alist (bug#30846).
3778         Call watchers before actually killing the var.
3780         * src/data.c (Fmake_local_variable): Simplify.
3781         Use swap_in_global_binding to swap out any local binding, instead of
3782         a mix of find_symbol_value followed by messing with where&found.
3783         Don't call swap_in_symval_forwarding since the currently swapped
3784         binding is never one we've modified.
3785         (Fkill_local_variable): Use swap_in_global_binding rather than messing
3786         with where&found to try and trick find_symbol_value into doing the same.
3788         * src/alloc.c (mark_localized_symbol): 'where' can't be a frame any more.
3790         (cherry picked from commit 3ddff080341580eb6fc18d907181e9cc2301f62d)
3792 2018-06-03  Jay Kamat  <jaygkamat@gmail.com>
3794         esh-opt.el: Fix improper parsing of first argument (Bug#28323)
3796         Examples of broken behavior:
3798             sudo -u root whoami
3799             Outputs: -u
3800             ls -I '*.txt' /dev/null
3801             Errors with: *.txt: No such file or directory
3803         * lisp/eshell/esh-opt.el (eshell--process-args): Refactor usage of
3804         args to eshell--args, as we rely on modifications from
3805         eshell--process-option and vice versa.  These modifications were not
3806         being propogated in the (if (= ai 0)) case, since popping the first
3807         element of a list doesn't destructively modify the underlying list
3808         object.
3810         (cherry picked from commit 92a8230e49a65be48442ee95cf50c90514e48f99)
3812 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
3814         * lisp/epa.el (epa-decrypt-file): Apply epa-pinentry-mode (Bug#30363).
3816         (cherry picked from commit 217202c084232f36d4fa0fead0f3aca21396d074)
3818 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
3820         Fix cl-print for circular sublists (Bug#31146)
3822         * lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Push each
3823         element of list being printed onto cl-print--currently-printing.
3824         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle-2): New
3825         test.
3827         (cherry picked from commit b8aa7ecf54c9b164a59f1b0e9f9fe90531dadd20)
3829 2018-06-03  Lars Ingebrigtsen  <larsi@gnus.org>
3831         Revert "Make mail-extract-address-components return the user name more"
3833         This reverts commit 8b50ae8b2284b5652c2843a9d0d076f4f657be28.
3835         According to tests in bug#27656 by OGAWA Hirofumi, this patch
3836         led to wrong results when binding
3838         (dolist (addr '("Rasmus <rasmus@gmx.us>" "Rasmus <mbox@gmx.us>"))
3839           (dolist (ignore-single '(t nil))
3840             (dolist (ignore-same '(t nil))
3841               (let ((mail-extr-ignore-single-names ignore-single)
3842                     (mail-extr-ignore-realname-equals-mailbox-name ignore-same))
3843                 (message "%s" (mail-extract-address-components addr))))))
3845         in combination.
3847         (cherry picked from commit a3a9d5434d56f8736cc47e379a1d011d4c779b7c)
3849 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
3851         Centralize Bug#30931 fix
3853         * src/marker.c (detach_marker): New function.
3854         * src/editfns.c (save_restriction_restore):
3855         * src/insdel.c (signal_before_change): Use it.
3857         (cherry picked from commit 6f66a43d7ad6cada2b7dbb6d07efe36be1dc7ecb)
3859 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
3861         Fix another case of freed markers in the undo-list (Bug#30931)
3863         * src/alloc.c (free_marker): Remove.
3864         * src/editfns.c (save_restriction_restore):
3865         * src/insdel.c (signal_before_change): Detach the markers from the
3866         buffer when we're done with them instead of calling free_marker on
3867         them.
3868         * test/src/editfns-tests.el (delete-region-undo-markers-1)
3869         (delete-region-undo-markers-2): New tests.
3871         (cherry picked from commit 96b8747d5c5d747af13fd84d8fe0308ef2a0ea7a)
3873 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
3875         Fix CHECK_ALLOCATED_AND_LIVE abort during GC
3877         * src/editfns.c (save_restriction_restore):
3878         Wait for the GC to free the temporary markers (Bug#30931).
3880         (cherry picked from commit 670f2ffae718046c0fb37313965a51c040ed096f)
3882 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
3884         Don't wait for visible frames to become visible
3886         For discussion, see thread starting at
3887         https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00807.html.
3888         * src/xterm.c (x_make_frame_visible): Check FRAME_VISIBLE_P before
3889         calling x_wait_for_event.
3891         (cherry picked from commits 2a192e21cf3b04b7f830b4971c1508c611e13a3c
3892         and 00c1f771f2a51ffa675ec5a07ea330f2605cd302)
3894 2018-06-03  Tino Calancha  <tino.calancha@gmail.com>
3896         query-replace undo: Handle when user edits the replacement string
3898         * lisp/replace.el (perform-replace): Update the replacement string
3899         after the user edit it (Fix Bug#31538).
3901         * test/lisp/replace-tests.el (query-replace-undo-bug31538): New test.
3903         Backport: (cherry picked from commits
3904         ea133e04f49afa7928e49a3ac4a85b47f6f13f01
3905         and
3906         7dcfdf5b14325ae7996f272f14c72810d7c84944)
3908 2018-06-03  Tino Calancha  <tino.calancha@gmail.com>
3910         Backport: Fix corner case in query-replace-regexp undo
3912         This commit fixes Bug#31492.
3913         * lisp/replace.el (replace-match-maybe-edit): Preserve match data.
3915         * test/lisp/replace-tests.el (query-replace-undo-bug31492): Add test.
3917         (cherry picked from commit bab73230d1be1fe394b7269c1365ef6fb1a5d9b3)
3919 2018-06-03  Tino Calancha  <tino.calancha@gmail.com>
3921         Backport: Preserve case in query-replace undo
3923         If the user query and replaces 'foo' with 'BAR', then
3924         undo must comeback to 'foo', not to 'FOO' (Bug#31073).
3925         * lisp/replace.el (perform-replace): Bind nocasify to non-nil
3926         value during undo/undo-all actions.
3927         * test/lisp/replace-tests.el (query-replace-undo-bug31073): Add test.
3929         (cherry picked from commit 32dc0cb1b5ae895d237c7118ccaeb084715934fd)
3931 2018-06-02  Alan Third  <alan@idiocy.org>
3933         Set accessibility subroles for child frame (bug#31324)
3936         * src/nsterm.m (x_set_parent_frame): Set subrole depending on whether
3937         frame is a child or not.
3939 2018-06-02  Alan Third  <alan@idiocy.org>
3941         Fix redefinition of child frames on NS
3943         * src/nsterm.m (x_set_parent_frame): If the NSWindow has an existing
3944         parent frame, remove it.
3946 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
3948         Improve ELisp documentation of 'clone-indirect-buffer'
3950         * doc/lispref/buffers.texi (Indirect Buffers): Be more explicit
3951         about the value of DISPLAY-FLAG in interactive usage.  (Bug#31648)
3953 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
3955         Improve documentation of 'inhibit-message'
3957         * src/xdisp.c (syms_of_xdisp) <inhibit-message>: Warn against
3958         setting it non-nil globally.  (Bug#31627)
3960 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
3962         Improve documentation of comment styles
3964         * doc/lispref/syntax.texi (Syntax Flags): Define the "a" style.
3965         (Bug#31624)
3967 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
3969         Documentation improvements in newcomment.el
3971         * lisp/newcomment.el (uncomment-region)
3972         (uncomment-region-default): Doc fixes.  (Bug#31615)
3974 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
3976         Imp[rove documentation of 'with-silent-modifications'
3978         * doc/lispref/buffers.texi (Buffer Modification): Document
3979         'with-silent-modifications'.  (Bug#31613)
3980         * doc/lispref/text.texi (Changing Properties): Add a
3981         cross-reference to "Buffer Modification".  Improve wording.
3983 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
3985         Fix decoding of directories when "~" includes non-ASCII chars
3987         * src/fileio.c (Fexpand_file_name): Don't build multibyte strings
3988         from unibyte non-ASCII strings when NAME and DEFAULT_DIRECTORY
3989         have different multibyteness, as this adds bytes to the byte
3990         sequence, and in some situations, e.g., when the home directory
3991         includes non-ASCII characters, can fail file APIs.  (Bug#30755)
3993         * lisp/startup.el (normal-top-level): Make sure default-directory
3994         is set to a multibyte string when decoded on MS-Windows.
3996         (cherry picked from commit 3aab8626ba5080bb04d0fdae52d99c850a842a52)
3998 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4000         Don't remove highlight of misspelled word on pdict save
4002         * lisp/textmodes/ispell.el (ispell-pdict-save): Don't restart
4003         flyspell-mode, as bug#11963, which this was supposed to fix, is
4004         fixed better by ispell-command-loop, when the user types 'i' or
4005         'a'.  Restarting Flyspell mode when the personal dictionary is
4006         saved caused bug#31372 as side effect.
4007         (ispell-command-loop): Test 'flyspell-mode', not whether
4008         flyspell-unhighlight-at is fboundp, to determine whether Flyspell
4009         mode is turned on in the current buffer.
4010         (flyspell-unhighlight-at): Add declare-function form for it.
4012         (cherry picked from commit 91e582a31ada28fab5ae55bdbf959a9d30796587)
4014 2018-06-02  Ari Roponen  <ari.roponen@gmail.com>
4016         Fix some problems in the Cairo build
4018         * src/xterm.c (x_begin_cr_clip): Create image surface.
4019         (x_update_end) [USE_CAIRO]: Remove GTK3-specific code.
4020         (x_scroll_run) [USE_CAIRO]: Implement scrolling.
4021         * src/image.c (lookup_rgb_color) [USE_CAIRO]: Support Cairo.
4022         (jpeg_load_body) [USE_CAIRO]: Support Cairo.  Use USE_CAIRO
4023         instead of CAIRO for #ifdef's.
4024         (imagemagick_load_image) [USE_CAIRO]: Support Cairo.
4025         (Bug#31288)
4027         (cherry picked from commit 2d0eff42b8f1122e00f948759ed01a3be1a8c3fc)
4029 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4031         Avoid infloops in font_open_entity
4033         * src/font.c (font_open_entity): Fail after 15 iterations through
4034         the loop that looks for a font whose average_width and height are
4035         both positive.  This avoids infinite loops for fonts that, e.g.,
4036         report average_width of zero for any possible size we try.
4037         (Bug#31316)
4039         (cherry picked from commit e2879c1f837059335af89022b2a9ac9bc861e96d)
4041 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4043         Fix encoding of characters when using GB18030 fonts
4045         * lisp/international/fontset.el (font-encoding-alist): Fix the
4046         GB18030 entry to encode characters correctly when passing them to
4047         the xfont back-end.  (Bug#31315)  See also
4048         http://lists.gnu.org/archive/html/emacs-devel/2008-01/msg00754.html.
4050         (cherry picked from commit bbe2cadc544e63e9378350621887f8fb9bbcc236)
4052 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4054         Fix C-p and C-n when wrap-prefix is too wide
4056         * src/xdisp.c (move_it_in_display_line_to): Avoid looping in
4057         previous/next-line when wrap-prefix is set to a too-wide
4058         stretch of whitespace.  (Bug#30432)
4060         (cherry picked from commit 842b3d7412eaed6b2c9f90c3361abb4932ec0b1d)
4062 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4064         Avoid redisplay problems with too wide wrap-prefix
4066         * src/xdisp.c (display_line): Avoid looping in redisplay when
4067         wrap-prefix is set to a too-wide stretch of whitespace.
4068         (Bug#30432)
4070         (cherry picked from commit 2a1fe08307402d6217d073f8ab7737750d253dd4)
4072 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4074         Fix 'posn-at-point' when line numbers are displayed
4076         * src/xdisp.c (pos_visible_p): For the leftmost glyph, adjust the X
4077         coordinate due to line-number display.  (Bug#30834)
4079         (cherry picked from commit 4a20174d7949028f66b18a92a75d6b74194242a8)
4081 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4083         Another followup to fixing 'window-text-pixel-width'
4085         * src/xdisp.c (Fwindow_text_pixel_size): Adjust the return value
4086         when we stop one buffer position short of TO.  (Bug#30746)
4088         (cherry picked from commit 33cba5405c724566673cf023513bfb1faa963bea)
4090 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4092         Fix mouse-set-point when line numbers are displayed
4094         * src/xdisp.c (move_it_to): Initialize the line_number_produced_p
4095         flag before iterating on a new line.  (Bug#30818)
4097         (cherry picked from commit 5c585b8b994aad4e6844f8eed80bdfbb396e91bf)
4099 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4101         * src/xdisp.c (Fwindow_text_pixel_size): Fix last change.
4103         (cherry picked from commit 06911714ef66ea81380b1eda75a9f7cfbc9e0b65)
4105 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4107         Fix 'window-text-pixel-size' when display properties are around
4109         * src/xdisp.c (Fwindow_text_pixel_size): Correct the result when
4110         there's a display property at the  TO position, and the call to
4111         move_it_to overshoots.  (Bug#30746)
4113         (cherry picked from commit 50e2c0fb5180a757d8d533518f68837ffe5909be)
4115 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4117         Fix display of TABs in hscrolled windows with line numbers
4119         * src/dispextern.h (struct it): New members tab_offset and
4120         line_number_produced_p.
4121         * src/xdisp.c (display_line): Don't set row->x to a negative value
4122         if line numbers are being displayed.  (Bug#30582)
4123         Reset the line_number_produced_p flag before laying out the glyph
4124         row.
4125         (x_produce_glyphs): Use the line_number_produced_p flag to decide
4126         whether to offset the X coordinate due to line-number display.
4127         Use the tab_offset member to restore the original TAB width for
4128         alignment purposes.
4129         (move_it_in_display_line_to): Don't produce line numbers when moving
4130         in hscrolled window to the left of first_visible_x.
4131         (maybe_produce_line_number): Set the line_number_produced_p flag.
4132         (Bug#30584)
4133         * src/term.c (produce_glyphs): Correct TAB width only when
4134         line_number_produced_p flag is set.
4136         (cherry picked from commit 1ac190553886ff20817d3dd218464e2fc6f9e42a)
4138 2018-06-02  Matthias Dahl  <matthias.dahl@binary-island.eu>
4140         Fix wait_reading_process_output wait_proc hang
4142         * src/process.c (read_process_output): Track bytes read from
4143         a process.
4144         (wait_reading_process_output): If called recursively through
4145         timers and/or process filters via accept-process-output, it is
4146         possible that the output of wait_proc has already been read by
4147         one of those recursive calls, leaving the original call hanging
4148         forever if no further output arrives through that fd and no
4149         timeout has been set.  Fix that by using the process read
4150         accounting to keep track of how many bytes have been read and
4151         use that as a condition to break out of the infinite loop and
4152         return to the caller as well as to calculate the proper return
4153         value (if a wait_proc is given that is).
4155         * src/process.h (struct Lisp_Process): Add nbytes_read to track
4156         bytes read from a process.
4158         (cherry picked from commit 4ba32858d61eee16f17b51aca01c15211a0912f8)
4160 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4162         Fix posn-at-point in Flycheck buffers
4164         * src/dispnew.c (buffer_posn_from_coords): Improve commentary.
4166         * src/xdisp.c (move_it_in_display_line_to): Don't exit the loop
4167         under truncate-lines if the glyph at TO_CHARPOS was not yet
4168         produced.  This avoids bailing out too early when we are at
4169         TO_CHARPOS, but didn't yet produce glyphs for that buffer
4170         position, because the last call to PRODUCE_GLYPHS at this position
4171         was for an object other than the buffer.  For further details, see
4172         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00537.html.
4174         (cherry picked from commit c0154ac7c3423f68d8f3a2e85a756c9759219039)
4176 2018-06-02  Martin Rudalics  <rudalics@gmx.at>
4178         * etc/PROBLEMS: Document stickyness problem with FVWM (Bug#31650)
4180 2018-06-01  Eli Zaretskii  <eliz@gnu.org>
4182         Update Emacs Lisp Intro to match current behavior
4184         * doc/lispintro/emacs-lisp-intro.texi (Wrong Type of Argument)
4185         (debug, debug-on-entry, Void Function, Void Variable): Update the
4186         *Backtrace* buffer display to current Emacs.  (Bug#31654)
4188 2018-06-01  Robert Pluim  <rpluim@gmail.com>
4190         Fix previous commit
4192         * doc/emacs/files.texi (Interlocking): Two spaces at end of sentence
4194 2018-06-01  Ville Skyttä  <ville.skytta@iki.fi>  (tiny change)
4196         Fix typos in several manuals (Bug#31610)
4198 2018-06-01  Robert Pluim  <rpluim@gmail.com>
4200         Add detailed documentation about lock files
4202         * doc/emacs/files.texi (Interlocking): Point user at detailed
4203         file locking description in lisp reference manual.  Add index
4204         entry for '.#' to improve disoverability of information about locking.
4206         * doc/lispref/files.texi (File Locks): Describe in detail what
4207         the form of the lock file is.  Add index entry for '.#' to
4208         improve disoverability of information about locking.
4210         * src/filelock.c (create-lockfiles): Add cross reference to
4211         file locking in user manual and to 'lock-buffer'.  Add string
4212         '.#' to help users find the doc string.
4214 2018-06-01  Eli Zaretskii  <eliz@gnu.org>
4216         Add commentary for subtle aspect of frame.el
4218         * lisp/frame.el: Explain why we use symbol-function when adding
4219         watchers for certain variables that need to trigger redisplay.
4221 2018-06-01  Eli Zaretskii  <eliz@gnu.org>
4223         Improve documentation of 'directory-files-and-attributes'
4225         * doc/lispref/files.texi (Contents of Directories): Fix inaccurate
4226         description of the return value of directory-files-and-attributes.
4228         * src/dired.c (Fdirectory_files_and_attributes): Describe the
4229         function's value in more detail.
4231 2018-05-30  Katsumi Yamaoka  <yamaoka@jpl.org>
4233         * lisp/gnus/message.el (message-remove-header): Don't remove things
4234         not looking like header (bug#31651).
4236 2018-05-30  Eli Zaretskii  <eliz@gnu.org>
4238         Adapt hexl-mode to native line-number display
4240         * lisp/hexl.el (hexl-mode-ruler): When display-line-numbers is in
4241         effect, adjust offsets and columns to account for the line-number
4242         display.  (Bug#31595)
4244 2018-05-30  Michael Albinus  <michael.albinus@gmx.de>
4246         Fix example in Tramp manual
4248         * doc/misc/tramp.texi (Frequently Asked Questions): Fix wording
4249         for the zsh example.
4251 2018-05-29  Robert Pluim  <rpluim@gmail.com>
4253         Handle case where Xft is found but not XRender
4255         * configure.ac (XFT_LIBS): Ensure that HAVE_XFT is no if
4256         XRender is not found.  (Bug#31634)
4258 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
4260         * doc/misc/tramp.texi (Frequently Asked Questions): Adapt zsh example.
4262 2018-05-29  Damien Cassou  <damien@cassou.me>
4264         Improve read-multiple-choice docstring (Bug#31628)
4266         * lisp/emacs-lisp/rmc.el (read-multiple-choice): Improve docstring.
4268 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
4270         * doc/misc/tramp.texi (All): Use @code instead of @option for user options.
4272 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
4274         Fix Bug#31605
4276         * doc/misc/tramp.texi (All): Add @vindex entries for
4277         environment variables.
4278         (Remote shell setup): New items `tramp-terminal-type' and
4279         "Determining a Tramp session".
4280         (Frequently Asked Questions): Adapt zsh example.  (Bug#31605)
4282 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
4284         Sync with Tramp 2.3.4-pre
4286         * doc/misc/trampver.texi: Change version to "2.3.4-pre
4288         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
4289         (tramp-backup-directory-alist, tramp-auto-save-directory)
4290         (tramp-encoding-shell, tramp-encoding-command-switch)
4291         (tramp-encoding-command-interactive, tramp-default-method)
4292         (tramp-default-method-alist, tramp-default-user)
4293         (tramp-default-user-alist, tramp-default-host)
4294         (tramp-default-host-alist, tramp-default-proxies-alist)
4295         (tramp-save-ad-hoc-proxies, tramp-restricted-shell-hosts-alist)
4296         (tramp-local-end-of-line, tramp-rsh-end-of-line)
4297         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
4298         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
4299         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
4300         (tramp-terminal-prompt-regexp)
4301         (tramp-operation-not-permitted-regexp, tramp-copy-failed-regexp)
4302         (tramp-process-alive-regexp, tramp-chunksize)
4303         (tramp-process-connection-type, tramp-connection-timeout)
4304         (tramp-connection-min-time-diff)
4305         (tramp-completion-reread-directory-timeout):
4306         * lisp/net/tramp-adb.el (tramp-adb-program)
4307         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
4308         * lisp/net/tramp-cache.el (tramp-connection-properties)
4309         (tramp-persistency-file-name):
4310         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
4311         (tramp-gvfs-zeroconf-domain, tramp-bluez-discover-devices-timeout):
4312         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
4313         (tramp-copy-size-limit, tramp-terminal-type)
4314         (tramp-histfile-override, tramp-use-ssh-controlmaster-options)
4315         (tramp-remote-path, tramp-remote-process-environment)
4316         (tramp-sh-extra-args):
4317         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
4318         (tramp-smb-conf, tramp-smb-winexe-program)
4319         (tramp-smb-winexe-shell-command)
4320         (tramp-smb-winexe-shell-command-switch):
4321         Dont't require 'tramp.  (Bug#31558)
4323         * lisp/net/tramp.el (tramp-accept-process-output):
4324         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
4325         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
4326         (tramp-sh-handle-start-file-process):
4327         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
4328         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
4329         (tramp-smb-handle-set-file-acl)
4330         (tramp-smb-handle-start-file-process): Suppress timers.
4332         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
4333         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
4334         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
4335         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
4336         Write proper message.
4338         * lisp/net/tramp-cmds.el (tramp-change-syntax):
4339         Use `customize-set-variable'.
4341         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
4342         Ensure proper EOL handling for Darwin.
4343         (tramp-find-inline-compress): Improve command quoting for w32.
4344         Reported by Chris Zheng <chriszheng99@gmail.com>.
4345         (tramp-open-connection-setup-interactive-shell): Wrap both echo
4346         calls in parentheses, in order to avoid double prompt.
4348         * lisp/net/tramp-smb.el (tramp-smb-errors):
4349         Add "NT_STATUS_RESOURCE_NAME_NOT_FOUND".
4351         * lisp/net/tramp.el (tramp-default-user-alist)
4352         (tramp-default-host-alist): Fix docstring.
4353         (tramp-dissect-file-name): Adapt docstring.  (Bug#30904)
4354         (tramp-make-tramp-file-name): Check, that method is
4355         not empty.  (Bug#30038)
4356         (tramp-message-show-message): Change default.
4358         * lisp/net/trampver.el: Change version to "2.3.4-pre".
4360         * test/lisp/net/tramp-tests.el (ert-x): Require it.
4361         (tramp-test10-write-region): Extend test.
4362         (tramp--test-emacs27-p, tramp--test-windows-nt): New defuns.
4363         (tramp-test11-copy-file, tramp-test12-rename-file)
4364         (tramp-test21-file-links, tramp-test24-file-acl)
4365         (tramp-test25-file-selinux, tramp--test-check-files): Use them.
4366         (tramp-test21-file-links): Do not call `make-symbolic-link' on w32.
4367         Fix file name quoting test.
4368         (tramp-test32-environment-variables-and-port-numbers):
4369         Adapt check for systems which do not support "echo -n".  (Bug#29712)
4370         (tramp-test36-find-backup-file-name): Call also
4371         `convert-standard-filename' due to w32.
4372         (tramp-test41-asynchronous-requests):
4373         Use $REMOTE_PARALLEL_PROCESSES.  Flush cache prior file operations.
4374         (tramp-test42-auto-load, tramp-test42-delay-load)
4375         (tramp-test42-recursive-load, tramp-test42-remote-load-path):
4376         Quote command due to w32.
4378 2018-05-28  Eli Zaretskii  <eliz@gnu.org>
4380         Bump Emacs version to 26.1.50
4382         * msdos/sed2v2.inp:
4383         * nt/README.W32:
4384         * configure.ac:
4385         * README: Bump Emacs version to 26.1.50.
4387 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
4389         Mention pcase as a fifth conditional form
4391         * doc/lispref/control.texi (Conditionals): ...here,
4392         in first para, w/ xref to "Pattern-Matching Conditional".
4394 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
4396         Overhaul pcase documentation
4398         Suggested by Drew Adams (Bug#31311).
4400         * doc/lispref/control.texi (Control Structures):
4401         Add "Pattern-Matching Conditional" to menu, before "Iteration".
4402         (Conditionals): Delete menu.
4403         (Pattern matching case statement): Delete node/subsection,
4404         by actually moving, renaming, and overhauling it to...
4405         (Pattern-Matching Conditional): ...new node/section.
4406         (pcase Macro): New node/subsection.
4407         (Extending pcase): Likewise.
4408         (Backquote Patterns): Likewise.
4409         * doc/lispref/elisp.texi (Top) In @detailmenu, add
4410         "Pattern-Matching Conditional" under "Control Structures"
4411         section and delete "Conditionals" section.
4412         * lisp/emacs-lisp/pcase.el (pcase): Rewrite docstring.
4413         (pcase-defmacro \` (qpat) ...): Likewise.
4415 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
4417         Use EXPVAL in docstrings of patterns defined using pcase-defmacro
4419         Suggested by Drew Adams (Bug#31311).
4421         * lisp/emacs-lisp/cl-macs.el (cl-struct): ...here.
4422         * lisp/emacs-lisp/eieio.el (eieio): Likewise.
4423         * lisp/emacs-lisp/radix-tree.el (radix-tree-leaf): Likewise.
4424         * lisp/emacs-lisp/rx.el (rx): Likewise.
4426 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
4428         Introduce EXPVAL for pcase, pcase-defmacro docstrings
4430         Suggested by Drew Adams (Bug#31311).
4432         * lisp/emacs-lisp/pcase.el (pcase): Use EXPVAL in
4433         docstring to stand for the result of evaluating EXP.
4434         (pcase-defmacro): Add (fn ...) form in docstring
4435         that includes [DOC], and the EXPVAL convention.
4437 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
4439         Ensure pcase doc shows `QPAT first among extensions
4441         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
4442         Split extensions display into two phases, collection
4443         and display, separated by a reordering step that
4444         ensures backquote is the first.
4446 2018-05-25  Nicolas Petton  <nicolas@petton.fr>
4448         * etc/HISTORY: Update for Emacs 26.1 release.
4450         * etc/AUTHORS: Update.
4452 2018-05-25  Noam Postavsky  <npostavs@gmail.com>
4454         Note caveat for backward regexp searching in docstring (Bug#31584)
4456         * src/search.c (Fre_search_backward): Emphasize that backwards
4457         searches may give shorter than expected matches.
4458         * doc/lispref/searching.texi (Regexp Search): Add an anchor for
4459         re-search-backward to reference.
4461 2018-05-25  Eli Zaretskii  <eliz@gnu.org>
4463         Update backtrace in Emacs Lisp Intro
4465         * doc/lispintro/emacs-lisp-intro.texi (Making Errors): Update the
4466         backtrace to match Emacs 26.  (Bug#31589)
4468 2018-05-24  Roland Winkler  <winkler@gnu.org>
4470         Move window-point in bibtex-search-entry
4472         * lisp/textmodes/bibtex.el (bibtex-search-entry): Move window-point
4473         to record found.
4475 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
4477         More fixes of Intro to Emacs Lisp
4479         * doc/lispintro/emacs-lisp-intro.texi (Finding More): Tell the
4480         reader how to invoke 'M-.' without a tags table.  Add a
4481         cross-reference to the Emacs manual for when a tags table does
4482         need to be created.
4483         (append save-excursion): Rephrase a confusing sentence.
4484         (Bug#31578)
4486 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
4488         Add a footnote to Emacs Lisp Intro
4490         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Describe
4491         the detailed output of integer value evaluation in a footnote, to
4492         prevent confusion.  (Bug#31579)
4494 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
4496         * lisp/help.el (with-help-window): Doc fix.  (Bug#31574)
4498 2018-05-23  Eli Zaretskii  <eliz@gnu.org>
4500         Fix some cross-references in emacs-lisp-intro.texi
4502         * doc/lispintro/emacs-lisp-intro.texi (List Processing)
4503         (Determining the Element, graph-body-print): Fix cross-references
4504         to subsections that don't exist in the printed version of the
4505         manual.  (Bug#31567)
4507 2018-05-23  Eli Zaretskii  <eliz@gnu.org>
4509         Minor copyedits in Emacs manual in macos.texi
4511         * doc/emacs/macos.texi (Mac / GNUstep Basics)
4512         (Mac / GNUstep Events): Fix markup and capitalization.
4513         (Bug#31568)
4515 2018-05-23  Noam Postavsky  <npostavs@gmail.com>
4517         Clarify when to use advice-add vs add-function
4519         * lisp/emacs-lisp/nadvice.el (add-function): Note in docstring that
4520         advice-add should be used for named functions.
4522 2018-05-22  Eli Zaretskii  <eliz@gnu.org>
4524         Minor formatting tweak in the Emacs manual
4526         * doc/emacs/custom.texi (Directory Variables): Don't have 2
4527         footnotes back to back, it looks bad in HTML.  (Bug#31555)
4529 2018-05-22  Eli Zaretskii  <eliz@gnu.org>
4531         Update comments in Intro to Emacs Lisp
4533         * doc/lispintro/emacs-lisp-intro.texi: Explain in the comments
4534         what are roman page numbers in Preface about.  (Bug#31541)
4536 2018-05-21  Noam Postavsky  <npostavs@gmail.com>
4538         * etc/NEWS: Mention change in `edebug-prin1-to-string'.
4540 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
4542         Another attempt to fix sql.el
4544         * lisp/progmodes/sql.el (sql-product-interactive): Fix calculation
4545         of the SQL buffer name.  (Bug#31446)
4547 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
4549         Update binding of 'M-.' in Intro to Emacs Lisp
4551         * doc/lispintro/emacs-lisp-intro.texi (On Reading this Text)
4552         (Finding More, Buffer Related Review, Buffer Exercises)
4553         (Find a File, Conclusion): 'M-.' is now bound to
4554         'xref-find-definitions'.  (Bug#31542)
4556 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
4558         Fix a typo in last change in sql.el
4560         * lisp/progmodes/sql.el (sql-product-interactive): Use 'null',
4561         not 'zerop'.  (Bug#31446)
4563 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
4565         Fix capitalization of mail headers
4567         * doc/emacs/sending.texi (Mail Format, Mail Headers)
4568         (Mail Aliases, Header Editing): Use consistent capitalization of
4569         CC, BCC, and FCC.  (Bug#31532)
4571 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
4573         Fix buffer names in sql.el
4575         * lisp/progmodes/sql.el (sql-product-interactive): Fix the way the
4576         buffer name is determined by prefix arg.  (Bug#31446)
4578 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
4580         Minor fixes in the Emacs manual
4582         * doc/emacs/misc.texi (Gnus Group Buffer): Fix a typo.  (Bug#31534)
4583         (Single Shell): Rephrase an unclear sentence.  (Bug#31535)
4584         (Remote Host): Use @command where appropriate.  (Bug#31536)
4586 2018-05-19  Eli Zaretskii  <eliz@gnu.org>
4588         Fix a typo in rmail.texi
4590         * doc/emacs/rmail.texi (Rmail Summary Edit): Add markup to 'nil'.
4591         (Bug#31533)
4593 2018-05-18  Paul Eggert  <eggert@cs.ucla.edu>
4595         * etc/PROBLEMS: Document Bug#31305.
4597 2018-05-18  Lars Ingebrigtsen  <larsi@gnus.org>
4599         (gnus-blocked-images): Clarify privacy implications
4601         * lisp/gnus/gnus-art.el (gnus-blocked-images): Clarify the privacy
4602         implication of altering the value of this variable.
4604         (cherry picked from commit f4d9fd3dd45f767eca33fbf1beee40da790fa74e)
4606 2018-05-18  Eli Zaretskii  <eliz@gnu.org>
4608         Fix a typo in describing input methods
4610         * lisp/help-mode.el (help-make-xrefs): Fix a typo.  (Bug#31448)
4612 2018-05-14  Eli Zaretskii  <eliz@gnu.org>
4614         Clarify the mode-line indicators in CC Mode
4616         * doc/emacs/programs.texi (Electric C): Explain '*' and '/' in the
4617         CC Mode mode-line.  (Bug31445)
4619 2018-05-12  João Távora  <joaotavora@gmail.com>
4621         Fix filesystem littering by Flymake's legacy backend
4623         The Flymake legacy "proc" backend, which is active by default will try
4624         to syntax-check foo.c/foo.cpp and many other types of files, but on
4625         failing to find a suitable Makefile target, will fail.  There's
4626         nothing wrong with that except that it used to leave behind the
4627         foo_flymake.c and foo_flymake.cpp auxiliary files behind, littering
4628         the filesystem.
4630         * lisp/progmodes/flymake-proc.el (flymake-proc-legacy-flymake):
4631         Call init-function inside of the unwind-protect.
4633 2018-05-12  Paul Eggert  <eggert@cs.ucla.edu>
4635         * doc/emacs/help.texi: Fix paren typo.
4637 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
4639         More minor changes in shell-related nodes of Emacs manual
4641         * doc/emacs/misc.texi (Interactive Shell): Clarify how the window
4642         that displays "*shell*" is selected.
4643         (Shell Prompts): Fix a typo.  Reported by Jorge
4644         <jorge+list@disroot.org> in emacs-manual-bugs.
4646 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
4648         Fix inaccuracies in "Shell Ring" node of Emacs manual
4650         * doc/emacs/misc.texi (Shell Ring): Don't mention 'M-s' and don't
4651         insist on Shell history commands being "jsut like" similar
4652         commands that operate on minibuffer history.  Reported by Jorge
4653         <jorge+list@disroot.org> in emacs-manual-bugs.
4655 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
4657         Improve documentation of kmacro commands and variables.
4659         * lisp/kmacro.el (kmacro-start-macro-or-insert-counter)
4660         (kmacro-counter, kmacro-set-format, kmacro-set-counter)
4661         (kmacro-add-counter, kmacro-counter-format)
4662         (kmacro-insert-counter): Clarify and improve the doc strings.
4663         (Bug#31243)
4665 2018-05-11  Noam Postavsky  <npostavs@gmail.com>
4667         * doc/man/emacs.1.in: Document --fg-daemon and --bg-daemon.
4669 2018-05-08  Noam Postavsky  <npostavs@gmail.com>
4671         Don't check non-X frames for z order (Bug#31373)
4673         * src/xfns.c (x_frame_list_z_order): Only use frames with
4674         `output_method' set to `output_x_window'.
4676 2018-05-07  Alan Third  <alan@idiocy.org>
4678         Check NSWindow is actually a frame
4680         * src/nsfns.m (Fns_frame_list_z_order): Check NSWindow is an instance
4681         of EmacsView before treating it as one.
4683 2018-05-06  Xu Chunyang  <mail@xuchunyang.me>
4685         Fix gud-statement for pdb
4687         * lisp/progmodes/gud.el (pdb): Fix the gud-print implementation.
4688         (Bug#31363)
4690 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
4692         Document 'custom-group'
4694         * doc/lispref/customize.texi (Group Definitions): Document the
4695         'custom-group' property.
4697 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
4699         A minor addition to etc/DEBUG
4701         * etc/DEBUG: Add a note for macOS users who get error messages
4702         when trying to run GDB.
4704 2018-05-04  Daniel Pittman  <slippycheeze@google.com>  (tiny change)
4706         Avoid errors in ispell.el when Enchant returns empty extra chars
4708         * lisp/textmodes/ispell.el (ispell--get-extra-word-characters):
4709         Handle the case of empty extra characters returned by the
4710         Enchant '-lsmod' command. (Bug#31344)
4712 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
4714         Make 'ispell-initialize-spellchecker-hook' work again
4716         * lisp/textmodes/ispell.el (ispell-base-dicts-override-alist):
4717         Defvar it to allow dynamic binding.  (Bug#31341)
4719 2018-05-04  Noam Postavsky  <npostavs@gmail.com>
4721         Handle selected_window change in prepare_menu_bars (Bug#31312)
4723         * src/xdisp.c (redisplay_internal): Check selected_window after
4724         calling prepare_menu_bars, since it can call lisp hooks.
4726 2018-05-03  Eli Zaretskii  <eliz@gnu.org>
4728         Fix report-emacs-bug via mailclient on MS-Windows
4730         * lisp/net/browse-url.el (browse-url-default-windows-browser):
4731         On MS-Windows, call url-unhex-string only for file:// URLs.
4732         (Bug#31351)
4734 2018-05-02  Paul Eggert  <eggert@cs.ucla.edu>
4736         Port collation tests to glibc 2.27
4738         * test/src/fns-tests.el (fns-tests-collate-strings)
4739         (fns-tests-collate-sort): Don’t make unportable assumptions
4740         about how en_US.UTF-8 collation works.  These assumptions
4741         are not true on Fedora 28, which ships with glibc 2.27.
4743 2018-05-01  Paul Eggert  <eggert@cs.ucla.edu>
4745         Port --enable-gcc-warnings to GCC 8
4747         Backport from master.
4748         * lib-src/emacsclient.c (fail):
4749         Do not dereference a null pointer.
4750         * src/frame.c (delete_frame):
4751         Add a decl with UNINIT to work around GCC bug 85563.
4752         * src/menu.h (finish_menu_items):
4753         Do not use attribute const.
4754         * src/regex.c (analyze_first): Use FALLTHROUGH, not a comment.
4756 2018-04-30  Paul Eggert  <eggert@cs.ucla.edu>
4758         Advise CFLAGS= operand, not in environment, when configuring
4760         Backport from master.
4762 2018-04-28  Eli Zaretskii  <eliz@gnu.org>
4764         Update the Emacs FAQ
4766         * doc/misc/efaq.texi (Latest version of Emacs): Update versions.
4767         (New in Emacs 26): New node.
4769         * admin/release-process: Mention the FAQ update as part of the
4770         release.
4772 2018-04-28  Eli Zaretskii  <eliz@gnu.org>
4774         * etc/DEBUG: Minor copyedits.
4776 2018-04-26  Alan Third  <alan@idiocy.org>
4778         Clarify wording of NS drag n drop documentation
4780         * doc/emacs/macos.texi (Mac / GNUstep Events): Clarify wording of
4781         ns-drag-n-drop description.
4783 2018-04-25  Basil L. Contovounesios  <contovob@tcd.ie>
4785         Improve kill-related documentation (bug#31209)
4787         * doc/lispref/text.texi (Low-Level Kill Ring): Fix typo under
4788         current-kill.  Mention interprogram-paste-function under kill-new
4789         and kill-append.
4790         * lisp/simple.el (save-interprogram-paste-before-kill, kill-new)
4791         (kill-append-merge-undo, kill-append): Touch-up docstrings.
4793 2018-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
4795         * lisp/simple.el (region-extract-function): Don't hide the 'nil' case.
4797 2018-04-22  Karl Otness  <karl@karlotness.com>  (tiny change)
4799         Fix pre- and post-command-hook errors in term.el
4801         Before this patch, after the terminal process dies the command
4802         hooks added in term-mode's char mode would produce errors.
4803         This fix removes these hooks when the process dies.
4804         * lisp/term.el (term-handle-exit): Remove pre-command-hook and
4805         post-command-hook because the process is dead.  (Bug#31236)
4807 2018-04-22  Charles A. Roelli  <charles@aurox.ch>
4809         * doc/lispref/display.texi (Glyphless Chars): Fix grammar.
4811 2018-04-21  Alan Third  <alan@idiocy.org>
4813         Fix macOS drag n drop event documentation
4815         * doc/emacs/macos.texi (Mac / GNUstep Customization): Remove
4816         references to color panel.
4817         (Mac / GNUstep Events): Remove ns-drag-file, and add ns-drag-n-drop.
4819 2018-04-20  Eli Zaretskii  <eliz@gnu.org>
4821         Update the documentation of 'perform-replace'
4823         * doc/lispref/searching.texi (Search and Replace): Update the
4824         documentation of 'perform-replace'.
4826 2018-04-20  Martin Rudalics  <rudalics@gmx.at>
4828         * etc/NEWS: Another fix for the last change (noted by Juri Linkov)
4830 2018-04-19  Eli Zaretskii  <eliz@gnu.org>
4832         Fix use of @key in Texinfo manuals
4834         * doc/misc/efaq-w32.texi (Location of init file):
4835         * doc/misc/org.texi (Editing source code, Export settings)
4836         (Closing items, Drawers, Structure editing):
4837         * doc/misc/gnus.texi (Spam and Ham Processors, Terminology):
4838         * doc/misc/calc.texi (Keypad Functions Menu, Keypad Binary Menu)
4839         (Keypad Vectors Menu, Keypad Main Menu, Basic Arithmetic)
4840         (Symbolic Mode):
4841         * doc/misc/sc.texi (Electric References):
4842         * doc/misc/info.texi (Help-^L):
4843         * doc/misc/reftex.texi (Reference Styles):
4844         * doc/misc/idlwave.texi (Troubleshooting, Examining Variables)
4845         (Lesson III---User Catalog, Using the Shell):
4846         * doc/misc/eshell.texi (Bugs and ideas):
4847         * doc/misc/ada-mode.texi (Automatic Casing):
4848         * doc/misc/ediff.texi (Selective Browsing):
4849         * doc/misc/vip.texi (Customizing Constants):
4850         * doc/misc/pcl-cvs.texi (Selected files):
4851         * doc/misc/efaq.texi (Replying to the sender of a message)
4852         (Basic keys, No Meta key, Matching parentheses)
4853         (Origin of the term Emacs, Installing Texinfo documentation)
4854         (Learning how to do something, Emacs manual, Extended commands):
4855         * doc/misc/viper.texi (Rudimentary Changes):
4856         * doc/misc/tramp.texi (Frequently Asked Questions):
4857         * doc/emacs/kmacro.texi (Basic Keyboard Macro):
4858         * doc/emacs/frames.texi (Frame Commands):
4859         * doc/emacs/msdos.texi (Windows Keyboard):
4860         * doc/emacs/search.texi (Query Replace):
4861         * doc/lispintro/emacs-lisp-intro.texi (Keybindings)
4862         (Note for Novices):
4863         * doc/lispref/tips.texi (Key Binding Conventions): Fix use of
4864         @key.  For the details, see
4865         http://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00390.html.
4867 2018-04-19  Eli Zaretskii  <eliz@gnu.org>
4869         Improve documentation of actual arglist
4871         * doc/lispref/functions.texi (Function Documentation): Advise
4872         against using '(fn ARGLIST)' method of advertising a calling
4873         convention when the old calling convention is deprecated.
4874         (Bug#31191)
4876 2018-04-18  Noam Postavsky  <npostavs@gmail.com>
4878         Don't assume term-current-row cache is valid (Bug#31193)
4880         * lisp/term.el (term-down): Call `term-current-row' instead of
4881         directly accessing the variable `term-current-row.  Following a resize
4882         of the terminal's window, `term-current-row' is reset to nil, so it is
4883         not safe to assume it is a number.
4885 2018-04-17  Eli Zaretskii  <eliz@gnu.org>
4887         Fix flyspell-auto-correct-previous-word broken by recent change
4889         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Keep
4890         flyspell-auto-correct-region also when repeatedly invoking
4891         flyspell-auto-correct-previous-word.  (Bug#31188)
4893 2018-04-17  Eli Zaretskii  <eliz@gnu.org>
4895         * test/src/lread-tests.el (lread-test-bug-31186): New test.
4897 2018-04-17  Andreas Schwab  <schwab@suse.de>
4899         Fix undefined behaviour while looking for lexical-binding file variable (bug 31186)
4901         * src/lread.c (lisp_file_lexically_bound_p): Reset
4902         beg_end_state before reading variable or value.
4904 2018-04-15  Eli Zaretskii  <eliz@gnu.org>
4906         Minor wording improvement in "Bookmarks"
4908         * doc/emacs/regs.texi (Bookmarks): Improve wording.  Suggested by
4909         "Siraphob (Ben) Phipathananunth" <siraben@disroot.org>.
4911 2018-04-14  Eli Zaretskii  <eliz@gnu.org>
4913         Fix building etc/DOC in the MSDOS port
4915         * msdos/sed1v2.inp (lisp.mk): Fix escaping in Sed commands.
4917 2018-04-14  Eli Zaretskii  <eliz@gnu.org>
4919         * lisp/select.el (gui-get-selection): Doc fix.
4921 2018-04-13  Alan Mackenzie  <acm@muc.de>
4923         Complete documentation of syntax flags by adding `c'
4925         * doc/lispref/syntax.texi ("Syntax Table Internals"): Add entry for `c'
4926         as `(1 lsh 23)'.
4928 2018-04-13  Eli Zaretskii  <eliz@gnu.org>
4930         Fix typos and minor wording issues in ELisp manual
4932         * doc/lispref/internals.texi (Writing Emacs Primitives):
4933         * doc/lispref/display.texi (Temporary Displays): Fix typos.
4934         * doc/lispref/text.texi (Filling, Changing Properties)
4935         (Transposition): Clarify and fix typos.
4936         * doc/lispref/positions.texi (Screen Lines): Improve wording.
4937         * doc/lispref/modes.texi (Minor Mode Conventions)
4938         (Font Lock Multiline): Fix typos.
4939         * doc/lispref/variables.texi (Dynamic Binding Tips): Fix a
4940         cross-reference.  Fix a typo.
4941         * doc/lispref/sequences.texi (Sequence Functions): Fix typos.
4942         (Bug#31143)
4944 2018-04-13  Eli Zaretskii  <eliz@gnu.org>
4946         Avoid segfault in processes of type 'pipe'
4948         * src/process.c (Fmake_pipe_process): Set up the decoding and
4949         encoding buffers.  For the details, see
4950         http://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00295.html.
4952 2018-04-13  Robert Pluim  <rpluim@gmail.com>
4954         Remove repetitions in documentation strings
4956         * lisp/bindings.el (right-word): Remove repetition
4957         (left-word): Likewise.
4959         * lisp/image-mode.el (image-mode-as-hex): Likewise.
4961         * lisp/cedet/semantic/tag-ls.el (semantic-tag-similar-p): Likewise.
4963         * lisp/textmodes/reftex-vars.el (reftex-view-crossref-extra): Likewise
4965 2018-04-12  Eli Zaretskii  <eliz@gnu.org>
4967         * lisp/image.el (image-load-path): Doc fix.
4969 2018-04-09  Nicolas Petton  <nicolas@petton.fr>
4971         * etc/AUTHORS: Regenerate.
4973 2018-04-09  Charles A. Roelli  <charles@aurox.ch>
4975         * lisp/files.el (kept-new-versions): Improve documentation string.
4977 2018-04-09  Eli Zaretskii  <eliz@gnu.org>
4979         Fix a minor mistake in the ELisp manual
4981         * doc/lispref/files.texi (Reading from Files): Fix copy/paste
4982         mistake.  (Bug#31107)
4984 2018-04-06  Eli Zaretskii  <eliz@gnu.org>
4986         * lisp/files.el (find-file-literally): Doc fix.
4988 2018-04-05  Eli Zaretskii  <eliz@gnu.org>
4990         Fix typos in doc strings
4992         * lisp/simple.el (undo-auto--boundary-timer)
4993         (undo-auto--boundary-ensure-timer): Fix typos in doc strings.
4995 2018-04-05  Nicolas Petton  <nicolas@petton.fr>
4997         Bump Emacs version to 26.1
4999         * README:
5000         * configure.ac:
5001         * msdos/sed2v2.inp:
5002         * nt/README.W32: Bump Emacs version to 26.1.
5004 2018-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>
5006         * lisp/emacs-lisp/inline.el: Clarify apparent typos
5008 2018-04-04  Ted Zlatanov  <tzz@lifelogs.com>
5010         Allow sexp customization type in auth-sources
5012         * lisp/auth-source.el (auth-sources): Allow sexp customization type.
5013         Update the :version tag.
5015         (cherry picked from commit 447da5b0d49b7aa14fa5d6969015770fdf9b9f92)
5017 2018-04-03  Nicolas Petton  <nicolas@petton.fr>
5019         * etc/NEWS: Remove temporary markup.
5021         * etc/AUTHORS: Update.
5023         * ChangeLog.3: Update.
5025 2018-04-03  Michael Albinus  <michael.albinus@gmx.de>
5027         Fix Bug#31022
5029         * lisp/cus-start.el (temporary-file-directory): Suppress file name
5030         handlers when calling `shell-command-to-string'.  (Bug#31022)
5032 2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>
5034         Update "Calendrical Calculations" cites
5036         * lisp/calendar/calendar.el: Update citations to the book
5037         "Calendrical Calculations" and its predecessors.
5039 2018-04-02  Noam Postavsky  <npostavs@gmail.com>
5041         Fix term.el rendering following a window resize (Bug#30544)
5043         * lisp/term.el (term-reset-size): Reset cached row and column values
5044         before changing point.
5046 2018-04-02  Philipp Stephani  <phst@google.com>
5048         * lisp/files.el (auto-save-visited-mode): Don't prompt for filenames.
5050 2018-04-01  Philipp Stephani  <phst@google.com>
5052         Quote a few backticks in docstrings.
5054         * lisp/emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*)
5055         (macroexp-if): Quote backtick in docstrings.
5057 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
5059         Minor copyedits of completion-at-point-functions documentation
5061         * lisp/minibuffer.el (completion-at-point-functions):
5062         * doc/lispref/minibuf.texi (Completion in Buffers): Fix wording
5063         and filling.
5065         (cherry picked from commit a8ddd05d7d32946b892b9faaba6c9736ed2ad847)
5067 2018-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
5069         (completion-at-point-functions): Improve doc
5071         (cherry picked from commit b56c56f203f8b066dd71e6ae6a254121b3ac3f08)
5073 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
5075         * lisp/net/shr.el (shr-browse-url): Doc fix.  (Bug#30957)
5077 2018-03-31  Hong Xu  <hong@topbug.net>
5079         Mention `key-description' as inverse of `kbd' (Bug#30942)
5081         * lisp/subr.el (kbd): Add `key-description' as inverse of `kbd' in the
5082         doc.
5084 2018-03-31  Noam Postavsky  <npostavs@gmail.com>
5086         Document return value of pcase (Bug#30425)
5088         * doc/lispref/control.texi (Pattern matching case statement):
5089         * lisp/emacs-lisp/pcase.el (pcase): State that pcase returns nil if no
5090         patterns match.
5091         (pcase-exhaustive): State that an error is signaled if no patterns
5092         match.
5094 2018-03-31  Paul Eggert  <eggert@cs.ucla.edu>
5096         * doc/emacs/macos.texi: Tweak grammar and capitalization.
5098 2018-03-31  Richard Stallman  <rms@gnu.org>
5100         Distinguish free from non-free OSes
5102 2018-03-28  Glenn Morris  <rgm@gnu.org>
5104         * doc/emacs/misc.texi (Amusements): Avoid non-printing character.
5106 2018-03-28  Glenn Morris  <rgm@gnu.org>
5108         Fix xrefs in pdf Emacs manual
5110         * doc/emacs/fortran-xtra.texi (ForIndent Cont, ForIndent Num)
5111         (Fortran Columns):
5112         * doc/emacs/picture-xtra.texi (Rectangles in Picture):
5113         Fix recent changes that neglected the splitting of the pdf manuals.
5115 2018-03-28  Michael Albinus  <michael.albinus@gmx.de>
5117         * doc/misc/org.texi (Installation): Fix clone commands.
5119 2018-03-27  Rasmus  <rasmus@gmx.us>
5121         Update Org to v9.1.9
5123         Please note this is a bugfix release. See etc/ORG-NEWS for details.
5125 2018-03-27  Michael Heerdegen  <michael_heerdegen@web.de>
5127         De-obsolete `if-let' and `when-let'
5129         For the following release it is planned to make `if-let*' and
5130         `when-let*' aliases for `if-let' and `when-let'.  For now we revert
5131         declaring `if-let' and `when-let' obsolete and tweak the docstrings.
5133         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): Make docstrings
5134         refer to those of `if-let' and `when-let'.
5135         (if-let, when-let): De-obsolete.  Rewrite documentation.
5137 2018-03-26  Glenn Morris  <rgm@gnu.org>
5139         * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.
5141 2018-03-26  Eli Zaretskii  <eliz@gnu.org>
5143         * doc/lispref/functions.texi (Defining Functions): Improve indexing.
5145 2018-03-25  Aaron Jensen  <aaronjensen@gmail.com>
5147         Fix crash after frame is freed on macOS (bug#30800)
5149         * src/nsterm.m (x_free_frame_resources): Clear represented_frame.
5150         (bug#30800)
5152 2018-03-25  Michael Albinus  <michael.albinus@gmx.de>
5154         More manual editing
5156         * doc/emacs/basic.texi:
5157         * doc/emacs/calendar.texi:
5158         * doc/emacs/display.texi:
5159         * doc/emacs/mini.texi:
5160         * doc/emacs/misc.texi:
5161         * doc/emacs/picture-xtra.texi:
5162         * doc/misc/info.texi: Prefer <PageDown> and <PageUp> over
5163         <next> and <prior>.  Add missing @kindex entries.
5165         * doc/emacs/custom.texi (Function Keys): Fix and add missing
5166         key symbols.
5168 2018-03-25  Michael Albinus  <michael.albinus@gmx.de>
5170         Minor manual changes changes
5172         * doc/emacs/misc.texi (FFAP): Complete commands.
5173         (Amusements): Add some @cindex entries.  Add "M-x butterfly".
5175 2018-03-24  Glenn Morris  <rgm@gnu.org>
5177         * lisp/calculator.el (calculator-paste-decimals): Add version.
5179 2018-03-23  Eli Zaretskii  <eliz@gnu.org>
5181         More proofreading of the Emacs manual
5183         * doc/emacs/trouble.texi (DEL Does Not Delete): Improve wording.
5184         (Screen Garbled): Mention the command name.
5185         (Bug Criteria): Mention that problems in packages should first be
5186         reported to the respective maintainers.
5187         (Checklist): Fix wording.
5188         (Contributing, Copyright Assignment): Minor copyedits.
5189         * doc/emacs/misc.texi (Amusements): Remove Landmark.
5190         * doc/emacs/picture-xtra.texi (Tabs in Picture): Improve wording.
5191         (Rectangles in Picture): Add a cross-reference to "Registers".
5192         * doc/emacs/misc.texi (Gnus Group Buffer, Gnus Summary Buffer):
5193         Mention command names in parentheses.
5194         (Gnus Summary Buffer): Document "M-r".
5195         (Network Security): Document that current NSM works with TLS
5196         encryption.  Fix markup.
5197         (Document View): Improve wording and fix a typo.
5198         (DocView Conversion): Rephrase description of
5199         doc-view-cache-directory.
5200         (Single Shell): Mention variables that control when shell output
5201         appears in the echo area.
5202         (Shell Mode): Improve wording.
5203         (Shell Prompts): Fix a typo.
5204         (Shell Ring, Term Mode): Mention command names.
5205         (History References): Add a cross-reference to "Rebinding".
5206         (Remote Host): Mention SSH.
5207         (TCP Emacs server): Improve wording.
5208         (emacsclient Options): Minor improvements.
5209         (PostScript): Fix wording.
5210         (PostScript Variables): Mention that ps-font-size could be a cons.
5211         (Sorting): Minor improvements.  Suggested by Michael Albinus
5212         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org
5214 2018-03-23  Noam Postavsky  <npostavs@gmail.com>
5216         * src/lisp.h (struct Lisp_Buffer_Local_Value): Update commentary.
5218         * doc/emacs/trouble.texi: Fix location of `emacs-version' index.
5220 2018-03-23  Noam Postavsky  <npostavs@gmail.com>
5222         Explain more about (defvar foo) form (Bug#18059)
5224         * doc/lispref/variables.texi (Defining Variables)
5225         (Using Lexical Binding):
5226         * doc/lispref/compile.texi (Compiler Errors): Emphasize that omitting
5227         VALUE for `defvar' marks the variable special only locally.
5228         * doc/lispref/variables.texi (Using Lexical Binding): Add example of
5229         using `defvar' without VALUE.
5231 2018-03-22  Charles A. Roelli  <charles@aurox.ch>
5233         * doc/lispref/buffers.texi (Buffer List): Fix grammar.
5235         * doc/lispref/anti.texi (Antinews): Fix grammar.
5237 2018-03-22  Glenn Morris  <rgm@gnu.org>
5239         * lisp/org/ob-lisp.el (org-babel-lisp-eval-fn): Tweak type.
5241         Avoids type mismatch when relevant library is not present/loaded.
5243 2018-03-22  Glenn Morris  <rgm@gnu.org>
5245         sql.el defcustom fixes
5247         * lisp/progmodes/sql.el (sql-login-params): Update.
5248         Avoids type mismatch with postgres and sqlite login params.
5249         (sql-postgres-login-params): Bump version.
5251 2018-03-22  Eli Zaretskii  <eliz@gnu.org>
5253         Document DEFUN attributes
5255         * doc/lispref/internals.texi (Writing Emacs Primitives): Document
5256         specification of function attributes in DEFUN.
5258 2018-03-22  Nicolas Petton  <nicolas@petton.fr>
5260         * etc/NEWS: Add an entry for auth-source-pass.
5262 2018-03-22  Eli Zaretskii  <eliz@gnu.org>
5264         Fix the MSDOS build
5266         * msdos/sed2v2.inp (HAVE_SBRK): Define to 1.
5268 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
5270         Improve warning and error messages
5272         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read,
5273           (eieio-persistent-validate/fix-slot-value): Indicate exactly what
5274           went wrong.
5276 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
5278         Adjust eieio persistence tests for expected failure
5280         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
5281          (eieio-test-persist-hash-and-vector,
5282           eieio-test-persist-interior-lists): Persistence does not currently
5283          handle deeply-nested objects. Expect current failures, and mark for
5284          future fixes.
5286 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
5288         Let eieio-persistent-read read what object-write has written
5290         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
5291           `object-write' may quote lists inside hash tables and vectors, so
5292           unquote those lists here.
5294         This patch allows the eieio-persistent write/restore process to
5295         perform a clean round trip. It only handles a very specific and
5296         limited range of object structures, but at least the write and read
5297         procedures match.
5299 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
5301         Handle possible classtype values in eieio-persistent-read
5303         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
5304           The function `eieio-persistent-slot-type-is-class-p' could return
5305           either a single class, or a list of classes.
5307 2018-03-22  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
5309         Add new tests for eieio persistence
5311         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el:
5312           (hash-equal): New comparison test for hash-tables.
5313           (persist-test-save-and-compare): Use test for hash-tables.
5314           (eieio-test-persist-hash-and-vector,
5315           eieio-test-persist-interior-lists): New tests.
5317 2018-03-22  Glenn Morris  <rgm@gnu.org>
5319         * lisp/gnus/gnus-cloud.el (gnus-cloud-synced-files): Fix doc & type.
5321         * lisp/ibuf-ext.el (ibuffer-never-search-content-mode): Fix type.
5323 2018-03-21  Glenn Morris  <rgm@gnu.org>
5325         * doc/lispref/windows.texi (Selecting Windows): Fix a typo.
5327 2018-03-21  Charles A. Roelli  <charles@aurox.ch>
5329         * doc/lispref/internals.texi (Writing Emacs Primitives): Fix grammar.
5331 2018-03-21  Alan Mackenzie  <acm@muc.de>
5333         Firm up documentation of generalized variables
5335         * doc/lispref/variables.texi (Generalized Variables)
5336         (Setting Generalized Variables): Define a generalized variable as something
5337         setf can write to.  Remove the insinuation that hackers have poor memories.
5338         State explicitly that the list of GVs given is complete.  Remove the
5339         suggestion that `setf' has superseded, or is in the process of superseding,
5340         `setq'.  Make minor corrections to the English.
5342 2018-03-21  Eli Zaretskii  <eliz@gnu.org>
5344         Improve documentation of Auto-Revert mode
5346         * doc/emacs/files.texi (Reverting): Mention that Aut-Revert
5347         applies to Dired buffers as well.  Suggested by Michael Albinus
5348         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
5350 2018-03-21  Eli Zaretskii  <eliz@gnu.org>
5352         Improvements in dired.texi
5354         * doc/emacs/dired.texi (Dired): Mention that Dired works with
5355         remote directories.
5356         (Dired Enter): ls-lisp is used on some remote systems as well.
5357         (Dired Navigation): Mention and index the command names.
5358         (Dired Deletion): Document the 'always' value of
5359         dired-recursive-deletes.  Mention the alternative deletion method.
5360         (Marks vs Flags): Fix spelling of Auto-Revert mode.  Document what
5361         marking does on a subdirectory header line.
5362         (Operating on Files): Document that 'Z' uses gzip or compress.
5363         (Comparison in Dired): Mention ediff-files.
5364         (Misc Dired Features): Fix a typo.  Suggested by Michael Albinus
5365         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
5367 2018-03-21  Noam Postavsky  <npostavs@gmail.com>
5369         Revert "Support all perl variable declarators and prefixes"
5371         It highlights normal variable names in perl programs (Bug#30812).
5372         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
5373         (perl-font-lock-keywords-2): Restore values prior to Bug#27613 fix.
5375         Don't merge to master, we will fix Bug#27613 properly there (it's too
5376         close to release to do that on emacs-26).
5378 2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>
5380         Port to 32-bit sparc64
5382         Backport from master.
5383         Problem reported by Ulrich Mueller; fix suggested by Eli Zaretskii
5384         and Andreas Schwab (Bug#30855).
5385         * src/alloc.c (mark_memory): Call mark_maybe_object only on
5386         pointers that are properly aligned for Lisp_Object.
5388 2018-03-20  Robert Pluim  <rpluim@gmail.com>
5390         Correct Info link markup
5392         * lisp/gnus/gnus-agent.el (gnus-agent-auto-agentize-methods):
5393         Correct markup for Info link.
5394         * src/minibuf.c (Fcompleting_read): Likewise.
5396 2018-03-20  Nick Helm  <nick@tenpoint.co.nz>
5398         Improve documentation of 'with-help-window'
5400         * doc/lispref/help.texi (Help Functions): Change variable name
5401         to 'buffer-or-name'.
5403         * lisp/help.el (with-help-window): Change variable name to
5404         'buffer-or-name' and rewrite the doc string, adding reference
5405         to 'help-window-setup'.  (Bug#30792)
5407 2018-03-20  Eli Zaretskii  <eliz@gnu.org>
5409         Minor improvements in building.texi
5411         * doc/emacs/building.texi (Compilation Shell): Mention that this
5412         section is for local compilation buffers.
5413         (Compilation, Compilation Mode): Mention that 'g' is bound to
5414         'recompile' in compilation buffers.
5415         (Grep Searching): Add a cross-reference to "Compilation Mode".
5416         Suggested by Michael Albinus <michael.albinus@gmx.de> in
5417         emacs-manual-bugs@gnu.org.
5419 2018-03-20  Alex Branham  <branham@utexas.edu>
5421         * lisp/textmodes/bibtex.el (bibtex-mark-entry): activate mark
5423 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
5425         * doc/emacs/building.texi (Starting GUD): Mention 'guiler'.
5427 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
5429         Yet more proofreading of the Emacs manual
5431         * doc/emacs/building.texi (Compilation, Grep Searching)
5432         (Debuggers, GUD Customization, Source Buffers)
5433         (Breakpoints Buffer, Threads Buffer): Minor fixes and updates.
5434         Suggested by Michael Albinus <michael.albinus@gmx.de> in
5435         emacs-manual-bugs@gnu.org.
5437 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
5439         * doc/emacs/rmail.texi: Fix broken link.
5441 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
5443         Fix recently-added POP doc glitch
5445         * doc/emacs/rmail.texi (Remote Mailboxes):
5446         POP3 → POP, when talking about POP in general.
5448 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
5450         More proofreading of the Emacs manual
5452         * doc/emacs/macos.texi (Mac / GNUstep Basics): Fix typos.  Improve
5453         indexing.
5454         (Mac / GNUstep Basics, Mac / GNUstep Customization)
5455         (Mac / GNUstep Events): Improve indexing.
5457         * doc/emacs/rmail.texi (Rmail): Mention Gnus.
5458         (Rmail Basics, Rmail Scrolling): Improve cross-references and
5459         indexing.
5460         (Rmail Motion): Minor improvements.
5461         (Rmail Inbox): Remove outdated text about Babyl format.
5462         (Rmail Files): Formatting changes.  Comment out
5463         set-rmail-inbox-list in the table of commands, as it is commented
5464         out in the text that follows.
5465         (Rmail Output, Rmail Labels, Rmail Reply, Rmail Make Summary):
5466         Minor copyedits.
5467         (Rmail Summary Edit): Document
5468         rmail-summary-scroll-between-messages.
5469         (Rmail Editing): Improve indexing.
5470         (Movemail): Fix typos.
5471         (Remote Mailboxes): Use "POP3" rather than "POP".
5473 2018-03-19  Simen Heggestøyl  <simenheg@gmail.com>
5475         Fix typo in the Emacs manual's VC chapter
5477         * doc/emacs/maintaining.texi (VC Directory Buffer): Fix a typo.
5479 2018-03-19  Basil L. Contovounesios  <contovob@tcd.ie>
5481         Pass json-readtable-error data as a list (bug#30489)
5483         * lisp/json.el (json-readtable-dispatch): Fix error data.
5484         * test/lisp/json-tests.el (test-json-read): Check error data is a
5485         list.
5487 2018-03-17  Noam Postavsky  <npostavs@gmail.com>
5489         Improve word motion docs (Bug#30815)
5491         * doc/lispref/positions.texi (Word Motion): Fix reference to
5492         `char-script-table'.
5493         * lisp/simple.el (backward-word):
5494         * src/syntax.c (forward-word): Mention `char-script-table' and add
5495         link to the 'Word Motion' manual section.
5497 2018-03-15  Michael Albinus  <michael.albinus@gmx.de>
5499         Replace "carriage-return" by "carriage return" in manuals
5501         * doc/emacs/msdos.texi:
5502         * doc/emacs/mule.texi:
5503         * doc/emacs/screen.texi:
5504         * doc/lispref/nonascii.texi:
5505         * doc/misc/calc.texi: Replace "carriage-return" by "carriage
5506         return".  Suggested by Richard Stallman <rms@gnu.org> in
5507         emacs-manual-bugs@gnu.org.
5509 2018-03-15  Eli Zaretskii  <eliz@gnu.org>
5511         Minor copyedits in mule.texi
5513         * doc/emacs/mule.texi (Recognize Coding, Fontsets): Minor changes
5514         in wording.  Suggested by Richard Stallman <rms@gnu.org> in
5515         emacs-manual-bugs@gnu.org.
5517 2018-03-14  Eli Zaretskii  <eliz@gnu.org>
5519         Fix problems caused by fontconfig-2.13.0
5521         * src/xterm.c (x_term_init): Call fixup_locale after
5522         xg_initialize, to countermand the call to setlocale in some
5523         versions of fontconfig.  (Bug#30788)
5525 2018-03-13  Glenn Morris  <rgm@gnu.org>
5527         Fix some allout.el aliases
5529         * lisp/allout.el (allout-passphrase-verifier-string)
5530         (allout-passphrase-hint-string): Fix alias.
5532 2018-03-13  Glenn Morris  <rgm@gnu.org>
5534         * lisp/progmodes/ada-mode.el (ada-clean-buffer-before-saving): Doc fix.
5536 2018-03-13  Glenn Morris  <rgm@gnu.org>
5538         Doc fixes re obsolete items
5540         * doc/emacs/mini.texi (Completion Commands): Small update re mouse.
5541         * doc/misc/htmlfontify.texi (Customization): Replace obsolete alias.
5543 2018-03-13  Glenn Morris  <rgm@gnu.org>
5545         Replace an obsolete alias in tpu-mapper
5547         * lisp/obsolete/tpu-mapper.el (tpu-map-key, tpu-mapper):
5548         Replace obsolete alias.
5550 2018-03-13  Glenn Morris  <rgm@gnu.org>
5552         Doc fixes re obsolete items
5554         * doc/emacs/maintaining.texi (VC Undo):
5555         * doc/misc/efaq-w32.texi (Font names): Replace obsolete aliases.
5556         * doc/misc/url.texi (Customization):
5557         Don't mention url-temporary-directory, it essentially does nothing.
5558         * lisp/hilit-chg.el
5559         (highlight-changes-global-changes-existing-buffers): Doc fix.
5561 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
5563         Minor changes in mule.texi
5565         * doc/emacs/mule.texi (International, Coding Systems)
5566         (Bidirectional Editing): Minor wording changes and typo fixes.
5567         Suggested by Michael Albinus <michael.albinus@gmx.de> in
5568         emacs-manual-bugs@gnu.org.
5570 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
5572         Avoid assertion violation under visual-order-cursor-movement
5574         * src/xdisp.c (Fmove_point_visually): Don't let point exceed the
5575         BEGV..ZV range.  Signal Beginning of buffer error when there's a
5576         before-string at BEGV.  (Bug#30787)
5578 2018-03-13  Glenn Morris  <rgm@gnu.org>
5580         Stop mentioning options.el in doc
5582         * doc/misc/calc.texi (Customizing Embedded Mode):
5583         Remove mentions of the obsolete (since 22.1) options.el.
5584         * lisp/progmodes/meta-mode.el: Comment fix.
5586 2018-03-12  Charles A. Roelli  <charles@aurox.ch>
5588         * lisp/vc/vc-dir.el (vc-dir-unmark): Fix documentation.
5590 2018-03-12  Eli Zaretskii  <eliz@gnu.org>
5592         * lisp/minibuffer.el (completion-cycle-threshold): Doc fix.
5594 2018-03-12  Eli Zaretskii  <eliz@gnu.org>
5596         Fix last change in Xref documentation
5598         * doc/emacs/maintaining.texi (Looking Up Identifiers): More
5599         accurate wording for the description of xref-etags-mode.
5601 2018-03-11  Eli Zaretskii  <eliz@gnu.org>
5603         More changes in the Emacs manual
5605         * doc/emacs/text.texi (Words, Foldout, Table Conversion): Clarify
5606         text.  Reported by Gijs Hillenius <gijs@hillenius.net> in
5607         emacs-manual-bugs@gnu.org.
5609         * doc/emacs/msdos.texi (Windows Keyboard):
5610         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
5611         * doc/emacs/macos.texi (Mac / GNUstep Basics):
5612         * doc/emacs/glossary.texi (Glossary):
5613         * doc/emacs/custom.texi (Function Keys, Init Syntax):
5614         * doc/emacs/commands.texi (User Input):
5615         * doc/emacs/basic.texi (Arguments): Fix capitalization of "Meta".
5616         * doc/emacs/msdos.texi (Windows Keyboard):
5617         * doc/emacs/dired.texi (Dired Updating):
5618         * doc/emacs/custom.texi (Init Rebinding): Fix misuses of @key.
5619         Suggested by Richard Stallman <rms@gnu.org>.
5621 2018-03-11  Eli Zaretskii  <eliz@gnu.org>
5623         Improve documentation of Xref
5625         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
5626         xref-etags-mode.
5628 2018-03-11  Paul Eggert  <eggert@cs.ucla.edu>
5630         Fix create_process bug breaking eudc-expand-inline
5632         Problem reported by Thomas Fitzsimmons (Bug#30762).
5633         * src/process.c (create_process) [HAVE_PTYS]:
5634         Call setsid even if !PTY_FLAG.
5636 2018-03-10  Noam Postavsky  <npostavs@gmail.com>
5638         Clarify that nil doesn't match itself as a cl-case clause (Bug#30749)
5640         * lisp/emacs-lisp/cl-macs.el (cl-case): Mention that the ATOM
5641         => (ATOM) short form is only for non-nil ATOMs.
5643 2018-03-10  Charles A. Roelli  <charles@aurox.ch>
5645         Improve SVG documentation
5647         * doc/lispref/display.texi (ImageMagick Images): Remove an
5648         outdated comment that references a fixed bug.
5649         (SVG Images): Fix grammar, and call functions functions (there are
5650         no commands in lisp/svg.el).
5652 2018-03-10  Eli Zaretskii  <eliz@gnu.org>
5654         Document the "URL" keyword in library headers
5656         * doc/lispref/tips.texi (Library Headers): "URL" is an alias for
5657         "Homepage".  Suggested by Peter Oliver <p.d.oliver@mavit.org.uk>.
5658         (Bug#30571)
5660 2018-03-09  Glenn Morris  <rgm@gnu.org>
5662         * test/lisp/international/mule-tests.el:
5663         Avoid local variables confusion.
5665 2018-03-09  Bill Wohler  <wohler@newt.com>
5667         Add missing findex entries for recently removed kindex entries
5669         * doc/misc/mh-e.texi:
5671         (cherry picked from commit a56a3fc6849b89a71c9a00afcb088021ccbe94e5)
5673 2018-03-09  Glenn Morris  <rgm@gnu.org>
5675         Replace the obsolete process-kill-without-query in documentation
5677         * lisp/comint.el (comint-exec-hook):
5678         * lisp/term.el (term-exec-hook):
5679         * lisp/eshell/esh-proc.el (eshell-exec-hook):
5680         Doc fixes re the obsolete process-kill-without-query.
5682 2018-03-08  Michael Albinus  <michael.albinus@gmx.de>
5684         Minor change in the manual
5686         * doc/emacs/display.texi (Useless Whitespace):
5687         Don't upcase "TAB" and "SPC" when alluding to characters.
5689 2018-03-08  Eli Zaretskii  <eliz@gnu.org>
5691         More minor changes in the manual
5693         * doc/emacs/display.texi (Useless Whitespace): Don't upcase "TAB"
5694         and "SPC" when alluding to characters.  Suggested by Richard
5695         Stallman <rms@gnu.org>.
5697         * doc/emacs/buffers.texi (Misc Buffer): Clarify what "read-only"
5698         means for buffers.
5699         (Buffers): Define and describe "buffer contents".  Suggested by
5700         Richard Stallman <rms@gnu.org>.  (Bug#30685)
5702 2018-03-07  Glenn Morris  <rgm@gnu.org>
5704         Replace some obsolete aliases in code
5706         * lisp/net/eudc-bob.el (eudc-bob-mail-keymap):
5707         * lisp/textmodes/reftex-toc.el (reftex-make-separate-toc-frame):
5708         Replace obsolete aliases.
5710 2018-03-07  Glenn Morris  <rgm@gnu.org>
5712         Replace some obsolete aliases in documentation
5714         * doc/misc/efaq-w32.texi (Incoming mail with Rmail):
5715         * doc/misc/speedbar.texi (Major Display Modes):
5716         * lisp/mh-e/mh-folder.el (mh-restore-desktop-buffer):
5717         Doc fixes re obsolete aliases.
5719 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
5721         Minor improvements in manuals
5723         * doc/lispref/variables.texi (Local Variables): Make more clear
5724         that local bindings of 'let' are in effect only within the body.
5725         Suggested by Marcin Borkowski <mbork@mbork.pl>, see
5726         http://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00217.html
5727         for the details.
5729         * doc/emacs/programs.texi (Matching): Fix a typo.  Reported by
5730         Alex Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
5731         Improve indexing.
5733 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
5735         Minor copyedits in display.texi
5737         * doc/emacs/display.texi (Highlight Interactively)
5738         (Useless Whitespace, Line Truncation, Visual Line Mode): Minor
5739         changes of wording and typo corrections.  Suggested by Michael
5740         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
5742 2018-03-07  Glenn Morris  <rgm@gnu.org>
5744         Remove some unused spam.el variables
5746         * lisp/gnus/spam.el (spam-ifile-path, spam-ifile-database-path)
5747         (spam-bogofilter-path, spam-bsfilter-path)
5748         (spam-spamassassin-path, spam-sa-learn-path):
5749         Remove variables that are described as obsolete, but are
5750         really completely unused, and have been for years.
5752 2018-03-07  Glenn Morris  <rgm@gnu.org>
5754         Replace some obsolete aliases in code
5756         * lisp/emulation/viper.el (viper-set-hooks):
5757         * lisp/epa-hook.el (auto-encryption-mode):
5758         * lisp/term/pc-win.el (set-frame-font): Replace obsolete aliases.
5759         * lisp/net/quickurl.el (quickurl--assoc-function): New.
5760         (quickurl-assoc-function): Use it.
5762 2018-03-07  Glenn Morris  <rgm@gnu.org>
5764         Replace some obsolete aliases in documentation
5766         * doc/emacs/text.texi (Nroff Mode):
5767         * doc/misc/efaq.texi (How to add fonts):
5768         * lisp/gnus/nnheader.el (nnheader-insert-file-contents):
5769         * lisp/progmodes/pascal.el (pascal-outline-mode):
5770         Doc fixes re obsolete aliases.
5772 2018-03-06  Glenn Morris  <rgm@gnu.org>
5774         Obsolete eshell-cmpl-suffix-list
5776         * lisp/eshell/em-cmpl.el (eshell-cmpl-suffix-list):
5777         Make obsolete, to match pcomplete-suffix-list.
5779 2018-03-06  Eli Zaretskii  <eliz@gnu.org>
5781         More minor changes in the Glossary of the Emacs manual
5783         * doc/emacs/glossary.texi (Glossary): Improve cross-references for
5784         modifier keys.  Fix typos.  Suggested by Gijs Hillenius
5785         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
5787 2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>
5789         Revert last commit
5791         This reverts commit af4697faa1f5b643f63a9ea61aa205a4c1432e23.  It's
5792         too late for this to be in the release.
5794 2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>
5796         Define if-let* and derivatives as aliases for if-let etc
5798         This commit reverts declaring `if-let' and `when-let' obsolete in
5799         favor of the new `if-let*' and `when-let*' versions because of the
5800         compiler warning mess (Bug#30039).  Instead we make foo-let* aliases
5801         for foo-let.  The old single-tuple variable spec case is still
5802         supported for backward compatibility.
5803         * lisp/emacs-lisp/subr-x.el (if-let, when-let): Don't declare
5804         obsolete.  Tweak edebug specs.
5805         (and-let): Renamed from `and-let*' for compatibility with the names
5806         `if-let' and `when-let'.
5807         (if-let*, when-let*, and-let*): Define as aliases for `if-let',
5808         `when-let' and `and-let'.
5809         * test/lisp/emacs-lisp/subr-x-tests.el (if-let-single-tuple-case-test)
5810         (when-let-single-tuple-case-test): New tests for the single-binding
5811         tuple case.
5812         In the whole file, prefer the names without "*".
5814 2018-03-05  Eli Zaretskii  <eliz@gnu.org>
5816         Minor fix in Emacs manual's Glossary
5818         * doc/emacs/glossary.texi (Glossary): Fix outdated text about
5819         primary selection.  Reported by Gijs Hillenius
5820         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
5822 2018-03-03  Juri Linkov  <juri@linkov.net>
5824         * lisp/progmodes/grep.el (zrgrep):
5826         Let-bind grep-use-null-filename-separator to nil (bug#30559).
5828 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
5830         Minor copyedits in doc/emacs/text.texi
5832         * doc/emacs/text.texi (TeX Mode): Use @code for command markup.
5833         (HTML Mode): Add a note about "C-x C-v" binding in HTML mode.
5835 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
5837         Remove outdated comment in syntax.el
5839         * lisp/emacs-lisp/syntax.el (syntax-ppss-toplevel-pos): Remove
5840         outdated comment.  (Bug#30617)
5842 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
5844         Prevent Flyspell from changing unrelated words
5846         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Avoid
5847         using stale cached data from previous invocations of this command.
5848         (Bug#30462)
5850 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
5852         Avoid errors in flymake in builds --without-x
5854         * lisp/progmodes/flymake.el: Require 'mwheel'.  (Bug#28732)
5856 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
5858         More improvements of the Emacs manual
5860         * doc/emacs/rmail.texi (Rmail Reply, Rmail Sorting): Improve
5861         wording.  Suggested by Daniel Chakraborty
5862         <danielmchakraborty@gmail.com>.
5864         * doc/emacs/glossary.texi (Glossary): Add cross-references.
5865         Improve and clarify wording.  Suggested by Gijs Hillenius
5866         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
5868         * doc/emacs/text.texi (Org Authoring): Add more supported formats
5869         to the list.
5870         (TeX Print): Improve wording.  Slightly rearrange stuff.
5871         (TeX Misc): Mention doctex-mode-hook.
5872         (Two-Column): Minor rearrangement of text.  Suggested by Michael
5873         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
5875         * doc/emacs/misc.texi (Saving Emacs Sessions):
5876         * doc/emacs/programs.texi (Program Modes): Remove redundant text
5877         and index entries.
5879 2018-03-03  Dmitry Gutov  <dgutov@yandex.ru>
5881         Backport: xref--next-error-function: Move xref's window point
5883         * lisp/progmodes/xref.el (xref--next-error-function): Move
5884         xref's window point if it's visible.  When we don't do that,
5885         navigation can start looping after a while.
5887         (cherry picked from commit 108ce84432d597f92637ea74bd0a094224d157de)
5889 2018-03-02  Glenn Morris  <rgm@gnu.org>
5891         mwheel minor consistency fix
5893         * lisp/mwheel.el (mwheel-scroll-left-function)
5894         (mwheel-scroll-right-function):
5895         Change from defcustom to defvar, for consistency with pre-existing.
5897 2018-03-02  Eli Zaretskii  <eliz@gnu.org>
5899         * src/window.c (Frecenter): Improve commentary.
5901 2018-03-02  Eli Zaretskii  <eliz@gnu.org>
5903         Fix downloading non-text files in EWW
5905         * lisp/net/eww.el (eww-download-callback): Bind
5906         coding-system-for-read to 'no-conversion', to avoid any code- or
5907         EOL-conversions in downloaded files.  (Bug#30664)
5909 2018-03-02  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
5911         Rename some mwheel options, for consistency
5913         * lisp/mwheel.el (mouse-wheel-tilt-scroll)
5914         (mouse-wheel-flip-direction): Rename from mwheel-tilt-scroll-p,
5915         mwheel-flip-direction.
5916         (mwheel-scroll): Update for option renaming.
5917         * doc/emacs/frames.texi (Mouse Commands):
5918         Update for option renaming.
5920 2018-03-01  Glenn Morris  <rgm@gnu.org>
5922         * lisp/vc/add-log.el (add-change-log-entry): Replace obsolete alias.
5924 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
5926         Improve the Emacs manual
5928         * doc/emacs/xresources.texi (Table of Resources): Mention that
5929         some resources are ignored by toolkit builds.
5930         * doc/emacs/custom.texi (Key Bindings): Improve indexing.
5931         (Bug#30530)
5933 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
5935         * lisp/dired-aux.el (dired-do-create-files): Doc fix.  (Bug#30634)
5937 2018-03-01  Michael Albinus  <michael.albinus@gmx.de>
5939         Further improvements on manuals
5941         * doc/emacs/xresources.texi:
5942         * doc/lispref/display.texi:
5943         * doc/lispref/keymaps.texi:
5944         * doc/misc/dbus.texi:
5945         * doc/misc/efaq-w32.texi: Use "GTK+" where applicable.
5947         * doc/emacs/xresources.texi (Resources): Mention several use
5948         of "-xrm".
5949         (Table of Resources) [verticalScrollBars]: Add reference to Scroll Bars.
5951 2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>
5953         Require a larger stack size for threads on macOS (bug#30364)
5955         * src/systhread.c (sys_thread_create)
5956         [THREADS_ENABLED && HAVE_PTHREAD && DARWIN_OS]:
5957         Require at least 8MB stack size for x64 and 4MB for x86 on macOS.
5958         Do not merge to master.
5960 2018-02-28  Glenn Morris  <rgm@gnu.org>
5962         * doc/lispref/streams.texi (Output Variables): Fix previous.
5964 2018-02-28  Michael Albinus  <michael.albinus@gmx.de>
5966         Use "GTK+" where applicable in the manual
5968         * doc/emacs/display.texi (Standard Faces, Standard Faces):
5969         * doc/emacs/emacs.texi (Top):
5970         * doc/emacs/files.texi (Visiting):
5971         * doc/emacs/frames.texi (Scroll Bars):
5972         * doc/emacs/xresources.texi: Use "GTK+" where applicable.
5974 2018-02-28  Paul Eggert  <eggert@cs.ucla.edu>
5976         Document print-escape-control-characters
5978         * doc/lispref/streams.texi, etc/NEWS: Add doc.
5980 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
5982         * doc/emacs/killing.texi (Rectangles): Don't use @key for characters.
5984 2018-02-27  Glenn Morris  <rgm@gnu.org>
5986         * lisp/emulation/viper.el: Unbreak it.
5988         Since 2017-03-19, M-x viper failed with function void cl-member-if.
5989         Perhaps it isn't used much.
5991 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
5993         More fixes in the Emacs manual
5995         * doc/emacs/xresources.texi (Table of Resources, Lucid Resources):
5996         Sort the resources.
5997         (Lucid Resources): Add cross-references.
5998         (GTK Resource Basics): Fix wording.
5999         (GTK styles): Add empty lines in a @table.  Suggested by Michael
6000         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
6002 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
6004         Avoid aborts in 'md5'
6006         * src/fns.c (extract_data_from_object): Don't crash if called with
6007         an invalid object.  (Bug#30627)
6009 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
6011         Mark keys consistently in manuals
6013         * doc/emacs/killing.texi:
6014         * doc/lispintro/emacs-lisp-intro.texi:
6015         * doc/misc/calc.texi:
6016         * doc/misc/cc-mode.texi:
6017         * doc/misc/dired-x.texi:
6018         * doc/misc/ede.texi:
6019         * doc/misc/edt.texi:
6020         * doc/misc/efaq.texi:
6021         * doc/misc/erc.texi:
6022         * doc/misc/eshell.texi:
6023         * doc/misc/gnus-faq.texi:
6024         * doc/misc/gnus-news.texi:
6025         * doc/misc/idlwave.texi:
6026         * doc/misc/ido.texi:
6027         * doc/misc/mairix-el.texi:
6028         * doc/misc/message.texi:
6029         * doc/misc/mh-e.texi:
6030         * doc/misc/newsticker.texi:
6031         * doc/misc/org.texi:
6032         * doc/misc/pcl-cvs.texi:
6033         * doc/misc/ses.texi:
6034         * doc/misc/sieve.texi:
6035         * doc/misc/smtpmail.texi:
6036         * doc/misc/speedbar.texi:
6037         * doc/misc/srecode.texi:
6038         * doc/misc/vhdl-mode.texi:
6039         * doc/misc/vip.texi:
6040         * doc/misc/viper.texi: Mark keys consistently.
6042 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
6044         Remove @key{} markups from @kindex entries in manuals
6046         * doc/emacs/basic.texi:
6047         * doc/emacs/buffers.texi:
6048         * doc/emacs/building.texi:
6049         * doc/emacs/calendar.texi:
6050         * doc/emacs/custom.texi:
6051         * doc/emacs/dired.texi:
6052         * doc/emacs/display.texi:
6053         * doc/emacs/files.texi:
6054         * doc/emacs/frames.texi:
6055         * doc/emacs/help.texi:
6056         * doc/emacs/indent.texi:
6057         * doc/emacs/killing.texi:
6058         * doc/emacs/kmacro.texi:
6059         * doc/emacs/mark.texi:
6060         * doc/emacs/mini.texi:
6061         * doc/emacs/misc.texi:
6062         * doc/emacs/modes.texi:
6063         * doc/emacs/msdos-xtra.texi:
6064         * doc/emacs/msdos.texi:
6065         * doc/emacs/mule.texi:
6066         * doc/emacs/picture-xtra.texi:
6067         * doc/emacs/programs.texi:
6068         * doc/emacs/regs.texi:
6069         * doc/emacs/rmail.texi:
6070         * doc/emacs/screen.texi:
6071         * doc/emacs/search.texi:
6072         * doc/emacs/sending.texi:
6073         * doc/emacs/text.texi:
6074         * doc/emacs/trouble.texi:
6075         * doc/misc/calc.texi:
6076         * doc/misc/cc-mode.texi:
6077         * doc/misc/ediff.texi:
6078         * doc/misc/ert.texi:
6079         * doc/misc/eww.texi:
6080         * doc/misc/forms.texi:
6081         * doc/misc/gnus.texi:
6082         * doc/misc/idlwave.texi:
6083         * doc/misc/info.texi:
6084         * doc/misc/message.texi:
6085         * doc/misc/mh-e.texi:
6086         * doc/misc/newsticker.texi:
6087         * doc/misc/org.texi:
6088         * doc/misc/pcl-cvs.texi:
6089         * doc/misc/rcirc.texi:
6090         * doc/misc/reftex.texi:
6091         * doc/misc/sc.texi:
6092         * doc/misc/sieve.texi:
6093         * doc/misc/vhdl-mode.texi:
6094         * doc/misc/vip.texi:
6095         * doc/misc/viper.texi:
6096         * doc/misc/woman.texi: Remove @key{} markups from @kindex entries.
6098 2018-02-25  Eli Zaretskii  <eliz@gnu.org>
6100         * doc/emacs/display.texi (Standard Faces): Fix markup of index entry.
6102 2018-02-25  Michael Albinus  <michael.albinus@gmx.de>
6104         Fix @kindex entries in manuals
6106         * doc/emacs/basic.texi:
6107         * doc/emacs/buffers.texi:
6108         * doc/emacs/building.texi:
6109         * doc/emacs/calendar.texi:
6110         * doc/emacs/custom.texi:
6111         * doc/emacs/dired.texi:
6112         * doc/emacs/display.texi:
6113         * doc/emacs/files.texi:
6114         * doc/emacs/frames.texi:
6115         * doc/emacs/help.texi:
6116         * doc/emacs/indent.texi:
6117         * doc/emacs/killing.texi:
6118         * doc/emacs/kmacro.texi:
6119         * doc/emacs/mark.texi:
6120         * doc/emacs/mini.texi:
6121         * doc/emacs/misc.texi:
6122         * doc/emacs/modes.texi:
6123         * doc/emacs/msdos-xtra.texi:
6124         * doc/emacs/msdos.texi:
6125         * doc/emacs/mule.texi:
6126         * doc/emacs/picture-xtra.texi:
6127         * doc/emacs/programs.texi:
6128         * doc/emacs/regs.texi:
6129         * doc/emacs/rmail.texi:
6130         * doc/emacs/screen.texi:
6131         * doc/emacs/search.texi:
6132         * doc/emacs/sending.texi:
6133         * doc/emacs/text.texi:
6134         * doc/emacs/trouble.texi:
6135         * doc/lispref/files.texi:
6136         * doc/misc/calc.texi:
6137         * doc/misc/cc-mode.texi:
6138         * doc/misc/ediff.texi:
6139         * doc/misc/epa.texi:
6140         * doc/misc/ert.texi:
6141         * doc/misc/eww.texi:
6142         * doc/misc/forms.texi:
6143         * doc/misc/gnus.texi:
6144         * doc/misc/info.texi:
6145         * doc/misc/mairix-el.texi:
6146         * doc/misc/message.texi:
6147         * doc/misc/mh-e.texi:
6148         * doc/misc/newsticker.texi:
6149         * doc/misc/org.texi:
6150         * doc/misc/pcl-cvs.texi:
6151         * doc/misc/rcirc.texi:
6152         * doc/misc/sc.texi:
6153         * doc/misc/sieve.texi:
6154         * doc/misc/vhdl-mode.texi:
6155         * doc/misc/vip.texi:
6156         * doc/misc/viper.texi:
6157         * doc/misc/woman.texi: Fix @kindex entries.  Mark keys consistently.
6159 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
6161         Fix @cindex entries in manuals
6163         * doc/emacs/custom.texi:
6164         * doc/emacs/dired.texi:
6165         * doc/emacs/display.texi:
6166         * doc/emacs/files.texi:
6167         * doc/emacs/frames.texi:
6168         * doc/emacs/killing.texi:
6169         * doc/emacs/maintaining.texi:
6170         * doc/emacs/misc.texi:
6171         * doc/emacs/msdos-xtra.texi:
6172         * doc/emacs/msdos.texi:
6173         * doc/emacs/search.texi:
6174         * doc/emacs/text.texi:
6175         * doc/emacs/trouble.texi:
6176         * doc/lispintro/emacs-lisp-intro.texi:
6177         * doc/lispref/strings.texi:
6178         * doc/lispref/text.texi:
6179         * doc/misc/cc-mode.texi:
6180         * doc/misc/efaq.texi:
6181         * doc/misc/eieio.texi:
6182         * doc/misc/emacs-mime.texi:
6183         * doc/misc/gnus.texi:
6184         * doc/misc/htmlfontify.texi:
6185         * doc/misc/idlwave.texi:
6186         * doc/misc/message.texi:
6187         * doc/misc/mh-e.texi:
6188         * doc/misc/sem-user.texi:
6189         * doc/misc/ses.texi:
6190         * doc/misc/tramp.texi:
6191         * doc/misc/vhdl-mode.texi: Fix @cindex entries.
6193 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
6195         Fix @cindex entries in org.texi
6197         * doc/misc/org.texi: Fix @cindex entries.  Use consistently
6198         @code{} for keywords.
6200 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
6202         Document reserved keys
6204         * doc/emacs/custom.texi (Key Bindings): Mention keys reserved for
6205         users.  (Bug#30530)
6207 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
6209         * doc/misc/ebrowse.texi: Use @key{} for keys.
6211 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
6213         * src/keyboard.c (syms_of_keyboard): Doc fix.  (Bug#30588)
6215 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
6217         Improve documentation of X resources
6219         * doc/emacs/xresources.texi (Table of Resources): Add menu-related
6220         resources.  Add cross-references to "GTK Resources".
6222 2018-02-23  Glenn Morris  <rgm@gnu.org>
6224         * lisp/international/mule.el (keyboard-coding-system): Doc fix.
6226         Since multi-tty, this is always set.
6228 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
6230         Minor doc fixes, mostly for timestamp issues
6232 2018-02-23  Eli Zaretskii  <eliz@gnu.org>
6234         * doc/emacs/mini.texi (Completion Styles): Improve indexing.
6236 2018-02-23  Michael Albinus  <michael.albinus@gmx.de>
6238         Fix @findex and @vindex entries in manuals
6240         * doc/emacs/building.texi:
6241         * doc/emacs/calendar.texi:
6242         * doc/emacs/cmdargs.texi:
6243         * doc/emacs/mini.texi:
6244         * doc/emacs/misc.texi:
6245         * doc/emacs/trouble.texi:
6246         * doc/emacs/windows.texi:
6247         * doc/lispintro/emacs-lisp-intro.texi:
6248         * doc/lispref/edebug.texi:
6249         * doc/lispref/frames.texi:
6250         * doc/lispref/os.texi:
6251         * doc/lispref/windows.texi:
6252         * doc/misc/cc-mode.texi:
6253         * doc/misc/dired-x.texi:
6254         * doc/misc/ediff.texi:
6255         * doc/misc/mh-e.texi:
6256         * doc/misc/pcl-cvs.texi:
6257         * doc/misc/reftex.texi:
6258         * doc/misc/sc.texi:
6259         * doc/misc/vhdl-mode.texi:
6260         * doc/misc/viper.texi: Fix @findex and @vindex entries.
6262 2018-02-22  Alan Mackenzie  <acm@muc.de>
6264         Document, in the Elisp manual, how to get a character's raw syntax descriptor
6266         * doc/lispref/syntax.texi (Syntax Table internals): mention the use of `aref'
6267         to get a character's raw syntax descriptor.
6269 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
6271         Improvements in the Emacs manual
6273         * doc/emacs/custom.texi (Customization Groups)
6274         (Changing a Variable, Browsing Custom, Customizing Faces): Fix
6275         markup of keys.
6276         (Changing a Variable, Saving Customizations): Update the
6277         description of buttons in the Custom buffer.
6278         (Face Customization): More accurate description.
6279         (Specific Customization, Examining, Locals): Add blank lines in
6280         the @table.  Reported by Michael Albinus <michael.albinus@gmx.de>
6281         in emacs-manual-bugs@gnu.org.
6283 2018-02-22  Glenn Morris  <rgm@gnu.org>
6285         Tiny doc/misc markup fixes
6287         * doc/misc/ediff.texi (Patch and Diff Programs):
6288         * doc/misc/viper.texi (File and Buffer Handling): Fix markup typos.
6290 2018-02-22  Martin Rudalics  <rudalics@gmx.at>
6292         Skip mouse-face overlap check when mouse-face is hidden (Bug#30519)
6294         * src/xdisp.c (note_mouse_highlight): Skip check whether
6295         mouse-face highlighting overlay overlaps other mouse-face
6296         overlays when mouse-face highlighting is hidden (Bug#30519).
6298 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
6300         Fix capitalization of "Mail-Followup-To"
6302         * doc/emacs/sending.texi (Header Editing, Mail Headers):
6303         Standardize on "Mail-Followup-To" as the capitalization.
6305 2018-02-21  Juri Linkov  <juri@linkov.net>
6307         * lisp/progmodes/grep.el (grep-compute-defaults):
6309         Add grep-use-null-filename-separator to grep-host-defaults-alist.
6310         (Bug#30559)
6312 2018-02-21  Charles A. Roelli  <charles@aurox.ch>
6314         Semantic manual fixes
6316         * doc/misc/semantic.texi (Tools): Fix wording and grammar, and
6317         remove a reference to "document-vars.el" which, in the Emacs
6318         repository, is part of lisp/cedet/srecode/document.el.
6320 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
6322         More improvements in the Emacs manual
6324         * doc/emacs/help.texi (Misc Help):
6325         * doc/emacs/m-x.texi (M-x):
6326         * doc/emacs/mini.texi (Minibuffer File, Repetition): Prevent
6327         breaking of command sequences between lines.  Reported by Wojciech
6328         Politarczyk <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
6330         * doc/emacs/sending.texi (Header Editing): Fix capitalization.
6332 2018-02-21  tino calancha  <tino.calancha@gmail.com>
6334         * doc/misc/viper.texi (File and Buffer Handling): Add missing '@'
6336 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
6338         Fix documentation of 'x-underline-at-descent-line'
6340         * doc/emacs/display.texi (Display Custom):
6341         * src/nsterm.m (syms_of_nsterm):
6342         * src/xterm.c (syms_of_xterm):
6343         * src/w32term.c (syms_of_w32term): Mention the effect of
6344         'line-spacing' on the underline position.  (Bug#30553)
6346 2018-02-21  Glenn Morris  <rgm@gnu.org>
6348         * lisp/textmodes/flyspell.el (flyspell-get-word): Doc fix.
6350 2018-02-20  Robert Pluim  <rpluim@gmail.com>
6352         Correct variable markup in manuals
6354         * doc/lispref/minibuf.texi (Completion in Buffers): Fix markup.
6355         * doc/lispref/text.texi (Filling): Likewise.
6356         * doc/misc/dired-x.texi (Advanced Mark Commands): Likewise.
6357         * doc/misc/epa.texi (Encrypting/decrypting gpg files): Likewise.
6358         (Encrypting/decrypting gpg files): Likewise.
6359         * doc/misc/tramp.texi (External methods): Likewise.
6360         (Default Method): Likewise.
6361         * doc/misc/viper.texi (Editing in Insert State): Likewise.
6362         (File and Buffer Handling): Likewise.
6363         * doc/misc/gnus.texi (Mail Source Customization): Likewise.
6364         * doc/misc/url.texi (Customization): Likewise.  Note obsolete
6365         status of url-temporary-directory.
6367 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
6369         Improve the "Sending Mail" chapter of Emacs manual
6371         * doc/emacs/sending.texi (Mail Format, Header Editing)
6372         (Mail Aliases): Fix capitalization of mail headers.
6373         (Mail Aliases): Use ~/.mailrc consistently.
6374         (Mail Misc): More accurate description of disposition.  Suggested
6375         by Michael Albinus <michael.albinus@gmx.de> in
6376         emacs-manual-bugs@gnu.org.
6378 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
6380         Fix documentation of 'flyspell-auto-correct-word'
6382         * lisp/textmodes/flyspell.el (flyspell-get-word): Elaborate in the
6383         doc string on how the function looks for the word to spell-check.
6384         (flyspell-word, flyspell-auto-correct-word): Refer to
6385         'flyspell-get-word' for details about finding the word.
6386         (Bug#30462)
6388 2018-02-19  Robert Pluim  <rpluim@gmail.com>
6390         * doc/emacs/misc.texi (Saving Emacs Sessions): Fix markup.
6392 2018-02-19  Eli Zaretskii  <eliz@gnu.org>
6394         More changes in the Emacs manuals
6396         * doc/emacs/custom.texi (Customization Groups, Browsing Custom)
6397         (Custom Themes, Keymaps, Prefix Keymaps, Modifier Keys)
6398         (Function Keys, Named ASCII Chars, Mouse Buttons, Init Examples):
6399         Fix punctuation.  Suggested by Stefan Kamphausen
6400         <stefan.kamphausen@acrolinx.com> in emacs-manual-bugs@gnu.org.
6402         * doc/emacs/basic.texi (Arguments, Repeating): Avoid breaking
6403         commands between lines.  Reported by Wojciech Politarczyk
6404         <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
6406         * doc/emacs/custom.texi (Init Rebinding): Move index entries about
6407         rebinding keys from "Init File".  (Bug#30528)
6409 2018-02-18  Eli Zaretskii  <eliz@gnu.org>
6411         More fixes in the Emacs manual
6413         * doc/emacs/abbrevs.texi (Defining Abbrevs, Expanding Abbrevs)
6414         (Editing Abbrevs, Saving Abbrevs): Insert blank lines between
6415         @item's.
6416         (Expanding Abbrevs): Add 'unexpand-abbrev' to the list of
6417         commands.  Suggested by Michael Albinus <michael.albinus@gmx.de>
6418         in emacs-manual-bugs@gnu.org.
6420 2018-02-18  Eli Zaretskii  <eliz@gnu.org>
6422         * src/data.c (Faref): Fix a typo in the doc string.  (Bug#30510)
6424 2018-02-18  Michael Albinus  <michael.albinus@gmx.de>
6426         Minor edit in tramp.texi
6428         * doc/misc/tramp.texi (Remote shell setup, Windows setup hints):
6429         Improve @cindex entries.
6431 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
6433         More improvements in the Emacs manual
6435         * doc/emacs/maintaining.texi (Xref Commands, Identifier Search)
6436         (List Identifiers): Insert blank lines between @item's in a
6437         @table.
6438         (Etags Regexps): More accurate description of escape sequences.
6439         (Select Tags Table): Prefer "~/emacs.d/init.el" to "~/.emacs".
6440         Suggested by Michael Albinus <michael.albinus@gmx.de> in
6441         emacs-manual-bugs@gnu.org.
6443 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
6445         Improve documentation of 'electric-pair-mode'
6447         * lisp/elec-pair.el (electric-pair-mode):
6448         * doc/emacs/programs.texi (Matching): Document the operation of
6449         electric-pair-mode when there's an active region.  (Bug#30502)
6451 2018-02-17  Charles A. Roelli  <charles@aurox.ch>
6453         lisp/vc/: documentation fixes
6455         * lisp/vc/vc.el (vc-region-history): Clarify documentation.
6456         * lisp/vc/add-log.el (change-log-get-method-definition):
6457         Indent documentation.
6459 2018-02-17  Robert Pluim  <rpluim@gmail.com>
6461         Document 'desktop-files-not-to-save'
6463         * doc/emacs/misc.texi (Saving Emacs Sessions): Add description
6464         of 'desktop-files-not-to-save'.
6466         * lisp/desktop.el (desktop-files-not-to-save): Explain that
6467         the default value excludes buffers visiting remote files.
6469 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
6471         Improve documentation of Profiling features
6473         * doc/lispref/debugging.texi (Profiling): Improve the description
6474         of elp.el.  Improve wording of the rest of the section.  (Bug#30491)
6476         * lisp/emacs-lisp/elp.el (elp-instrument-list): Make the
6477         interactive invocation work.  Doc fix.
6479 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
6481         Improve indexing of "performance" in ELisp manual
6483         * doc/lispref/debugging.texi (Profiling):
6484         * doc/lispref/edebug.texi (Coverage Testing): Improve indexing of
6485         features useful for performance analysis.  (Bug#30490)
6487 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
6489         Minor change in Emacs manual's VC chapter
6491         * doc/emacs/maintaining.texi (Log Buffer): Mention the "Summary"
6492         header.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
6493         emacs-manual-bugs@gnu.org.
6495 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
6497         Avoid memory corruption with specpdl overflow + edebug (Bug#30481)
6499         If grow_specpdl fails due to outgrowing max_specpdl_size, it will
6500         signal an error *before* growing the specpdl array.  Therefore, when
6501         handling the signal, specpdl_ptr points past the end of the specpdl
6502         array and any further use of of specpdl before unwinding (e.g., if
6503         edebug binds signal-hook-function) will cause memory corruption.
6504         * src/eval.c (signal_or_quit): Don't call `signal-hook-function' if
6505         the specpdl_ptr is already past the end of the specpdl array.
6506         * test/src/eval-tests.el (eval-tests--exceed-specbind-limit)
6507         (eval-exceed-specbind-with-signal-hook): New test & helper function.
6509 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
6511         Document comment-fill-column in the manual (Bug#11636)
6513         * doc/emacs/programs.texi (Comment Commands)
6514         (Options for Comments): Mention comment-fill-column.
6516 2018-02-17  Glenn Morris  <rgm@gnu.org>
6518         * doc/emacs/dired.texi (Marks vs Flags): Copyedits.
6520 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
6522         More fixes for the Emacs manual
6524         * doc/emacs/vc1-xtra.texi (Customizing VC): Update the list of
6525         backends.
6526         * doc/emacs/maintaining.texi (Version Control): Add SRC to the
6527         list of VCS.  Remove the description of vc-state-refresh.
6528         (Version Control Systems): Update the description of CVS.
6529         (VC Change Log): Amend the list of VCS that don't support
6530         vc0print-root-log.
6531         (VCS Changesets, VCS Repositories, Advanced C-x v v)
6532         (VC Change Log): Mention SRC with RCS where appropriate.
6533         (VC Directory Commands): More accurate description of
6534         vc-dir-hide-up-to-date.  Suggested by Michael Albinus
6535         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
6537 2018-02-16  Robert Cochran  <robert@cochranmail.com>
6539         Make 'byte-compile-error-on-warn' a safe file variable
6541         * lisp/emacs-lisp/bytecomp.el (byte-compile-error-on-warn): Mark
6542         as a safe local variable for boolean values.
6544 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
6546         Fix the doc string of flyspell-auto-correct-word
6548         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Doc
6549         fix.  (Bug#30462)
6551 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
6553         Improve the MS-Windows appendix of the Emacs manual
6555         * doc/emacs/msdos.texi (Windows Startup): Describe the pinned
6556         shortcuts for starting Emacs.
6557         (Text and Binary): Minor wording changes.
6558         (Windows Files): Mention 'read-file-name-completion-ignore-case'.
6559         (ls in Lisp): Update the list of supported 'ls' switches.
6560         Document 'ls-lisp-use-string-collate' and
6561         'ls-lisp-UCA-like-collation'.
6562         (Windows HOME): Mention warnings displayed at startup when
6563         deprecated locations of HOME and/or deprecated names for init
6564         files are used.
6565         (Windows Keyboard): Mention delete-selection-mode.
6567 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
6569         Fix 'vc-git--program-version'
6571         * lisp/vc/vc-git.el (vc-git--program-version): Fix the function to
6572         work with Git for Windows.
6574 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
6576         Fix typos and wording in the Emacs manual
6578         * doc/emacs/dired.texi (Marks vs Flags, Hiding Subdirectories):
6579         * doc/emacs/maintaining.texi (Tag Syntax):
6580         * doc/emacs/building.texi (Commands of GUD, Threads Buffer)
6581         (Lisp Libraries):
6582         * doc/emacs/windows.texi (Temporary Displays): Fix typos.
6583         * doc/emacs/files.texi (Backup Copying): Fix wording.  Reported by
6584         Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
6585         emacs-manual-bugs@gnu.org.
6587 2018-02-16  Michael Albinus  <michael.albinus@gmx.de>
6589         * doc/emacs/programs.texi (Semantic): Order programming languages.
6591 2018-02-15  Eli Zaretskii  <eliz@gnu.org>
6593         More improvements for the Emacs manual
6595         * doc/emacs/programs.texi (Basic Indent, Comment Commands): Fix
6596         typos.
6597         * doc/emacs/text.texi (TeX Print, HTML Mode, Enriched Faces): Fix
6598         typos.
6599         * doc/emacs/help.texi (Help Files): Improve @uref usage.  Reported
6600         by Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
6601         emacs-manual-bugs@gnu.org.
6603         * doc/emacs/fortran-xtra.texi (ForIndent Commands): Fix a typo.
6604         (ForIndent Commands, Fortran Columns): Add empty lines between
6605         @items in a @table.
6606         (ForIndent Cont, ForIndent Num, Fortran Columns): Mention
6607         'column-number-indicator-zero-based'.
6608         (ForIndent Vars): Fix a typo.
6609         (Fortran Comments): Fix punctuation.
6610         (ForIndent Cont, Fortran Autofill): Fix markup of keyboard input.
6611         * doc/emacs/programs.texi (Comments): Fix a typo.
6612         (Comment Commands): More accurate description of the commands.
6613         (Options for Comments): Don't mention "hook".
6614         (Man Page): Prefer "M-x man" if available.
6615         (Hideshow): Fix the command key sequence.
6616         (Semantic): Update supported languages.
6617         (Semantic, Hungry Delete, Other C Commands): Fix markup of
6618         commands.
6619         (Misc for Programs): Fix a typo.
6620         (Electric C, Hungry Delete): More accurate description of
6621         mode-line lighters of CC submodes.
6622         (Asm Mode): Add empty lines between @items in a @table.
6623         * doc/emacs/programs.texi (Program Modes): Add a few more modes.
6624         Reported by Michael Albinus <michael.albinus@gmx.de> in
6625         emacs-manual-bugs@gnu.org.
6627         * doc/emacs/msdos.texi (Windows Misc): A minor rewording.
6628         Suggested by Isaac Carter <icarter1391@gmail.com> in
6629         emacs-manual-bugs@gnu.org.
6631 2018-02-14  Eli Zaretskii  <eliz@gnu.org>
6633         Minor wording change in Emacs manual
6635         * doc/emacs/killing.texi (Accumulating Text): Fix spelling.
6636         Reported by lyr3 <lyr3@protonmail.com> in
6637         emacs-manual-bugs@gnu.org.
6639 2018-02-14  Eli Zaretskii  <eliz@gnu.org>
6641         Another set of changes for the manual
6643         * doc/emacs/programs.texi (Program Indent): Add a cross-reference
6644         to elisp's description of 'pp'.
6645         (Program Modes): Add a few more programming modes.  Add index
6646         entries.
6647         (Basic Indent, Multi-line Indent, C Indent, Comment Commands)
6648         (Manipulating Comments): Fix markup of keyboard commands.
6649         * doc/emacs/search.texi (Regexps): Add an example with non-ASCII
6650         characters.  Suggested by Michael Albinus <michael.albinus@gmx.de>
6651         in emacs-manual-bugs@gnu.org.
6653         * doc/lispref/display.texi (Display Tables): Fix the description
6654         of the 5th extra slot of the display table.  (Bug#13473)
6656         * doc/emacs/regs.texi (Registers): Simplify wording.
6658         * doc/emacs/custom.texi (Init Non-ASCII): Remove outdated text
6659         about perils of encoded keyboard input.
6661 2018-02-14  Michael Albinus  <michael.albinus@gmx.de>
6663         Improvements on tramp.texi
6665         * doc/misc/tramp.texi: Use Tramp version in title.  Further
6666         improvements on user option indexing.  Finish command examples
6667         with @key{RET} where appropriate.
6668         (Remote processes): Use 'M-&' for invocation of async shell.
6669         (Frequently Asked Questions): Add example with simplified syntax.
6671 2018-02-13  Paul Eggert  <eggert@cs.ucla.edu>
6673         Tramp minor doc fixes
6675         * doc/misc/tramp.texi (Remote processes): Spelling fix and minor
6676         wording improvement.
6678 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
6680         More changes in the Emacs manual
6682         * doc/emacs/search.texi (Regexp Backslash): Say that
6683         symbol-constituent characters are determined by the syntax table.
6684         (Lax Search): Fix example of case-insensitive search.  Fix a
6685         typo.
6686         (Unconditional Replace): Improve wording.
6687         (Regexp Replace): More consistent wording.  Reported by Michael
6688         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
6690         * doc/emacs/msdos.texi (Windows HOME): Avoid enumerating all the
6691         Windows versions.  Reported by Isaac Carter
6692         <icarter1391@gmail.com> in emacs-manual-bugs@gnu.org.
6694 2018-02-13  Andreas Schwab  <schwab@suse.de>
6696         * lisp/vc/vc.el (vc-deduce-backend): Use ignore-errors.
6698 2018-02-13  Andreas Schwab  <schwab@suse.de>
6700         Don't signal error in vc-deduce-backend
6702         * lisp/vc/vc.el (vc-deduce-backend): Return nil if
6703         vc-responsible-backend signals an error.
6705 2018-02-13  Michael Albinus  <michael.albinus@gmx.de>
6707         * doc/misc/tramp.texi: Index more user options.
6709 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
6711         Minor change in the Emacs manual
6713         * doc/emacs/building.texi (Lisp Libraries): Explain why nil in
6714         load-path is not a good idea.  Suggested by James Yoo
6715         <james.yoo@gmail.com> in emacs-manual-bugs@gnu.org.
6717 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
6719         NEWS update about 'string-trim'
6721         * etc/NEWS: Mention changes in string-trim family of functions.
6722         (Bug#30442)
6724 2018-02-13  Noam Postavsky  <npostavs@gmail.com>
6726         Clarify TRAMP process-environment interaction (Bug#30419)
6728         * doc/misc/tramp.texi (Remote processes): Index the
6729         tramp-remote-process-environment description.  Clarify the effects of
6730         let-binding process-environment and the motivation for that behavior.
6732 2018-02-12  Juri Linkov  <juri@linkov.net>
6734         * lisp/progmodes/grep.el (grep-num-matches-found): New variable.
6736         (grep-mode-line-matches): New defconst.
6737         (grep-mode-font-lock-keywords): Update the regexp for “Grep finished”
6738         to include the number of matches found.
6739         (grep-process-setup): Set grep-num-matches-found to 0.
6740         (grep-exit-message): New function with body moved from lambda
6741         in grep-process-setup.  Use grep-num-matches-found to return
6742         the number of matches found.
6743         (grep-filter): Increment grep-num-matches-found.
6744         (grep-mode): Set compilation-mode-line-errors to grep-mode-line-matches.
6745         (Bug#30397, bug#14017)
6747 2018-02-12  Eli Zaretskii  <eliz@gnu.org>
6749         Avoid aborts in cm.c due to too small TTY frame
6751         * src/frame.c (frame_windows_min_size): Limit TTY frames to a
6752         minimum height large enough to allow for a menu bar, the mode
6753         line, one text line and one echo-area line.  This avoids aborts in
6754         cm.c:cmcheckmagic.  (Bug#30320)
6756 2018-02-12  Eli Zaretskii  <eliz@gnu.org>
6758         Another set of improvements in the Emacs manual
6760         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
6761         * doc/emacs/msdos.texi (Windows Keyboard):
6762         * doc/emacs/mark.texi (Using Region):
6763         * doc/emacs/frames.texi (Menu Mouse Clicks):
6764         * doc/emacs/macos.texi (Mac / GNUstep Basics): Fix spelling of
6765         keys.  Reported by Michael Albinus <michael.albinus@gmx.de> in
6766         emacs-manual-bugs@gnu.org.
6768         * doc/emacs/glossary.texi (Glossary): Document that "c.f." is a
6769         misspelling.  Reported by Robert Pluim <rpluim@gmail.com>.
6770         Various minor wording improvements.  Suggested by Toon Claes
6771         <toon@iotcl.com> in emacs-manual-bugs@gnu.org.
6772         More minor changes.  Suggested by Michael Albinus
6773         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
6775         * doc/emacs/cmdargs.texi (Title X): Improve wording.
6777         * doc/emacs/building.texi (Grep Searching, Compilation): Avoid
6778         passive tense.
6780         * doc/emacs/basic.texi (Moving Point): Move the description of the
6781         bidi-related effects of the arrow keys from here ...
6782         * doc/emacs/mule.texi (Bidirectional Editing): ... to here.
6783         Explain the behavior of arrow keys between paragraphs.
6785 2018-02-12  Michael Albinus  <michael.albinus@gmx.de>
6787         Fix help in mode-line-mode-menu
6789         * lisp/bindings.el (mode-line-mode-menu) [auto-revert-tail-mode]:
6790         Fix help string.
6792 2018-02-11  Eli Zaretskii  <eliz@gnu.org>
6794         Improve documentation of desktop restoring
6796         * doc/emacs/misc.texi (Saving Emacs Sessions): Document
6797         'desktop-auto-save-timeout', 'desktop-load-locked-desktop', and
6798         how to restore desktop in daemon mode.  (Bug#30421)
6800 2018-02-11  Eli Zaretskii  <eliz@gnu.org>
6802         Improve the Emacs manual's chapter "Frames"
6804         * doc/emacs/frames.texi (Creating Frames): Add a cross-reference
6805         to where frame visibility is described.
6806         (Word and Line Mouse): Clarify wording.
6807         (Scroll Bars): Qualify scroll-bar behavior.  Reported by Dmitry
6808         Gutov <dgutov@yandex.ru> in emacs-manual-bugs@gnu.org.
6810 2018-02-10  Andreas Schwab  <schwab@linux-m68k.org>
6812         Fix unbound mm-uu-entry in mm-uu
6814         * lisp/gnus/mm-uu.el (mm-uu-dissect): Rename entry to mm-uu-entry.
6816 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
6818         Improve Emacs user manual in fixit.texi
6820         * doc/emacs/fixit.texi (Undo): Clarify inaccurate description of
6821         repeated undo.
6822         (Transpose): Describe explicitly what happens at EOL.
6823         (Spelling): Use "spell-checking" consistently.  Clarify wording.
6824         Suggested by Toon Claes <toon@iotcl.com> in
6825         emacs-manual-bugs@gnu.org.
6827 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
6829         Another minor change in the manual
6831         * doc/emacs/glossary.texi (Glossary): Add popular Latin
6832         abbreviations, such as "e.g.".
6834 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
6836         More minor changes in the Emacs manual
6838         * doc/emacs/xresources.texi (GTK resources):
6839         * doc/emacs/trouble.texi (Contributing):
6840         * doc/emacs/frames.texi (Fonts): Use HTTPS URLs instead of HTTP.
6842         * doc/emacs/docstyle.texi: Add a few @hyphenation directives,
6843         based on reports in emacs-manual-bugs@gnu.org about incorrect
6844         hyphenation.
6846 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
6848         Avoid printing garbled error message from image.el
6850         * lisp/image.el (image--get-imagemagick-and-warn): Don't use
6851         apostrophe in the error message, as that message is shown from a
6852         unibyte buffer, and will run afoul of the default style of showing
6853         quote characters.  (Bug#30405)
6855 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
6857         Doc string fix in latin-alt.el
6859         * lisp/leim/quail/latin-alt.el ("dutch"): Doc fix.  Reported by
6860         Robert Pluim <rpluim@gmail.com>.
6862 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
6864         Minor improvements in package.texi
6866         * doc/emacs/package.texi (Package Menu): Minor wording change.
6867         (Package Installation): Use HTTPS.  A better @xref to GnuPG
6868         manual.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
6869         emacs-manual-bugs@gnu.org.
6871 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
6873         Minor improvement in Emacs user manual
6875         * doc/emacs/files.texi (Directories): Document that
6876         'directory-free-space-program' and 'directory-free-space-args' are
6877         only for local filesystems.  Suggested by Michael Albinus
6878         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
6880 2018-02-09  Michael Albinus  <michael.albinus@gmx.de>
6882         * doc/lispref/anti.texi (Antinews): Replace 25.2 with 25.3.
6884 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
6886         Improve documentation of mini-window resizing
6888         * doc/lispref/minibuf.texi (Minibuffer Windows): Mention
6889         'message-truncate-lines' for preventing resizing of minibuffer
6890         windows.  (Bug#19045)
6891         (Minibuffer Misc): Remove redundant description of
6892         'max-mini-window-height'.
6893         * doc/lispref/display.texi (Echo Area Customization): Adjust
6894         cross-reference.
6896 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
6898         More changes in the Emacs manual
6900         * doc/emacs/fixit.texi (Undo): Mention 'revert-buffer'.
6901         (Fixing Case): Fix punctuation.
6902         (Spelling): Fix a typo.  Suggested by Toon Claes <toon@iotcl.com>
6903         in emacs-manual-bugs@gnu.org.
6905         * doc/emacs/modes.texi (Major Modes): Break a long sentence into
6906         2.  Reported by Stefan Kamphausen <stefan.kamphausen@acrolinx.com>
6907         in emacs-manual-bugs@gnu.org.
6909         * doc/emacs/indent.texi (Just Spaces): Yet another minor
6910         rewording.
6912         * doc/emacs/building.texi (Watch Expressions): Improve wording.
6913         (Multithreaded Debugging): Spell "tool bar" as 2 words.  Reported
6914         by Alberto Sartori <alberto.sartori@sissa.it> in
6915         emacs-manual-bugs@gnu.org.
6916         (Grep Searching): Mention the effect of
6917         'compilation-mode-line-errors'.  (Bug#30397)
6919         * doc/emacs/basic.texi (Moving Point): Minor reformatting and
6920         rewording of what <LEFT> and <RIGHT> do.
6922 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
6924         Clarify that text-quoting-style doesn't affect *Info* (Bug#24519)
6926         * src/doc.c (syms_of_doc) <text-quoting-style>: Clarify that info
6927         manual display is unaffected.
6929 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
6931         Mention that shell quoting of % on w32 may fail (Bug#19350)
6933         * doc/lispref/os.texi (Security Considerations): Mention that quoting
6934         of '%' assumes no '^' in variable names.
6935         * test/lisp/subr-tests.el (shell-quote-argument-%-on-w32): New test,
6936         demonstrating what doesn't work.
6938 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
6940         Fix --no-build-details for w32 and macOS
6942         * src/w32term.c (w32_initialize_display_info): Handle nil system-name.
6943         * lisp/term/ns-win.el (window-system-initialization): Don't pass nil
6944         to `x-open-connection'.
6946 2018-02-09  Paul Eggert  <eggert@cs.ucla.edu>
6948         * doc/lispref/anti.texi (Antinews): Add some more antinews.
6950 2018-02-08  Paul Eggert  <eggert@cs.ucla.edu>
6952         Fix crashes when run with --no-build-details
6954         * src/xrdb.c (get_environ_db):
6955         * src/xterm.c (same_x_server, x_term_init):
6956         Don’t assume Fsystem_name returns a string.
6958 2018-02-08  Eli Zaretskii  <eliz@gnu.org>
6960         More changes for the manual
6962         * doc/emacs/anti.texi (Antinews): Replace 25.2 with 25.3.
6963         Reported by Michael Albinus <michael.albinus@gmx.de> in
6964         emacs-manual-bugs@gnu.org.
6966         * doc/emacs/custom.texi (Function Keys): Improve wording.
6967         Suggested by clemens.radermacher@posteo.de in
6968         emacs-manual-bugs@gnu.org.
6970         * doc/emacs/misc.texi (History References): Improve punctuation.
6971         (Terminal emulator): Fix a typo.
6972         (Term Mode): Remove redundant repeated text.
6973         (Invoking emacsclient): Improve wording.  Suggested by Alberto
6974         Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
6976         * doc/emacs/files.texi (Visiting): Fix last change.
6978 2018-02-08  Noam Postavsky  <npostavs@gmail.com>
6980         Doc fixes for process functions (Bug#30349)
6982         * doc/lispref/processes.texi (Asynchronous Processes): Explain what
6983         the 'stopped' state means for a pipe process.
6984         * src/process.c (Fmake_process, Fmake_pipe_process)
6985         (Fmake_serial_process, Fmake_network_process):
6986         * lisp/subr.el (start-process):
6987         * lisp/net/tls.el (open-tls-stream):
6988         * lisp/net/starttls.el (starttls-open-stream):
6989         * lisp/net/gnutls.el (open-gnutls-stream): Remove meaningless phrase
6990         "specify an output stream" phrase from docstring.
6992 2018-02-07  Basil L. Contovounesios  <contovob@tcd.ie>
6994         Fix shr and CSS 4 color maps
6996         * lisp/net/shr-color.el (shr-color-html-colors-alist): Fix typos.
6997         Add RebeccaPurple.
6998         * lisp/textmodes/css-mode.el (css--color-map): Add fuchsia-magenta
6999         and aqua-cyan aliases.
7000         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
7001         Bump color count.
7003 2018-02-07  Eli Zaretskii  <eliz@gnu.org>
7005         Yet another round of improvements in the manual
7007         * doc/emacs/misc.texi (Document View): Improve wording.  Reported
7008         by lyr3 <lyr3@protonmail.com> in emacs-manual-bugs@gnu.org.
7010         * doc/emacs/files.texi (Recover): Fix a typo.  Reported by Jorge
7011         <jorge+list@disroot.org> in emacs-manual-bugs@gnu.org.
7013         * doc/emacs/anti.texi (Antinews): Fix typos.  Reported by Justin
7014         Heyes-Jones <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
7016         * doc/emacs/mini.texi (Basic Minibuffer): Clarify wording.
7017         Reported by Vivishek Sudhir <vivishek.sudhir@gmail.com> in
7018         emacs-manual-bugs@gnu.org.
7020         * doc/emacs/cmdargs.texi (MS-Windows Registry): Improve wording
7021         regarding registry keys.
7023         * doc/emacs/macos.texi (Mac OS / GNUstep): Sayu "NeXT Inc."
7024         Reported by Cena Mayo <cenazoic@gmail.com> in
7025         emacs-manual-bugs@gnu.org.
7027         * doc/emacs/screen.texi (Screen): More accurate wording.
7028         Suggested by Miloš Polakovič <milos@alphamail.org> in
7029         emacs-manual-bugs@gnu.org.
7031         * doc/emacs/indent.texi (Just Spaces): Minor wording change.
7032         Suggested by David Bonnafous <dbonnafo@gmail.com> in
7033         emacs-manual-bugs@gnu.org.
7035         * doc/emacs/text.texi (TeX Mode, TeX Editing): Improve and
7036         simplify wording.  Suggested by root@vxid.pw <root@vxid.pw> in
7037         emacs-manual-bugs@gnu.org.
7039         * doc/emacs/cmdargs.texi (Window Size X): Minor wording change.
7041         * doc/emacs/display.texi (Highlight Interactively): Fill text.
7042         (Optional Mode Line): Fix typos.  Suggested by Alberto Sartori
7043         <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
7045         * doc/emacs/building.texi (Debugger Operation): Clarify wording.
7047         * doc/emacs/files.texi (Directories, Comparing Files, Diff Mode)
7048         (Remote Files, File Names, Visiting, Backup Deletion)
7049         (Customize Save, Interlocking): Improve wording and accuracy of
7050         the text.
7051         * doc/emacs/maintaining.texi (VC With A Merging VCS): Don't say
7052         "his".
7053         * doc/emacs/arevert-xtra.texi (Auto Reverting Dired): Minor
7054         wording changes.
7055         (Supporting additional buffers): Moved to ...
7056         * doc/lispref/backups.texi (Reverting): ... here.
7057         * doc/emacs/emacs.texi (Top): Remove "Supporting additional
7058         buffers" from master menu.
7059         * doc/emacs/files.texi (Reverting): Mention use of file
7060         notifications.  Suggested by Michael Albinus
7061         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
7063         * doc/emacs/rmail.texi (Rmail Motion): Clarify what '-' does to
7064         'M-s'.  Suggested by Arthur Milchior <arthur@milchior.fr> in
7065         emacs-manual-bugs@gnu.org.
7067         * doc/emacs/cmdargs.texi (Initial Options): Capitalize "Emacs".
7068         (Action Arguments): Fix a typo.
7069         (Emacs Invocation): Replace em-dash with a comma.  Suggested by
7070         Justin Heyes-Jones <justinhj@gmail.com> in
7071         emacs-manual-bugs@gnu.org.
7073         * doc/emacs/m-x.texi (M-x): Add an example.  Suggested by Alberto
7074         Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
7076         * doc/emacs/calendar.texi (Calendar/Diary, Calendar Unit Motion):
7077         Minor wording changes.
7079 2018-02-04  Juri Linkov  <juri@linkov.net>
7081         * lisp/vc/vc-git.el (vc-git-print-log): Restrict file scope to a single file
7083         when vc-git-print-log-follow is non-nil (bug#19045).
7084         (vc-git-print-log-follow): Doc fix.
7086         * etc/NEWS: Mention 'vc-git-print-log-follow'.
7088 2018-02-04  Michael Albinus  <michael.albinus@gmx.de>
7090         * doc/emacs/misc.texi (Interactive Shell): Refer to node "Minibuffer File"
7092         for hints how to type remote file names effectively.
7094 2018-02-04  Eli Zaretskii  <eliz@gnu.org>
7096         Yet another round of fixing the Emacs manual
7098         * doc/emacs/cmdargs.texi (Action Arguments): Rearrange text
7099         describing what happens when Emacs is invoked with several file
7100         arguments.  Suggested by Grant Rettke <gcr@wisdomandwonder.com> in
7101         emacs-manual-bugs@gnu.org.
7103         * doc/emacs/xresources.texi (GTK styles):
7104         * doc/emacs/mini.texi (Passwords):
7105         * doc/emacs/frames.texi (Scroll Bars): Use "cannot" instead of
7106         "can not".
7108         * doc/emacs/macos.texi (Mac / GNUstep Basics): Clarify the effect
7109         of ns-right-alternate-modifier when its value is 'none'.
7110         Suggested by Wanderson Ferreira <iagwanderson@gmail.com> in
7111         emacs-manual-bugs@gnu.org.
7113         * doc/emacs/calendar.texi (Importing Diary, Appointments): Now
7114         sub-sections of Diary.
7115         * doc/emacs/emacs.texi (Top):
7116         * doc/emacs/calendar.texi (Diary): Adjust menus to the above
7117         change.  Suggested by Isaac Carter <icarter1391@gmail.com> in
7118         emacs-manual-bugs@gnu.org.
7120         * doc/emacs/anti.texi (Antinews): Fix grammar.
7122 2018-02-04  Alan Mackenzie  <acm@muc.de>
7124         * etc/NEWS: Expunge the solecism "allow(s)" + infinitive
7126 2018-02-04  Martin Rudalics  <rudalics@gmx.at>
7128         Two minor fixes in Antinews
7130         * doc/emacs/anti.texi (Antinews): Two minor fixes.
7132 2018-02-03  Juri Linkov  <juri@linkov.net>
7134         * etc/NEWS: Rename image-dired-thumb-job-limit
7136         to image-dired-queue-active-limit (bug#30279)
7138 2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
7140         * lisp/simple.el (async-shell-command, shell-command): Fix grammar
7142 2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
7144         Fix deferred display of async shell-command buffers
7146         * lisp/simple.el (shell-command): Display async shell buffer on
7147         process output for every, not just first, command invocation.  Check
7148         buffer liveness, not name, before displaying. (bug#30213, bug#30280)
7150 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
7152         Mention remote file name completion in Emacs manual
7154         * doc/emacs/mini.texi (Minibuffer File): Describe the behavior of
7155         "//" with remote file names.  (Bug#29149)
7157 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
7159         Yest another round of manual copyedits
7161         * doc/emacs/fixit.texi (Transpose, Spelling): Minor stylistic
7162         changes.  Suggested by myq larson <myqlarson@gmail.com> in
7163         emacs-manual-bugs@gnu.org.
7165         * doc/emacs/calendar.texi (Appointments, Time Intervals): Mention
7166         relevant Org features.  Suggested by Alex Branham
7167         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
7169         * doc/emacs/dired.texi (Operating on Files)
7170         (Shell Commands in Dired, Image-Dired): Minor stylistic edits.
7171         Suggested by Francis Wright <f.j.wright@live.co.uk> in
7172         emacs-manual-bugs@gnu.org.
7174         * doc/emacs/commands.texi (User Input): Explain "C-M-a".
7175         Suggested by Martin Luethi <martin.luethi@geo.uzh.ch> in
7176         emacs-manual-bugs@gnu.org.
7178 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
7180         Update xdisp.c commentary
7182         * src/xdisp.c: Update commentary regarding "asynchronous" entry
7183         into redisplay.  (Bug#30182)
7185 2018-02-03  Michael Albinus  <michael.albinus@gmx.de>
7187         Fix Bug#30324
7189         * lisp/net/rlogin.el (rlogin, rlogin-directory-tracking-mode):
7190         Adapt to changed remote file name syntax.  (Bug#30324)
7192 2018-02-03  Glenn Morris  <rgm@gnu.org>
7194         Recognize Org as builtin package (bug#30310)
7196         * lisp/org/org.el: Add Version header so detected as builtin package.
7197         * test/lisp/org/org-tests.el: New file.
7199 2018-02-02  Eli Zaretskii  <eliz@gnu.org>
7201         Another round of manual fixups
7203         * doc/emacs/killing.texi (Killing by Lines): Clarify wording.
7204         Reported by David Bonnafous <dbonnafo@gmail.com> in
7205         emacs-manual-bugs@gnu.org.
7207         * doc/emacs/windows.texi (Other Window): Improve wording.
7208         Reported by Rasmus Sjostrom <ras.sjostrom@gmail.com> in
7209         emacs-manual-bugs@gnu.org.
7211         * doc/emacs/display.texi (Display Custom): Mention that line
7212         numbers are not displayed in the minibuffer and tooltips.
7214         * doc/emacs/mini.texi (Basic Minibuffer): Improve wording.
7215         * doc/emacs/regs.texi (Registers): More comma removal.  Suggested
7216         by "root@vxid.pw root@vxid.pw" <root@vxid.pw> in
7217         emacs-manual-bugs@gnu.org.
7219         * doc/emacs/display.texi (Auto Scrolling): Fix a typo.  Reported
7220         by Kevin Foley <kfoley15@gmail.com> in emacs-manual-bugs@gnu.org.
7222         * doc/emacs/display.texi (Scrolling): Fix grammar.
7223         (Horizontal Scrolling): Mention reasonable limits for hscroll-step
7224         float values.  Suggested by Jerome Truong <jerometruong@gmail.com>
7225         in emacs-manual-bugs@gnu.org.
7227         * doc/emacs/mini.texi (Minibuffer Edit): Add a missing comma.
7228         * doc/emacs/basic.texi (Position Info, Arguments, Repeating):
7229         Remove redundant commas.  Suggested by oldgaro
7230         <oldgaro@protonmail.com> in emacs-manual-bugs@gnu.org.
7232         * doc/emacs/kmacro.texi (Save Keyboard Macro): Clarify wording.
7233         Suggested by clemens.radermacher@posteo.de in
7234         emacs-manual-bugs@gnu.org.
7236         * doc/emacs/building.texi (Compilation Mode): Improve and simplify
7237         wording.  Suggested by drone <yoorobot@gmail.com> in
7238         emacs-manual-bugs@gnu.org.
7240         * doc/emacs/dired.texi (Dired Enter): Clarify wording.
7241         (Dired Deletion): Fix a typo.
7242         (Marks vs Flags): Mention that M-DEL in Dired asks for the mark
7243         character.  Fix typos.
7244         * doc/emacs/basic.texi (Moving Point, Erasing, Basic Undo)
7245         (Arguments): Some additional information about keys.  Reported by
7246         Francis Wright <f.j.wright@live.co.uk> in
7247         emacs-manual-bugs@gnu.org.
7249 2018-02-02  Basil L. Contovounesios  <contovob@tcd.ie>  (tiny change)
7251         * doc/lispref/customize.texi (Custom Themes): Clarify .el preference.
7254         https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00824.html.
7256 2018-02-02  Eli Zaretskii  <eliz@gnu.org>
7258         * doc/emacs/entering.texi (Entering Emacs): Another wording fix.
7260 2018-02-02  Noam Postavsky  <npostavs@gmail.com>
7262         * doc/lispref/functions.texi (Inline Functions): Fix typo (Bug#30238).
7264         * lisp/imenu.el (imenu-generic-expression): Rephrase doc (Bug#30294).
7266 2018-02-01  Eli Zaretskii  <eliz@gnu.org>
7268         Fix last change of @key markup
7270         * doc/lispref/display.texi (Specified Space):
7271         * doc/emacs/programs.texi (C Modes):
7272         * doc/emacs/killing.texi (Rectangles):
7273         * doc/emacs/emacs.texi (Top):
7274         * doc/emacs/display.texi (Useless Whitespace): Don't use @key
7275         markup for characters and commands, only for keys.
7277 2018-02-01  Eli Zaretskii  <eliz@gnu.org>
7279         * doc/emacs/entering.texi (Entering Emacs): Fix markup.
7281 2018-02-01  Michael Albinus  <michael.albinus@gmx.de>
7283         Revert a1bbc49015 (Bug#30243), do not merge
7285         * lisp/files.el:
7286         * test/lisp/net/tramp-tests.el: Revert a1bbc49015.  (Bug#30243)
7288 2018-01-31  Michael Albinus  <michael.albinus@gmx.de>
7290         Use @key{} where it is missing in the manuals
7292 2018-01-31  Eli Zaretskii  <eliz@gnu.org>
7294         Another round of manual fixes from proofreading
7296         * doc/emacs/search.texi (Incremental Search)
7297         (Nonincremental Search): Mention the menu bar and fix typos.
7298         Reported by David Bonnafous <dbonnafo@gmail.com> in
7299         emacs-manual-bugs@gnu.org.
7300         * doc/emacs/building.texi (Compilation): Improve wording.
7301         Suggested by drone <yoorobot@gmail.com> in
7302         emacs-manual-bugs@gnu.org.
7303         * doc/emacs/kmacro.texi (Basic Keyboard Macro): Clarify text.
7304         Suggested by Robert Pluim <rpluim@gmail.com> in
7305         emacs-manual-bugs@gnu.org.
7306         * doc/emacs/display.texi (Highlight Interactively, Fringes):
7307         Improve wording.  Suggested by Justin Heyes-Jones
7308         <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
7309         * doc/emacs/commands.texi (User Input, Commands): Add missing
7310         commas.
7311         * doc/emacs/screen.texi (Menu Bar): Mention keyboard keys to
7312         navigate menus.  Suggested by oldgaro <oldgaro@protonmail.com> in
7313         emacs-manual-bugs@gnu.org.
7314         * doc/emacs/search.texi (Not Exiting Isearch): Fix a typo.
7315         Reported by "Kocken, I.J. (Ilja)" <I.J.Kocken@uu.nl> in
7316         emacs-manual-bugs@gnu.org.
7317         * doc/emacs/basic.texi (Inserting Text): Mention one more label of
7318         RET.  Suggested by Francis Wright <f.j.wright@live.co.uk> in
7319         emacs-manual-bugs@gnu.org.
7320         * doc/emacs/text.texi (Paragraphs): Clarify text.  Reported by
7321         Marcin Borkowski <mbork@mbork.pl> in emacs-manual-bugs@gnu.org.
7322         * doc/emacs/maintaining.texi (Introduction to VC)
7323         (Why Version Control?, VCS Merging): Fix typos and section
7324         capitalization.  Suggested by "R. P. Dillon"
7325         <rpdillon@killring.org> in emacs-manual-bugs@gnu.org.
7326         * doc/emacs/modes.texi (Major Modes, Choosing Modes): Fix typos.
7327         Reported by clemens.radermacher@posteo.de in
7328         emacs-manual-bugs@gnu.org.
7330 2018-01-31  Eli Zaretskii  <eliz@gnu.org>
7332         * doc/emacs/entering.texi (Entering Emacs): Fix last change.
7334 2018-01-31  Martin Rudalics  <rudalics@gmx.at>
7336         Document 'window-at-side-p' in the Elisp manual
7338         * doc/lispref/windows.texi (Windows and Frames): Document
7339         'window-at-side-p'.
7341 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
7343         Document external-debugging-output in the Elisp Manual (Bug#24051)
7345         * doc/lispref/streams.texi (Output Streams): List
7346         external-debugging-output.
7347         * src/print.c (Fexternal_debugging_output): Quote `print' in
7348         docstring.
7350 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
7352         Fix scroll-margin docstring (Bug#13791)
7354         * src/xdisp.c (syms_of_xdisp) <scroll-margin>: Explain that entering
7355         the margin may trigger any sort of auto scrolling, not recentering
7356         specifically.
7358 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
7360         Clarify that `ansi-term' is almost the same as `term' (Bug#18106)
7362         * lisp/term.el (ansi-term): Clarify that it's almost the same as `term'.
7364 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
7366         Update manual description of locate-file (Bug#23650)
7368         * doc/lispref/files.texi (Locating Files): Add example of predicate
7369         when searching for a directory.
7371 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
7373         Clarify effect of print-gensym (Bug#27776)
7375         * src/print.c (syms_of_print) <print-gensym>: Clarify that use of #N#
7376         and #N= constructs depends on the value of `print-circle'.
7378 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
7380         * lisp/custom.el (defcustom): Fix docstring (Bug#27891).
7382 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
7384         Define cl-type-definition button type as needed (Bug#28899)
7386         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Require
7387         `cl-extra' before using the `cl-type-definition' button type.
7389 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
7391         Emphasize that GPG passphrase caching is temporary (Bug#29907)
7393         * doc/misc/epa.texi (Caching Passphrases): Clarify that caching is
7394         temporary.
7395         (GnuPG version compatibility): Fix typo.
7397 2018-01-30  Alan Mackenzie  <acm@muc.de>
7399         Fix @examples in cc-mode.info, where lines were getting glued together.
7401         This happened because of false @c's in macro lines.
7403         * doc/misc/cc-mode.texi (Line-up Functions): Remove the unneeded @c from
7404         macros sssTBasicOffset, sssTsssTBasicOffset, and hereFn.
7406 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
7408         Minor change in "Mode Line" section of Emacs manual
7410         * doc/emacs/screen.texi (Mode Line): Mention tooltips shown when
7411         hovering the mouse over the mode line.  Suggested by Eduardo
7412         Mercovich <eduardo@mercovich.net> in emacs-manual-bugs@gnu.org.
7414 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
7416         More fixes in the Emacs manual
7418         * doc/emacs/screen.texi (Mode Line): Fix markup and
7419         cross-references.
7420         (Menu Bar): Correct inaccurate description.
7421         * doc/emacs/macos.texi (Mac OS / GNUstep, Mac / GNUstep Events):
7422         * doc/emacs/frames.texi (Scroll Bars):
7423         * doc/emacs/emacs.texi (Top):
7424         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of "macOS".
7425         * doc/emacs/misc.texi (Invoking emacsclient)
7426         (emacsclient Options): Fix markup of 'emacsclient'.  Suggested by
7427         Michael Albinus <michael.albinus@gmx.de> in
7428         emacs-manual-bugs@gnu.org.
7430 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
7432         Minor copyedits in "Distribution" chapter of the Emacs manual
7434         * doc/emacs/emacs.texi (Distrib): Minor wording changes.
7435         Suggested by oldgaro <oldgaro@protonmail.com> in
7436         emacs-manual-bugs@gnu.org.
7438 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
7440         Minor copyedits in "Entering" chapter of Emacs manual.
7442         * doc/emacs/entering.texi (Entering Emacs): Add a cross-reference
7443         to MS-Windows startup procedures.  Clarify wording.  Suggested by
7444         Francis Wright <f.j.wright@live.co.uk> in emacs-manual-bugs@gnu.org.
7446 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
7448         Minor wording change in the Emacs manual
7450         * doc/emacs/screen.texi (Screen): Minor wording change.  Suggested
7451         by Wesley Ellis <ellisgen@gmail.com> in emacs-manual-bugs@gnu.org.
7453 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
7455         Fix a typo in the Emacs manual
7457         * doc/emacs/custom.texi (Customization Groups): Fix a typo.
7458         Reported by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org> in
7459         emacs-manual-bugs@gnu.org.
7461 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
7463         Improve the "Basic" chapter of the Emacs manual
7465         * doc/emacs/basic.texi (Inserting Text): De-confuse text.
7466         (Position Info): Add a cross-reference to where
7467         display-line-numbers-mode is described.  Reported by Joshua
7468         Branson <jbranso@fastmail.com> in emacs-manual-bugs@gnu.org.
7470 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
7472         Resurrect lost text in lispref
7474         * doc/lispref/files.texi (File Attributes): Resurrect
7475         inadvertently lost text.
7477 2018-01-30  Philipp Stephani  <phst@google.com>
7479         * lisp/emacs-lisp/rx.el (rx): Fix the definition of 'blank'.
7481 2018-01-29  Paul Eggert  <eggert@cs.ucla.edu>
7483         Proofread os.texi and files.texi
7485 2018-01-29  Eli Zaretskii  <eliz@gnu.org>
7487         Minor improvements in the "International" chapter of Emacs manual
7489         * doc/emacs/mule.texi (File Name Coding): Stop enumerating all the
7490         versions of MS-Windows.
7491         (Modifying Fontsets, Unibyte Mode, Bidirectional Editing): Improve
7492         wording.  Reported by Francis Wright <f.j.wright@live.co.uk> in
7493         emacs-manual-bugs@gnu.org.
7495 2018-01-29  Eli Zaretskii  <eliz@gnu.org>
7497         Minor improvement in "Text" chapter of Emacs manual
7499         * doc/emacs/text.texi (Words): Improve wording.  Reported by
7500         Marcin Borkowski <mbork@mbork.pl> in
7501         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00784.html.
7503 2018-01-28  Martin Rudalics  <rudalics@gmx.at>
7505         Fix some issues in the emacs/lispref manuals
7507         * doc/emacs/basic.texi (Continuation Lines):
7508         * doc/emacs/building.texi (GDB User Interface Layout):
7509         * doc/emacs/dired.texi (Misc Dired Features):
7510         * doc/emacs/maintaining.texi (Identifier Search):
7511         * doc/emacs/mark.texi (Using Region):
7512         * doc/emacs/misc.texi (Document View, DocView Conversion):
7513         * doc/emacs/modes.texi (Major Modes):
7514         * doc/emacs/mule.texi (Input Methods, Unibyte Mode):
7515         * doc/emacs/sending.texi (Mail Methods): Replace @code by
7516         @kbd.
7517         * doc/emacs/frames.texi (Text-Only Mouse):
7518         * doc/lispref/maps.texi (Standard Keymaps): Replace @kbd by
7519         @key.
7520         * doc/lispref/compile.texi (Compiler Errors): Write
7521         non-@code{nil} instead of non-nil.
7522         * doc/lispref/debugging.texi (Internals of Debugger):
7523         'backtrace' is not a command.  'debugger-stack-frame-as-list'
7524         is an option.
7525         * doc/lispref/display.texi (Size of Displayed Text):
7526         'window-lines-pixel-dimensions' has a last argument 'left'.
7527         * doc/lispref/display.texi (Attribute Functions):
7528         'set-face-underline' and 'set-face-inverse-video' are
7529         commands.
7530         (Tooltips): 'tooltip-frame-parameters' is an option.
7531         (Bidirectional Display): 'bidi-paragraph-direction' is an
7532         option.
7533         * doc/lispref/frames.texi (Cursor Parameters): 'cursor-type'
7534         is an option.
7535         (Input Focus): Argument FRAME of 'x-focus-frame' is not
7536         optional.
7537         (Child Frames): Both arguments of 'frame-ancestor-p' are
7538         non-optional.  'iconify-child-frame' is an option.
7539         * doc/lispref/os.texi (Killing Emacs):
7540         'kill-emacs-query-functions' is an option.
7541         * doc/lispref/windows.texi (Mouse Window Auto-selection):
7542         'mouse-autoselect-window' is an option.
7544 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
7546         Fix multiple spaces in Emacs manual
7548         * doc/emacs/search.texi (Lax Search): Fix multiple consecutive
7549         spaces in printed manual.
7551 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
7553         * lisp/files.el (save-some-buffers): Doc fix.  (Bug#30215)
7555 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
7557         Adjudicate comments to "International" chapter of Emacs manual
7559         * doc/emacs/mule.texi (International Chars)
7560         (Language Environments, Input Methods, Defining Fontsets)
7561         (Modifying Fontsets): Minor wording changes and typo fixes.
7562         Reported by Francis Wright <f.j.wright@live.co.uk> in
7563         emacs-manual-bugs@gnu.org.
7565 2018-01-28  Noam Postavsky  <npostavs@gmail.com>
7567         Revert "Signal error for symbol names with strange quotes (Bug#2967)"
7569         That commit did not make the corresponding change to printing, thus
7570         breaking the (eq (read (prin1-to-string SYM)) SYM) invariant for those
7571         symbols.  It's too late in the release cycle to change printing
7572         behavior, therefore revert the reader change.
7574         Don't merge to master, the print function will be updated there (see
7575         "Fix round tripping of read->print for symbols with strange quotes").
7577 2018-01-27  Alan Mackenzie  <acm@muc.de>
7579         Allow read-passwd to hide characters inserted by C-y.  (Security fix.)
7581         This fixes bug #30186.  The with-silent-modifications was there to prevent
7582         records of text property manipulations being put into buffer-undo-list.  These
7583         had been causing a significant slowdown in CC Mode with C-_ after a large
7584         C-y.  This CC Mode problem has since been solved by a different workaround.
7586         * lisp/subr.el (remove-yank-excluded-properties): Remove the invocation of
7587         with-silent-modifications around the text property manipulations.
7589 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
7591         * etc/PROBLEMS: Document issues with double-buffering.  (Bug#30088)
7593 2018-01-27  Charles A. Roelli  <charles@aurox.ch>
7595         * lisp/window.el (window-largest-empty-rectangle): Fix grammar.
7597 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
7599         Minor changes in the Emacs manual
7601         * doc/emacs/search.texi (Search Customizations): Minor wording
7602         change.
7603         * doc/emacs/files.texi (Customize Save): Add a cross-reference
7604         for batch mode.
7606 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
7608         Improve the "Files" chapter of the Emacs manual
7610         * doc/emacs/files.texi (File Shadowing): Rearrange text to explain
7611         the notion of shadowing before describing the commands.  Suggested
7612         by Will Korteland <emacs-devel@korte.land> in
7613         emacs-manual-bugs@gnu.org.
7615 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
7617         Improve the "Search" chapter of the Emacs manual
7619         * doc/emacs/search.texi (Regexps, Regexp Backslash): Improve and
7620         clarify wording.
7621         (Search Customizations): Fix a typo.  Reported by Will Korteland
7622         <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
7624 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
7626         * src/indent.c (Findent_to): Doc fix.  (Bug#30260)
7628 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
7630         Improve documentation of 'edebug-defun'
7632         * doc/lispref/edebug.texi (Instrumenting): Document a workaround
7633         for a failure to instrument due to unknown macros.  (Bug#30243)
7634         (Bug#10577)
7636 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
7638         Mention crashes due to Noto Serif Kannada fonts
7640         * etc/PROBLEMS: Mention crashes due to Noto Serif Kannada fonts,
7641         and the respective workarounds.  (Bug#30193)
7643 2018-01-27  Noam Postavsky  <npostavs@gmail.com>
7645         * doc/lispref/searching.texi: Document regexp repetition limit.
7647         * src/syntax.c (char-syntax): Warn about ignoring text properties (Bug#22765).
7649 2018-01-27  Noam Postavsky  <npostavs@gmail.com>
7651         Load mm-util as needed for url-file and url-data (Bug#30258)
7653         * lisp/url/url-file.el (url-file):
7654         * lisp/url/url-misc.el (url-data): Require `mm-util' before calling
7655         `mm-disable-multibyte'.
7656         * test/lisp/url/url-file-resources/file.txt:
7657         * test/lisp/url/url-file-tests.el:
7658         * test/lisp/url/url-misc-tests.el: New tests.
7660 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
7662         Another minor copyedit in the manual's "Scroll Bars"
7664         * doc/emacs/frames.texi (Scroll Bars): Mention that up/down and
7665         left/right buttons may be absent from the toolkit scroll bars.
7666         Reported by Robert Pluim <rpluim@gmail.com> in
7667         emacs-manual-bugs@gnu.org.
7669 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
7671         Minor fix in documentation of 'equal'
7673         * doc/lispref/objects.texi (Equality Predicates): Correct the
7674         conditions for equality of unibyte and multibyte strings.
7675         (Bug#30218)
7677 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
7679         * lisp/dired-x.el (dired-guess-shell-alist-user): Doc fix.  (Bug#30192)
7681 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
7683         Minor rewording in Emacs manual's "Help Mode" node
7685         * doc/emacs/help.texi (Help Mode): Minor rewording of description
7686         of 'help-follow-symbol'.  Suggested by Richard Stallman
7687         <rms@gnu.org> in emacs-manual-bugs@gnu.org.
7689 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
7691         Fixes for Emacs manual in frames.texi
7693         * doc/emacs/frames.texi (Scroll Bars, Mouse Commands)
7694         (Window Dividers): Minor clarifications and spelling/markup
7695         changes.  Suggested by Robert Pluim <rpluim@gmail.com> in
7696         emacs-manual-bugs@gnu.org.
7698 2018-01-24  Glenn Morris  <rgm@gnu.org>
7700         * doc/misc/cl.texi (Efficiency Concerns): Fix 2012-10-27 typo.
7702 2018-01-24  Robert Pluim  <rpluim@gmail.com>
7704         Fix a few issues with latest GTK scaling changes
7706         * src/xfns.c (Fx_display_monitor_attributes_list): Call
7707         gdk_screen_get_monitor_scale_factor only for GTK versions
7708         3.10..3.21.
7709         * src/xterm.c (x_set_offset): Call xg_get_scale for GTK only.
7711 2018-01-24  Robert Pluim  <rpluim@gmail.com>
7713         Use scaled coordinates when calling into GTK
7715         This is part two of a two part fix for the GTK scaling
7716         problems.  See the thread starting at
7717         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
7718         for an explanation of why it has been added to Emacs 26.
7720         * src/gtkutil.c (xg_set_geometry): Scale down the coordinates that we
7721         pass to gtk_window_move and to gtk_window_parse_geometry.
7722         * src/xterm.c (x_set_offset): Likewise.
7724 2018-01-24  Robert Pluim  <rpluim@gmail.com>
7726         Scale monitor dimensions obtained from GTK
7728         This is part one of a two part fix for the GTK scaling
7729         problems.  See the thread starting at
7730         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
7731         for an explanation of why it has been added to Emacs 26.
7733         * src/xfns.c (Fx_display_monitor_attributes_list): Take scaling factor
7734         into account when using GTK to query the monitor dimensions, which
7735         allows frameset-restore to position frames correctly.
7737 2018-01-22  Rasmus  <rasmus@gmx.us>
7739         Update Org to v9.1.6
7741         Please note this is a bugfix release. See etc/ORG-NEWS for details.
7743 2018-01-22  Aaron Jensen  <aaronjensen@gmail.com>
7745         Use text-pixels values only when saving framesets (Bug#30141)
7747         * lisp/frameset.el (frameset-persistent-filter-alist): Specify
7748         that text-pixels values are by default only saved by framesets
7749         so the parameter is not set when restoring (Bug#30141).
7751 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
7753         Minor improvement in section "Pages" of the usere manual
7755         * doc/emacs/text.texi (Pages): Improve wording.  Suggested by Will
7756         Korteland <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
7758 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
7760         Minor improvements in user manual
7762         * doc/emacs/trouble.texi (Emergency Escape, Contributing): Clarify
7763         text.  Suggested by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org>
7764         in emacs-manual-bugs@gnu.org
7766 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
7768         Improve the "Mark" chapter of the user manual
7770         * doc/emacs/mark.texi (Setting Mark, Marking Objects): Improve and
7771         clarify wording.  Suggested by John Cummings <john@rootabega.net>
7772         in emacs-manual-bugs@gnu.org.
7774 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
7776         Improve the "Buffers" chapter of the user manual
7778         * doc/emacs/buffers.texi (Several Buffers): Correct description of
7779         prefix arguments.  Clarify "bury".
7780         (Buffer Menus): Clarify wording.  Reported by John Cummings
7781         <john@rootabega.net> in emacs-manual-bugs@gnu.org.
7783 2018-01-21  tino calancha  <tino.calancha@gmail.com>
7785         * lisp/term.el (term-send-input): Fix text duplication in docstring
7787 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
7789         Improve "Buffers" in the user manual
7791         Suggested by John Cummings <john@rootabega.net> in
7792         emacs-manual-bugs@gnu.org:
7793         * doc/emacs/buffers.texi (Select Buffer): Add cross-references to
7794         "Windows" and "Frames".
7795         (Misc Buffer, Kill Buffer): Use BUFFER consistently in commands
7796         that accept buffer names.
7797         (Select Buffer): Improve description of "M-g M-g".  Improve
7798         wording.
7799         (Misc Buffer, Kill Buffer): Improve wording.
7800         (Kill Buffer): Fix the response required by kill-some-buffers.
7801         Mention customizable options that control what clean-buffer-list
7802         does.
7803         (Several Buffers): More detail about
7804         'Buffer-menu-unmark-all-buffers'.
7806 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
7808         Don't mention 'vc-stay-local' in the user manual
7810         * doc/emacs/vc1-xtra.texi (CVS Options):
7811         * doc/emacs/maintaining.texi (VC Directory Buffer): Remove
7812         references to 'vc-stay-local', which no longer exists.
7813         (Bug#30138)
7815 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
7817         Fix a typo in calendar.texi
7819         * doc/emacs/calendar.texi (Writing Calendar Files): Capitalize
7820         "Filofax".  Reported by Will Korteland <emacs-devel@korte.land>
7821         in emacs-manual-bugs@gnu.org.
7823 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
7825         Minor improvement in wording of the Emacs manual
7827         * doc/emacs/killing.texi (CUA Bindings): Improve wording.
7828         Suggested by Will Korteland <emacs-devel@korte.land> in
7829         emacs-manual-bugs@gnu.org.
7831 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
7833         Revert "Fix tempfile creation when byte compiling"
7835         This reverts commit 4fd446e9f65e5531b18d4a0c5e08a6eeabc292d8:
7836         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
7837         Put tempfile next to the target file, as was the original intent.
7839 2018-01-19  Paul Eggert  <eggert@cs.ucla.edu>
7841         Fix tempfile creation when byte compiling
7843         This improves on the recent fix for master failing to build
7844         on FreeBSD.  Suggested by Stefan Monnier in:
7845         https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
7846         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
7847         Put tempfile next to the target file, as was the original intent.
7849 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
7851         Improve the Emacs manual as suggested in emacs-manual-bugs
7853         * doc/emacs/killing.texi (Deletion and Killing): Add
7854         cross-reference to "Kill Ring".
7855         * doc/emacs/help.texi (Help Mode, Package Keywords): Improve
7856         wording.  Suggested by Will Korteland <emacs-devel@korte.land> in
7857         emacs-manual-bugs@gnu.org.
7859 2018-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
7861         * lisp/emacs-lisp/bytecomp.el: Tweak last change
7863         (byte-compile-file): Move comment closer to the code it describes.
7865 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
7867         Unbreak building Emacs on FreeBSD
7869         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't create
7870         the temporary file under temporary-file-directory if the file
7871         being compiled is specified by an absolute file name.  This avoids
7872         problems with ACL copying from temporary-file-directory on
7873         FreeBSD.  For the details, see
7874         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00513.html.
7876 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
7878         Don't unnecessarily use non-ASCII characters in C sources
7880         * src/xwidget.c (webkit_javascript_finished_cb):
7881         * src/gtkutil.c (xg_check_special_colors):
7882         * src/emacs-module.c (module_make_string):
7883         * src/alloc.c (SET_STACK_TOP_ADDRESS): Don't use non-ASCII quote
7884         characters.
7886 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
7888         Portability fixes in emacs-module-tests
7890         * test/Makefile.in (abs_top_srcdir): Add variable, needed by
7891         CPPFLAGS.
7892         * test/data/emacs-module/mod-test.c: Include <limits.h>.
7893         (pT, pZ, T_TYPE, Z_TYPE): Compatibility macros, for systems that
7894         don't support %td and %zu format specs.
7895         (emacs_module_init): Use compatibility macros to make the error
7896         messages print meaningful values (and avoid compiler warnings).
7898 2018-01-19  Noam Postavsky  <npostavs@gmail.com>
7900         Add tests for term.el
7902         * lisp/term.el (term-mode): Add `name' attribute to
7903         window-adjust-process-window-size-function value, so that it can be
7904         removed easily by tests.
7905         * test/lisp/term-tests.el: New tests.
7907 2018-01-19  Callum Cameron  <cjcameron7@gmail.com>  (tiny change)
7909         Handle split AnSiT messages for term.el (Bug#17231)
7911         Check to see if there is an incomplete command at the end of
7912         term-emulate-terminal's input string, and, if so, save it so the whole
7913         command can be processed when the next string arrives.
7914         * lisp/term.el (term-partial-ansi-terminal-message): New variable.
7915         (term-mode): Make it buffer local.
7916         (term-handle-ansi-terminal-messages): Prepend it to the received
7917         message, and set it if a partial message was received.
7920         Do not merge to master, it will be solved differently there, see
7921         "Switch term.el to lexical binding, and clean up code a bit".
7923 2018-01-19  Glenn Morris  <rgm@gnu.org>
7925         * configure.ac (emacs_config_features): Add threads.
7927 2018-01-18  Noam Postavsky  <npostavs@gmail.com>
7929         Handle case-insensitive filenames for load-path shadows (Bug#5845)
7931         * lisp/emacs-lisp/shadow.el (load-path-shadows-find): Check for
7932         shadowing with case-insensitive matching for files of case-insensitive
7933         directories (as determined by `file-name-case-insensitive-p').
7934         * test/lisp/emacs-lisp/shadow-tests.el: New test.
7935         * test/lisp/emacs-lisp/shadow-resources/p1/foo.el:
7936         * test/lisp/emacs-lisp/shadow-resources/p2/FOO.el: New test files.
7938 2018-01-18  Alan Mackenzie  <acm@muc.de>
7940         CC Mode: stop distinguishing brace blocks from defun blocks by content.
7942         Don't merge to master; this is a quick fix for the emacs-26 branch.  This is
7943         essentially a reversion of the patch from 2017-11-10 which attempted to handle
7944         C99's compound literals.
7946         The bug here was triggered when a defun block contained a declaration ending
7947         in a comma, yet without a semicolon.
7949         * lisp/progmodes/cc-engine.el (c-guess-basic-syntax): At the CASE 9 test,
7950         remove from the `or' form the test of a block's contents.
7952 2018-01-17  Philipp Stephani  <phst@google.com>
7954         Use recommended long options syntax in man page
7956         * doc/man/emacs.1.in: Specify equals sign for long options, as
7957         recommended in the manual.
7959 2018-01-17  Glenn Morris  <rgm@gnu.org>
7961         An overdue update of GNUstep emacs.tiff
7963         * nextstep/GNUstep/Emacs.base/Resources/emacs.tiff:
7964         Update to the Emacs 25 icon.
7965         Converted from hicolor/scalable/apps/emacs.svg using Gimp.
7966         * nextstep/GNUstep/Emacs.base/Resources/README: Update.
7968 2018-01-17  Glenn Morris  <rgm@gnu.org>
7970         Add some test skip conditions
7972         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9726)
7973         (vc-bzr-test-bug9781): Skip if bzr is faulty.
7974         * test/src/thread-tests.el: Skip if not compiled with threads.
7976 2018-01-17  Lars Ingebrigtsen  <larsi@gnus.org>
7978         Add documentation to ecomplete.el
7980         * lisp/ecomplete.el: Add doc strings and document the format.
7982 2018-01-17  Glenn Morris  <rgm@gnu.org>
7984         * admin/authors.el (authors-aliases): Tighten more entries.
7986 2018-01-17  Glenn Morris  <rgm@gnu.org>
7988         Small startup fix for current-load-list
7990         * lisp/startup.el (command-line):
7991         Avoid current-load-list being non-nil after startup ends.
7993 2018-01-17  Glenn Morris  <rgm@gnu.org>
7995         authors-aliases is based on regexps, not literals
7997         * admin/authors.el (authors-aliases): Replace overly-broad entries.
7999 2018-01-15  Charles A. Roelli  <charles@aurox.ch>
8001         Remove incorrect documentation in comint.el
8003         * lisp/comint.el (comint-interrupt-subjob, comint-kill-subjob)
8004         (comint-quit-subjob, comint-stop-subjob): Remove incorrect
8005         documentation.  (Bug#30079)
8007 2018-01-15  Glenn Morris  <rgm@gnu.org>
8009         An overdue update of src/emacs-icon.h
8011         * src/emacs-icon.h: Update to the Emacs 25 icon.  (Bug#30047)
8012         Converted from hicolor/scalable/apps/emacs.svg using Gimp.
8014 2018-01-14  Eli Zaretskii  <eliz@gnu.org>
8016         Minor copyedit in ELisp manual
8018         * doc/lispref/variables.texi (File Local Variables): Improve
8019         wording of last change.
8021 2018-01-14  Shuguang Sun  <shuguang@gmail.com>
8023         Fix Bug#29149 in dired-aux.el
8025         * lisp/dired-aux.el (dired-shell-stuff-it): Handle remote
8026         commands on w32 properly.  (Bug#29149)
8028 2018-01-14  Michael Albinus  <michael.albinus@gmx.de>
8030         Fix Bug#29149 in shell.el
8032         * lisp/shell.el (shell): Change order of `file-local-name' and
8033         `expand-file-name' calls.  Otherwise, the local file name
8034         would be extended by a drive letter, even when it is a remote
8035         file, seen from w32.  (Bug#29149)
8037 2018-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8039         * doc/lispref/variables.texi (File Local Variables): Fix last change
8041 2018-01-13  Nicolas Petton  <nicolas@petton.fr>
8043         * ChangeLog.3: Update
8045         Update etc/AUTHORS
8047 2018-01-13  Nicolas Petton  <nicolas@petton.fr>
8049         Fix an entry in authors-aliases
8051         * admin/authors.el (authors-aliases): Replace regexp from "Max", which
8052         is too broad, to an email address ("mu@magi.net.ru").
8054 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
8056         Mention trace.el facilities in the ELisp manual
8058         * doc/lispref/debugging.texi (Debugging): Mention the trace.el
8059         library.
8061 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
8063         Improve documentation of safe values of variables
8065         * doc/lispref/variables.texi (File Local Variables): Mention the
8066         autoload cookie as a means of defining safe values for variables.
8067         See http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00261.html
8068         for the details.
8069         * doc/lispref/compile.texi (Compiler Errors): Document
8070         'byte-compile-error-on-warn'.
8072 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
8074         Improve the Emacs manual's "Misc" node
8076         * doc/emacs/misc.texi (Gnus): A more descriptive section name.
8077         (Invoking emacsclient): Mention how to avoid errors when there's
8078         no Emacs server.
8079         (EWW, Embedded WebKit Widgets): Now subsections under
8080         "Hyperlinking and Web Navigation Features".
8081         (Amusements): Add "games" to the section name.  Suggested by Alex
8082         Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
8084         * doc/emacs/emacs.texi (Top): Adjust the top-level menus to the
8085         above changes.
8087         * doc/lispref/os.texi (Security Considerations): Fix typos.
8089 2018-01-13  Martin Rudalics  <rudalics@gmx.at>
8091         In nsterm.m use FRAME_NS_P instead of FRAME_X_P (Bug#30019)
8093         * src/nsterm.m (x_set_parent_frame): Call FRAME_NS_P instead
8094         of FRAME_X_P (Bug#30019).
8096 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
8098         Bump Emacs version to 26.0.91
8100         * README:
8101         * configure.ac:
8102         * msdos/sed2v2.inp:
8103         * nt/README.W32: Bump Emacs version.
8105 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
8107         * ChangeLog.3: Update
8109 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
8111         Update authors
8113         * admin/authors.el (authors-aliases, authors-valid-file-names): Additions.
8114         * etc/AUTHORS: Update AUTHORS file.
8116 2018-01-12  Katsumi Yamaoka  <yamaoka@jpl.org>
8118         * lisp/gnus/message.el (message-do-auto-fill): Prevent do-auto-fill from
8119         adding extra citation mark (bug#29767, but it is a different bug).
8121 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
8123         Improve documentation of etags
8125         * doc/emacs/maintaining.texi (Tag Syntax, Create Tags Table):
8126         Improve documentation of etags options and of source language
8127         detection.
8129 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
8131         Teach etags new interpreters for some languages
8133         * lib-src/etags.c (Erlang_interpreters, Lua_interpreters)
8134         (Prolog_interpreters, Python_interpreters, Ruby_interpreters): New
8135         static variables.
8136         (lang_names): Use them to set interpreters for Erlang, Lua,
8137         Prolog, Python, and Ruby.
8138         (find_entries): Support "/usr/bin/env FOO" form of specifying an
8139         interpreter.
8141         * test/manual/etags/perl-src/htlmify-cystic: Modify the has-bang
8142         line to test the "env FOO" interpreter spec.  (Bug#30075)
8143         * test/manual/etags/ETAGS.good_1:
8144         * test/manual/etags/ETAGS.good_2:
8145         * test/manual/etags/ETAGS.good_3:
8146         * test/manual/etags/ETAGS.good_4:
8147         * test/manual/etags/ETAGS.good_5:
8148         * test/manual/etags/ETAGS.good_6: Adapt to latest changes in test
8149         files.
8151 2018-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
8153         * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-string' prop.
8155         * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#29767
8157 2018-01-10  Charles A. Roelli  <charles@aurox.ch>
8159         Improve documentation of fill-separate-heterogeneous-words-with-space
8161         * lisp/textmodes/fill.el
8162         (fill-separate-heterogeneous-words-with-space): Fix grammar.
8164 2018-01-10  Eli Zaretskii  <eliz@gnu.org>
8166         Fix documentation of some x-* functions
8168         * lisp/term/pc-win.el (x-display-pixel-width)
8169         (x-display-pixel-height, x-display-planes)
8170         (x-display-color-cells, x-server-max-request-size)
8171         (x-server-vendor, x-server-version, x-display-screens)
8172         (x-display-mm-height, x-display-mm-width)
8173         (x-display-backing-store, x-display-visual-class): Provide doc
8174         strings, so that 'makedoc' produces non-empty documentation in
8175         etc/DOC for these functions.  (Bug#30068)
8177 2018-01-10  Philipp Stephani  <phst@google.com>
8179         Inherit query-on-exit flag to stderr process (Bug#30031)
8181         * src/process.c (Fmake_process): Have the pipe process honor the
8182         parent's query-on-exit flag.
8184         * test/src/process-tests.el (make-process/noquery-stderr): New test.
8186 2018-01-10  Michael Albinus  <michael.albinus@gmx.de>
8188         Fix Bug#30057
8190         * test/lisp/filenotify-tests.el (file-notify--test-tmpdir): New defvar.
8191         (file-notify--test-cleanup, file-notify--test-make-temp-name)
8192         (file-notify-test01-add-watch, file-notify-test03-events)
8193         (file-notify-test05-file-validity)
8194         (file-notify-test09-watched-file-in-watched-dir)
8195         (file-notify-test10-sufficient-resources): Use it.  (Bug#30057)
8197 2018-01-10  Glenn Morris  <rgm@gnu.org>
8199         Tag some unstable tests, and skip by default (bug#24503)
8201         * Makefile.in (check-all): New phony target.
8202         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE):
8203         Also skip unstable tests.
8204         (SELECTOR_ALL): New variable.
8205         (check-all): New phony target.
8206         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
8207         (eieio-test-method-order-list-6):
8208         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
8209         (eieio-test-37-obsolete-name-in-constructor):
8210         Mark as unstable rather than skipping on hydra.nixos.org.
8212 2018-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8214         Merge from Gnulib
8216         This incorporates:
8217         2018-01-05 maint: Add encoding marker for Emacs to non-ASCII sources
8218         2018-01-04 update-copyright: Handle use of ©
8219         2018-01-04 pthread_sigmask: Avoid compilation error on mingw
8220         2018-01-02 stat-time: silence -Wunused-parameter regression
8221         * build-aux/config.guess, build-aux/config.sub:
8222         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/gnulib.mk.in:
8223         * lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c:
8224         * lib/sha256.h, lib/sha512.c, lib/sha512.h, lib/signal.in.h:
8225         * lib/stat-time.h: Copy from Gnulib, or regenerate.
8227 2018-01-09  Glenn Morris  <rgm@gnu.org>
8229         * lisp/epg.el (epg-start-sign): Replace obsolete functions.
8231 2018-01-09  Glenn Morris  <rgm@gnu.org>
8233         Small fix for erc-logging-enabled
8235         * lisp/erc/erc-log.el (erc-logging-enabled):
8236         Respect buffer-locality of erc-enable-logging variable.
8238 2018-01-09  Glenn Morris  <rgm@gnu.org>
8240         Quieten semantic normal usage
8242         * lisp/cedet/semantic/lex.el (semantic-flex): Mark obsolete at
8243         compile time in the normal way, not at run-time.  (Bug#30035)
8245 2018-01-08  Eli Zaretskii  <eliz@gnu.org>
8247         Avoid irrelevant hyperlink in doc string of 'epa-pinentry-mode'
8249         * lisp/epa.el (epa-pinentry-mode): Doc fix.  (Bug#30025)
8251 2018-01-08  Michael Albinus  <michael.albinus@gmx.de>
8253         * doc/misc/tramp.texi (Remote processes): Mention gdb restrictions with I/O.
8255 2018-01-08  Noam Postavsky  <npostavs@gmail.com>
8257         Query background for gnome terminal version 3.22 (Bug#29716)
8259         * lisp/term/xterm.el (xterm--version-handler): Use
8260         xterm--report-background-handler for terminals reporting minor version
8261         4000 and above.
8263 2018-01-07  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
8265         Make pixel-wise scrolling less laggy
8267         * lisp/pixel-scroll.el (pixel-dead-time, pixel-last-scroll-time):
8268         New variables.
8269         (pixel-scroll-up, pixel-scroll-down): Invoke 'scroll-up' or
8270         'scroll-down' when called within 'pixel-dead-time'.  (Bug#29737)
8272 2018-01-07  Alan Third  <alan@idiocy.org>
8274         Fix child frame placement issues (bug#29953)
8276         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS):
8277         (NS_PARENT_WINDOW_TOP_POS): Get the parent frame through the frame
8278         struct as invisible child windows are detached from their parents in
8279         NS.
8280         * src/nsterm.m (x_set_offset): Offscreen frames have `nil' screen
8281         value, so handle that gracefully.  Child frames with negative left and
8282         top should be positioned relative to the bottom right of the parent
8283         frame.
8285 2018-01-06  Alan Mackenzie  <acm@muc.de>
8287         Describe the precise interaction of complex primitives with the change hooks
8289         * doc/lispref/text.texi (Change Hooks): Document that most buffer changing
8290         primitives call before- and after-change-functions in balanced pairs, but that
8291         some complex primitives call b-c-f once, and a-c-f zero, one, or several
8292         times.
8294 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
8296         Fix valgrind report in call-interactively
8298         * src/callint.c (Fcall_interactively): Don't try to access more
8299         bytes than are available in the interactive spec.  (Bug#30004)
8301 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
8303         * src/editfns.c (Fsave_excursion): Doc fix.  (Bug#30001)
8305 2018-01-06  Alan Mackenzie  <acm@muc.de>
8307         Fix mark-defun when there's no spaces between successive defuns.
8309         The problem was a parse-partial-sexp call which tried to use the STOPBEFORE
8310         argument to detect non-syntactic WS.  This fails on a "}", which does not
8311         begin a sexp.
8313         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p): Enhance to
8314         handle BOL being in a string.
8315         (beginning-of-defun-comments): Call the above function in place of the call
8316         to parse-partial-sexp.
8318 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
8320         Fix Dired display and operations on file names with raw bytes
8322         * src/coding.c (decode_coding): When flushing remaining raw bytes
8323         from multibyte text, copy 2-byte forms of eight-bit-*
8324         characters as single characters, not as 2 raw bytes.  (Bug#29189)
8326 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
8328         Improve documentation of 'gdb-many-windows'
8330         * doc/emacs/building.texi (GDB User Interface Layout): Add advice
8331         for using a separate frame for 'gdb-many-windows'.
8333 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
8335         Fix failures in smerge-mode on MS-Windows
8337         * lisp/vc/smerge-mode.el (smerge--refine-chopup-region): Use
8338         utf-8-emacs-unix, not emacs-internal, to make the forced EOL
8339         convention explicit.
8340         (smerge-refine-regions): Use utf-8-emacs instead of
8341         emacs-internal, to allow decoding of non-Unix EOL conventions.
8342         (Bug#29916)
8344 2018-01-04  Stephen Leake  <stephen_leake@stephe-leake.org>
8346         Fix description of 'struct' generic function specializer
8347         Backport:
8349         * doc/lispref/functions.texi (Generic Functions): Fix description of
8350         'struct' specializer; it must be the named struct or a child, not a
8351         parent.
8353         (cherry picked from commit b6add8c7cfc6d36f9dd8ad99be06bd8ab41cc6f8)
8355 2018-01-04  Charles A. Roelli  <charles@aurox.ch>
8357         * etc/DEBUG (Getting control to the debugger): Fix grammar.
8359 2018-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
8361         * lisp/vc/vc.el (vc-region-history): log-view-vc-fileset holds a list!
8363 2018-01-03  Noam Postavsky  <npostavs@gmail.com>
8365         Don't bind dframe events on load (Bug#29599)
8367         * lisp/dframe.el (dframe-setup-hook): New hook.
8368         (dframe-set-special-events): New function, containing previous
8369         top-level key binding code.
8370         (top-level): Add it to dframe-setup-hook.
8371         (dframe-frame-mode): Run the hook.
8373 2018-01-02  Eli Zaretskii  <eliz@gnu.org>
8375         * lisp/textmodes/picture.el (picture-mode-exit): Doc fix.  (Bug#29949)
8377         * lisp/textmodes/picture.el (picture-open-line): Doc fix.  (Bug#29948)
8379 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
8381         Fix description of 'emacs-internal'
8383         * doc/lispref/nonascii.texi (Coding System Basics): Correct
8384         inaccuracy in description of 'emacs-internal'.  (Bug#29916)
8386 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
8388         Update PROBLEMS with selection-related issues
8390         * etc/PROBLEMS: Update the entry about large selections and
8391         klipper.  (Bug#29661)
8393 2018-01-01  Ross Donaldson  <gastove@gmail.com>  (tiny change)
8395         New customization variable for python-mode indentation (Bug#28475)
8397         * lisp/progmodes/python.el (python-indent-def-block-scale): New variable.
8398         (python-indent--calculate-indentation): Let it control how many indent
8399         levels are inserted for multi-line function signatures.
8401 2018-01-01  Alan Third  <alan@idiocy.org>
8403         Fix menu keyboard shortcuts on macOS (Bug#29595)
8405         * src/nsmenu.m (addItemWithWidgetValue)[NS_IMPL_COCOA]: It looks like
8406         macOS 10.13 no longer ignores long modifier strings, so explicitly use
8407         an empty string.
8409 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
8411         Fix copyright years by hand
8413         These are dates that admin/update-copyright did not update, or
8414         updated incorrectly.
8416 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
8418         Update copyright year to 2018
8420         Run admin/update-copyright.
8422 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
8424         Merge from Gnulib
8426         This incorporates:
8427         2018-01-01 maint: Run 'make update-copyright'
8428         2017-12-29 Add cross-compilation results for GNU/Hurd.
8429         2017-12-12 explicit_bzero: port to macOS + Clang 9.0.0
8431 2017-12-31  Gemini Lasswell  <gazally@runbox.com>
8433         Don't add empty keyboard macro to macro ring (Bug#24992)
8435         * lisp/kmacro.el (kmacro-end-call-mouse): Don't save a newly defined
8436         macro if it is empty.
8438         * test/lisp/kmacro-tests.el (kmacro-tests-end-and-call-macro-mouse):
8439         Remove expected failure tag.
8441 2017-12-31  Eli Zaretskii  <eliz@gnu.org>
8443         Allow customization of decoding of "man" command
8445         * lisp/man.el (Man-coding-system): New defcustom.
8446         (Man-start-calling): Use it, and also pay attention to user
8447         overriding coding-system-for-read.  (Bug#29872)
8449 2017-12-31  Daiki Ueno  <ueno@gnu.org>
8451         * etc/NEWS: Add security consideration note on passphrase input
8453 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
8455         Fix subtle problem with scroll-down when scroll-margin is nonzero
8457         * src/window.c (window_scroll_pixel_based): Account for
8458         scroll-margin when scrolling down, i.e. moving window-start
8459         towards the beginning of the buffer.  Reported by zhang cc
8460         <ccsmile2008@outlook.com> in
8461         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00894.html.
8463 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
8465         Fix problems with indexing in User manual
8467         * doc/emacs/basic.texi (Continuation Lines, Inserting Text)
8468         (Moving Point):
8469         * doc/emacs/help.texi (Help Echo, Package Keywords, Help Mode):
8470         * doc/emacs/trouble.texi (Quitting):
8471         * doc/emacs/mark.texi (Setting Mark, Disabled Transient Mark):
8472         * doc/emacs/custom.texi (Modifier Keys, Init Examples)
8473         (Creating Custom Themes):
8474         * doc/emacs/programs.texi (Program Modes, Expressions, Hideshow)
8475         (Basic Indent, Info Lookup, Symbol Completion):
8476         * doc/emacs/screen.texi (Echo Area):
8477         * doc/emacs/xresources.texi (Table of Resources, GTK Names in Emacs):
8478         * doc/emacs/display.texi (Line Truncation, Cursor Display):
8479         * doc/emacs/files.texi (File Names, Backup, File Archives):
8480         * doc/emacs/dired.texi (Operating on Files, Dired Enter):
8481         * doc/emacs/commands.texi (User Input):
8482         * doc/emacs/mule.texi (International, Unibyte Mode)
8483         (International Chars):
8484         * doc/emacs/vc1-xtra.texi (RCS and SCCS, Version Headers)
8485         (CVS Options):
8486         * doc/emacs/modes.texi (Major Modes, Minor Modes):
8487         * doc/emacs/indent.texi (Just Spaces):
8488         * doc/emacs/frames.texi (Mouse Avoidance, Mode Line Mouse)
8489         (Frame Commands):
8490         * doc/emacs/cmdargs.texi (Initial Options):
8491         * doc/emacs/abbrevs.texi (Dabbrev Customization):
8492         * doc/emacs/mini.texi (Completion Example, Completion Commands):
8493         * doc/emacs/calendar.texi (Writing Calendar Files, Calendar Unit Motion)
8494         (From Other Calendar):
8495         * doc/emacs/regs.texi (Text Registers, Bookmarks):
8496         * doc/emacs/buffers.texi (Several Buffers, Select Buffer):
8497         * doc/emacs/maintaining.texi (Xref Commands):
8498         * doc/emacs/windows.texi (Pop Up Window):
8499         * doc/emacs/text.texi (Text, Org Mode):
8500         * doc/emacs/killing.texi (Other Kill Commands):
8501         * doc/emacs/misc.texi (Document View, Gnus Group Buffer)
8502         (Gnus Summary Buffer, Shell Mode):
8503         * doc/emacs/cal-xtra.texi (Sexp Diary Entries): Remove or reword
8504         redundant identical index entries.
8505         * doc/emacs/custom.texi (Mouse Buttons)
8506         * doc/emacs/files.texi (Reverting): Fix hyphenation.
8507         * doc/emacs/emacs.texi (Top): Improve wording of Index menu items.
8508         * doc/emacs/files.texi (File Conveniences):
8509         * doc/emacs/programs.texi (MixedCase Words): Make entries that
8510         belong to Concept Index be indexed with @cindex.  (Bug#29888)
8512 2017-12-29  Alan Mackenzie  <acm@muc.de>
8514         * lisp/help.el (describe-key): Only (copy-sequence elt) when elt is a list.
8516 2017-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
8518         * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
8520         Don't mess with the lock file when inhibit_modification_hooks is set,
8521         just like we do in prepare_to_modify_buffer_1.
8523 2017-12-28  Eli Zaretskii  <eliz@gnu.org>
8525         Improve documentation of 'inhibit-modification-hooks' and friends
8527         * src/buffer.c (Fset_buffer_modified_p)
8528         (Frestore_buffer_modified_p): Doc fixes.
8529         * src/insdel.c (syms_of_insdel) <inhibit-modification-hooks>:
8530         Document in the doc string that this variable also inhibits file
8531         locks and active region handling.  (Bug#29846)
8533 2017-12-28  David Pathakjee  <dpathakjee@gmail.com>  (tiny change)
8535         Fix doc string of 'enable-recursive-minibuffers'
8537         * src/minibuf.c (syms_of_minibuf) <enable-recursive-minibuffers>:
8538         Doc fix.  (Bug#29873)
8540 2017-12-27  Eli Zaretskii  <eliz@gnu.org>
8542         Fix documentation of delsel and of killing text
8544         * doc/emacs/killing.texi (Appending Kills): Make sure the text
8545         with 2 spaces is not broken between 2 lines.
8546         * doc/emacs/mark.texi (Using Region): Remove the sentence about
8547         delsel mode that describes behavior which exists even without
8548         delsel mode turned on.  Suggested by Petteri Hintsanen
8549         <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
8551         * lisp/delsel.el (delete-selection-mode): Doc fix.
8553 2017-12-27  Glenn Morris  <rgm@gnu.org>
8555         * doc/lispref/strings.texi (Case Conversion):
8556         Use a TeX font that support ligatures.
8558 2017-12-27  Charles A. Roelli  <charles@aurox.ch>
8560         * doc/misc/speedbar.texi (Top): Fix grammar.
8562         * lisp/subr.el (with-silent-modifications): Doc fixes.
8564 2017-12-26  Eli Zaretskii  <eliz@gnu.org>
8566         Fix curved quotes in printed manual
8568         * doc/emacs/text.texi (Quotation Marks): Fix curved quote
8569         characters in the printed version of the manual.
8571 2017-12-25  Paul Eggert  <eggert@cs.ucla.edu>
8573         Say that "gnus-cloud" is a parody name
8575 2017-12-25  Eli Zaretskii  <eliz@gnu.org>
8577         More improvements for text.texi
8579         * doc/emacs/text.texi (Outline Motion): Avoid unneeded
8580         repetition.  Suggested by Petteri Hintsanen <petterih@iki.fi> in
8581         emacs-manual-bugs@gnu.org.
8583 2017-12-24  Eli Zaretskii  <eliz@gnu.org>
8585         Adjudicate review comments for the "Text" chapter of user manual
8587         * doc/emacs/text.texi (Text): Rearrange text for clarity.  Add
8588         cross-reference to the Org manual.  Make the cross-reference to
8589         Outline Mode appear in online manuals as well (the conditional was
8590         a forgotten remnant from time immemoriam).
8591         (Paragraphs): Add a note that 'paragraph-start' and
8592         'paragraph-separate' should not be anchored.
8593         (Auto Fill): Remove redundant text.  Suggested by Petteri
8594         Hintsanen <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
8596 2017-12-24  Andreas Schwab  <schwab@linux-m68k.org>
8598         * lisp/url/url-http.el
8599         (url-http-wait-for-headers-change-function): Change message to
8600         url-http-debug.
8602 2017-12-24  Alan Mackenzie  <acm@muc.de>
8604         In C-h k <mouse-n>, alert user to existence of any matching down-mouse-event
8606         , and instruct her to hold the mouse button to display its documentation.
8608         * lisp/help.el (help-downify-mouse-event-type): New function.
8609         (help-read-key-sequence, describe-key): handle double-click-time being nil or
8610         t.
8611         (describe-key): Print out instructions for displaying documentation of
8612         matching mouse down key sequence command when such exists.
8614 2017-12-23  Andreas Schwab  <schwab@linux-m68k.org>
8616         * net/eww.el (eww): Handle URLs without host part.
8618 2017-12-23  Alan Mackenzie  <acm@muc.de>
8620         Make C-h c/k S-mouse-1 display message for mouse-appearance-menu, etc.
8622         Currently, C-h c/k for S-mouse-1 reports that S-mouse-1 is unbound, ignoring
8623         that S-down-mouse-1 is bound.  We fix this by reporting on the "latest" mouse
8624         event of a sequence which is bound.
8626         * lisp/help.el (help-read-key-sequence): Save all encountered mouse events in
8627         a list.  Return the latest one which has a binding.
8629 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
8631         Avoid crashes when ':eval' deletes our frame
8633         * src/xdisp.c (display_mode_element): Signal an error if
8634         ':eval' somehow deletes the frame whose window we are
8635         redisplaying. (Bug#29726)
8637 2017-12-23  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
8639         Fix scrolling up in pixel-scroll.el
8641         * lisp/pixel-scroll.el (pixel-scroll-up): Do not try to move cursor
8642         down when EOB is shown at the top.  This function is reverted to
8643         commit 1bda71ec3b11eeb4d06c3da094a3cb21bac18d5c. (bug#29737)
8645 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
8647         Fix problems with ligatures in PDF version of ELisp manual
8649         * doc/lispref/strings.texi (Case Conversion): Avoid problems with
8650         ligatures in printed versions of the manual.  (Bug#29818)
8652 2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
8654         (elisp-flymake-byte-compile): Handle killed buffer in sentinel
8656         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
8657         Don't burp if the source-buffer has been killed.
8659 2017-12-22  Glenn Morris  <rgm@gnu.org>
8661         Avoid some overfull lines in PDF lispref
8663         * doc/lispref/commands.texi (Reading One Event):
8664         * doc/lispref/display.texi (SVG Images):
8665         * doc/lispref/frames.texi (Size Parameters):
8666         * doc/lispref/syntax.texi (Categories):
8667         * doc/lispref/windows.texi (Frame Layouts with Side Windows):
8668         Avoid overfull lines.
8670 2017-12-22  Glenn Morris  <rgm@gnu.org>
8672         Avoid some overfull lines in PDF manual
8674         * doc/emacs/display.texi (Display Custom):
8675         * doc/emacs/search.texi (Other Repeating Search):
8676         * doc/emacs/text.texi (Quotation Marks): Avoid overfull lines.
8678 2017-12-22  Glenn Morris  <rgm@gnu.org>
8680         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
8681         Fix ref.
8683 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
8685         * lisp/emacs-lisp/inline.el (define-inline): Add a doc string.
8687 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
8689         Fix doc string of 'footnote-style-alist'
8691         * lisp/mail/footnote.el (footnote-style-alist): Remove a reference
8692         to non-existing files from doc string.  (Bug#29759)
8694 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
8696         Improve documentation of selecting windows
8698         * doc/lispref/windows.texi (Basic Windows, Selecting Windows):
8699         Clarify what selecting a window means for keyboard input, and that
8700         input focus may need to be considered when selecting windows on
8701         other frames.  See
8702         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00372.html
8703         for more details.
8705 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
8707         Improve documentation of records
8709         * doc/lispref/Makefile.in (srcs): Add the forgotten records.texi.
8710         * doc/lispref/records.texi (Records): Recommend that record type
8711         names use package-naming conventions.
8713         * etc/NEWS: Add the naming convention recommendation for record
8714         types.
8716 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
8718         * etc/NEWS: Mention the removal of pinentry.el.  (Bug#27445)
8720 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
8722         Fix interactive spec of 'semantic-ia-show-variants'
8724         * lisp/cedet/semantic/ia.el (semantic-ia-show-variants): Fix the
8725         interactive spec to match the function's expectations.  (Bug#29770)
8727 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
8729         Fix documentation of 'mouse-drag-and-drop-region' and friends
8731         * doc/emacs/frames.texi (Drag and Drop): Index
8732         'mouse-drag-and-drop-region-cut-when-buffers-differ',
8733         'mouse-drag-and-drop-region-show-tooltip', and
8734         'mouse-drag-and-drop-region-show-cursor'.
8736         * etc/NEWS: Fix the format of the related entries.
8738 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
8740         Improve detection of speller version in ispell.el
8742         * lisp/textmodes/ispell.el (ispell-check-version): Accept more
8743         general forms of version numbers for Aspell, Hunspell, and
8744         Enchant, to include various beta and prereleases.  (Bug#29801)
8746 2017-12-22  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
8748         Document 'mouse-drag-and-drop-region' options and mention them in NEWS
8750         * doc/emacs/frames.texi (Drag and Drop):
8751         * etc/NEWS (times): Document options for
8752         'mouse-drag-and-drop-region' and mention them in NEWS.
8754 2017-12-22  Martin Rudalics  <rudalics@gmx.at>
8756         Fix uses of 'nil' and 'non-nil' in manuals and a few more minor issues
8758         * doc/emacs/building.texi (Grep Searching): Fix doc of
8759         'grep-save-buffers'.
8760         (Drag and Drop): Reorder paragraphs.  Fix doc of
8761         'mouse-drag-and-drop-region'.
8762         * doc/emacs/frames.texi (Word and Line Mouse):
8763         * doc/emacs/search.texi (Other Repeating Search):
8764         * doc/lispref/compile.texi (Compilation Functions):
8765         * doc/lispref/files.texi (Directory Names):
8766         * doc/lispref/functions.texi (Advising Named Functions):
8767         * doc/lispref/keymaps.texi (Controlling Active Maps):
8768         * doc/lispref/lists.texi (Association Lists):
8769         * doc/lispref/windows.texi (Quitting Windows): Fix uses of
8770         'non-nil' and 'nil'.
8772 2017-12-21  Philipp Stephani  <phst@google.com>
8774         Document that mode commands should be idempotent.
8776         * doc/lispref/modes.texi (Major Mode Conventions, Minor Mode
8777         Conventions): Document that the mode commands should be idempotent.
8779 2017-12-21  Alan Mackenzie  <acm@muc.de>
8781         Fontify a CPP construct correctly when a comment follows without spaces
8783         Do this by removing a broken optimization in the state cache which put
8784         category text properties on a character between the end of the CPP construct
8785         and the beginning of the comment.  This can't work when there's no such
8786         character.
8788         * lisp/progmodes/cc-defs.el (c-cpp-delimiter, c-set-cpp-delimiters)
8789         (c-clear-cpp-delimiters, c-comment-out-cpps, c-with-cpps-commented-out)
8790         (c-with-all-but-one-cpps-commented-out): Remove.
8792         * lisp/progmodes/cc-engine.el (c-no-comment-end-of-macro): Return the comment
8793         start position rather than one character before it.
8794         (c-invalidate-state-cache, c-parse-state): Remove the invocations of
8795         c-with-all-but-one-cpps-commented-out and c-with-cpps-commented-out.
8797         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Rename to
8798         c-neutralize-syntax-in-CPP and remove the bits which applied category
8799         properties.
8801         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Incorporate the
8802         new name of the function c-neutralize-syntax-in-CPP.
8804 2017-12-21  Eli Zaretskii  <eliz@gnu.org>
8806         Prevent infloop in redisplay on TTY frames
8808         * src/xdisp.c (extend_face_to_end_of_line): Avoid infloop when
8809         filling up display margins with the default face's background.
8810         (Bug#29789)
8812 2017-12-21  Alan Mackenzie  <acm@muc.de>
8814         Fix loss of documentation face in certain CC Mode doc comment situations
8816         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Take into account
8817         the possibility of font-lock-comment-delimiter-face.  Test rigorously for
8818         "/**" (etc.) being itself inside a literal, rather than just depending on the
8819         face of the previous character.
8821 2017-12-21  Daiki Ueno  <ueno@gnu.org>
8823         Remove pinentry.el
8825         * lisp/epg.el (epg--start): Remove the use of pinentry.el.
8826         * lisp/net/pinentry.el: Remove (bug#27445).
8828 2017-12-21  Ted Zlatanov  <tzz@lifelogs.com>
8830         Special-case %DUMBFW for GnuTLS between 3.2.5 and 3.5.1
8832         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT__DUMBFW for GnuTLS >= 3.2.5.
8833         (Fgnutls_available_p): Use it.
8835 2017-12-21  Andy Moreton  <andrewjmoreton@gmail.com>
8837         Work around GnuTLS version issues with %DUMBFW (tiny change)
8839         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT_GET_NAME and use it.
8840         (init_gnutls_functions): Use it.
8841         (Fgnutls_available_p): Use it (Bug#25061). Fix Vlibrary_cache bug.
8843 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
8845         Merge branch 'widen-less' into emacs-26
8847 2017-12-20  Glenn Morris  <rgm@gnu.org>
8849         * lisp/erc/erc.el (erc-shorten-server-name): Silence compiler warning.
8851 2017-12-20  Glenn Morris  <rgm@gnu.org>
8853         Fix some more aliases to user options
8855         * lisp/cus-edit.el (custom-mode-hook):
8856         * lisp/erc/erc.el (erc-default-coding-system):
8857         * lisp/progmodes/python.el (python-indent, python-guess-indent)
8858         (python-shell-virtualenv-path)
8859         (python-shell-completion-module-string-code)
8860         (python-shell-completion-pdb-string-code, python-use-skeletons):
8861         Define aliases to user options before the options are defined.
8863 2017-12-20  Glenn Morris  <rgm@gnu.org>
8865         Fix some flymake aliases
8867         * lisp/progmodes/flymake-proc.el (flymake-xml-program)
8868         (flymake-compilation-prevents-syntax-check, flymake-master-file-dirs)
8869         (flymake-master-file-count-limit, flymake-allowed-file-name-masks):
8870         * lisp/progmodes/flymake.el (flymake-start-syntax-check-on-find-file):
8871         Define aliases to user options before the options are defined.
8873 2017-12-20  Glenn Morris  <rgm@gnu.org>
8875         Unbreak a fileio test on non-Mac OS X systems
8877         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
8878         Don't use an undefined coding system.
8880 2017-12-20  Robert Pluim  <rpluim@gmail.com>
8882         Fix updating scrollbar sizes when scaling is in effect
8884         * src/gtkutil.c (xg_update_scrollbar_pos): Update width of
8885         scrollbar when scaling is in effect.
8886         (xg_update_horizontal_scrollbar_pos): Update scrollbar size
8887         when scaling is in effect.
8889 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
8891         Widen in indent-for-tab-command in the normal case, too
8893         Fixing this obvious omission.
8894         * lisp/indent.el (indent--funcall-widened): New function.
8895         (indent-for-tab-command): Use it.
8897 2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>
8899         Collect GnuTLS extensions and use them to set %DUMBFW if supported
8901         * lisp/net/gnutls.el (gnutls-boot-parameters): Use it to set %DUMBFW
8902         only when it's supported as "ClientHello Padding" (Bug#25061).
8904         * src/gnutls.c (Fgnutls_available_p): Get extension names and
8905         put them in the GnuTLS capabilities, using a hard-coded limit
8906         of 100 since GnuTLS MAX_EXT_TYPES is not exported.
8908 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
8910         * test/lisp/emacs-lisp/derived-tests.el: Fix copy&paste leftovers
8912 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
8914         * lisp/subr.el (delayed-after-hook-functions): Rename from ...-forms
8916         (run-mode-hooks): `funcall` the functions instead of `eval`ing the forms.
8917         * lisp/emacs-lisp/derived.el (define-derived-mode): Push functions
8918         rather than forms (bug#29679).
8920 2017-12-18  Katsumi Yamaoka  <yamaoka@jpl.org>
8922         * lisp/net/shr.el (shr-string-pixel-width): Return pixel-width,
8923         not position (bug#29734).
8925 2017-12-18  Dmitry Gutov  <dgutov@yandex.ru>
8927         Replace the mention of c-indent-defun with js-indent-line
8929         * doc/lispref/text.texi (Mode-Specific Indent):
8930         Avoid mentioning c-indent-defun in the context of multi-mode
8931         indentation.
8933 2017-12-17  Charles A. Roelli  <charles@aurox.ch>
8935         python.el doc fixes
8937         * lisp/progmodes/python.el (python-shell-accept-process-output):
8938         (python-shell-comint-end-of-output-p):
8939         (python-shell-first-prompt-hook):
8940         (python-info-beginning-of-backslash): Doc fixes.
8942 2017-12-17  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
8944         Make 'mouse-drag-and-drop-region' more robust and customizable
8946         * lisp/mouse.el
8947         (mouse-drag-and-drop-region-cut-when-buffers-differ): New option
8948         to permit 'mouse-drag-and-drop-region' to cut text also when source
8949         and destination buffers differ.
8950         (mouse-drag-and-drop-region-show-tooltip): New option to toggle
8951         display of tooltip during mouse dragging on graphic displays.
8952         (mouse-drag-and-drop-region-show-cursor): New option to toggle
8953         moving point with mouse cursor during mouse dragging of region.
8954         (mouse-drag-and-drop-region): New face to highlight original
8955         text while dragging.
8956         (mouse-drag-and-drop-region): Make use of new options and face.
8957         Ignore errors during tracking.
8959 2017-12-17  Oscar Fuentes  <ofv@wanadoo.es>
8961         Backport: Don't compare arguments that can be nil (Bug#28039)
8963         copy-region-as-kill can be called passing nil as `beg' and
8964         `end'. Magit does that, which caused an error when this advice was in
8965         effect.
8967         * lisp/ses.el (ses--advice-copy-region-as-kill): avoid comparison
8968           unless `beg' and `end' are non-nil.
8970 2017-12-17  Noam Postavsky  <npostavs@gmail.com>
8972         Don't mess up syntax-ppss cache in electric-pair (Bug#29710)
8974         In Emacs 25 and above, calling `scan-sexps', `parse-partial-sexp', or
8975         similar may update the syntax-ppss cache if
8976         `parse-sexp-lookup-properties' is non-nil.  Therefore, when calling
8977         any of these functions with a different than normal syntax-table, the
8978         cache must be cleaned afterwards.
8979         * lisp/elec-pair.el (electric-pair--with-uncached-syntax): New macro.
8980         (electric-pair--syntax-ppss, electric-pair--balance-info): Use it.
8982 2017-12-17  Glenn Morris  <rgm@gnu.org>
8984         * etc/emacs.appdata.xml: Update file format.
8986 2017-12-16  Alan Third  <alan@idiocy.org>
8988         Use utf-8-hfs-unix on macOS (Bug#29712)
8990         This is a quick fix for the Emacs 26 release. Do not merge to master.
8992         * test/src/fileio-tests.el (fileio-tests--symlink-failure): Override
8993         file-name-coding-system to utf-8-hfs-unix to prevent test failure.
8995 2017-12-16  Alan Mackenzie  <acm@muc.de>
8997         * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
8999 2017-12-16  Michael Albinus  <michael.albinus@gmx.de>
9001         Improve fix for Bug#29712
9003         * test/lisp/net/tramp-tests.el
9004         (tramp-test32-environment-variables-and-port-numbers):
9005         Adapt check for systems which do not support "echo -n".  (Bug#29712)
9007 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
9009         * doc/lispref/sequences.texi (Sequence Functions): Improve indexing.
9011 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
9013         Avoid reordering of output in 'shr-insert-document'
9015         * lisp/net/shr.el (shr-string-pixel-width): Preserve point across
9016         shr-pixel-column invocations.  (Bug#29734)
9018 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
9020         Improve documentation of 'invisible-p'
9022         * doc/lispref/display.texi (Invisible Text): Document the return
9023         value of 'invisible-p'.
9025         * src/xdisp.c (Finvisible_p): Rename the argument POS.  Doc fix.
9026         (Bug#29721)
9028 2017-12-16  Martin Rudalics  <rudalics@gmx.at>
9030         Remove one more check that Vframe_list is non-nil
9032         * src/dispnew.c (check_glyph_memory): Remove no-longer-needed
9033         check that Vframe_list is non-nil, as FOR_EACH_FRAME no longer
9034         assumes that.
9036 2017-12-16  Simen Heggestøyl  <simenheg@gmail.com>
9038         Fix off-by-one error in 'css--hex-color'
9040         * lisp/textmodes/css-mode.el (css--hex-color): Fix off-by-one error.
9042         * test/lisp/textmodes/css-mode-tests.el (css-test-hex-color): New test
9043         for 'css--hex-color'.
9045 2017-12-16  Aaron Jensen  <aaronjensen@gmail.com>
9047         Save and restore text-pixel height and width of frames (Bug#28442)
9049         * lisp/frameset.el (frameset--record-relationships): Record
9050         text-pixel-height and text-pixel-width of frame.
9051         (frameset--restore-frame): Restore text-pixel-height and
9052         text-pixel-width of frame if available.  (Bug#28442)
9054 2017-12-16  Noam Postavsky  <npostavs@gmail.com>
9056         Partially revert "Mention new strictness for &optional, &rest..."
9058         The changes to cl argument parsing are not backwards compatible, and
9059         cause inconvenience when writing macros (e.g., instead of doing '&aux
9060         ,@auxargs', some more complicated conditionals would be required).
9061         The `cl-defstruct' macro makes use of this convenience when defining
9062         empty structs (Bug#29728).
9063         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
9064         (cl--do-&aux, cl--do-arglist): Undo strict checking of &rest, &key,
9065         and &aux.
9066         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): Remove
9067         test.
9069 2017-12-15  Glenn Morris  <rgm@gnu.org>
9071         * lisp/vc/smerge-mode.el (smerge-refine): Respect font-lock-mode.
9073         * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete alias.
9075 2017-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9077         FOR_EACH_FRAME no longer assumes frame-list
9079         This cleans up a recent fix related to Bug#29661.
9080         Suggested by Stefan Monnier in:
9081         https://lists.gnu.org/r/emacs-devel/2017-12/msg00544.html
9082         * src/frame.c (next_frame, prev_frame, delete_frame):
9083         Restore debugging checks that Vframe_list is non-nil,
9084         as FOR_EACH_FRAME no longer has these checks.
9085         (delete_frame): Remove no-longer-needed checks that Vframe_list is
9086         non-nil, as FOR_EACH_FRAME no longer assumes that.
9087         * src/frame.h (FOR_EACH_FRAME): Do not assume Vframe_list is non-nil.
9089 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
9091         * src/font.c (Ffont_info): Doc fix.  (Bug#29682)
9093 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
9095         Modernise message.el face spec syntax
9097         * lisp/gnus/message.el (message-header-to, message-header-cc)
9098         (message-header-subject, message-header-newsgroups)
9099         (message-header-other, message-header-name, message-header-xheader)
9100         (message-separator, message-cited-text, message-mml):
9101         Use (DISPLAY . PLIST) face spec syntax as recommended in
9102         `(elisp) Defining Faces'.  (Bug#29405)
9104 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
9106         Update message.el obsolete face aliases
9108         * lisp/gnus/message.el: (message-header-to, message-header-cc)
9109         (message-header-subject, message-header-newsgroups)
9110         (message-header-other, message-header-name, message-header-xheader)
9111         (message-separator, message-cited-text, message-mml):
9112         Use define-obsolete-face-alias.  (Bug#29405)
9114 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
9116         Improve documentation of TERM environment variable
9118         * doc/emacs/trouble.texi (Checklist):
9119         * doc/emacs/building.texi (Compilation Shell):
9120         * doc/emacs/misc.texi (Shell Options): Improve indexing of TERM.
9121         * doc/emacs/building.texi (Compilation Shell): Mention
9122         'comint-terminfo-terminal' in conjunction with the TERM value.
9124 2017-12-15  Allen Li  <darkfeline@felesatra.moe>
9126         Add option to configure comint TERM
9128         * lisp/comint.el (comint-terminfo-terminal): New defcustom.
9129         (comint-term-environment): New function for setting terminal options
9130         (comint-exec-1): Use comint-term-environment.  (Bug#29583)
9131         * lisp/progmodes/compile.el (compilation-start): Use comint-term-environment.
9133         * etc/NEWS:
9134         * doc/emacs/misc.texi (Shell Options): Document the new option.
9136 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
9138         Better support utf-8-with-signature and utf-8-hfs in XML/HTML
9140         * lisp/international/mule.el (sgml-xml-auto-coding-function):
9141         Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
9142         obey the buffer's encoding if it is one of these variants, instead
9143         of re-encoding in UTF-8 proper.  (Bug#20623)
9145 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
9147         * lisp/menu-bar.el (menu-bar-mode): Doc fix.
9149 2017-12-15  Michael Albinus  <michael.albinus@gmx.de>
9151         Fix Bug#29712 in tramp-tests.el
9153         * test/lisp/net/tramp-tests.el
9154         (tramp-test32-environment-variables-and-port-numbers):
9155         Skip for macOS.  (Bug#29712)
9157 2017-12-15  Martin Rudalics  <rudalics@gmx.at>
9159         Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961)
9161         This does not fix Bug#29961 but avoids that Emacs segfaults when
9162         trying to shut down because it lost connection to the X server.
9164         * src/dispnew.c (check_glyph_memory):
9165         * src/frame.c (delete_frame): Don't run FOR_EACH_FRAME when
9166         there's no frame left (Bug#29961).
9168 2017-12-15  Glenn Morris  <rgm@gnu.org>
9170         * lisp/textmodes/tex-mode.el: Ensure uncompiled file is loadable.
9172 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
9174         Remember password change for IMAP in Gnus (Bug#29692)
9176         Reported by Trey Jackson <trey_jackson@mentor.com>.
9178         * lisp/gnus/mail-source.el (mail-source-fetch-imap): Check
9179         `mail-source-password-cache' for password.
9181 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
9183         Add %DUMBFW to the default GnuTLS priority strings
9185         * lisp/net/gnutls.el (gnutls-boot-parameters): Add %DUMBFW to
9186         the default priority strings (Bug#25061).
9188         * etc/NEWS: Mention it.
9190         * doc/misc/emacs-gnutls.texi (Help For Users): Point to the
9191         GnuTLS priority string documentation URL.
9193 2017-12-15  Glenn Morris  <rgm@gnu.org>
9195         Small fixes prompted by make check-declare
9197         * lisp/frame.el (x-focus-frame): Update declaration.
9198         (ns-mouse-absolute-pixel-position): Fix declaration.
9199         * lisp/vc/diff-mode.el (diff-refine-hunk):
9200         Use smerge-refine-regions rather than obsolete alias.
9201         (smerge-refine-subst): Remove declaration, no longer relevant.
9203 2017-12-15  Glenn Morris  <rgm@gnu.org>
9205         Fix some custom groups
9207         * lisp/vc/vc-hooks.el (vc-faces): Rename from vc-state-faces.
9208         * lisp/vc/cvs-status.el (cvs-status): Unused, remove.
9210 2017-12-14  Alan Mackenzie  <acm@muc.de>
9212         Fix fontification of first declaration within a C++ lambda form.
9214         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Cease
9215         spuriously recognizing the braces of a lambda form as a brace list when there
9216         is an "=" preceding the introductory brackets.
9218 2017-12-14  Charles A. Roelli  <charles@aurox.ch>
9220         * src/data.c (Fadd_variable_watcher): Doc fix.
9222 2017-12-14  Alan Mackenzie  <acm@muc.de>
9224         Fix misfontification of C++ member initialization list after "throw"
9226         * lisp/progmodes/cc-engine.el (c-forward-type): Stop recognizing a "type"
9227         starting with "throw", by using c-opt-type-modifier-prefix-key.
9229         * lisp/progmodes/cc-langs.el (c-type-modifier-prefix-kwds): New lang const
9230         which, in C++, doesn't contain "throw", otherwise like c-type-modifier-kwds.
9231         (c-opt-type-modifier-prefix-key): New lang const and var, a regexp matching
9232         any keyword in the previous lang const.
9234 2017-12-14  Dmitry Gutov  <dgutov@yandex.ru>
9236         Consolidate 'widen' calls
9238         * lisp/progmodes/prog-mode.el (prog-indentation-context):
9239         Un-document all elements but the first.
9240         (prog-widen): Remove.
9241         (http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00321.html)
9243         * doc/lispref/text.texi (Mode-Specific Indent): Update.
9245         * lisp/progmodes/ruby-mode.el (ruby-calculate-indent):
9246         Don't call widen.
9248         * lisp/progmodes/python.el
9249         (python-indent-guess-indent-offset)
9250         (python-info-current-defun): Replace prog-widen with widen;
9251         these functions are not called during indentation.
9252         (python-indent-context)
9253         (python-indent--calculate-indentation)
9254         (python-info-dedenter-opening-block-message)
9255         (python-info-line-ends-backslash-p)
9256         (python-info-beginning-of-backslash)
9257         (python-info-continuation-line-p)
9258         (python-info-current-defun): Remove 'widen' calls.
9260         * lisp/indent.el (indent-according-to-mode)
9261         (indent-for-tab-command, indent-region): Move them here.
9263         * lisp/textmodes/mhtml-mode.el (mhtml-indent-line):
9264         Bind prog-indentation-context to one-element list.
9266 2017-12-14  Martin Rudalics  <rudalics@gmx.at>
9268         Fix doc-string of Fbuffer_list
9270         * src/buffer.c (Fbuffer_list): Fix doc-string.
9272 2017-12-14  Basil L. Contovounesios  <contovob@tcd.ie>
9274         Don't raise an extraneous frame (bug#29696)
9276         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Lookup
9277         summary buffer keys from article buffer without affecting window
9278         configuration (bug#29696).
9280 2017-12-13  Noam Postavsky  <npostavs@gmail.com>
9282         Mention new strictness for &optional, &rest in arglists (Bug#29165)
9284         * etc/NEWS: Explain that '&optional' not followed by a variable is now
9285         an error.
9286         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda, cl--do-&aux)
9287         (cl--do-arglist): Also reject '&optional', '&rest', or '&aux' not
9288         followed by a variable for consistency.
9289         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): New
9290         test.
9292 2017-12-13  Alan Mackenzie  <acm@muc.de>
9294         Don't misfontify "foo ()" inside C++ initialization parentheses as a type
9296         Also recognize and handle function names introduced by "extern" inside a
9297         function.
9299         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add a new element to
9300         the result list which is t when our declaration is, or is to be treated as,
9301         being at top level.
9303         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Detect being
9304         inside a C++ uniform initialization and return (not-decl nil) for this case.
9305         (c-font-lock-declarations): Use the new element 4 of the result of
9306         c-forward-decl-or-cast-1.
9308         * lisp/progmodes/cc-langs.el (c-make-top-level-kwds, c-make-top-level-key):
9309         New lang consts/vars.
9311 2017-12-13  Glenn Morris  <rgm@gnu.org>
9313         Fixes for defcustoms, prompted by cus-test-opts
9315         * lisp/files.el (save-some-buffers-default-predicate):
9316         * lisp/time.el (display-time-world-list):
9317         * lisp/gnus/gnus-art.el (gnus-article-show-cursor):
9318         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-names):
9319         * lisp/progmodes/verilog-mode.el (verilog-auto-wire-type):
9320         * lisp/textmodes/less-css-mode.el (less-css-output-directory)
9321         (less-css-output-file-name, less-css-input-file-name):
9322         * lisp/vc/emerge.el (emerge-metachars):
9323         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles):
9324         Fix :types.
9325         * lisp/net/newst-backend.el (newsticker-url-list-defaults): Fix url.
9327 2017-12-13  Glenn Morris  <rgm@gnu.org>
9329         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
9330         Update.
9332         * lisp/htmlfontify.el (hfy-which-etags): Fix it.
9334 2017-12-13  Glenn Morris  <rgm@gnu.org>
9336         Add missing :version tags revealed by cusver-check
9338         * lisp/comint.el (comint-move-point-for-matching-input):
9339         * lisp/epa.el (epa-replace-original-text):
9340         * lisp/image-dired.el (image-dired-cmd-optipng-program)
9341         (image-dired-cmd-optipng-options):
9342         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table):
9343         * lisp/gnus/gnus-cloud.el (gnus-cloud-storage-method)
9344         (gnus-cloud-interactive):
9345         * lisp/net/mailcap.el (mailcap-user-mime-data):
9346         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag)
9347         (c-noise-macro-names, c-noise-macro-with-parens-names):
9348         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode)
9349         (flymake-wrap-around):
9350         * lisp/progmodes/grep.el (grep-use-null-filename-separator):
9351         * lisp/progmodes/js.el (js-indent-align-list-continuation):
9352         * lisp/progmodes/perl-mode.el (perl-flymake-command):
9353         * lisp/progmodes/python.el (python-flymake-command)
9354         (python-flymake-command-output-pattern, python-flymake-msg-alist):
9355         * lisp/progmodes/ruby-mode.el (ruby-flymake-use-rubocop-if-available)
9356         (ruby-rubocop-config):
9357         * lisp/textmodes/less-css-mode.el (less-css):
9358         * lisp/textmodes/tex-mode.el (tex-chktex-program)
9359         (tex-chktex-extra-flags): Add missing :version tags.
9361 2017-12-13  Glenn Morris  <rgm@gnu.org>
9363         Escape column-zero doc parens
9365         * lisp/htmlfontify.el (hfy-display-class):
9366         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm):
9367         * lisp/net/shr.el (shr-external-rendering-functions):
9368         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag):
9369         * lisp/textmodes/tildify.el (tildify-tildify):
9370         Escape column-zero doc parens.  A shame bug#21871 remains unfixed.
9372 2017-12-12  Alan Third  <alan@idiocy.org>
9374         Remove ObjC blocks (Bug#23753)
9376         * src/macfont.m (macfont_get_glyph_for_character):
9377         (mac_font_get_glyphs_for_variants): Inline Objective-C blocks.
9379         (cherry picked from commit 4590f1d768adbb2120a2b02c614f7ed3b21a4a3e)
9381 2017-12-12  Eli Zaretskii  <eliz@gnu.org>
9383         Import the latest IVD_Sequences.txt
9385         * admin/unidata/IVD_Sequences.txt: New version from
9386         http://www.unicode.org/ivd/, the 2017-12-12 version of the Unicode
9387         Ideographic Variation Database.
9389         * src/macuvs.h: Regenerated.
9391 2017-12-11  Max  <mu@magi.net.ru>  (tiny change)
9393         Fix dired-do-compress when tar doesn't default to stdin (Bug#29094)
9395         * lisp/dired-aux.el (dired-compress-file-suffixes): Use argument '-f-'
9396         to write to stdout rather than relying on the default (the choice of
9397         default is decided when compiling tar, BSD systems usually set it to a
9398         tape drive).  Drop '-v', since the output is not used anywhere.
9400 2017-12-11  Noam Postavsky  <npostavs@gmail.com>
9402         Suppress warnings during elisp completion macroexpansion
9404         Errors are already suppressed, therefore it is logical to suppress
9405         warnings as well.  Some macros (e.g., use-package) may produce
9406         warnings when given the `elisp--witness--lisp' symbol.
9407         * lisp/progmodes/elisp-mode.el (elisp--local-variables): Let-bind
9408         warning-minimum-log-level to :emergency.
9410 2017-12-11  Chunyang Xu  <xuchunyang.me@gmail.com>
9412         * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo (Bug#24410).
9414 2017-12-11  Michael Albinus  <michael.albinus@gmx.de>
9416         Make tramp-interrupt-process more robust
9418         * lisp/net/tramp.el (tramp-interrupt-process): Fall back to
9419         the default implementation if there's no success.
9421 2017-12-11  Katsumi Yamaoka  <yamaoka@jpl.org>
9423         Make quail-input-method work when inhibit-read-only is non-nil (bug#29504)
9425         * lisp/international/quail.el (quail-input-method): Work not only
9426         when buffer-read-only is nil but also when inhibit-read-only is non-nil
9427         (bug#29504).
9429 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
9431         Fix 'fontset-name-p'
9433         * lisp/international/fontset.el (fontset-name-p): Make the
9434         function work with full fontset names and fontset alias names.
9436 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
9438         Fix fontset documentation inconsistencies for bug#29630
9440         * doc/lispref/display.texi (Face Attributes): Don't document
9441         :family as accepting a fontset.  Document that :font accepts a
9442         fontset.
9444         * lisp/faces.el (set-face-attribute): Doc fix.
9446 2017-12-10  Martin Rudalics  <rudalics@gmx.at>
9448         Remove sentence from child frames section in Elisp manual
9450         * doc/lispref/frames.texi (Child Frames): Remove one sentence.
9451         Suggested by Bob Weiner <rsw@gnu.org>.
9453 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
9455         Avoid crashes in 'font-at' after 'set-fontset-font'
9457         * src/fontset.c (free_realized_fontsets): Call
9458         recompute_basic_faces, so that the basic faces are available to
9459         any Lisp that calls this function, e.g. via set-fontset-font.
9460         (Bug#29632)
9462 2017-12-10  Ted Zlatanov  <tzz@lifelogs.com>
9464         * lisp/files-x.el (connection-local-set-profile-variables): Fix docstring.
9466 2017-12-09  Ted Zlatanov  <tzz@lifelogs.com>
9468         Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
9470         Problem reported by Mark Ferlatte (Bug#28603).
9471         * lisp/net/gnutls.el (gnutls-trustfiles): Add /etc/ssl/cert.pem for macOS.
9473 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
9475         Fix tool-tip display when display margins are non-zero by default
9477         * src/buffer.h (bset_left_margin_cols, bset_right_margin_cols):
9478         New inline functions.
9479         * src/xfns.c (Fx_show_tip):
9480         * src/w32fns.c (Fx_show_tip): Force display margins of the tip
9481         buffer to zero, as it will be displayed in a pseudo-window, which
9482         doesn't support display margins.  (Bug#29627)
9484 2017-12-09  Eric Abrahamsen  <eric@ericabrahamsen.net>
9486         Handle hash tables and vectors when reading/writing EIEIO objects
9488         * lisp/emacs-lisp/eieio.el (eieio-override-prin1): EIEIO objects
9489           printed with `prin1' can no longer be read with `read'. Make sure
9490           they are printed with object-write instead, even when they're inside
9491           hash tables and vectors.
9492         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
9493           Check for written representations of objects inside hash tables and
9494           vectors, and reconstruct them.
9496 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
9498         Improve interactive debugging commands in xdisp.c
9500         * src/xdisp.c (Fdump_glyph_row, Fdump_tool_bar_row): Allow to
9501         specify ROW via prefix argument.  Fix the doc strings.
9503 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
9505         Fix calculation of continuation_pixel_width in display engine
9507         * src/xdisp.c (display_line): Remove incorrect increment of
9508         it->continuation_pixel_width when word-wrap is used.  (Bug#29594)
9510 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
9512         Improve documentation of 'save-abbrevs'.
9514         * doc/emacs/abbrevs.texi (Saving Abbrevs): Document the 'silently'
9515         value of 'save-abbrevs'.  Suggested by Alex Branham
9516         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
9518 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
9520         Improve documentation of Dired
9522         * doc/emacs/dired.texi (Dired): Mention that the Dired buffer can
9523         be made modifiable in Wdired.  Suggested by Alex Branham
9524         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
9526 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
9528         * lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)
9530 2017-12-08  Michael Albinus  <michael.albinus@gmx.de>
9532         Minor Tramp fixes
9534         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
9535         Fix a bug when renaming.
9537         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
9538         (tramp-test42-delay-load, tramp-test42-remote-load-path):
9539         Skip unless Emacs >= 26.
9541 2017-12-08  Glenn Morris  <rgm@gnu.org>
9543         * lisp/help-mode.el (help-function-def):
9544         Allow help-make-xrefs to call with one argument.  (Bug#29611)
9546 2017-12-07  Martin Rudalics  <rudalics@gmx.at>
9548         Fix doc-string of 'display-buffer-in-side-window'
9550         * lisp/window.el (display-buffer-in-side-window): In doc-string
9551         clarify why the window returned gets dedicated to its buffer.
9553 2017-12-06  Michael Albinus  <michael.albinus@gmx.de>
9555         Fix Bug#29579
9557         * lisp/files.el (file-name-non-special):
9558         Inhibit `file-name-handler-alist' only for some operations.
9559         Add missing operations.  (Bug#29579)
9561         * lisp/net/tramp-compat.el (tramp-compat-file-name-quote):
9562         Do not quote if it is quoted already.
9564         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
9565         Use `copy-tree' but `copy-sequence'.
9567         * lisp/net/tramp.el (tramp-handle-file-truename): Handle several
9568         trailing slashes correctly.
9570         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
9571         (tramp-test12-rename-file, tramp-test24-file-acl)
9572         (tramp-test25-file-selinux, tramp--test-check-files):
9573         Handle also quoted file names.
9574         (tramp-test21-file-links): Fix file name quoting test.
9575         (tramp-test24-file-acl): Be more robust for "smb" method.
9576         (tramp-test35-make-auto-save-file-name): Enable hidden test cases.
9578 2017-12-06  Rasmus  <rasmus@gmx.us>
9580         Backport: Update Org to v9.1.4
9582         Please note this is a bugfix release. See etc/ORG-NEWS for details.
9584         (cherry picked from commit 567b5efe1f338c10c574758fb968915c5c34c909)
9586 2017-12-06  Martin Rudalics  <rudalics@gmx.at>
9588         In windows.texi mention special splitting behavior of side and atomic windows
9590         * doc/lispref/windows.texi (Splitting Windows): Add note about
9591         and links to side and atomic windows.
9593 2017-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
9595         * lisp/gnus/gnus-group.el (gnus-group-mode-map):
9596         Bind [follow-link] to mouse-face, not 'mouse-face (bug#29538).
9598 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
9600         Avoid compilation warning in xterm.c
9602         * src/xterm.c (x_draw_underwave): Move the declaration of
9603         'thickness' to the non-USE_CAIRO branch, to avoid compiler
9604         warning.  (Bug#29567)
9606 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
9608         * README: Document all the top-level directories.  (Bug#29558)
9610 2017-12-04  Glenn Morris  <rgm@gnu.org>
9612         Don't enable erc modules on simply loading erc.el
9614         * lisp/erc/erc.el (erc-modules): Use default :initialize.  (Bug#29417)
9616 2017-12-03  Lars Ingebrigtsen  <larsi@gnus.org>
9618         Allow shr to use data: URLs without encoding
9620         * lisp/net/shr.el (shr-image-from-data): Don't bug out on
9621         image data: URLs that have no base64 encoding like
9622         (shr-image-from-data
9623         "text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E").
9625 2017-12-03  E. Choroba  <choroba@matfyz.cz>  (tiny change)
9627         Don't add newlines in minibuffer history
9629         * lisp/simple.el (next-line-or-history-element): Bind
9630         next-line-add-newlines to nil.  (Bug#29529)
9632 2017-12-03  Syohei YOSHIDA  <syohex@gmail.com>
9634         modhelp.py: Support Python 3 (Bug#24954)
9636         * modules/modhelp.py: 'print' statement was removed in Python
9637         3.  'print' function should be used instead of 'print' statement.
9639 2017-12-03  Noam Postavsky  <npostavs@gmail.com>
9641         Use forward slashes for python w32 config example (Bug#21656)
9643         * lisp/progmodes/python.el: Use forward slashes for Windows path
9644         example, it doesn't require doubling of slashes which reduces chances
9645         of confusion.
9647 2017-12-03  Paul Eggert  <eggert@cs.ucla.edu>
9649         Fix bug in i18n/l10n optimization
9651         This fixes a off-by-one buffer overrun bug introduced in
9652         2017-06-04T15:39:37Z!eggert@cs.ucla.edu.  Problem uncovered by an
9653         experimental version of Emacs built with -fcheck-pointer-bounds
9654         and running on Intel MPX hardware.
9655         * src/editfns.c (styled_format): Avoid overrunning internal buffers.
9657 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
9659         Let autoload-compute-prefix be set file-locally (Bug#29471)
9661         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): Mark
9662         boolean values as safe.
9664 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
9666         Improve edit-kbd-macro prompting in case of remapped keys (Bug#29399)
9668         * lisp/edmacro.el (edit-kbd-macro): Use substitute-command-keys to
9669         present the current bindings in the prompt.  Check the the
9670         non-remapped binding of the entered key sequence as well.
9672 2017-12-02  Lele Gaifax  <lele@metapensiero.it>
9674         Add tests on electric-indentation and Python multiline strings (Bug#29305)
9676         * test/lisp/progmodes/python-tests.el
9677         (python-indent-electric-comma-inside-multiline-string,
9678         python-indent-electric-comma-after-multiline-string): New tests.
9680 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
9682         Disable electric indent for python strings (Bug#29305)
9684         * lisp/progmodes/python.el (python-indent-post-self-insert-function):
9685         Do nothing when point or beginning of line is in string.
9687 2017-12-02  Yuuki Harano  <masm-emacs@masm11.ddo.jp>  (tiny change)
9689         Fix buffer overflow in fontname conversion (Bug#29523)
9691         * src/nsterm.m (ns_xlfd_to_fontname): Fix sscanf format.
9693 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
9695         Fix byte compilation of files with leading directories
9697         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Pass basename
9698         of target-file to make-temp-file, in case target-file includes a
9699         leading directory that might not exist under TMPDIR.  See
9700         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00680.html
9701         for the details.
9703 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
9705         * lisp/files.el (make-backup-file-name-1): Fix scoping error.
9707 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
9709         Revert Tramp commit from 2017-11-20
9711         * lisp/net/tramp.el (tramp-drop-volume-letter)
9712         (tramp-handle-find-backup-file-name): Revert change from
9713         2017-11-20.  Emacs' `make-backup-file-name-1' handles this
9714         case now.
9716 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
9718         Improve documentation of buffer-list commands and features
9720         * doc/emacs/buffers.texi (List Buffers): Add a cross-reference to
9721         "Several Buffers", to establish a relation between the two
9722         sections.
9723         (Buffer Menus): Expand on customizability of alternative buffer
9724         menu offered by bs.el.  Mention IBuffer.
9725         Suggested by Alex Branham <alex.branham@gmail.com> in
9726         emacs-manual-bugs@gnu.org.
9728 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
9730         Fix backing up remote files in local directories on MS-Windows
9732         * lisp/files.el (make-backup-file-name-1): Support remote file
9733         names correctly when they are backed up into a local directory on
9734         MS-Windows and MS-DOS.  (Bug#29440)
9736 2017-12-02  Glenn Morris  <rgm@gnu.org>
9738         * doc/emacs/mule.texi (Output Coding): Clarify sendmail coding.
9740 2017-12-01  John Wiegley  <johnw@newartisans.com>
9742         Revert "Fix backing up remote files in local directories on MS-Windows"
9744         This reverts commit 8c8b6732882248df4ca3b687e0a4b4e5e4ab3777.
9746 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
9748         Fix a typo in ELisp manual
9750         * doc/lispref/sequences.texi (Sequence Functions): Fix the example
9751         of using 'seq-uniq'.  (Bug#29524)
9753 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
9755         * lisp/composite.el (find-composition): Fix a typo in the doc string.
9757 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
9759         Fix backing up remote files in local directories on MS-Windows
9761         * lisp/files.el (make-backup-file-name-1): Support remote file
9762         names correctly when they are backed up into a local directory on
9763         MS-Windows and MS-DOS.  (Bug#29440)
9765 2017-12-01  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
9767         Fix vertical cursor motion in pixel-scroll.el
9769         * lisp/pixel-scroll.el (pixel-scroll-up): Move cursor down
9770         regardless of whether EOB is shown at the top.
9771         (pixel-scroll-down) Move cursor up regardless of whether BOB
9772         is shown at the top.  (Bug#29374)
9774 2017-12-01  Basil L. Contovounesios  <contovob@tcd.ie>
9776         Fix typos in doc strings of message.el
9778         * lisp/gnus/message.el (message-header-to)
9779         (message-header-subject, message-header-newsgroups)
9780         (message-header-other): Fix typos in doc strings.  (Bug#29405)
9782 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
9784         Fix a typo in the Emacs manual
9786         * doc/emacs/abbrevs.texi (Abbrev Concepts): Fix a typo.  Reported
9787         by clemens.radermacher@posteo.de in emacs-manual-bugs@gnu.org.
9789 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
9791         Improve the documentation of 'table-insert-sequence'
9793         * doc/emacs/text.texi (Table Misc): Fix the description of
9794         'table-insert-sequence'.  Reported by jack <jackh@gmx.co.uk> in
9795         emacs-manual-bugs@gnu.org.
9797 2017-12-01  Paul Eggert  <eggert@cs.ucla.edu>
9799         Port better to QNX
9801         Problem reported by Elad Lahav on emacs-devel.
9802         * configure.ac: On QNX, default CC to qcc (a GCC wrapper),
9803         and default LDFLAGS to -N2MB so that the initial stack size
9804         is not too small.  Also, fix misspelling of ‘qnxnto’.
9806 2017-11-30  Michael Albinus  <michael.albinus@gmx.de>
9808         Make tramp-test42-auto-load more robust
9810         * test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
9811         Make it more robust.  Don't skip.
9813 2017-11-30  Eli Zaretskii  <eliz@gnu.org>
9815         Avoid assertions in find-composition
9817         * src/font.c (font_range): If called with STRING non-nil and FACE
9818         a NULL pointer, compute face by calling face_at_string_position.
9819         (Bug#29506)
9821         * lisp/composite.el (find-composition): Doc fix.
9823 2017-11-29  Glenn Morris  <rgm@gnu.org>
9825         Restore obsolete method of changing byte-compile-dest-file
9827         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
9828         Restore seven-year obsolete feature that was removed for six months,
9829         since automake uses it.
9831 2017-11-29  Michael Albinus  <michael.albinus@gmx.de>
9833         Some minor Tramp corrections
9835         * lisp/net/tramp.el (tramp-handle-directory-file-name):
9836         Handle several trailing slashes correctly.
9837         (tramp-handle-file-selinux-context): New defun.
9839         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
9840         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
9841         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
9842         Use `tramp-handle-file-selinux-context'.
9844         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
9845         Extend test.
9846         (tramp-test17-insert-directory): Make check more robust.
9847         (tramp-test42-auto-load): Combine several let forms.
9848         (tramp-test42-delay-load, tramp-test42-recursive-load)
9849         (tramp-test42-remote-load-path, tramp-test43-unload): Rename.
9851 2017-11-29  Tino Calancha  <tino.calancha@gmail.com>
9853         * doc/misc/url.texi (http/https): Fix typo
9855 2017-11-29  Glenn Morris  <rgm@gnu.org>
9857         Remove some bogus definition-prefixes from loaddefs
9859         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
9860         Don't register a definition prefix from define-erc-module,
9861         which adds an erc- prefix to its argument.
9863 2017-11-28  Robert Pluim  <rpluim@gmail.com>
9865         Shell-quote wildcards when invoking 'vc-git-grep'
9867         * lisp/vc/vc-git.el (vc-git-grep): Apply shell quoting to
9868         filename wildcards to ensure globbing is done by git rather
9869         than the shell.  (Bug#29303)
9871 2017-11-28  Kaushal Modi  <kaushal.modi@gmail.com>
9873         Update documentation of '.dir-locals-2.el'
9875         See https://lists.gnu.org/r/emacs-devel/2017-11/msg00649.html
9876         for more details.
9877         * lisp/files.el (dir-locals-file-2): Remove unused constant.
9878         * lisp/files.el (dir-locals-file): Mention ".dir-locals-2.el" in
9879         the doc string.
9880         * doc/lispref/variables.texi (Directory Local Variables): Mention
9881         ".dir-locals-2.el".
9882         * etc/NEWS: Replace `dir-locals-file-2' mention with
9883         `dir-locals-file'.
9885 2017-11-27  Noam Postavsky  <npostavs@gmail.com>
9887         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64]: Bump to 22 MiB.
9889 2017-11-27  Glenn Morris  <rgm@gnu.org>
9891         A few small doc fixes for bytecomp.el
9893         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-file-regexp)
9894         (byte-compile-dest-file-function, byte-compile-dest-file): Doc fixes.
9896 2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
9898         * src/lread.c (syms_of_lread): Fix thinko in commit b1573a97e17b5
9900 2017-11-27  Glenn Morris  <rgm@gnu.org>
9902         * lisp/tree-widget.el (tree-widget-end-guide): Escape it.  (Bug#27797)
9904 2017-11-27  Eli Zaretskii  <eliz@gnu.org>
9906         Fix ELisp "Warning Tips"
9908         * doc/lispref/tips.texi (Warning Tips): Clarify when to use
9909         'require' wrapped by 'eval-when-compile'.  (Bug#29462)
9911 2017-11-27  Michael Albinus  <michael.albinus@gmx.de>
9913         Fix Bug#29163
9915         * lisp/net/tramp.el (tramp-autoload-file-name-regexp):
9916         Do not use "\\'" in regexp.  (Bug#29163)
9917         (top) Do not run (tramp-register-autoload-file-name-handlers)
9918         when loading tramp.el.
9920         * test/lisp/net/tramp-tests.el (tramp--test-mock-p): New defun.
9921         (tramp-test32-environment-variables-and-port-numbers)
9922         (tramp-test41-asynchronous-requests): Use it.
9923         (tramp-test42-auto-load): New test.
9924         (tramp-test43-recursive-load, tramp-test44-remote-load-path)
9925         (tramp-test45-delay-load, tramp-test46-unload): Rename.
9927 2017-11-27  Paul Eggert  <eggert@union>
9929         Harden exec_byte_code against redefining 'error'
9931         Problem discovered by configuring with --enable-gcc-warnings on
9932         Ubuntu 17.10 x86-64 with gcc (Ubuntu 7.2.0-8ubuntu3).
9933         * src/bytecode.c (exec_byte_code): Call the C error function
9934         instead of the Lisp one, so that the Emacs interpreter does not go
9935         haywire if the user redefines the Lisp error function.
9937 2017-11-27  Gemini Lasswell  <gazally@runbox.com>
9939         Fix Edebug specs for if-let* and and-let* (Bug#29236)
9941         * test/lisp/emacs-lisp/subr-x-tests.el (if-let*, if-let):
9942         Change Edebug spec to cause Edebug to instrument tests the
9943         results of which are not bound to symbols (the (VALUEFORM)
9944         case).
9945         (and-let*): Change Edebug spec to allow empty body.
9947         *test/lisp/emacs-lisp/subr-x-tests.el:
9948         (subr-x-and-let*-test-group-1): Add missing quote to erroneous
9949         form so Edebug will work on this test.
9951 2017-11-26  Gemini Lasswell  <gazally@runbox.com>
9953         Fix Edebug's handling of dotted specs (bug#6415)
9955         * lisp/emacs-lisp/cl-macs.el (cl-destructuring-bind): Use
9956         cl-macro-list1 instead of cl-macro-list in Edebug spec.
9958         * lisp/emacs-lisp/edebug.el (edebug-after-dotted-spec): Delete
9959         unused variable.
9960         (edebug-dotted-spec): Add docstring.
9961         (edebug-match-specs): Allow &optional and &rest specs to
9962         match nothing at the tail of a dotted form. Handle matches of
9963         dotted form tails which return non-lists.
9965         * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-dotted-forms):
9966         New test.
9968         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el:
9969         (edebug-test-code-use-destructuring-bind): New function.
9971 2017-11-26  Eli Zaretskii  <eliz@gnu.org>
9973         Improve documentation of "constant" symbols
9975         * src/font.c (syms_of_font) <font-weight-table, font-slant-table>
9976         <font-width-table>:
9977         * src/data.c (syms_of_data) <most-positive-fixnum>
9978         <most-negative-fixnum>:
9979         * src/buffer.c (syms_of_buffer) <enable-multibyte-characters>:
9980         Mention in the doc strings that these variables are read-only.
9982         * doc/lispref/variables.texi (Creating Buffer-Local): Document
9983         that making a constant variable buffer-local signals an error.
9984         * doc/lispref/variables.texi (Constant Variables):
9985         * doc/lispref/errors.texi (Standard Errors): More accurate and
9986         up-to-date documentation of which symbols cannot be assigned
9987         values.
9989 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
9991         maint: shorten https://lists.gnu.org/archive/html/... links
9993 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
9995         Merge from Gnulib
9997         This incorporates:
9998         2017-11-23 stat: work around Solaris bug with tv_nsec < 0
9999         2017-11-12 maint: shorten https://lists.gnu.org/archive/html/... links
10000         * build-aux/config.sub, doc/misc/texinfo.tex, lib/allocator.h:
10001         * lib/fstatat.c, lib/intprops.h, lib/lstat.c, lib/signal.in.h:
10002         * lib/stat-time.h, lib/stdio-impl.h, lib/stdio.in.h:
10003         * lib/timespec.h, m4/alloca.m4, m4/extern-inline.m4:
10004         * m4/faccessat.m4, m4/fstatat.m4, m4/gnulib-common.m4:
10005         * m4/lstat.m4, m4/std-gnu11.m4, m4/sys_types_h.m4:
10006         * m4/vararrays.m4:
10007         Copy from Gnulib.
10009 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
10011         Work around GCC bug 80776 on Fedora 27 x86
10013         * src/buffer.c (Fgenerate_new_buffer_name): Pacify GCC 7.2.1
10014         20170915 (Red Hat 7.2.1-2) on i686 with -Wformat-overflow -O2 by
10015         using XINT rather than XFASTINT and by adding an eassume.  This
10016         works around GCC bug 80776.
10018 2017-11-25  Paul Eggert  <eggert@cs.ucla.edu>
10020         Tweak copy-file, rename-file doc
10022         * src/fileio.c (Fcopy_file, Frename_file): Tweak the recent change
10023         slightly, as NEWNAME is treated as a directory name depending only
10024         on the contents of the NEWNAME string, and independently of
10025         whether NEWNAME names a directory (i.e., whether the directory
10026         exists) (Bug#29362).
10028 2017-11-25  Tom Tromey  <tom@tromey.com>
10030         Change font-lock-extend-region-multiline handling in mhtml-mode
10032         Bug#29159
10033         * lisp/textmodes/mhtml-mode.el (mhtml-mode): Remove
10034         font-lock-extend-region-multiline from
10035         font-lock-extend-region-functions.
10036         (mhtml--extend-font-lock-region): Call font-lock-extend-region-multiline.
10038 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
10040         Minor cleanup in tramp-gvfs-handle-file-local-copy
10042         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy):
10043         Move error message up.
10045 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
10047         Add test for Bug#29423 in Tramp.
10049         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
10050         Add test for Bug#29423.
10052 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
10054         Avoid jumbled order in HTML rendered by shr.el
10056         * lisp/net/shr.el (shr-render-td): Preserve point, as
10057         shr-render-td-1 might move it as a side effect of
10058         save-window-excursion.  (Bug#29348)
10060 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
10062         Make sure 'dired-filename' property is always put by ls-lisp
10064         * lisp/ls-lisp.el (ls-lisp-classify): Do not put the
10065         'dired-filename' text property on the file name here...
10066         (ls-lisp-classify-file): ...put it here instead.  (Bug#29423)
10068 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
10070         A better solution for bug#29347
10072         * src/thread.c (really_call_select): Don't try to take the global
10073         lock if the same thread is already holding it.  (Bug#29347)
10075 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
10077         Avoid a hang after C-g while sit-for on a Unix TTY
10079         * src/thread.c (acquire_global_lock): Don't try to take the global
10080         lock if the same thread is already holding it.  (Bug#29347)
10082 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
10084         Improve the doc string of 'list-packages'
10086         * lisp/emacs-lisp/package.el (list-packages): Describe in the doc
10087         string the columns shown by the command.  (Bug#29420)
10089 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
10091         Improve discoverability of 'defvar' for suppressing warnings
10093         * doc/lispref/compile.texi (Compiler Errors): Add index entries.
10094         * doc/lispref/variables.texi (Defining Variables): Mention that
10095         defvar with no value is used for suppressing compiler warnings.
10096         (Bug#29400)
10098 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
10100         Improve discoverability of 'read-buffer-completion-ignore-case'
10102         * lisp/window.el (switch-to-buffer)
10103         (switch-to-buffer-other-window, switch-to-buffer-other-frame):
10104         Mention 'read-buffer' in the doc string.  (Bug#29389)
10106         * doc/emacs/buffers.texi (Select Buffer): Add a cross-reference to
10107         where 'read-buffer-completion-ignore-case' is documented.
10109 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
10111         Improve documentation of self-insert-uses-region-functions
10113         * lisp/simple.el (self-insert-uses-region-functions): Clarify the
10114         doc string.
10115         * lisp/delsel.el (delete-selection-uses-region-p): Mention
10116         'self-insert-command' in the doc string.  (Bug#29373)
10118         * doc/lispref/text.texi (Commands for Insertion): Mention
10119         'self-insert-uses-region-functions'.
10120         * doc/lispref/modes.texi (Keymaps and Minor Modes): Add a
10121         cross-reference to "Commands for Insertion".
10123 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
10125         Reflect changes in copy-file and rename-file in doc strings
10127         * src/fileio.c (Fcopy_file, Frename_file): Mention in the doc
10128         strings that directory names must end in a slash.  (Bug#29362)
10130 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
10132         * lisp/progmodes/cc-vars.el (c-offsets-alist): Doc fix.  (Bug#29407)
10134 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
10136         Reorder type predicates in ELisp manual
10138         * doc/lispref/objects.texi (Type Predicates): Restore alphabetical
10139         order of listed predicates.  (Bug#29411)
10141 2017-11-23  Eli Zaretskii  <eliz@gnu.org>
10143         Fix backward scrolling in buffers with header-line
10145         * src/window.c (window_scroll_pixel_based): Account for the
10146         header-line when comparing Y coordinate with the last_visible_y.
10147         (Bug#29325)
10149 2017-11-22  Glenn Morris  <rgm@gnu.org>
10151         * lisp/bindings.el (buffer-file-coding-system):
10152         Add explicit permanent-local mark.
10154         * src/fns.c (syms_of_fns) <overriding-plist-environment>: Doc fix.
10156 2017-11-22  Alan Third  <alan@idiocy.org>
10158         Fix incorrect interaction of drag/drop and double click (bug#29121)
10160         * src/nsterm.m (EmacsView::performDragOperation): Drag and drop
10161         doesn't use ns-input-file.
10163 2017-11-22  Glenn Morris  <rgm@gnu.org>
10165         * lisp/menu-bar.el (menu-bar-options-save):
10166         Add display-line-numbers-type.
10168         * lisp/menu-bar.el (menu-bar-options-save):
10169         Add global-display-line-numbers-mode.  (Bug#28396)
10171         * lisp/follow.el (follow-mode): Restore mode line lighter.  (Bug#28495)
10173 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
10175         Extract the common part of ruby-flymake-simple and ruby-flymake-rubocop
10177         * lisp/progmodes/ruby-mode.el (ruby-flymake-simple)
10178         (ruby-flymake-rubocop):
10179         Extract the common part as ruby-flymake--helper.
10180         (ruby--rubocop-flymake-proc): Remove.  Use the first proc
10181         variable instead.
10183 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
10185         Add Rubocop Flymake backend
10187         * lisp/progmodes/ruby-mode.el (ruby-flymake-command):
10188         Inline the value.  There are no known substitutes.
10189         (ruby-flymake): Rename to `ruby-flymake-simple' and simplify
10190         the docstring.
10191         (ruby-flymake-use-rubocop-if-available): New option.
10192         (ruby--rubocop-flymake-proc): New variable.
10193         (ruby-rubocop-config): New option.
10194         (ruby-flymake-rubocop, ruby-flymake-auto): New functions.
10195         (ruby-mode): Use `ruby-flymake-auto'.
10197 2017-11-21  Noam Postavsky  <npostavs@gmail.com>
10199         Update nt/INSTALL.W64 (Bug#28601)
10201         * nt/INSTALL.W64 (Download and install MinGW-w64 and MSYS2): Move
10202         suggestion about modifying PATH to...
10203         (Test Emacs): ... here.
10204         (Run configure): Remove the unnecessary setting of PKG_CONFIG_PATH.
10205         (Troubleshooting): New section, includes suggestion to check
10206         PKG_CONFIG_PATH.
10208 2017-11-21  Charles A. Roelli  <charles@aurox.ch>
10210         Remove incorrect NEWS item about VC state indicator (Bug#28817)
10212         * etc/NEWS (VC and related modes): Remove news item about the VC
10213         state indicator.  This should have been done with commit 7882dc6
10214         of 2016-03-06 'Revert "Use colors in the VC mode lines"'.
10216 2017-11-21  Glenn Morris  <rgm@gnu.org>
10218         * lisp/emacs-lisp/byte-run.el (defsubst): Doc fix.
10220 2017-11-21  Alan Mackenzie  <acm@muc.de>
10222         Make c-defun-name analyze more thoroughly a function type which is a struct
10224         This fixes bug #29293.
10226         * lisp/progmodes/cc-cmds.el (c-defun-name): When a struct (etc.) type is
10227         encountered, check whether it is the return type of a function rather than a
10228         declaration of the struct itself.  Similarly adapt the cond arm which deals
10229         with functions properly to recognize struct return types.
10231 2017-11-21  Glenn Morris  <rgm@gnu.org>
10233         Avoid bogus abbreviated file names if HOME changes
10235         * lisp/files.el (abbreviate-file-name):
10236         If HOME changes, ignore `abbreviated-home-dir'.  (Bug#19657#20)
10237         * test/lisp/files-tests.el (files-test-abbreviated-home-dir): New.
10239 2017-11-21  Glenn Morris  <rgm@gnu.org>
10241         * lisp/emacs-lisp/byte-run.el (inline): Give it a doc.
10243 2017-11-21  Jay Kamat  <jaygkamat@gmail.com>  (tiny change)
10245         Fix erc keep-place module with new defaults (Bug#29111)
10247         * lisp/erc/erc-goodies.el (erc-keep-place): Allow erc
10248         keep-place to continue working with
10249         switch-to-buffer-preserve-window-point set to t, the new default.
10251 2017-11-20  Alan Third  <alan@idiocy.org>
10253         Add window divider faces to NS (bug#29353)
10255         * src/nsterm.m (ns_draw_window_divider): Use
10256         window-divider-first-pixel and window-divider-last-pixel faces.
10258 2017-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
10260         * src/keyboard.c: Undo last change, meant for master only
10262 2017-11-20  Michael Albinus  <michael.albinus@gmx.de>
10264         Fix Bug#29149
10266         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle also
10267         backup file names.
10268         (tramp-handle-find-backup-file-name):
10269         Call `tramp-drop-volume-letter' on the results.  (Bug#29149)
10271 2017-11-20  Martin Rudalics  <rudalics@gmx.at>
10273         Fix misbehavior when drawing three-pixel high horizontal dividers (Bug#29353)
10275         * src/xterm.c (x_draw_window_divider):
10276         * src/w32term.c (w32_draw_window_divider): Fix misbehavior when
10277         drawing three-pixel high horizontal dividers (Bug#29353).
10279         The misbehavior was noted by Keith David Bershatsky and analyzed by Alan
10280         Third.
10282 2017-11-19  Mike Kupfer  <mkupfer@alum.berkeley.edu>
10284         MH-E: don't automatically download external-body parts
10286         * lisp/mh-e/mh-mime.el (mh-mime-display-single): Use
10287         mm-automatic-display-p to verify that a part should be
10288         displayed before doing the inline checks (SF#475).
10290 2017-11-19  Michael Albinus  <michael.albinus@gmx.de>
10292         Further fix for Bug#29291
10294         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
10295         Check for local ACL support.  (Bug#29291)
10297 2017-11-19  Alan Third  <alan@idiocy.org>
10299         Fix divider frame params on NS (bug#29352)
10301         * src/nsfns.m (Fx_create_frame): Set right-divider-width and
10302         bottom-divider-width parameters.
10304 2017-11-19  Paul Eggert  <eggert@cs.ucla.edu>
10306         Spelling fixes
10308         * lisp/help-fns.el (help-fns--analyze-function):
10309         Rename from help-fns--analyse-function.
10310         All uses changed.
10312 2017-11-19  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
10314         * src/keyboard.c: Make xterm-mouse clicks on mode-line work
10316         (read_key_sequence): Recompute first_event
10317         after replay_sequence, since it might have changed (bug#29104).
10319 2017-11-18  Martin Rudalics  <rudalics@gmx.at>
10321         Don't let delete_frame select a tooltip frame (Bug#27647)
10323         * src/frame.c (delete_frame): Don't select a tooltip
10324         frame. (Bug#27647)
10326 2017-11-18  Alan Mackenzie  <acm@muc.de>
10328         Filter obtrusive events in help-read-key-sequence.
10330         This fixes most of bug #29272.
10332         * lisp/help.el (help-read-key-sequence): After a mouse event, pause for 0.01s,
10333         discarding any events (such as <help-echo>) received in this time, before
10334         polling for the double-click (etc.) events which may follow.  This fixes the
10335         infinite loop which occurred whwn <help-echo> events triggered a sit-for
10336         whilst handling menu events.
10338 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
10340         Fix symlink flag in tramp-gvfs-handle-file-attributes
10342         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
10343         Set proper symlink file mode flag.
10345 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
10347         Fix bug in tramp-handle-file-truename
10349         * lisp/net/tramp.el (tramp-handle-file-truename): Expand localname.
10351         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Check also
10352         relative symbolic links.
10354 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
10356         Fix a typo in doc string of electric-indent-functions-without-reindent
10358         * lisp/electric.el (electric-indent-functions-without-reindent):
10359         Doc fix.  (Bug#29304)
10361 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
10363         Avoid assertion violations in echo_area_display
10365         * src/xdisp.c (echo_area_display): Don't try redisplaying the echo
10366         area if the selected-frame's mini-window is nil.  (Bug#27647)
10368 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
10370         Fix case-folding in Occur
10372         * lisp/replace.el (occur-engine): Bind case-fold-search in each
10373         buffer we search.  (Bug#29254)
10375 2017-11-18  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)
10377         Fix quick-calc in C mode with hex values
10379         * lisp/calc/calc-aent.el (math-read-token): Make sure the match
10380         against "0[xX][0-9a-fA-F]+" is found at math-exp-pos.  See
10381         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00174.html
10382         for the details.
10384 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
10386         Improve documentation of dired-next/prev-marked-file
10388         * lisp/dired.el (dired-next-marked-file, dired-prev-marked-file):
10389         Doc fixes.  (Bug#29340)
10391 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
10393         Prevent aborts in line-move-visual
10395         * src/indent.c (line_number_display_width): Avoid assertion
10396         violations in init_iterator when the window's buffer was
10397         temporarily switched without updating window-start.  (Bug#29326)
10399 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
10401         More fixes in src/.gdbinit
10403         * src/.gdbinit (pwinx): Update to match 'struct window'.
10404         (pcursorx): Use "." instead of "->" because the argument is a
10405         struct, not a pointer.
10407 2017-11-17  Robert Pluim  <rpluim@gmail.com>
10409         Document how to enter whitespace when using grep-read-files
10411         * lisp/progmodes/grep.el (lgrep, rgrep, grep-read-files): Explain
10412         how to enter whitespace when using grep-read-files.  (Bug#29303)
10413         * lisp/progmodes/project.el (project-find-regexp): Likewise.
10414         * lisp/vc/vc-git.el (vc-git-grep): Likewise.
10416 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
10418         Fix .gdbinit following lisp.h changes
10420         * src/.gdbinit (xsymname, pwinx, pgx, xbuffer, xcar, xcdr, xlist)
10421         (xprintstr): Adapt to latest changes in Lisp object C structures.
10422         (Bug#29332)
10424 2017-11-15  Charles A. Roelli  <charles@aurox.ch>
10426         * lisp/simple.el (shell-command): Doc fixes.
10428 2017-11-15  Noam Postavsky  <npostavs@gmail.com>
10430         Fix marker adjustment for undo (Bug#29118)
10432         * lisp/simple.el (primitive-undo): Compare marker against absolute
10433         value of POS, because the sign of POS is irrelevant to markers.
10435 2017-11-14  Daniel Pittman  <slippycheeze@google.com>
10437         Fix Bug#28139
10439         * lisp/net/tramp-sh.el: Set TERM and INSIDE_EMACS environment earlier.
10440         (tramp-remote-process-environment): Remove TERM and INSIDE_EMACS.
10441         (tramp-remote-process-environment): Document their special handling.
10442         (tramp-open-shell): Set TERM and INSIDE_EMACS prior to starting the
10443         initial remote shell, so that it is also aware of the environment
10444         in which it is operating.  (Bug#28139)
10446 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
10448         Fix Bug#29291
10450         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
10451         Preserve permissions when copying.  (Bug#29291)
10453 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
10455         Fix Bug#2928
10457         * test/lisp/net/tramp-tests.el (tramp-test25-file-selinux):
10458         Enhance test.  (Bug#29287)
10459         (tramp-test44-delay-load): Fix for older Emacsen.
10461 2017-11-14  Martin Rudalics  <rudalics@gmx.at>
10463         Make 'mouse-drag-and-drop-region' work with 'mouse-autoselect-window' non-nil
10465         * lisp/mouse.el (mouse-drag-and-drop-region): Ignore
10466         'select-window' events to make it work with
10467         'mouse-autoselect-window'.
10469 2017-11-14  Alexander Gramiak  <agrambot@gmail.com>
10471         * etc/PROBLEMS: Remove fixed xterm-mouse-mode problems
10473         See: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29143#26
10475 2017-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
10477         Fix cookie handling (bug#29282)
10479         * lisp/url/url-cookie.el (url-cookie-handle-set-cookie):
10480         Regard a Set-Cookie header as it contains a single cookie;
10481         prefer Max-Age to Expires and convert it to Expires;
10482         remove support for old time string styles (bug#29282).
10484 2017-11-13  Gemini Lasswell  <gazally@runbox.com>
10486         Improve documentation of Edebug and macros
10488         * doc/lispref/edebug.texi (Instrumenting Macro Calls): Improve
10489         discussion of when it might be necessary to find and evaluate macro
10490         specifications before instrumenting.
10491         (Specification List): Clarify what "defining form" means to Edebug
10492         and when 'def-form' or 'def-body' should be used instead of 'form'
10493         or 'body'.
10495 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
10497         Port to IBM xlc 12.01
10499         Work around a compiler bug by using a separate enum for alignment.
10500         * src/alloc.c (roundup_size): Declare in a separate enum.
10502 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
10504         Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED
10506         * configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.  No longer
10507         needed, since we no longer rely on __attribute__ ((aligned (8))).
10508         All uses removed.
10509         * src/emacs-module.c (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.
10510         (lisp_to_value): Simplify now that we no longer need to worry
10511         whether HAVE_STRUCT_ATTRIBUTE_ALIGNED is false.
10513 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
10515         Use alignas to fix GCALIGN-related bugs
10517         Use alignas and unions to specify alignments of objects needing
10518         addresses that are at least a multiple of GCALIGNMENT.  Using
10519         these standard C facilities should be safer than relying on ad hoc
10520         and poorly-understood features like GCC’s __attribute__
10521         ((aligned (N))), the root cause for recent porting bugs like
10522         Bug#29040.  The alignas macro was standardized by C11 and Gnulib
10523         supports alignas for pre-C11 platforms.  I have tested this on Sun
10524         Studio 12 sparc (2007) and GCC 4.4.7 x86-64 (2012) as well as on
10525         more recent platforms like GCC 7.2.1 (2017) on Fedora 26 (both
10526         x86-64 and x86).
10527         * lib-src/make-docfile.c (close_emacs_globals): lispsym is now
10528         just an array of struct Lisp_Symbol, since struct Lisp_Symbol is
10529         now properly aligned.  All uses changed.
10530         * src/alloc.c (NEXT_FREE_LISP_STRING): Just use the new u.next
10531         member; this is simpler and safer than casting a pointer that
10532         might not be aligned properly.
10533         (aligned_Lisp_Symbol): Remove.  No longer needed, now that struct
10534         Lisp_Symbol is aligned properly.  All uses replaced with struct
10535         Lisp_Symbol.
10536         * src/lisp.h (GCALIGNED): Remove, as it does not work as expected:
10537         it can cause the natural alignment to be ignored.  All uses
10538         replaced by unions with a ‘char alignas (GCALIGNMENT)’ member as
10539         described below.
10540         (struct Lisp_Symbol, struct Lisp_Cons, struct Lisp_String):
10541         Change definition from ‘struct TAG { MEMBERS };’ to
10542         ‘struct TAG { union { struct { MEMBERS } s; char alignas
10543         (GCALIGNMENT) gcaligned; } u; };’.  This guarantees ‘struct TAG’
10544         to have an alignment that at least max (GCALIGNMENT, N) where N is
10545         its old alignment.  All uses like ‘PTR->MEMBER’ changed to
10546         ‘PTR->u.s.MEMBER’; these uses were supposed to be mostly private
10547         anyway.  Verify that the resulting ‘struct TAG’ is properly
10548         aligned for Emacs.
10549         (union vectorlike_header): New member ‘gcaligned’ to guarantee
10550         that this type, and its containing types like ‘struct Lisp_Subr’,
10551         ‘struct buffer’ and ‘struct thread_state’, are all properly
10552         aligned for Emacs.
10553         (struct Lisp_String): New union member ‘next’, for the benefit
10554         of NEXT_FREE_LISP_STRING.
10555         (union Aligned_Cons, union Aligned_String): Remove.  All uses
10556         replaced by struct Lisp_Cons and struct Lisp_String, since they
10557         are now properly aligned.
10558         (USE_STACK_CONS, USE_STACK_STRING): Simplify now that we can
10559         assume struct Lisp_Cons and struct Lisp_String are properly
10560         aligned.
10562 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
10564         Change vectorlike from struct to union
10566         * src/lisp.h (vectorlike_headed): Change from struct to union.
10567         All uses changed.  Since it has only one member, this does not
10568         change semantics.  This is designed to simplify future changes
10569         needed to fix bugs like Bug#29040.  All uses changed.
10571 2017-11-12  Tom Tromey  <tom@tromey.com>
10573         Don't enable cursor-sensor-mode in mhtml-mode
10575         * lisp/textmodes/mhtml-mode.el (mhtml--last-submode): Update doc
10576         string.
10577         (mhtml-mode): Don't call cursor-sensor-mode.
10579 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
10581         * lisp/files.el (abbreviate-file-name): Doc fix.  (Bug#29267)
10583 2017-11-12  João Távora  <joaotavora@gmail.com>
10585         Unbreak interactive run of a flymake test (bug#29267)
10587         See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19657#20 for the
10588         technique used here.
10590         * test/lisp/progmodes/flymake-tests.el (ruby-backend):
10591         Let-bind abbreviated-home-dir.
10593 2017-11-12  Michael Albinus  <michael.albinus@gmx.de>
10595         Fix Bug#29225
10597         * src/fileio.c (Fset_file_acl): Report error only when
10598         acl_errno_valid returns true.  (Bug#29225)
10600         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl)
10601         (tramp-test25-file-selinux): New tests.
10602         (tramp-test26-file-name-completion, tramp-test27-load)
10603         (tramp-test28-process-file, tramp-test29-start-file-process)
10604         (tramp-test30-interrupt-process, tramp-test31-shell-command)
10605         (tramp-test32-environment-variables)
10606         (tramp-test32-environment-variables-and-port-numbers)
10607         (tramp-test33-explicit-shell-file-name)
10608         (tramp-test34-vc-registered)
10609         (tramp-test35-make-auto-save-file-name)
10610         (tramp-test36-find-backup-file-name)
10611         (tramp-test37-make-nearby-temp-file)
10612         (tramp-test38-special-characters)
10613         (tramp-test38-special-characters-with-stat)
10614         (tramp-test38-special-characters-with-perl)
10615         (tramp-test38-special-characters-with-ls, tramp-test39-utf8)
10616         (tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
10617         (tramp-test39-utf8-with-ls, tramp-test40-file-system-info)
10618         (tramp-test41-asynchronous-requests)
10619         (tramp-test42-recursive-load, tramp-test43-remote-load-path)
10620         (tramp-test44-delay-load, tramp-test45-unload): Rename.
10622 2017-11-12  Alan Mackenzie  <acm@muc.de>
10624         CC Mode: Fix defun-open being recognized as brace-list-open at EOB.
10626         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Add handling
10627         for an open brace at EOB and nested braces inside an unclosed brace block.
10629 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
10631         Merge from Gnulib
10633         This incorporates:
10634         2017-11-11 faccessat: port to macOS (Bug#29231)
10635         2017-11-05 fstatat: pacify GCC on unusual platform
10636         * build-aux/config.guess, build-aux/config.sub:
10637         * doc/misc/texinfo.tex, lib/faccessat.c, lib/fstatat.c:
10638         * lib/unistd.in.h, m4/faccessat.m4, m4/unistd_h.m4:
10639         Copy from Gnulib.
10640         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
10642 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
10644         Pacify GCC when configured --with-x-toolkit=no
10646         Without these changes, Emacs does not build on Fedora 26 x86-64
10647         when configured --with-x-toolkit=no --enable-gcc-warnings.
10648         * oldXMenu/Activate.c (XMenuActivate): Add FALLTHROUGH.
10649         * src/xterm.c (x_dispatch_event): Define only if
10650         USE_X_TOOLKIT || USE_MOTIF || USE_GTK.
10652 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
10654         * lisp/find-dired.el (find-grep-dired): Doc fix.  (Bug#29262)
10656 2017-11-12  João Távora  <joaotavora@gmail.com>
10658         Fix more flymake-diag-region eob corner cases and add tests (bug#29201)
10660         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
10661         more eob corner cases.
10663         * test/lisp/progmodes/flymake-tests.el
10664         (eob-region-and-trailing-newline): New test.
10666 2017-11-11  Basil L. Contovounesios  <contovob@tcd.ie>
10668         Keep Man sections in natural order (bug#28998)
10670         * lisp/man.el (Man-build-section-alist): Reverse sections.
10672 2017-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>
10674         * lisp/minibuffer.el: Install a workaround for bug#16274
10676         * lisp/minibuffer.el (completion--nth-completion): Avoid signaling an
10677         error when `md` is applied to another table.
10679 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
10681         Fix comparisons with tip_frame in GTK builds
10683         * src/xterm.c (x_update_begin, x_new_font):
10684         * src/xfns.c (Fx_display_monitor_attributes_list):
10685         * src/frame.c (Fframe_list) [USE_GTK]: Don't consider tip_frame a
10686         tooltip frame unless its 'tooltip' parameter is non-nil.  (Bug#26747)
10688 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
10690         Improve the documentation of M-n for entering file names
10692         * lisp/files.el (find-file, find-file-other-window)
10693         (find-file-other-frame): Mention file-name-at-point-functions in
10694         the doc string.  Reported by Florian Weimer <fw@deneb.enyo.de> in
10695         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00224.html.
10697         * doc/emacs/mini.texi (Minibuffer History): Document
10698         file-name-at-point-functions and its effect on M-n when typing
10699         file names in the minibuffer.
10700         * doc/emacs/files.texi (File Names):
10701         * doc/emacs/mini.texi (Minibuffer File): Add a cross-reference to
10702         "Minibuffer History", where special features of M-n regarding
10703         files are described.
10705 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
10707         Fix desktop auto-save timer when linum-mode is used
10709         * lisp/desktop.el (desktop-read): Use toplevel value of
10710         window-configuration-change-hook when deciding whether desktop
10711         auto-saving is enabled.  Suggested by Peter Neidhardt
10712         <pe.neidhardt@googlemail.com>.  (Bug#28945)
10714 2017-11-11  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
10716         Fix "C-h k" in xterm-mouse-mode
10718         * lisp/help.el (help-read-key-sequence): Support "C-h k" for
10719         xterm-mouse-mode by calling read-key-sequence-vector instead of
10720         read-event.  (Bug#29150)
10722 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
10724         Fix off-by-1 bug in --enable-checking=stringbytes
10726         Evidently nobody builds Emacs with --enable-checking=all,
10727         which is no surprise as it is so slow as to be unusable nowadays.
10728         Perhaps we should remove the slowest checks, or move them into
10729         another category, or speed them up, or something.
10730         * src/alloc.c (SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Fix off-by-one
10731         error in size calculation, which caused a failure when
10732         --enable-checking=stringbytes was used.  I introduced this bug in
10733         2016-09-08T01:08:45!eggert@cs.ucla.edu "Port flexible array
10734         members to GCC + valgrind".
10736 2017-11-10  Alan Mackenzie  <acm@muc.de>
10738         Correct the indentation of C99's compound literals.
10740         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Amend so that
10741         if there is only syntactic whitespace in a brace block, it is regarded as a
10742         statement block.  Also, if there is no semicolon or comma delimiter, treat as
10743         a statement block when there is a keyword.
10744         (c-guess-basic-syntax): CASE 9 test: Regard a brace as starting a brace block
10745         when its contents indicate a brace block.
10747 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
10749         Improve the doc string of 'dired-isearch-filter-filenames'
10751         * lisp/dired-aux.el (dired-isearch-filter-filenames): Doc fix.
10752         (Bug#29215)
10754 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
10756         * lisp/isearch.el (search-invisible): Doc fix.  (Bug#29222)
10758 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
10760         Fix display of line numbers in GTK builds
10762         * src/xdisp.c (should_produce_line_number) [USE_GTK]: Make sure
10763         tip_frame is indeed a tooltip frame, before disabling line numbers
10764         on it.  (Bug#27647)
10766         * src/dispextern.h (tip_frame): Add commentary describing the
10767         kludgey usage of this variable in GTK builds.
10769 2017-11-10  João Távora  <joaotavora@gmail.com>
10771         Fix previous change to flymake-diag-region (bug#29174)
10773         * lisp/progmodes/flymake.el (flymake-diag-region):
10774         Pass line and col to commit.
10776 2017-11-09  João Távora  <joaotavora@gmail.com>
10778         flymake-diag-region really returns nil if region is invalid (bug#29174)
10780         Reported by Lele Gaifax <lele@metapensiero.it>.
10782         * lisp/progmodes/flymake.el (flymake-diag-region): Really
10783         return nil if the region is invalid.
10785 2017-11-09  João Távora  <joaotavora@gmail.com>
10787         Flymake correctly highlights whole last line if eob (bug#29201)
10789         If a line/column pair indicates an end-of-buffer position, flymake
10790         should behave like the case where the last line of the buffer is
10791         referenced without a column indication.  This behavior is currently
10792         to highlight the whole last line.
10794         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
10795         conditions of fallback to the fallback-eol local function.
10797 2017-11-09  João Távora  <joaotavora@gmail.com>
10799         Protect Flymake checkdoc backend against checkdoc errors (bug#29176)
10801         The function checkdoc-current-buffer may error if there are unbalanced
10802         parens, for example, but this shouldn't disable the
10803         elisp-flymake-checkdoc backend.
10805         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc): Use
10806         ignore-errors.
10808 2017-11-09  João Távora  <joaotavora@gmail.com>
10810         Sort entries of the Flymake diagnostics buffer (bug#29175)
10812         Reported by Lele Gaifax <lele@metapensiero.it>.
10814         * lisp/progmodes/flymake.el
10815         (flymake--diagnostics-buffer-entries): Sort results of flymake-diagnostics.
10817 2017-11-09  Alan Mackenzie  <acm@muc.de>
10819         Correctly indent C++14 brace lists which are a second argument to a function.
10821         In particular, don't indent contained brace lists in "staircase" fashion.
10822         This fixes bug #28623.
10824         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): When
10825         testing for being enclosed in parens, recognize also a brace directly
10826         following a comma, as well as a brace being the first thing inside the paren.
10827         Enhance the return value, by indicating when we're directly inside an open
10828         paren.
10829         (c-inside-bracelist-p): Add an extra argument ACCEPT-IN-PARAM which indicates
10830         whether we will accept a bracelist directly inside an open parenthesis.
10831         Simplify the manipulation of PAREN-STATE by dispensing with variable LIM and
10832         using c-pull-open-brace.  Enhance the return value, respecting the new argument.
10833         (c-guess-basic-syntax): Save a copy of the initial parse-state in the new
10834         variable STATE-CACHE.  Use this variable in place of C-STATE-CACHE throughout
10835         the function.  At CASE 7B, call c-inside-bracelist-p with extra argument nil.
10836         At CASE 9, call that function with extra argument t.
10838 2017-11-09  Eli Zaretskii  <eliz@gnu.org>
10840         Fix redisplay of overlay-arrows on GUI frames
10842         * src/xdisp.c (try_window_reusing_current_matrix)
10843         (try_cursor_movement): Disallow these optimizations if the buffer
10844         has overlay arrow(s) shown on the fringe(s).  (Bug#29198)
10846 2017-11-09  João Távora  <joaotavora@gmail.com>
10848         Protect Flymake tests against older Ruby and Perl (bug#29187)
10850         * test/lisp/progmodes/flymake-tests.el (perl-backend): Search
10851         for the error from the bottom.
10852         (ruby-backend): Protect against situation of bug#29187
10854 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
10856         Fix URL cookie expiration bug
10858         Problem reported by Damien Cassou (Bug#29223).
10859         * lisp/url/url-cookie.el (url-cookie-expired-p):
10860         Fix typo in previous change, which caused unexpired cookies
10861         to be treated as expired and vice versa.
10863 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
10865         Use GCALIGNED properly for GCC
10867         Apparently GCC requires that ‘__attribute__ ((aligned (8)))’ must
10868         immediately follow the ‘struct’ keyword when aligning a structure.
10869         The attribute silently does not work if it follows a tag after the
10870         ‘struct’ keyword.  Who knew?  Anyway, this patch is designed to
10871         fix a SIGSEGV problem reported by John Mastro (Bug#29183).
10872         * lib-src/make-docfile.c (close_emacs_globals):
10873         * src/buffer.c (buffer_defaults, buffer_local_symbols):
10874         * src/lisp.h (DEFUN):
10875         * src/thread.c (main_thread):
10876         Put 'GCALIGNED' immediately after 'struct'.
10878 2017-11-09  Glenn Morris  <rgm@gnu.org>
10880         In f90.el, set fill-paragraph-function to a useful value
10882         * lisp/progmodes/f90.el (f90-mode-map) <menu>: Add fill-paragraph.
10883         (f90-mode): Set fill-paragraph-function.
10884         (f90-fill-paragraph): New command.
10886 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
10888         Fix to 2fddfb7ce7
10890         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
10891           Fix bogus paren wrapping.
10893 2017-11-08  Glenn Morris  <rgm@gnu.org>
10895         * admin/gitmerge.el (gitmerge-resolve-unmerged): Fix doc typo.
10897 2017-11-08  Charles A. Roelli  <charles@aurox.ch>
10899         Further workaround for faulty localtime() under macOS 10.6
10901         * lisp/org/org-clock.el (org-clock--oldest-date): Fix an issue
10902         when compiling on macOS 10.6 with a western time zone (a
10903         continuation of Bug#27736).  In particular, see:
10905         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27736#74
10907         and the first commit that attempted to work around this problem,
10908         "Workaround for faulty localtime() under macOS 10.6", bd49b6f1 of
10909         2017-09-30.
10911 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
10913         Handle object string name in eieio-persistent-convert-list-object
10915         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
10916           Starting to phase out the printing of object names in
10917           `object-write', handle either case.
10919 2017-11-08  Ryan C. Thompson  <rct@thompsonclan.org>
10921         Fix handling of nil PRED2 arg for completion-table-with-predicate
10923         * lisp/minibuffer.el (completion-table-with-predicate): Don't act as
10924         if strict is non-nil when pred2 is nil (Bug#27841).
10925         * test/lisp/minibuffer-tests.el
10926         (completion-table-with-predicate-test): Add a test for Bug#27841.
10928 2017-11-07  K. Handa  <handa@gnu.org>
10930         Describe Lao rendering problem
10932         * etc/PROBLEMS: Describe a workaround for the problem of Lao rendering
10933         by OpenTyype font.
10935 2017-11-07  K. Handa  <handa@gnu.org>
10937         Fix docstring of arabic-shaper-ZWNJ-handling
10939         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Adjusted
10940         the doctstring for addition of :set (bug#28312).
10942 2017-11-07  Antonin Houska  <ah@melesmeles.cz>  (tiny change)
10944         Handle single-line comments correctly (Bug#26049)
10946         * lisp/newcomment.el (comment-region-internal): Previously, the
10947         comment text had to contain at least one line break character for the
10948         ending extra line to be added.  Make the behavior more consistent by
10949         looking for end of line instead.
10950         (comment-region-internal): Remove trailing white space from the
10951         comment's initial line.
10953 2017-11-07  Glenn Morris  <rgm@gnu.org>
10955         * test/lisp/net/tramp-tests.el (tramp-test16-file-expand-wildcards):
10956         Clean up properly.
10958 2017-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>
10960         * etc/PROBLEMS: Add URL to relevant issues for xterm+evil bug
10962 2017-11-06  Martin Rudalics  <rudalics@gmx.at>
10964         Document new treatment of 'comment-auto-fill-only-comments'
10966         * doc/lispref/text.texi (Auto Filling): Add reference to Emacs
10967         manual.  Add description of 'comment-auto-fill-only-comments'.
10968         * etc/NEWS: Mention new treatment of
10969         'comment-auto-fill-only-comments'.
10971 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
10973         Do not load Tramp unless `tramp-mode' is non-nil
10975         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Load Tramp only if
10976         `tramp-mode' is non-nil.
10977         (tramp-unload-file-name-handlers): Unload also
10978         `tramp-autoload-file-name-handler'.
10980         * test/lisp/net/tramp-tests.el (tramp-test42-delay-load): Extend test.
10982 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
10984         Prefer `customize-set-variable' in tramp.texi
10986         * doc/misc/tramp.texi (Configuration, Default Method, Default User)
10987         (Default Host, Remote shell setup, Auto-save and Backup)
10988         (Ad-hoc multi-hops, Frequently Asked Questions):
10989         Prefer `customize-set-variable' over `custom-set-variables'.
10991 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
10993         Fix last change in hscroll_window_tree
10995         * src/xdisp.c (hscroll_window_tree): When hscroll suspension is
10996         being disabled, set the frame's garbaged flag less eagerly.
10997         (Bug#29002)
10999 2017-11-05  Philipp Stephani  <phst@google.com>
11001         Ediff: add some missing documentation
11003         * lisp/vc/ediff.el (ediff-files, ediff-files3, ediff-buffers)
11004         (ediff-buffers3, ediff-merge-directories)
11005         (ediff-merge-directories-with-ancestor)
11006         (ediff-merge-directory-revisions)
11007         (ediff-merge-directory-revisions-with-ancestor)
11008         (ediff-windows-wordwise, ediff-windows-linewise)
11009         (ediff-regions-wordwise, ediff-regions-linewise)
11010         (ediff-merge-files, ediff-merge-files-with-ancestor)
11011         (ediff-merge-buffers, ediff-merge-buffers-with-ancestor)
11012         (ediff-merge-revisions, ediff-merge-revisions-with-ancestor)
11013         (ediff-patch-file, ediff-revision): Document missing arguments.
11014         (ediff-patch-buffer, ediff-revision): Add second space after
11015         period.
11016         (ediff-files-command, ediff3-files-command, ediff-merge-command)
11017         (ediff-merge-with-ancestor-command, ediff-directories-command)
11018         (ediff-directories3-command, ediff-merge-directories-command): Add
11019         documentation for the command line functions.
11021 2017-11-05  Justin Timmons  <justinmtimmons@gmail.com>  (tiny change)
11023         Support python virtualenv on w32 (Bug#24464)
11025         According to the virtualenv docs only POSIX systems follow the
11026         structure "/path/to/venv/bin/", while windows systems use
11027         "/path/to/venv/Scripts" for the location of the binary files, most
11028         importantly including the python interpreter (see:
11029         https://virtualenv.pypa.io/en/stable/userguide/#windows-notes).
11030         * lisp/progmodes/python.el (python-shell-calculate-exec-path): Use the
11031         "/path/to/venv/Scripts" for `windows-nt' machines.
11033 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
11035         Improve dired deletion error handling (Bug#28797)
11037         * lisp/dired.el (dired-internal-do-deletions): Use
11038         `error-message-string' to produce a human readable error message.
11040 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
11042         Don't replace user input when completion prefix is empty (Bug#18951)
11044         * lisp/pcomplete.el (pcomplete-parse-arguments): Only replace user
11045         input if we produced a non-empty common completion stub.
11047 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
11049         Return non-nil from gnutls-available-p under GnuTLS 2.x
11051         * doc/misc/emacs-gnutls.texi (Help For Users): Update the
11052         documentation of 'gnutls-available-p'.
11054         * etc/NEWS (GnuTLS): Mention the change in the value returned by
11055         'gnutls-available-p'.
11057         * src/gnutls.c (Fgnutls_available_p): Return non-nil when GnuTLS
11058         2.x is available.  (Bug#29147)
11060 2017-11-05  João Távora  <joaotavora@gmail.com>
11062         Fix Flymake help-echo functions across windows (bug#29142)
11064         * lisp/progmodes/flymake.el (flymake--highlight-line): Use
11065         with-selected-window.
11066         (flymake-goto-next-error): Call help-echo with a window and an
11067         overlay.
11069 2017-11-05  João Távora  <joaotavora@gmail.com>
11071         Add tests for Flymake backends for Ruby and Perl
11073         * test/lisp/progmodes/flymake-tests.el (perl-backend)
11074         (ruby-backend): New tests.
11075         (warning-predicate-rx-perl, warning-predicate-function-perl):
11076         Delete tests.
11078         * test/lisp/progmodes/flymake-resources/test.pl: Include an
11079         error the test file.
11081         * test/lisp/progmodes/flymake-resources/test.rb: file.
11083 2017-11-05  João Távora  <joaotavora@gmail.com>
11085         Add a Flymake backend for Perl
11087         Define a simple backend in perl-mode.el, which cperl-mode.el also
11088         uses.
11090         * lisp/progmodes/cperl-mode.el (cperl-mode): Add to
11091         flymake-diagnostic-functions.
11093         * lisp/progmodes/flymake-proc.el
11094         (flymake-proc-allowed-file-name-masks): Disable legacy backend
11095         for perl files.
11097         * lisp/progmodes/perl-mode.el (perl-flymake-command): New
11098         defcustom.
11099         (perl--flymake-proc): New buffer-local variable.
11100         (perl-flymake): New function.
11101         (perl-mode): Add to flymake-diagnostic-functions.
11103 2017-11-05  João Távora  <joaotavora@gmail.com>
11105         Add a Flymake backend for Ruby
11107         * lisp/progmodes/ruby-mode.el (ruby-flymake-command): New
11108         defcustom.
11109         (ruby--flymake-proc): New buffer-local variable.
11110         (ruby-flymake): New function.
11111         (ruby-mode): Add flymake-diagnostic-functions.
11113 2017-11-05  Lele Gaifax  <lele@metapensiero.it>
11115         Add a Flymake backend for Python (bug#28808)
11117         Implement new Flymake backend with related customizable settings.
11119         * lisp/progmodes/python.el (python-flymake-command)
11120         (python-flymake-command-output-pattern)
11121         (python-flymake-msg-alist): New defcustom.
11122         (python--flymake-parse-output): New function, able to parse
11123         python-flymake-command output accordingly to
11124         python-flymake-command-output-pattern.
11125         (python-flymake): New function implementing the backend
11126         interface using python--flymake-parse-output for the real
11127         work.
11128         (python-mode): Add python-flymake to flymake-diagnostic-functions.
11130 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
11132         Allow "%" in Tramp host names
11134         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name): Hexify also host.
11136         * lisp/net/tramp.el (tramp-host-regexp): Allow "%" in host names.
11138 2017-11-04  Noam Postavsky  <npostavs@users.sourceforge.net>
11140         Use hybrid malloc for FreeBSD (Bug#28308)
11142         FreeBSD aarch64 does not provide sbrk, so gmalloc cannot be used; when
11143         using system malloc dumping does not work correctly (allocated data is
11144         invalid after dumping).
11145         * configure.ac: Set hybrid_malloc for freebsd.
11146         * src/gmalloc.c (gdefault_morecore) [!HAVE_SBRK]: Don't call sbrk.
11148 2017-11-04  Charles A. Roelli  <charles@aurox.ch>
11150         Add html-, mhtml- and python-mode support to semantic symref
11152         * lisp/cedet/semantic/symref/grep.el
11153         (semantic-symref-filepattern-alist): Fix the entry for
11154         'html-mode', which used a regexp-like syntax where only glob
11155         syntax is permitted.  As a result, 'xref-find-references' (M-?)
11156         can now find references in HTML files.  Also duplicate the same
11157         entry for the sake of 'mhtml-mode', and add a new one for
11158         'python-mode'.
11159         (semantic-symref-derive-find-filepatterns): In the documentation,
11160         clarify that returned patterns must follow the glob syntax.  Fix
11161         an 'if' test that always evaluates to nil.
11162         (semantic-symref-tool-grep):
11163         (semantic-symref-perform-search): Fix typos.
11165 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
11167         Improve documentation of 'window-scroll-functions'
11169         * doc/lispref/windows.texi (Window Hooks): Clarify the values of
11170         arguments of 'window-scroll-functions' functions.
11172         * src/xdisp.c (syms_of_xdisp) <window-scroll-functions>: Doc fix.
11174 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
11176         Fix subtle problems in tabulated-list-mode with line numbers
11178         * lisp/emacs-lisp/tabulated-list.el
11179         (tabulated-list-watch-line-number-width): Call
11180         tabulated-list-init-header instead of tabulated-list-revert.
11181         (tabulated-list-window-scroll-function): New function.
11182         (tabulated-list-mode): Put 'tabulated-list-window-scroll-function'
11183         on the buffer-local 'window-scroll-functions' list.
11185 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
11187         Make gdb-non-stop-setting default to nil on MS-Windows
11189         * lisp/progmodes/gdb-mi.el (gdb-non-stop-setting): Now nil on
11190         MS-Windows.
11192 2017-11-04  Mike Gulick  <mike.gulick@mathworks.com>  (tiny change)
11194         Fix gdb-mi prompt after "attach PID" command
11196         * lisp/progmodes/gdb-mi.el (gdbmi-bnf-console-stream-output): Set
11197         gdb-first-done-or-error non-nil.  (Bug#29020)
11199 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
11201         Fix doc string of 'window-configuration-change-hook'
11203         * src/window.c (syms_of_window) <window-configuration-change-hook>:
11204         Doc fix.  (Bug#29049)
11206 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
11208         Improve documentation of window hooks
11210         * doc/lispref/windows.texi (Window Hooks): Fix the description of
11211         window-configuration-change-hook.  (Bug#29049)
11212         <run-window-scroll-functions, run-window-configuration-change-hook>:
11213         Document these functions.
11215 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
11217         Fix hscroll suspension after cursor motion
11219         * src/xdisp.c (hscroll_window_tree): Trigger a thorough redisplay
11220         of the window when temporary suspension of hscrolling is
11221         disabled.  (Bug#29002)
11223 2017-11-03  Alan Mackenzie  <acm@muc.de>
11225         Introduce a function to CC Mode which displays the current function name
11227         Remove an erroneous interactive specification from two functions.
11229         * lisp/progmodes/cc-cmds.el (c-display-defun-name): New command.
11230         (c-defun-name, c-cpp-define-name): Remove interactive specification.
11232         * lisp/progmodes/cc-mode.el (c-mode-base-map): Add binding C-c C-z for the new
11233         command.
11235         * doc/misc/cc-mode.texi (Other Commands): Add documentation for the new
11236         command.
11238 2017-11-03  Eli Zaretskii  <eliz@gnu.org>
11240         Fix typos in ediff-wind.el
11242         * lisp/vc/ediff-wind.el (ediff-setup-windows-multiframe-merge):
11243         Fix typos in commentary.  (Bug#29138)
11245 2017-11-03  João Távora  <joaotavora@gmail.com>
11247         Examine tex-chktex--process in the correct buffer
11249         As in other Flymake backends, the process sentinel might run in
11250         arbitrary buffers where this variable's value doesn't make sense.
11252         For a way to trigger a problem due to this, see discussion starting in
11253         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00645.html
11255         * lisp/textmodes/tex-mode.el (tex-chktex): Use
11256         with-current-buffer.
11258 2017-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
11260         * nt/INSTALL.W64: Update to current mingw64 install instructions
11262 2017-11-03  João Távora  <joaotavora@gmail.com>
11264         Don't resignal errors in flymake-diag-region
11266         * lisp/progmodes/flymake.el (flymake-diag-region): Use
11267         flymake-log instead of flymake-error.
11269 2017-11-03  João Távora  <joaotavora@gmail.com>
11271         New xref-quit-and-goto-xref command bound to TAB (bug#28814)
11273         This is like xref-goto-xref, but quits the *xref* window just before
11274         the user jump to ref.
11276         * lisp/progmodes/xref.el (xref--show-location): Handle 'quit
11277         value for SELECT.
11278         (xref-goto-xref): Take optional QUIT arg.
11279         (xref-quit-and-goto-xref): New command.
11280         (xref--xref-buffer-mode-map): Bind "Q" and "TAB" to
11281         xref-quit-and-goto-xref.
11283         * doc/emacs/maintaining.texi (Xref Commands): Describe new bindings in
11284         *xref*.
11286         * etc/NEWS (Xref): Describe new binding.
11288 2017-11-03  João Távora  <joaotavora@gmail.com>
11290         Allow split-window-sensibly to split threshold in further edge case
11292         As a fallback, and to avoid creating a frame, split-window-sensibly
11293         would previously disregard split-height-threshold if the window to be
11294         split is the frame's root window.
11296         This change generalizes that: it disregards the threshold if the
11297         window to be split is the frame's only _usable_ window (it is either
11298         the only one, as before, or all the other windows are dedicated to
11299         some buffer and thus cannot be touched).
11301         This is required for the fix to bug#28814.
11303         * lisp/window.el (split-height-threshold): Adjust doc to match
11304         split-window-sensibly.
11305         (split-window-sensibly): Also disregard threshold if all other
11306         windows are dedicated.
11308 2017-11-03  João Távora  <joaotavora@gmail.com>
11310         Honor window-switching intents in xref-find-definitions (bug#28814)
11312         When there is more than one xref to jump to, and an *xref* window
11313         appears to help the user choose, the original intent to open a
11314         definition in another window or frame is remembered when the choice to
11315         go to or show a reference is finally made.
11317         * lisp/progmodes/xref.el (xref--show-pos-in-buf): Rewrite.
11318         (xref--original-window-intent): New variable.
11319         (xref--original-window): Rename from xref--window and move up
11320         here for clarity.
11321         (xref--show-pos-in-buf): Rewrite.  Don't take SELECT arg here.
11322         (xref--show-location): Handle window selection decision here.
11323         (xref--window): Rename to xref--original-window.
11324         (xref-show-location-at-point): Don't attempt window management here.
11325         (xref--show-xrefs): Ensure display-action intent is saved.
11327 2017-11-03  Paul Pogonyshev  <pogonyshev@gmail.com>
11329         * lisp/emacs-lisp/generator.el (iter-do): Add a debug declaration.
11331 2017-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
11333         * lisp/progmodes/flymake.el (flymake-start): Fix dead buffer case
11335         Don't try to flymake-start within a buffer that doesn't exist any more.
11337 2017-11-03  Basil L. Contovounesios  <contovob@tcd.ie>
11339         Fix buffer name comparison in async shell-command
11341         * lisp/simple.el (shell-command): Keep track of output-buffer
11342         by its name, not by its object.  (Bug#28997)
11344 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
11346         Change GCALIGNMENT back to an integer literal
11348         * src/lisp.h (GCALIGNMENT): Change it back to a macro
11349         that expands to a literal integer constant, for older GCC.
11350         I had mistakenly thought that only MSVC had the problem.
11351         Problem repored by Eli Zaretskii (Bug#29040#69).
11353 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
11355         * src/lisp.h (GCALIGNED): Clarify comment (Bug#29040).
11357 2017-11-03  Hong Xu  <hong@topbug.net>
11359         Improve the doc of eshell-cmpl-* custom variables (Bug#25069)
11361         * lisp/eshell/em-cmpl.el (eshell-cmpl--custom-variable-docstring): New
11362         function to generate the docstring for custom variables derived from
11363         pcomplete-* variables.
11364         (eshell-cmpl-file-ignore, eshell-cmpl-dir-ignore)
11365         (eshell-cmpl-ignore-case, eshell-cmpl-autolist)
11366         (eshell-cmpl-suffix-list, eshell-cmpl-recexact)
11367         (eshell-cmpl-man-function, eshell-cmpl-compare-entry-function)
11368         (eshell-cmpl-expand-before-complete, eshell-cmpl-cycle-completions)
11369         (eshell-cmpl-cycle-cutoff-length, eshell-cmpl-restore-window-delay)
11370         (eshell-command-completion-function, eshell-cmpl-command-name-function)
11371         (eshell-default-completion-function, eshell-cmpl-use-paring): Use it
11372         to set the docstring.
11374 2017-11-02  Alan Third  <alan@idiocy.org>
11376         Fix mouse-scrollbar offset on GNUstep and old macOS (bug#29053)
11378         * src/nsterm.m (EmacsScroller::mouseDown,
11379         EmacsScroller::mouseDragged): Take scroller buttons into account when
11380         calculating scroller knob position.
11382 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
11384         Merge from Gnulib
11386         This incorporates:
11387         2017-10-29 timespec: prefer ‘assume’ to ‘assure’
11388         2017-10-27 timespec.h: use "assure" to avoid a spurious warning
11389         2017-10-09 getopt-posix: Fix build failure if ac_cv_header_getopt_h=no
11390         * build-aux/config.guess, build-aux/config.sub:
11391         * lib/timespec.h, lib/unistd.in.h:
11392         Copy from Gnulib.
11394 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
11396         Fix alignment portability problems
11398         Do not assume that the natural alignment of Lisp objects is a
11399         multiple of GCALIGNMENT.  This improves on the portability of the
11400         recent fix for Bug#29040.
11401         * lib-src/make-docfile.c (close_emacs_globals):
11402         * src/buffer.c (buffer_defaults, buffer_local_symbols):
11403         * src/lisp.h (DEFUN):
11404         * src/thread.c (main_thread):
11405         Use GCALIGNED, not alignas (GCALIGNMENT).
11406         * src/alloc.c (COMMON_MULTIPLE):
11407         Move back here from lisp.h, since it is no longer used elsewhere.
11408         * src/lisp.h (GCALIGNMENT): No longer a macro, since we need not
11409         worry about MSVC.  Omit no-longer-needed consistency check.
11410         * src/thread.c (THREAD_ALIGNMENT): Remove.
11412 2017-11-02  Simen Heggestøyl  <simenheg@gmail.com>
11414         Fix completion of colon after CSS property (Bug#29056)
11416         * lisp/textmodes/css-mode.el (css-completion-at-point): Don't insert
11417         ": ;" after completing a CSS property unless the rest of the line is
11418         empty.
11420 2017-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
11422         * src/alloc.c (sweep_symbols): Tweak last change
11424         Avoid the double-free without the extra check.  Add an explanatory comment.
11426 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
11428         In frame parameters documentation mention desktop saving/restoring
11430         * doc/lispref/frames.texi (Frame Parameters): Mention that
11431         applications have to care about which parameters they want to
11432         get saved and restored by the desktop library.
11434 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
11436         Don't have frameset save the 'client' parameter (Bug#29067)
11438         * lisp/frameset.el (frameset-persistent-filter-alist): Never
11439         save 'client' parameter (Bug#29067).
11441 2017-11-02  Gemini Lasswell  <gazally@runbox.com>
11443         Handle generic variables in cl-defgeneric Edebug spec
11445         *lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix Edebug spec to
11446         match (setf name) and replace incorrect cl-lambda-list with listp
11447         (Bug#27747).
11449 2017-11-02  Noam Postavsky  <npostavs@gmail.com>
11451         Give a more sensible message if file-attributes fails (Bug#29070)
11453         * lisp/server.el (server-ensure-safe-dir): Don't claim the directory
11454         is a file if we fail to get anything from `file-attributes'.
11456 2017-11-01  Andreas Schwab  <schwab@linux-m68k.org>
11458         Avoid wrong value from file-attributes on Linux kernel before 3.6
11460         * src/dired.c (file_attributes): Handle unsupported fstat on O_PATH
11461         descriptors.  (bug#29070)
11463 2017-11-01  Noam Postavsky  <npostavs@gmail.com>
11465         Fix customization of debugger-print-function (Bug#29077)
11467         * lisp/emacs-lisp/debug.el (debugger-print-function): The :options
11468         keyword has no effect for :type 'function, use :type '(choice ...)
11469         instead.
11471 2017-10-31  Eli Zaretskii  <eliz@gnu.org>
11473         Avoid duplicate calls to xfree for the same pointer
11475         * src/alloc.c (sweep_symbols): Avoid freeing an already freed
11476         pointer to a symbol's buffer-local value.  (Bug#29066)
11478 2017-10-31  Phil Sainty  <psainty@orcon.net.nz>
11480         Don't clobber docstrings of explicitly-defined mode hook variables
11482         * lisp/emacs-lisp/derived.el (define-derived-mode):
11483         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): When defining the
11484         mode hook variable, do not clobber pre-existing docstrings.
11486 2017-10-31  Martin Rudalics  <rudalics@gmx.at>
11488         Avoid fullscreen ediff control frames by default (Bug#29026)
11490         * lisp/vc/ediff-wind.el (ediff-control-frame-parameters):
11491         Add parameter to avoid fullscreen control frames (Bug#29026).
11493 2017-10-31  Katsumi Yamaoka  <yamaoka@jpl.org>
11495         Fix the bug#24034 change (revno 9eb028f) causing infloop (bug#29047)
11497         * lisp/net/shr.el (shr-fill-line): Copy only face and image-displayer
11498         properties to gaps (bug#29047).
11500 2017-10-30  Eli Zaretskii  <eliz@gnu.org>
11502         Fix a typo in the ELisp manual
11504         * doc/lispref/functions.texi (Obsolete Functions): Fix a typo.
11505         (Bug#29068)
11507 2017-10-30  Martin Rudalics  <rudalics@gmx.at>
11509         Fix doc and doc-strings for minibuffer window related functions (Bug#28978)
11511         These fixes were suggested by Drew Adams.
11513         * src/window.c (Fminibuffer_selected_window): Disambiguate
11514         doc-string.
11515         * doc/lispref/minibuf.texi (Intro to Minibuffers)
11516         (Minibuffer Windows, Recursive Mini, Minibuffer Misc):  Avoid
11517         the term "currently active minibuffer window".  Disambiguate
11518         documentation of `minibuffer-selected-window'.
11520 2017-10-30  Alan Mackenzie  <acm@muc.de>
11522         Fix "Args out of range" error in c-determine-limit.  Fixes bug #28598.
11524         * lisp/progmodes/cc-engine.el (c-determine-limit-get-base): If the candidate
11525         position for BASE is below point-min, scan forward to the end of the current
11526         literal.
11527         (c-determine-limit): Add an extra arm to the final cond form, testing for BASE
11528         being at point-min.
11530 2017-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
11532         * lisp/progmodes/perl-mode.el: Fix electric indentation with RET
11534         (perl-electric-noindent-p): The `eolp' check should not apply to RET.
11535         Reported in https://emacs.stackexchange.com/questions/36337.
11537 2017-10-29  Tom Tromey  <tom@tromey.com>
11539         Extend mhtml submode region when in comment
11541         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Extend
11542         submode when start happens to be in a comment.
11544 2017-10-29  Tom Tromey  <tom@tromey.com>
11546         Fix mthml submode lighting at end of buffer
11548         * lisp/textmodes/mhtml-mode.el (mhtml--submode-lighter): Handle end of
11549         buffer correctly.
11551 2017-10-29  Tom Tromey  <tom@tromey.com>
11553         Remember more variables in mhtml-mode
11555         * lisp/textmodes/mhtml-mode.el (mhtml--crucial-variable-prefix): Add
11556         "completion-" and "major-mode".
11557         (mhtml--variable-prefix): Remove "major-mode".
11559 2017-10-29  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
11561         * etc/NEWS (EUDC): Deprecate BBDB 2.x backward compatibility.
11563 2017-10-29  Martin Rudalics  <rudalics@gmx.at>
11565         Fix minibuffer window related docs and strings (Bug#28978)
11567         * src/frame.c (Vdefault_minibuffer_frame): Fix doc-string.
11568         * src/window.c (Fminibuffer_selected_window): Fix doc-string.
11569         * doc/lispref/frames.texi (Buffer Parameters): Rewrite
11570         description of `minibuffer' parameter.
11571         * doc/lispref/minibuf.texi (Minibuffer Windows): Reorder
11572         entries and partly rewrite section.
11573         (Minibuffer Misc): Clarify description of
11574         `minibuffer-selected-window'.
11575         * etc/NEWS: Mention new semantics of 'minibuffer' frame
11576         parameter.
11578 2017-10-29  Mark Oteiza  <mvoteiza@udel.edu>
11580         Add ChkTeX flymake backend for latex-mode
11582         * lisp/textmodes/tex-mode.el (tex-flymake): New custom group.
11583         (tex-chktex-program, tex-chktex-extra-flags): New custom variables.
11584         (latex-mode): Add backend to flymake-diagnostic-functions.
11585         (tex-chktex--process): New variable.
11586         (tex-chktex-command, tex-chktex): New functions.
11588 2017-10-29  Glenn Morris  <rgm@gnu.org>
11590         Fix doc typos
11592         * lisp/simple.el (line-move-ignore-invisible):
11593         * lisp/sort.el (sort-regexp-fields):
11594         * lisp/cedet/ede.el (project-add-file):
11595         * lisp/gnus/message.el (message-bogus-recipient-p):
11596         * lisp/international/mule.el (define-coding-system):
11597         * lisp/progmodes/ebrowse.el (ebrowse-member-buffer-object-menu):
11598         * lisp/progmodes/xscheme.el (xscheme-allow-output-p)
11599         (scheme-interaction-mode, scheme-debugger-mode)
11600         (xscheme-yank-pop, xscheme-yank-push): Doc fixes.
11602 2017-10-29  Glenn Morris  <rgm@gnu.org>
11604         Fix some duplicate word typos
11606         * doc/misc/ede.texi (ede-target):
11607         * doc/misc/flymake.texi (Using Flymake):
11608         * doc/misc/gnus.texi (The namazu Engine): Fix typos.
11610 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
11612         * doc/lispref/commands.texi (Adjusting Point): Fix wording. (Bug#29042)
11614 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
11616         Avoid segfaults in 64-bit Windows builds
11618         * src/lisp.h (COMMON_MULTIPLE): Move here from alloc.c.
11619         * src/thread.c (THREAD_ALIGNMENT): New macro.
11620         (main_thread): Use THREAD_ALIGNMENT to align propertly.  (Bug#29040)
11622 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
11624         Fix conversion of pixel coordinates to buffer position
11626         * src/dispnew.c (buffer_posn_from_coords): Adapt to
11627         auto-hscroll-mode == current-line.
11629 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
11631         Fix doc strings in desktop.el
11633         * lisp/desktop.el (desktop-auto-save-timeout)
11634         (desktop-auto-save-set-timer): Doc fixes.  (Bug#28945)
11636 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
11638         Add Index to ERT manual
11640         * doc/misc/ert.texi: Add @syncodeindex directives.
11641         (Index): New node.
11642         (Top): Add Index to the top-level menus.
11643         Add index entries to all nodes.
11645 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
11647         Make manuals and NEWS consistent
11649         * etc/NEWS: Fix markings on several entries, and rearrange others
11650         as needed.
11652         * doc/emacs/programs.texi (Hideshow): Document the new
11653         outline-like bindings.
11654         * doc/emacs/search.texi (Query Replace): Document 'u' and 'U'.
11656 2017-10-28  Martin Rudalics  <rudalics@gmx.at>
11658         Don't allow (minibuffer-window-active-p nil) to return t
11660         * lisp/window.el (minibuffer-window-active-p): Return t
11661         only if WINDOW is a live window.
11663 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
11665         Clarify obsolescence message for 'whitespace-tab'
11667         * lisp/whitespace.el (whitespace-tab): Make the obsolescence
11668         message more clear about the replacement.
11670 2017-10-28  Glenn Morris  <rgm@gnu.org>
11672         Fix some duplicate words typos
11674         * lisp/erc/erc.el (erc-hide-current-message-p):
11675         * lisp/progmodes/flymake-proc.el (flymake-proc-diagnostic-type-pred):
11676         * doc/lispref/display.texi (Bidirectional Display, Delayed Warnings):
11677         * doc/lispref/functions.texi (Defining Functions):
11678         * doc/lispref/os.texi (Terminal-Specific):
11679         * doc/misc/sem-user.texi (Analyzer Debug):
11680         * doc/misc/srecode.texi (Special Variables): Fix typos.
11682 2017-10-28  Glenn Morris  <rgm@gnu.org>
11684         * lisp/button.el (button-activate): Fix doc typo.
11686         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Fix doc typo.
11688 2017-10-28  Glenn Morris  <rgm@gnu.org>
11690         Fix some doc typos
11692         * lisp/calendar/todo-mode.el (todo-next-item)
11693         (todo-previous-item, todo-toggle-item-header):
11694         * lisp/window.el (move-to-window-group-line):
11695         * src/editfns.c (Fformat):
11696         * test/lisp/calendar/todo-mode-tests.el (todo-test-move-item05):
11697         Fix doc typos.
11699 2017-10-27  Ken Brown  <kbrown@cornell.edu>
11701         Fix startup display on Cygwin
11703         * src/xterm.c (x_make_frame_visible) [CYGWIN]: Restore code that
11704         forces input to be read.  (Bug#24091)
11706 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
11708         * src/fileio.c (Fset_default_file_modes): Fix typo in doc string.
11710         * lisp/dired.el (dired-find-alternate-file): Doc fix.  (Bug#28963)
11712 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
11714         Improve documentation of how faces are applied to display stings
11716         * doc/lispref/display.texi (Displaying Faces): Describe how the
11717         faces of the "underlying" text affect overlay and display strings.
11718         (Display Margins): Add a cross-reference to "Displaying Faces".
11720 2017-10-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
11722         Improve pixel-scroll-mode
11724         Scroll vertically by number of pixels returned by
11725         'frame-char-height' with or without horizontally scrolled.
11726         (Bug#28922)
11728         * lisp/pixel-scroll.el (pixel-resolution-fine-flag): When t, scroll
11729         by number of pixels returned by 'frame-char-height'.
11730         (pixel-scroll-up): Scroll by 'frame-char-height'. Fix algorithm to
11731         move cursor to avoid unexpected jump.
11732         (pixel-scroll-down): Scroll by 'frame-char-height'.
11733         (pixel-bob-at-top-p): Consider number of pixels that is about to
11734         scroll.
11735         (pixel-posn-y-at-point): Consider existence of an overlay string.
11736         Return nil when horizontally scrolled.
11737         (pixel-point-at-top-p): Consider number of pixels that is about to
11738         scroll. Use different algorithm when horizontally scrolled.
11739         (pixel-point-at-bottom-p): Consider number of pixels that is about
11740         to scroll. Return nil when horizontally scrolled.
11741         (pixel-scroll-pixel-down): Move cursor when horizontally scrolled.
11742         (pixel--whistlestop-line-up): Change cosmetics and move cursor when
11743         horizontally scrolled.
11744         (pixel-line-height): Call 'pixel-visual-line-height' instead of
11745         'line-pixel-height'.
11746         (pixel-visual-line-height): New function to return height in pixels
11747         of text line where cursor is with or without horizontally scrolled,
11748         considering response of display engine.
11749         (pixel-visible-pos-in-window): New function to return position of
11750         a char shown on text line where cursor is on screen with or without
11751         horizontally scrolled.
11753 2017-10-27  Daniel Lublin  <daniel@lublin.se>  (tiny change)
11755         Support Certification Authority Authorization in dns-mode.el
11757         * lisp/textmodes/dns-mode.el (dns-mode-types): Add "CAA".
11758         (Bug#28911)
11760 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
11762         Improve documentation of set-default-file-modes
11764         * src/fileio.c (Fset_default_file_modes): Doc fix.  (Bug#28875)
11766         * doc/lispref/files.texi (Changing Files): Clarify how the bits in
11767         the argument of set-default-file-modes are used for setting file
11768         permissions.
11770 2017-10-27  Ulf Jasper  <ulf.jasper@web.de>
11772         Fix documentation of `newsticker-new-item-functions' (bug#29023).
11774         * lisp/net/newst-backend.el (newsticker-new-item-functions),
11775         (newsticker-new-item-functions-sample),
11776         (newsticker-download-enclosures): Fix docstring, rename
11777         variable feed to feedname (bug#29023).
11779         * doc/misc/newsticker.texi (Automatic Processing)
11780         (Automatic Processing): Fix documentation of
11781         `newsticker-new-item-functions' (bug#29023).
11783 2017-10-27  Tino Calancha  <tino.calancha@gmail.com>
11785         Require seq in rmc.el
11787         * lisp/emacs-lisp/rmc.el: Require seq (Bug#28975).
11788         * test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice): Add test.
11790 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
11792         Make an example code introduced in the Gnus info work (bug#29008)
11794         You can find it in the bottom of (info "(gnus)Foreign Groups").
11795         NOTE: this change is worth being merged to the trunk.
11797         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-emacs-bug-group):
11798         Allow a string for bug# (bug#29008).
11800 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
11802         Enable gnus-read-ephemeral-* to run multiple times (bug#29008)
11804         NOTE: *DO NOT* merge this change to the trunk.
11806         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group)
11807         (gnus-read-ephemeral-bug-group): Make it work for any number of times
11808         for the case `url-automatic-caching' is set (bug#29008).
11810 2017-10-27  Paul Eggert  <eggert@cs.ucla.edu>
11812         Port thread.c to OpenBSD ARM
11814         Problem reported by Jeremie Courreges-Anglas (Bug#29005).
11815         * src/thread.c (main_thread): Align to GCALIGNMENT.
11817 2017-10-26  Alan Mackenzie  <acm@muc.de>
11819         Fix another "wrong side of point" error in CC Mode.
11821         This fixes (a follow-up to) bug #28850.
11822         A internal generated form for scanning text to fontify had a LIMIT parameter.
11823         It also locally bound LIMIT to a value possibly beyond the original LIMIT,
11824         allowing point to move beyond the original LIMIT, and to create the wrong side
11825         error.  Fix it by checking point is not beyond LIMIT in the outer context
11826         before using it.
11828         * lisp/progmodes/cc-fonts.el (c-make-font-lock-search-form): Add a new
11829         parameter CHECK-POINT which, when non-nil, directs the function to generate a
11830         check on point.
11831         (c-make-font-lock-context-search-function): Invoke the above function with new
11832         argument value t.
11834 2017-10-26  Michael Albinus  <michael.albinus@gmx.de>
11836         Fix Bug#28959
11838         * lisp/net/tramp.el (tramp-handle-find-backup-file-name):
11839         Use `tramp-tramp-file-p' rather than `tramp-file-name-p'.  Add
11840         hop to backup file name.  (Bug#28959)
11842         * test/lisp/net/tramp-tests.el (tramp-test34-find-backup-file-name):
11843         New test.
11844         (tramp-test35-make-nearby-temp-file)
11845         (tramp-test36-special-characters)
11846         (tramp-test36-special-characters-with-stat)
11847         (tramp-test36-special-characters-with-perl)
11848         (tramp-test36-special-characters-with-ls, tramp-test37-utf8)
11849         (tramp-test37-utf8-with-stat, tramp-test37-utf8-with-perl)
11850         (tramp-test37-utf8-with-ls, tramp-test38-file-system-info)
11851         (tramp-test39-asynchronous-requests)
11852         (tramp-test40-recursive-load, tramp-test41-remote-load-path)
11853         (tramp-test42-delay-load, tramp-test43-unload): Rename.
11855 2017-10-26  Paul Eggert  <eggert@cs.ucla.edu>
11857         Fix duplicate .o file on QNX
11859         * configure.ac (CYGWIN_OBJ): Leave empty on QNX.
11860         Problem reported by Elad Lahav in:
11861         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00750.html
11863 2017-10-26  Dmitry Gutov  <dgutov@yandex.ru>
11865         Fix two js indentation problems
11867         Fix intentation problems reported in
11868         https://github.com/mooz/js2-mode/issues/463.
11869         * lisp/progmodes/js.el (js--continued-expression-p):
11870         Check syntax state after /.
11871         (js--multi-line-declaration-indentation):
11872         Check syntax state before "const".
11874 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
11876         Update documentation for windows build
11878         * admin/nt/dist-build/README-scripts: New File.
11880 2017-10-25  Alan Mackenzie  <acm@muc.de>
11882         Fix a "wrong side of point" error in CC Mode.  Fixes bug #28850.
11884         The cause was a scanning over a bracket pair taking us beyond the supplied
11885         LIMIT parameter in c-forward-declarator.
11887         * lisp/progmodes/cc-engine.el (c-forward-declarator): Add three checks (<
11888         (point) limit) whilst dealing with tokens after the declared identifier.
11890         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Don't supply a LIMIT
11891         argument to `c-forward-declarator' (twice), since we want to fontify up till
11892         the end of a declarator, not an arbitrary jit-lock chunk end.
11894 2017-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
11896         Fix autoload of flymake from elisp-mode during bootstrap (bug#28994)
11898         * lisp/loadup.el: add `progmodes` to load-path so we can find flymake.el.
11899         * lisp/kmacro.el: Require `replace` since we use query-replace-map.
11900         * lisp/replace.el: Require `text-mode` since we use text-mode-map.
11902 2017-10-25  Alan Third  <alan@idiocy.org>
11904         Fix non-native fullscreen on NS (bug#28872)
11906         * src/nsterm.m (EmacsView::updateFrameSize): Handle case where
11907         FRAME_TOOLBAR_HEIGHT returns a negative number.  Force WM to set size
11908         of frame.
11910 2017-10-25  Michael Albinus  <michael.albinus@gmx.de>
11912         Fix Bug#28982
11914         * admin/MAINTAINERS: Add test/lisp/url/url-tramp-tests.el.
11916         * lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp)
11917         (url-tramp-convert-tramp-to-url): Adapt to recent Tramp changes.
11919         * test/lisp/url/url-tramp-tests.el: New file.  (Bug#28982)
11921 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
11923         Fix windows build errors
11925         * admin/nt/dist-build/build-zips.sh: Correct name of zip file, build
11926           64 bit first
11928 2017-10-25  Noam Postavsky  <npostavs@gmail.com>
11930         Fix compile warning for non-w32 builds
11932         Since 2017-07-25 "ls-lisp: Add an unload function and enable lexical
11933         binding", the non-w32 builds would treat the undeclared
11934         w32-collate-ignore-punctuation variable as lexical.
11935         * lisp/ls-lisp.el (top-level): Declare it as a dynamic variable.
11937 2017-10-25  David Glasser  <glasser@davidglasser.net>  (tiny change)
11939         Display commit in package description, if available (Bug#28637)
11941         MELPA includes a :commit field in its
11942         packages (https://github.com/melpa/package-build/pull/6).  You can use
11943         this to tell if MELPA has processed a recently-merged change.  This
11944         commit adds that metadata to the package description buffer.
11946         * lisp/emacs-lisp/package.el: Display commit in package description.
11948 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
11950         Port to QNX
11952         Simplified version of a patch proposed by Elad Lahav in:
11953         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00716.html
11954         which is based on a previous patch I proposed in:
11955         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00707.html
11956         * configure.ac (opsys, CFLAGS, LIBS_SYSTEM, hybrid_malloc)
11957         (system_alloc, FIRST_PTY_LETTER, CYGWIN_OBJ):
11958         Set appropriately for QNX.
11959         * src/unexelf.c [__QNX__]: Include <sys/elf.h> instead of <elf.h>.
11960         (unexec): Check for sbrk failure, and fall back on old BSS end.
11962 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
11964         * configure.ac: Tweak libcurses diagnostic.
11966 2017-10-24  Phillip Lord  <phillip.lord@russet.org.uk>
11968         Scripts to automate windows binary distribution
11970         * admin/nt/dist-build/README-windows-binaries,
11971           admin/nt/dist-build/build-dep-zips.py,
11972           admin/nt/dist-build/build-zips.sh: New Files
11974 2017-10-24  Gemini Lasswell  <gazally@runbox.com>
11976         Fix Edebug specs for map-let and with-maps-do
11978         * lisp/emacs-lisp/map.el (map-let): Fix Edebug spec (bug#24777).
11979         * test/lisp/emacs-lisp/map-tests.el (with-maps-do): Fix Edebug spec.
11981 2017-10-24  Michael Albinus  <michael.albinus@gmx.de>
11983         * test/lisp/net/tramp-tests.el (tramp-test41-delay-load): New test.
11985         (tramp-test42-unload): Rename.
11987 2017-10-24  Glenn Morris  <rgm@gnu.org>
11989         * admin/authors.el (authors-canonical-author-name):
11990         Ignore name issues in "lax" ChangeLogs.
11992         * test/lisp/progmodes/sql-tests.el
11993         (sql-tests-postgres-list-databases-error): Silence compiler.
11995 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
11997         Further work on Bug#28889
11999         * lisp/net/tramp.el (tramp-set-syntax): New defun.
12000         (tramp-syntax): Use it.  Change :package-version.  (Bug#28889)
12002 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
12004         Improve Tramp backward compatibility
12006         * lisp/net/tramp-compat.el (tramp-compat-tramp-file-name-slots):
12007         New defmacro.
12008         * lisp/net/tramp.el (with-parsed-tramp-file-name): Use it.
12010 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
12012         Improve backward compatibility of tramp-tests.el
12014         * test/lisp/net/tramp-tests.el (tramp--test-emacs26-p): Fix docstring.
12015         (tramp-test41-unload): Skip unless Emacs >= 26.
12017 2017-10-23  Martin Rudalics  <rudalics@gmx.at>
12019         Fix some ‘window-normalize-’ prefixed functions (Bug#28947)
12021         * lisp/window.el (window-normalize-buffer): Fix case where
12022         BUFFER-OR-NAME is a string specifying a dead buffer.  Fix
12023         doc-string (Bug#28947).
12024         (window-normalize-frame, window-normalize-window): Fix
12025         doc-strings (Bug#28947).
12027 2017-10-23  Paul Eggert  <eggert@cs.ucla.edu>
12029         Port to OpenIndiana
12031         Problem reported by Nelson H. F. Beebe (Bug#28893).
12032         Also see Bug#23748, Bug#9736, and Bug#5735.
12033         * configure.ac (tputs_library): Prefer libcurses to libtermcap,
12034         since OpenIndiana libtermcap lacks tparm.
12036 2017-10-22  Alexander Gramiak  <agrambot@gmail.com>
12038         Don't fill keywords after Emacs Lisp docstring
12040         This approach does mean that keywords that have spaces before them
12041         inside of docstrings aren't filled, but I think this is should be fine
12042         until Bug#28937 is fixed.
12044         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Add a colon to
12045         paragraph-start unconditionally, but require that it follows at least
12046         one space.  (Bug#24622)
12047         * test/lisp/emacs-lisp/lisp-tests.el: New tests for Bug#24622 and
12048         Bug#7751.
12050 2017-10-22  Alan Mackenzie  <acm@muc.de>
12052         Refactor c-forward-token-2 with new function c-forward-over-token-and-ws.
12054         Use the new function directly in several places where c-forward-token-2
12055         wouldn't move over the last token in the buffer.  This caused an infinite loop
12056         in c-restore-<>-properties.
12058         * lisp/progmodes/cc-engine.el (c-forward-over-token-and-ws): New function,
12059         extracted from c-forward-token-2.
12060         (c-forward-token-2): Refactor, calling the new function.
12061         (c-restore-<>-properties): Fix infinite loop.
12062         (c-forward-<>-arglist-recur, c-in-knr-argdecl)
12063         (c-looking-at-or-maybe-in-bracelist): Call the new function directly in place
12064         of c-forward-token-2.
12066         * lisp/progmodes/cc-cmds.el (c-defun-name) Call the new function directly in
12067         place of c-forward-token-2.
12069         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Call the new
12070         function directly in place of c-forward-token-2.
12072 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
12074         Avoid unnecessary rounding errors in timestamps
12076         Avoid the rounding errors of float-time when it’s easy.  E.g.,
12077         replace (< (float-time a) (float-time b)) with (time-less-p a b).
12078         * lisp/desktop.el (desktop-save):
12079         * lisp/ecomplete.el (ecomplete-add-item):
12080         * lisp/epg.el (epg-wait-for-completion):
12081         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
12082         * lisp/image-dired.el (image-dired-get-thumbnail-image)
12083         (image-dired-create-thumb-1):
12084         * lisp/info.el (info-insert-file-contents):
12085         * lisp/ls-lisp.el (ls-lisp-format-time):
12086         * lisp/net/ange-ftp.el (ange-ftp-file-newer-than-file-p)
12087         (ange-ftp-verify-visited-file-modtime):
12088         * lisp/net/rcirc.el (rcirc-ctcp-sender-PING):
12089         * lisp/textmodes/remember.el (remember-store-in-mailbox):
12090         * lisp/url/url-cookie.el (url-cookie-expired-p):
12091         Bypass float-time to avoid rounding errors.
12093         * lisp/files.el (dir-locals-find-file):
12095 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
12097         Fix xdg timestamp error on 32-bit Emacs
12099         * lisp/xdg.el (xdg-thumb-mtime): Return an Emacs timestamp,
12100         not an integer.  This avoids signaling an error on 32-bit
12101         Emacs, where timestamps typically do not fit into fixnums
12102         (Bug#28921).
12104 2017-10-22  John Williams  <jrw@pobox.com>  (tiny change)
12106         Test that advice doesn't trigger bytecomp warnings (Bug#28803)
12108         * test/lisp/emacs-lisp/bytecomp-tests.el
12109         (bytecomp-tests--test-no-warnings-with-advice): New test.
12111 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
12113         Another fix for unsafe directory error message (Bug#865)
12115         * lisp/server.el (server-ensure-safe-dir): Put file owner's uid, not
12116         current user's for the wrong owner case.  Show expanded file name in
12117         error message.
12119 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
12121         Handle https url for debbugs mbox (Bug#28831)
12123         In 2017-09-13 "Prefer HTTPS to FTP and HTTP in documentation",
12124         gnus-bug-group-download-format-alist was updated to use https for the
12125         debbugs.gnu.org mbox links, but gnus-read-ephemeral-bug-group assumed
12126         http links.
12127         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group): Use
12128         url-parse functions to get the host name, instead of ad-hoc regexps.
12130 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
12132         Ignore string properties when saving eshell history (Bug#28700)
12134         * lisp/eshell/em-hist.el (eshell-write-history): Remove properties
12135         before inserting history strings.
12136         (eshell-read-history): Remove obsolete comment.
12137         * test/lisp/eshell/em-hist-tests.el (eshell-write-readonly-history):
12138         New test.
12140 2017-10-21  Michael Albinus  <michael.albinus@gmx.de>
12142         Fix Bug#28889
12144         * lisp/net/tramp.el: Change autoload cookie to tramp-autoload cookie.
12145         (tramp-completion-file-name-regexp-default)
12146         (tramp-completion-file-name-handler-alist)
12147         (tramp-completion-file-name-handler): Remove autoload cookie.
12148         (tramp-initial-completion-file-name-regexp): Remove.
12149         (tramp-autoload-file-name-regexp): New defconst.
12150         (tramp-register-autoload-file-name-handlers): Use it.
12151         (with-parsed-tramp-file-name): Adapt docstring.  Compute
12152         `tramp-file-name' slots.  (Bug#28889)
12154 2017-10-21  Glenn Morris  <rgm@gnu.org>
12156         Update describe-function for recent Fdocumentation change
12158         * lisp/help-fns.el (describe-function-1):
12159         Handle Fdocumentation returning either void or invalid.
12161 2017-10-21  Charles A. Roelli  <charles@aurox.ch>
12163         Make flymake's mouse-wheel interaction portable (Bug#28732)
12165         * lisp/progmodes/flymake.el (flymake--mode-line-format): Bind
12166         'mouse-wheel-down-event' and 'mouse-wheel-up-event' instead of
12167         'mouse-4' and 'mouse-5'.  Update the tooltip text accordingly, and
12168         remove a stray newline in it.
12170 2017-10-21  Nick Helm  <nick@tenpoint.co.nz>
12172         Prevent eldoc from changing the mode line
12174         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Don't
12175         change the mode line if it is not displayed.  (Bug#28697)
12177 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
12179         Fix doc strings in simple.el
12181         * lisp/simple.el (shell-command-saved-pos)
12182         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
12184 2017-10-21  Phil Sainty  <psainty@orcon.net.nz>
12186         Avoid creating inconsistent buffer states in term-char-mode
12188         * lisp/term.el (term-mode, term-char-mode, term-line-mode)
12189         (term-emulate-terminal): Make buffer read-only in 'term-char-mode',
12190         except for the process filter's output.  Use 'read-only-mode-hook' to
12191         track and restore the user-set state of 'buffer-read-only' for
12192         'term-line-mode'.  (Bug#24837)
12193         (term-char-mode-buffer-read-only): New user option.
12194         (term-line-mode-buffer-read-only): New buffer-local variable.
12195         (term-line-mode-buffer-read-only-update): New function.
12196         (term-char-mode, term-line-mode): Use 'term-set-goto-process-mark'
12197         in pre-command-hook, and 'term-goto-process-mark-maybe' in
12198         post-command-hook to counter-act unexpected changes to point when
12199         using 'term-char-mode'.
12200         (term-char-mode-point-at-process-mark): New user option.
12201         (term-goto-process-mark): New buffer-local variable.
12202         (term-set-goto-process-mark): New function.
12203         (term-goto-process-mark-maybe): New function.
12204         (term-process-mark): New function.
12206         * etc/NEWS: Mention the new behavior and user options.
12208 2017-10-21  Bahodir Mansurov  <bahodir@mansurov.org>  (tiny change)
12210         New input method 'usbek-cyrillic'
12212         * lisp/leim/quail/cyrillic.el (uzbek-cyrillic): New input method.
12213         (Bug#28848)
12215         * etc/NEWS: Mention the new input method.
12217 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
12219         Document 'minibuffer-with-setup-hook'
12221         * doc/lispref/minibuf.texi (Minibuffer Misc): Document
12222         minibuffer-with-setup-hook.  (Bug#28877)
12224 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
12226         Simplify make-progress-reporter vs float-time
12228         * lisp/subr.el (make-progress-reporter): Remove no-longer-needed
12229         doc and code for the case where float-time is not supported,
12230         since float-time is always present now.
12232 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
12234         Fix two more minor Gnus typos
12236         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
12237         The old code had two minor bugs: first, it multiplied by 1/65536
12238         instead of by 1/86400.  Second, it called current-time twice and
12239         glued part of the two results together, resulting in a race.
12240         Fix both bugs by simplifying the code and using
12241         time-to-number-of-days.
12243 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
12245         Fix two minor Gnus typos
12247         * lisp/gnus/gnus-sum.el (gnus-summary-import-article):
12248         Remove unused local, and fix use of local that was never assigned to.
12250 2017-10-21  Glenn Morris  <rgm@gnu.org>
12252         Tweak Fdocumentation's error for an undefined function
12254         * src/doc.c (Fdocumentation): Restore the pre-25 behavior
12255         of signalling a void-function error for an undefined function.
12256         This seems cleaner than Emacs 25's "invalid-function: nil" error,
12257         which was (probably) an unintended consequence of changes to
12258         Findirect_function.
12260 2017-10-21  Glenn Morris  <rgm@gnu.org>
12262         Tweak format of list of old files in NEWS header
12264         * etc/NEWS: Stop list of old NEWS files growing without limit.
12265         * admin/admin.el (set-version): Handle either NEWS header format.
12267 2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
12269         * lisp/help-fns.el (describe-function-1):
12270         Fix help-fns-test-dangling-alias.  (Bug#28918)
12272         (cherry picked from commit e1d42f8f4a945669ff8b5159a569cb4b18f56e18)
12274 2017-10-20  Glenn Morris  <rgm@gnu.org>
12276         Fix flymake's loading of subr-x
12278         * lisp/progmodes/flymake.el, test/lisp/progmodes/flymake-tests.el:
12279         No need to load subr-x at run-time.
12281 2017-10-20  Michael Albinus  <michael.albinus@gmx.de>
12283         Fix Bug#28896
12285         * lisp/net/tramp-adb.el (tramp-adb-handle-rename-file):
12286         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
12287         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): Handle FILENAME
12288         being a directory.  (Bug#28896)
12290         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
12291         (tramp-test12-rename-file): Test also FILENAME being a directory.
12293 2017-10-20  João Távora  <joaotavora@gmail.com>
12295         Skip a Flymake test for old gcc versions
12297         Fixes: 28906
12299         * test/lisp/progmodes/flymake-tests.el
12300         (different-diagnostic-types): Skip this test for gcc versions
12301         < 5.
12303 2017-10-20  Eli Zaretskii  <eliz@gnu.org>
12305         Make :align-to account for display-line-numbers
12307         These changes also update the various bundled packages to use
12308         new feature, and better support customizations of the line-number
12309         face.
12310         * src/xdisp.c (calc_pixel_width_or_height): Improve commentary.
12311         Make :align-to count from the end of the line-number display when
12312         the offset or the width form reference that of the text area.
12313         (Bug#28855)
12315         * src/indent.c (Fline_number_display_width): Implement support for
12316         the PIXELWISE argument being 'columns'.  Update the doc string.
12317         (syms_of_indent): New symbol 'columns'.
12319         * lisp/ruler-mode.el (ruler-mode-window-col, ruler-mode-ruler):
12320         Call line-number-display-width with last argument 'columns'.
12322         * lisp/proced.el (proced-header-line): Call
12323         line-number-display-width with 2nd arg 'columns', which also fixes
12324         a problem when display-line-numbers is nil.
12326         * lisp/emacs-lisp/tabulated-list.el
12327         (tabulated-list-line-number-width): Call line-number-display-width
12328         with 2nd arg 'columns.
12329         (tabulated-list-entry-lnum-width): Remove unneeded defvar.
12330         (tabulated-list-print, tabulated-list-print-entry): No need to
12331         account for the value of tabulated-list-entry-lnum-width.
12332         (tabulated-list--current-lnum-width): New defvar.
12333         (tabulated-list-watch-line-number-width): New function.
12334         (tabulated-list-mode): Bind tabulated-list--current-lnum-width
12335         locally, and set up tabulated-list-watch-line-number-width as
12336         pre-redisplay-functions hook.
12338         * doc/lispref/display.texi (Size of Displayed Text): Document the
12339         'columns' value of the PIXELWISE argument.
12340         (Pixel Specification): Update and improve the documentation of the
12341         supported forms.
12343 2017-10-20  João Távora  <joaotavora@gmail.com>
12345         Augment Flymake API for third-party extensions
12347         See
12348         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00619.html
12350         * doc/misc/flymake.texi (Flymake error types): Rewrite
12351         example.
12352         (Flymake utility functions): Augment with new API.
12354         * lisp/progmodes/flymake.el (flymake-diagnostics): New function.
12355         (flymake--diag-accessor): New helper macro.
12356         (flymake-diagnostic-buffer, flymake-diagnostic-text)
12357         (flymake-diagnostic-beg, flymake-diagnostic-end)
12358         (flymake-diagnostic-backend): Accessors for diagnostic objects.
12359         (flymake--overlays): Use flymake-diagnostic property.
12360         (flymake--highlight-line): Simplify.  Only set
12361         flymake-diagnostic property.
12362         (flymake--handle-report, flymake-goto-next-error): Use
12363         flymake-diagnostic property.
12364         (flymake-show-diagnostic): Use diagnostic object.
12365         (flymake--diagnostics-buffer-entries): Use
12366         flymake-diagnostics.
12368 2017-10-20  Glenn Morris  <rgm@gnu.org>
12370         Improve treatment of Fortran's "class default"
12372         * lisp/progmodes/f90.el (f90-start-block-re, f90-no-block-limit):
12373         Handle "class default".  (Bug#28786)
12374         * test/automated/f90.el (f90-test-bug25039): Add "class default".
12376 2017-10-20  João Távora  <joaotavora@gmail.com>
12378         Flymake backends must check proc obsoleteness in source buffer
12380         Flymake backends that rely on sentinels running asynchronously and
12381         checking buffer-local variables that hold running processes should
12382         check for obsoleteness in the correct buffers, otherwise a (harmless)
12383         warning might be triggered.
12385         * doc/misc/flymake.texi (An annotated example backend):
12386         Check buffer-local proc in the current buffer.
12388         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
12389         Check buffer-local proc in the current buffer.
12391 2017-10-19  Michael Albinus  <michael.albinus@gmx.de>
12393         Skip an rsync test in tramp-tests.el
12395         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards):
12396         Skip for "rsync".
12398 2017-10-19  Martin Rudalics  <rudalics@gmx.at>
12400         On Windows default a frame's border width to zero (Bug#28873)
12402         * src/w32fns.c (Fx_create_frame): Default `border-width' to zero
12403         as everywhere else, see Bug#28873.
12405 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
12407         Spelling fixes
12409         * lisp/cedet/semantic/analyze/refs.el:
12410         (semantic-analyze-proto-impl-toggle): Fix recently-introduced
12411         misspelling of pop-to-buffer-same-window.
12413 2017-10-19  Bastian Beischer  <bastian.beischer@gmail.com>  (tiny change)
12415         Use pop-to-buffer-same-window instead of switch-to-buffer
12417         * lisp/cedet/semantic/decorate/include.el
12418         (semantic-decoration-include-visit):
12419         Use pop-to-buffer-same-window instead of switch-to-buffer
12420         (bug#28645).
12422         * lisp/cedet/semantic/analyze/refs.el
12423         (semantic-analyze-proto-impl-toggle): Same.
12425         * lisp/cedet/semantic/senator.el (senator-go-to-up-reference):
12426         Same.
12428         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-visit):
12429         Same.
12431         * lisp/cedet/semantic/complete.el (semantic-complete-jump):
12432         Same.
12434 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
12436         Fix the MSDOS build.
12438         * msdos/sed1v2.inp (GETADDRINFO_A_LIBS, LIBLCMS2, XDBE_LIBS)
12439         (XDBE_FLAGS, HYBRID_MALLOC, LIBSYSTEMD_CFLAGS)
12440         (LIBSYSTEMD_LIBS): Edit to empty.
12441         (LIBRESOLV, DEPFLAGS, MKDEPDIR, YMF_PASS_LDFLAGS)
12442         (PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS): Remove editing.
12443         Remove editing of lines that are no longer present in
12444         src/Makefile.in.
12445         * msdos/sed2v2.inp (NEED_MKTIME_INTERNAL)
12446         (NEED_MKTIME_WORKING): Define to 1.
12447         (HAVE_STRUCT_DIRENT_D_TYPE): Define to 1 for
12448         DJGPP >= 2.05.
12449         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 1.
12450         Define PACKAGE_VERSION, not VERSION.
12451         (FLEXIBLE_ARRAY_MEMBER): Define to empty.
12452         (HAVE_DECL_*_UNLOCKED): Define to 0.
12453         (HAVE___BUILTIN_FRAME_ADDRESS): Define to 1.
12454         (PENDING_*): Don't define, as Gnulib no longer supports that.
12455         Instead, define _IOERR as it is in libc/file.h.
12456         * msdos/sed3v2.inp: Use $(CURDIR) instead of $(shell cd) to
12457         determine the current directory.
12458         (UPDATE_MANIFEST, UTILITIES): Don't edit.
12459         * msdos/sedlisp.inp (FIND_DELETE): Edit to "-delete".
12460         * msdos/sedlibmk.inp (AUTO_DEPEND): Define to yes.
12461         (HYBRID_MALLOC): Edit to empty.
12462         (am__cd): Don't edit.
12463         (../config.status): Replaces $(top_builddir)/config.status.
12464         Define OMIT_GNULIB_MODULE_foo = true for modules not built for
12465         MS-DOS.  Convert GL_GENERATE_xxx_H_TRUE and
12466         GL_GENERATE_xxx_H_FALSE into values of GL_GENERATE_xxx_H.
12467         * msdos/mainmake.v2 (src): Use 'compile-one-process', and make
12468         the command line shorter to fit into 126-char limit of
12469         command.com.
12470         * config.bat: Generate src/deps/*.d files.  Rename more files
12471         like djtar on plain DOS would.
12472         Don't rename src/dir.h: it is long gone.  Edit
12473         lib/gnulib.mk.in using the same scripts as for
12474         lib/Makefile.in.
12475         * msdos/depfiles.bat: Create *.d files, not *.Po.
12477         * src/thread.c (Fmake_thread) [!THREADS_ENABLED]: Improve the
12478         error message.
12479         * src/thread.h [MSDOS]: Include <signal.h>.
12480         * src/sysselect.h (select) [MSDOS]: Undefine, to avoid
12481         compilation errors.
12482         * src/sysdep.c (block_interrupt_signal, restore_signal_mask):
12483         Expose to MSDOS build.
12484         * src/process.c (update_processes_for_thread_death)
12485         [!subprocess]: No-op implementation.
12486         [HAVE_SETRLIMIT]: Move inclusion of sys/resource.h and
12487         declaration of nofile_limit outside "#ifdef subprocesses", as
12488         it's needed for MSDOS.
12489         * src/msdos.c (faccessat): Declare fullname[].
12490         * src/msdos.h (ENOTSUP): Define to be identical to ENOSYS.
12491         Include termhooks.h.
12492         * src/conf_post.h [WINDOWSNT]: Include ms-w32.h only on
12493         WINDOWSNT, not DOS_NT.
12495         * admin/admin.el (set-version): Set version on PACKAGE_VERSION.
12497 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
12499         Fix line number display after 'widen'
12501         * src/xdisp.c (maybe_produce_line_number): Don't use data cached
12502         by line-number-mode on the first redisplay after the buffer is
12503         widened.  (Bug#28879)
12505 2017-10-18  Alan Third  <alan@idiocy.org>
12507         Remove resizable attribute on macOS undecorated frames (bug#28512)
12509         * src/nsterm.m (FRAME_DECORATED_FLAGS): Remove Cocoa specific #define.
12510         (initFrameFromEmacs): Remove Cocoa specific window style attributes.
12512 2017-10-18  Martin Rudalics  <rudalics@gmx.at>
12514         Fix handling of `border-width' in `frameset--restore-frame' (Bug#28873)
12516         * lisp/frameset.el (frameset--restore-frame): Don't process
12517         `border-width' parameter via ‘modify-frame-parameters’
12518         (Bug#28873).
12520 2017-10-18  Tino Calancha  <tino.calancha@gmail.com>
12522         Mention how to send CC to > 1 address in a bug report
12524         * admin/notes/bugtracker (* More detailed information):
12525         mention how to CC to more than 1 address (Bug#28833).
12527 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
12529         Improve format-time-string doc
12531         * doc/lispref/os.texi (Time Parsing): Fix some errors in the
12532         documentation for format-time-string.  Document ^, #, %s, and %z
12533         with colons.  Say that unrecognized sequences are output as-is.
12534         * src/editfns.c (Fformat_time_string): %S can stand for 60.
12535         Also mention unrecognized sequences.
12537 2017-10-17  Eli Zaretskii  <eliz@gnu.org>
12539         Improve documentation of 'line-number-display-width'
12541         * doc/lispref/display.texi (Size of Displayed Text): Document the
12542         additional 2 columns used for line-number display.
12544         * src/indent.c (Fline_number_display_width): Doc fix.  (Bug#28248)
12546 2017-10-17  İ. Göktuğ Kayaalp  <self@gkayaalp.com>
12548         Implement vc-default-dir-extra-headers for vc-rcs
12550         Add a do-nothing implementation for vc-rcs to suppress the message which
12551         the default function adds to the vc-dir buffer (Bug#28570).
12552         * lisp/vc/vc-rcs.el (vc-rcs-dir-extra-headers): New function.
12554 2017-10-17  Martin Rudalics  <rudalics@gmx.at>
12556         In NEWS give advice on use of `switch-to-buffer' (Bug#28645)
12558         * etc/NEWS: Mention that applications should prefer
12559         `pop-to-buffer-same-window' to `switch-to-buffer'.  (Bug#28645)
12561 2017-10-17  Tino Calancha  <tino.calancha@gmail.com>
12562             Noam Postavsky  <npostavs@gmail.com>
12564         Dont update primary selection with winner-undo
12566         * lisp/winner.el (winner-set):
12567         Dont update primary selection when select-enable-primary
12568         is non-nil (Bug#28631).
12570 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
12572         Work around ImageMagick bug 825
12574         This should fix several bugs reported recently against Emacs
12575         (Bug#28518, Bug#28626, Bug#28632, Bug#28633, Bug#28770).
12576         * src/image.c (imagemagick_load_image):
12577         Do not call MagickWandTerminus.
12579 2017-10-17  Noam Postavsky  <npostavs@gmail.com>
12581         Document rectangle-preview option more (Bug#27974)
12583         * lisp/rect.el (string-rectangle):
12584         * etc/NEWS.25: Mention `rectangle-preview'.
12586 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
12588         Do not reject https://gnu.org in commit messages
12590         * build-aux/git-hooks/commit-msg: Do not reject commit messages
12591         containing http: or ftp: URLs to gnu.org or fsf.org.  Instead,
12592         rewrite the messages to use https: URLs.
12594 2017-10-16  Gemini Lasswell  <gazally@runbox.com>
12596         Fix Edebug spec for cl-defun (bug#24255)
12598         * lisp/emacs-lisp/cl-macs.el: Modify the Edebug spec for
12599         `cl-lambda-list' to support destructuring argument lists.
12600         (cl-defun, cl-defmacro): Fix spelling errors in docstrings.
12601         * lisp/textmodes/rst.el: Remove alternate version of Edebug
12602         specs for `cl-lambda-list' and `cl-type-spec'.
12604 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
12606         Fix errors in kmacro.el post-command-hook
12608         * lisp/kmacro.el (kmacro-step-edit-active): Initialize to nil to
12609         avoid 'void-variable' errors.  (Bug#28818)
12610         * test/lisp/kmacro-tests.el
12611         (kmacro-tests-step-edit-cleans-up-hook): Now succeeds.  (Bug#18708)
12613 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
12615         Fix range-error in image-dired.el
12617         * lisp/image-dired.el (image-dired-create-thumb-1): Avoid
12618         overflowing an Emacs integer on 32-bit hosts.  (Bug#28809)
12620 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
12622         Fix 'line-number-display-width' in hscrolled windows
12624         * src/indent.c (line_number_display_width): Make sure a line
12625         number is generated even when the first line of the window is
12626         completely hscrolled out of view.  (Bug#28854)
12628 2017-10-16  Michael Albinus  <michael.albinus@gmx.de>
12630         Fix error in tramp-smb-handle-insert-directory
12632         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
12633         Insert size information only when FULL-DIRECTORY-P is non-nil.
12635 2017-10-16  Andy Moreton  <andrewjmoreton@gmail.com>
12637         Don't reject PBM header whitespace unnecessarily
12639         * lisp/image.el (image-type-header-regexps):
12640         Allow two or more CRs or LFs in initial whitespace sequences.  See:
12641         http://netpbm.sourceforge.net/doc/pbm.html
12643 2017-10-16  Paul Eggert  <eggert@cs.ucla.edu>
12645         Fix regression in display of PPM images
12647         Problem reported by Roland Winkler (Bug#28824#35).
12648         Based on a patch proposed by Andy Moreton (Bug#28824#38).
12649         * src/image.c (pbm_scan_index): New function.
12650         (pbm_load): Use it to decode raw data correctly when its top bit
12651         is set.
12653 2017-10-16  Eric Abrahamsen  <eric@ericabrahamsen.net>
12655         Require subr-x when compiling nnimap.el
12657         * lisp/gnus/nnimap.el (require): For the when-let* macro.
12659 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
12661         Fix ert-test finding by symbol (Bug#28849)
12663         In 2017-07-28 "* lisp/subr.el (define-symbol-prop): New function", the
12664         symbol used for ert tests in load-history was changed from
12665         `ert-deftest' to `ert--test', but a couple of other places were not
12666         updated accordingly.
12667         * lisp/emacs-lisp/ert.el (ert-find-test-other-window): Pass
12668         `ert--test' as the TYPE to `find-function-do-it'.
12669         (top-level): Use `ert--test' as the key to the
12670         `find-function-regexp-alist' entry.
12672 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
12674         Don't remember old debugger window (Bug#17882)
12676         * lisp/emacs-lisp/debug.el (debug): Unset debugger-previous-window
12677         when `debugger-will-be-back' is nil.
12679 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
12681         Disable python native completion on w32 (Bug#28580)
12683         * lisp/progmodes/python.el
12684         (python-shell-completion-native-disabled-interpreters): For windows-nt
12685         systems, put an empty string to match interpreters.
12687 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
12689         Let select-frame-by-name choose any frame when called from lisp (Bug#25521)
12691         * lisp/frame.el (select-frame-by-name): Choose from the whole list of
12692         frames in the non-interactive part, if not found on the current
12693         display.
12695 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
12697         * lisp/dired-aux.el (dired-create-directory): Doc fix.
12699 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
12701         Avoid compilation warnings in optimized builds
12703         * src/process.c (Fmake_network_process):
12704         * src/image.c (xbm_scan, gif_load):
12705         * src/fileio.c (Frename_file):
12706         * src/data.c (Fmake_local_variable):
12707         * src/buffer.c (fix_start_end_in_overlays):
12708         * lib-src/etags.c (process_file_name): Mark variables with UNINIT
12709         to avoid compiler warnings in optimized builds.
12711 2017-10-15  K. Handa  <handa@gnu.org>
12713         Improve customization of arabic-shaper-ZWNJ-handling.
12715         Make the effect of customizing arabic-shaper-ZWNJ-handling appear
12716         immediately.
12717         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Add :set
12718         value.
12719         * src/composite.c (Fclear_composition_cache): New function.
12720         (syms_of_composite): Defsubr it.
12722 2017-10-15  Charles A. Roelli  <charles@aurox.ch>
12724         Improve customization type of 'mouse-drag-and-drop-region'
12726         * lisp/mouse.el (mouse-drag-and-drop-region): Provide a more
12727         precise customization type.
12729 2017-10-15  Paul Eggert  <eggert@day>
12731         Encourage https: in commit messages
12733         * CONTRIBUTE: Prefer https: when citing.
12734         * build-aux/git-hooks/commit-msg:
12735         Diagnose http: and ftp: URLs to FSF or GNU hosts.
12737 2017-10-14  Martin Rudalics  <rudalics@gmx.at>
12739         Fix wording in Elisp manual's child frames section (Bug#28819)
12741         * doc/lispref/frames.texi (Child Frames): Fix wording (Bug#28819).
12743 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
12745         Another fix for C mode fontification of w32 source files
12747         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
12748         "CALLBACK", to correctly fontify functions with this attribute.
12750 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
12752         Fix fontification of ALIGN_STACK functions
12754         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
12755         "ALIGN_STACK", to correctly fontify functions with this attribute.
12757 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
12759         Make sure thread stack is properly aligned on MS-Windows
12761         * src/systhread.c: Include w32term.h instead of windows.h.
12762         (w32_beginthread_wrapper): Add ALIGN_STACK attribute, to ensure
12763         the thread's stack is correctly aligned.
12764         * src/w32term.h (ALIGN_STACK): Update commentary.
12766 2017-10-14  Paul Eggert  <eggert@cs.ucla.edu>
12768         Do not under-align pseudovectors
12770         Problem reported by Fabrice Popineau in:
12771         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00357.html
12772         Also see diagnosis by Eli Zaretskii in:
12773         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00476.html
12774         * src/alloc.c (vector_alignment):
12775         Now a multiple of alignof (max_align_t).
12777 2017-10-13  Simen Heggestøyl  <simenheg@gmail.com>
12779         Fix indentation bug in multi-line CSS selectors
12781         * lisp/textmodes/css-mode.el (css--colon-inside-selector-p): Fix
12782         indentation of multi-line CSS selectors that include both a
12783         pseudo-class and parenthesis.
12785         * test/manual/indent/css-mode.css: Add test for the above change.
12787 2017-10-13  Andreas Schwab  <schwab@linux-m68k.org>
12789         gnutls_mac_get_nonce_size has been added in gnutls 3.3
12791         * src/gnutls.c (HAVE_GNUTLS_MAC_GET_NONCE_SIZE)
12792         [GNUTLS_VERSION_NUMBER >= 0x030300]: Define.
12793         (gnutls_mac_get_nonce_size): Depend on
12794         HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
12795         (Fgnutls_macs): Use 0 for :mac-algorithm-noncesize if
12796         !HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
12798 2017-10-13  Paul Eggert  <eggert@cs.ucla.edu>
12800         * CONTRIBUTE: Suggest American English.
12802 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
12804         Fix this-command-keys for "M-x foo" commands
12806         * src/keyboard.c (Fset__this_command_keys): Don't assume KEYS is a
12807         unibyte string.  (Bug#28798)
12809 2017-10-12  Paul Eggert  <eggert@cs.ucla.edu>
12811         Let rename-file rename dirs across filesystems
12813         Problem diagnosed by Andreas Schwab (Bug#28792#65).
12814         This fixes a bug that I introduced in
12815         2017-09-10T22:39:24@eggert@cs.ucla.edu
12816         "Fix race with rename-file etc. with dir NEWNAME".
12817         * src/fileio.c (Frename_file): Copy a source directory across
12818         file system boundaries even if its name does not end in slash.
12820 2017-10-12  João Távora  <joaotavora@gmail.com>
12822         Simplify Flymake user documentation
12824         Fix some confusing parts of Flymake user documentation, like a
12825         repeated listing of situations leading to a syntax check.
12826         Documentation is now divided into three chapters only: "Using
12827         Flymake", "Extending Flymake", and a chapter for the legacy backend.
12829         Obsolete mention of "errors" and "lines" is replaced by
12830         "diagnostics/problems" and "regions" where appropriate.
12832         * doc/misc/flymake.texi (Overview of Flymake): Delete chapter.
12833         (Using Flymake): Merge with chapter "Overview of Flymake".
12834         (Installing Flymake): Delete chapter.
12835         (Flymake mode, Running the syntax check)
12836         (Navigating to error lines): Delete sections.
12837         (Syntax check statuses): Review and augment with x-references.
12838         (Backend exceptions): Mention shortcut in menu.
12840         * lisp/progmodes/flymake.el (flymake-menu): Tweak minor mode
12841         menu to not speak of "errors".
12842         (flymake-goto-next-error, flymake-goto-prev-error): Fix
12843         wording.
12845 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
12847         * etc/NEWS: Mention the new version of Org.
12849 2017-10-12  Noam Postavsky  <npostavs@gmail.com>
12851         Don't use (format "%s" ...) for string copying (Bug#28774)
12853         As of 2017-10-04 'Speed up (format "%s" STRING) and the like', (format
12854         "%s" STRING) no longer produces a new string.
12855         * lisp/ido.el (ido-completions): Use `copy-sequence' to make a new
12856         string, so that we can add text properties to (copies of) symbol
12857         names.
12859 2017-10-11  Alan Third  <alan@idiocy.org>
12861         Make frame-list-z-order on NS match Windows behavior (bug#28788)
12863         * src/nsfns.m (Fns_frame_list_z_order): If terminal isn't a frame,
12864         ignore it rather than returning nil.
12866 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
12868         Bump Emacs version to 26.0.90
12870         * README:
12871         * configure.ac:
12872         * msdos/sed2v2.inp:
12873         * nt/README.W32: Bump Emacs version.
12875 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
12877         Update authors.el
12879         * admin/authors.el (authors-valid-file-names)
12880         (authors-renamed-files-alist): Additions.
12882 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
12884         * admin/authors.el (authors-aliases): Additions.
12886         * ChangeLog.3: Update.
12888 2017-10-11  Radon Rosborough  <radon.neon@gmail.com>
12890         Fix docstring style for 'functionp'
12892         * src/eval.c (functionp): Make docstring start with verb.
12893         (Bug#28781)
12895 2017-10-11  Michael Albinus  <michael.albinus@gmx.de>
12897         Format shell commands in tramp.texi
12899         * doc/misc/tramp.texi (Obtaining Tramp, Remote shell setup):
12900         Format shell commands better.
12902 2017-10-10  João Távora  <joaotavora@gmail.com>
12904         Unbreak the button in the Flymake diagnostics buffer again
12906         Adding the 'keymap' property enabled RET but broke the mouse-action.
12908         * lisp/progmodes/flymake.el
12909         (flymake--diagnostics-buffer-entries): Use 'action' instead of 'keymap'.
12911 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
12913         Add mode map to Flymake diagnostic button
12915         * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries): Add
12916         keymap propery.
12918 2017-10-10  João Távora  <joaotavora@gmail.com>
12920         Tweak the Flymake diagnostics buffer again
12922         * lisp/progmodes/flymake.el
12923         (flymake-diagnostics-buffer-mode-map): Don't bind [mouse-1].
12924         (flymake-show-diagnostic): Rename from
12925         flymake-show-diagnostic-at-point.  Really use another window.
12926         (flymake-goto-diagnostic): Rename from
12927         flymake-goto-diagnostic-at-point.
12928         (flymake--diagnostics-buffer-entries): Use a button just for
12929         the message bit.
12931 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
12933         Simplify Flymake diagnostics buffer UX
12935         Don't create text-buttons unnecessarily, just bind RET and SPC in the
12936         diagnostics buffer to a command that figures out which diagnostic it
12937         was invoked on.
12939         * lisp/progmodes/flymake.el
12940         (flymake--diagnostics-buffer-mode-keymap): Renamed from
12941         flymake--diagnostics-buffer-button-keymap.
12942         (flymake-show-diagnostic-at-point): Don't take a button.
12943         (flymake-goto-diagnostic-at-point): Don't pass button to
12944         flymake-show-diagnostic-at-point.
12945         (flymake--diagnostics-buffer-entries): Simplify.
12947 2017-10-10  João Távora  <joaotavora@gmail.com>
12949         First stab at a Flymake diagnostics buffer
12951         The diagnostics buffer summarizes the diagnostics of a buffer in a
12952         tabulated list and is permanently updated after each Flymake check.
12954         * lisp/progmodes/flymake.el (flymake--handle-report): Call
12955         flymake-show-diagnostics-buffer under certain conditions.
12956         (flymake-menu, flymake--diagnostics-buffer-source)
12957         (flymake--diagnostics-buffer-button-keymap)
12958         (flymake-show-diagnostic-at-point)
12959         (flymake-goto-diagnostic-at-point)
12960         (flymake--diagnostics-buffer-entries)
12961         (flymake-diagnostics-buffer-mode)
12962         (flymake--diagnostics-buffer-name)
12963         (flymake-show-diagnostics-buffer): New definitions.
12965 2017-10-10  João Távora  <joaotavora@gmail.com>
12967         * etc/NEWS (Flymake): Rewrite entry.
12969 2017-10-10  Eli Zaretskii  <eliz@gnu.org>
12971         Improve the Flymake manual
12973         * doc/misc/flymake.texi: Add a 'coding' cookie.  Add a
12974         @syncodeindex directive for @vindex.  Use 2 spaces between
12975         sentences.  Lower-case @cindex entries.
12976         (Overview of Flymake): Fix use of @itemize and @pxref.  Fix
12977         punctuation and markup.
12978         (Backend exceptions): Use @emph instead of @dfn.  Add more
12979         indexing.
12980         (Customizable variables, Extending Flymake): Improve wording.
12981         (Flymake error types): Fix usage of @itemize.  Improve wording.
12982         (Backend functions): Fix punctuation.  Fix markup.  Add a
12983         cross-reference to ELisp manual.
12984         (Flymake utility functions): Add a cross-reference to ELisp manual.
12985         (An annotated example backend): Fix punctuation and typos.
12986         (Flymake mode, Running the syntax check)
12987         (Navigating to error lines, Backend exceptions)
12988         (Customizable variables, Flymake error types, Backend functions)
12989         (Flymake utility functions, Proc customization variables)
12990         (Locating a master file, Locating the buildfile)
12991         (Starting the syntax check process, Parsing the output)
12992         (Interaction with other modes): Fix indexing.  Add index entries
12993         for functions, variables, and concepts.
12995 2017-10-10  João Távora  <joaotavora@gmail.com>
12997         Fix two Flymake bugs
12999         * lisp/progmodes/flymake.el (define-fringe-bitmap): Protect
13000         against --without-x.
13001         (flymake--mode-line-format): Ensure mode-line's mouse-4 and mouse-5 work
13002         in their own windows.
13004 2017-10-10  João Távora  <joaotavora@gmail.com>
13006         Don't log "emergencies" in the Flymake legacy backend
13008         * lisp/progmodes/flymake-proc.el (flymake-proc--panic)
13009         (flymake-proc-legacy-flymake): Don't log "emergencies"
13011 2017-10-10  João Távora  <joaotavora@gmail.com>
13013         Add full documentation on new Flymake API
13015         Also, as a minor addition to this API, set flymake-text
13016         on the diagnostic overlay.  This enables a good example in
13017         the section "Customization Flymake annotations".
13019         * doc/misc/flymake.texi (Overview of Flymake)
13020         (Syntax check statuses): Rework.
13021         (Backend exceptions): Rename from "Troubleshooting"
13022         (Customizable variables): Add flymake-start-on-flymake-mode. Rework.
13023         (Extending Flymake): Write chapter.
13024         (Customizing Flymake annotations, Flymake backends)
13025         (Flymake utility functions, An annotated example backend):
13026         New sections and subsections
13028         * lisp/progmodes/flymake.el (flymake-diagnostic-functions)
13029         (flymake-diagnostic-types-alist): Rework docstring.
13030         (flymake--highlight-line): Set and use flymake-text property in overlay.
13031         (flymake-goto-next-error, flymake-goto-prev-error): Fix funny quotes.
13033 2017-10-10  João Távora  <joaotavora@gmail.com>
13035         Fix some Flymake docstrings and messages
13037         * lisp/progmodes/flymake.el
13038         (flymake-start-on-flymake-mode): fix typo.
13039         (flymake-mode): Add docstring.
13040         (flymake-mode-line-format): Fix help-echo indications. mouse-2
13041         describes flymake-mode.
13043 2017-10-10  João Távora  <joaotavora@gmail.com>
13045         Make three new Flymake commands for debugging common problems
13047         * lisp/progmodes/flymake.el (flymake-running-backends)
13048         (flymake-disabled-backends)
13049         (flymake-reporting-backends): Make interactive.
13050         (flymake--collect): Take optional arg.
13052 2017-10-09  Nicolas Petton  <nicolas@petton.fr>
13054         * admin/authors.el (authors-renamed-files-alist): addition.
13056 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
13058         Fix PWD check on DOS_NT
13060         * src/sysdep.c (get_current_dir_name_or_unreachable):
13061         Do not consider a file name like "a:b" to be absolute on DOS_NT.
13063 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
13065         Fix unlikely overflows with wd length
13067         * src/sysdep.c (get_current_dir_name_or_unreachable):
13068         Avoid integer overflow if working directory name is absurdly long.
13069         When allocating memory for getcwd, do not exceed MAXPATHLEN.
13071 2017-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
13073         * lisp/gnus/message.el: Improve last commit
13075         (message-clone-locals): Don't mistakenly match other variables whose
13076         name happens to include "message-default-charset".
13078 2017-10-09  Ken Olum  <kdo@cosmos.phy.tufts.edu>
13080         Fix problems when editing raw undecoded message (Bug#28671)
13082         * lisp/mail/rmailedit.el (rmail-cease-edit): If rmail-old-mime-state
13083         is set, meaning that we are editing the raw message, do not
13084         encode it again.  Delete old body after, not before, inserting
13085         new, to avoid moving marker at beginning of next message.
13087 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
13089         Avoid encoding errors in message.el
13091         * lisp/gnus/message.el (message-clone-locals): Don't clone
13092         message-default-charset.  (Bug#25645)
13094 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
13096         Improve doc string and prompt of 'grep-read-files'
13098         * lisp/progmodes/grep.el (grep-read-files): Clarify in the doc
13099         string and in the prompt that shell wildcards can be used.
13100         Suggested by Allen Li <vianchielfaura@gmail.com>.  (Bug#28615)
13102 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
13104         Avoid assertion violations when line numbers are displayed
13106         * src/xdisp.c (redisplay_window): Clear the window's desired glyph
13107         matrix before calling try_window with the same starting point.
13108         This avoids assertion violations when switching from a buffer
13109         without line numbers to a buffer with line numbers.  (Bug28710)
13111 2017-10-09  João Távora  <joaotavora@gmail.com>
13113         Be lazy when starting Flymake checks
13115         Don't start the check immediately if the buffer is not being
13116         displayed.  Wait until it is, using window-configuration-change-hook.
13118         This enables the user to batch-enable flymake-mode on many buffers and
13119         not have that operation exhaust system resources for checking each
13120         one.  Likewise, an editing or save operation in a currently
13121         non-displayed buffer does not immediately start a check.
13123         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode):
13124         Rename from flymake-start-syntax-check-on-find-file.
13125         (flymake-start-syntax-check-on-find-file): Obsolete alias for
13126         flymake-start-on-flymake-mode.
13127         (flymake-start): Redesign.  Affect the global post-command-hook
13128         and local window-configuraiton-change-hook.
13129         (flymake--schedule-timer-maybe)
13130         (flymake-after-change-function, flymake-after-save-hook): Pass
13131         t to flymake-start.
13133         * test/lisp/progmodes/flymake-tests.el (flymake-tests--call-with-fixture)
13134         (dummy-backends, recurrent-backend): Start flymake check
13135         explicitly and immediately.
13137 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
13139         Fix last change in frameset.el
13141         * lisp/frameset.el (frameset-filter-font-param): Fix a thinko in
13142         filtering the 'font' parameter.  (Bug#17352)
13144 2017-10-09  Martin Rudalics  <rudalics@gmx.at>
13146         Describe how window dividers can replicate vertical borders (Bug#27830)
13148         * doc/emacs/frames.texi (Scroll Bars): Describe how window
13149         dividers can be used to replicate vertical borders when scroll
13150         bars are disabled (Bug#27830).
13151         * doc/emacs/frames.texi (Window Dividers): Mention their use
13152         in replicating vertical borders.
13154 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
13156         Add line-number faces to the display-line-numbers group
13158         See https://lists.gnu.org/r/emacs-devel/2017-10/msg00151.html
13159         and its resulting thread.
13161         * lisp/display-line-numbers.el (display-line-numbers): Add to the
13162         convenience group.
13163         * lisp/faces.el (line-number):
13164         (line-number-current-line): Add to the display-line-numbers group.
13166 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
13168         Increase xterm click count only within double-click-fuzz
13170         * lisp/xt-mouse.el (xterm-mouse-event): Save the last click's position
13171         and check it against the current click's position.  (Bug#28658)
13173 2017-10-08  Alan Third  <alan@idiocy.org>
13175         Change pause in fullscreen toggling for NS port (bug#28496)
13177         * lisp/frame.el (toggle-frame-fullscreen): Replace sit-for with
13178         sleep-for, and reduce time.
13180 2017-10-08  Michael Albinus  <michael.albinus@gmx.de>
13182         Handle PARENTS properly in tramp-*-handle-make-directory
13184         * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
13185         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
13186         Handle PARENTS properly.
13188         * test/lisp/net/tramp-tests.el (tramp-test13-make-directory):
13189         Extend test.
13191 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
13193         Improve test for unreachable dirs
13195         * src/sysdep.c (get_current_dir_name_or_unreachable):
13196         New function, with most of the old contents of
13197         emacs_get_current_dir_name.
13198         (emacs_get_current_dir_name): Use it.  Use a simpler
13199         test for unreachable directory strings, and also apply
13200         it to getcwd etc. (Bug#27871)
13202 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
13204         * src/xsmfns.c (x_session_initialize): Fix memory leak.
13206 2017-10-08  K. Handa  <handa@gnu.org>
13208         New option for handling ZWNJ in Arabic text rendering
13210         Provide a new option 'arabic-shaper-ZWNJ-handling' that controls how
13211         to display ZWNJ in Arabic text rendering (Bug#28339).
13212         * lisp/language/misc-lang.el: Register arabic-shape-gstring in
13213         composition-function-table.
13214         (arabic-shaper-ZWNJ-handling): New variable.
13215         (arabic-shape-log): New variable.
13216         (arabic-shape-gstring): New function.
13217         * lisp/composite.el (lgstring-remove-glyph): New function.
13219 2017-10-08  Noam Postavsky  <npostavs@gmail.com>
13221         Make python prettify symbols into a defvar (Bug#28713)
13223         * lisp/progmodes/python.el (python-prettify-symbols-alist): New
13224         variable.
13225         (python--prettify-symbols-alist): Make into obsolete alias for
13226         `python-prettify-symbols-alist'.
13228 2017-10-07  Alan Third  <alan@idiocy.org>
13230         Fix fullscreen crash on macOS (bug#28496)
13232         * lisp/frame.el (toggle-frame-fullscreen): Wait for animation to
13233         complete on macOS.
13235 2017-10-07  Alan Third  <alan@idiocy.org>
13237         Fix crash when closing fullscreen frame on macOS (bug#28661)
13239         * src/nsterm.m (EmacsView::windowWillResize): Return new frame size
13240         unmodified if the frame isn't live.
13242 2017-10-07  Michael Albinus  <michael.albinus@gmx.de>
13244         Support gio tool in Tramp
13246         "gvfs-<command>" utilities have been deprecated in GVFS 1.31.1.  We
13247         must use "gio <command>" tool instead.
13249         * lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping): New defconst.
13250         (tramp-gvfs-handle-file-notify-add-watch): Support also "gio monitor"
13251         (tramp-gvfs-gio-tool-p): New defun.
13252         (tramp-gvfs-send-command): Use it.  Call gio tool if available.
13254 2017-10-07  João Távora  <joaotavora@gmail.com>
13256         Fix flymake-goto-next-error when message has %-constructs
13258         * lisp/progmodes/flymake.el (flymake-goto-next-error): Fix
13259         message call.  Add missing period in docstring.
13261 2017-10-07  Piotr Trojanek  <piotr.trojanek@gmail.com>
13263         * src/gnutls.c (syms_of_gnutls): Remove duplicated call to DEFSYM.
13265 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
13267         Move the entry about 'format' into Incompatible Lisp Changes
13269         * etc/NEWS: Move the entry about 'format' refraining from allocating
13270         new strings into Incompatible Lisp Changes.  (Bug#28625)
13272 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
13274         Fix glitches in displaying TTY menus
13276         * src/dispnew.c (update_frame_line): Accept an additional argument
13277         UPDATING_MENU_P; if non-zero, home the cursor before updating a
13278         frame's line.  All callers changed.
13279         (update_frame_1): Accept an additional argument UPDATING_MENU_P,
13280         and pass it to update_frame_line.  All callers changed.
13281         (update_frame_with_menu): Call update_frame_1 with last argument
13282         non-zero.  (Bug#17497)
13284 2017-10-06  Gemini Lasswell  <gazally@runbox.com>
13286         Create new Edebug spec for docstrings and use it in closures
13288         Since (:documentation FORM) can be used to create a docstring
13289         when lexical-binding is on, allow for that possibility in Edebug
13290         specs (bug#24773).
13291         * lisp/emacs-lisp/edebug.el: Define an Edebug spec for docstrings
13292         called lambda-doc and modify the Edebug specs for defun and
13293         defmacro to use it.
13294         (edebug-instrument-function): Check for generic functions first,
13295         to fix bug where edebug-step-in didn't work on methods now that
13296         cl-defgeneric has an Edebug spec.
13297         * lisp/subr.el (lambda): Modify Edebug spec to use lambda-doc.
13298         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Add Edebug spec
13299         (bug#27747).
13300         (cl-defmethod): Use lambda-doc in Edebug spec.
13301         * lisp/emacs-lisp/cl-macs.el: Modify Edebug spec for
13302         cl-declarations-or-string to use lambda-doc, and modify Edebug
13303         spec for cl-lambda-expr to use cl-declarations-or-string.
13304         * lisp/emacs-lisp/pcase.el (pcase-lambda): Modify Edebug spec to
13305         use lambda-doc, as well as &define and def-body which are
13306         necessary for using Edebug on code wrapped by lambda.
13307         * lisp/emacs-lisp/generator.el (iter-defun, iter-lambda): Add
13308         Edebug specs.
13310 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
13312         Avoid byte-compilation warnings in message.el
13314         * lisp/gnus/message.el: Require 'subr-x' when compiling, to
13315         avoid compiler warnings.
13317 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
13319         Fix bug in recent styled_format change
13321         Problem reported by Kaushal Modi in:
13322         https://lists.gnu.org/r/emacs-devel/2017-10/msg00141.html
13323         * src/editfns.c (styled_format): Fix bug where USE_SAFE_ALLOCA was
13324         not always followed by SAFE_FREE.  This bug was introduced in my
13325         patch 2017-09-26T23:31:57Z!eggert@cs.ucla.edu entitled "Avoid some
13326         unnecessary copying in Fformat etc."
13328 2017-10-06  João Távora  <joaotavora@gmail.com>
13330         Cleanup emacs-lisp-mode's use of Flymake
13332         * lisp/progmodes/elisp-mode.el (elisp-flymake--checkdoc-1):
13333         Delete.
13334         (elisp-flymake-checkdoc): Incorporate old
13335         elisp-flymake--checkdoc-1.
13336         (elisp-flymake--byte-compile-done): Simplify.  Don't cleanup
13337         here.
13338         (elisp-flymake-byte-compile): Remove spurious interactive spec.
13339         Simplify.  Cleanup on every possible exit.
13341 2017-10-06  João Távora  <joaotavora@gmail.com>
13343         Fix @include directive in Flymake doc
13345         * doc/misc/flymake.texi: Don't @include a relative path.
13347 2017-10-06  Mark Oteiza  <mvoteiza@udel.edu>
13349         Move read-multiple-choice to its own library
13351         * lisp/emacs-lisp/rmc.el: New file.
13352         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Remove.
13353         * lisp/gnus/message.el:
13354         * lisp/net/nsm.el: Change required library.
13356 2017-10-06  Piotr Trojanek  <piotr.trojanek@gmail.com>
13358         * src/process.c (syms_of_process): Remove duplicated call to DEFSYM.
13360         Fixes: Bug#28721
13362 2017-10-06  Lele Gaifax  <lele@metapensiero.it>
13364         Fix typos in Flymake documentation
13366         * doc/misc/flymake.texi (Syntax check statuses)
13367         (Adding support for a new syntax check tool)
13368         (Implementation overview, Locating the buildfile): Fix typos.
13370         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn)
13371         (flymake-proc--find-possible-master-files):Fix typos.
13372         (flymake-proc--panic)
13373         (flymake-proc-legacy-flymake): Fix function reference in doc.
13375         * lisp/progmodes/flymake.el (flymake-error)
13376         (flymake-diagnostic-functions): Fix typos.
13377         (flymake-diagnostic-types-alist): Rephrase and fix typos.
13378         (flymake--backend-state): Fix typos and rephrase.
13379         (flymake--handle-report): Delete empty line.
13380         (flymake--disable-backend)
13381         (flymake--run-backend): Fix typos.
13382         (flymake-goto-next-error, flymake-goto-prev-error): Rephrase.
13384 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
13386         Revert last change in 'shr-descend'
13388         * lisp/net/shr.el (shr-descend): Revert the part of the last
13389         change which introduced calls to shr-indirect-call into this
13390         function.  Add a comment explaining the rationale for that.
13391         (Bug#28402)
13393 2017-10-06  João Távora  <joaotavora@gmail.com>
13395         Don't error when turning on Flymake with no known backends
13397         Leave it to the mode line indicator to inform the user that there
13398         is still some configuration to do.
13400         * lisp/progmodes/flymake.el (flymake-mode): Simplify.
13402 2017-10-06  João Távora  <joaotavora@gmail.com>
13404         Delete a Flymake obsolete alias that can't possibly work
13406         The function `flymake-ler-make-ler' can't possibly work as an backward
13407         compatible interface to existing extensinos (even purely hypothetical
13408         ones, since none are known).  This is because every diagnostic
13409         considered by Flymake has to passed to a report-fn function.
13411         * lisp/progmodes/flymake.el (flymake-ler-make-ler): Delete.
13413 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
13415         Fix bug with unmounted directory on GNU/Linux
13417         * src/sysdep.c (emacs_get_current_dir_name): Do not use
13418         get_current_dir_name result unless it is absolute (Bug#27871).
13421 2017-10-05  Nicolas Petton  <nicolas@petton.fr>
13423         Update authors.el
13425         * admin/authors.el (authors-renamed-files-alist)
13426         (authors-valid-file-names): Additions.
13428 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
13430         Fix dynamic binding wrapper in iter-lambda (bug#25965)
13432         * lisp/emacs-lisp/generator.el (cps--make-dynamic-binding-wrapper):
13433         Remove extra evaluation of form.
13434         * test/lisp/emacs-lisp/generator-tests.el
13435         (cps-iter-lambda-with-dynamic-binding): New test.
13437 2017-10-05  Rasmus  <rasmus@gmx.us>
13439         Update Org to v9.1.2
13441         Please note this is a bugfix release.  See etc/ORG-NEWS for details.
13443 2017-10-05  Alan Mackenzie  <acm@muc.de>
13445         Fix irregularities with CC Mode fontification, particularly with "known types"
13447         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
13448         optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
13449         type.
13450         (c-font-lock-single-decl): New variable template-class, set to non-nil when we
13451         have a construct like the above.  Pass this as argument to
13452         c-font-lock-declarators.
13453         (c-font-lock-cut-off-declarators): Check more rigorously that a declaration
13454         being processed starts before the function's starting position.
13455         (c-complex-decl-matchers): Remove the redundant clause which fontified "types
13456         preceded by, e.g., "struct"".
13458         * lisp/progmodes/cc-langs.el (c-template-typename-kwds)
13459         (c-template-typename-key): New lang defconsts and defvar.
13461 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
13463         Fix breakage due to recent change in tabulated-list-print-entry
13465         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
13466         Update the doc string.
13467         (tabulated-list-print-entry): Revert to using only 2 arguments.
13468         Update the doc string.
13469         (tabulated-list-entry-lnum-width): New defvar.
13470         (tabulated-list-print): Compute the width of line-number display
13471         once, then store that value in tabulated-list-entry-lnum-width,
13472         for tabulated-list-printer to use.  (Bug#28704)
13474 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
13476         * lisp/ses.el (ses-print-cell): Fix alignment of text cells.  (Bug#27653)
13478 2017-10-05  Alexander Gramiak  <agrambot@gmail.com>
13480         Set xterm click count to 1 even with no last click
13482         * lisp/xt-mouse.el (xterm-mouse-event): Move the check for
13483         the last click so that click-count is initialized properly.
13484         Handle the value of t for double-click-time.
13485         (Bug#28658)
13487 2017-10-05  Vasilij Schneidermann  <mail@vasilij.de>
13489         Support indirection for all shr-tag-* calls
13491         The 'shr-external-rendering-functions' variable was previously only
13492         honored in the shr-descend function, now all direct calls to the
13493         shr-tag-* functions have been replaced by a call to
13494         'shr-indirect-call' which tries using an alternative rendering
13495         function first.
13497         * lisp/net/shr.el (shr-indirect-call): New helper function.
13498         (shr-descend, shr-tag-object, shr-tag-video):
13499         (shr-collect-extra-strings-in-table): Fix callers to call via
13500         shr-indirect-call.  (Bug#28402)
13502 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
13504         Speed up list-packages when 'visual' line numbers are displayed
13506         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
13507         Update the doc string.
13508         (tabulated-list-print-entry): Accept an additional optional
13509         argument INDENT.  Update the doc string.
13510         (tabulated-list-print): Compute the width of line-number display
13511         once, then call tabulated-list-printer with that value as 3rd
13512         argument.  (Bug#28704)
13514 2017-10-05  João Távora  <joaotavora@gmail.com>
13516         Misc. minor adjustments to Flymake
13518         - Add a half-decent minor-mode menu;
13519         - Fix "waiting for backends" mode line message;
13520         - Adjust the flymake-diag-region API;
13521         - Autoload the flymake-log macro;
13522         - Auto-disable the legacy backend in more situations;
13523         - Fix a couple of warnings in legacy backend.
13525         * lisp/progmodes/flymake-proc.el
13526         (flymake-proc--diagnostics-for-pattern): Use new
13527         flymake-diag-region.
13529         * lisp/progmodes/flymake-proc.el
13530         (flymake-proc-legacy-flymake): Do error when no
13531         buffer-file-name or not writable.
13532         (flymake-proc-legacy-flymake)
13533         (flymake-proc-simple-cleanup): Don't reference flymake-last-change-time
13535         * lisp/progmodes/flymake.el (flymake-diag-region):
13536         Autoload.  Take buffer as first argument.
13538         * lisp/progmodes/flymake.el (flymake-switch-to-log-buffer):
13539         New command.
13540         (flymake-menu): Add a simple menu.
13541         (flymake--mode-line-format): Use menu.  Fix message.  Switch to
13542         log buffer when clicking exceptional warnings.
13544 2017-10-05  Johan Bockgård  <bojohan@gnu.org>
13546         Fix search for ~/.Xdefaults-HOSTNAME
13548         * src/xrdb.c (get_environ_db): Fix typo when handling
13549         ~/.Xdefaults-HOSTNAME (Bug#28708).
13551 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13553         Speed up (format "%s" STRING) and the like
13555         Although the Lisp manual said that ‘format’ returns a
13556         newly-allocated string, this was not true for a few cases like
13557         (format "%s" ""), and fixing the documentation to allow reuse of
13558         arguments lets us improve performance in common cases like
13559         (format "foo") and (format "%s" "foo") (Bug#28625).
13560         * doc/lispref/strings.texi (Formatting Strings):
13561         * etc/NEWS:
13562         Say that the result of ‘format’ might not be newly allocated.
13563         * src/callint.c (Fcall_interactively):
13564         * src/dbusbind.c (XD_OBJECT_TO_STRING):
13565         * src/editfns.c (Fmessage, Fmessage_box):
13566         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
13567         Just use Fformat or Fformat_message, as that’s simpler and no
13568         longer makes unnecessary copies.
13569         * src/editfns.c (styled_format): Remove last argument, as it
13570         is no longer needed: all callers now want it to behave as if it
13571         were true.  All remaining callers changed.  Make this function
13572         static again.  Simplify the function now that we no longer
13573         need to worry about whether the optimization is allowed.
13575 2017-10-04  Alan Mackenzie  <acm@muc.de>
13577         Fontify untyped function declarations in C Mode correctly.
13579         Also correct two bugs where deleting WS at a BOL could leave an untyped
13580         function declaration unfontified.
13582         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Don't set the flag
13583         "top-level" when we're in a macro.
13584         (c-forward-decl-or-cast-1): Recognize top-level "foo(bar)" or "foo()" in C
13585         Mode as a implicitly typed function declaration.
13586         (c-just-after-func-arglist-p): Don't get confused by "defined (foo)" inside a
13587         macro.  It's not a function plus arglist.
13589         * lisp/progmodes/cc-langs.el (c-cpp-expr-functions-key): New defconst and
13590         defvar.
13592         * lisp/progmodes/cc-mode.el (c-fl-decl-end): After c-forward-declarator, move
13593         over any following parenthesis expression (i.e. parameter list).
13594         (c-change-expand-fl-region): When c-new-END is at a BOL, include that line in
13595         the returned region, to cope with deletions at column 0.
13597 2017-10-04  Michael Albinus  <michael.albinus@gmx.de>
13599         * lisp/net/tramp.el (tramp-tramp-file-p): Use `string-match-p'.
13601         Reported by Clément Pit-Claudel <cpitclaudel@gmail.com>.
13603 2017-10-04  Eli Zaretskii  <eliz@gnu.org>
13605         Avoid crashes on C-g when several threads wait for input
13607         * src/thread.h (m_getcjmp): New member of 'struct thread_state'.
13608         (getcjmp): Define to current thread's 'm_getcjmp'.
13609         * src/thread.c (maybe_reacquire_global_lock): Switch to main
13610         thread, since this is called from a SIGINT handler, which always
13611         runs in the context of the main thread.
13612         * src/lisp.h (sys_jmp_buf, sys_setjmp, sys_longjmp): Move the
13613         definitions before thread.h is included, as thread.h now uses
13614         sys_jmp_buf.
13615         * src/keyboard.c (getcjmp): Remove declaration.
13616         (read_char): Don't call maybe_reacquire_global_lock here.
13617         (handle_interrupt): Call maybe_reacquire_global_lock here, if
13618         invoked from the SIGINT handler, to make sure
13619         quit_throw_to_read_char runs with main thread's Lisp bindings and
13620         uses the main thread's jmp_buf buffer.  (Bug#28630)
13622 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13624         Warn if --without-pop is now the default
13626         * configure.ac (with_pop): Set to no-by-default if defaulting to "no".
13627         Warn about the change if defaulting to "no".  Update URLs.
13629 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
13631         --with-pop is now the default only on MS-Windows
13633         Problem reported by N. Jackson (Bug#28597).
13634         This improves an earlier suggestion by Robert Pluim (Bug#28597#47).
13635         * INSTALL, configure.ac, etc/NEWS:
13636         Make --with-pop the default only on native MS-Windows.
13638 2017-10-03  Michael Albinus  <michael.albinus@gmx.de>
13640         Add support for `file-system-info' in Tramp
13642         * lisp/net/tramp.el (tramp-file-name-for-operation):
13643         Add `file-system-info'.
13645         * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info): New defun.
13646         (tramp-adb-file-name-handler-alist): Use it.
13648         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-system-attributes)
13649         (tramp-gvfs-file-system-attributes-regexp): New defconst.
13650         (tramp-gvfs-handle-file-system-info): New defun.
13651         (tramp-gvfs-file-name-handler-alist): Use it.
13652         (tramp-gvfs-get-directory-attributes): Fix property name.
13653         (tramp-gvfs-get-root-attributes): Support also file system attributes.
13655         * lisp/net/tramp-sh.el (tramp-sh-handle-file-system-info): New defun.
13656         (tramp-sh-file-name-handler-alist): Use it.
13657         (tramp-sh-handle-insert-directory): Insert size information.
13658         (tramp-get-remote-df): New defun.
13660         * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): New defun.
13661         (tramp-smb-file-name-handler-alist): Use it.
13662         (tramp-smb-handle-insert-directory): Insert size information.
13664         * test/lisp/net/tramp-tests.el (tramp-test37-file-system-info):
13665         New test.
13666         (tramp-test38-asynchronous-requests)
13667         (tramp-test39-recursive-load, tramp-test40-remote-load-path)
13668         (tramp-test41-unload): Rename.
13670 2017-10-03  João Távora  <joaotavora@gmail.com>
13672         Merge branch 'scratch/flymake-refactor-clean-for-emacs-26' into emacs-26
13674 2017-10-03  João Távora  <joaotavora@gmail.com>
13676         Start rewriting Flymake manual
13678         Missing the parts pertaining to the new customization API.
13680         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
13681         (Installing Flymake): Delete most of this.
13682         (Running the syntax check): Mention flymake-start.
13683         (Navigating to error lines): Rewrite.
13684         (Viewing error messages): Commente out.
13685         (Syntax check statuses, Troubleshooting): Rewrite a bit.
13686         (Customizable variables): New section under "Using
13687         Flymake".  Don't mention any proc variables here.
13688         (Configuring Flymake): Delete
13689         (Proc backend): New chapter
13690         (Proc customization variables): New chapter.
13692         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
13693         (Installing Flymake): Mostly scratch. Flymake comes with Emacs.
13694         (Running the syntax check): Simplify.
13695         (Viewing error messages): Dekete,
13696         (Syntax check statuses): Rewrite.
13697         (Troubleshooting): Simplify.
13698         (Customizable variables): Rewrite.
13699         (Extending Flymake): New chapter, empty for now.
13700         (The legacy Proc backend): New chapter.
13701         (Proc customizable variables)
13702         (Adding support for a new syntax check tool)
13703         (Implementation overview)
13704         (Making a temporary copy)
13705         (Locating a master file)
13706         (Getting the include directories)
13707         (Locating the buildfile)
13708         (Starting the syntax check process)
13709         (Parsing the output)
13710         (Interaction with other modes)
13711         (Example---Configuring a tool called via make)
13712         (Example---Configuring a tool called directly): Rewrite a bit.
13714 2017-10-03  João Távora  <joaotavora@gmail.com>
13716         Minimal tweak as an attempt to future-proof Flymake API
13718         Discussed with Stefan that this should allow Flymake to request more
13719         from backends in the future, while also allowing backends to report
13720         more accurately.
13722         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc)
13723         (elisp-flymake-byte-compile): Adjust to new API.
13725         * lisp/progmodes/flymake-proc.el ()
13726         (flymake-proc-legacy-flymake): Adjust to new API.
13728         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
13729         Review API again.
13730         (flymake--handle-report): Allow other keys.  Change ACTION to
13731         REPORT-ACTION.
13733 2017-10-03  João Távora  <joaotavora@gmail.com>
13735         Integrate Flymake elisp checkers into elisp-mode.el directly
13737         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Use
13738         elisp-flymake-checkdoc and elisp-flymake-byte-compile.
13739         (elisp-flymake--checkdoc-1, elisp-flymake-checkdoc)
13740         (elisp-flymake--byte-compile-done)
13741         (elisp-flymake--byte-compile-process)
13742         (elisp-flymake-byte-compile): Rename from flymake-elisp
13743         counterparts in deleted flymake-elisp.el
13744         (elisp-flymake--batch-compile-for-flymake): New helper.
13745         (checkdoc-create-error-function)
13746         (checkdoc-autofix-flag)
13747         (checkdoc-generate-compile-warnings-flag)
13748         (checkdoc-diagnostic-buffer): Forward declare.
13750         * lisp/progmodes/flymake-elisp.el: Delete.
13752 2017-10-03  João Távora  <joaotavora@gmail.com>
13754         Hook Flymake onto proper checkdoc and byte-compile interfaces
13756         The interfaces in bytecomp.el and checkdoc.el are mostly boilerplate,
13757         with little knowledge of actual internals or thought given to the
13758         usefulness of said interfaces in contexts other than Flymake's.
13760         * lisp/emacs-lisp/bytecomp.el
13761         (byte-compile-log-warning-function): New variable.
13762         (byte-compile-log-warning): Use it.
13763         (byte-compile--log-warning-for-byte-compile): New function.
13765         * lisp/emacs-lisp/checkdoc.el
13766         (checkdoc-create-error-function): New variable.
13767         (checkdoc-create-error): Use it.
13768         (checkdoc--create-error-for-checkdoc): New function.xo
13770         * lisp/progmodes/flymake-elisp.el (flymake-elisp--checkdoc-1):
13771         Use checkdoc-create-error-function.
13772         (flymake-elisp--batch-byte-compile): Use
13773         byte-compile-log-warning-function.
13775 2017-10-03  João Távora  <joaotavora@gmail.com>
13777         Tweak Flymake autoloads and dependencies
13779         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add to
13780         flymake-diagnostic-functions here.
13782         * lisp/progmodes/flymake-elisp.el[top]: Don't add to
13783         emacs-lisp-mode-hook.  Don't call flymake-elisp-setup-backends in
13784         every buffer.  (flymake-elisp-checkdoc) (flymake-elisp-byte-compile):
13785         Autoload.  (flymake-elisp-setup-backends): Remove.
13787         * lisp/progmodes/flymake.el: Add some top-level comments.
13788         (flymake-make-diagnostic)
13789         (flymake-mode, flymake-mode-on, flymake-mode-off): Add autoloads
13791         Where to fixup this shit?
13793 2017-10-03  João Távora  <joaotavora@gmail.com>
13795         Capitalize "Flymake" in docstrings and comments
13797         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
13798         (flymake-elisp-setup-backends): Capitalize "Flymake"
13800         * lisp/progmodes/flymake-proc.el:
13801         (flymake-proc-reformat-err-line-patterns-from-compile-el)
13802         (flymake-proc--panic, flymake-proc-legacy-flymake)
13803         (flymake-start-syntax-check, flymake-proc-compile)
13804         (define-obsolete-variable-alias): Capitalize "Flymake"
13806         * lisp/progmodes/flymake.el (flymake-fringe-indicator-position)
13807         (flymake-make-diagnostic, flymake-delete-own-overlays)
13808         (flymake-diagnostic-functions)
13809         (flymake-diagnostic-types-alist, flymake-is-running)
13810         (flymake-make-report-fn, flymake-mode-on, flymake-mode-off)
13811         (flymake-goto-next-error, flymake-goto-prev-error): Capitalize "Flymake"
13813 2017-10-03  João Távora  <joaotavora@gmail.com>
13815         Flymake backends can report multiple times per check
13817         Rewrote a significant part of the Flymake backend API.  Flymake now
13818         ignores the return value of backend functions: a function can either
13819         returns or errors.  If it doesn't error, a backend is no longer
13820         constrained to call REPORT-FN exactly once.  It may do so any number
13821         of times, cumulatively reporting diagnostics.  Flymake keeps track of
13822         outdated REPORT-FN instances and disconsiders obsolete reports.
13823         Backends should avoid reporting obsolete data by canceling any
13824         ongoing processing at every renewed call to the backend function.
13826         Consolidated flymake.el internal data structures to require less
13827         buffer-local variables.  Adjusted Flymake's mode-line indicator to the
13828         new semantics.
13830         Adapted and simplified the implementation of elisp and legacy
13831         backends, fixing potential race conditions when calling backends in
13832         rapid succession.
13834         Added a new test for a backend that calls REPORT-FN multiple
13835         times.  Simplify test infrastructure.
13837         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
13838         (flymake-elisp-byte-compile): Error instead of returning nil
13839         if not in emacs-lisp-mode.
13840         (flymake-elisp--byte-compile-process): New buffer-local variable.
13841         (flymake-elisp-byte-compile): Mark (and kill) previous process
13842         obsolete process before starting a new one.  Don't report if
13843         obsolete process.
13845         * lisp/progmodes/flymake-proc.el
13846         (flymake-proc--current-process): New buffer-local variable.
13847         (flymake-proc--processes): Remove.
13848         (flymake-proc--process-filter): Don't bind
13849         flymake-proc--report-fn.
13850         (flymake-proc--process-sentinel): Rewrite.  Don't report if
13851         obsolete process.
13852         (flymake-proc-legacy-flymake): Rewrite.  Mark (and kill)
13853         previous process obsolete process before starting a new
13854         one.  Integrate flymake-proc--start-syntax-check-process
13855         helper.
13856         (flymake-proc--start-syntax-check-process): Delete.
13857         (flymake-proc-stop-all-syntax-checks): Don't use
13858         flymake-proc--processes, iterate buffers.
13859         (flymake-proc-compile):
13861         * lisp/progmodes/flymake.el (subr-x): Require it
13862         explicitly.
13863         (flymake-diagnostic-functions): Reword docstring.
13864         (flymake--running-backends, flymake--disabled-backends)
13865         (flymake--diagnostics-table): Delete.
13866         (flymake--backend-state): New buffer-local variable and new defstruct.
13867         (flymake--with-backend-state, flymake--collect)
13868         (flymake-running-backends, flymake-disabled-backends)
13869         (flymake-reporting-backends): New helpers.
13870         (flymake-is-running): Use flymake-running-backends.
13871         (flymake--handle-report): Rewrite.
13872         (flymake-make-report-fn): Ensure REPORT-FN runs in the correct
13873         buffer or not at all.
13874         (flymake--disable-backend, flymake--run-backend): Rewrite.
13875         (flymake-start): Rewrite.
13876         (flymake-mode): Set flymake--backend-state.
13877         (flymake--mode-line-format): Rewrite.
13879         * test/lisp/progmodes/flymake-tests.el
13880         (flymake-tests--wait-for-backends): New helper.
13881         (flymake-tests--call-with-fixture): Use it.
13882         (included-c-header-files): Fix whitespace.
13883         (flymake-tests--diagnose-words): New helper.
13884         (dummy-backends): Rewrite for new semantics.  Use cl-letf.
13885         (flymake-tests--assert-set): Use quote.
13886         (recurrent-backend): New test.
13888 2017-10-03  João Távora  <joaotavora@gmail.com>
13890         Flymake uses proper idle timers
13892         Also, flymake-no-changes-timeout can be set to nil to disable
13893         automatic periodic checks.  But even in that situation the idle timer
13894         still runs at a reduced rate to detect changes in the variable and
13895         revert that decision.
13897         * lisp/progmodes/flymake.el (flymake-no-changes-timeout): Improve doc.
13898         (flymake-last-change-time): Delete.
13899         (flymake--schedule-timer-maybe): New helper.
13900         (flymake-after-change-function): Use it.
13901         (flymake-on-timer-event): Delete
13902         (flymake-mode): Don't scheduler timer.
13904 2017-10-03  João Távora  <joaotavora@gmail.com>
13906         Flymake variable flymake-diagnostic-functions now a special hook
13908         * lisp/progmodes/flymake-proc.el: Use add-hook to affect
13909         flymake-diagnostic-functions.
13911         * lisp/progmodes/flymake-elisp.el
13912         (flymake-elisp-setup-backends): Use add-hook.
13914         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
13915         Revise docstring.
13916         (flymake-start): Use run-hook-wrapped.
13918 2017-10-03  João Távora  <joaotavora@gmail.com>
13920         Batch of minor Flymake cleanup actions agreed to with Stefan
13922         Discussed with Stefan, in no particular order
13924         - Remove aliases for symbols thought to be internal to flymake-proc.el
13925         - Don’t need :group in defcustom and defface in flymake.el
13926         - Fix docstring of flymake-make-diagnostic
13927         - Fix docstring of flymake-diagnostic-functions to clarify keywords.
13928         - Mark overlays with just the property ’flymake, not ’flymake-overlay
13929         - Tune flymake-overlays for performance
13930         - Make flymake-mode-on and flymake-mode-off obsolete
13931         - Don’t use hash-table-keys unless necessary.
13932         - Copyright notice in flymake-elisp.
13934         Added some more
13936         - Clarify docstring of flymake-goto-next-error
13937         - Clarify a comment in flymake--run-backend complaining about ert-deftest.
13938         - Prevent compilation warnings in flymake-proc.el
13939         - Remove doctring from obsolete aliases
13941         Now the changelog:
13943         * lisp/progmodes/flymake-elisp.el: Proper copyright notice.
13945         * lisp/progmodes/flymake-proc.el (flymake-warning-re)
13946         (flymake-proc-diagnostic-type-pred)
13947         (flymake-proc-default-guess)
13948         (flymake-proc--get-file-name-mode-and-masks): Move up to
13949         beginning of file to shoosh compiler warnings
13950         (define-obsolete-variable-alias): Delete many obsolete aliases.
13952         * lisp/progmodes/flymake.el (flymake-error-bitmap)
13953         (flymake-warning-bitmap, flymake-note-bitmap)
13954         (flymake-fringe-indicator-position)
13955         (flymake-start-syntax-check-on-newline)
13956         (flymake-no-changes-timeout, flymake-gui-warnings-enabled)
13957         (flymake-start-syntax-check-on-find-file, flymake-log-level)
13958         (flymake-wrap-around, flymake-error, flymake-warning)
13959         (flymake-note): Don't need :group in these defcustom and defface.
13960         (flymake--run-backend): Clarify comment
13961         (flymake-mode-map): Remove.
13962         (flymake-make-diagnostic): Fix docstring.
13963         (flymake--highlight-line, flymake--overlays): Identify flymake
13964         overlays with just ’flymake.
13965         (flymake--overlays): Reverse order of invocation for
13966         cl-remove-if-not and cl-sort.
13967         (flymake-mode-on)
13968         (flymake-mode-off): Make obsolete.
13969         (flymake-goto-next-error, flymake-goto-prev-error): Fix docstring.
13970         (flymake-diagnostic-functions): Clarify keyword arguments in
13971         docstring.
13973         Maybe squash in that one where I remove many obsoletes
13975 2017-10-03  João Távora  <joaotavora@gmail.com>
13977         Explicitly add a(n empty) keymap for Flymake
13979         Too early to decide what will be in it, if anything.  Though "M-n" and
13980         "M-p" would be great.
13982         * lisp/progmodes/flymake-ui.el (flymake-mode-map): New variable
13984 2017-10-03  João Távora  <joaotavora@gmail.com>
13986         Flymake uses some new fringe bitmaps
13988         Also fix behavior whereby flymake wouldn't react to a change in the
13989         variable.
13991         * lisp/progmodes/flymake-ui.el (flymake-error-bitmap)
13992         (flymake-warning-bitmap): Update bitmaps.
13993         (flymake-note-bitmap): New defcustom.
13994         (flymake-double-exclamation-mark): New bitmap.
13995         (flymake-error, flymake-warning, flymake-note)
13996         (flymake--highlight-line): 'bitmap property must be a symbol.
13997         Also set default face to flymake-error.
13998         (flymake--fringe-overlay-spec): Bitmap property can be a
13999         variable symbol.
14001 2017-10-03  João Távora  <joaotavora@gmail.com>
14003         Remove old flymake-display-err-menu-for-current-line, it's useless
14005         See https://lists.gnu.org/r/emacs-devel/2017-09/msg00949.html
14007         * lisp/progmodes/flymake-ui.el
14008         (flymake-popup-current-error-menu): Remove.
14010 2017-10-03  João Távora  <joaotavora@gmail.com>
14012         Treat Flymake errors as just another type of diagnostic
14014         * lisp/progmodes/flymake.el (flymake--diag-errorp): Remove.
14015         (flymake--handle-report, flymake-popup-current-error-menu):
14016         Don't use it.
14018 2017-10-03  João Távora  <joaotavora@gmail.com>
14020         Fix three Flymake bugs when checking C header files
14022         The first of these problems is longstanding: if an error-less B.h is
14023         included from error-ridden A.h, flymake's legacy parser will panic
14024         (and disable itself) since it sees a non-zero exit for a clean file.
14025         To fix this, recommend returning 'true' in the documentation for the
14026         check-syntax target.
14028         Another problem was introduced by the parser rewrite.  For error
14029         patterns spanning more than one line, point may be left in the middle
14030         of a line and thus render other patterns useless.  Those patterns were
14031         written for the old line-by-line parser.  To make them useful again,
14032         move to the beginning of line in those situations.
14034         The third problem was also longstanding and happened on newer GCC's:
14035         The "In file included from" prefix confused
14036         flymake-proc-get-real-file-name.  Fix this.
14038         Also updated flymake--diag-region to fallback to highlighting a full
14039         line less often.
14041         Add automatic tests to check this.
14043         * lisp/progmodes/flymake-proc.el
14044         (flymake-proc--diagnostics-for-pattern): Fix bug when patterns
14045         accidentally spans more than one line.  Don't create
14046         diagnostics without error messages.
14047         (flymake-proc-real-file-name-considering-includes): New
14048         helper.
14049         (flymake-proc-allowed-file-name-masks): Use it.
14051         * lisp/progmodes/flymake.el (flymake-diag-region): Make COL
14052         argument explicitly optional.  Only fall back to full line in extreme
14053         cases.
14055         * test/lisp/progmodes/flymake-tests.el
14056         (included-c-header-files): New test.
14057         (different-diagnostic-types): Update.
14059         * test/lisp/progmodes/flymake-resources/Makefile
14060         (check-syntax): Always return success (0) error code.
14061         (CC_OPTS): Add -Wextra
14063         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c
14064         (main): Rewrite comments.
14066         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
14067         Include some dummy header files.
14069         * test/lisp/progmodes/flymake-resources/no-problems.h: New file.
14071         * test/lisp/progmodes/flymake-resources/some-problems.h: New file.
14073         * doc/misc/flymake.texi (Example---Configuring a tool called
14074         via make): Recommend adding "|| true" to the check-syntax target.
14076 2017-10-03  João Távora  <joaotavora@gmail.com>
14078         Add interactive flymake-start function
14080         * lisp/progmodes/flymake.el (flymake-on-timer-event)
14081         (flymake-after-change-function, flymake-mode): Call
14082         flymake-start.
14083         (flymake-start): Rename from flymake--start-syntax-check.
14085 2017-10-03  João Távora  <joaotavora@gmail.com>
14087         A couple of Flymake backends for emacs-lisp-mode
14089         Loading flymake-elisp.el doesn't setup flymake-mode to turn on
14090         automatically, but it affects emacs-lisp-mode-hook so that
14091         flymake-diagnostic-functions is setup with a suitable buffer-local
14092         value.  The variable flymake-diagnostic-funtions in every live
14093         emacs-lisp-mode buffer is also adjusted.
14095         * lisp/progmodes/flymake.el (top): Require flymake-elisp.
14097         * lisp/progmodes/flymake-elisp.el: New file.
14099 2017-10-03  João Távora  <joaotavora@gmail.com>
14101         Fancy Flymake mode-line construct displays status
14103         Imitates compilation-mode's mode-line a bit, and uses its faces.
14105         * lisp/progmodes/flymake.el
14106         (flymake-error, flymake-warning, flymake-note): Add
14107         mode-line-face to these flymake error types.
14108         (flymake-note): Notes don't need a noisy fringe bitmap.
14109         (flymake-lighter): Delete.
14110         (flymake--update-lighter): Delete.
14111         (flymake--mode-line-format): New function and variable.
14112         (flymake--diagnostics-table): New buffer-local variable.
14113         (flymake--handle-report): Don't update "lighters".  Affect
14114         flymake--diagnostics-table.
14115         (flymake--run-backend): Init flymake--diagnostics-table for backend.
14116         (flymake-mode): Use flymake--mode-line-format.
14117         (flymake-mode): Don't update lighter.
14118         (flymake--highlight-line): Be more careful when overriding a
14119         nil default overlay property.
14121 2017-10-03  João Távora  <joaotavora@gmail.com>
14123         Tweak Flymake commands flymake-goto-[next/prev]-error
14125         Add filters, useful for backends like the upcoming
14126         flymake-elisp-checkdoc backend, for example, which litters everything
14127         with low-priority notes.
14129         Also re-implement wraparound for flymake-goto-next-error. Manual
14130         mentions this, so it's probably a good idea to keep it.  Added a new
14131         customization variable flymake-wrap-around to control it.
14133         * lisp/progmodes/flymake.el (flymake-goto-prev-error)
14134         (flymake-goto-next-error): Accept FILTER argument.
14135         (flymake-wrap-around): New variable.
14136         (flymake-goto-next-error): Wrap around according to flymake-wrap-around.
14138         * test/lisp/progmodes/flymake-tests.el
14139         (different-diagnostic-types, dummy-backends): Pass FILTER to
14140         flymake-goto-prev-error.
14141         (different-diagnostic-types)
14142         (dummy-backends): Use flymake-wrap-around.
14144 2017-10-03  João Távora  <joaotavora@gmail.com>
14146         Flymake's flymake-proc.el backend slightly easier to debug
14148         Misc cleanup in flymake-proc.el
14150         Improve description of what this file contains.
14152         Better name for the backend function.  Fix the case where it is run
14153         interactively.
14155         Keep the output buffer alive iff the external process panics.
14157         * lisp/progmodes/flymake-proc.el
14158         (flymake-proc-legacy-flymake): Rename from
14159         flymake-proc-start-syntax-check.  Allow running interactively.
14160         (flymake-start-syntax-check): Obsolete alias for
14161         flymake-proc-legacy-flymake.
14162         (flymake-proc-start-syntax-check): Delete.
14163         (flymake-diagnostic-functions): Include flymake-proc-legacy-flymake
14164         (flymake-proc--process-sentinel): Keep output buffer alive.
14165         Clarify with comments.
14166         (flymake-proc--diagnostics-for-pattern)
14167         (flymake-proc--process-sentinel)
14168         (flymake-proc--safe-delete-directory)
14169         (flymake-proc--start-syntax-check-process): Use condition-case-unless-debug.
14171 2017-10-03  João Távora  <joaotavora@gmail.com>
14173         Simplify Flymake logging and erroring
14175         Use display-warning and a dedicated *Flymake log* buffer.
14177         To ease readability, flymake log messages are now prefixed with a
14178         common prefix and the buffer that originated them.
14180         Some situations of over-zealous logging are fixed.
14182         Use byte-compiler info, if available, to determine whence the
14183         flymake-related log message is coming.
14185         * lisp/progmodes/flymake-proc.el
14186         (flymake-proc--diagnostics-for-pattern): Improve log message.
14187         (flymake-proc--panic): Always flymake-log an error
14188         (flymake-proc--safe-delete-file)
14189         (flymake-proc--safe-delete-directory):
14190         Downgrade warning
14191         (flymake-proc-start-syntax-check): Simplify slightly.
14192         (flymake-proc--start-syntax-check-process): Simplify.
14193         (flymake-proc--init-find-buildfile-dir)
14194         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
14195         No need to warn twice.
14197         * lisp/progmodes/flymake.el (flymake-log): Convert to macro.
14198         (flymake--log-1): New helper.
14199         (flymake-log-level): Deprecate.
14200         (flymake-error): New helper.
14201         (flymake-ler-make-ler, flymake--handle-report, flymake-mode):
14202         Use flymake-error.
14203         (flymake-on-timer-event)
14204         (flymake--handle-report, flymake--disable-backend)
14205         (flymake--run-backend, flymake-start, flymake-mode-on)
14206         (flymake-mode-off, flymake-after-change-function)
14207         (flymake-after-save-hook, flymake-find-file-hook): Adjust
14208         flymake-log calls.
14210         * test/lisp/progmodes/flymake-tests.el
14211         (flymake-tests--call-with-fixture): Only log errors.
14213 2017-10-03  Philipp Stephani  <phst@google.com>
14215         Work around deprecation of gtk_style_context_get_background_color
14217         * src/gtkutil.c (xg_check_special_colors): Replace call to
14218         gtk_style_context_get_background_color with its definition.
14220 2017-10-03  João Távora  <joaotavora@gmail.com>
14222         New Flymake API variable flymake-diagnostic-functions
14224         Lay groundwork for multiple active backends in the same buffer.
14226         Backends are lisp functions called when flymake-mode sees fit.  They
14227         are responsible for examining the current buffer and telling
14228         flymake.el, via return value, if they can syntax check it.
14229         Backends should return quickly and inexpensively, but they are also
14230         passed a REPORT-FN argument which they may or may not call
14231         asynchronously after performing more expensive work.
14233         REPORT-FN's calling convention stipulates that a backend calls it with
14234         a list of diagnostics as argument, or, alternatively, with a symbol
14235         denoting an exceptional situation, usually some panic resulting from a
14236         misconfigured backend.  In keeping with legacy behavior,
14237         flymake.el's response to a panic is to disable the issuing backend.
14239         The flymake--diag object representing a diagnostic now also keeps
14240         information about its source backend.  Among other uses, this allows
14241         flymake to selectively cleanup overlays based on which backend is
14242         updating its diagnostics.
14244         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn):
14245         New dynamic variable.
14246         (flymake-proc--process): New variable.
14247         (flymake-can-syntax-check-buffer): Remove.
14248         (flymake-proc--process-sentinel): Simplify.  Use
14249         unwind-protect.  Affect flymake-proc--processes here.
14250         Bind flymake-proc--report-fn.
14251         (flymake-proc--process-filter): Bind flymake-proc--report-fn.
14252         (flymake-proc--post-syntax-check): Delete
14253         (flymake-proc-start-syntax-check): Take mandatory
14254         report-fn.  Rewrite.  Bind flymake-proc--report-fn.
14255         (flymake-proc--process-sentinel): Rewrite and simplify.
14256         (flymake-proc--panic): New helper.
14257         (flymake-proc--start-syntax-check-process): Record report-fn
14258         in process.  Use flymake-proc--panic.
14259         (flymake-proc-stop-all-syntax-checks): Use mapc.  Don't affect
14260         flymake-proc--processes here.  Record interruption reason.
14261         (flymake-proc--init-find-buildfile-dir)
14262         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
14263         Use flymake-proc--panic.
14264         (flymake-diagnostic-functions): Add
14265         flymake-proc-start-syntax-check.
14266         (flymake-proc-compile): Call
14267         flymake-proc-stop-all-syntax-checks with a reason.
14269         * lisp/progmodes/flymake.el (flymake-backends): Delete.
14270         (flymake-check-was-interrupted): Delete.
14271         (flymake--diag): Add backend slot.
14272         (flymake-delete-own-overlays): Take optional filter arg.
14273         (flymake-diagnostic-functions): New user-visible variable.
14274         (flymake--running-backends, flymake--disabled-backends): New
14275         buffer-local variables.
14276         (flymake-is-running): Now a function, not a variable.
14277         (flymake-mode-line, flymake-mode-line-e-w)
14278         (flymake-mode-line-status): Delete.
14279         (flymake-lighter):  flymake's minor-mode "lighter".
14280         (flymake-report): Delete.
14281         (flymake--backend): Delete.
14282         (flymake--can-syntax-check-buffer): Delete.
14283         (flymake--handle-report, flymake--disable-backend)
14284         (flymake--run-backend, flymake--run-backend):  New helpers.
14285         (flymake-make-report-fn): Make a lambda.
14286         (flymake--start-syntax-check): Iterate
14287         flymake-diagnostic-functions.
14288         (flymake-mode): Use flymake-lighter.  Simplify.  Initialize
14289         flymake--running-backends and flymake--disabled-backends.
14290         (flymake-find-file-hook): Simplify.
14292         * test/lisp/progmodes/flymake-tests.el
14293         (flymake-tests--call-with-fixture): Use flymake-is-running the
14294         function.  Check if flymake-mode already active before activating it.
14295         Add a thorough test for flymake multiple backends
14297         * lisp/progmodes/flymake.el (flymake--start-syntax-check):
14298         Don't use condition-case-unless-debug, use condition-case
14300         * test/lisp/progmodes/flymake-tests.el
14301         (flymake-tests--assert-set): New helper macro.
14302         (dummy-backends): New test.
14304 2017-10-03  João Távora  <joaotavora@gmail.com>
14306         More Flymake cleanup before advancing to backend redesign
14308         Diagnostics are reported for buffers, not necessarily files.  It’s the
14309         backend’s responsibility to compute the buffer where the diagnostic is
14310         applicable.  For now, this has to match the buffer where flymake-mode
14311         is active and which is at the origin of the backend call.
14313         flymake.el knows nothing about line/column diagnostics (except for
14314         backward-compatible flymake-ler-make-ler, which must yet be tested).
14315         It’s also the backend’s reponsibility to compute a BEG and END
14316         positions for the diagnostic in the relevant buffer.
14318         * lisp/progmodes/flymake-proc.el
14319         (flymake-proc--diagnostics-for-pattern): Convert LINE/COL to
14320         region here.  Check file buffer here.
14321         (flymake-proc--process-sentinel): Don’t kill output buffer if
14322         high enough log level.
14324         * lisp/progmodes/flymake.el (flymake-diag-region): Make this a utility
14325         function.  (flymake--highlight-line): Diagnostic has region now.
14326         (flymake-popup-current-error-menu): Don’t add file and line numbers to
14327         already this silly menu.  (flymake--fix-line-numbers): Remove.
14328         (flymake-report): No need to fix diagnostics here.
14330 2017-10-03  João Távora  <joaotavora@gmail.com>
14332         Protect Flymake's eager checks against commands like fill-paragraph
14334         If flymake-start-syntax-check-on-newline is t, check should start as
14335         soon as a newline is seen by after-change-functions.  But don't rush
14336         it: since the buffer state might not be final, we might end up with
14337         invalid diagnostic regions after some commands silently insert and
14338         delete newlines (looking at you, fill-paragraph).
14340         * lisp/progmodes/flymake.el (flymake-after-change-function): Pass
14341         `deferred' to flymake--start-syntax-check.
14342         (flymake--start-syntax-check): Take optional `deferred' arg.
14344 2017-10-03  João Távora  <joaotavora@gmail.com>
14346         Flymake highlights GCC info/notes as detected by flymake-proc.el
14348         * lisp/progmodes/flymake-proc.el
14349         (flymake-proc--diagnostics-for-pattern): Rewrite (using cl-loop) to
14350         honour more sophisticated flymake-proc-diagnostic-type-pred.
14351         (flymake-warning-re): Is now an obsolete alias for
14352         flymake-proc-diagnostic-type-pred.
14353         (flymake-proc-diagnostic-type-pred): Rename and augment from
14354         flymake-proc-warning-predicate.  (flymake-proc-warning-predicate):
14355         Delete.
14357         * lisp/progmodes/flymake.el (flymake-note): New face.
14358         (flymake-diagnostic-types-alist): Simplify.
14359         (flymake-note): New overlay category.
14360         (flymake--lookup-type-property): Only lookup single keys, not lists.
14361         (flymake--diag-errorp): Rewrite.
14362         (flymake--highlight-line): Use flymake--lookup-type-property.
14364         * test/lisp/progmodes/flymake-tests.el
14365         (different-diagnostic-types): Rename from errors-and-warnings.
14366         Check notes.
14367         (flymake-tests--call-with-fixture): Use
14368         flymake-proc-diagnostic-type-pred.
14370 2017-10-03  João Távora  <joaotavora@gmail.com>
14372         Flymake checks file names before considering diagnostics
14374         The error patterns for gcc picked up errors for the Makefile itself,
14375         for example.  These shouldn't count as actual errors.
14377         * lisp/progmodes/flymake.el (flymake-report): Check
14378         matching file names.
14380 2017-10-03  João Távora  <joaotavora@gmail.com>
14382         Echo Flymake error messages when navigating errors interactively
14384         Perhaps binding M-n and M-p to flymake-goto-next-error and
14385         flymake-goto-prev-error also wouldn't be a bad idea.
14387         * lisp/progmodes/flymake.el (flymake-goto-next-error): Use
14388         target overlay's help-echo.
14390 2017-10-03  João Távora  <joaotavora@gmail.com>
14392         Add a new Flymake test for multiple errors and warnings
14394         * test/lisp/progmodes/flymake-tests.el
14395         (flymake-tests--call-with-fixture): Save excursion.
14396         (errors-and-warnings): New test.
14398         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
14399         New test fixture.
14401 2017-10-03  João Távora  <joaotavora@gmail.com>
14403         Flymake warning face easier to distinguish
14405         A orange wavy underline is very hard to tell from a red wavy
14406         underline.
14408         * lisp/progmodes/flymake.el (flymake-warning): Change color to
14409         "deep sky blue"
14411 2017-10-03  João Távora  <joaotavora@gmail.com>
14413         Flymake's flymake-proc.el parses column numbers from gcc/javac errors
14415         Column numbers are not a great way of marking diagnostic regions, but
14416         that's probably all that can be expected from the flymake-proc.el
14417         backend.  For now, try (end-of-thing 'sexp) to discover the
14418         diagnostic's end position.
14420         * lisp/progmodes/flymake-proc.el ()
14421         (flymake-proc-err-line-patterns): Also parse column numbers,
14422         if available, for gcc/javac warnings.
14424 2017-10-03  João Távora  <joaotavora@gmail.com>
14426         New Flymake variable flymake-diagnostic-types-alist and much cleanup
14428         A new user-visible variable is introduced where different diagnostic
14429         types can be categorized.  Flymake backends can also contribute to
14430         this variable.  Anything that doesn’t match an existing error type
14431         is considered.
14433         The variable’s alists are used to propertize the overlays pertaining
14434         to each error type.  The user can override the built-in properties by
14435         either by modifying the alist, or by modifying the properties of a
14436         special "category" symbol, named by the `flymake-category' entry in
14437         the alist.
14439         The `flymake-category' entry is especially useful for, say, the author
14440         of foo-flymake-backend, who issues diagnostics of type :foo-note, that
14441         should behave like notes, except with no fringe bitmap:
14443            (add-to-list 'flymake-diagnostic-types-alist
14444                         '(:foo-note
14445                           . ((flymake-category . flymake-note)
14446                              (bitmap . nil))))
14448         For essential properties like `severity', `priority', etc, a default
14449         value is produced.  Some properties like `evaporate' cannot be
14450         overriden.
14452         * lisp/progmodes/flymake.el (flymake--diag): Rename from
14453         flymake-ler.
14454         (flymake-ler-make): Obsolete alias for flymake-diagnostic-make
14455         (flymake-ler-errorp): Rewrite using flymake--severity.
14456         (flymake--place-overlay): Delete.
14457         (flymake--overlays): Now a cl-defun with &key args.  Document.
14458         Use `overlays-at' if BEG is non-nil and END is nil.
14459         (flymake--lookup-type-property): New helper.
14460         (flymake--highlight-line): Rewrite.
14461         (flymake-diagnostic-types-alist): New API variable.
14462         (flymake--diag-region)
14463         (flymake--severity, flymake--face)
14464         (flymake--fringe-overlay-spec): New helper.
14465         (flymake-popup-current-error-menu): Use new flymake-overlays.
14466         (flymake-popup-current-error-menu, flymake-report): Use
14467         flymake--diag-errorp.
14468         (flymake--fix-line-numbers): Use flymake--diag-line.
14469         (flymake-goto-next-error): Pass :key to flymake-overlays
14471         * lisp/progmodes/flymake-proc.el
14472         (flymake-proc--diagnostics-for-pattern): Use flymake-diagnostic-make.
14474 2017-10-03  João Távora  <joaotavora@gmail.com>
14476         Refactor Flymake tests in preparation for more tests
14478         Introduce a slightly more generic fixture macro.
14480         Also make flymake-tests.el friendlier to interactive runs, by not
14481         killing buffers visited by the user.
14483         * test/lisp/progmodes/flymake-tests.el
14484         (flymake-tests--call-with-fixture): New helper from
14485         flymake-tests--current-face.  Don't kill file buffers already
14486         being visited before the test starts.
14487         (flymake-tests--with-flymake): New macro.
14488         (flymake-tests--current-face): Delete.
14489         (warning-predicate-rx-gcc, warning-predicate-function-gcc)
14490         (warning-predicate-rx-perl, warning-predicate-function-perl):
14491         Use flymake-test--with-flymake.
14493 2017-10-03  João Távora  <joaotavora@gmail.com>
14495         Allow running Flymake tests from interactive sessions
14497         * test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory):
14498         Expand to reasonable value if no
14499         EMACS_TEST_DIRECTORY. (flymake-tests--current-face): Work around
14500         "weirdness" of bug 17647 with read-event.
14502 2017-10-03  João Távora  <joaotavora@gmail.com>
14504         Flymake diagnostics now apply to arbitrary buffer regions
14506         Make Flymake UI some 150 lines lighter
14508         Strip away much of the original implementation's complexity in
14509         manipulating objects representing diagnostics as well as creating and
14510         navigating overlays.
14512         Lay some groundwork for a more flexible approach that allows for
14513         different classes of diagnostics, not necessarily line-based.
14514         Importantly, one overlay per diagnostic is created, whereas the
14515         original implementation had one per line, and on it it concatenated
14516         the results of errors and warnings.
14518         This means that currently, an error and warning on the same line are
14519         problematic and the warning might be overlooked but this will soon be
14520         fixed by setting appropriate priorities.
14522         Since diagnostics can highlight arbitrary regions, not just lines, the
14523         faces were renamed.
14525         Tests pass and backward compatibility with interactive functions is
14526         maintained, but probably any third-party extension or customization
14527         relying on more than a trivial set of flymake.el internals has stopped
14528         working.
14530         * lisp/progmodes/flymake-proc.el
14531         (flymake-proc--diagnostics-for-pattern): Use new flymake-ler-make
14532         constructor syntax.
14534         * lisp/progmodes/flymake.el (flymake-ins-after)
14535         (flymake-set-at, flymake-er-make-er, flymake-er-get-line)
14536         (flymake-er-get-line-err-info-list, flymake-ler-set-file)
14537         (flymake-ler-set-full-file, flymake-ler-set-line)
14538         (flymake-get-line-err-count, flymake-get-err-count)
14539         (flymake-highlight-err-lines, flymake-overlay-p)
14540         (flymake-make-overlay, flymake-region-has-flymake-overlays)
14541         (flymake-find-err-info)
14542         (flymake-line-err-info-is-less-or-equal)
14543         (flymake-add-line-err-info, flymake-add-err-info)
14544         (flymake-get-first-err-line-no)
14545         (flymake-get-last-err-line-no, flymake-get-next-err-line-no)
14546         (flymake-get-prev-err-line-no, flymake-skip-whitespace)
14547         (flymake-goto-line, flymake-goto-next-error)
14548         (flymake-goto-prev-error, flymake-patch-err-text): Delete
14549         functions no longer used.
14550         (flymake-goto-next-error, flymake-goto-prev-error): Rewrite.
14551         (flymake-report): Rewrite.
14552         (flymake-popup-current-error-menu): Rewrite.
14553         (flymake--highlight-line): Rename from
14554         flymake-highlight-line.  Call `flymake--place-overlay.
14555         (flymake--place-overlay): New function.
14556         (flymake-ler-errorp): New predicate.
14557         (flymake-ler): Simplify.
14558         (flymake-error): Rename from
14559         flymake-errline.
14560         (flymake-warning): Rename from flymake-warnline.
14561         (flymake-warnline, flymake-errline): Obsoletion aliases.
14563         * test/lisp/progmodes/flymake-tests.el (warning-predicate-rx-gcc)
14564         (warning-predicate-function-gcc, warning-predicate-rx-perl)
14565         (warning-predicate-function-perl): Use face `flymake-warning'.
14567 2017-10-03  João Távora  <joaotavora@gmail.com>
14569         Move symbols in flymake-proc.el to separate namespace
14571         Every symbol in this flymake now starts with the prefix flymake-proc-.
14573         Make obsolete aliases for (almost?) every symbol.
14575         Furthermore, many flymake-proc.el symbols are prefixed with
14576         "flymake-proc--", that is they were considered internal.
14578         Some customization variables, interactive functions, and other symbols
14579         considered useful to user customizations or third-party libraries are
14580         considered "public" or "external" and so use a "flymake-proc-" prefix.
14582         * lisp/progmodes/flymake-proc.el: Every symbol renamed.
14584         * test/lisp/progmodes/flymake-tests.el
14585         (flymake-tests--current-face): Use
14586         flymake-proc-warning-predicate, not flymake-warning-predicate.
14588         * lisp/progmodes/flymake-proc.el
14589         (flymake-proc--get-project-include-dirs-function)
14590         (flymake-proc--get-project-include-dirs-imp)
14591         (flymake-proc--get-include-dirs-dot) (flymake-proc--get-tex-args)
14592         (flymake-proc--find-make-buildfile)
14593         (flymake-proc--get-syntax-check-program-args)
14594         (flymake-proc--init-create-temp-source-and-master-buffer-copy)
14595         (flymake-proc--init-find-buildfile-dir)
14596         (flymake-proc--get-full-nonpatched-file-name)
14597         (flymake-proc--get-full-patched-file-name) (flymake-proc--base-dir,
14598         flymake-proc--temp-master-file-name) (flymake-proc--master-file-name)
14599         (flymake-proc--temp-source-file-name)
14600         (flymake-proc--delete-temp-directory) (flymake-proc--kill-process)
14601         (flymake-proc--start-syntax-check-process)
14602         (flymake-proc--compilation-is-running)
14603         (flymake-proc--safe-delete-directory) (flymake-proc--safe-delete-file)
14604         (flymake-proc--get-program-dir) (flymake-proc--restore-formatting)
14605         (flymake-proc--clear-project-include-dirs-cache)
14606         (flymake-proc--project-include-dirs-cache)
14607         (flymake-proc--get-system-include-dirs)
14608         (flymake-proc--get-project-include-dirs)
14609         (flymake-proc--add-project-include-dirs-to-cache)
14610         (flymake-proc--get-project-include-dirs-from-cache)
14611         (flymake-proc--post-syntax-check) (flymake-proc--process-sentinel)
14612         (flymake-proc--process-filter) (flymake-proc--create-master-file)
14613         (flymake-proc--find-buffer-for-file)
14614         (flymake-proc--copy-buffer-to-temp-buffer)
14615         (flymake-proc--read-file-to-temp-buffer)
14616         (flymake-proc--save-buffer-in-file) (flymake-proc--replace-region,
14617         flymake-proc--check-include)
14618         (flymake-proc--check-patch-master-file-buffer)
14619         (flymake-proc--master-file-compare)
14620         (flymake-proc--find-possible-master-files)
14621         (flymake-proc--included-file-name, flymake-proc--same-files)
14622         (flymake-proc--fix-file-name, flymake-proc--find-buildfile)
14623         (flymake-proc--clear-buildfile-cache)
14624         (flymake-proc--add-buildfile-to-cache)
14625         (flymake-proc--get-buildfile-from-cache)
14626         (flymake-proc--find-buildfile-cache)
14627         (flymake-proc--get-real-file-name-function)
14628         (flymake-proc--get-cleanup-function) (flymake-proc--get-init-function)
14629         (flymake-proc--get-file-name-mode-and-masks)
14630         (flymake-proc--processes): Rename to internal symbol from
14631         flymake-proc- version.
14633 2017-10-03  João Távora  <joaotavora@gmail.com>
14635         Completely rewrite Flymake's subprocess output processing
14637         Instead of parsing and matching regexps line-by-line, insert
14638         subprocess output in a separate buffer and parse using
14639         `search-forward-regexp'.  This eventually enables multi-line error
14640         patterns and simplifies code all around.  Store per-check information
14641         in the subprocess using `process-get' and `process-put'.  Treat error
14642         messages, warnings, etc. more generically as "diagnostics".  Create
14643         these objects as soon as possible, reusing existing `flymake-ler'
14644         structure.  Fix some whitespace.
14646         * lisp/progmodes/flymake.el (cl-lib): Require also when
14647         loading.
14648         (flymake--fix-line-numbers): Rename from
14649         flymake-fix-line-numbers.  Simplify.
14650         (flymake-report): Call flymake--fix-line-numbers.  Rearrange
14651         plain diagnostics list into alist format expected by
14652         flymake-highlight-err-lines.
14654         * lisp/progmodes/flymake-proc.el (flymake-process-filter): Insert
14655         process output and parse in dedicated output buffer.
14656         (flymake-proc--diagnostics-for-pattern): New helper function.
14657         (flymake-process-sentinel): Call flymake-post-syntax-check with
14658         collected diagnostics.  Kill output buffer.
14659         (flymake-post-syntax-check): Receive diagnostics as third argument.
14660         (flymake-parse-output-and-residual, flymake-new-err-info)
14661         (flymake-parse-residual, flymake-parse-err-lines)
14662         (flymake-split-output, flymake-proc-parse-line)
14663         (flymake-output-residual): Delete.
14664         (flymake-start-syntax-check-process): Use make-process.  Setup
14665         dedicated an output buffer
14667 2017-10-03  João Távora  <joaotavora@gmail.com>
14669         Flymake provides flymake-report re-entry point for backends
14671         * lisp/progmodes/flymake-proc.el (flymake-post-syntax-check):
14672         Simplify.  Call flymake-report.
14674         * lisp/progmodes/flymake.el (flymake-report): New function.
14676 2017-10-03  João Távora  <joaotavora@gmail.com>
14678         Split Flymake into flymake.el into flymake-proc.el (again!)
14680         After deciding that this work would continue on master only, which
14681         caused two commits named
14683            Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
14685         and
14687            Revert "Add flymake-backends defcustom"
14689         to be added to the emacs-26 branch, further discussion reversed that
14690         decision.
14692            See:
14694              https://lists.gnu.org/r/emacs-devel/2017-09/msg01020.html
14695              https://lists.gnu.org/r/emacs-devel/2017-09/msg01030.html
14697         This means that those two commits MUST be merged to master AFTER ALL.
14699         flymke-proc.el contains the main syntax-checking backend, while
14700         flymake.el keeps mostly the UI part.
14702         * lisp/progmodes/flymake-proc.el: New file.  Require flymake.
14704         * lisp/progmodes/flymake.el: Require flymake-proc.el at the end.
14706 2017-10-03  Nicolas Petton  <nicolas@petton.fr>
14708         Update authors.el
14710         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
14711         (authors-renamed-files-alist): Additions.
14713 2017-10-03  Noam Postavsky  <npostavs@gmail.com>
14715         Give more helpful messages for python completion setup failures
14717         * lisp/progmodes/python.el (python-shell-completion-native-setup): In
14718         case the completion setup failed with some exception, print out the
14719         exception type and message.  If libedit is detected, raise an
14720         exception, since this is known to fail.
14722 2017-10-02  Eli Zaretskii  <eliz@gnu.org>
14724         Fix the --without-x build
14726         * src/frame.c (Ficonify_frame) [HAVE_WINDOW_SYSTEM]: Use
14727         frame_parent only in GUI builds to avoid compilation errors in
14728         --without-x builds.  (Bug#28611)
14730 2017-10-02  Paul Eggert  <eggert@day>
14732         Fix customization of zoneinfo-style-world-list
14734         A customizable variable's initial value cannot depend on that of
14735         another customizable variable, since the variables are initialized
14736         in other than textual order.  Problem reported by N. Jackson
14737         (Bug#24291).
14738         * lisp/time.el (display-time-world-list): Default to t,
14739         a special value that expands to zoneinfo-style-word-list
14740         if that works, and to legacy-style-word-list otherwise.
14741         (time--display-world-list): New function.
14742         (display-time-world, display-time-world-timer): Use it.
14744 2017-10-02  Alan Mackenzie  <acm@muc.de>
14746         Fix a CC Mode brace stack cache bug.
14748         * lisp/progmodes/cc-engine.el (c-update-brace-stack): Call
14749         c-beginning-of-current-token after a failing search operation, to ensure we
14750         don't cache a point inside a token.
14752 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
14754         * etc/PROBLEMS: Document Bug#26638.
14756 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
14758         Prefer HTTPS to HTTP for gnu.org
14760         This fixes some URLs I omitted from my previous pass,
14761         notably those in lists.gnu.org.  Although lists.gnu.org
14762         does not yet support TLS 1.1, TLS 1.0 is better than nothing.
14763         * lisp/erc/erc.el (erc-official-location):
14764         * lisp/mail/emacsbug.el (report-emacs-bug):
14765         Use https:, not http:.
14767 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
14769         Merge from Gnulib
14771         This is mostly to change http: to https: in licenses.
14772         * COPYING, build-aux/config.guess, build-aux/config.sub:
14773         * doc/emacs/doclicense.texi, doc/emacs/gpl.texi:
14774         * doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi:
14775         * doc/lispref/gpl.texi, doc/misc/doclicense.texi:
14776         * doc/misc/gpl.texi, etc/COPYING, leim/COPYING:
14777         * lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING:
14778         * msdos/COPYING, nt/COPYING, src/COPYING:
14779         Copy from Gnulib.
14781 2017-10-01  Simen Heggestøyl  <simenheg@gmail.com>
14783         Keep eww buffer current when looking up CSS on MDN
14785         * lisp/textmodes/css-mode.el (css-lookup-symbol): Keep the eww buffer
14786         current when looking up CSS documentation on MDN.  This fixes a bug
14787         where the eww buffer's content sometimes get mangled when switching
14788         buffers mid-render.
14790 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
14792         Workaround for faulty localtime() under macOS 10.6
14794         * lisp/org/org-clock.el (org-clock--oldest-date): Only execute
14795         'decode-time' on times later than year -2**31 under macOS 10.6.
14796         See Bug#27706.
14798 2017-10-01  Alan Mackenzie  <acm@muc.de>
14800         Doc amendment for syntax-ppss.
14802         * doc/lispref/syntax.texi (Position Parse): Note, twice, that syntax-ppss is
14803         equivalent to parse-partial-sexp from the beginning of THE VISIBLE PART OF the
14804         buffer.  Final part of the fix for bug #22983.
14806 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
14808         Remove incorrect NEWS entry about 'find-library'
14810         * etc/NEWS (Changes in Emacs 26.1): Remove an entry about
14811         'find-library' taking a prefix argument to pop to a different
14812         window.  This behavior was added in "Allow a prefix argument to
14813         find-library to pop to a different window" (commit e1f2d14a), and
14814         then removed in "New commands: find-library-other-window,
14815         find-library-other-frame" (commit 021430f4).
14817 2017-10-01  Alan Mackenzie  <acm@muc.de>
14819         Remove inadvertent changes to syntax.texi in last commit.
14821         * doc/lispref/syntax.texi (Position Parse): revert changes.
14823 2017-10-01  Alan Mackenzie  <acm@muc.de>
14825         Amend documentation for text-quoting-style becoming a user option.
14827         * doc/lispref/control.texi (Signaling Errors):
14828         * doc/lispref/display.texi (Displaying Messages):
14829         * doc/lispref/strings.texi (Formatting Strings):
14830         Edit for brevity, farming out the details to the new
14831         Text Quoting Style node.
14832         * doc/lispref/help.texi (Text Quoting Style): New section.
14833         Move detailed discussion of text-quoting-style here.
14834         Add discussion about how to output grave accent and apostrophe in
14835         documentation and messages.  Adjust xrefs to point to this section
14836         when appropriate.
14837         * etc/NEWS: text-quoting-style semantics have not changed.
14839 2017-10-01  Alan Mackenzie  <acm@muc.de>
14841         Make the value nil in text-quoting-style mean what it does in Emacs 25.
14843         This is a partial reversion of yesterday's commit by the same author, which
14844         changed the meaning of nil and introduced the new value t.
14846         * src/doc.c (text_quoting_style, text-quoting-style)
14847         (internal--text-quoting-flag): Revert yesterday's changes.
14849         * lisp/cus-start.el: (top level): Amend the entry for text-quoting-style.
14851         * etc/NEWS: Amend the entry for text-quoting-style.
14853         * doc/lispref/control.texi (Signalling Errors)
14854         * doc/lispref/display.texi (Displaying Messages)
14855         * doc/lispref/strings.texi (Formatting Strings): Bind text-quoting-style to
14856         grave rather than nil to inhibit translation of quotes.
14858         * doc/lispref/help.texi (Keys in Documentation): Revert the description of the
14859         proposed new default, t.
14861 2017-10-01  Alan Mackenzie  <acm@muc.de>
14863         Make text-quoting-style customizable.  Introduce t and new meaning for nil.
14865         A value of nil for text-quoting-style now means "no translation".  t means
14866         "Use curved quotes if displayable".
14868         * src/doc.c (text-quoting-style (function)): modify for new semantics.
14869         (text-quoting-style (variable)): Amend the doc string, set the default value
14870         to t.
14872         * lisp/cus-start.el: (top level): Create a customize entry for
14873         text-quoting-style in group display.
14875         * etc/NEWS: Amend the entry for text-quoting-style.
14877         * doc/emacs/display.texi (Text Display): Describe the translation of ASCII
14878         quotes to curved quotes, and how to influence or inhibit it.
14880         * doc/lispref/control.texi (Signalling Errors)
14881         * doc/lispref/display.texi (Displaying Messages)
14882         * doc/lispref/strings.texi (Formatting Strings): Describe binding
14883         text-quoting-style to nil to inhibit unwanted quote translation.
14885         * doc/lispref/help.texi (Keys in Documentation): Change text-quoting-style
14886         from a variable to a user option.  Describe its changed set of values.  State
14887         that it can be customized freely.
14889 2017-10-01  Michael Albinus  <michael.albinus@gmx.de>
14891         eshell.texi improvements
14893         * doc/misc/eshell.texi (Built-ins): eshell/sudo is a compiled
14894         Lisp function in `em-tramp.el'.  Mention also $*, $1, $2, ...
14895         (Aliases): Add $*, $1, $2, ... to the variable index.
14897 2017-08-15  Alan Third  <alan@breton-build.holly.idiocy.org>
14899         Fix ns-win.el on GNUstep
14901         * lisp/term/ns-win.el: Appkit version check only works on macOS, so
14902         don't try it when not using Cocoa.
14904 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
14906         Fix reference style in org.texi
14908         * doc/misc/org.texi (A Texinfo example): Fix reference style.
14910 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
14912         Improve handling of iconification of child frames (Bug#28611)
14914         * src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option.
14915         (syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible.
14916         (iconify_child_frame): New option.
14917         * lisp/cus-start.el (iconify-child-frame): Add customization
14918         properties.
14919         * doc/lispref/frames.texi (Child Frames): Describe new option
14920         `iconify-child-frame'.  Don't index "top-level frame" twice.
14922 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
14924         Revert "Don't lose arguments to eshell aliases (Bug#27954)"
14926         It broke the established argument handling methods provided by eshell
14927         aliases (Bug#28568).
14928         * doc/misc/eshell.texi (Aliases): Fix example, call out use of
14929         arguments in aliases.
14930         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Ignore
14931         ARGS.
14933 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
14935         Make "unsafe directory" error message more informative (Bug#865)
14937         * lisp/server.el (server-ensure-safe-dir): Produce a description for
14938         each "unsafe" condition.
14940 2017-10-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
14942         Fix slot typecheck in eieio-persistent
14944         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
14945           An `or' form can specify multiple potential classes (or null) as
14946           valid types for a slot, but previously only the final element of the
14947           `or' was actually checked. Now returns all valid classes in the `or'
14948           form.
14949           (eieio-persistent-validate/fix-slot-value): Check if proposed value
14950           matches any of the valid classes.
14951         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
14952           (eieio-test-multiple-class-slot): Test this behavior.
14954 2017-09-30  Dmitry Gutov  <dgutov@yandex.ru>
14956         Fix semantic-ia-fast-jump
14958         * lisp/cedet/semantic/ia.el (semantic-ia--fast-jump-helper):
14959         Use `pop-to-buffer-same-window' (bug#28645).
14961 2017-09-30  Kaushal Modi  <kaushal.modi@gmail.com>
14963         Bind vc-region-history
14965         * lisp/vc/vc-hooks.el (vc-prefix-map):
14966         Bind `vc-region-history' to 'C-x v h', which was earlier bound to
14967         `vc-insert-headers' (Bug#27644).
14968         * doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
14969         * doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
14970         'C-x v h' with `vc-insert-headers'.
14971         (https://lists.gnu.org/r/emacs-devel/2017-09/msg00957.html)
14973 2017-09-30  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
14975         Exit macro definition on undefined keys
14977         * lisp/subr.el (undefined): Error out of kmacro definition, if any.
14978         (Bug#28008)
14980 2017-09-30  Tim Landscheidt  <tim@tim-landscheidt.de>  (tiny change)
14982         Reset bidi-paragraph-direction on article rendering
14984         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Reset
14985         bidi-paragraph-direction on article rendering.  (Bug#28454)
14987 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
14989         Fix url-http use of url-current-object
14991         * lisp/url/url-http.el (url-http): Bind url-current-object before
14992         calling url-http-find-free-connection.  (Bug#28515)
14994 2017-09-30  Andy Moreton  <andrewjmoreton@gmail.com>
14996         Avoid assertions in vc-hg.el on MS-Windows
14998         * lisp/vc/vc-hg.el (vc-hg--pcre-to-elisp-re)
14999         (vc-hg--slurp-hgignore, vc-hg--read-repo-requirements)
15000         (vc-hg-state-fast): Use file-name-absolute-p and directory-name-p
15001         instead of relying on Unix file-name syntax.  This avoids
15002         assertion violations on MS-Windows.
15004 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
15006         Improve documentation of 'copy-sequence'
15008         * src/fns.c (Fcopy_sequence):
15009         * doc/lispref/sequences.texi (Sequence Functions): Mention the
15010         exception when copying an empty sequence.  (Bug#28627)
15012 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
15014         Minor update of ack.texi
15016         * doc/emacs/ack.texi (Acknowledgments): Update Eli Zaretskii's
15017         contributions.
15019 2017-09-30  N. Jackson  <nljlistbox2@gmail.com>  (tiny change)
15021         * doc/emacs/emacs.texi (Acknowledgments): Add more contributors.
15023 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
15025         Improve indexing of multi-file/buffer Isearch commands
15027         * doc/emacs/maintaining.texi (Identifier Search): Change wording
15028         of index entries to make them different from those for multi-file
15029         isearch commands.  (Bug#28584)
15030         * doc/emacs/search.texi (Other Repeating Search): Index the
15031         multi-* commands.  (Bug#28584)  Rearrange the indexing to keep
15032         each index entry close to its subject.
15034 2017-09-30  Mark Oteiza  <mvoteiza@udel.edu>
15036         Add CAM02 JCh and CAM02-UCS J'a'b' conversions
15038         * src/lcms.c (rad2deg, parse_jch_list, parse_jab_list, xyz_to_jch):
15039         (jch_to_xyz, jch_to_jab, jab_to_jch): New functions.
15040         (lcms-jch->xyz, lcms-jch->xyz, lcms-jch->jab, lcms-jab->jch): New Lisp
15041         functions.
15042         (lcms-cam02-ucs): Refactor.
15043         (syms_of_lcms2): Declare new functions.
15044         * test/src/lcms-tests.el (lcms-roundtrip, lcms-ciecam02-gold):
15045         (lcms-jmh->cam02-ucs-silver): New tests.
15046         * etc/NEWS: Mention new functions.
15048 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
15050         Fix uses of @kindex in the Emacs manual
15052         * doc/emacs/programs.texi (Expressions, Semantic, Hungry Delete):
15053         * doc/emacs/mark.texi (Global Mark Ring)
15054         (Disabled Transient Mark):
15055         * doc/emacs/buffers.texi (Select Buffer):
15056         * doc/emacs/mule.texi (File Name Coding): Fix @kindex entries
15057         which used @key.  Reported by Marcin Borkowski <mbork@mbork.pl>.
15059 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
15061         Merge from gnulib
15063         This incorporates:
15064         2017-09-28 string: code style
15065         2017-09-25 sys_types: update URL
15066         2017-09-23 install-sh: do not assume / = //
15067         2017-09-21 mktime: port to OpenVMS
15068         * build-aux/install-sh, m4/mktime.m4, m4/string_h.m4:
15069         * m4/sys_types_h.m4: Copy from Gnulib.
15070         * lib/gnulib.mk.in: Regenerate.
15072 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
15074         Prefer HTTPS to HTTP for gnu.org
15076         This catches some URLs I missed in my previous scan,
15077         or perhaps were added after the scan.
15079 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
15081         Wait for frame visibility with timeout in w32term too
15083         * src/w32term.c (syms_of_w32term) [x-wait-for-event-timeout]: New
15084         variable.
15085         (x_make_frame_visible): Wait for frame to become visible according to
15086         its value.
15087         (input_signal_count): Remove.
15089 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
15091         Bring back the busy wait after x_make_frame_visible (Bug#25521)
15093         But wait specfically for a MapNotify event, and only for a
15094         configurable amount of time.
15095         * src/xterm.c (syms_of_xterm) [x-wait-for-event-timeout]: New
15096         variable.
15097         (x_wait_for_event): Use it instead of hardcoding the wait to 0.1s.
15098         (x_make_frame_visible): Call x_wait_for_event at the end.
15099         * etc/NEWS: Announce x_wait_for_event.
15101 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
15103         Fix last doc string change in simple.el
15105         * lisp/simple.el (shell-command-saved-pos)
15106         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
15108 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
15110         Revert "bug#28609: simple.el"
15112         This reverts commit a75ab3b3fb8ab69ef38a94403d061f88f3b5b63e.
15114 2017-09-29  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
15116         bug#28609: simple.el
15118         Correct grammar; also, call a pair a pair.
15120         (cherry picked from commit 25ef543a97a80718cc4eb33734d393420a43f41e)
15122 2017-09-29  Rasmus  <rasmus@gmx.us>
15124         Merge branch 'emacs-26' into scratch/org-mode-merge
15126 2017-09-29  Noam Postavsky  <npostavs@gmail.com>
15128         Fix ert backtrace saving for non-`signal'ed errors (Bug#28333)
15130         * lisp/emacs-lisp/ert.el (ert--run-test-debugger): Take the frames
15131         above the `debugger' frame, rather than assuming there will be a
15132         `signal' frame.
15134 2017-09-28  Alan Third  <alan@idiocy.org>
15136         Revert "Fix build on macOS (bug#28571)"
15138         This reverts commit fec63089d53d2196b0348086aeed70277fbc02c0.
15140         Prematurely pushed.
15142 2017-09-28  Alan Third  <alan@idiocy.org>
15144         Fix build on macOS (bug#28571)
15146         * src/conf_post.h (HAVE_FUTIMENS, HAVE_FUTIMESAT, HAVE_UTIMENSAT)
15147         [DARWIN_OS]: Undefine.
15149 2017-09-28  Simen Heggestøyl  <simenheg@gmail.com>
15151         Add tests for `css-current-defun-name'
15153         * test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name)
15154         (css-test-current-defun-name-nested)
15155         (css-test-current-defun-name-complex): New tests for
15156         `css-current-defun-name'.
15158 2017-09-28  Martin Rudalics  <rudalics@gmx.at>
15160         In w32fullscreen_hook don't add decorations to undecorated frames
15162         * src/w32term.c (w32fullscreen_hook): Do not add (or try to
15163         remove) decorations for undecorated frames.
15165 2017-09-28  João Távora  <joaotavora@gmail.com>
15167         Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
15169         In other words, re-coalesce the two files,
15170         lisp/progmodes/flymake-proc.el and lisp/progmodes/flymake-ui.el, back
15171         into a single one, lisp/progmodes/flymake.el.
15173         The changesets "Prefer HTTPS to FTP and HTTP in documentation" and
15174         "allow nil init in flymake-allowed-file-name-masks to disable flymake"
15175         are kept in place in the new lisp/progmodes/flymake.el.
15177         This reverts Git commit eb34f7f5a29e7bf62326ecb6e693f28878be28cd.
15179         Don't merge this back to master as development happening there builds
15180         upon this work. See also
15181         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html.
15183 2017-09-28  João Távora  <joaotavora@gmail.com>
15185         Revert "Add flymake-backends defcustom"
15187         This reverts Git commit 13993c46a21495167517f76d2e36b6c09ac5e89e.
15189         Don't merge this back to master as development happening there builds
15190         upon this work. See also
15191         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html
15193 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
15195         * src/editfns.c (styled_format): Fix typo in previous change.
15197 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
15199         Avoid some unnecessary copying in Fformat etc.
15201         This patch is just for performance; it should not affect behavior.
15202         On my platform, it made the microbenchmark (format "%S" load-path)
15203         run about 45% faster.  It should also speed up calls like (message
15204         "%s" STRING).
15205         * src/callint.c (Fcall_interactively):
15206         * src/dbusbind.c (XD_OBJECT_TO_STRING):
15207         * src/editfns.c (Fmessage, Fmessage_box):
15208         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
15209         Use styled_format instead of Fformat or Fformat_message,
15210         to avoid unnecessary copying.
15211         * src/editfns.c (styled_format): New arg NEW_RESULT.
15212         All uses changed.  Reuse an input string if it has the
15213         right value and if !NEW_RESULT.
15214         * src/lisp.h (style_format): New decl.
15216 2017-09-26  John Wiegley  <johnw@newartisans.com>
15218         lisp/simple.el: Indicate when a list of pairs is meant in a docstring
15220 2017-09-26  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
15222         bug#28609: simple.el
15224         Correct grammar; also, call a pair a pair.
15226 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
15228         Use a separate syntax-ppss cache for narrowed buffers
15230         * lisp/emacs-lisp/syntax.el (syntax-ppss-wide):
15231         New variable, to contain the data from `syntax-ppss-last' and
15232         `syntax-ppss-cache'.
15233         (syntax-ppss-cache, syntax-ppss-last): Remove.
15234         (syntax-ppss-narrow, syntax-ppss-narrow-start): New variables.
15235         (syntax-ppss-flush-cache): Flush both caches.
15236         (syntax-ppss--data): Return the appropriate last result and
15237         buffer cache for the current restriction.
15238         (syntax-ppss, syntax-ppss-debug): Use it (bug#22983).
15240 2017-09-26  Joerg Behrmann  <behrmann@physik.fu-berlin.de>  (tiny change)
15242         Improve python3-compatibility of fallback completion (Bug#28499)
15244         * lisp/progmodes/python.el (python-eldoc-setup-code): Use
15245         inspect.getfullargspec instead of inspect.getargspec to avoid a
15246         deprecation warning on every usage of eldoc in python-mode.
15248 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
15250         Fix subr-x-tests when running from elc
15252         * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-and-let*-test-group-1):
15253         Use `eval' around the `should-error' cases.
15255 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
15257         * lisp/eshell/esh-util.el (eshell-condition-case): Add debug declaration.
15259 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
15261         Make sh-indentation into an alias for sh-basic-offset (Bug#21751)
15263         * lisp/progmodes/sh-script.el (sh-indentation): Redefine as obsolete
15264         variable alias for `sh-basic-offset'.
15265         (sh-mode, sh-smie--indent-continuation)
15266         (sh-smie-rc-rules, sh-basic-indent-line): Replace `sh-indentation'
15267         with `sh-basic-offset'.
15269 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
15271         Fix loading of smie-config rules (Bug#24848)
15273         * lisp/emacs-lisp/smie.el (smie-config--setter): Use `set-default'
15274         instead of `setq-default'.
15275         (smie-config): Use `custom-initialize-set' instead of
15276         `custom-initialize-default' as the :initialize argument.
15278         * lisp/progmodes/sh-script.el (sh-learn-buffer-indent): Mention that
15279         we call `smie-config-guess' so that the user will have a chance to
15280         find the correct docstring to consult.  Remove hedging comments
15281         regarding use of abnormal hooks.
15283 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
15285         Reset default-directory inside *xref-grep* buffer
15287         * lisp/progmodes/xref.el (xref-collect-matches):
15288         Reset default-directory, too. (Bug#28575)
15290 2017-09-25  Michael Albinus  <michael.albinus@gmx.de>
15292         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Special
15293         code for smb.
15295 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
15297         Loosen strict parsing requirement for desktop files
15299         There are other desktop-looking files, for instance those having to do
15300         with MIME typess, that would benefit from being able to be read by this
15301         function.  It helps to have some flexibility.
15302         * lisp/xdg.el (xdg-desktop-read-file): Remove an error condition.
15303         * test/lisp/xdg-tests.el: Remove a test.
15305 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
15307         * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
15309 2017-09-25  Martin Rudalics  <rudalics@gmx.at>
15311         Fix documentation of `make-frame' and related variables and hooks
15313         * lisp/frame.el (before-make-frame-hook)
15314         (after-make-frame-functions, frame-inherited-parameters)
15315         (make-frame): Fix doc-strings.
15316         * doc/lispref/frames.texi (Creating Frames): Fix description
15317         of `make-frame' and related variables and hooks.
15319 2017-09-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
15321         Accept new `always' value for option `buffer-offer-save'
15323         Also revert ee512e9a82
15325         * lisp/files.el (buffer-offer-save): In addition to nil and t, now
15326           allows a third symbol value, `always'. A buffer where this option is
15327           set to `always' will always be offered for save by
15328           `save-some-buffers'.
15329           (save-some-buffers): Check the exact value of this buffer-local
15330           variable. No longer check the buffer name, or the value of
15331           `write-contents-functions'.
15332         * doc/lispref/buffers.texi (Killing Buffers): Note change in manual.
15333         * doc/lispref/files.texi (Saving Buffers): Remove note about buffer
15334           names.
15335         * etc/NEWS: Mention in NEWS.
15337 2017-09-24  Alan Third  <alan@idiocy.org>
15339         Improve new NS scrolling variable names
15341         * src/nsterm.m (ns-use-system-mwheel-acceleration): Replace with
15342         'ns-use-mwheel-acceleration'.
15343         (ns-touchpad-scroll-line-height): Replace with
15344         'ns-mwheel-line-height'.
15345         (ns-touchpad-use-momentum): Replace with 'ns-use-mwheel-momentum'.
15346         * etc/NEWS: Change variable names.
15348 2017-09-24  Philipp Stephani  <phst@google.com>
15350         Document 'replace-buffer-contents' in the manual.
15352         * doc/lispref/text.texi (Replacing): New node.
15354 2017-09-23  Alan Third  <alan@idiocy.org>
15356         Fix undecorated frame resizing issues on NS (bug#28512)
15358         * src/nsterm.m (EmacsView::updateFrameSize): Don't wait for the
15359         toolbar on undecorated frames.
15360         (EmacsView::initFrameFromEmacs): Group window flags correctly.
15362 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
15364         Fix doc string of 'dired-listing-switches'
15366         * lisp/dired.el (dired-listing-switches): Fix the quoting
15367         example.  (Bug#28569)
15369 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
15371         Documentation improvements for 'display-line-numbers'
15373         * doc/emacs/display.texi (Display Custom): Document a few more
15374         options for display-line-numbers.  (Bug#28533)  Fix a typo.
15376 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
15378         Fix last change in bat-mode.el
15380         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fix last
15381         change.  (Bug#28311)
15383 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
15385         Fix restoring in GUI sessions desktop saved in TTY sessions
15387         * lisp/frameset.el (frameset-filter-font-param): New function.
15388         (frameset-persistent-filter-alist): Use it for processing the
15389         'font' frame parameter.  (Bug#17352)
15391 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
15393         Improve syntax highlighting in bat-mode
15395         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Improve
15396         font-locking of environment variables.  Suggested by Achim Gratz
15397         <Stromeko@nexgo.de>.  (Bug#28311)  (Bug#18405)
15399 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
15401         Document the 'list-FOO' convention
15403         * doc/lispref/tips.texi (Coding Conventions): Document the
15404         list-FOO convention.
15406 2017-09-22  Mark Oteiza  <mvoteiza@udel.edu>
15408         Expose viewing conditions in CAM02-UCS metric
15410         Also add tests from the colorspacious library.  Finally, catch an
15411         errant calculation, where degrees were not being converted to radians.
15412         * src/lcms.c (deg2rad, default_viewing_conditions):
15413         (parse_viewing_conditions): New functions.
15414         (lcms-cam02-ucs): Add comments pointing to references used.  Expand
15415         the docstring and explain viewing conditions.  JCh hue is given in
15416         degrees and needs to be converted to radians.
15417         (lcms-d65-xyz): Remove.  No need to duplicate this in Lisp or make the
15418         API needlessly impure.
15419         * test/src/lcms-tests.el: Reword commentary.
15420         (lcms-rgb255->xyz): New function.
15421         (lcms-cri-cam02-ucs): Fix let-binding.
15422         (lcms-dE-cam02-ucs-silver): New test, assimilated from colorspacious.
15424 2017-09-21  Alan Third  <alan@idiocy.org>
15426         Revert "Set frame size to actual requested size (bug#18215)"
15428         This reverts commit d31cd79b40dbd5459b16505a4ee4340210499277.
15430         See bug#28536. I misunderstood bug#18215. It wasn't a bug.
15432 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
15434         Add tests for Edebug
15436         * test/lisp/emacs-lisp/edebug-tests.el: New file.
15437         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el: New file.
15439 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
15441         Catch more messages in ert-with-message-capture
15443         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): Capture
15444         messages from prin1, princ and print.
15445         (ert--make-message-advice): New function.
15446         (ert--make-print-advice): New function.
15448 2017-09-21  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
15450         Support setting region from secondary selection and vice versa
15452         * lisp/mouse.el (secondary-selection-exist-p): New function to
15453         allow callers to tell existence of the secondary selection
15454         in current buffer.
15455         (secondary-selection-to-region): New function to set
15456         beginning and end of the region from those of the secondary
15457         selection.
15458         (secondary-selection-from-region): New function to set
15459         beginning and end of the secondary selection from those of
15460         the region.  (Bug#27530)
15462         * etc/NEWS: Mention the new functions.
15464 2017-09-20  Paul Eggert  <eggert@cs.ucla.edu>
15466         Fix new copy-directory bug with empty dirs
15468         Problem reported by Afdam Plaice (Bug#28520) and by Eli Zaretskii
15469         (Bug#28483#34).  This is another bug that I introduced in my
15470         recent copy-directory changes.
15471         * lisp/files.el (copy-directory): Work with empty subdirectories, too.
15472         * test/lisp/files-tests.el (files-tests--copy-directory):
15473         Test for this bug.
15475 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
15477         * doc/lispref/strings.texi (Formatting Strings): Improve indexing.
15479 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
15481         Fix 2 testsuite tests for MS-Windows
15483         * test/lisp/ibuffer-tests.el (test-buffer-list): Don't try to
15484         create files with "*" in their names.
15485         * test/src/editfns-tests.el (format-time-string-with-zone): Adapt
15486         results to MS-Windows build.  Reported by Fabrice Popineau
15487         <fabrice.popineau@gmail.com>.
15489 2017-09-20  Mark Oteiza  <mvoteiza@udel.edu>
15491         Rename timer-list to list-timers
15493         * doc/emacs/anti.texi (Antinews):
15494         * doc/lispref/os.texi (Timers):
15495         * etc/NEWS:
15496         * lisp/emacs-lisp/timer-list.el:
15497         (timer-list-mode): Rename timer-list to list-timers.
15499 2017-09-19  Alan Third  <alan@idiocy.org>
15501         Provide native touchpad scrolling on macOS
15503         * etc/NEWS: Describe changes.
15504         * lisp/term/ns-win.el (mouse-wheel-scroll-amount,
15505         mouse-wheel-progressive-speed): Set to smarter values for macOS
15506         touchpads.
15507         * src/nsterm.m (emacsView::mouseDown): Use precise scrolling deltas to
15508         calculate scrolling for touchpads and mouse wheels.
15509         (syms_of_nsterm): Add variables 'ns-use-system-mwheel-acceleration',
15510         'ns-touchpad-scroll-line-height' and 'ns-touchpad-use-momentum'.
15511         * src/keyboard.c (make_lispy_event): Pass on .arg when relevant.
15512         * src/termhooks.h (event_kind): Update comments re. WHEEL_EVENT.
15513         * lisp/mwheel.el (mwheel-scroll): Use line count.
15514         * lisp/subr.el (event-line-count): New function.
15516 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
15518         Fix MinGW64 build broken by recent MinGW64 import libraries
15520         * configure.ac (W32_LIBS): Put -lusp10 before -lgdi32, as latest
15521         MinGW64 import libraries require that.  (Bug#28493)
15523         * src/Makefile.in: Adjust commentary to the new order of w32
15524         libraries.
15526 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
15528         Fix crashes in 'move-point-visually' in minibuffer windows
15530         * src/xdisp.c (Fmove_point_visually): Fix off-by-one error in
15531         comparing against the last valid glyph_row of a window glyph
15532         matrix.  (Bug#28505)
15534 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
15536         * src/emacs.c (usage_message): Don't mention 'find-file'.
15538 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
15540         Fix a minor inaccuracy in the Emacs manual
15542         * doc/emacs/cmdargs.texi (Action Arguments): Don't mention
15543         'find-file', as the implementation has changed.  Reported by
15544         Everton J. Carpes <everton.carpes@gmail.com> in
15545         https://lists.gnu.org/r/help-gnu-emacs/2017-09/msg00146.html.
15547 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
15549         Fix errors in flyspell-post-command-hook
15551         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Handle the
15552         case of a nil Nth element of the language dictionary slot.  This
15553         avoids errors in 'flyspell-post-command-hook' when switching
15554         dictionaries with some spell-checkers.  (Bug#28501)
15556 2017-09-19  Michael Albinus  <michael.albinus@gmx.de>
15558         Work on Tramp's file-truename
15560         * lisp/net/tramp-sh.el (tramp-perl-file-truename):
15561         Check also for symlinks.
15562         (tramp-sh-handle-file-truename): Move check for a symlink
15563         cycle to the end.  Do not blame symlinks which look like a
15564         remote file name.
15566         * lisp/net/tramp.el (tramp-handle-file-truename): Expand result.
15568 2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>
15570         Fix bug with make-directory on MS-Windows root
15572         * lisp/files.el (files--ensure-directory): Treat any error, not
15573         just file-already-exists, as an opportunity to check whether DIR
15574         is already a directory (Bug#28508).
15576 2017-09-19  Tom Tromey  <tom@tromey.com>
15578         Fix log-view-diff-common when point is after last entry
15580         Bug#28466
15581         * lisp/vc/log-view.el (log-view-diff-common): If point is after last
15582         entry, look at the previous revision.
15584 2017-09-18  Ken Brown  <kbrown@cornell.edu>
15586         Adapt fileio-tests--symlink-failure to Cygwin
15588         * test/src/fileio-tests.el (fileio-tests--symlink-failure)
15589         [CYGWIN]: Skip the case of a symlink target starting with '\';
15590         this is treated specially on Cygwin.
15592 2017-09-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
15594         Ignore buffers whose name begins with a space in save-some-buffers
15596         * lisp/files.el (save-some-buffers): Consider these buffers
15597           "internal", and don't prompt the user to save them.
15598         * doc/lispref/files.texi: Document.
15600 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
15602         Improve tramp-interrupt-process robustness
15604         * lisp/net/tramp.el (tramp-interrupt-process): Wait, until the
15605         process has disappeared.
15607 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
15609         Minor Tramp doc update
15611         * doc/misc/tramp.texi (Frequently Asked Questions):
15612         Mention `vc-handled-backends'.
15614 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
15616         Fix gensym
15618         * lisp/subr.el (gensym): Actually implement the default prefix.
15619         * test/lisp/subr-tests.el (subr-tests--gensym): New test.
15621 2017-09-18  Rasmus  <rasmus@gmx.us>
15623         Update Org to v9.1.1
15625         Please see etc/ORG-NEWS for major changes.
15627 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
15629         Cleanup in files-tests.el
15631         * test/lisp/files-tests.el (files-tests--make-directory)
15632         (files-tests--copy-directory): Cleanup temporary directories.
15634 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
15636         Remove old cl-assert calls in 'newline'
15638         * lisp/simple.el (newline): Remove cl-assert calls
15639         that didn't seem to be helping us debug Bug#18913,
15640         and that caused problems as reported in Bug#28280.
15641         Suggested by Glenn Morris (Bug#28280#8).
15643 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
15645         Avoid crash with C-g C-g in GC
15647         Problem reported by Richard Stallman (Bug#17406).
15648         Based on fix suggested by Eli Zaretskii (Bug#28279#16).
15649         * src/term.c (tty_send_additional_strings):
15650         Use only safe accessors, to avoid crash when C-g C-g in GC.
15652 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
15654         Fix format-time-string %Z bug with negative tz
15656         * src/editfns.c (tzlookup): Fix sign error in %Z when a purely
15657         numeric zone is negative (Bug#28746).
15658         * test/src/editfns-tests.el (format-time-string-with-zone):
15659         Add test for this bug.
15661 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
15663         message-citation-line-format %Z is now tz name
15665         * etc/NEWS:
15666         * lisp/gnus/message.el (message-citation-line-format):
15667         Fix doc to match new behavior (Bug#28476).
15669 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
15671         Use doc-view or pdf-tools on any window-system
15673         * lisp/net/mailcap.el (mailcap-mime-data): Simply check for
15674         window-system.
15676 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
15678         Fix bug with min and max and NaNs
15680         * src/data.c (minmax_driver): Fix bug with (min 0 NaN), which
15681         mistakenly yielded 0.  Also, pacify GCC in a better way.
15682         * test/src/data-tests.el (data-tests-min): Test for the bug.
15684 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
15686         Fix recently-introduced copy-directory bug
15688         Problem reported by Andrew Christianson (Bug#28451):
15689         * lisp/files.el (copy-directory): If COPY-CONTENTS, make the
15690         destination directory if it does not exist, even if it is a
15691         directory name.  Simplify, and omit unnecessary test for an
15692         already-existing non-directory target, since make-directory
15693         diagnoses that for us now.
15694         * test/lisp/files-tests.el (files-tests--copy-directory):
15695         Test for this bug.
15697 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
15699         Merge from Gnulib
15701         This incorporates:
15702         2017-09-16 manywarnings: port to GCC on 64-bit MS-Windows
15703         2017-09-13 all: Replace many more http URLs by https URLs
15704         * build-aux/config.guess, build-aux/config.sub:
15705         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
15706         * lib/allocator.h, lib/count-leading-zeros.h:
15707         * lib/count-trailing-zeros.h, lib/dup2.c, lib/filevercmp.c:
15708         * lib/fstatat.c, lib/fsync.c, lib/ftoastr.c, lib/ftoastr.h:
15709         * lib/intprops.h, lib/signal.in.h, lib/stdio-impl.h, lib/stdio.in.h:
15710         * lib/unistd.in.h, lib/utimens.c, m4/alloca.m4, m4/extern-inline.m4:
15711         * m4/fstatat.m4, m4/gnulib-common.m4, m4/manywarnings.m4:
15712         * m4/std-gnu11.m4, m4/sys_types_h.m4, m4/vararrays.m4:
15713         Copy from Gnulib.
15714         * lib/gnulib.mk.in: Regenerate.
15716 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
15718         Fix compatibility problem in Tramp
15720         * lisp/net/tramp.el (tramp-interrupt-process): Better error handling.
15722         * lisp/net/tramp-compat.el (default-toplevel-value): Move up.
15723         (top): Do not call `tramp-change-syntax' anymore.
15724         (tramp-compat-directory-name-p): New defalias.
15726         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
15727         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
15728         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
15729         (tramp-smb-handle-copy-file): Use it.
15731         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
15732         Modify test.
15734 2017-09-17  Eli Zaretskii  <eliz@gnu.org>
15736         Avoid GCC 7 compilation warning in eval.c
15738         * src/eval.c (push_handler_nosignal): Use CACHEABLE to work around
15739         GCC compilation warning.  Suggested by Paul Eggert <eggert@cs.ucla.edu>
15740         in https://lists.gnu.org/r/emacs-devel/2017-09/msg00492.html.
15742 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
15744         Adapt Tramp version.  Do not merge
15746         * doc/misc/trampver.texi:
15747         * lisp/net/trampver.el: Change version to "2.3.3.26.1".
15748         (customize-package-emacs-version-alist): Add Tramp version
15749         integrated in Emacs 26.1.
15751 2017-09-17  Tom Tromey  <tom@tromey.com>
15753         Search for Syntax section when viewing MDN
15755         * lisp/textmodes/css-mode.el (css--mdn-after-render): Also search for
15756         "Syntax" section.
15758 2017-09-17  Tom Tromey  <tom@tromey.com>
15760         Allow smerge-keep-current to work for empty hunks
15762         Bug#25555
15763         * lisp/vc/smerge-mode.el (smerge-get-current): Allow point to be at
15764         match-end.
15765         * test/lisp/vc/smerge-mode-tests.el: New file.
15767 2017-09-17  Tom Tromey  <tom@tromey.com>
15769         Call vc-setup-buffer in vc-git-log-{in,out}going
15771         Bug#28427:
15772         * lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing): Call
15773         vc-setup-buffer.
15775 2017-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
15777         Fix last change to textmodes/page-ext.el
15779         * lisp/textmodes/page-ext.el (pages-directory): Make buffer writable
15780         while we build it (bug#28431).
15782 2017-09-16  Glenn Morris  <rgm@gnu.org>
15784         * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcms2 not present.
15786 2017-09-16  Glenn Morris  <rgm@gnu.org>
15788         * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.
15790         (cherry picked from commit 8081df26911c63aadfce4ee8f6a7223d814baeaf)
15792 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
15794         Fix compilation warning in etags.c
15796         * lib-src/etags.c (etags_mktmp) [DOS_NT]: Don't dereference a NULL
15797         pointer.  Reported by Richard Copley <rcopley@gmail.com>.
15799 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
15801         Add lisp variable lcms-d65-xyz
15803         This serves as the default optional argument for functions in this
15804         library.
15805         * src/lcms.c (lcms-d65-xyz): New variable.
15806         (lcms-cam02-ucs): Use it.  Use better word in docstring.  Fix bug
15807         color1 -> color2.
15808         * test/src/lcms-tests.el: Add some tests for lcms-cri-cam02-ucs.
15809         (lcms-colorspacious-d65): New variable.
15811 2017-09-16  Gemini Lasswell  <gazally@runbox.com>
15813         * lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (bug#24765)
15815 2017-09-16  Andy Moreton  <andrewjmoreton@gmail.com>
15817         Avoid MinGW64 compiler warnings in unexw32.c
15819         * src/unexw32.c (pDWP) [MINGW_W64]: Define to "16llx" only for the
15820         64-bit build.
15822 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
15824         Start emacs-26 release branch
15826         * configure.ac:
15827         * nt/README.W32:
15828         * README:
15829         * msdos/sed2v2.inp: Increment Emacs version to 26.0.60.
15831         * lisp/cus-edit.el (customize-changed-options-previous-release):
15832         Update value to "25.3".
15834 2017-09-16  Alan Mackenzie  <acm@muc.de>
15836         Cope better with C++ and Objective-C protection keywords in class declarations
15838         This fix fixes the fontification of a method inside a class at the time it is
15839         typed, when there is a protection keyword clause preceding it.
15841         * lisp/progmodes/cc-engine.el (c-forward-keyword-clause): Handle protection
15842         keywords.
15843         (c-looking-at-decl-block): Avoid scanning forward over protection keyword
15844         clauses too eagerly.
15846         * lisp/progmodes/cc-langs.el (c-protection-key c-post-protection-token): New
15847         lang defconsts and defvars.
15849         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When we encounter a protection
15850         keyword following a semicolon or brace, move forward over it before attempting
15851         to parse a type.
15853 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
15855         Fix order of sorted overlays returned by 'overlays-at'
15857         * src/buffer.c (Foverlays_at): If SORTED is non-nil, reverse the
15858         list of results, to have their order as per the documentation.
15859         (Bug#28390)
15861         * etc/NEWS: Mention the change in the behavior of overlays-at.
15863 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
15865         Disable execution of unsafe Lisp by Enriched Text mode
15867         * src/xdisp.c (handle_display_spec): If the display property is
15868         wrapped in 'disable-eval' form, disable Lisp evaluation while
15869         processing this property.
15870         (handle_single_display_spec): Accept new argument ENABLE_EVAL_P.
15871         If that argument is false, don't evaluate Lisp while processing
15872         display properties.
15874         * lisp/textmodes/enriched.el
15875         (enriched-allow-eval-in-display-props): New defcustom.
15876         (enriched-decode-display-prop): If
15877         enriched-allow-eval-in-display-props is nil, wrap the display
15878         property with 'disable-eval' to disable Lisp evaluation when the
15879         display property is processed for display.  (Bug#28350)
15880         * lisp/gnus/mm-view.el (mm-inline-text): Re-enable processing of
15881         enriched text.
15883         * doc/lispref/display.texi (Display Property): Document the
15884         'disable-eval' wrapping of 'display' properties.
15885         * doc/emacs/text.texi (Enriched Properties): Document
15886         'enriched-allow-eval-in-display-props'.
15888         * etc/NEWS: Describe the security issues with Enriched Text mode
15889         and their solution.
15891 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
15893         Avoid MinGW64 compilation warning in w32.c
15895         * src/w32.c (sys_strerror): Provide a prototype for MinGW64.
15897 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
15899         Fix MS-Windows build broken by recent changes in lcms.c
15901         * src/lcms.c [WINDOWSNT]: Define types for cmsWhitePointFromTemp
15902         and cmsxyY2XYZ function pointers.
15903         (init_lcms_functions) [WINDOWSNT]: Load cmsWhitePointFromTemp and
15904         cmsxyY2XYZ from liblcms2.
15905         (cmsWhitePointFromTemp, cmsxyY2XYZ) [WINDOWSNT]: Redirect to the
15906         corresponding function pointers.
15907         (Flcms_temp_to_white_point): Minor stylistic changes.  Doc fix.
15908         (syms_of_lcms2): Defsubr Slcms_temp_to_white_point.
15910 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
15912         Avoid GCC 7 compilation warning in data.c
15914         * src/data.c (minmax_driver): Use UNINIT to avoid compilation
15915         warnings.  Reported by Fabrice Popineau
15916         <fabrice.popineau@centralesupelec.fr>.
15918 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
15920         Add lcms-temp->white-point and initial tests
15922         * src/lcms.c (lcms-temp->white-point): New function.
15923         * test/src/lcms-tests.el: New file.
15925 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
15927         Use cl-print in timer list
15929         * lisp/emacs-lisp/timer-list.el (timer-list): Use cl-print
15930         for handling functions.
15931         (timer-list-mode): Capitalize major mode name.  Set bidi direction
15932         as in tabulated-list-mode.
15934 2017-09-15  Vincent Belaïche  <vincentb1@users.sourceforge.net>
15936         Make landscape layout with geometry package rather than a PostScript special.
15938         * lisp/calendar/cal-tex.el (cal-tex-preamble): Make 12pt the
15939         default class option.
15940         (cal-tex-year, cal-tex-cursor-month-landscape): Pass landscape
15941         request to `cal-tex-insert-preamble' function call within the
15942         class option string.
15943         (cal-tex-cursor-month): Don't pass any longer "12pt" argument
15944         to `cal-tex-insert-preamble' function, as it is default.
15945         (cal-tex-insert-preamble): Suppress landscape and size
15946         argument, and replace them by a class-options string
15947         argument. Do not insert any longer "\special{landscape}" in
15948         case of landscape layout, as the job is made by the geometry
15949         package.
15951 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
15953         * lisp/json.el (json-read-keyword): Revert previous change to catch EOL.
15955 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
15957         One more attempt to avoid GCC 7 warnings in dispnew.c
15959         * src/dispnew.c (adjust_glyph_matrix): Use eassume instead of
15960         eassert, to avoid compilation warnings about NULL pointer
15961         dereferences.
15963 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
15965         Fix color-distance docstring
15967         Also feed the translated color to the metric argument.
15968         * src/xfaces.c (color-distance): Reword docstring to be more helpful.
15969         Avoid duplicating effort in lcms2 by passing the translated 16 bit RGB
15970         instead of the function's color arguments.
15972 2017-09-15  Michael Albinus  <michael.albinus@gmx.de>
15974         Improve Tramp behavior according to bug#27986
15976         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
15977         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
15978         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
15979         (tramp-smb-handle-copy-file): Check, that NEWNAME is a
15980         directory name when existing.  Use `file-name-as-directory'
15981         where appropriate.
15983 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
15985         More JSON optimization
15987         Last I checked, inlining json-skip-whitespace didn't make much
15988         difference.  However, changing defsubsts to define-inline results
15989         in roughly 15% reduction in read time on a 200K file.
15990         * lisp/json.el (json-advance, json-peek, json-pop):
15991         (json-skip-whitespace): Inline with define-inline.
15992         (json-read-keyword): Don't use whitespace syntax.
15993         (json-add-to-object): Simpler condition.
15995 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
15997         Avoid crashes due to invalid error forms from sentinels/filters
15999         * src/process.c (exec_sentinel_error_handler): Make sure the error
16000         form passed to cmd_error_internal is a cons cell.  (Bug#28430)
16002 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
16004         Avoid compilation warnings with GCC 7 on MS-Windows
16006         * src/w32term.c (w32_setup_relief_color, construct_mouse_click)
16007         (w32_read_socket): Initialize variables to shut up bogus
16008         compilation warnings from GCC 7.
16009         * src/unexw32.c (COPY_CHUNK, COPY_PROC_CHUNK): Cast to DWORD_PTR
16010         to avoid compiler warnings about printing signed values using %x
16011         format spec.
16012         * src/dispnew.c (adjust_glyph_matrix): Add eassert to avoid
16013         compiler warning about possible NULL pointer dereference.
16014         * src/lisp.h (pI): Tweak the definition some more for MinGW64.
16016 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
16018         Define gnutls_rnd for WINDOWSNT and HAVE_GNUTLS3 case only
16020         * src/fns.c (gnutls_rnd): Define for WINDOWSNT and HAVE_GNUTLS3
16021         case only to avoid unused macros warning otherwise.
16023 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
16025         In w32heap.c bump up DUMPED_HEAP_SIZE
16027         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump up DUMPED_HEAP_SIZE
16028         to 13*1024*1024 for 32-bit non-wide-integer builds.
16030 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
16032         Bind n,p in timer-list
16034         * lisp/emacs-lisp/timer-list.el (timer-list-mode-map): Bind n and p
16035         to next- and previous-line, respectively.
16037 2017-09-14  Glenn Morris  <rgm@gnu.org>
16039         * lisp/net/tls.el (tls-program): Fix :version.
16041 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
16043         * configure.ac (--with-lcms2, --without-lcms2): New options.
16045 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
16047         Avoid 64-bit compilation warnings in unexw32.c
16049         * src/unexw32.c (pDWP): New macro.
16050         (COPY_CHUNK, COPY_PROC_CHUNK): Declare 'count' as DWORD_PTR.  Use
16051         pDWP for printing values that can be either 32-bit or 64-bit wide.
16053 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
16055         Fix warnings about formats in printf-like functions on MS-Windows
16057         * src/lisp.h (pI) [__MINGW32__]: Provide definition that will
16058         hopefully DTRT with both MinGW64 and mingw.org's MinGW.  See
16059         https://lists.gnu.org/r/emacs-devel/2017-09/msg00171.html
16060         for the details.
16061         * src/conf_post.h (PRINTF_ARCHETYPE) [MINGW_W64]: Separate
16062         definition specific to MinGW64.
16063         (PRINTF_ARCHETYPE) [__MINGW32__]: For mingw.org's MinGW, use
16064         __mingw_printf__ in ANSI-compatible mode.
16066 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
16068         Support lcms2 in MS-Windows builds
16070         * lisp/term/w32-win.el (dynamic-library-alist): Include
16071         association for the lcms2 library.
16073         * src/lcms.c [WINDOWSNT]: Include windows.h and w32.h.  Use
16074         DEF_DLL_FN to define pointers to dynamically loaded lcms2
16075         functions.
16076         (cmsCIE2000DeltaE, cmsCIECAM02Init, cmsCIECAM02Forward)
16077         (cmsCIECAM02Done): New macros.
16078         (init_lcms_functions, Flcms2_available_p): New functions.
16079         (Flcms_cie_de2000, Flcms_cam02_ucs) [WINDOWSNT]: Call
16080         init_lcms_functions.
16081         (syms_of_lcms2): Defsubr lcms2-available-p.
16082         * src/w32fns.c (syms_of_w32fns): DEFSYM Qlcms2.
16084         * configure.ac: Include lcms2 in the final report and in
16085         emacs_config_features.
16087         * nt/INSTALL:
16088         * nt/INSTALL.W64: Update with the information about lcms2 library.
16090 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
16092         Port renameat_noreplace to openSUSE 12.3
16094         Problem reported by M. Nomiya in:
16095         https://lists.gnu.org/r/emacs-devel/2017-09/msg00363.html
16096         * src/sysdep.c (renameat_noreplace):
16097         Call renameat2 only if CYGWIN.
16099 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
16101         Prefer HTTPS to FTP and HTTP in documentation
16103         Most of this change is to boilerplate commentary such as license URLs.
16104         This change was prompted by ftp://ftp.gnu.org's going-away party,
16105         planned for November.  Change these FTP URLs to https://ftp.gnu.org
16106         instead.  Make similar changes for URLs to other organizations moving
16107         away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
16108         fsf.org when this works, as this will further help defend against
16109         man-in-the-middle attacks (for this part I omitted the MS-DOS and
16110         MS-Windows sources and the test tarballs to keep the workload down).
16111         HTTPS is not fully working to lists.gnu.org so I left those URLs alone
16112         for now.
16114 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
16116         Prefer HTTPS to HTTP for gnu.org
16118         This patch just changes code files; a followup companion patch
16119         (much larger) will affect the commentary.  This part is
16120         separated out to make it easier to review.
16121         * .dir-locals.el (change-log-mode):
16122         * lisp/org/org-info.el (org-info-other-documents)
16123         (org-info-map-html-url):
16124         * lisp/org/ox-html.el (org-html-creator-string):
16125         * lisp/startup.el (fancy-startup-text, fancy-about-text)
16126         (fancy-splash-head):
16127         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
16128         * test/lisp/thingatpt-tests.el (thing-at-point-test-data):
16129         Use HTTPS instead of HTTP.
16131 2017-09-13  Simen Heggestøyl  <simenheg@gmail.com>
16133         Add tests for color.el
16135         * lisp/color.el (color-name-to-rgb, color-complement): Clarify in
16136         docstrings that RGB triplets should use four digits per component.
16137         (color-rgb-to-hsl): Break line to avoid "Hidden behind deeper element"
16138         warning.
16140         * test/lisp/color-tests.el: New file.
16142 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
16144         Make gnutls-verify-error work again with url-retrieve-synchronously
16146         * lisp/url/url-gw.el (url-open-stream): Only use :nowait if
16147         we're doing async connections (bug#26835).
16149         * lisp/url/url-parse.el (url): Add an asynchronous slot.
16151         * lisp/url/url.el (url-asynchronous): New variable.
16152         (url-retrieve-internal): Store the value.
16153         (url-retrieve-synchronously): Bind the variable.
16155 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
16157         Improve backward compatibility of tramp-tests
16159         * test/lisp/net/tramp-tests.el (seq): Don't require.
16160         (tramp--test-emacs26-p): New defun.
16161         (tramp-test10-write-region, tramp-test11-copy-file)
16162         (tramp-test12-rename-file, tramp-test15-copy-directory)
16163         (tramp-test21-file-links): Use it.
16164         (tramp-test16-file-expand-wildcards): Use `copy-sequence'.
16166 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
16168         * lisp/net/trampver.el (customize-package-emacs-version-alist):
16170         Add Tramp version integrated in Emacs 25.3.
16172 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
16174         Add clarification to if-let* docstring
16176         Also make its behavior consistent with and-let* in that empty bindings
16177         results in success, not failure.
16178         * lisp/emacs-lisp/subr-x.el: Edit docstring, change else to then.
16180 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
16182         Make fully qualified domain names more fully qualified
16184         * lisp/gnus/message.el (message-make-fqdn): Don't try to use a
16185         system-name without any periods as a fully qualified domain name.
16187 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
16189         Remove unused file lib/getopt_.h
16191         * lib/getopt_.h: Remove.  It was renamed to lib/getopt.in.h etc.
16192         on 2011-01-08, but I forgot to remove the old file.
16194 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
16196         Remove "baroque" use of prefix argument from gensym
16198         'cl-gensym' was simply moved here, but let us take an opportunity to
16199         shed some historical baggage.
16200         * lisp/subr.el (gensym): Remove special treatment of PREFIX as a
16201         number.  Use "g" as prefix to differentiate from cl-gensym defaults.
16202         * doc/lispref/symbols.texi (Creating Symbols): Update accordingly.
16203         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter, cl-gensym): Restore.
16205 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
16207         Provide an lcms2 feature
16209         * src/lcms.c (syms_of_lcms2): Provide "lcms2".
16211 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
16213         Add lcms2 interface
16215         configure.ac: Add boilerplate for configuring and detecting liblcms2.
16216         etc/NEWS: Mention new configure option and color-distance change.
16217         src/Makefile.in: Add references to lcms.c and liblcms.
16218         src/emacs.c: Define lcms2 symbols.
16219         src/lcms.c: New file.
16220         src/lisp.h: Add declaration for lcms2.
16221         src/xfaces.c: Add optional METRIC argument.
16223 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
16225         Add other D series white points and some simple conversions
16227         * lisp/color.el (color-d75-xyz, color-d55-xyz, color-d50-xyz): New
16228         constants.
16229         (color-xyz-to-xyy, color-xyy-to-xyz, color-lab-to-lch):
16230         (color-lch-to-lab): New functions.
16232 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
16234         Permit non-integral color gradients
16236         * lisp/color.el (color-gradient): Float the step-number.
16238 2017-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
16240         Protect against malformed MIME messages that cause inf-loop (bugfix)
16242         * lisp/gnus/gnus-art.el (gnus-article-mime-handles):
16243         Protect against malformed MIME messages that cause inf-loop.
16245 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
16247         Merge from Gnulib
16249         This incorporates:
16250         2017-09-13 all: prefer https: URLs
16251         This just changes http: to https: in comments,
16252         in files copied from Gnulib.
16254 2017-09-13  Dmitry Gutov  <dgutov@yandex.ru>
16256         Call vc-resynch-buffer in vc-git-resolve-when-done
16258         * lisp/vc/vc-git.el (vc-git-resolve-when-done):
16259         Call vc-resynch-buffer on the current file (bug#28121).
16260         Move its autoload to before this function.
16262 2017-09-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
16264         Allow write-contents-functions to short-circuit buffer save
16266         Bug#28412
16268         * lisp/files.el (basic-save-buffer): Re-arrange function so that
16269           write-contents-functions are run earlier. If they return non-nil,
16270           consider the buffer saved without requiring the buffer to be
16271           visiting a file.
16272           (save-some-buffers): This function should consider any buffer with a
16273           buffer-local value for write-contents-functions eligible for
16274           saving.
16275         * test/lisp/files-tests.el (files-test-no-file-write-contents): New
16276           test.
16277         * doc/lispref/files.texi (Saving Buffers): Mention in docs.
16278         * etc/NEWS: And in NEWS.
16280 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
16282         * etc/NEWS.25: Copy from emacs-25 etc/NEWS.
16284 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
16286         Less chatter for ’make info/dir’
16288         * Makefile.in (${srcdir}/info/dir): Tweak shell command so
16289         that an ordinary make says just "GEN info/dir" rather than
16290         also having a seemingly-unrelated mv line.
16292 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
16294         Tweak Gnus doc re gnus-copy-file
16296         * doc/misc/gnus.texi (Saving Articles):
16297         Document behavior with directory name targets (Bug#27986).
16298         Problem reported by Katsumi Yamaoka in:
16299         https://lists.gnu.org/r/emacs-devel/2017-09/msg00216.html
16301 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
16303         Update uses of if-let and when-let
16305         * lisp/dom.el (dom-previous-sibling):
16306         * lisp/emacs-lisp/package.el (package--with-work-buffer):
16307         (package--sort-deps-in-alist, package--sort-by-dependence):
16308         (package-install-from-archive, package-install):
16309         (package-menu-execute, package-menu--populate-new-package-list):
16310         * lisp/filenotify.el (file-notify--rm-descriptor):
16311         (file-notify--event-watched-file, file-notify--event-file-name):
16312         (file-notify--event-file1-name, file-notify-rm-watch):
16313         (file-notify-valid-p):
16314         * lisp/gnus/message.el (message-toggle-image-thumbnails):
16315         * lisp/gnus/nnimap.el (nnimap-request-move-article):
16316         * lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
16317         * lisp/mpc.el (mpc-format):
16318         * lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
16319         (eww-save-history):
16320         * lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
16321         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
16322         * lisp/svg.el (svg-remove):
16323         * lisp/textmodes/css-mode.el (css--named-color):
16324         (css--colon-inside-funcall):
16325         * lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
16326         (html-current-buffer-ids): Use if-let* and when-let* instead.
16328 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
16330         Implement and-let*
16332         This also includes changes to if-let and when-let.  The single tuple
16333         special case is ambiguous, and binding a symbol to nil is not as
16334         useful as binding it to its value outside the lexical scope of the
16335         binding.  (Bug#28254)
16336         * etc/NEWS: Mention.
16337         * lisp/emacs-lisp/subr-x.el (internal--listify):
16338         (internal--build-binding-value-form): Extend to account for
16339         solitary symbols and (EXPR) items in binding varlist.
16340         (if-let*, when-let*): Nix single tuple case and incumbent
16341         bind-symbol-to-nil behavior.
16342         (and-let*): New macro.
16343         (if-let, when-let): Mark obsolete.  Redefine in terms of if-let*, so
16344         they implicitly gain the new features without breaking existing code.
16345         * test/lisp/emacs-lisp/subr-x-tests.el: Adjust tests for: lack of
16346         single-tuple special case, lack of binding solitary symbols to nil,
16347         and the introduction of uninterned symbols for (EXPR) bindings.  Add
16348         SRFI-2 test suite adapted to Elisp.
16350 2017-09-12  Eli Zaretskii  <eliz@gnu.org>
16352         Fix minor typos in the Emacs manual
16354         * doc/emacs/text.texi (Org Organizer):
16355         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of Org nodes.
16357 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
16359         Merge Emacs 25.3 fixes
16361         The security patches released for Emacs 25.3 were less drastic
16362         than what we had immediately put into master.  Adjust master to
16363         match 25.3 (Bug#28350).
16364         * lisp/textmodes/enriched.el (enriched-translations):
16365         Re-enable FUNCTION and display translations that are safe.
16366         (enriched-handle-display-prop): Bring back.
16367         (enriched-decode-display-prop): Bring back, but disable
16368         the unsafe part.
16370 2017-09-12  Alan Mackenzie  <acm@muc.de>
16372         Don't match C++ template delims starting within a token.  FIxes bug #28418.
16374         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): After failing an
16375         attempted match from the start of a token (in particular, "<<"), move to the
16376         next token rather than the nex character before searching for the next "<".
16378 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
16380         Move gensym to core Elisp
16382         * doc/lispref/symbols.texi (Creating Symbols): Mention gensym right
16383         after make-symbol.
16384         * etc/NEWS: Mention.
16385         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Alias to
16386         gensym-counter.
16387         (cl-gensym): Alias to gensym.
16388         * lisp/emacs-lisp/cl.el: Remove gensym from list of aliases.
16389         * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper):
16390         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture):
16391         (ert--expand-should-1, ert--expand-should):
16392         (ert--should-error-handle-error):
16393         * lisp/emacs-lisp/generator.el (cps--gensym):
16394         * lisp/emacs-lisp/gv.el (setf):
16395         * lisp/emacs-lisp/inline.el (inline--do-letlisteval):
16396         * lisp/emacs-lisp/pcase.el (pcase--make-docstring, pcase-dolist):
16397         (pcase--funcall, pcase--u1): Use gensym.
16398         * lisp/subr.el (gensym-counter): New variable.
16399         (gensym): New function, assimilated from cl-lib.
16401 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
16403         Fix cl-gentemp
16405         * lisp/emacs-lisp/cl-macs.el (cl--gentemp-counter): New variable.
16406         (cl-gentemp): Use it.  Change prefix to "T".
16408 2017-09-12  Sam Steingold  <sds@gnu.org>
16410         gnus-score-file-name: Do not append empty suffix.
16412 2017-09-12  Michael Albinus  <michael.albinus@gmx.de>
16414         Extend tramp-tests according to bug#27986
16416         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
16417         (tramp-test12-rename-file, tramp-test15-copy-directory)
16418         (tramp-test21-file-links): Extend tests.
16419         (tramp-test13-make-directory, tramp-test14-delete-directory):
16420         Specifiy error symbol in `should-error'.
16422 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
16424         Add cl-print method for hash tables
16426         * lisp/emacs-lisp/cl-print.el (cl-print-object): New method.
16428 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
16430         Add docstrings to cl-print entry points
16432         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): Fix docstring.
16433         (cl-prin1, cl-prin1-to-string): Add docstrings.
16435 2017-09-12  Glenn Morris  <rgm@gnu.org>
16437         Improve reproducibility of generated leim-list.el
16439         * lisp/international/quail.el (quail-update-leim-list-file):
16440         Sort the quail directory listing, for more stable output.
16442 2017-09-11  Mark Oteiza  <mvoteiza@udel.edu>
16444         Include sxhash of object with printed bytecode
16446         This printing, while succint, is rather opaque.  At least give an
16447         immediate clue of whether different byte code printouts are for the
16448         same or different byte code objects.
16449         * lisp/emacs-lisp/cl-print.el (cl-print-object): Add object sxhash to
16450         printed token "#<bytecode>".
16452 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
16454         Update documentation of 'max-lisp-eval-depth'
16456         * doc/lispref/eval.texi (Eval): Update the documented default
16457         value of 'max-lisp-eval-depth'.
16459 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
16461         Another place to produce debugging output in etags
16463         * lib-src/etags.c (Ruby_functions): One more place to print
16464         debugging output under --debug.
16466 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
16468         Improve documentation of etags-related features
16470         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
16471         'xref-prompt-for-identifier'.  (Bug#28403)
16472         (Etags Regexps): Document \D back references in etags regexps.
16474 2017-09-11  Alan Third  <alan@idiocy.org>
16476         Fix macOS compatibility versions for vibrant dark theme (bug#28415)
16478         * src/nsterm.m (ns_set_appearance, EmacsView::initFrameFromEmacs):
16479         Change macOS compatibility from 10.9 to 10.10.
16481 2017-09-11  Michael Albinus  <michael.albinus@gmx.de>
16483         Further optimization in Tramp's file name decomposition
16485         * lisp/net/tramp.el (tramp-syntax): Recompute all file name
16486         components.  Call `custom-set-variables' after loading.
16487         (tramp-build-prefix-format, tramp-build-prefix-regexp)
16488         (tramp-build-method-regexp)
16489         (tramp-build-postfix-method-format)
16490         (tramp-build-postfix-method-regexp)
16491         (tramp-build-prefix-ipv6-format)
16492         (tramp-build-prefix-ipv6-regexp)
16493         (tramp-build-postfix-ipv6-format)
16494         (tramp-build-postfix-ipv6-regexp)
16495         (tramp-build-postfix-host-format)
16496         (tramp-build-postfix-host-regexp)
16497         (tramp-build-file-name-regexp)
16498         (tramp-build-completion-file-name-regexp): New defuns.
16499         (tramp-prefix-format, tramp-prefix-regexp)
16500         (tramp-method-regexp, tramp-postfix-method-format)
16501         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
16502         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
16503         (tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
16504         (tramp-postfix-host-regexp)
16505         (tramp-remote-file-name-spec-regexp)
16506         (tramp-file-name-structure, tramp-file-name-regexp)
16507         (tramp-completion-file-name-regexp): Convert defuns into defvars.
16508         (tramp-prefix-regexp-alist)
16509         (tramp-postfix-method-regexp-alist)
16510         (tramp-prefix-ipv6-regexp-alist)
16511         (tramp-postfix-ipv6-regexp-alist)
16512         (tramp-postfix-host-regexp-alist)
16513         (tramp-remote-file-name-spec-regexp-alist): Remove.
16514         (tramp-build-remote-file-name-spec-regexp)
16515         (tramp-build-file-name-structure): Simplify.
16516         (tramp-completion-file-name-regexp-alist): New defconst.
16517         (tramp-tramp-file-p, tramp-dissect-file-name)
16518         (tramp-make-tramp-file-name)
16519         (tramp-completion-make-tramp-file-name)
16520         (tramp-rfn-eshadow-update-overlay-regexp)
16521         (tramp-register-file-name-handlers)
16522         (tramp-completion-handle-file-name-all-completions)
16523         (tramp-completion-dissect-file-name, tramp-clear-passwd):
16524         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
16525         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
16526         (tramp-compute-multi-hops): Use variables but functions for
16527         file name components.
16529         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
16530         Use variables but functions for file name components.
16532 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
16534         Port tramp-tests to new copy-directory behavior
16536         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
16537         Use directory name as arg for copy-directory when we want
16538         the special behavior.
16540 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
16542         Adjust thumbs to new rename-file behavior
16544         * etc/NEWS: Mention this.
16545         * lisp/thumbs.el (thumbs-rename-images): Treat the destination
16546         as special only if it is a directory name.  When there is
16547         a marked list, turn the destination into a directory name
16548         if it is not already.
16550 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
16552         Adjust ob-tangle to new copy-file behavior
16554         * lisp/org/ob-tangle.el (org-babel-tangle-publish):
16555         Port to new copy-file behavior.
16557 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
16559         Make gnus-copy-file act like copy-file etc.
16561         * etc/NEWS: Mention this.
16562         * lisp/gnus/gnus-util.el (gnus-copy-file): Treat the destination
16563         as special only if it is a directory name.
16565 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
16567         Make write-file act like copy-file etc.
16569         Change write-file to be consistent with the new behavior
16570         of copy-file, etc.
16571         * etc/NEWS: Mention this.
16572         * lisp/files.el (write-file): Treat the destination as special
16573         only if it is a directory name.
16575 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
16577         Make copy-directory act like copy-file etc.
16579         Do the special dance with the destination only if it is a
16580         directory name, for consistency with copy-file etc. (Bug#27986).
16581         * doc/emacs/files.texi (Copying and Naming):
16582         * doc/lispref/files.texi (Create/Delete Dirs):
16583         * etc/NEWS: Document this.
16584         * lisp/files.el (copy-directory): Treat NEWNAME as special
16585         only if it is a directory name.
16587 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
16589         Fix some make-directory bugs
16591         * lisp/files.el (files--ensure-directory): New function.
16592         (make-directory): Use it to avoid bugs when (make-directory FOO t)
16593         is invoked on a non-directory, or on a directory hierarchy that
16594         is being built by some other process while Emacs is running.
16595         * test/lisp/files-tests.el (files-tests--make-directory): New test.
16597 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
16599         Fix race with rename-file etc. with dir NEWNAME
16601         This changes the behavior of rename-file etc. slightly.
16602         The old behavior mostly disagreed with the documentation, and had
16603         a race condition bug that could allow attackers to modify victims'
16604         write-protected directories (Bug#27986).
16605         * doc/lispref/files.texi (Changing Files): Document that in
16606         rename-file etc., NEWFILE is special if it is a directory name.
16607         * etc/NEWS: Document the change in behavior.
16608         * src/fileio.c (directory_like): Remove.  All uses removed.
16609         (expand_cp_target): Test only whether NEWNAME is a directory name,
16610         not whether it is currently a directory.  This avoids a race.
16611         (Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
16612         Document behavior if NEWNAME is a directory name.
16613         (Frename_file): Simplify now that the destdir behavior occurs
16614         only when NEWNAME is a directory name.
16615         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
16616         (tramp-test12-rename-file, tramp--test-check-files):
16617         Adjust tests to match new behavior.
16619 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
16621         Extend --debug printouts in etags
16623         * lib-src/etags.c (regex_tag_multiline, readline): Under
16624         "--debug", print tags found via regexps.
16626 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
16628         Add --debug option to etags
16630         * lib-src/etags.c (make_tag): Print found tags under --debug.
16631         (longopts): Add --debug.
16633 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
16635         Spelling fixes
16637         * lisp/progmodes/cc-langs.el:
16638         (c-ambiguous-overloadable-or-identifier-prefixes): Rename from
16639         c-ambiguous-overloadable-or-identifier-prefices.  Caller changed.
16641 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
16643         Merge from gnulib
16645         This incorporates:
16646         2017-09-08 stddef: Avoid conflict with system-defined max_align_t
16647         2017-08-24 warnings: fix compilation with old autoconf
16648         2017-08-23 glob: merge from glibc with Zanella glob changes
16649         2017-08-17 random: Fix test compilation failure on Cygwin 1.5.25
16650         * doc/misc/texinfo.tex, lib/flexmember.h, lib/stddef.in.h:
16651         * lib/stdlib.in.h, m4/manywarnings.m4, m4/stdlib_h.m4:
16652         * m4/warnings.m4:
16653         Copy from Gnulib.
16654         * lib/gnulib.mk.in: Regenerate.
16656 2017-09-10  Ken Brown  <kbrown@cornell.edu>
16658         Implement renameat_noreplace on recent Cygwin
16660         * src/sysdep.c [CYGWIN]: Include cygwin/fs.h.
16661         (renameat_noreplace) [RENAME_NOREPLACE]: Use renameat2.
16662         (Bug#27986)
16664 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
16666         Avoid warnings about file names in autoloads on MS-Windows
16668         * configure.ac (srcdir) [mingw32]: Downcase the drive letter, to
16669         avoid warnings from find-file-noselect when making autoloads.  For
16670         the details, see
16671         https://lists.gnu.org/r/emacs-devel/2017-09/msg00049.html.
16673 2017-09-10  Mark Oteiza  <mvoteiza@udel.edu>
16675         Avoid looking at localized strings
16677         * lisp/xdg.el (xdg-desktop-read-group): Add condition to catch
16678         localized strings.
16679         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure
16680         parsing l10n strings doesn't error but is essentially a no-op.
16682 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
16684         * etc/NEWS.25: Document 25.3 changes.
16686 2017-09-10  Lars Ingebrigtsen  <larsi@gnus.org>
16688         Remove unsafe enriched mode translations
16690         * lisp/gnus/mm-view.el (mm-inline-text):
16691         Do not worry about enriched or richtext type.
16692         * lisp/textmodes/enriched.el (enriched-translations):
16693         Remove translations for FUNCTION, display (Bug#28350).
16694         (enriched-handle-display-prop, enriched-decode-display-prop): Remove.
16696 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
16698         Be more consistent about "directory name" in manual
16700         This clarifies the documentation, partly in response to the
16701         discussion in Bug#27986.
16703 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
16705         Remove more compilation warnings in MinGW64 build
16707         * src/w32.c (faccessat, map_w32_filename):
16708         * src/w32fns.c (w32_wnd_proc):
16709         * src/w32term.c (w32_horizontal_scroll_bar_handle_click)
16710         (w32_scroll_bar_handle_click): Use FALLTHROUGH to avoid compiler
16711         warnings with GCC 7 and later.
16713 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
16715         Improve --enable-gcc-warnings for MinGW64
16717         This partially reverts my 2016-05-30 patch.  Apparently MinGW64
16718         still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26)
16719         does not.  Also, pacify tparam.c, which isn’t used on Fedora.
16720         * lib-src/etags.c (process_file_name, TeX_commands):
16721         * src/buffer.c (fix_overlays_before):
16722         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
16723         (cons_to_signed):
16724         * src/editfns.c (Ftranslate_region_internal):
16725         Prefer UNINIT to some stray value, as this simplifies
16726         code-reading later.
16727         * src/eval.c (CACHEABLE): New macro.
16728         (internal_lisp_condition_case): Use it.
16729         * src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
16731 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
16733         Fix font-lock in Compilation mode
16735         * lisp/progmodes/compile.el (compilation-face): Restore function
16736         lost during recent changes.  (Bug#28349)
16738 2017-09-09  Mark Oteiza  <mvoteiza@udel.edu>
16740         Add function to read all entries in a group
16742         Use that to extend xdg-desktop-read-file.  Also fix a bug where all
16743         entries in all groups were read and returned by xdg-desktop-read-file.
16744         * lisp/xdg.el (xdg-desktop-read-group): New function.
16745         (xdg-desktop-read-file): Use it.
16746         * test/data/xdg/malformed.desktop: New file.
16747         * test/data/xdg/test.desktop: Add another section.
16748         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Test presence of a key
16749         in another group.  Test reading a prescribed group.  Test detecting a
16750         malformed key=value.
16752 2017-09-09  Gemini Lasswell  <gazally@runbox.com>
16754         Reduce Tramp's memory usage
16756         Construct Tramp syntax strings and regular expressions once instead
16757         of every time they are used, and store them in alists keyed by Tramp
16758         syntax.
16759         * lisp/net/tramp.el (tramp-build-remote-file-name-spec-regexp)
16760         (tramp-build-file-name-structure): New functions.
16761         (tramp-prefix-format-alist, tramp-prefix-regexp-alist)
16762         (tramp-method-regexp-alist)
16763         (tramp-postfix-method-format-alist)
16764         (tramp-postfix-method-regexp-alist)
16765         (tramp-prefix-ipv6-format-alist, tramp-prefix-ipv6-regexp-alist)
16766         (tramp-postfix-ipv6-format-alist)
16767         (tramp-postfix-ipv6-regexp-alist)
16768         (tramp-postfix-host-format-alist)
16769         (tramp-postfix-host-regexp-alist)
16770         (tramp-remote-file-name-spec-regexp-alist)
16771         (tramp-file-name-structure-alist): New constants.
16772         (tramp-lookup-syntax): New function.
16773         (tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
16774         (tramp-postfix-method-format, tramp-postfix-method-regexp)
16775         (tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
16776         (tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
16777         (tramp-postfix-host-format, tramp-postfix-host-regexp)
16778         (tramp-remote-file-name-spec-regexp, tramp-file-name-structure):
16779         Use it.
16781 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
16783         Fix compilation warnings in MinGW64 build using GCC 7
16785         Reported by Richard Copley <rcopley@gmail.com>.
16786         * src/w32heap.c (init_heap): Declare enable_lfh only for
16787         mingw.org's MinGW build.
16789         * src/w32console.c (w32con_write_glyphs):
16790         * src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some
16791         mismatches of data type vs format spec.
16793         * src/w32fns.c (compute_tip_xy):
16794         * src/w32proc.c (stop_timer_thread):
16795         * src/w32notify.c (remove_watch):
16796         * src/eval.c (internal_lisp_condition_case):
16797         * src/editfns.c (Ftranslate_region_internal):
16798         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
16799         (cons_to_signed):
16800         * src/buffer.c (fix_overlays_before): Initialize variables to
16801         avoid compiler warnings.
16803         * lib-src/etags.c (TeX_commands, process_file_name): Initialize
16804         variables to avoid compilation warnings.
16806 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
16808         Avoid infloop when scrolling under scroll-preserve-screen-position
16810         * src/window.c (window_scroll_pixel_based): If screen position is
16811         to be preserved, make sure its recorded Y coordinate is outside
16812         the scroll margin.  (Bug#28342)
16814 2017-09-09  Michael Albinus  <michael.albinus@gmx.de>
16816         Clarification in tramp-texi
16818         * doc/misc/tramp.texi (Connection caching): Two connections are
16819         regarded as different now when they differ in the port number only.
16821 2017-09-09  Miles Bader  <miles@gnu.org>
16823         * admin/quick-install-emacs: Tweak configure.ac parsing
16825 2017-09-09  Miles Bader  <miles@gnu.org>
16827         Use text-property buttons in rcirc-markup-urls
16829         * lisp/net/rcirc.el (rcirc-markup-urls): Use `make-text-button'
16830         instead of `make-button'; the former is much more efficient in large
16831         buffers, and for the purposes of rcirc, changes no functionality.
16833 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
16835         Fix line-pixel-height for lines of variable height
16837         * src/xdisp.c (Fline_pixel_height): Start moving from the
16838         beginning of the screen line, to capture the full metrics of the
16839         line.  (Bug#28391)
16841 2017-09-08  Alex Branham  <branham@utexas.edu>  (tiny change)
16843         New variable 'dired-confirm-killing-deleted-buffers'
16845         * lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers):
16846         New variable.
16847         * lisp/dired.el (dired-clean-up-after-deletion): Kill buffers
16848         visiting deleted files without confirming if
16849         dired-clean-confirm-killing-deleted-buffers is nil.  (Bug#28373)
16850         * etc/NEWS: Document the change.
16852 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
16854         Support SVN files with svn:externals property
16856         * lisp/vc/vc-svn.el (vc-svn-parse-status): Don't ignore files
16857         marked with the svn:externals property.
16859 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
16861         List locally removed files in vc-dir with SVN back-end
16863         * lisp/vc/vc-svn.el (vc-svn-after-dir-status): List files marked
16864         with ?! as needs-update.
16866 2017-09-08  Ken Olum  <kdo@cosmos.phy.tufts.edu>
16868         Fix Rmail editing with reapplying encoding to message body
16870         * lisp/mail/rmailedit.el (rmail-cease-edit):  If no
16871         content-type in edited headers, look for one in original
16872         headers and add it to edited headers.  (Bug #26918)
16873         Use a marker to track start of new body, so that
16874         content-transfer-encoding gets applied only to body.  (Bug #27353).
16875         Ensure blank line at end of message after encoding, not
16876         before.
16878 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
16880         Document last change in dired.el
16882         * etc/NEWS (Dired): Document the last change in dired.el.
16883         (Bug#27435)
16885 2017-09-08  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
16887         Make mouse clicks in Dired more customizable
16889         * lisp/dired.el (dired-mouse-find-file): Allow callers to
16890         specify functions to visit file/directory.
16891         (dired-mouse-find-file-other-window)
16892         (dired-mouse-find-file-other-frame): New functions to visit
16893         files in another window/frame.  (Bug#27435)
16895 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
16897         Avoid compiler warnings on MS-Windows with GCC 6 and 7
16899         * src/w32font.c (SUBRANGE): Use unsigned arithmetic for
16900         bit-shifting, to avoid compiler warnings.
16901         (w32font_text_extents): Tell GCC NGLYPHS is non-negative, to avoid
16902         a warning.  For details of the warning, see
16903         https://lists.gnu.org/r/emacs-devel/2017-09/msg00093.html.
16904         * src/term.c (keys) [WINDOWSNT]: Don't define, as it is not used
16905         in that build.
16906         * src/sound.c (sound_perror): Ifdef away on WINDOWSNT, as this
16907         function is not used in that build.
16909         * configure.ac: Disable -Wsuggest-attribute=format on MS-Windows.
16911 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
16913         Fix 'directory-file-name' on DOS_NT systems as well
16915         * src/fileio.c (directory_file_name) [DOS_NT]: Fix the DOS_NT case
16916         to be consistent with last change.
16918         * test/src/fileio-tests.el (fileio-tests--odd-symlink-chars):
16919         Disable on MS-Windows.
16920         (fileio-tests--directory-file-name-dos-nt)
16921         (fileio-tests--file-name-as-directory-dos-nt): New tests.
16923 2017-09-08  Wilson Snyder  <wsnyder@wsnyder.org>
16925         Fix various verilog-mode.el issues.
16927         * lisp/progmodes/verilog-mode.el (verilog-expand-dirnames): Fix expanding
16928         "*/*", msg2284. Reported by Jonathan Ferguson.
16929         (ignore-errors): Fix ignore-errors error on Emacs 22.3, bug1177. Reported
16930         by Victor Lau.
16931         (verilog-getopt, verilog-getopt-file) (verilog-library-flags,
16932         verilog-substitute-file-name-path): Support -F in verilog getopt files,
16933         bug1171. Reported by George Cuan.
16934         (verilog-do-indent): Fix misindenting symbols starting with t,
16935         bug1169. Reported by Hoai Tran.
16936         (verilog-read-auto-template-middle): Fix slow template matching on
16937         AUTOINST. Reported by Jeffrey Huynh.
16938         (verilog-pretty-expr): The extra whitespace addition before "=" operators
16939         is now done only if the whole assignment block contains the 2-character
16940         "<=" operator.  Remove the unused argument _myre.  Use `unless',
16941         `save-excursion' and `when' functions where possible.  Internal variables
16942         refactored for clarity.  Follow elisp convention for closing parentheses.
16943         By Kaushal Modi.
16944         (verilog-get-lineup-indent-2): Update docstring.  Internal variables
16945         refactored for clarity.  Earlier EDPOS argument was expected to be a
16946         marker; it is now renamed to END and is now expected to be a position.
16947         Use `when' instead of `if'.  By Kaushal Modi.
16948         (electric-verilog-terminate-line): Remove the unused second argument from
16949         `verilog-pretty-expr' call.  By Kaushal Modi.
16950         (verilog-calc-1): Fix indentation of a virtual class definition after a
16951         typedef class, bug1080.  By Kaushal Modi.
16953 2017-09-08  Katsumi Yamaoka  <yamaoka@jpl.org>
16955         Don't use summary window to visit group buffer (bugfix)
16957         * lisp/gnus/gnus-sum.el (gnus-summary-jump-to-group): Make sure that
16958         the window to open the group buffer doesn't visit the summary buffer.
16959         This fixes a bug: `gnus-summary-next-article' sometimes causes an error
16960         by trying to select nonexistent summary window.
16962 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
16964         Fix bug: (directory-file-name "///") returned "//"
16966         * src/fileio.c (directory_file_name): For "///" and longer,
16967         return "/", not "//", as per POSIX.
16968         * test/src/fileio-tests.el (fileio-tests--directory-file-name)
16969         (fileio-tests--file-name-as-directory): New tests.
16971 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
16973         Remove obsolete vc-mistrust-permissions doc
16975         * doc/emacs/vc1-xtra.texi (RCS and SCCS): Remove documentation
16976         for vc-mistrust-permissions, which no longer exists.
16978 2017-09-07  Alan Third  <alan@idiocy.org>
16980         Set frame size to actual requested size (bug#18215)
16982         * src/nsterm.m (x_set_window_size): Don't use
16983         FRAME_TEXT_TO_PIXEL_WIDTH or FRAME_TEXT_TO_PIXEL_HEIGHT.
16985 2017-09-07  Paul Eggert  <eggert@cs.ucla.edu>
16987         autogen.sh: omit bogus chatter if no .git
16989         Problem reported by Angelo Graziosi in:
16990         https://lists.gnu.org/r/emacs-devel/2017-09/msg00045.html
16991         * autogen.sh (git_config): Do not execut 'git' if $do_git fails.
16993 2017-09-07  Glenn Morris  <rgm@gnu.org>
16995         Skip emacsclient tests if --enable-profiling was used
16997         * test/lib-src/emacsclient-tests.el
16998         (emacsclient-test-call-emacsclient): Make it a macro.
16999         Handle "Profiling timer expired" return from emacsclient.  (Bug#28319)
17000         (emacsclient-test-alternate-editor-allows-arguments)
17001         (emacsclient-test-alternate-editor-allows-quotes): Update for above.
17003 2017-09-06  Eli Zaretskii  <eliz@gnu.org>
17005         Fix a minor markup problem in ELisp manual
17007         * doc/lispref/functions.texi (Mapping Functions): Fix the order of
17008         @example and @group.  For the details, see
17009         https://lists.gnu.org/r/bug-texinfo/2017-09/msg00007.html.
17011 2017-09-06  Mark Oteiza  <mvoteiza@udel.edu>
17013         Add XDG desktop file parsing and tests
17015         * lisp/xdg.el: Add support for Desktop Entry Specification.
17016         (xdg--user-dirs-parse-line): Check if file is readable.
17017         (xdg-desktop-group-regexp, xdg-desktop-entry-regexp): New variables.
17018         (xdg--desktop-parse-line, xdg-desktop-read-file, xdg-desktop-strings):
17019         New functions.
17020         * test/lisp/xdg-tests.el:
17021         * test/data/xdg/test.desktop:
17022         * test/data/xdg/wrong.desktop: New files.
17024 2017-09-06  Glenn Morris  <rgm@gnu.org>
17026         Allow for adjusting line length of test backtraces
17028         * test/Makefile.in (TEST_BACKTRACE_LINE_LENGTH): New option.
17029         (%.log): Respect backtrace line length.
17031 2017-09-06  Glenn Morris  <rgm@gnu.org>
17033         Allow customizing line length of ert backtraces in batch mode
17035         * lisp/emacs-lisp/ert.el (ert-batch-backtrace-right-margin):
17036         Make it a user option.
17037         (ert-run-tests-batch): Handle ert-batch-backtrace-right-margin nil.
17039 2017-09-06  Glenn Morris  <rgm@gnu.org>
17041         Minor emacsclient-tests simplification
17043         * test/lib-src/emacsclient-tests.el (emacsclient-test-emacs):
17044         Simplify.  Also work when running installed.
17046 2017-09-06  Alan Third  <alan@idiocy.org>
17048         Revert "Force screen update after drawing cursor glyph (bug#23774)"
17050         This reverts commit 1b492fa5456e2b6face8d0856f11d17e432693b0.
17052         See bug#28358
17054 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
17056         Refactor some loops in mailcap.el
17058         * lisp/net/mailcap.el (mailcap-mime-types):
17059         (mailcap-file-default-commands): Convert nested maps to loops.
17061 2017-09-05  Glenn Morris  <rgm@gnu.org>
17063         emacsclient-tests: remove some debug statements
17065         * test/lib-src/emacsclient-tests.el
17066         (emacsclient-test-call-emacsclient): Remove debug statements.
17068 2017-09-05  Simen Heggestøyl  <simenheg@gmail.com>
17070         Handle non-zero exit status from psql more gracefully
17072         * lisp/progmodes/sql.el (sql-postgres-list-databases): Handle non-zero
17073         exit statuses from `psql -ltX' more gracefully by returning nil.
17075         * test/lisp/progmodes/sql-tests.el
17076         (sql-tests-postgres-list-databases-error): New test.
17078 2017-09-05  Eli Zaretskii  <eliz@gnu.org>
17080         Avoid losing Ctrl-C keystrokes in compilation mode on MS-Windows
17082         * src/w32proc.c (sys_kill): Preserve the up/down state of the
17083         Ctrl key across the simulated Ctrl-C keystroke.  (Bug#28348)
17085 2017-09-05  Andreas Schwab  <schwab@linux-m68k.org>
17087         * src/image.c (Fimagemagick_types): Doc fix.
17089 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
17091         Move soundex.el test to a proper test
17093         * test/lisp/soundex-tests.el: New file.
17094         * lisp/soundex.el: Use lexical-binding.  Remove commented test.
17096 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
17098         Add tests for mailcap.el
17100         * test/data/mailcap/mime.types: New file.
17101         * test/lisp/net/mailcap-tests.el: New file.
17103 2017-09-05  Michael Albinus  <michael.albinus@gmx.de>
17105         Doc precisment about remote link targets
17107         * doc/lispref/files.texi (Truenames): Explain handling of
17108         targets of `file-truename' and `make-symbolic-link', which
17109         look like a remote file name.
17111         * etc/NEWS: Precise examples for symlinks which look like
17112         remote file names.  MUSTBENEW of `write-region' is not
17113         propagated to file name handlers.
17115 2017-09-05  John Wiegley  <johnw@newartisans.com>
17117         Remove an opinionated section on "What Eshell is not"
17119         I don't find this information to accurately reflect possible use cases
17120         for Eshell; plus, it doesn't offer much in the way of information,
17121         just opinion.
17123 2017-09-05  Ken Brown  <kbrown@cornell.edu>
17125         Fix configure test for Xpm
17127         Problem reported by Ashish Shukla in
17128         https://lists.gnu.org/r/emacs-devel/2017-09/msg00020.html.
17129         * configure.ac (HAVE_XPM) [HAVE_X11]: Include X11/xpm.h instead of
17130         noX/xpm.h in configure test.
17132 2017-09-04  Paul Eggert  <eggert@cs.ucla.edu>
17134         Revert recent float→double Motif change
17136         Problem reported by Martin Rudalics in:
17137         https://lists.gnu.org/r/emacs-devel/2017-09/msg00014.html
17138         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
17139         (x_set_toolkit_scroll_bar_thumb)
17140         (x_set_toolkit_horizontal_scroll_bar_thumb):
17141         Go back to using ‘float’ temporaries rather than ‘double’.
17142         Although quite possibly this masks an underlying bug,
17143         we lack time to look into that now.
17145 2017-09-04  Glenn Morris  <rgm@gnu.org>
17147         emacsclient-tests: add some debug statements
17149         * test/lib-src/emacsclient-tests.el
17150         (emacsclient-test-call-emacsclient): Add debug statements.
17152 2017-09-04  Michael Albinus  <michael.albinus@gmx.de>
17154         Work on Tramp's (symbolic) links
17156         * doc/misc/tramp.texi (Traces and Profiles): Mention the
17157         backtrace when tramp-verbose is greater than or equal to 10.
17159         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
17160         Use `tramp-handle-add-name-to-file'.
17162         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Use
17163         `tramp-handle-add-name-to-file' and `tramp-handle-file-truename'.
17165         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link): Improve.
17167         * lisp/net/tramp-smb.el (tramp-smb-errors):
17168         Add "NT_STATUS_CONNECTION_DISCONNECTED" and
17169         "NT_STATUS_OBJECT_PATH_SYNTAX_BAD".
17170         (tramp-smb-file-name-handler-alist): Use `tramp-handle-file-truename'.
17171         (tramp-smb-do-file-attributes-with-stat): Return non-nil only
17172         if one of the attributes is non-nil.
17173         (tramp-smb-handle-file-local-copy): Use `file-truename'.
17174         (tramp-smb-handle-file-truename): Move to tramp.el.
17175         (tramp-smb-handle-insert-directory): Show symlinks.
17176         (tramp-smb-handle-make-symbolic-link): Improve.
17177         (tramp-smb-read-file-entry): Handle extended file modes in Samba.
17179         * lisp/net/tramp.el (tramp-handle-add-name-to-file)
17180         (tramp-handle-file-truename): New defuns.
17182         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
17183         (tramp--test-check-files): Make check for "smb".
17185 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
17187         Embed JSON readtable into json-read
17189         Also unroll dispatch into a cond.
17190         * lisp/json.el (json-readtable): Remove.
17191         (json-readtable-dispatch): New macro.  Assimilate json-readtable.
17192         (json-read): Use the macro.
17194 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
17196         Hexify strings in EWW search queries
17198         Previously, inputting "cats & dogs" would lose dogs because the
17199         ampersand signifies a query parameter.  Instead, hexify each word while
17200         preserving quotes with split-string.
17201         * lisp/net/eww.el (eww--dwim-expand-url): Join hexified words together
17202         with + separators, instead of replacing whitespace with +.
17204 2017-09-03  Glenn Morris  <rgm@gnu.org>
17206         emacsclient-tests: call-process may return non-integer
17208         * test/lib-src/emacsclient-tests.el
17209         (emacsclient-test-alternate-editor-allows-arguments)
17210         (emacsclient-test-alternate-editor-allows-quotes):
17211         Handle non-integer return from call-process.
17213 2017-09-03  Eli Zaretskii  <eliz@gnu.org>
17215         * lisp/simple.el (visual-line-mode): Doc fix.  (Bug#28337)
17217 2017-09-03  Alan Third  <alan@idiocy.org>
17219         Force screen update after drawing cursor glyph (bug#23774)
17221         * src/nsterm.m (ns_draw_window_cursor): Force a screen update after
17222         drawing the glyph over the cursor.
17224 2017-09-03  Alan Mackenzie  <acm@muc.de>
17226         Correct the fontification of quote marks after buffer changes in CC Mode.
17228         * lisp/progmodes/cc-defs.el
17229         (c-search-forward-char-property-with-value-on-char): New macro.
17231         * lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
17232         (c-parse-quotes-after-change): Rewrite the functions, simplifying
17233         considerably, and removing unnecessary optimizations.
17234         Invalidate two caches after manipulating text properties.
17236 2017-09-03  Alan Mackenzie  <acm@muc.de>
17238         Fix fontification of "operator~" in C++ Mode.
17240         * lisp/progmodes/cc-langs.el (c-ambiguous-overloadable-or-identifier-prefices)
17241         (c-ambiguous-overloadable-or-identifier-prefix-re): New c-lang-defconsts/vars.
17243         * lisp/progmodes/cc-engine.el (c-forward-name): Do not try to parse "~" (and
17244         two other symbols) as a cast without good evidence.  Prefer an overloaded
17245         operator in ambiguous cases.
17247 2017-09-03  Martin Rudalics  <rudalics@gmx.at>
17249         In delete_frame do not delete terminal for any toolkit build
17251         * src/frame.c (delete_frame): Neither delete terminal for
17252         non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499,
17253         Bug#27816).
17255 2017-09-02  Philipp Stephani  <phst@google.com>
17257         Improve error messages for improper plists (Bug#27726)
17259         * src/fns.c (Fplist_put, Flax_plist_get, Flax_plist_put)
17260         (Fplist_member, syms_of_fns): Use ‘plistp’ as pseudo-predicate for
17261         improper plists instead of ‘listp.’
17263         * test/src/fns-tests.el (plist-get/odd-number-of-elements)
17264         (lax-plist-get/odd-number-of-elements)
17265         (plist-put/odd-number-of-elements)
17266         (lax-plist-put/odd-number-of-elements)
17267         (plist-member/improper-list): Add unit tests.
17269 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
17271         Fix decrypting in plstore.el on MS-Windows
17273         * lisp/plstore.el (plstore-open): Bind coding-system-for-read to
17274         raw-text, instead of using insert-file-contents-literally.
17275         (Bug#28114)
17277 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
17279         * src/fileio.c (Fexpand_file_name): Doc fix.  (Bug#27982)
17281 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
17283         Rewrite Antinews for Emacs 26
17285         * doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26.
17286         * doc/lispref/elisp.texi (Top): Update the top-level menu's
17287         Antinews entry.
17288         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26.
17289         * doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews
17290         entry.
17292         * etc/NEWS: Rearrange some entries in a more reasonable order.
17294 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
17296         Fix a mis-binding in a test
17298         * test/lisp/progmodes/python-tests.el
17299         (python-shell-calculate-process-environment-3): Fix binding of
17300         process-environment.  A level of parens was missing.
17302         This was found after Glenn Morris noticed a similar problem with the
17303         patch for Bug#28319.
17305 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
17307         Fix a mis-binding and a bad defun name in a test (Bug#28319)
17309         test/lib-src/emacs-client-tests.el (call-emacsclient): Rename
17310         emacsclient-test-call-emacsclient.
17311         (emacsclient-test-alternate-editor-allows-arguments)
17312         (emacsclient-test-alternate-editor-allows-quotes): Fix let-binding of
17313         process-environment.
17315         Thanks to Glenn Morris for noticing these errors.
17317 2017-09-02  Glenn Morris  <rgm@gnu.org>
17319         * test/Makefile.in (check-no-automated-subdir): Silence by default.
17321         * test/Makefile.in (ELFILES): Sort, for a reproducible order.
17323 2017-09-01  Mark Oteiza  <mvoteiza@udel.edu>
17325         Turn off checkdoc complaint about default argument order
17327         * etc/NEWS: Mention change.
17328         * lisp/emacs-lisp/checkdoc.el (checkdoc-arguments-in-order-flag):
17329         Disable by default, note version.
17331 2017-09-01  Reuben Thomas  <rrt@sc3d.org>
17333         Stop emacsclient tests hanging (Bug#28319)
17335         * test/lib-src/emacsclient-tests.el
17336         (emacsclient-test-alternate-editor-allows-arguments): Use a
17337         non-existent file to communicate with server, so that any existing
17338         default server will not be hijacked (in fact, the test does
17339         not need a server).
17340         (emacsclient-test-alternate-editor-allows-quotes): Likewise.
17342 2017-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
17344         * lisp/obsolete/html2text.el: Don't require CL
17346         (html2text-clean-anchor): Mark unused arg.
17348 2017-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
17350         Don't remove undisplayers from inlined MIME parts (bugfix)
17352         * lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header):
17353         Don't remove undisplayers from inlined MIME parts (bugfix);
17354         Simplify criterion that finds attachments.
17356 2017-08-31  Mark Oteiza  <mvoteiza@udel.edu>
17358         Make ucs-names a hash table (Bug#28302)
17360         * etc/NEWS: Mention the type change.
17361         * lisp/descr-text.el (describe-char): Use gethash to access ucs-names.
17362         Hardcode BEL's name into the function instead of needlessly mapping
17363         over the hash table in the spirit of rassoc.
17364         * lisp/international/mule-cmds.el (ucs-names): Fix variable and
17365         function docstrings.  Initialize a hash table for ucs-names--the
17366         number of entries is 42845 here.  Switch to hash-table
17367         getters/setters.
17368         (mule--ucs-names-annotation): Use hash-table getter.
17369         (char-from-name): Upcase the string if ignore-case is truthy.
17370         * lisp/leim/quail/latin-ltx.el: Use maphash instead of dolist.
17372 2017-08-31  Alan Third  <alan@idiocy.org>
17374         Remove unneeded version checks (bug#28222)
17376         * src/macfont.h (CGContextSetFontSmoothingStyle): Remove version
17377         check.
17378         * src/macfont.m (macfont_draw): Remove version check, and test for
17379         existence of CGContextSetFontSmoothingStyle.
17381 2017-08-31  Alan Mackenzie  <acm@muc.de>
17383         Fix a glitch in CC Mode's syntactic whitespace cache.
17385         * lisp/progmodes/cc-engine.el (c-forward-sws): Deal correctly with a block
17386         comment close at the end of a macro.
17388 2017-08-31  Alan Mackenzie  <acm@muc.de>
17390         Correct the fontification of C++ Mode enclosed declarations.
17392         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): abolish the
17393         spurious check that the character before the start of an enclosed declaration
17394         must be ; or }.  It might also be {.
17396 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
17398         In xterm.c fix some recently introduced compiler warnings
17400         * src/xterm.c (xaw_jump_callback)
17401         (x_set_toolkit_scroll_bar_thumb): Fix some recently introduced
17402         -Wdouble-promotion warnings.
17404 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
17406         Restrict fix of Bug#24963 and Bug#25887 to GTK builds
17408         * src/xterm.c (handle_one_xevent): Restrict earlier fix of
17409         Bug#24963 and Bug#25887 to avoid that a non-GTK Emacs won't
17410         react to state changes received via ConfigureNotify.
17412 2017-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
17414         Respect directory a user enters (bug#28299)
17416         * lisp/gnus/mm-decode.el (mm-save-part):
17417         Respect directory a user enters (bug#28299).
17419 2017-08-31  Samuel Freilich  <sfreilich@google.com>
17421         Do not split line before width of fill-prefix
17423         When auto-filling a paragraph, don't split a line before the width of the
17424         fill-prefix, creating a subsequent line that is as long or longer (Bug#20774).
17425         * lisp/simple.el (do-auto-fill): Only consider break-points that are later in
17426         the line than the width of the fill-prefix.  This is a more general solution
17427         than the previous logic, which only skipped over the exact fill-prefix.  The
17428         fill-prefix doesn't necessarily match the prefix of the first line of a
17429         paragraph in adaptive-fill-mode.
17431 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
17433         Support lazy loading for autogenerated usage docstrings too (Bug#27748)
17435         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
17436         Consider any documentation that ended up in code as a docstring (e.g.,
17437         autogenerated (fn ARG1 ARG2) type things), not just what the user
17438         passed.
17440 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
17442         Drop docstrings from cl-defsubst produced inline bodies (Bug#27748)
17444         * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Use macroexp-parse-progn
17445         to drop the docstring.  Add a simple docstring to the compiler-macro.
17447 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
17449         Quote file-truename symlink to "../foo:bar:"
17451         Problem reported by Michael Albinus (Bug#28264#19).
17452         * lisp/files.el (files--splice-dirname-file): Fix bug where
17453         a relative symlink to "../foo:bar:" did not quote the result.
17455 2017-08-30  Reuben Thomas  <rrt@sc3d.org>
17457         Add support for arguments in emacsclient's ALTERNATE_EDITOR (Bug #25082)
17459         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
17460         corresponding command-line argument, into quote- or space-separated
17461         tokens.  If a token starts with a quote, then it naturally is expected
17462         to end with a quote; escaping is not supported. This is enough to cope
17463         with the typical case of requiring the initial path to be quoted,
17464         common on Windows where it may contain spaces.
17465         * etc/NEWS: Document.
17466         * doc/emacs/misc.texi: Likewise.
17467         * doc/man/emacsclient.1: Tweak to remove the implication that only an
17468         editor can be specified (the manual already mentions a “command”).
17469         Fix a small error where “EDITOR” is referred to rather than
17470         “ALTERNATE_EDITOR”.
17471         * test/lib-src/emacsclient-tests.el: Add tests.
17473 2017-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
17475         * lisp/man.el (Man-softhyphen-to-minus): Avoid string-as-multibyte.
17477 2017-08-30  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>  (tiny change)
17479         Correct "hide others" shortcut on macOS (bug#28215)
17481         * lisp/term/ns-win.el: Fix shortcut for ns-do-hide-others.
17483 2017-08-30  Eli Zaretskii  <eliz@gnu.org>
17485         Sync NEWS with the documentation
17487         * etc/NEWS: Mark entries according to documentation.
17489         * doc/lispref/functions.texi (Mapping Functions): Document 'mapcan'.
17491 2017-08-30  Michael Albinus  <michael.albinus@gmx.de>
17493         Improve symlinks for Tramp
17495         * lisp/files.el (files--splice-dirname-file): Quote whole file.
17497         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
17498         Do not expand TARGET, it could be remote.
17499         (tramp-sh-handle-file-truename): Check for cyclic symlink also
17500         in case of readlink.  Quote result if it looks remote.
17501         (tramp-sh-handle-file-local-copy): Use `file-truename'.
17503         * test/lisp/net/tramp-tests.el (tramp-test08-file-local-copy)
17504         (tramp-test09-insert-file-contents): Test also file missing.
17505         (tramp-test21-file-links): Extend test.
17507 2017-08-30  Martin Rudalics  <rudalics@gmx.at>
17509         Preserve display's foreground color when clearing internal borders (Bug#28278)
17511         * src/xterm.c (x_after_update_window_line): Preserve display's
17512         foreground color when clearing internal borders (Bug#28278).
17514 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
17516         Use cl-print for all values printed by `describe-variable'
17518         * lisp/help-fns.el (describe-variable): Use cl-prin1 for original and
17519         global values too.
17521 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
17523         Minor simplification for byte-compile-constant-push
17525         * lisp/emacs-lisp/bytecomp.el (byte-compile-constant): Move the meat
17526         of the code from here...
17527         (byte-compile-constant-push): ... to here.  No need to bind
17528         byte-compile--for-effect anymore.
17530 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
17532         Prefer file-name-quote to concat "/:"
17534         Suggested by Michael Albinus (Bug#28264#13).
17535         * lisp/files.el (files--splice-dirname-file): Use file-name-quote
17536         rather than attempting to do it by hand.
17538 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
17540         * configure.ac: fix typo in previous change
17542 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
17544         Be more conservative in link time optimization doc
17546         While testing --enable-link-time-optimization with GCC 7.1.1
17547         I ran into a serious GCC code-generation bug which makes me
17548         think that --enable-link-time-optimization should be
17549         discouraged for typical installs (Bug#28213).  See:
17550         https://bugzilla.redhat.com/show_bug.cgi?id=1486455
17552 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
17554         Make garbage collection more conservative
17556         Check for a pointer anywhere within the object, as opposed to just
17557         the start of the object.  This is needed for gcc -Os -flto on
17558         x86-64 (Bug#28213).  This change means that the garbage collector
17559         is more conservative, and will incorrectly keep objects that it
17560         does not need to, but that is better than incorrectly discarding
17561         objects that should be kept.
17562         * src/alloc.c (ADVANCE, VINDEX): Now functions, not macros;
17563         this is easier to debug.
17564         (setup_on_free_list): Rename from SETUP_ON_FREE_LIST.
17565         Now a function with two args, not a macro with three.
17566         All callers changed.
17567         (live_string_holding, live_cons_holding, live_symbol_holding)
17568         (live_misc_holding, live_vector_holding, live_buffer_holding):
17569         New functions, which check for any object containing the addressed
17570         byte, not just for an object at the given address.
17571         (live_string_p, live_cons_p, live_symbol_p, live_misc_p)
17572         (live_vector_p, live_buffer_p):
17573         Redefine in terms of the new functions.
17574         (live_float_p): Refactor slightly to match the new functions.
17575         (mark_maybe_object, mark_maybe_pointer): Use the new functions.
17576         Don’t bother checking mark bits, as mark_object already does that,
17577         and omitting the checks here simplifies the code.  Although
17578         mark_maybe_object can continue to insist that tagged pointers
17579         still address the start of the object, mark_maybe_pointer now is
17580         more conservative and checks for pointers anywhere into an object.
17582 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
17584         Improve stack-top heuristic
17586         This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part
17587         of the stack when scanning for heap roots, causing Emacs to crash
17588         later (Bug#28213).  The problem is that Emacs's hack for getting an
17589         address near the stack top does not work when link-time optimization
17590         moves stack variables around.
17591         * configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro.
17592         * lib-src/make-docfile.c (DEFUN_noinline): New constant.
17593         (write_globals, scan_c_stream): Support noinline.
17594         * src/alloc.c (NEAR_STACK_TOP): New macro.
17595         (SET_STACK_TOP_ADDRESS): Use it.
17596         (flush_stack_call_func, Fgarbage_collect): Now noinline.
17598 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
17600         Align stack bottom properly.
17602         This is needed for gcc -Os -flto on x86-64 (Bug#28213).
17603         * src/emacs.c (main): Align stack-bottom variable as a pointer,
17604         since mark_memory requires this.
17606 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
17608         Avoid spinning waiting for git-gui.exe on Windows
17610         * src/w32proc.c (waitpid): If GetExitCodeProcess returns
17611         STILL_ACTIVE, and we were called with WNOHANG, pretend that the
17612         process exited.  (Bug#28268)
17614 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
17616         Document '--module-assertions'
17618         * doc/emacs/cmdargs.texi (Initial Options): Document the
17619         '--module-assertions' command-line option.
17620         * doc/lispref/loading.texi (Dynamic Modules): Add a
17621         cross-reference to the description of '--module-assertions'.
17623         * etc/NEWS: Update the NEWS entry for --module-assertions.
17625 2017-08-29  Alan Third  <alan@idiocy.org>
17627         Add news entry about new macOS features
17629         * etc/NEWS: Add entry about ns-appearance, ns-transparent-titlebar and
17630         ns-use-thin-smoothing.
17632 2017-08-29  Alan Third  <alan@idiocy.org>
17634         Fix cross macOS version building (bug#28222)
17636         * src/macfont.h (CGContextSetFontSmoothingStyle): Function
17637         declaration.
17638         * src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.
17640 2017-08-29  Ben Bonfil  <bonfil@gmail.com>  (tiny change)
17642         Enable thin font smoothing in macOS (bug#28222)
17644         * src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing.
17645         * src/macfont.m (macfont_draw): Use font smoothing.
17647 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
17649         Minor improvement in documentation of display-line-numbers
17651         * doc/emacs/display.texi (Display Custom): Document the
17652         display-line-numbers-mode and related options.
17654 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
17656         Avoid aborting in 'waitpid' on MS-Windows
17658         * src/w32proc.c (waitpid): Don't allow quitting if called with
17659         WNOHANG in OPTIONS.  (Bug#28268)
17661 2017-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
17663         * lisp/progmodes/sh-script.el: Test "in-string" of the right char!
17665         (sh-syntax-propertize-function): Fix off-by-one error.
17666         Fixes bug#23526.
17668 2017-08-29  Rasmus  <rasmus@gmx.us>
17670         Update Org to v9.0.10
17672         Please see etc/ORG-NEWS for major changes. Note, this is a bugfix
17673         release.
17675 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
17677         Silence false alarms for symlinks to sources
17679         Problem reported by Glenn Morris (Bug#28264).
17680         * lisp/files.el (files--splice-dirname-file): New function.
17681         (file-truename, file-chase-links): Use it.
17683 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
17685         Simplify remove_slash_colon
17687         * src/process.c (remove_slash_colon): Simplify
17688         and avoid a special case for "/:" by itself.
17690 2017-08-28  Tassilo Horn  <tsdh@gnu.org>
17692         Remove font family from minibuffer-prompt face
17694         * etc/themes/tsdh-light-theme.el (tsdh-light): Remove font family from
17695         minibuffer-prompt face.
17697 2017-08-28  Michael Albinus  <michael.albinus@gmx.de>
17699         Further fixes in tramp-smb.el
17701         * lisp/net/tramp-smb.el (tramp-smb-handle-file-truename): New defun.
17702         (tramp-smb-file-name-handler-alist): Use it.
17703         (tramp-smb-handle-make-symbolic-link): Unquote target.
17705         * test/lisp/net/tramp-tests.el
17706         (tramp--test-ignore-make-symbolic-link-error): New defmacro.
17707         (tramp-test18-file-attributes, tramp-test21-file-links)
17708         (tramp--test-check-files): Use it.
17710 2017-08-28  Paul Eggert  <eggert@cs.ucla.edu>
17712         Don’t assume -g3 in .gdbinit
17714         * src/.gdbinit (EMACS_INT_WIDTH, USE_LSB_TAG):
17715         Use reasonable defaults if not in the symbol table.
17717 2017-08-28  Robert Pluim  <rpluim@gmail.com>  (tiny change)
17719         Use string-match to check for dotfiles in ido
17721         * lisp/ido.el (ido-make-file-list): Use string-match to check
17722         for dotfiles instead of substring, as when using tramp
17723         simplified syntax ido-temp-list may contain empty strings.
17725 2017-08-28  Mark Oteiza  <mvoteiza@udel.edu>
17727         Font-lock FDO desktop files correctly
17729         Single and double quotes do not have a special meaning in
17730         desktop files.
17731         https://standards.freedesktop.org/desktop-entry-spec/latest/
17732         * etc/NEWS: Mention new mode.
17733         * lisp/files.el (auto-mode-alist): Split out an entry for handling
17734         the .desktop extension with conf-desktop-mode.
17735         * lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
17736         variable with rules for booleans and format specifiers.
17737         (conf-unix-mode): Remove desktop file entry example from docstring.
17738         (conf-desktop-mode): New derived major mode.
17740 2017-08-27  Tom Tromey  <tom@tromey.com>
17742         Fix auto-fill bug in js-mode
17744         * lisp/progmodes/js.el (js-do-auto-fill): New function.
17745         (js-mode): Set normal-auto-fill-function.
17746         * test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New
17747         test.
17749 2017-08-27  Noam Postavsky  <npostavs@gmail.com>
17751         Disable completion while entering python multiline statements
17753         The "legacy" completion mechanism sends newlines to the running python
17754         process to get the list of completions, which confuses things if the
17755         user is in the middle of entering a multiline statement (Bug#28051).
17756         It's better to disable completion in this case.
17757         * lisp/progmodes/python.el (python-shell--block-prompt): New variable.
17758         (python-shell-prompt-set-calculated-regexps): Set it.
17759         (python-shell-completion-at-point): Return 'ignore' as the completion
17760         function when the current prompt is a block prompt.
17762 2017-08-27  Michael Albinus  <michael.albinus@gmx.de>
17764         Tramp cleanup
17766         * lisp/net/tramp-sh.el (tramp-sh-extra-args): Remove compat code.
17767         (tramp-sh-handle-make-symbolic-link): More robust check for
17768         TARGET remoteness.
17770         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
17771         Disable copying by tar temporarily, it doesn't work reliably.
17772         (tramp-smb-do-file-attributes-with-stat): Resolve symlink.
17773         (tramp-smb-handle-make-symbolic-link): Fix implementation.
17775         * lisp/net/tramp.el (tramp-handle-file-symlink-p): Simplify.
17777         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
17778         Extend test.
17780 2017-08-27  Glenn Morris  <rgm@gnu.org>
17782         Fix previous xterm.h change for non-gtk builds
17784         * src/xterm.h (GTK_CHECK_VERSION) [!USE_GTK]: Define it.
17786 2017-08-27  Philipp Stephani  <phst@google.com>
17788         Fix GdkSettings-related deprecation warnings
17790         * src/gtkutil.c (xg_initialize): Don’t set deprecated and ignored
17791         gtk-menu-bar-accel setting in new versions of GTK+.  Use g_object_set
17792         instead of deprecated gtk_settngs_set_string_property otherwise.
17794 2017-08-27  Philipp Stephani  <phst@google.com>
17796         Always use gtk_window_move in new versions
17798         * src/gtkutil.c (my_log_handler): Don’t define in new versions of
17799         GTK+.
17800         (xg_set_geometry): Always use gtk_window_move in new versions of GTK+.
17802         * src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
17803         is ignored.
17805         * lisp/subr.el (x-gtk-use-window-move): Make obsolete.
17807 2017-08-27  Charles A. Roelli  <charles@aurox.ch>
17809         Fix 'diff-goto-source' when buffer is narrowed (Bug#21262)
17811         * lisp/vc/diff-mode.el (diff-find-file-name): Save the current
17812         narrowing, and widen the buffer before searching for the name of the
17813         file corresponding to the diff.
17815         With thanks to Noam Postavsky.
17817 2017-08-27  Philipp Stephani  <phst@google.com>
17819         Remove use of a deprecated GTK+ function in new versions
17821         * src/gtkutil.c (xg_make_tool_item): Use gtk_widget_set_focus_on_click
17822         if available
17824 2017-08-27  Philipp Stephani  <phst@google.com>
17826         Stop using deprecated GdkScreen monitor functions in newer GDK
17828         * src/xfns.c (Fx_display_monitor_attributes_list): Use GdkMonitor
17829         objects instead of the deprecated GdkScreen functions in GDK 3.22+
17831 2017-08-27  Philipp Stephani  <phst@google.com>
17833         Use GdkSeat in new GDK versions
17835         * src/gtkutil.c (xg_event_is_for_scrollbar): Use GdkSeat instead of
17836         GdkDeviceManager in GDK 3.20+
17838 2017-08-27  Philipp Stephani  <phst@google.com>
17840         * src/xterm.c (XTflash): Don’t use gdk_cairo_create in GDK 3.22+
17842 2017-08-27  Philipp Stephani  <phst@google.com>
17844         Remove call of deprecated GDK function
17846         * src/xterm.h (XSync): Don’t call gdk_window_process_all_updates in
17847         GDK 3.22 or later.
17849 2017-08-27  Alan Mackenzie  <acm@muc.de>
17851         Amend the CC Mode macro cache to cope with changes at the macro start
17853         Fixes bug #28233.
17855         * lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Fix an off-by-1
17856         error.
17858 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
17860         Fix over-protection of byte-compiled files
17862         Problem reported by Sven Joachim (Bug#28244).
17863         Also, fix similar problem for autoload files.
17864         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
17865         Set temp file modes to the buffer-file-name file modes (or 666
17866         if not available) as adjusted by umask.
17867         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
17868         Set temp file modes to 666 as adjusted by umask.
17870 2017-08-27  Tom Tromey  <tom@tromey.com>
17872         Refine conf-toml-mode font-lock
17874         Bug#28218
17875         * lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use
17876         conf-toml-recognize-section.  Use \s- in variable regexp.
17877         (conf-toml-recognize-section): New function.
17879 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
17881         Do not munge contents of local symbolic links
17883         This lets Emacs deal with arbitrary local symlinks without
17884         mishandling their contents (Bug#28156).  For example,
17885         (progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
17886         now consistently creates a symbolic link from '/tmp/x' to '~'.
17887         Formerly, it did that only if the working directory was on the
17888         same filesystem as /tmp; otherwise, it expanded the '~' to
17889         the user's home directory.
17890         * lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
17891         instead of rolling our own code.
17892         * lisp/files.el (files--name-absolute-system-p): New function.
17893         (file-truename, file-chase-links): Use it to avoid mishandling
17894         symlink contents that begin with ~.
17895         (copy-directory, move-file-to-trash):
17896         Use concat rather than expand-file-name, to avoid mishandling
17897         symlink contents that begin with ~.
17898         * src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
17899         target unless interactive.  Strip leading "/:" if interactive.
17900         (emacs_readlinkat): Do not prepend "/:" to the link target if
17901         it starts with "/" and contains ":" before NUL.
17902         * test/src/fileio-tests.el (try-link): Rename from try-char,
17903         and accept a string instead of a char.  All uses changed.
17904         (fileio-tests--symlink-failure): Also test leading ~, and "/:",
17905         to test the new behavior.
17907 2017-08-27  Reuben Thomas  <rrt@sc3d.org>
17909         Remove invalid regexp for shell builtins for wksh
17911         * lisp/progmodes/sh-script.el (sh-builtins): Shell built-ins have to
17912         be literal strings, so remove a regexp for wksh. In any case, it’s a
17913         defunct proprietary shell.
17915 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
17917         Improve doc for file-name-absolute-p.
17919 2017-08-26  Michael Albinus  <michael.albinus@gmx.de>
17921         Fix Tramp part of Bug#28156
17923         * lisp/files.el (file-name-non-special): Use `file-name-quote'
17924         instead prefixing "/:", the file could already be quoted.
17926         * lisp/net/tramp.el (tramp-error): Handle null arguments.
17927         (tramp-handle-make-symbolic-link):
17928         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
17929         (tramp-sh-handle-add-name-to-file):
17930         * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
17931         (tramp-smb-handle-make-symbolic-link): Adapt implementation to
17932         stronger semantics in Emacs.  (Bug#28156)
17934         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
17935         Extend test.
17937 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
17939         Fix bugs merged with bug#25428
17941         * lisp/simple.el (auto-fill-mode, visual-line-mode): Doc fix.
17942         (Bug#13926)  (Bug#25434)  (Bug#25435)
17944 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
17946         Improve documentation of Info virtual files and nodes
17948         * lisp/info.el (Info-virtual-files, Info-virtual-nodes): Doc fix.
17949         (Bug#28237)
17951 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
17953         * lisp/delsel.el (delete-selection-mode): Doc fix.  (Bug#25428)
17955 2017-08-26  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)
17957         Support multi-lingual detection of SEE ALSO man sections
17959         * lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO
17960         section detection in several langages: French, German, Spanish,
17961         Portuguese, Italian, Polish, Turkish, Japanese, Chinese.  (Bug#28142)
17963 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
17965         Improve expand-file-name doc
17967         * doc/lispref/files.texi (Relative File Names, Directory Names)
17968         (File Name Expansion):
17969         * doc/lispref/minibuf.texi (Reading File Names):
17970         Document expand-file-name behavior with ~ more clearly
17971         and accurately.
17972         * doc/misc/org.texi (Batch execution): Simplify example
17973         script so that it does not need expand-file-name and thus
17974         will not mishandle file names with leading ~.
17976 2017-08-26  Jefferson Carpenter  <jeffersoncarpenter2@gmail.com>  (tiny change)
17978         Support all perl variable declarators and prefixes (Bug#27613)
17980         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
17981         (perl-font-lock-keywords-2): Match declators 'anon', 'argument', 'has',
17982         'local', 'state', 'supersede', 'let', and 'temp'.
17984 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
17986         Fix file-attributes race on GNU hosts
17988         * doc/lispref/files.texi (File Attributes):
17989         Document file-attributes atomicity.
17990         * etc/NEWS: Document the fix.
17991         * src/dired.c (file_attributes): New args DIRNAME and FILENAME,
17992         for diagnostics.  All callers changed.  On platforms like
17993         GNU/Linux that support O_PATH, fix a race condition in
17994         file-attributes and similar functions, so that these functions do
17995         not return nonsense if a directory entry is replaced while getting
17996         its attributes.  On non-GNU platforms, do a better (though not
17997         perfect) job of detecting the race, and return nil if detected.
17999 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
18001         Simplify expand_and_dir_to_file
18003         * src/fileio.c (expand_and_dir_to_file): Simplify by omitting 2nd
18004         argument, since in practice it always has the default value.  All
18005         callers changed.  Prefer C99 style decls in nearby code.
18007 2017-08-25  Eli Zaretskii  <eliz@gnu.org>
18009         Fix file-name completion on network shares
18011         * src/w32.c (faccessat): Don't assume that F_OK is non-zero.
18012         (Bug#28207)
18014 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
18016         Fix a FIXME with an exegetical comment
18018         * lisp/progmodes/sh-script.el (sh-builtins): Explain why we have a
18019         regexp for wksh builtins.
18021 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
18023         Minor docstring language fix
18025         * lisp/progmodes/sh-script.el (sh-show-indent): Remove spurious “the”.
18027 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
18029         Remove old commented code from sh-script.el
18031         * lisp/progmodes/sh-script.el (sh-abbrevs): Remove commented function
18032         and variable, commented since 2001.
18034 2017-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
18036         * lisp/emacs-lisp/package.el: Don't let failure stop us
18038         (package-activate-1): Don't throw an error for missing deps.
18039         (package-unpack): Don't bother compiling if activation failed.
18040         (package-initialize): Report failures but keep activating other packages.
18042 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
18044         Prefer ‘double’ for FP temps in xterm.c
18046         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
18047         (x_set_toolkit_scroll_bar_thumb)
18048         (x_set_toolkit_horizontal_scroll_bar_thumb): Prefer ‘double’ to
18049         ‘float’ for individual local floating-point temporaries.
18051 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
18053         Avoid using string-to-multibyte in ispell.el
18055         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Use
18056         decode-coding-string instead. Note that decode-coding-string returns a
18057         string that satisfies multibyte-string-p even if its input is pure
18058         ASCII and the third argument is t, so the result of
18059         ispell-get-decoded-string is always a multibyte string.
18061 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
18063         Store the regexp just when there are matches
18065         * lisp/hi-lock.el (hi-lock-set-pattern): When font-lock-mode is
18066         disabled and there are no matches do not store REGEXP
18067         in hi-lock-interactive-patterns.
18069 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
18071         Keep face available if there are no matches
18073         If font-lock-mode is disabled in the current buffer, and
18074         there are no matches for REGEXP, then keep FACE available
18075         for a next search.
18076         * lisp/hi-lock.el (hi-lock-set-pattern): Add FACE into
18077         hi-lock--unused-faces if font-lock-mode is disabled and
18078         there are no matches.
18079         * test/lisp/hi-lock-tests.el (hi-lock-test-set-pattern): Add test.
18081 2017-08-24  Michael Albinus  <michael.albinus@gmx.de>
18083         Minor improvements for tramp-interrupt-process, documentation
18085         * doc/lispref/processes.texi (Signals to Processes):
18086         * etc/NEWS: Document interrupt-process-functions.
18088         * lisp/net/tramp.el (tramp-interrupt-process): Test also for
18089         `process-live-p'.
18091         * src/process.c (Vinterrupt_process_functions): Fix docstring.
18093         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
18094         Extend test.
18096 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
18098         Fix a comment whitespace typo.
18100         src/fileio.c: A double space was added after "..", used in a code
18101         example. Make it a single space.
18103 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
18105         Remove old commented code and obsolete comments
18107         * lisp/files.el (locate-dominating-files): Remove old commented
18108         implementation from 9 years ago.  Since the current version
18109         appears (at least to me) not just more efficient but clearer than the
18110         version removed, also delete a comment in the new version referring to
18111         the old version. Remove old commented heuristic code,
18112         and explanatory comments.
18114 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
18116         Remove old duplicate commented code
18118         * lisp/files.el (file-relative-name): Remove old commented version,
18119         replaced 14 years ago in commit 753ad9889.
18121 2017-08-24  Tom Tromey  <tom@tromey.com>
18123         Add conf-toml-mode
18125         * etc/NEWS: Mention conf-toml-mode.
18126         * lisp/files.el (auto-mode-alist): Add entry for .toml.
18127         * lisp/textmodes/conf-mode.el (conf-toml-mode-syntax-table)
18128         (conf-toml-font-lock-keywords): New defvars.
18129         (conf-toml-mode): New mode.
18131 2017-08-23  Alan Third  <alan@idiocy.org>
18133         Use lisp type in log message (bug#28176)
18135         * src/nsimage.m (ns_load_image): Use make_number on index.
18137 2017-08-23  Alan Third  <alan@idiocy.org>
18139         Fix PNGs on macOS (bug#28176)
18141         * src/nsimage.m (ns_load_image): Remove index check.
18142         (EmacsImage::getAnimatedBitmapImageRep): New function.
18143         (EmacsImage::getMetadata): Use getAnimatedBitmapImageRep.
18144         (EmacsImage::setFrame): Use getAnimatedBitmapImageRep and check index
18145         is valid.
18147 2017-08-23  Alan Third  <alan@idiocy.org>
18149         Add ability to change macOS WM theme (bug#27973)
18151         * src/frame.c (make_frame, frame_parms, syms_of_frame)
18152         [NS_IMPL_COCOA]: Add ns-appearance and ns-transparent-titlebar
18153         options.
18154         * src/frame.h (ns_appearance_type) [NS_IMPL_COCOA]: Add enum to
18155         represent NSAppearance options.
18156         (struct frame) [NS_IMPL_COCOA]: Add ns_appearance and
18157         ns_transparent_titlebar frame parameters.
18158         * src/nsfns.m (ns_frame_parm_handlers) [NS_IMPL_COCOA]: Add
18159         ns_set_appearance and ns_set_transparent_titlebar handlers.
18160         (Sx_create_frame): Handle ns-appearance and ns-transparent-titlebar
18161         frame parameters.
18162         (Qdark): Add new symbol for use with ns-appearance.
18163         * src/nsterm.h (ns_set_appearance, ns_set_transparent_titlebar)
18164         [NS_IMPL_COCOA]: Add prototypes.
18165         * src/nsterm.m (ns_set_appearance, ns_set_transparent_titlebar)
18166         [NS_IMPL_COCOA]: New functions.
18167         (initFrameFromEmacs) [NS_IMPL_COCOA]: Handle ns-appearance and
18168         ns-transparent-titlebar frame parameters.
18169         * doc/lispref/frames.texi (Window Management Parameters): Document
18170         ns-apperance and ns-transparent-titlebar.
18172 2017-08-22  Alan Mackenzie  <acm@muc.de>
18174         When looking for the end of a declarator, prevent macros fouling up the search
18176         The practical implication of this bug was a random jit-lock chunk remaining
18177         entirely unfontified.
18179         * lisp/progmodes/cc-mode.el (c-fl-decl-end): If point starts inside a macro,
18180         restrict two forward searches to the end of that macro.
18182 2017-08-22  Michael Albinus  <michael.albinus@gmx.de>
18184         Test `file-expand-wildcards' for Tramp
18186         * lisp/net/tramp-compat.el (tramp-advice-file-expand-wildcards):
18187         Remove, not needed anymore.
18189         * test/lisp/net/tramp-tests.el (top): Require seq.el.
18190         (tramp-test16-directory-files): Simplify.
18191         (tramp-test16-file-expand-wildcards): New test.
18192         (tramp-test28-interrupt-process): Skip for older Emacsen.
18194 2017-08-22  Alexander Gramiak  <agrambot@gmail.com>
18196         Add tests for cl-macs.el (Bug#27559)
18198         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-loop): Remove
18199         duplicate.
18200         (cl-loop-destructuring-with): Move to cl-macs-tests.el.
18201         * test/lisp/emacs-lisp/cl-macs-tests.el: New file.
18203 2017-08-22  Noam Postavsky  <npostavs@gmail.com>
18205         Optimize skkdic conversion (Bug#28043)
18207         The primary speedup comes from the optimizing lookup-nested-alist and
18208         set-nested-alist for the case where the key is a string.  This brings
18209         the time down to less than half the original.
18211         * lisp/international/mule-util.el (lookup-nested-alist)
18212         (set-nested-alist): Use `assq' instead of `assoc' when KEYSEQ is a
18213         string.
18215         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
18216         (skkdic-convert-okuri-nasi): Use progress-reporter functions instead
18217         of calculating ratio of work done inline.
18219         (skkdic-reduced-candidates): Call `char-category-set' on the first
18220         character of the string directly, instead of using a regexp for the
18221         character category.
18222         (skkdic--japanese-category-set): New constant.
18223         (skkdic-collect-okuri-nasi): Just set
18224         `skkdic-okuri-nasi-entries-count' at once at the end rather than
18225         updating it throughout the loop.
18227         (skkdic-convert-postfix skkdic-convert-prefix)
18228         skkdic-get-candidate-list, skkdic-collect-okuri-nasi)
18229         (skkdic-extract-conversion-data): Use `match-string-no-properties'
18230         instead of `match-string'.
18232 2017-08-22  Reuben Thomas  <rrt@sc3d.org>
18234         Treat tests in lib-src like tests in src
18236         * test/Makefile.in (test_template): Depend on a .c source file for a
18237         test under lib-src, as for src.  (Thanks, Glenn Morris for pointing me
18238         in the right direction.)
18240 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
18242         Port /bin/sh scripts to Solaris 10
18244         Its /bin/sh builtin ‘test’ command does not support -e.
18245         * autogen.sh, build-aux/git-hooks/pre-commit:
18246         * build-aux/gitlog-to-emacslog, make-dist:
18247         Use test -r, not test -e.
18249 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
18251         Avoid losing the buffer restriction in flyspell-mode
18253         * src/intervals.c (get_local_map): Don't allow C-g to quit as long
18254         as we have the buffer widened, to make sure the restriction is
18255         preserved.  (Bug#28161)
18257 2017-08-21  Sven Joachim  <svenjoac@gmx.de>
18259         Fix the 'versionclean' target in src/Makefile
18261         * src/Makefile.in (versionclean): Don't accidentally remove
18262         emacs-module.h.  (Bug#28169)
18264 2017-08-21  Michael Albinus  <michael.albinus@gmx.de>
18266         Implement `interrupt-process-functions'
18268         * lisp/net/tramp.el (tramp-interrupt-process): Rename from
18269         `tramp-advice-interrupt-process'.  Adapt according to changed API.
18270         (top): Add it to `interrupt-process-functions'.
18272         * src/process.c (Finternal_default_interrupt_process): New defun.
18273         (Finterrupt_process): Change implementation, based on
18274         Vinterrupt_process_functions.
18275         (Vinterrupt_process_functions): New defvar.
18277         * test/lisp/net/tramp-tests.el (tramp-test40-unload): Do not
18278         test removal of advice.
18280 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
18282         Avoid floating-point exceptions while drawing underwave
18284         * src/w32term.c (x_get_scale_factor):
18285         * src/xterm.c (x_get_scale_factor): Don't let the scale factors
18286         become less than 1.  Reported by Yuri D'Elia <wavexx@thregr.org> in
18287         https://lists.gnu.org/r/emacs-devel/2017-08/msg00459.html.
18289 2017-08-21  Sam Steingold  <sds@gnu.org>
18291         mark flymake-mode as safe local variable when the value is nil
18293 2017-08-21  Sam Steingold  <sds@gnu.org>
18295         allow nil init in flymake-allowed-file-name-masks to disable flymake
18297         (flymake-allowed-file-name-masks): Update doc and :type.
18298         (flymake-get-file-name-mode-and-masks): Handle nil init.
18300 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
18302         Remove the workaround for bug#20719
18304         * lisp/cedet/semantic/symref/grep.el
18305         (semantic-symref-grep-use-template): Remove the workaround for
18306         bug#20719, it's been fixed for a while now.
18308 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
18310         Fix byte-compilation warnings in semantic/symref/grep
18312         * lisp/cedet/semantic/symref/grep.el (greppattern): Remove.
18313         (grepflags): Rename to semantic-symref-grep-flags.
18314         (semantic-symref-grep-expand-keywords): Update accordingly.
18315         (semantic-symref-grep-use-template): Remove the last two
18316         arguments to make sure they don't shadow the (not renamed)
18317         global variables.
18318         (semantic-symref-perform-search)
18319         (semantic-symref-parse-tool-output-one-line): Use slot names
18320         instead of keywords, like the byte-compiler wants us to.
18322 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
18324         Simplify eldoc-message
18326         * lisp/emacs-lisp/eldoc.el (eldoc-message): Simplify.
18327         Don't use ARGS because no callers pass them.  Discussed in bug#27230.
18329 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
18331         Work around w32-python-2.x bug to fix prompt detection (Bug#21376)
18333         * lisp/progmodes/python.el (python-shell-prompt-detect): Don't put
18334         carriage returns into the temporary file when running in unbuffered
18335         mode, the w32 build of python 2.7 chokes on them.
18337 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
18339         Add missing require
18341         * lisp/textmodes/ispell.el: Require subr-x. (Thanks, Eli Zaretskii.)
18343 2017-08-20  Michael Albinus  <michael.albinus@gmx.de>
18345         Implement `interrupt-process' for remote processes (Bug#28066)
18347         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process):
18348         Support sending signals remotely.
18349         (tramp-open-connection-setup-interactive-shell):
18350         Trace "remote-tty" connection property.
18352         * lisp/net/tramp.el (tramp-advice-interrupt-process): New defun.
18353         (top): Add advice to `interrupt-process'.  (Bug#28066)
18355         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
18356         New test.
18357         (tramp-test29-shell-command)
18358         (tramp-test30-environment-variables)
18359         (tramp-test30-environment-variables-and-port-numbers)
18360         (tramp-test31-explicit-shell-file-name)
18361         (tramp-test32-vc-registered)
18362         (tramp-test33-make-auto-save-file-name)
18363         (tramp-test34-make-nearby-temp-file)
18364         (tramp-test35-special-characters)
18365         (tramp-test35-special-characters-with-stat)
18366         (tramp-test35-special-characters-with-perl)
18367         (tramp-test35-special-characters-with-ls, tramp-test36-utf8)
18368         (tramp-test36-utf8-with-stat, tramp-test36-utf8-with-perl)
18369         (tramp-test36-utf8-with-ls)
18370         (tramp-test37-asynchronous-requests)
18371         (tramp-test38-recursive-load, tramp-test39-remote-load-path)
18372         (tramp-test40-unload): Rename.
18373         (tramp-test40-unload): Test also removal of advice.
18375 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
18377         Document Enchant support
18379         * doc/emacs/fixit.texi: Mention Enchant.
18380         * doc/misc/efaq.texi: Likewise.
18381         * etc/NEWS: Add an item on Enchant support.
18383 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
18385         Remove old comments and a redundant FIXME
18387         * lisp/textmodes/ispell.el (ispell-process-line): Remove some old
18388         commented code, a redundant FIXME, and outdated usage instructions.
18390 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
18392         Add Enchant support to ispell.el (Bug#17742)
18394         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
18395         (ispell-really-enchant): Add variable.
18396         (ispell-check-version): If using Enchant, check it’s new enough (at
18397         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
18398         without.)
18399         (ispell-enchant-dictionary-alist): Add variable.
18400         (ispell-find-enchant-dictionaries): Add function, based on
18401         ispell-find-aspell-dictionaries.
18402         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
18403         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
18404         old ispell name to locale mapping code for Enchant too.
18405         (ispell-send-replacement): Make it work with Enchant.
18407 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
18409         * lisp/term.el (term-mode): Use `window-text-height' (Bug#5615).
18411 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
18413         Stop printing '4' in .elc files after 'define-symbol-prop' calls
18415         * lisp/emacs-lisp/bytecomp.el (byte-compile-define-symbol-prop):
18416         Return nil in case we have compiled the form, to prevent a redundant
18417         constant from getting added to the compiled output.
18419 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
18421         Change recent symlink tests to just test ASCII
18423         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
18424         Be less ambitious about testing non-ASCII chars and encoding
18425         errors, as there are too many portability issues.
18427 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
18429         Don’t adjust CRLF in file names
18431         * doc/misc/gnus.texi (Non-ASCII Group Names):
18432         * etc/NEWS:
18433         * test/lisp/net/tramp-tests.el (tramp--test-utf8):
18434         Use utf-8-unix, not utf-8, for default-file-name-coding-system, so
18435         that CRLF in file names is left alone.
18436         * lisp/international/mule-cmds.el (set-default-coding-systems):
18437         Do not alter CRLF in file name coding systems.
18438         (prefer-coding-system): Ignore differences in CRLF processing when
18439         checking whether we used the user-specified file name coding system.
18440         * test/src/fileio-tests.el: New file.
18442 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
18444         Make list-processes support display-line-numbers
18446         * lisp/simple.el (process-menu-mode): Move the call to
18447         tabulated-list-init-header from here...
18448         (list-processes--refresh): ...to here.  (Bug#27895)
18450 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
18452         Improve support of display-line-numbers in package.el
18454         * lisp/emacs-lisp/package.el (package-menu--refresh): Redisplay
18455         the header.  (Bug#27895)
18456         * lisp/emacs-lisp/tabulated-list.el
18457         (tabulated-list-line-number-width): Fix the case when
18458         display-line-numbers is nil.
18460 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
18462         Improve support of display-line-numbers in tabulated-list-mode
18464         * lisp/emacs-lisp/tabulated-list.el
18465         (tabulated-list-line-number-width): New function.
18466         (tabulated-list-init-header, tabulated-list-print-entry): Use it.
18467         (Bug#27895)
18469 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
18471         Fix one more issue reported by Alex (Bug#27999)
18473         * doc/lispref/windows.texi (Preserving Window Sizes)
18474         (Window Parameters): Use the term `window-preserved-size'
18475         instead of `preserved-size' (Bug#27999).
18477 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
18479         Rename `no-delete-other-window' to `no-delete-other-windows'
18481 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
18483         Fix two side window problems noted by Alex (Bug#27999)
18485         * lisp/window.el (display-buffer-in-side-window): Fix doc-string
18486         typo.
18487         (delete-other-windows): Rename the `no-delete-other-window'
18488         parameter to `no-delete-other-windows' (see the discussion in
18489         Bug#27999 for the rationale of this change).
18490         * doc/lispref/windows.texi (Deleting Windows)
18491         (Frame Layouts with Side Windows, Window Parameters): Rename
18492         `no-delete-other-window' to `no-delete-other-windows'.
18494 2017-08-19  Alex Schroeder  <alex@gnu.org>
18496         Use define-minor-mode for rcirc-omit-mode
18498 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
18500         Clarify behavior of symlinks and directories
18502         * doc/lispref/files.texi (Saving Buffers): Document how functions
18503         like rename-file work with symlinks and directories.  This patch
18504         attempts to document the current behavior better, in preparation
18505         for possibly changing it.  See Bug#27986.
18507 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
18509         Fix recently-introduced file descriptor leak
18511         * src/fileio.c (Fmake_temp_file_internal):
18512         Don’t leak a file descriptor if write_region signals an error.
18514 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
18516         Improve make-temp-file performance on local files
18518         * lisp/files.el (make-temp-file): Let make-temp-file-internal do
18519         the work of inserting the text.
18520         * src/fileio.c (Fmake_temp_file_internal): New arg TEXT.
18521         All callers changed.
18523 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
18525         Don't lose arguments to eshell aliases (Bug#27954)
18527         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Use ARGS.
18529 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
18531         * lisp/files.el (make-temp-file): Fix directory use case.
18533 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
18535         Fix and document make-temp-file optional text parameter
18537         * lisp/files.el (make-temp-file): Fix initial TEXT parameter.
18538         (files--make-magic-temp-file): Support optional TEXT parameter.
18539         * etc/NEWS: Document it.
18540         * doc/lispref/files.texi: Document it.
18541         * test/lisp/auth-source-tests.el: Minor reformat.
18543 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
18545         * test/lisp/auth-source-tests.el: Avoid `string-join' to be simple.
18547         * test/lisp/auth-source-tests.el: Minor cleanups to use CL.
18549 2017-08-19  João Távora  <joaotavora@gmail.com>
18551         Fix default value of electric-pair-pairs and electric-pair-text-pairs
18553         (Bug#24901)
18555         A previous change, titled "Add support for curly quotation marks to
18556         electric-pair-mode", attempted to add these characters to the default
18557         value of these variables.  But it did so in a quoted list, preventing
18558         evaluation of the relevant expressions and resulting in an invalid
18559         format.
18561         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs):
18562         Use backquote and comma.
18564 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
18566         * lisp/elec-pair.el (electric-pair-text-pairs): Don't autoload (Bug#24901).
18568         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Require `elec-pair'
18569         explicitly in the interactive case.
18571 2017-08-19  Mats Lidell  <mats.lidell@cag.se>
18573         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
18575 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
18577         Add auth-source tests and codify its API better
18579         The auth-source behavior was unclear in some API use cases, so these
18580         extra tests codify and test it. For details see
18581         https://github.com/DamienCassou/auth-password-store/issues/29
18583         * lisp/files.el (make-temp-file): Add new initial TEXT parameter.
18584         * test/lisp/auth-source-tests.el (auth-source-test-searches): Add
18585           auth-source tests and simplify them with the new `make-temp-file'.
18587 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
18589         Don't call the same hook twice due to obsolete aliases
18591         * lisp/international/robin.el (robin-activate):
18592         * lisp/international/quail.el (quail-activate):
18593         * lisp/international/mule-cmds.el (deactivate-input-method):
18594         * lisp/emulation/viper-init.el (viper-deactivate-input-method):
18595         Don't call the same hook twice, when the obsolete and the
18596         advertised symbols are aliased.  (Bug#28118)
18598 2017-08-18  Felipe Ochoa  <felipe@fov.space>  (tiny change)
18600         A new face for show-paren in expression mode
18602         * lisp/faces.el (show-paren-match-expression): Define the new face.
18603         * lisp/paren.el (show-paren-function): Apply the different face
18604         when in expression mode.  (Bug#28047)
18606 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
18608         Non-ASCII support for man page section and header names
18610         * lisp/man.el (Man-name-regexp, Man-page-header-regexp)
18611         (Man-heading-regexp): Replace ASCII character classes by
18612         equivalent classes that allow non-ASCII characters.  Suggested by
18613         Grégory Mounié <Gregory.Mounie@imag.fr>.  (Bug#27978)
18615 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
18617         Implement HiDPI support for underwave on MS-Windows
18619         * src/w32term.c (x_get_scale_factor): New function.
18620         (w32_draw_underwave): Use it.
18621         * src/xterm.c (x_draw_underwave): Offset the wave starting point
18622         to make it identical with original code.
18624 2017-08-18  Stephen Pegoraro  <spegoraro@tutive.com>  (tiny change)
18626         Support HiDPI displays for wave style underlines
18628         * src/xterm.c (x_draw_underwave): Compute height, length and thickness
18629         based on scale factor.
18630         (x_get_scale_factor): New function.
18632 2017-08-18  Bastien  <bzg@gnu.org>
18634         Delete library-of-babel.org
18636         * etc/org/library-of-babel.org: Delete file.
18638 2017-08-18  Glenn Morris  <rgm@gnu.org>
18640         * doc/emacs/files.texi (Copying and Naming): Avoid confusing texi2pdf.
18642 2017-08-18  Noam Postavsky  <npostavs@gmail.com>
18644         Remove custom version parsing from epg-config.el (Bug#27963)
18646         * lisp/epg-config.el (epg-config--compare-version)
18647         (epg-config--parse-version): Remove.
18648         (epg-check-configuration): Use `version<=' instead.
18650 2017-08-18  Mark Oteiza  <mvoteiza@udel.edu>
18652         Treat control characters in JSON strings as invalid
18654         * lisp/json.el (json-peek): Reduce to following-char.
18655         (json-pop, json-read): Zero (null char) means end of file.
18656         (json-read-escaped-char): Delimit URL properly.
18657         (json-read-string): Signal error for ASCII control characters.
18658         * test/lisp/json-tests.el (test-json-peek): Check for zero instead of
18659         :json-eof symbol.
18660         (test-json-read-string): New test for control characters in JSON
18661         strings.
18663 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
18665         Support Posix semantics of 'rename' on MS-Windows
18667         * src/w32.c (sys_rename_replace): Support Posix semantics of
18668         'rename': return an error if OLD is a directory while NEW is not,
18669         or vice versa.
18671 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
18673         * src/w32.c (sys_rename_replace): Support renaming a directory.
18675 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
18677         Fix the MS-Windows build
18679         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_open): Omit Gnulib module
18680         'open'.
18682         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Restore definition.
18684 2017-08-17  João Távora  <joaotavora@gmail.com>
18686         Add flymake-backends defcustom
18688         * lisp/progmodes/flymake-proc.el (flymake-proc-can-syntax-check-buffer):
18689         Rename from flymake-can-syntax-check-file.  Suitable for adding to
18690         flymake-backends.
18691         (flymake-proc-start-syntax-check): Rename from
18692         flymake-start-syntax-check.  Don't check again if buffer can be
18693         checked.
18694         (add-to-list flymake-backends): Hook only flymake-ui.el
18696         * lisp/progmodes/flymake-ui.el (flymake-backends): New
18697         defcustom.
18698         (flymake-on-timer-event, flymake-after-change-function)
18699         (flymake-after-save-hook, flymake-find-file-hook): Call new
18700         flymake--start-syntax-check-buffer and
18701         flymake--can-syntax-check-buffer.
18702         (flymake-mode): Call flymake--can-syntax-check-buffer and set
18703         flymake-backend.
18704         (flymake--backend): New buffer-local variable.
18706 2017-08-17  João Távora  <joaotavora@gmail.com>
18708         Split flymake.el into flymake-proc.el and flymake-ui.el
18710         flymake.el is now a stub that requires both files.
18712         * lisp/progmodes/flymake-proc.el: New file.
18714         * lisp/progmodes/flymake-ui.el: New file.
18716         * lisp/progmodes/flymake.el: Split into flymake-ui.el and
18717           flymake-proc.el.  Require both files.
18719 2017-08-17  Michael Albinus  <michael.albinus@gmx.de>
18721         Set `default-directory' for watchdog in tramp-test.el
18723         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
18724         Set `default-directory' for watchdog.
18726 2017-08-17  Andreas Schwab  <schwab@suse.de>
18728         * lisp/term/konsole.el: New file.
18730 2017-08-17  Noam Postavsky  <npostavs@gmail.com>
18732         * lisp/woman.el (woman-push, woman-pop): Remove.  (Bug#27962)
18734         (woman2-RS): Use plain `push' instead of `woman-push'.
18735         (woman2-RE): Conditionally `pop' instead of `woman-pop'.
18737 2017-08-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
18739         Merge from Gnulib; use ‘open’ for O_CLOEXEC
18741         This incorporates:
18742         2017-08-15 renameat: ensure declaration in <stdio.h> on NetBSD
18743         2017-08-15 extensions: enable NetBSD specific extensions
18744         2017-08-14 open: support O_CLOEXEC
18745         2017-08-13 reallocarray: new module
18746         * admin/merge-gnulib (AVOIDED_MODULES): Remove ‘open’, since
18747         it now supports O_CLOEXEC and this simplifies Emacs.
18748         * build-aux/config.guess, lib/fcntl.in.h, lib/stdio.in.h:
18749         * lib/stdlib.in.h, m4/extensions.m4, m4/stdlib_h.m4:
18750         Copy from Gnulib.
18751         * lib/cloexec.c, lib/cloexec.h, lib/open.c:
18752         * m4/mode_t.m4, m4/open-cloexec.m4, m4/open.m4:
18753         New files, copied from Gnulib.
18754         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
18755         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]:
18756         Remove, as Gnulib does this for us.
18757         * src/filelock.c (create_lock_file):
18758         * src/sysdep.c (emacs_open, emacs_pipe):
18759         Don’t worry about O_CLOEXEC == 0, as Gnulib no longer sets it to 0.
18761 2017-08-16  Alan Third  <alan@idiocy.org>
18762             Charles A. Roelli  <charles@aurox.ch>
18764         Allow use of run-time OS version checks on macOS (bug#27810)
18766         * src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS.
18767         (MAC_OS_X_VERSION_10_6, MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8,
18768         MAC_OS_X_VERSION_10_9, MAC_OS_X_VERSION_10_12, HAVE_NATIVE_FS): Remove
18769         defines.
18770         (NSWindowStyleMaskFullScreen,
18771         NSWindowCollectionBehaviorFullScreenPrimary,
18772         NSApplicationPresentationFullScreen,
18773         NSApplicationPresentationAutoHideToolbar): Define in macOS 10.6.
18774         * src/nsterm.m (colorForEmacsRed, colorUsingDefaultColorSpace,
18775         check_native_fs, ns_read_socket, ns_select, runAlertPanel,
18776         initFrameFromEmacs, windowDidMiniaturize, windowDidEnterFullScreen,
18777         windowDidExitFullScreen, isFullscreen, updateCollectionBehavior,
18778         toggleFullScreen, constrainFrameRect, scrollerWidth, syms_of_nsterm):
18779         Allow use of run-time checks and replace version check macros.
18780         * src/nsfns.m (ns_screen_name): Use run-time OS version checks.
18781         * src/macfont.m (macfont_draw): Use run-time OS version checks.
18782         * src/nsmenu.m (menuWillOpen): Use run-time OS version checks.
18784 2017-08-16  Alan Third  <alan@idiocy.org>
18786         Add multiframe image support to NS port (bug#21714)
18788         * src/nsimage.m (ns_load_image): Handle multiple frames.
18789         (EmacsImage::getMetadata, EmacsImage::setFrame): New functions.
18790         * src/nsterm.h (EmacsImage::getMetadata, EmacsImage::setFrame): New
18791         function prototypes.
18793 2017-08-16  Tino Calancha  <tino.calancha@gmail.com>
18795         files-tests.el: Remove unused lexical variable
18797         * test/lisp/files-tests.el (file-test--do-local-variables-test);
18798         Remove unused var 'files-test-queried'.
18800 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
18802         * doc/emacs/files.texi (Copying and Naming): Mention
18804         restrictions to add-name-to-file and make-symbolic-link on
18805         remote systems.
18807 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
18809         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Further support ftp-ssl.
18811 2017-08-16  Noam Postavsky  <npostavs@gmail.com>
18813         Add tests for previous commit
18815         * test/lisp/progmodes/elisp-mode-tests.el
18816         (elisp-mode-tests--face-propertized-string): New function.
18817         (elisp--highlight-function-argument-indexed)
18818         (elisp--highlight-function-argument-keyed-1)
18819         (elisp--highlight-function-argument-keyed-2): New tests.
18821 2017-08-16  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
18823         Fix eldoc highlighting for &key args (Bug#27272)
18825         * lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument):
18826         Only switch to keyword-based searching if INDEX point beyond `&key' in
18827         the argument list.  All arguments prior to the `&key' are position
18828         based.  Additionally, be more strict about what is a keyword when
18829         searching for the current keyword.
18831 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
18833         Do not assume regular Git .git/hooks dir
18835         Apparently Gitlab doesn’t create .git/hooks, like regular Git does.
18836         Problem reported by Ted Zlatanov in:
18837         https://lists.gnu.org/r/emacs-devel/2017-08/msg00380.html
18838         * autogen.sh (git_sample_hook_src): New function.  Use it to work
18839         even if .git/hooks or its samples do not exist.
18841 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
18843         New manual section "Copying and Naming"
18845         * doc/emacs/files.texi (Copying and Naming):
18846         New section, split off from Misc File Ops and containing the
18847         operations that copy, name or rename files.  This fixes some
18848         confusion caused by the incorrect phrase "The same rule applies
18849         to all the remaining commands in this section" in the old manual.
18850         This change does not affect the confusion about directories (see
18851         Bug#27986 for ongoing discussion).
18853 2017-08-15  Eli Zaretskii  <eliz@gnu.org>
18855         Fix the MS-Windows build
18857         * src/fileio.c (Frename_file): Don't use ENOTSUP if it is equal to
18858         ENOSYS.  (Bug#28097)  (Bug#27986)
18860 2017-08-15  Ted Zlatanov  <tzz@lifelogs.com>
18862         * .gitlab-ci.yml: run "autogen.sh autoconf" to avoid Git.
18864         * .gitlab-ci.yml: add Git to the installed packages.
18866 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
18868         Support indentation of detached Less CSS rulesets
18870         * lisp/textmodes/css-mode.el (css-smie-rules): Provide better support
18871         for indentation of detached rulesets passed to Less mixins.
18873         * test/manual/indent/less-css-mode.less: New file.
18875 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
18877         Fixes and tweaks for the new Less CSS mode
18879         * etc/NEWS: Add an entry for the new mode.
18881         * lisp/textmodes/less-css-mode.el (less-css): Tweak docstring.
18882         (less-css-lessc-command): Tweak docstring. Don't mark it as
18883         safe. Don't autoload.
18884         (less-css-compile-at-save, less-css-lessc-options)
18885         (less-css-output-directory): Tweak docstrings. Don't autoload.
18886         (less-css-output-file-name): Tweak docstring. Don't mark it as safe.
18887         (less-css-input-file-name): Tweak docstring. Don't autoload.
18888         (less-css-compile-maybe): Use `when' for one-armed `if'.
18889         (less-css--output-path): Tweak docstring.
18890         (less-css--maybe-shell-quote-command): Remove function.
18891         (less-css-compile): Don't autoload. Tweak docstring and message. Fix
18892         compiler warning. Use `string-join' instead of `mapconcat'.
18893         (less-css-font-lock-keywords): Use `font-lock-variable-name-face' for
18894         variables.
18895         (less-css-mode-syntax-table, less-css-mode-map): New variables.
18896         (less-css-mode): Change status line mode name from "LESS" to
18897         "Less". Tweak docstring. Move syntax table definitions to
18898         `less-css-mode-syntax-table'.
18899         (less-css-indent-line): Remove function.
18901 2017-08-15  Steve Purcell  <steve@sanityinc.com>
18903         New major mode: Less CSS mode
18905         * lisp/textmodes/less-css-mode.el: New file.
18907 2017-08-15  Tino Calancha  <tino.calancha@gmail.com>
18909         archive-int-to-mode: Fix order of testing S_ISUID, S_ISGID bits
18911         * lisp/arc-mode.el (archive-int-to-mode):
18912         Swap order of 2048 and 1024 tests (Bug#28092).
18913         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode):
18914         Update test.
18916 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
18918         Improve rename-file port to macOS
18920         * src/fileio.c (Frename_file): On macOS, renameat_noreplace can
18921         fail with errno == ENOTSUP on file systems where it is not
18922         supported, according to the Apple documentation.
18924 2017-08-15  Noam Postavsky  <npostavs@gmail.com>
18926         Speed up ./configure with more caching (Bug#27960)
18928         * configure.ac: Cache the 'GTK compiles', 'GSettings is in gio',
18929         'LN_S', '-znocombreloc', 'sysinfo', 'gcc autodepends', '-b link',
18930         'Xkb', 'Xpm preprocessor', 'tputs library' 'GLib', 'signals via
18931         characters', and 'Windows API header' checks.  Remove pause after
18932         warning about GTK bug.
18934 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
18936         Improve rename-file behavior on macOS
18938         Problem reported by Philipp Stephani (Bug#27986).
18939         * src/fileio.c (Frename_file):
18940         Worry about file name case sensitivity only if CYGWIN or DOS_NT.
18941         * src/sysdep.c (renameat_noreplace): Use renameatx_np on macOS,
18942         since this provides the necessary atomicity guarantees.
18944 2017-08-14  Glenn Morris  <rgm@gnu.org>
18946         Clean up temp files after some tests
18948         * test/lisp/emacs-lisp/bytecomp-tests.el
18949         (bytecomp-tests--with-temp-file): Also delete .elc file if present.
18950         * test/lisp/progmodes/etags-tests.el
18951         (etags-buffer-local-tags-table-list): Delete temp file at end.
18953 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
18955         Implement renameat_noreplace for MS-Windows
18957         * src/sysdep.c (renameat_noreplace) [WINDOWSNT]: Implement minimal
18958         emulation for MS-Windows.  (Bug#27986)
18960 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
18962         Fix 'rename' on MS-Windows
18964         * src/w32.c (sys_rename_replace): Use the FORCE argument only if
18965         the primitive rename errors out with EEXIST.
18967 2017-08-14  Michael Albinus  <michael.albinus@gmx.de>
18969         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Support ftp-ssl.
18971 2017-08-14  Mark Oteiza  <mvoteiza@udel.edu>
18973         Tiny JSON performance improvement
18975         Get rid of some needless uses of apply.  Measuring with
18976           (benchmark-run 10 (json-read-file "test.json"))
18977         showed 1.5-2.5% reduction of execution time.
18978         * lisp/json.el (json-peek): Nix let-binding.
18979         (json-read-string): Use concat for making a string from chars.
18980         (json-read-array): Use cond and more appropriate conversion instead
18981         of blindly applying.
18983 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
18985         Be consistent in spelling 'ok-if-already-exists'.
18987 2017-08-13  Alexander Gramiak  <agrambot@gmail.com>
18989         Use 'header-line-highlight' face in proced and erc
18991         * lisp/erc/erc-list.el (erc-list-button):
18992         * lisp/proced.el (proced-format): Use the 'header-line-highlight
18993         face.  (Bug#28033)
18995 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
18997         Remove feeds with dead uris from newsticker--raw-url-list-defaults
18999         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
19000           Remove feeds with dead uris.
19002 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
19004         Fix vertical cursor motion when cursor is on the fringe
19006         * lisp/simple.el (line-move-visual): Fix an off-by-one error in
19007         setting temporary-goal-column when newline overflows into the
19008         fringe.  Support that use case in R2L paragraphs as well.
19010 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
19012         Fix vertical cursor motion across too wide images
19014         * src/indent.c (Fvertical_motion): If lines are truncated and we
19015         end up beyond the right margin of the window, don't assume we are
19016         in the next screen line, unless VPOS actually says so.  (Bug#28071)
19018 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
19020         Add test suites for arc-mode and tar-mode
19022         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
19023         * test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
19024         New tests.
19026 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
19028         * lisp/tar-mode.el (tar-grind-file-mode): Fix docstring
19030 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
19032         Fix uri of Emacs Wiki
19034         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults): Fix
19035           uri of Emacs Wiki.  (Bug#27981)
19037 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
19039         Fix make-temp-file bug with ""/"."/".." prefix
19041         The bug with "." and ".." has been present for a while; I
19042         introduced the bug with "" earlier today in my patch for Bug#28023.
19043         * lisp/files.el (make-temp-file): Do not use expand-file-name if
19044         PREFIX is empty or "." or "..", as it does the wrong thing.
19045         Compute absolute-prefix here ...
19046         (files--make-magic-temp-file): ... instead of here ...
19047         * src/fileio.c (Fmake_temp_file_internal): ... or here.
19049         * lisp/files.el (make-temp-file): If the prefix is empty, append
19050         "/" to the absolute prefix so that the new files are children
19051         rather than siblings of temporary-file-directory.  This fixes a
19052         bug introduced in the previous change.
19053         * test/lisp/files-tests.el (files-test-make-temp-file-empty-prefix):
19054         New test, for the bug.
19056 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
19058         Improve make-temp-file performance on local files
19060         For the motivation behind this patch, please see Bug#28023 and:
19061         http://emacshorrors.com/posts/make-temp-name.html
19062         Although, given the recent changes to Tramp, the related security
19063         problem in make-temp-file is already fixed, make-temp-file still has
19064         several unnecessary system calls.  In the typical case on GNU/Linux,
19065         this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
19066         getpid, unlink, umask) by 2 (open, close).
19067         * admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
19068         that Emacs is using it directly.
19069         * configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
19070         no longer needed.
19071         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
19072         * lisp/files.el (files--make-magic-temp-file): Rename from
19073         make-temp-file.
19074         (make-temp-file): Use make-temp-file-internal for
19075         non-magic file names.
19076         * src/fileio.c: Include tempname.h.
19077         (make_temp_name_tbl, make_temp_name_count)
19078         (make_temp_name_count_initialized_p, make_temp_name): Remove.
19079         (Fmake_temp_file_internal): New function.
19080         (Fmake_temp_name): Use it.
19081         * src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
19082         instead of make_temp_name.
19084 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
19086         Document internal-use naming conventions
19088         * doc/lispref/functions.texi (Function Names):
19089         * doc/lispref/variables.texi (Tips for Defining):
19090         Document naming conventions for internal-use functions and vars.
19091         See Bug#28023#59.
19093 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
19095         Simplify re and document 'autoconf.sh all'
19097         * GNUmakefile (ALL_IF_GIT): Remove; no longer needed, now that
19098         ./autogen.sh defaults to "all".  All uses removed.
19099         * README: Mention autoconf.sh's effect on Git configuration.
19101 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
19103         Default autogen.sh to 'all'
19105         This addresses a problem noted by RMS in:
19106         https://lists.gnu.org/r/emacs-devel/2017-08/msg00052.html
19107         * autogen.sh (do_git): Set to true if this script is invoked
19108         with no arguments and there is a .git subdirectory.
19110 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
19112         Adjust jka-compr to recent Tramp changes.
19114         * lisp/jka-compr.el (jka-compr-write-region):
19115         Two new args LOCKNAME and MUSTBENEW.
19117 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
19119         Improve doc strings of 2 functions in simple.el
19121         * lisp/simple.el (beginning-of-visual-line)
19122         (move-beginning-of-line): Doc fix.  Reported by
19123         Justin Burkett <justin@burkett.cc>.
19125 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
19127         Fix completion on directory names on MS-DOS/MS-Windows
19129         * src/msdos.c (faccessat):
19130         * src/w32.c (faccessat): Support relative file names, and add D_OK
19131         to 'mode' if the argument is a directory.  This unbreaks file-name
19132         completion when the completion result is a directory.
19134 2017-08-12  Michael Albinus  <michael.albinus@gmx.de>
19136         Implement EXCL of write-region for Tramp
19138         * lisp/net/ange-ftp.el (ange-ftp-write-region):
19139         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region)
19140         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
19141         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region)
19142         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
19143         Implement MUSTBENEW.
19145         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
19146         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
19147         (tramp-sh-handle-add-name-to-file)
19148         (tramp-do-copy-or-rename-file)
19149         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
19150         Adapt error message for `file-already-exists'.
19152         * src/lisp.h:
19153         * src/eval.c (call8): New function.
19155         * src/fileio.c (write_region): Pass also lockname and
19156         mustbenew to the file name handler.
19158         * test/lisp/net/tramp-tests.el (tramp-test10-write-region):
19159         Add tests for MUSTBENEW.
19161 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
19163         Adapt Proced display to display-line-numbers
19165         * lisp/proced.el (proced-header-line): Account for the width taken
19166         by display-line-numbers.  (Bug#27895)
19168 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
19170         Adapt tabulated list when display-line-number is turned on
19172         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Add
19173         a hook to revert the display when display-line-numbers is turned
19174         on.  (Bug#27895)
19176 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
19178         Use Gnulib 'tempname' on MS-Windows
19180         * lib-src/ntlib.h (mkdir, open): Remove redefinitions.  They are
19181         now in nt/inc/ms-w32.h.
19182         * lib-src/ntlib.c (sys_mkdir, sys_open): New functions.
19183         (mkostemp): Remove.
19185         * src/w32.c (mkostemp): Remove.
19186         (sys_mkdir): Accept a second (unused) argument.
19187         * src/fileio.c (Fmake_directory_internal): Remove the WINDOWSNT
19188         specific call to mkdir.  (Bug#28023)
19190         * nt/inc/ms-w32.h (mkdir): Remove from "#ifdef emacs" and redefine
19191         to accept 2 arguments.
19192         (open): Remove from "#ifdef emacs".
19193         * nt/mingw-cfg.site (ac_cv_func_mkostemp): Remove.
19194         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_mkostemp)
19195         (OMIT_GNULIB_MODULE_tempname): Remove.
19197 2017-08-12  Alexander Gramiak  <agrambot@gmail.com>
19199         Add new face 'header-line-highlight'
19201         * lisp/faces.el: Define the face.
19202         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
19203         * lisp/info.el (Info-fontify-node): Use the new face.
19204         * doc/emacs/display.texi (Standard Faces):
19205         * etc/NEWS: Document the new face.  (Bug#28033)
19207 2017-08-12  Arash Esbati  <arash@gnu.org>
19209         Make a case-sensitive match for strings
19211         * lisp/textmodes/reftex.el (reftex-typekey-check): Temporarily
19212         let-bind `case-fold-search' to nil in order to be case-sensitive
19213         when matching a string.  (Bug#27518)
19215 2017-08-11  Stephen Berman  <steve@rosalinde.fritz.box>
19217         Fix a minor todo-mode regression
19219         * lisp/calendar/todo-mode.el (todo-get-overlay): Wrap in
19220         save-excursion.  This fixes a regression introduced by the fix
19221         for bug#27609, whereby trying to raise the priority of the
19222         first item or lower the priority of the last item, which
19223         should be noops, moves point to the item's start.  Clarify
19224         comment.
19226         * test/lisp/calendar/todo-mode-tests.el
19227         (todo-test-raise-lower-priority): Add test cases for trying to
19228         raise first item and lower last item.
19229         (with-todo-test): Clear abbreviated-home-dir, since we change HOME.
19230         (todo-test-toggle-item-header02): Remove ":expected-result
19231         :failed" and tests of point after todo-next-item, since the
19232         effect when using Todo mode is not reproducible in the test
19233         environment.  Add commentary about this.
19235 2017-08-11  Paul Eggert  <eggert@cs.ucla.edu>
19237         Improve performance for rename-file etc.
19239         Although this does not fix Bug#27986, it is a step forward.
19240         I plan to propose a more-significant patch later.
19241         * lisp/files.el (directory-name-p): Move from here ...
19242         * src/fileio.c (Fdirectory_name_p): ... to here.
19243         (directory_like, cp_like_target): New static functions.
19244         (Fcopy_file, Frename_file, Fadd_name_to_file)
19245         (Fmake_symbolic_link):
19246         Use them, to avoid directory-testing syscalls on file names that
19247         must be directories if they exist.  Omit unnecessary
19248         initializations and CHECK_STRING calls.
19249         (Frename_file): Don't call file_name_case_insensitive_p
19250         twice on the same file.  Compare both file names expanded, instead
19251         of the old name expanded and the new one unexpanded.
19253 2017-08-11  Noam Postavsky  <npostavs@gmail.com>
19255         Respect buffer-local value of tags-table-list (Bug#27772)
19257         * lisp/progmodes/etags.el (visit-tags-table-buffer): Save the current
19258         buffer around the `tags-table-including' calls so as to get buffer
19259         local variables from the right buffer later.
19260         * test/lisp/progmodes/etags-tests.el (etags-visit-tags-table-buffer):
19261         New test.
19262         * test/lisp/progmodes/etags-tests.el (etags-tests--test-dir): New
19263         constant.
19264         (etags-bug-158, etags-bug-23164): Use it so that when running the test
19265         interactively, setting EMACS_TEST_DIRECTORY is not needed.
19267 2017-08-10  Tom Tromey  <tom@tromey.com>
19269         Fix auto-filling regression
19271         Bug#28003
19272         * lisp/newcomment.el (comment-indent-new-line): Check
19273         comment-auto-fill-only-comments.  Reverts earlier change.
19274         * lisp/simple.el (internal-auto-fill): Call auto-fill-function, not
19275         do-auto-fill.
19277 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
19279         Merge from gnulib
19281         This incorporates:
19282         2017-08-09 tempname: do not depend on secure_getenv
19283         2017-08-08 extensions: add _OPENBSD_SOURCE
19284         2017-08-06 manywarnings: Add support for C++
19285         2017-08-06 warnings, manywarnings: Add support for multiple languages
19286         * admin/merge-gnulib: Don't use m4/manywarnings-c++.m4.
19287         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
19288         * lib/secure_getenv.c, m4/secure_getenv.m4: Remove.
19289         * lib/tempname.c, m4/extensions.m4, m4/manywarnings.m4, m4/warnings.m4:
19290         Copy from gnulib.
19292 2017-08-09  Eli Zaretskii  <eliz@gnu.org>
19294         Fix crashing emacs-module tests on MS-Windows
19296         * src/w32fns.c (syms_of_w32fns) <w32-disable-abort-dialog>: New
19297         variable.
19298         (emacs_abort): If w32-disable-abort-dialog is non-nil, abort right
19299         away, without displaying the Abort dialog, which waits for the user.
19301         * test/src/emacs-module-tests.el (module--test-assertion): Run the
19302         inferior Emacs with the w32 abort dialog disabled.  Expect the
19303         status of the aborted Emacs sub-process to be 3 on MS-Windows and
19304         2 on MS-DOS.
19306 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
19308         dired-delete-file:  Dont't ask for empty dirs
19310         * lisp/dired.el (dired--yes-no-all-quit-help): New defun.
19311         (dired-delete-file): Use it.  Dont't ask for empty dirs (Bug#27940).
19313         * test/lisp/dired-tests.el (dired-test-with-temp-dirs):
19314         New auxiliar macro.
19315         (dired-test-bug27940): Add new test.
19317 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
19319         Ask files for deletion in buffer order: top first, botton later
19321         * lisp/dired.el (dired-do-flagged-delete, dired-do-delete):
19322         Call `nreverse' t invert the output of `dired-map-over-marks'.
19324 2017-08-09  Alexander Gramiak  <agrambot@gmail.com>
19326         Use help-mode xrefs in describe-font
19328         * lisp/international/mule-diag.el (describe-font): Use help-setup-xref
19329         (Bug#27890).
19331 2017-08-09  Katsumi Yamaoka  <yamaoka@jpl.org>
19333         Don't try to jump to non-existent part (bug#28013)
19335         * lisp/gnus/gnus-art.el (gnus-article-edit-part): Don't try to jump to
19336         the next part if there is the only one part in the article (bug#28013).
19338 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
19340         Replace some uses of eval
19342         There are a number of places where eval is used unnecessarily to get
19343         or set the value of a symbol.
19344         * lisp/calendar/calendar.el (diary-date-forms): Use default-value in
19345         custom setter.
19346         * lisp/desktop.el (desktop-clear): Use set-default instead.
19347         * lisp/international/ogonek.el (ogonek-read-encoding): Use
19348         symbol-value.
19350 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
19352         Convert uses of looking-at in viper-ex to following-char
19354         * lisp/emulation/viper-ex.el (viper-get-ex-token): Bind
19355         (following-char) and use it in the subsequent cond's clauses.
19356         (viper-ex, ex-quit, viper-get-ex-file): Use following-char instead.
19357         Convert single branch ifs to when
19359 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
19361         Some cleanup in message.el
19363         * lisp/gnus/message.el (message-cross-post-insert-note):
19364         (message-strip-forbidden-properties): Mark unused args.
19365         (message-canlock-generate): Remove extinct variable
19366         sha1-maximum-internal-length.
19367         (message-make-mail-followup-to): Use loop's thereis clause.
19369 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
19371         Document make-temp-name magic limitations
19373         * doc/lispref/files.texi (Unique File Names):
19374         * src/fileio.c (Fmake_temp_name): Document that make-temp-name
19375         does not guarantee uniqueness on magic file names.
19377 2017-08-08  Tom Tromey  <tom@tromey.com>
19379         Show number of errors in compilation-mode mode-line
19381         Bug#25354
19382         * lisp/progmodes/compile.el (compilation-num-errors-found): Provide
19383         default value.
19384         (compilation-num-warnings-found, compilation-num-infos-found): New
19385         defvars.
19386         (compilation-mode-line-errors): New defconst.
19387         (compilation-face): Remove.
19388         (compilation-type, compilation--note-type): New functions.
19389         (compilation-parse-errors): Call compilation--note-type.
19390         (compilation-start): Include compilation-mode-line-errors in
19391         mode-line-process.
19392         (compilation-setup): Initialize compilation-num-* variables to 0.
19393         (compilation-handle-exit): Include compilation-mode-line-errors in
19394         mode-line-process.
19395         * doc/emacs/building.texi (Compilation): Document new feature.
19397 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
19399         Do some cleanup in mailcap.el
19401         * lisp/net/mailcap.el: Use lexical-binding.
19402         (mailcap--set-user-mime-data, mailcap-possible-viewers): Use pcase
19403         destructuring.
19404         (mailcap-mime-data): Remove some entries for ancient functions.
19405         (mailcap-parse-mailcaps, mailcap-mime-info): Nix single-branch ifs.
19406         (mailcap-parse-mimetype-file): Just use append.
19407         (mailcap-command-p): Remove unused function.
19409 2017-08-08  Tino Calancha  <tino.calancha@gmail.com>
19411         query-replace: Undo replacements performed with 'comma
19413         During a `query-replace', the char ',' replaces the character
19414         at point and doesn't move point;  right after, the char 'u'
19415         must undo such replacement (Bug#27268).
19416         * lisp/replace.el (replace--push-stack):
19417         New macro extracted from `perform-replace'.
19418         (perform-replace): Use it.
19419         * test/lisp/replace-tests.el (query-replace--undo): Add test.
19421 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
19423         Don't define gv expanders in compiler's runtime (Bug#27016)
19425         This prevents definitions being compiled from leaking into the current
19426         Emacs doing the compilation.
19427         * lisp/emacs-lisp/gv.el (gv-define-expander): Use function-put instead
19428         of `put' with `eval-and-compile'.
19429         * test/lisp/emacs-lisp/gv-tests.el: New tests.
19431 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
19433         Let the cl-typep effects of defclass work during compilation (Bug#27718)
19435         * lisp/emacs-lisp/eieio.el (defclass): Use `define-symbol-prop'
19436         instead of `put'.
19437         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
19438         (eieio-tests--dummy-function): Remove.
19439         (eieio-test-25-slot-tests, eieio-test-23-inheritance-check): Don't
19440         expect to fail if compiled.
19442 2017-08-08  Stefan Monnier  <monnier@IRO.UMontreal.CA>
19443             Noam Postavsky  <npostavs@gmail.com>
19445         Let `define-symbol-prop' take effect during compilation
19447         * src/fns.c (syms_of_fns): New variable `overriding-plist-environment'.
19448         (Fget): Consult it.
19449         * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): Let-bind
19450         it to nil.
19451         (byte-compile-define-symbol-prop): New function, handles compilation
19452         of top-level `define-symbol-prop' and `function-put' calls by putting
19453         the symbol setting into `overriding-plist-environment'.
19455 2017-08-08  Gemini Lasswell  <gazally@runbox.com>
19457         Add a test of handling of circular values to testcover-tests
19459         * test/lisp/emacs-lisp-testcover-resources/testcases.el
19460         (testcover-testcase-cyc1): New function.
19461         (testcover-tests-circular-lists-bug-24402): New test.
19463 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
19465         Don't error on circular values in testcover
19467         * lisp/emacs-lisp/testcover.el (testcover-after, testcover-1value):
19468         Consider circular lists to be non-equal instead of signaling error.
19470 2017-08-08  Alexander Gramiak  <agrambot@gmail.com>
19472         Catch argument and macroexpansion errors in ert
19474         This kludge catches errors caused by evaluating arguments in ert's
19475         should, should-not, and should-error macros; it also catches
19476         macroexpansion errors inside of the above macros (Bug#24402).
19478         * lisp/emacs-lisp/ert.el: (ert--should-signal-hook): New function.
19479         (ert--expand-should-1): Catch macroexpansion errors.
19480         * test/lisp/emacs-lisp/ert-tests.el (ert-test-should-error-argument)
19481         (ert-test-should-error-macroexpansion): Tests for argument and
19482         expansion errors.
19484 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
19486         Revert "Add Enchant support to ispell.el (Bug#17742)"
19488         This reverts commit 7136e6723d87b51ae3089f5ceef6b14621bfaf87.
19490 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
19492         Revert "Add support for arguments in ALTERNATE_EDITOR to emacsclient"
19494         This reverts commit 28f1fe97daa13e13714e6c43c9a6fbb0c0e99a26.
19496 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
19498         Add support for arguments in ALTERNATE_EDITOR to emacsclient
19500         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
19501         corresponding command-line argument, into space-separated tokens.
19502         * etc/NEWS: Document.
19503         * test/lib-src/emacsclient-tests.el: Add a test.
19505 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
19507         Add Enchant support to ispell.el (Bug#17742)
19509         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
19510         (ispell-really-enchant): Add variable.
19511         (ispell-check-version): If using Enchant, check it’s new enough (at
19512         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
19513         without.)
19514         (ispell-enchant-dictionary-alist): Add variable.
19515         (ispell-find-enchant-dictionaries): Add function, based on
19516         ispell-find-aspell-dictionaries.
19517         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
19518         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
19519         old ispell name to locale mapping code for Enchant too.
19520         (ispell-send-replacement): Make it work with Enchant.
19522 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
19524         Allow async command output buffer to be shown only on output
19526         * lisp/simple.el (async-shell-command-display-buffer): Add
19527         defcustom.
19528         (shell-command): Use the new defcustom to determine whether to show
19529         the buffer immediately, or add a process filter that shows it only
19530         when there is some output.
19531         * etc/NEWS: Document the new variable.
19532         * doc/emacs/misc.texi: Likewise.
19534         Thanks to Juri Linkov and Eli Zaretskii for advice and guidance.
19536 2017-08-07  Eli Zaretskii  <eliz@gnu.org>
19538         Fix infinite recursion under prettify-symbols-mode and linum-mode
19540         * src/xdisp.c (get_overlay_strings_1)
19541         (handle_single_display_spec, push_prefix_prop): Invalidate the
19542         composition information before starting to iterate on a string.
19543         Otherwise we might think in set_iterator_to_next that we are
19544         delivering characters from a composition, and do all kinds of
19545         nonsensical things, like over-step the string end.  (Bug#27761)
19547 2017-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
19549         * lisp/gnus/gnus-bcklg.el (gnus-backlog-request-article): Fix thinko.
19551 2017-08-07  Martin Rudalics  <rudalics@gmx.at>
19553         Fix doc-string of `delete-other-windows'
19555         * lisp/window.el (delete-other-windows): Fix doc-string.
19557 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
19559         Fix a couple more make-temp-file races
19561         * lisp/files.el (basic-save-buffer-2, move-file-to-trash):
19562         Use make-temp-name, not make-temp-file with retry.
19563         (basic-save-buffer-2): Use condition-case, instead of
19564         unwind-protect with a success flag.
19566 2017-08-07  Noam Postavsky  <npostavs@gmail.com>
19568         Merge null and without-null regexp alists (Bug#27840, Bug#27873)
19570         * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Allow for NUL
19571         characters following filename in grep context lines.
19572         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
19573         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): Remove.
19574         (grep-regexp-alist): Recombine their contents here.
19575         (grep-mode):
19576         * lisp/cedet/semantic/symref/grep.el
19577         (semantic-symref-parse-tool-output-one-line):
19578         * lisp/progmodes/xref.el (xref-collect-matches): Use the variable
19579         `grep-regexp-alist' rather than the function.
19581 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
19583         Fix some crashes on self-modifying Elisp code
19585         Prompted by a problem report by Alex in:
19586         https://lists.gnu.org/r/emacs-devel/2017-08/msg00143.html
19587         * src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
19588         Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
19589         it is likely to run a bit faster with typical hardware caches.
19590         (Fif): Use Fcdr instead of XCDR, to avoid crashing on
19591         self-modifying S-expressions.
19592         (Fsetq, Flet, eval_sub): Count the number of arguments as we go
19593         instead of trusting an Flength prepass, to avoid problems when the
19594         code is self-modifying.
19595         (Fquote, Ffunction, Fdefvar, Fdefconst): Prefer !NILP to CONSP
19596         where either will do.  This is mostly to document the fact that
19597         the value must be a proper list.  It's also a tiny bit faster on
19598         typical machines nowadays.
19599         (Fdefconst, FletX): Prefer XCAR+XCDR to Fcar+Fcdr when either will do.
19600         (eval_sub): Check that the args are a list as opposed to some
19601         other object that has a length. This prevents e.g. (if . "string")
19602         from making Emacs dump core in some cases.
19603         * test/src/eval-tests.el (eval-tests--if-dot-string)
19604         (eval-tests--let-with-circular-defs, eval-tests--mutating-cond):
19605         New tests.
19607 2017-08-06  Eli Zaretskii  <eliz@gnu.org>
19609         * etc/tutorials/TUTORIAL.he: Update to match recent changes to TUTORIAL.
19611 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
19613         Minor tweak in a dired test
19615         * test/lisp/dired-tests.el (dired-test-bug27968):
19616         Ensure the new header has different length than the original one.
19618 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
19620         dired-delete-file: Do not TAB complete the user answer
19622         This action might delete directories containing valuable information.
19623         Before previous commit, we prompted users with `yes-or-no-p'
19624         which doesn't TAB complete the user answer.  Let's play safe and
19625         keep requiring full answers.
19626         * lisp/dired.el (dired-delete-file): Use `read-string'
19627         instead of `completing-read' to read the user answers.
19629 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
19631         dired-do-delete: Allow to delete dirs recursively without prompts
19633         * lisp/dired.el (dired-delete-file): Accept 2 additional answers:
19634         'all', to delete all directories recursively and no prompt anymore.
19635         'quit', to cancel directory deletions (Bug#27940).
19636         Show help message when user inputs 'help'.
19637         (dired-do-flagged-delete): Bind locally dired-recursive-deletes
19638         so that we can overwrite its global value.
19639         Wrapp the loop within a catch '--delete-cancel to catch when
19640         the user abort the directtry deletion.
19641         * doc/emacs/dired.texi (Dired Deletion): Update manual.
19642         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.1):
19643         Announce this change.
19645 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
19647         Fix a couple of make-temp-file races
19649         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
19650         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
19651         Use make-temp-file, not make-temp-name, to avoid an unlikely race
19652         that could lose data.  Remove the deletion hook as quickly as
19653         possible after the file is renamed; though a race still remains
19654         here, it is smaller than before.
19656 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
19658         Dired w/ eshell-ls: Handle shell wildcards in file name
19660         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
19661         Use eshell-extended-glob (Bug#27844).
19662         * test/lisp/dired-tests.el (dired-test-bug27844): Add test.
19664 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
19666         dired-revert: save line numbers instead of positions
19668         Positions might change if the length of one dired header line
19669         changes; this happen, for instance, if we add new files.
19670         Instead, line numbers are invariant under shrinks/enlargements
19671         of the file header.
19672         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
19673         * lisp/dired.el (dired-save-positions): Save the line numbers at point.
19674         (dired-restore-positions): Use forward-line to restore the original
19675         position (Bug#27968).
19676         * test/lisp/dired-tests.el (dired-test-bug27968): Add test.
19678 2017-08-06  Tom Tromey  <tom@tromey.com>
19680         Respect comment-auto-fill-only-comments
19682         Respect comment-auto-fill-only-comments when auto-filling and a
19683         comment syntax is defined.
19685         * lisp/newcomment.el (comment-indent-new-line): Do not check
19686         comment-auto-fill-only-comments.
19687         * lisp/simple.el (internal-auto-fill): New defun.
19688         * src/cmds.c (internal_self_insert): Call Qinternal_auto_fill, not
19689         auto_fill_function.
19690         (syms_of_cmds): Define Qinternal_auto_fill.
19692 2017-08-05  Richard Stallman  <rms@gnu.org>
19694         * etc/tutorials/TUTORIAL: Update.
19696 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
19698         Unify CNS11643-15 in a way that avoids segfaults
19700         * lisp/international/mule-conf.el: Redo unification of
19701         cns11643-15.  (Bug#27964)
19702         (chinese-cns11643-15): Add the missing :unify-map attribute.
19704 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
19706         Avoid segfaults while producing Punct.el
19708         * lisp/international/mule-conf.el: Undo unification of
19709         cns11643-15, as that causes segfaults during bootstrap.
19710         (Bug#27964)
19712 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
19714         Make header line in some modes be sensitive to display-line-numbers
19716         * lisp/ruler-mode.el (ruler-mode-ruler, ruler-mode-window-col):
19717         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header)
19718         (tabulated-list-print-entry): Account for the width taken by
19719         line-number display.  (Bug#27895)
19721 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
19723         Fix a bug in 'generate-new-buffer-name'
19725         * src/buffer.c (Fgenerate_new_buffer_name): Test IGNORE for being
19726         nil before calling string-equal, since the latter will compare
19727         "nil and 'nil' as equal.  (Bug#27966)
19729         * test/src/buffer-tests.el
19730         (test-generate-new-buffer-name-bug27966): New test.
19732 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
19734         Unify CNS11643-15
19736         * lisp/international/mule-conf.el (chinese-cns11643-15): Add a
19737         unify-charset form for it.  (Bug#27964)
19739 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
19741         Improve test of error message when Emacs cannot be suspended
19743         * lisp/term/x-win.el (x-win-suspend-error):
19744         * lisp/term/ns-win.el (ns-suspend-error): Improve the error
19745         message.  (Bug#27901)
19747 2017-08-05  Alexander Gramiak  <agrambot@gmail.com>
19749         Make "C-h o" show faces as well as variables
19751         * lisp/faces.el (describe-face): Return (buffer-string).  Reorder
19752         the placement of variables/faces in describe-symbol, to put more
19753         emphasis on the variable entry rather than the face.  (Bug#24543)
19755 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
19757         Fix files-tests.el for MS-Windows
19759         * test/lisp/files-tests.el
19760         (files-tests--file-name-non-special--subprocess): Fix this test
19761         for MS-Windows.
19763 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
19765         Improve documentation of 'region-extract-function'
19767         * lisp/simple.el (region-extract-function): Rename the argument to
19768         METHOD.  Doc fix.  (Bug#27927)
19770 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
19772         Merge from gnulib
19774         This incorporates:
19775         2017-08-04 manywarnings: port to 64-bit GCC builds of Emacs
19776         2017-08-01 manywarnings: port to 32-bit GCC bug
19777         * lib/gnulib.mk.in: Regenerate.
19778         * m4/manywarnings.m4: Copy from gnulib.
19780 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
19782         Port recent rename changes to Ubuntu 14.04
19784         * src/sysdep.c (renameat_noreplace) [!RENAME_NOREPLACE]:
19785         Don’t use syscall.  Problem reported by Tino Calancha (Bug#27946#10).
19787 2017-08-05  Tino Calancha  <tino.calancha@gmail.com>
19789         insert-directory-wildcard-in-dir-p: Tweak regexp
19791         This function must return non-nil for a wildcard like '/*/*.txt'.
19792         * lisp/files.el (insert-directory-wildcard-in-dir-p): Adjust regexp.
19793         * test/lisp/files-tests.el (files-tests--insert-directory-wildcard-in-dir-p):
19794         Add test.
19796 2017-08-04  Toby S. Cubitt  <tsc25@cantab.net>
19798         Implement iterator generator for avl-trees.
19800         * lisp/emacs-lisp/avl-tree.el (avl-tree-iter): New iter-defun.
19802 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
19804         ls-lisp: Drop eshell dependencies
19806         Use 'file-expand-wildcards' instead of 'eshell-extended-glob' to
19807         expand the wildcards.
19808         Suggested by Fabrice Popineau in:
19809         https://lists.gnu.org/r/emacs-devel/2017-08/msg00108.html
19810         * lisp/ls-lisp.el (ls-lisp--dired): Use file-expand-wildcards.
19812 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
19814         Fix dired-test-bug27631 on MS-Windows
19816         Skip the test if Dired use 'ls' emulation with lisp.  The same
19817         bug is tested in their respective test suites: ls-lisp-tests.el
19818         and em-ls-tests.el.
19819         * test/lisp/dired-tests.el (dired-test-bug27631): Skip test if 'ls-lisp'
19820         or 'eshell' features are enabled.
19822 2017-08-04  Eli Zaretskii  <eliz@gnu.org>
19824         Fix dired-test-bug25609 on MS-Windows
19826         * test/lisp/dired-tests.el (dired-test-bug25609): On MS-Windows,
19827         pass temporary files through file-truename, to avoid bogus
19828         failures due to file-name comparison as strings.
19830 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
19832         Fix 2 tests that fail in MS-Windows
19834         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
19835         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
19836         Add comments to explain the test logic.
19837         Pass '--binary' option to 'patch' program in windows environments.
19838         Check explicitly that a backup is created before compare file contents.
19840         * test/lisp/dired-tests.el (dired-test-bug25609):
19841         Declare variable 'dired-dwim-target' right before the test.
19842         Add comments to explain the test logic.
19843         Ensure, before test the bug condition, that we are displaying the
19844         2 dired buffers created in this test, and no other dired buffer
19845         is shown.
19847 2017-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
19849         * lisp/shell.el (explicit-shell-file-name): Mention shell-file-name
19851         * lisp/files.el (insert-directory): Don't hardcode "-c".
19852         * lisp/term.el (term, ansi-term): Use shell-file-name.
19854 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
19856         Fix version numbers for some GnuTLS features
19858         Problem reported by Glenn Morris (Bug#27708#58).
19859         * src/gnutls.c (HAVE_GNUTLS_X509_SYSTEM_TRUST):
19860         New macro.  Use it instead of low-level version number checks.
19861         (HAVE_GNUTLS_AEAD): Move here from gnutls.h, and rename from
19862         HAVE_GNUTLS3_AEAD.  All uses changed.  Indent preprocessor lines.
19863         * src/gnutls.h (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST)
19864         (HAVE_GNUTLS3_HMAC): Remove, since these were available
19865         before GnuTLS 3.0.0 and the code checks them only if HAVE_GNUTLS3
19866         is defined.  Remove all uses; this simplifies the code a bit.
19868 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
19870         Port recent rename changes to RHEL 7 + NFS
19872         Problem reported by Ted Zlatanov in:
19873         https://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
19874         * src/fileio.c (Frename_file): On RHEL 7 + NFS, renameat2 can fail
19875         with errno == EINVAL when it is not supported.  So treat that case
19876         like errno == ENOSYS.  Also, when ok_if_already_exists is neither
19877         nil nor an integer, just call plain rename; this avoids an extra
19878         syscall to renameat2 when the latter fails with errno == EINVAL or
19879         ENOSYS or ENOENT.
19881 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
19883         Port GnuTLS usage to Ubuntu 16.04.2 LTS
19885         * src/gnutls.h (HAVE_GNUTLS3_AEAD): Define only if GnuTLS 3.5.1 or
19886         later, as opposed to the old 3.4.0 or later.
19888 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
19890         Simplify configuration of HAVE_GNUTLS3 etc.
19892         There's only one GnuTLS, so configuring these symbols at
19893         'configure' time is overkill.  Simplify things by moving their
19894         configuration to src/gnutls.h (Bug#27708).
19895         * configure.ac (HAVE_GNUTLS3, HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
19896         (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST): Move these definitions
19897         from here ...
19898         * src/gnutls.h: ... to here, and simplify.
19900 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
19902         Default to --with-mailutils if it is installed
19904         * configure.ac (with_mailutils): Default to 'yes' if GNU Mailutils
19905         is installed.  See:
19906         https://lists.gnu.org/r/emacs-devel/2017-08/msg00054.html
19908 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
19910         Clarify when autogen.sh should run only autoconf
19912         * Makefile.in (configure, bootstrap): Run ‘./autogen.sh autoconf’,
19913         not plain ‘./autogen.sh’, to make it clear that only
19914         autoconf-related tools should be run here.
19916 2017-08-02  Toon Claes  <toon@iotcl.com>
19918         .gitlab-ci.yml: Use stretch Debian image instead of unstable
19920 2017-08-02  Stephen Berman  <stephen.berman@gmx.net>
19922         Add debugging messages to a Dired test
19924         * test/lisp/dired-tests.el (dired-test-bug27243-01): Log
19925         positions saved and restored by dired-revert to try and find
19926         out why the test fails on Hydra.
19928 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
19930         ls-lisp: Autoload call instead of cookie
19932         * lisp/ls-lisp.el (eshell-extended-glob): autoload call instead of cookie.
19934 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
19936         When renaming a file, ask only if EEXIST or ENOSYS
19938         * src/fileio.c (Frename_file): Avoid calling Ffile_directory_p
19939         more than once on FILE.  Use renameat_noreplace, so that we can
19940         ask the user (and unlink and retry) only if this fails with errno
19941         == EEXIST or ENOSYS.  This avoids the need to ask the user for
19942         permission to do an operation that will fail anyway.  Simplify
19943         computation of ok_if_already_exists for subsidiary functions.
19944         * src/filelock.c (rename_lock_file): Prefer renameat_noreplace
19945         if it works, as this avoids the need to link and unlink.
19946         * src/lisp.h (renameat_noreplace): New decl.
19947         * src/sysdep.c [HAVE_LINUX_FS_H]: Include linux/fs.h and sys/syscall.h.
19948         (renameat_noreplace): New function.
19950 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
19952         When creating a link, ask only if EEXIST
19954         * src/fileio.c (Fadd_name_to_file, Fmake_symbolic_link):
19955         Ask the user (and unlink and retry) only if link creation fails
19956         with errno == EEXIST.  This avoids the need to ask the user for
19957         permission to do an operation that will fail anyway.
19959 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
19961         dired-align-file: Inherit text properties in inserted spaces
19963         * lisp/dired.el (dired-align-file): Inherit text
19964         properties in inserted spaces (Bug#27899).
19965         * test/lisp/dired-tests.el (dired-test-bug27899): Add test.
19967 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
19969         Don't assume /bin/sh as the 'sh' location in the local host
19971         * lisp/dired.el (dired-insert-directory): Use executable-find in
19972         a local host.
19974 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
19976         Move dired tests using ls emulation to different files
19978         Suggested in:
19979         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
19980         * test/lisp/dired-tests.el (dired-test-bug27693)
19981         (dired-test-bug27762, dired-test-bug27817)
19982         (dired-test-bug27631, dired-test-bug27843): Delete those
19983         parts requiring either ls-lisp or eshell-ls.
19985         * test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762)
19986         (ls-lisp-test-bug27631, ls-lisp-test-bug27693):
19987         Add all dired tests using ls-lisp here.
19989         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631)
19990         (em-ls-test-bug27817, em-ls-test-bug27843): New test file.  Add
19991         all dired tests using eshell-ls here.
19993 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
19995         * test/lisp/ls-lisp-tests.el: Rename it from ls-lisp.el
19997 2017-08-02  Katsumi Yamaoka  <yamaoka@jpl.org>
19999         * lisp/gnus/mm-uu.el (mm-uu-org-src-code-block-extract):
20000         Say the handle is already decoded.
20001         cf. <yw.87lgnh5cfv.fsf@alex.chromebook> in the info-gnus-english list.
20003 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
20005         Don’t worry about unlink if errno == ENOENT
20007         * src/fileio.c (Fdelete_file):
20008         * src/keyboard.c (Fopen_dribble_file): Do not report failure to
20009         remove a file if unlink fails with errno == ENOENT.  This can
20010         happen even if Emacs is the only program removing the file, in
20011         case an NFS cache overflows.  The file does not exist if errno ==
20012         ENOENT, so it is OK to proceed.
20014 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
20016         Fix misalignment in Dired when dired-directory is a cons
20018         * lisp/dired.el (dired--need-align-p, dired--align-all-files):
20019         New defuns.
20020         (dired-internal-noselect): Call dired--align-all-files when
20021         dired-directory is a cons (Bug#27762).
20022         * test/lisp/dired-tests.el (dired-test-bug27762): Test should pass.
20024 2017-08-01  Eli Zaretskii  <eliz@gnu.org>
20026         Fix some dired-tests.el on MS-Windows
20028         * test/lisp/dired-tests.el (dired-test-bug27243-01)
20029         (dired-test-bug27243-02): On MS-Windows, pass test-dir through
20030         file-truename, to avoid bogus failures due to file-name comparison
20031         as strings.
20033 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
20035         Insert subdir content if dir-or-list is a string w/o wildcards
20037         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
20038         Append '("-d") into 'eshell-ls-dired-initial-args'
20039         if 'dired-directory' is a cons or there are wildcars (Bug#27843).
20040         * test/lisp/dired-tests.el (dired-test-bug27843): Add test.
20042 2017-08-01  Stephen Berman  <stephen.berman@gmx.net>
20044         Update todo-mode defcustoms in a less hideous way
20046         * lisp/calendar/todo-mode.el (todo-reevaluate-filelist-defcustoms)
20047         (todo-reevaluate-default-file-defcustom)
20048         (todo-reevaluate-category-completions-files-defcustom)
20049         (todo-reevaluate-filter-files-defcustom): Delete these functions.
20050         (todo-update-filelist-defcustoms): New function.  This replaces
20051         todo-reevaluate-filelist-defcustoms, using the 'custom-type'
20052         property instead of re-evaluating the defcustoms.
20053         (todo-add-file, todo-rename-file, todo-delete-file)
20054         (todo-delete-category, todo-move-category)
20055         (todo-convert-legacy-files, todo-check-file): Replace call of
20056         todo-reevaluate-filelist-defcustoms by
20057         todo-update-filelist-defcustoms.
20058         (todo-show, todo-category-completions): Replace call of
20059         todo-reevaluate-* function by use of 'custom-type' property.
20061 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
20063         Add more should form calls in a failing dired test
20065         Some dired tests fail intermittently in hydra.  Add few
20066         more should form calls for debugging.
20067         See:
20068         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
20069         * test/lisp/dired-tests.el (dired-test-bug27243-01): Add few more should
20070         forms for debugging.
20072 2017-08-01  Michael Albinus  <michael.albinus@gmx.de>
20074         Follow SAUNA recommendations for display-line-numbers-type
20076         * lisp/display-line-numbers.el (display-line-numbers-type): Do not autoload.
20078         * lisp/menu-bar.el (display-line-numbers-type): Declare.
20080 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
20082         Avoid most stat calls when completing file names
20084         * admin/merge-gnulib (GNULIB_MODULES): Add d-type.
20085         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
20086         * m4/d-type.m4: New file, copied from gnulib.
20087         * src/dired.c (DT_UNKNOWN, DT_DIR, DT_LINK)
20088         [!HAVE_STRUCT_DIRENT_D_TYPE]: New constants.
20089         (dirent_type): New function.
20090         (file_name_completion): Use it, to avoid unnecessary calls to
20091         stat-like functions on GNU/Linux and other platforms with d_type.
20092         (file_name_completion_stat): Just follow the link; there is no
20093         need to try first with AT_SYMLINK_NOFOLLOW since the directory
20094         entry was already checked to exist.
20096 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
20098         dired-tests: Unload tested features after test them
20100         Some tests are for Dired with ls-lisp or eshell-ls.
20101         Requiring these features add an advice on `dired' and
20102         might affect other tests.
20103         Do not require these features at the top of the file; require
20104         then inside the tests and unload then at the end.
20105         * test/lisp/dired-tests.el (dired-test-bug27693)
20106         (dired-test-bug7131, dired-test-bug27817, dired-test-bug27631):
20107         require ls-lisp and/or eshell-ls inside the test; unload the
20108         features at the end.
20110 2017-07-31  Michael Albinus  <michael.albinus@gmx.de>
20112         Small adaptions for directory wildcards
20114         * lisp/dired.el (dired-insert-directory): Remove "--dired"
20115         when there are wildcards, and the directory is remote.
20117         * test/lisp/net/tramp-tests.el (tramp--test-make-temp-name):
20118         Adapt docstring.
20119         (tramp-test17-dired-with-wildcards): Skip for all methods but
20120         those from tamp-sh.p.
20122 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
20124         * lisp/dired.el (dired-trivial-filenames): Use \` and \' to match
20125         string bounds.
20127 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
20129         Merge from gnulib
20131         This incorporates:
20132         2017-07-30 Don't interpret EOVERFLOW to mean nonexistence
20133         * lib/tempname.c: Copy from gnulib.
20135 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
20137         ls-lisp: Do not require em-glob at top of the file
20139         Require em-glob inside 'ls-lisp--dired'.  This is necessary to
20140         not break the Emacs build.
20141         See following thread for details:
20142         https://lists.gnu.org/r/emacs-devel/2017-07/msg01083.html
20143         * lisp/ls-lisp.el (dired-goto-next-file)
20144         (dired-read-dir-and-switches, eshell-extended-glob):
20145         Add function declarations.
20146         * lisp/eshell/em-ls.el (dired-goto-next-file): Fix function declaration.
20148 2017-07-30  Michael Albinus  <michael.albinus@gmx.de>
20150         * lisp/dired.el (dired-insert-directory): Move `file-remote-p' check up.
20152         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): New test.
20154 2017-07-30  Simen Heggestøyl  <simenheg@gmail.com>
20156         Change default CSS property face
20158         * lisp/textmodes/css-mode.el (css-property): Inherit from
20159         `font-lock-keyword-face' instead of `font-lock-variable-name-face' to
20160         distinguish CSS properties from variables.
20162 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
20164         Dired: Handle posix wildcards in directory part
20166         Allow Dired to handle calls like
20167         \(dired \"~/foo/*/*.el\"), that is, with wildcards within
20168         the directory part of the file argument (Bug#27631).
20169         * lisp/files.el (insert-directory-wildcard-in-dir-p): New predicate.
20170         (insert-directory-clean): New defun extracted from insert-directory.
20171         (insert-directory)
20172         * lisp/dired.el (dired-internal-noselect)
20173         (dired-insert-directory): Use the new predicate; when it's true,
20174         handle the directory wildcards with a shell call.
20175         * lisp/eshell/em-ls.el (eshell-ls-use-in-dired): Add/remove both advices.
20176         (eshell-ls-unload-hook): New defun.  Use it in
20177         eshell-ls-unload-hook instead of an anonymous function.
20178         (eshell-ls--dired)
20179         * lisp/ls-lisp.el (ls-lisp--dired):
20180         Advice dired to handle wildcards in the directory part with both
20181         eshell-ls and ls-lisp.
20182         * etc/NEWS: Announce it.
20183         * doc/emacs/dired.texi (Dired Enter): Update manual.
20184         * test/lisp/dired-tests.el (dired-test-bug27631): Add test.
20186 2017-07-29  Tino Calancha  <tino.calancha@gmail.com>
20188         * lisp/find-lisp.el: Enable lexical binding
20190         * lisp/find-dired.el: Enable lexical binding
20192 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
20194         * lisp/kmacro.el: Use lexical binding.
20196 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
20198         Use lexical-binding in dired-aux.el
20200         * lisp/dired.el: Use lexical binding.
20201         (dired-do-shell-command): Remove unused bindings.
20203 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
20205         * lisp/ido.el: Use lexical binding.
20207         * lisp/whitespace.el: Use lexical binding.
20209 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
20211         artist.el: Avoid error with keyboard command invocation
20213         * lisp/textmodes/artist.el (artist-mouse-choose-operation):
20214         Call x-popup-menu with t instead of last-nonmenu-event as the
20215         value of the position argument; this allows invoking the
20216         command from the keyboard without raising an error (bug#27819).
20218 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
20220         Preserve point under 'dired-auto-revert-buffer' (third case)
20222         * lisp/files.el (find-file): Use pop-to-buffer-same-window
20223         instead of switch-to-buffer.  This preserves Dired window
20224         point when dired-auto-revert-buffer is non-nil.  (Bug#27243)
20226         * test/lisp/dired-tests.el (dired-test-bug27243-01)
20227         (dired-test-bug27243-02, dired-test-bug27243-03): New tests.
20228         The first two replace a previous test that combined them; that
20229         test intermittently fails in the Hydra build system, so maybe
20230         separating the two cases will help locate the point of
20231         failure.  The third test involves find-file but is here
20232         because it, like the others, is testing the effect of
20233         dired-auto-revert-buffer.
20235 2017-07-29  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
20237         Do not unset user key remaps in dired-x
20239         * lisp/dired-x.el (dired-x-bind-find-file): Don't map any keys if user
20240         sets dired-x-hands-off-my-keys.  (Bug#27828)
20242 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
20244         Improve documentation of 'occur'
20246         * doc/emacs/search.texi (Other Repeating Search):
20247         * lisp/replace.el (occur): Make the documentation of 'occur' be
20248         more accurate when matches overlap.  (Bug#27818)
20250 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
20252         Minor copyedits of comments in faces.el
20254         * lisp/faces.el (face-font-family-alternatives): More info about
20255         requirements from "Monospace Serif".
20257 2017-07-29  Paul Eggert  <eggert@cs.ucla.edu>
20259         Do not worry about paxctl on newer NetBSD
20261         Problem reported privately by Thomas Klausner.
20262         * configure.ac (emacs_uname_r): New var.  Use it to avoid paxctl
20263         on newer NetBSD platforms, where it is not needed.  Also use it to
20264         simplify Cygwin diagnostic.
20266 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
20268         Clarify documentation of ':inherit' face attribute
20270         * doc/lispref/display.texi (Face Attributes): Document the special
20271         treatment of 'unspecified' in the ':inherit' attribute.
20273 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20275         * lisp/password-cache.el (password-data): Use a hash-table
20277         * lisp/auth-source.el (auth-source-magic): Remove.
20278         (auth-source-forget+, auth-source-forget-all-cached): Adjust to new
20279         format of password-data.
20280         (auth-source-format-cache-entry): Just use a cons.
20282         (password-cache-remove, password-cache-add, password-reset)
20283         (password-read-from-cache, password-in-cache-p): Adjust accordingly.
20285         (Bug#26699)
20287 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20289         * lisp/subr.el (define-symbol-prop): New function
20291         (symbol-file): Make it find symbol property definitions.
20293         * lisp/emacs-lisp/pcase.el (pcase-defmacro):
20294         * lisp/emacs-lisp/ert.el (ert-set-test): Use it instead of `put'.
20295         (ert-describe-test): Adjust call to symbol-file accordingly.
20297 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20299         * lisp/subr.el (method-files): Move function to cl-generic.el
20301         * lisp/emacs-lisp/cl-generic.el (cl-generic-p): New function.
20302         (cl--generic-method-files): New function, moved from subr.el.
20303         * lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use them.
20304         * test/lisp/emacs-lisp/cl-generic-tests.el:
20305         * test/lisp/subr-tests.el: Move and adjust method-files tests accordingly.
20307 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
20309         Preserve this-command-keys across recursive-edit invocations
20311         * src/minibuf.c (read_minibuf, read_minibuf_unwind): Save and
20312         restore this-command-keys, to preserve it across recursive-edit.
20313         (Bug#27470)
20315 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
20317         Improve doc string of 'locate-dominating-file'
20319         * lisp/files.el (locate-dominating-file): Doc fix.  (Bug#27798)
20321 2017-07-28  Drew Adams  <drew.adams@oracle.com>
20323         New commands 'apropos-local-variable', 'apropos-local-value'
20325         * lisp/apropos.el (apropos-local-variable, apropos-local-value):
20326         New functions.  (Bug#27424)
20328         * doc/emacs/help.texi (Apropos): Document 'apropos-local-variable'
20329         and 'apropos-local-value'.
20330         * etc/NEWS: Mention the new commands.
20332 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20334         * lisp/loadhist.el (unload-feature): Remove ad-hoc ELP code
20336         * lisp/emacs-lisp/elp.el (loadhist-unload-element): Un-instrument functions.
20338 2017-07-27  Alan Mackenzie  <acm@muc.de>
20340         Fix C++ class initializers not always being fontified at mode start.
20342         The problem here happened when an "outer list" of declarations moved beyond an
20343         "inner list" containing class initializers.  These weren't being checked for
20344         by the code.
20346         Also, fix places in c-get-fontification-context where point is undefined.
20348         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): when argument
20349         not-front-decl is set, test for class initializers.  Also, anchor point in
20350         places where it is moved and is otherwise undefined.
20352 2017-07-27  Alan Mackenzie  <acm@muc.de>
20354         Fix variables in C++ "for" statement not always being fontified.
20356         The error happened when there was a comma inside template delimiters.
20358         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): In "for"
20359         statements, recognize template delimiters containing "," and "&".
20361 2017-07-27  Michael Albinus  <michael.albinus@gmx.de>
20363         Add watchdog process to tramp-test36-asynchronous-requests
20365         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
20366         New defun.
20367         (tramp-test36-asynchronous-requests): Use a watchdog process,
20368         listening for SIGUSR1.
20370 2017-07-27  Alan Mackenzie  <acm@muc.de>
20372         CC Mode: Fix declarator being cut off from terminator by end of jit-lock chunk
20374         If a declarator is so cut off, extend the fontification chunk to include it.
20376         * lisp/progmodes/cc-mode.el (c-fl-decl-end): New function.
20377         (c-change-expand-fl-region, c-context-expand-fl-region): Use the new function.
20379 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
20381         * lisp/vc/smerge-mode.el: Avoid N² blow up in degenerate cases
20383         (smerge--refine-long-words): New var.
20384         (smerge--refine-chopup-region): Use it.
20386 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
20388         * lisp/url/url-cookie.el: Use lexical-binding
20390         (url-cookie-host-can-set-p): Remove unused var `last'.
20391         Use string-suffix-p.
20392         (url-cookie-list): De morgan.
20393         (url-cookie-quit): Remove.
20394         (url-cookie-mode): Inherit from special-mode.
20395         (url-cookie-mode-map): Simplify accordingly.
20397 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
20399         * lisp/calendar/todo-mode.el (todo-print-buffer-function): Rework docstring.
20401         * lisp/ruler-mode.el (ruler-mode-ruler): Document problem.
20403 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
20405         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
20407         Record this as the function's definition site if it's the first def.
20409 2017-07-26  Glenn Morris  <rgm@gnu.org>
20411         * doc/lispref/loading.texi (When to Autoload): New section.
20413 2017-07-26  Glenn Morris  <rgm@gnu.org>
20415         Stop using unibyte buffers for ert backtraces
20417         * lisp/emacs-lisp/ert.el
20418         (ert-results-pop-to-backtrace-for-test-at-point):
20419         Set multibyte true, not false.  This copies a
20420         debugger-setup-buffer change from 2009-08-30, and stops the
20421         "Backtrace for" header line containing ^X and ^Y.
20423 2017-07-26  Dmitry Gutov  <dgutov@yandex.ru>
20425         Fix semantic-symref-parse-tool-output-one-line after 644cdd1aa0
20427         * lisp/cedet/semantic/symref/grep.el
20428         (semantic-symref-grep--line-re): Delete.
20429         (semantic-symref-parse-tool-output-one-line):
20430         Use regexp and group numbers from (grep-regexp-alist).
20432 2017-07-26  Grégoire Jadi  <daimrod@omecha.info>
20434         Fix cl-defmethod indentation
20436         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
20437         Declare (indent defun).  Fixes bug#23994.
20439 2017-07-26  Martin Rudalics  <rudalics@gmx.at>
20441         Fix two customization types in frame.el
20443         * lisp/frame.el (window-divider-default-bottom-width)
20444         (window-divider-default-right-width): Fix customization types.
20446 2017-07-26  Tino Calancha  <tino.calancha@gmail.com>
20448         Dired: Support eshell-ls from the beginning if the user wants to
20450         * lisp/dired.el (dired-insert-directory): Check for eshell-ls
20451         as well (Bug#27817).
20452         * test/lisp/dired-tests.el (dired-test-bug27817): Add test.
20454 2017-07-26  Mark Oteiza  <mvoteiza@udel.edu>
20456         * lisp/progmodes/sh-script.el (sh-mode): Recognize mkshrc.
20458 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
20460         * lisp/emacs-lisp/eieio-compat.el (eieio--defgeneric-init-form):
20462         Adjust to change in cl-generic-ensure-function.
20464 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
20466         ls-lisp: Add an unload function and enable lexical binding
20468         Enable lexical binding.
20469         * lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
20470         * test/lisp/ls-lisp-tests.el (ls-lisp-unload): Add test.
20472 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
20474         register-read-with-preview: Quit if user input C-g or ESC
20476         * lisp/register.el (register-read-with-preview):
20477         Quit if user input C-g or ESC (bug#27634).
20478         * doc/emacs/regs.texi (Registers): Update manual.
20479         * test/lisp/register-tests.el (register-test-bug27634): Add test.
20481 2017-07-25  Mark Oteiza  <mvoteiza@udel.edu>
20483         Recognize MirBSD Korn shell rc file
20485         * lisp/files.el (auto-mode-alist): Add .mkshrc to the list.
20487 2017-07-25  Glenn Morris  <rgm@gnu.org>
20489         * configure.ac: Be explicit about ImageMagick version in summary.
20491 2017-07-25  Andreas Schwab  <schwab@linux-m68k.org>
20493         Properly align global lispsym
20495         * lib-src/make-docfile.c (close_emacs_globals): Wrap struct
20496         Lisp_Symbols inside struct.
20497         * src/alloc.c (sweep_symbols): Update use of lispsym.
20498         * src/lisp.h (builtin_lisp_symbol): Likewise.
20500 2017-07-25  Paul Eggert  <eggert@cs.ucla.edu>
20502         Do not use ImageMagick 7 and later
20504         Suggested by Glenn Morris (Bug#25967#15).
20505         * configure.ac (IMAGEMAGICK_MODULE): Reject 7 and later.
20507 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
20509         * lisp/progmodes/perl-mode.el: Add support for indented here docs
20511         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
20512         Recognize the new <<~ syntax for indented here docs.
20513         (perl-syntax-propertize-special-constructs): Adjust search of the
20514         end of here docs accordingly.
20516         * test/manual/indent/perl.perl: Add test for indented here docs.
20518 2017-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>
20520         (loadhist-unload-element): Move ERT and cl-generic methods
20522         * lisp/loadhist.el (loadhist-unload-element): Don't define cl-generic
20523         and ert methods here.
20524         (loadhist-unload-element) <(head define-type)>: Remove unused var `slots'.
20526         * lisp/emacs-lisp/cl-generic.el (loadhist-unload-element): Define
20527         unload method for cl-defmethod.
20528         (cl-generic-ensure-function): Remove redundant `defalias'.
20530         * lisp/emacs-lisp/ert.el (ert-set-test): Move the current-load-list
20531         setting here...
20532         (ert-deftest): ...from here.
20533         (loadhist-unload-element): Define unload method for ert-deftest.
20535 2017-07-24  Michael Albinus  <michael.albinus@gmx.de>
20537         Fix Bug#27371
20539         * lisp/loadhist.el (loadhist-unload-element): Declare for
20540         different entry types of `load-history'.
20541         (loadhist--restore-autoload): New variable.
20542         (loadhist--unload-function): New defun.
20543         (unload-feature): Use `loadhist-unload-element'.  Recommended by
20544         Stefan Monnier.  (Bug#27371)
20546         * test/lisp/net/tramp-tests.el (tramp-test39-unload):
20547         Check, that the `tramp-file-name' structure has been unloaded.
20549 2017-07-24  Grégoire Jadi  <gjadi@omecha.info>
20551         Ensure that we parse images right in shr.el
20553         * lisp/net/shr.el (shr-image-fetched): Go back to the
20554         beginning of the buffer before trying to parse the image
20555         fetched.
20557 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
20559         Update .gitignore for Valgrind and no Automake
20561         * .gitignore: Remove .deps/ since we no longer use Automake.
20562         Add vgcore.*[0-9], for debugging Emacs with Valgrind+GDB.
20564 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
20566         Merge from gnulib
20568         This incorporates:
20569         2017-07-23 Rename module 'strftime' to 'nstrftime'
20570         * admin/merge-gnulib (GNULIB_MODULES): Add nstrftime, remove strftime.
20571         * build-aux/config.guess: Copy from gnulib.
20572         * lib/nstrftime.c: Rename from lib/strftime.c.
20573         * m4/nstrftime.m4: Rename from m4/strftime.m4.
20574         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
20576 2017-07-23  Philipp Stephani  <phst@google.com>
20578         Add 'rx' pattern for pcase.
20580         * lisp/emacs-lisp/rx.el (rx): New pcase macro.
20581         * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add unit test.
20583 2017-07-23  Mark Oteiza  <mvoteiza@udel.edu>
20585         Use a named function for global minor mode turn-on argument
20587         * lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
20588         New function.
20589         (global-display-line-numbers-mode): Use it.
20591 2017-07-23  Charles A. Roelli  <charles@aurox.ch>
20593         Enable GUI Emacs without 'make install' on macOS (Bug #27645)
20595         * nextstep/INSTALL: Correct it, and mention that Emacs can be run
20596         from 'src/emacs'.
20598         * src/nsterm.m (applicationDidFinishLaunching:): When Emacs is
20599         launched outside of a macOS application bundle, change its
20600         activation policy from the default 'prohibited' to 'regular'.
20602 2017-07-23  Alan Mackenzie  <acm@muc.de>
20604         Convert CC Mode's c-found-types from an obarray to a hash table.
20606         * lisp/progmodes/cc-engine.el (c-clear-found-types): create a hash table
20607         rather than an obarray.
20608         (c-copy-found-types): Remove.
20609         (c-add-type, c-unfind-type, c-check-type, c-list-found-types): Amend to use
20610         the new hash table.
20611         (c-forward-<>-arglist): Use copy-hash-table rather than c-copy-found-types.
20613 2017-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
20615         Fix image/svg+xml display in shr
20617         * lisp/net/shr.el (shr-put-image): Display svg images as svg
20618         (bug#27799).  I suspect the previous change was checked in by
20619         accident in conjuction with some other svg changes.
20621 2017-07-23  Michael Albinus  <michael.albinus@gmx.de>
20623         * lisp/display-line-numbers.el (display-line-numbers-type): Autoload it.
20625 2017-07-23  Glenn Morris  <rgm@gnu.org>
20627         Don't automatically enable Gconf if Gsettings was found
20629         * configure.ac (HAVE_GCONF) [HAVE_GSETTINGS]:
20630         Don't test for Gconf unless specifically requested.
20631         Gconf was deprecated in favor of Gsettings several years ago.
20633 2017-07-23  Glenn Morris  <rgm@gnu.org>
20635         * configure.ac (MODULES_SUFFIX): Always give it a value.
20637         This prevents a Makefile thinko like "rm *${MODULE_SUFFIX}".
20639 2017-07-23  Glenn Morris  <rgm@gnu.org>
20641         * doc/emacs/frames.texi (Fonts): Mention Gsettings.
20643 2017-07-22  Michael Albinus  <michael.albinus@gmx.de>
20645         Add line numbers display to the Options menu
20647         * lisp/menu-bar.el (toggle-display-line-numbers): Remove.
20648         (menu-bar-display-line-numbers-mode): New defun.
20649         (menu-bar-showhide-line-numbers-menu): New defvar.
20650         (menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'
20652 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
20654         Signal error for symbol names with strange quotes (Bug#2967)
20656         * src/lread.c (read1): Signal an error when a symbol starts with a
20657         non-escaped quote-like character.
20658         * test/src/lread-tests.el (lread-tests--funny-quote-symbols): New
20659         test.
20660         * etc/NEWS: Announce change.
20662 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
20664         Revert "Let delete-selection-mode work with popup-menu commands (Bug#27569)"
20666         It turns out that this change is not needed, and it leaves several
20667         command loops settings not done.
20669         https://lists.gnu.org/r/emacs-devel/2017-07/msg00757.html
20670         https://lists.gnu.org/r/emacs-devel/2017-07/msg00840.html
20672 2017-07-22  Alexander Gramiak  <agrambot@gmail.com>
20674         Add a minor mode interface for display-line-numbers
20676         * lisp/cus-start.el: Use the new display-line-numbers group.
20677         * lisp/display-line-numbers.el: New file.
20679         * doc/emacs/custom.texi (Init Rebinding): Re-add entry that used to
20680         belong to linum-mode.
20681         * doc/emacs/modes.texi (Minor Modes): Summarize the mode.
20682         * etc/NEWS: Document display-line-numbers-mode and its customization
20683         variables, and mention that display-line-numbers-width is
20684         buffer-local.
20686         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-width>: Fix a
20687         typo.
20689 2017-07-22  vividsnow  <vividsnow@gmail.com>  (tiny change)
20691         Support indented HERE-DOCs in cperl-mode
20693         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Support
20694         indented here-docs.  (Bug#27254) (Bug#27697)
20696 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
20698         Document the support for "scrollBar" X resource
20700         * doc/emacs/xresources.texi (Table of Resources): Document the new
20701         'scrollBar' setting.
20702         * etc/NEWS: Document the new 'scrollBar' setting.
20704 2017-07-22  Matthew Bauer  <mjbauer95@gmail.com>  (tiny change)
20706         Add 'scroll-bar-mode' to settings in 'x-apply-session-resources'
20708         * lisp/startup.el (x-apply-session-resources): Add scroll-bar-mode
20709         settings.
20711 2017-07-22  Alexander Kuleshov  <kuleshovmail@gmail.com>
20713         Update ld-script mode (bug#27629)
20715         * lisp/progmodes/ld-script.el: (ld-script-keywords): New commands
20716         NOCROSSREFS_TO and HIDDEN added.  Fix documentation sections
20717         numbers for PROVIDE/PROVIDE_HIDDEN commands.
20718         (ld-script-builtins): New builtin function LOG2CEIL added.
20720 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
20722         Index 'rectangle' in the ELisp manual
20724         * doc/lispref/text.texi (Registers): Index the "rectangle" value.
20725         (Bug#27541)
20727 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
20729         * lisp/subr.el (add-to-history): Doc fix.  (Bug#27494)
20731 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
20733         Doc fixes for kmacro.el functions
20735         * lisp/kmacro.el (kmacro-start-macro, kmacro-call-macro)
20736         (kmacro-end-and-call-macro): Don't use "permanent name", as that
20737         could be misinterpreted.  (Bug#27492)
20739 2017-07-22  Charles A. Roelli  <charles@aurox.ch>
20741         ElDoc: add docstrings and minor refactoring
20743         * lisp/emacs-lisp/eldoc.el (eldoc-edit-message-commands): Add
20744         docstring.
20745         (turn-on-eldoc-mode): Fix capitalization.
20746         (eldoc--supported-p): Add docstring.
20747         (eldoc-schedule-timer): Add docstring and use
20748         'eldoc--supported-p'.
20749         (eldoc-message): Add docstring and make calling convention
20750         clearer.
20751         (eldoc--message-command-p):
20752         (eldoc-pre-command-refresh-echo-area):
20753         (eldoc-display-message-p):
20754         (eldoc-display-message-no-interference-p):
20755         (eldoc-print-current-symbol-info):
20756         (eldoc-docstring-format-sym-doc):
20757         (eldoc-add-command, eldoc-add-command-completions):
20758         (eldoc-remove-command, eldoc-remove-command-completions):
20759         Add docstring.  (Bug#27230)
20761 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
20763         Mention 'C-M-i' as key binding for 'ispell-complete-word'
20765         * doc/emacs/fixit.texi (Spelling): ispell-complete-word
20766         can also be invoked by C-M-i.  (Bug#27349)
20768 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
20770         Fix the eww-search-words description in the Emacs manual
20772         * doc/emacs/search.texi (Word Search):
20773         Include the key binding for eww-search-words in the manual.
20774         Fix the spelling of the 'eww-search-words' command.
20776 2017-07-22  Andrew L. Moore  <slewsys@gmail.com>
20778         Introduce defcustom 'executable-prefix-env'
20780         * lisp/progmodes/executable.el (executable-prefix): Update the doc
20781         string.
20782         (executable-prefix-env): New defcustom.
20783         (executable-set-magic): Use executable-prefix-env.
20785         * etc/NEWS: Document the new variable.
20787 2017-07-22  Glenn Morris  <rgm@gnu.org>
20789         * test/lisp/ibuffer-tests.el: Delete temporary files.
20791 2017-07-21  Glenn Morris  <rgm@gnu.org>
20793         Further attempt to avoid hang in network-stream-tests
20795         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv6-nowait):
20796         Limit the time we wait for the external process.
20798 2017-07-21  Glenn Morris  <rgm@gnu.org>
20800         Stop skipping many ibuffer tests by default
20802         * test/lisp/ibuffer-tests.el (ibuffer-0autoload):
20803         Rename so it sorts first.
20804         (ibuffer-save-filters, ibuffer-filter-inclusion-1)
20805         (ibuffer-filter-inclusion-2, ibuffer-filter-inclusion-3)
20806         (ibuffer-filter-inclusion-4, ibuffer-filter-inclusion-5)
20807         (ibuffer-filter-inclusion-6, ibuffer-filter-inclusion-7)
20808         (ibuffer-filter-inclusion-8, ibuffer-decompose-filter)
20809         (ibuffer-and-filter, ibuffer-or-filter, ibuffer-format-qualifier)
20810         (ibuffer-unary-operand): Require ibuf-ext so tests not skipped.
20812 2017-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
20814         Use lexical-binding in todo-mode.el
20816         Adjust code accordingly and make various minor improvements.
20818         * lisp/calendar/todo-mode.el: Enable lexical-binding.
20819         (dayname, monthname, day, month, year): Make forward defvars
20820         of these keywords from macros defined in calendar.el; wrap
20821         them in with-no-warnings.
20822         (todo-files, todo-files-function, todo-date-pattern)
20823         (todo-mode-line-function, todo-show, todo-forward-category)
20824         (todo-edit-item--header, todo-set-category-number)
20825         (todo-adjusted-category-label-length)
20826         (todo-total-item-counts, todo-filter-items)
20827         (todo-print-buffer-function, todo-convert-legacy-date-time)
20828         (todo-category-number, todo-category-completions)
20829         (todo-read-file-name, todo-read-category)
20830         (todo-validate-name, todo-read-date)
20831         (todo-set-show-current-file, todo-modes-set-1)
20832         (todo-modes-set-2, todo-modes-set-3, todo-mode):
20833         Use #' instead of ' to quote functions.
20834         (todo-files): Use \' instead of $ in regexp.
20835         (todo--files-type-list): New function.
20836         (todo-default-todo-file, todo-category-completions-files)
20837         (todo-filter-files, todo-multiple-filter-files)
20838         (todo-reevaluate-default-file-defcustom)
20839         (todo-reevaluate-category-completions-files-defcustom)
20840         (todo-reevaluate-filter-files-defcustom): Use it.
20841         (todo-show, todo-rename-file, todo-move-category)
20842         (todo-edit-item--text, todo-edit-quit, todo-edit-item--header)
20843         (todo-item-undone, todo-unarchive-items, todo-search)
20844         (todo-filter-items, todo-filter-items-1, todo-find-item)
20845         (todo-category-select, todo-read-date)
20846         (todo-nondiary-marker-matcher, todo-date-string-matcher)
20847         (todo-diary-expired-matcher, todo-convert-legacy-files)
20848         (todo-read-category): Reformat to avoid code hiding behind a
20849         more deeply embedded element.
20850         (todo-forward-category, todo-set-category-number):
20851         Use 'funcall' instead of 'apply'.
20852         (todo-toggle-mark-item, todo-edit-item--diary-inclusion)
20853         (todo-edit-category-diary-inclusion)
20854         (todo-insert-sort-button, todo-insert-category-line)
20855         (todo-multiple-filter-files): Mark unused local variables.
20856         (todo-edit-item--header, todo-move-item, todo-print-buffer)
20857         (todo-edit-item--header, todo-move-item, todo-check-file)
20858         (todo-edit-item--next-key): Remove unused local variables.
20859         (todo-insert-sort-button, todo-insert-category-line):
20860         Use a closure instead of a backquoted lambda.
20861         (todo-update-categories-display, todo-print-buffer): Simplify code.
20862         (todo-print-buffer-function): Document calling convention.
20863         (todo-category-completions): Use cl-pushnew instead of add-to-list.
20864         (todo-mode-map, todo-archive-mode-map)
20865         (todo-categories-mode-map, todo-filtered-items-mode-map):
20866         Remove superfluous call of suppress-keymap, since it's already
20867         in the parent special-mode-map.
20869 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
20871         dired: Revert buffer when DIRNAME is a cons
20873         * lisp/dired.el (dired-internal-noselect): Revert buffer if DIR-OR-LIST
20874         is a cons, or dired-directory is a cons and DIR-OR-LIST a string (Bug#7131).
20875         Update the comments.
20876         * test/lisp/dired-tests.el (dired-test-bug7131): Test should pass.
20878 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
20880         Handle when dired-directory is a cons in some Dired functions
20882         * lisp/dired-aux.el (dired-rename-subdir-1)
20883         * lisp/dired-x.el (dired-mark-omitted):
20884         Handle when dired-directory is a cons.
20886 2017-07-21  Noam Postavsky  <npostavs@gmail.com>
20888         Make eshell-next-prompt more reliable (Bug#27405)
20890         * lisp/eshell/em-prompt.el (eshell-next-prompt): Search for
20891         `eshell-prompt-regexp' (and `read-only' text-property if
20892         `eshell-highlight-prompt' is set) rather than trying to use
20893         `forward-paragraph'.
20894         (eshell-previous-prompt): Don't count prompt on current line.
20896 2017-07-21  Paul Eggert  <eggert@cs.ucla.edu>
20898         Simplify recent gnutls.c changes
20900         * src/gnutls.c (clear_storage) [HAVE_GNUTLS3_AEAD]: Remove.
20901         All uses replaced by calls to explicit_bzero; that’s clear enough.
20902         (gnutls_symmetric_aead) [HAVE_GNUTLS3_AEAD]: Simplify by
20903         coalescing duplicate actions.  There is no need to invoke
20904         SAFE_FREE before calling ‘error’.
20906 2017-07-20  Michael Albinus  <michael.albinus@gmx.de>
20908         Stylistic changes in tramp-cache.el
20910         * lisp/net/tramp-cache.el (tramp-get-file-property)
20911         (tramp-set-file-property): Use `bound-and-true-p'.  Add
20912         counter variables to `tramp-cache-unload-hook'.
20914 2017-07-20  Glenn Morris  <rgm@gnu.org>
20916         * admin/notes/hydra: Small updates.
20918 2017-07-20  Glenn Morris  <rgm@gnu.org>
20920         Make tramp unloading handle debug counter variables
20922         * lisp/net/tramp-cache.el (tramp-get-file-property)
20923         (tramp-set-file-property): Add counter variables to tramp-unload-hook.
20925 2017-07-20  Eli Zaretskii  <eliz@gnu.org>
20927         Fix hscrolling calculations when display-line-numbers is set
20929         * src/xdisp.c (move_it_in_display_line_to): Account for line
20930         numbers in hscrolled lines.  (Bug#27756)
20932 2017-07-20  Katsumi Yamaoka  <yamaoka@jpl.org>
20934         Fix the bogus change made 13 years ago (bug#27084)
20936         * lisp/gnus/gnus-sum.el (gnus-summary-toggle-header):
20937         Fix the way to test if there is no visible header (bug#27084).
20939 2017-07-20  Noam Postavsky  <npostavs@gmail.com>
20941         Use grep's --null option (Bug#6843)
20943         * lisp/progmodes/grep.el (grep-use-null-filename-separator): New option.
20944         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
20945         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): New
20946         constants, replacing `grep-regexp-alist'.
20947         (grep-regex-alist): Mark the variable obsolete, add a new function of
20948         the same name to replace it.
20949         (grep-compute-defaults): Compute default for
20950         `grep-use-null-filename-separator'.
20951         (grep-mode): Set compilation-error-regexp-alist (buffer locally) to the
20952         value of `grep-with-null-regexp-alist' or `grep-fallback-regexp-alist'
20953         according to `grep-use-null-filename-separator'.
20954         * lisp/progmodes/xref.el (xref-collect-matches): Call
20955         `grep-regex-alist' instead of the obsolete variable.  Don't hardcode
20956         grep-regexp-alist match groups.
20957         * etc/NEWS: Announce new use of --null.  Move 'grep-save-buffers'
20958         item under "Grep" heading as well.
20960 2017-07-19  Philipp Stephani  <phst@google.com>
20962         * src/gnutls.c (clear_storage): Define only if needed.
20964 2017-07-19  Stephen Berman  <stephen.berman@gmx.net>
20966         Adjust todo-quit to recent change in dired
20968         * lisp/calendar/todo-mode.el (todo-quit): Use quit-window instead of
20969         bury-buffer to exit todo-mode.  This restores the desired behavior
20970         of not immediately returning to the exited todo-mode buffer on
20971         quitting another buffer, which a dired bug fix had changed (see
20972         https://lists.gnu.org/r/emacs-devel/2017-07/msg00739.html).
20974 2017-07-19  Tino Calancha  <tino.calancha@gmail.com>
20976         Add test for bugs 7131, 27762
20978         Require 'ls-lisp' at top of the file.
20979         * test/lisp/dired-tests.el (dired-test-bug7131, dired-test-bug27762):
20980         New tests.
20981         (dired-test-bug27693): Delete Dired buffer at the end.
20983 2017-07-18  Michael Albinus  <michael.albinus@gmx.de>
20985         * admin/notes/hydra: Mention environment variable EMACS_HYDRA_CI.
20987 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
20989         * lisp/emacs-lisp/nadvice.el (advice--defalias-fset): Strip advices
20991         This tries to make sure that (defalias F (symbol-function F)) stays a no-op.
20993 2017-07-18  Glenn Morris  <rgm@gnu.org>
20995         Use a more specific test for running on hydra.nixos.org
20997         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
20998         * test/Makefile.in (WRITE_LOG):
20999         * test/lisp/filenotify-tests.el:
21000         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
21001         (eieio-test-method-order-list-6):
21002         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
21003         (eieio-test-37-obsolete-name-in-constructor):
21004         * test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.
21006 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
21008         Avoid infloop due to Eshell's "smart" redisplay
21010         * src/xdisp.c (pos_visible_p): Save and restore the window's
21011         mode-line and header-line height.  (Bug#27752)
21013 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
21015         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): Accept `[]'
21017 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
21019         Fix indentation when display-line-numbers is non-nil
21021         * src/xdisp.c (x_produce_glyphs): Fix a typo in deciding whether
21022         to go one more tab stop to display a TAB.  (Bug#27743)
21024 2017-07-18  Lars Ingebrigtsen  <larsi@gnus.org>
21026         Don't use gtk_widget_get_scale_factor on old GTK3 versions
21028         * src/gtkutil.c (xg_get_scale): gtk_widget_get_scale_factor is
21029         only present since GTK 3.10.
21031 2017-07-18  Noam Postavsky  <npostavs@gmail.com>
21033         Let delete-selection-mode work with popup-menu commands (Bug#27569)
21035         * lisp/menu-bar.el (popup-menu): Run `pre-command-hook' with
21036         `this-command' set to the selected command.
21038 2017-07-18  Paul Eggert  <eggert@cs.ucla.edu>
21040         Port gnutls.c to older (buggier?) GnuTLS
21042         Problem reported for GnuTLS 3.2.1 by Glenn Morris in:
21043         https://lists.gnu.org/r/emacs-devel/2017-07/msg00716.html
21044         https://lists.gnu.org/r/emacs-devel/2017-07/msg00742.html
21045         Although I don't see how this bug can occur with vanilla GnuTLS 3.2.1,
21046         perhaps hydra was using a modified GnuTLS.
21047         * src/gnutls.c (Fgnutls_ciphers): Don't assume GNUTLS_CIPHER_NULL
21048         is at the end of the list returned by gnutls_cipher_list,
21049         or that the earlier ciphers all have non-null names.
21051 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
21053         Fix relocation with named cell referred to by a one-symbol formula.
21055         * lisp/ses.el (ses-replace-name-in-formula): Fix bug for it to
21056         work also with one symbol formulas.
21058         * test/lisp/ses-tests.el
21059         (ses-tests-renaming-cell-with-one-symbol-formula): Add new
21060         test for renaming with relocating a one symbol formula.
21062 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
21064         Fix symbol completion and document it.
21066         * doc/misc/ses.texi (Configuring what printer function
21067         applies): Add description of keys for completing local printer
21068         symbols and listing local printers in a help buffer.
21069         (Formulas): Add decription for key to list the named cell
21070         symbols in a help buffer.
21072         * lisp/ses.el (ses-completion-keys): New constant.
21073         (ses--completion-table): New defvar.
21074         (ses--list-orig-buffer): New defvar.
21075         (ses-mode-edit-map): Fixed for symbol completion, plus add
21076         help functions to list named cells or local printers.
21077         (ses-edit-cell-complete-symbol)
21078         (ses--edit-cell-completion-at-point-function): New defuns for
21079         completion during formula edition.
21080         (ses-edit-cell): Redefine dynamically edit keymap for
21081         completion keys to point at the right function.
21082         (ses-read-printer-complete-symbol)
21083         (ses--read-printer-completion-at-point-function): New defuns
21084         for completion during printer edition.
21085         (ses-read-printer): Redefine dynamically edit keymap for
21086         completion keys to point at the right function.
21087         (ses-list-local-printers): New defun.
21088         (ses-list-named-cells): New defun.
21090 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
21092         Move comments around
21094 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
21096         Make scaling work (?) on pre-GTK3 systems
21098         * src/gtkutil.c (xg_get_gdk_scale): Reinstate function.
21099         (xg_get_scale): Use it on non-GTK3 systems.
21101 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
21103         Always return the GDK scale
21105         * src/gtkutil.c (xg_get_scale): Return the GDK scale always.
21107 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
21109         Remove usage of the GDK_SCALE variable
21111         * src/gtkutil.c (xg_get_gdk_scale): Remove.
21112         (xg_get_default_scrollbar_height)
21113         (xg_get_default_scrollbar_width): Pass in a frame to check for
21114         scaling.
21115         (xg_frame_set_char_size): Use the API for querying scale
21116         instead of looking at the GDK_SCALE variable.
21117         (xg_get_default_scrollbar_width): Ditto.
21118         (xg_get_default_scrollbar_height): Ditto.
21119         (xg_update_scrollbar_pos): Ditto.
21121         * src/xfns.c (x_set_scroll_bar_default_height): Pass in the
21122         frame to get the width.
21124 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
21126         Get positions of menus and tooltips right on HiDPI
21128         * src/gtkutil.c (xg_get_scale): New function.
21129         (xg_show_tooltip): Use it.
21131         * src/xmenu.c (create_and_show_popup_menu): Put menus in the
21132         right place.
21134 2017-07-17  Eli Zaretskii  <eliz@gnu.org>
21136         Allow user control on what starts and ends a paragraph for bidi
21138         * src/buffer.h (struct buffer): New members
21139         bidi_paragraph_separate_re_ and bidi_paragraph_start_re_.
21140         * src/buffer.c (bset_bidi_paragraph_start_re)
21141         (bset_bidi_paragraph_separate_re): New setters/
21142         (Fbuffer_swap_text): Swap the values of bidi-paragraph-start-re and
21143         bidi-paragraph-separate-re.
21144         (init_buffer_once): Init the values of bidi-paragraph-start-re and
21145         bidi-paragraph-separate-re.
21146         (syms_of_buffer) <bidi-paragraph-start-re, bidi-paragraph-separate-re>:
21147         New per-buffer variables.
21148         * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
21149         Support bidi-paragraph-start-re and bidi-paragraph-separate-re.
21150         (bidi_move_to_visually_next): Handle correctly the case when the
21151         separator matches an empty string.  (Bug#27526)
21153         * doc/emacs/mule.texi (Bidirectional Editing):
21154         * doc/lispref/display.texi (Bidirectional Display): Document
21155         bidi-paragraph-start-re and bidi-paragraph-separate-re.
21157         * etc/NEWS: Mention bidi-paragraph-start-re and
21158         bidi-paragraph-separate-re.
21160 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
21162         * lisp/emacs-lisp/map.el (map-put): Fix redundancy in docstring.
21164 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
21166         alist-get: Add optional arg TESTFN
21168         If TESTFN is non-nil, then it is the predicate to lookup
21169         the alist.  Otherwise, use 'eq' (Bug#27584).
21170         * lisp/subr.el (alist-get): Add optional arg FULL.
21171         * lisp/emacs-lisp/map.el (map-elt, map-put): Add optional arg TESTFN.
21172         * lisp/emacs-lisp/gv.el (alist-get): Update expander.
21173         * doc/lispref/lists.texi (Association Lists): Update manual.
21174         * etc/NEWS: Announce the changes.
21175         * test/lisp/emacs-lisp/map-tests.el (test-map-put-testfn-alist)
21176         (test-map-elt-testfn): New tests.
21178 2017-07-17  Michael Albinus  <michael.albinus@gmx.de>
21180         Fix `tramp-test39-unload'
21182         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case-p)
21183         (tramp--test-instrument-test-case): Rename.  Adapt all callees.
21184         (tramp-test36-asynchronous-requests): Bind `timer-max-repeats'.
21185         (tramp-test39-unload): Expect it to pass.  Ignore buffer-local
21186         variables and autoload functions; they are not removed.  Check
21187         also for `-function(s)'.
21189 2017-07-17  Stephen Berman  <stephen.berman@gmx.net>
21191         Preserve point under 'dired-auto-revert-buffer' (second case)
21193         * lisp/dired.el (dired): Use pop-to-buffer-same-window instead
21194         of switch-to-buffer.  This preserves Dired window point when
21195         dired-auto-revert-buffer is non-nil.  (Bug#27243)
21197         * test/lisp/dired-tests.el (dired-test-bug27243): New test.
21199 2017-07-17  Martin Rudalics  <rudalics@gmx.at>
21201         Have Fgnutls_available_p return Qnil when GNUTLS is undefined
21203         * src/gnutls.c (Fgnutls_available_p): Return Qnil when GNUTLS is
21204         undefined to allow --with-gnutls=no builds to proceed.
21206 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
21208         * src/gnutls.c: Restore some comments.
21210 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
21212         Use memset, not bzero
21214         * src/ftcrfont.c (ftcrfont_glyph_extents): Use memset instead
21215         of the (less-portable) bzero.
21217 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
21219         Use explicit_bzero to clear GnuTLS keys
21221         * admin/merge-gnulib (GNULIB_MODULES): Add explicit_bzero.
21222         * lib/explicit_bzero.c, m4/explicit_bzero.m4: New files.
21223         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
21224         * src/gnutls.c (clear_storage): New function.
21225         (gnutls_symmetric_aead): Use it instead of memset.
21227 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
21229         Merge from gnulib
21231         This incorporates:
21232         2017-07-16 explicit_bzero: new module
21233         2017-07-15 getdtablesize: Add minimal support for OpenVMS.
21234         * lib/getdtablesize.c, lib/string.in.h, m4/getdtablesize.m4:
21235         * m4/string_h.m4:
21236         Copy from Gnulib.
21237         * lib/gnulib.mk.in: Regenerate.
21239 2017-07-17  Dieter Deyke  <dieter.deyke@gmail.com>
21241         Fix vc-src-dir-status-files
21243         * lisp/vc/vc-src.el (vc-src-dir-status-files): Fix broken
21244         copy-paste from b1a765b3 (bug#27641).
21246 2017-07-16  Wilfred Hughes  <me@wilfred.me.uk>
21248         Fix mismatched parens
21250         * etc/NEWS.21: Remove excess parenthesis in code example
21252 2017-07-16  Alan Third  <alan@idiocy.org>
21254         Add missing declare-function for new function
21256         * lisp/frame.el: Add declare function for
21257         ns-mouse-absolute-pixel-position.
21259 2017-07-16  R. Bernstein  <rocky@gnu.org>
21261         Realgud for tango themes
21263 2017-07-16  Noam Postavsky  <npostavs@gmail.com>
21265         Fix test when running from test/lisp/subr-tests.elc
21267         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests): Don't
21268         assume a lambda expression will be `equal' to its quoted form.  That's
21269         not true if the lambda expression has been compiled.
21271 2017-07-15  Alan Third  <alan@idiocy.org>
21273         Fix some frame handling issues on NS
21275         * lisp/frame.el (mouse-absolute-pixel-position): Use new NS function.
21276         * src/nsfns.m (Sns_mouse_absolute_pixel_position): New function.
21277         * src/nsterm.m (x_make_frame_visible): Re-establish parent-child
21278         relationship if it's broken.
21280 2017-07-15  Tino Calancha  <tino.calancha@gmail.com>
21282         ls-lisp: Fix file size format
21284         * lisp/ls-lisp.el (ls-lisp-filesize-d-fmt, ls-lisp-filesize-f-fmt)
21285         (ls-lisp-filesize-b-fmt): Add space in front (Bug#27693).
21286         * test/lisp/dired-tests.el (dired-test-bug27693): Add test.
21288 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
21290         Avoid link errors with older versions of GnuTLS
21292         * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
21293         (Fgnutls_macs, Fgnutls_digests): Conditionally compile code that
21294         calls GnuTLS functions which might be unavailable in older
21295         versions of GnuTLS.
21297 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
21299         Improve comments in faces.el
21301         * lisp/faces.el (face-font-family-alternatives): Improve
21302         commentary.
21304 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
21306         Improve some GnuTL error messages
21308         * src/gnutls.c (gnutls_symmetric_aead, gnutls_symmetric):
21309         * src/fns.c (Fsecure_hash_algorithms): Fix error messages.
21311 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
21313         Fix the Elisp manual wrt GnuTL cryptography
21315         * doc/lispref/elisp.texi (Top): Update the master menu.
21316         * doc/lispref/text.texi (GnuTLS Cryptography): Add a @menu, to
21317         avoid errors in makeinfo.
21319 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
21321         Fix compilation of gnutls.c with older GnuTLS
21323         * src/gnutls.c (syms_of_gnutls): Condition some defsubr's
21324         on HAVE_GNUTLS3, to avoid compilation errors when GnuTLS
21325         v3.X is not available.  Reported by Colin Baxter <m43cap@yandex.com>.
21327 2017-07-15  rocky  <rb@dustyfeet.com>
21329         Realgud for two more light themes
21331 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
21333         Rearrange MS-Windows code that dynamically loads GnuTLS functions
21335         * src/gnutls.c [WINDOWSNT]: Reorganize definitions and loading
21336         of functions using the same preprocessing directives as in the code.
21338 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
21340         Fix the MS-Windows build broken in gnutls.c
21342         * src/gnutls.c (Fgnutls_available_p) [WINDOWSNT]: Move the DLL
21343         loading code to after 'capabilities' has been calculated.  Remove
21344         redundant comments.
21346 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
21348         src/image.c (compute_image_size): Remove superfluous checks.
21350         * src/image.c (compute_image_size): Remove superfluous checks.
21352 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
21354         Make combinations of :width/:max-height image specs work reliably
21356         * doc/lispref/display.texi (ImageMagick Images): Document
21357         :width/:max-height combinations (etc) (bug #25583).
21359         * src/image.c (compute_image_size): Handle :width/:max-height
21360         (etc) combinations consistently (by letting "max" win and
21361         preserve ratio).
21363         * test/manual/image-size-tests.el (image-size-tests): Add
21364         tests for :width/:max-height (etc) combinations.
21366 2017-07-15  Glenn Morris  <rgm@gnu.org>
21368         Fix recent theme changes
21370         * etc/themes/manoj-dark-theme.el, etc/themes/tsdh-dark-theme.el:
21371         Fix typos in recent changes.
21373 2017-07-15  Paul Eggert  <eggert@cs.ucla.edu>
21375         GnuTLS integer-overflow and style fixes
21377         This tweaks the recently-added GnuTLS improvements so that
21378         they avoid some integer-overflow problems and follow typical
21379         Emacs style a bit better.
21380         * configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
21381         (HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
21382         configure-time results are displayed.
21383         * src/fns.c (extract_data_from_object): Return char *, not char
21384         const *, since one gnutls caller wants a non-const pointer.  Use
21385         CONSP rather than !NILP when testing for conses.  Use CAR_SAFE
21386         instead of rolling our own code.  Prefer signed types to unsigned
21387         when either will do.  Report problems for lengths out of range,
21388         instead of silently mishandling them.
21389         * src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
21390         callers.  All callers of gnutls_sterror changed.
21391         (Fgnutls_boot): Check for integers out of range rather than
21392         silently truncating them.
21393         (gnutls_symmetric_aead): Check for integer overflow in size
21394         calculations.
21395         (gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
21396         Prefer signed to unsigned integers where either will do.
21397         (gnutls_symmetric_aead, gnutls_symmetric):
21398         Work even if ptrdiff_t is wider than ‘long’.
21399         (gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
21400         Check for integer overflow in algorithm selection.
21402 2017-07-14  Noam Postavsky  <npostavs@gmail.com>
21404         * .gitlab-ci.yml: Don't install a C++ compiler.  Suppress apt interaction.
21406 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
21408         Fix the MS-Windows build due to added GnuTLS functions
21410         * src/gnutls.c [WINDOWSNT]: Add DEF_DLL_FN for new functions.
21411         (init_gnutls_functions) [WINDOWSNT]: Add LOAD_DLL_FN for new
21412         functions.  Add #define redirections for new functions.
21413         (gnutls_symmetric_aead): Fix format specs to be more portable when
21414         printing ptrdiff_t arguments.
21415         * src/fns.c (gnutls_rnd) [WINDOWSNT]: Redirect to w32_gnutls_rnd
21416         wrapper.
21417         * src/gnutls.h [WINDOWSNT]: Add prototype for w32_gnutls_rnd.
21419         * test/lisp/net/gnutls-tests.el (gnutls-tests-tested-macs)
21420         (gnutls-tests-tested-digests, gnutls-tests-tested-ciphers): Call
21421         gnutls-available-p, otherwise GnuTLS functions might not be loaded
21422         from the DLL on MS-Windows.
21424 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
21426         * lisp/emacs-lisp/bytecomp.el: Fix bug#14860.
21428         * lisp/emacs-lisp/bytecomp.el (byte-compile--function-signature): New fun.
21429         Dig into advice wrappers to find the "real" signature.
21430         (byte-compile-callargs-warn, byte-compile-arglist-warn): Use it.
21431         (byte-compile-arglist-signature): Don't bother with "new-style" arglists,
21432         since bytecode functions are now handled in byte-compile--function-signature.
21434         * lisp/files.el (create-file-buffer, insert-directory):
21435         Remove workaround introduced for (bug#14860).
21437         * lisp/help-fns.el (help-fns--analyse-function): `nadvice` is preloaded.
21439         * lisp/help.el (help-function-arglist):
21440         Dig into advice wrappers to find the "real" signature.
21442 2017-07-14  Ted Zlatanov  <tzz@lifelogs.com>
21444         GnuTLS HMAC and symmetric cipher support
21446             * etc/NEWS: Add news for new feature.
21448             * doc/lispref/text.texi (GnuTLS Cryptography): Add
21449             documentation.
21451             * configure.ac: Add macros HAVE_GNUTLS3_DIGEST,
21452             HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_AEAD, HAVE_GNUTLS3_HMAC.
21454             * src/fns.c (Fsecure_hash_algorithms): Add function to list
21455             supported `secure-hash' algorithms.
21456             (extract_data_from_object): Add data extraction function that
21457             can operate on buffers and strings.
21458             (secure_hash): Use it.
21459             (Fsecure_hash): Mention `secure-hash-algorithms'.
21461             * src/gnutls.h: Include gnutls/crypto.h.
21463             * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
21464             (gnutls_symmetric, Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
21465             (Fgnutls_macs, Fgnutls_digests, Fgnutls_hash_mac, Fgnutls_hash_digest)
21466             (Fgnutls_available_p): Implement GnuTLS cryptographic integration.
21468             * test/lisp/net/gnutls-tests.el: Add tests.
21470 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
21472         * lisp/emacs-lisp/cl-lib.el (cl--random-time): Remove as well
21474         It's also defined in cl-extra.el.
21476 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
21478         Do not convert ij and IJ to compatibility chars
21480         * lisp/leim/quail/latin-alt.el: Omit lines for ij and IJ in Dutch.
21481         Problem reported by James Cloos (Bug#518#10).
21483 2017-07-14  Toon Claes  <toon@iotcl.com>
21485         Remove Turkish ligatures from Dutch input method
21487         * lisp/leim/quail/latin-alt.el: Remove Turkish ligatures (Bug#518).
21489 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
21491         Improve stack-overflow heuristic on GNU/Linux
21493         Problem reported by Steve Kemp (Bug#27585).
21494         * src/eval.c (near_C_stack_top): Remove.  All uses replaced
21495         by current_thread->stack_top.
21496         (record_in_backtrace): Set current_thread->stack_top.
21497         This is for when the Lisp interpreter calls itself.
21498         * src/lread.c (read1): Set current_thread->stack_top.
21499         This is for recursive s-expression reads.
21500         * src/print.c (print_object): Set current_thread->stack_top.
21501         This is for recursive s-expression printing.
21502         * src/thread.c (mark_one_thread): Get stack top first.
21503         * src/thread.h (struct thread_state.stack_top): Now void *, not char *.
21505 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
21507         Remove duplicate cl--random-state definition
21509         * lisp/emacs-lisp/cl-lib.el (cl--random-state): Remove.
21510         This variable is now defined in cl-extra.el (Bug#27617).
21512 2017-07-14  Michael Albinus  <michael.albinus@gmx.de>
21514         Adjust timer in tramp-test36-asynchronous-requests
21516         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
21517         Adjust timer if it takes too much time.
21519 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
21521         Always display rmail progress report under user control
21523         * lisp/mail/rmail.el (rmail-show-message-1): Delete the second
21524         copy of '(message "Showing message %d..." msg)'.  (Bug#27535)
21526 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
21528         Avoid byte-compilation warnings for advised functions
21530         * lisp/files.el (insert-directory, create-file-buffer): Add an
21531         advertised-calling-convention form to shut up byte-compilation
21532         warnings.  (Bug#14860)
21534 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
21536         Add assertion related to display-line-numbers
21538         * src/xdisp.c (maybe_produce_line_number): Add assertion for the
21539         condition regarding IT->glyph_row->used[TEXT_AREA] expected by the
21540         code.  (Bug#27668)
21542 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
21544         Prevent display corruption when display-line-numbers is set
21546         * src/xdisp.c (try_window_reusing_current_matrix): If giving up
21547         due to display-line-numbers, clear the window's desired glyph
21548         matrix before returning, as the following call to try_window will
21549         call display_line, which expects rows of the desired matrix
21550         cleared.  (Bug#27668)
21552 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
21554         Revert "Use fixed-pitch font for display-line-numbers"
21556         This reverts commit d014a5e15c1110af77e7a96f06ccd0f0cafb099f.
21557         * lisp/faces.el (line-number): Don't use a fixed-pitch font, by
21558         popular demand.  For relevant discussions, see
21560          https://lists.gnu.org/r/emacs-devel/2017-07/msg00433.html
21561          https://lists.gnu.org/r/emacs-devel/2017-07/msg00445.html
21563 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
21565         Merge from gnulib
21567         This incorporates:
21568         2017-07-13 Improve cross-compilation guesses for native Windows
21569         2017-07-11 More systematic m4 quoting and indentation
21570         2017-07-10 Make sure $host and $host_os are defined when used
21571         2017-07-03 stdioext: Port to OpenVMS
21572         2017-06-24 xalloc-oversized: port to icc
21573         * doc/misc/texinfo.tex, lib/fpending.c, lib/stdio-impl.h:
21574         * lib/xalloc-oversized.h, m4/dirfd.m4, m4/gettimeofday.m4:
21575         * m4/lstat.m4, m4/mktime.m4, m4/pselect.m4, m4/putenv.m4:
21576         * m4/stdint.m4, m4/strtoimax.m4, m4/utimes.m4:
21577         Copy from Gnulib.
21579 2017-07-13  Alan Mackenzie  <acm@muc.de>
21581         C++ Mode.  Fix anomaly occurring when a ">" is deleted then reinserted.
21583         This fontification anomaly happened because after deleting the ">",
21584         c-forward-<>-arglist parses the preceding identifier as a putative type but
21585         stores it in c-found-types before it becomes clear it is not an unambiguous
21586         type.  c-forward-<>-arglist fails, leaving the spurious type id in
21587         c-found-types.  Fix this by "binding" c-found-types "to itself" in
21588         c-forward-<>-arglist, and restoring the original value when that function call
21589         fails.
21591         * lisp/progmodes/cc-engine.el (c-copy-found-types): New function.
21592         (c-forward-<>-arglist): Record the original value of c-found-types at the
21593         beginning of the function, and restore it at the end on failure.
21595         * lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens): Rewrite more
21596         accurately.
21598 2017-07-13  Vincent Belaïche  <vincentb1@users.sourceforge.net>
21600         Add tests for SES, and fix one more cell renaming bug.
21602         * lisp/ses.el (ses-relocate-all): In case of insertion, do not
21603         relocate value for named cells as they keep the same symbol.
21604         (ses-rename-cell): Set new cell name symbol to cell value --- do not
21605         rely on recalculating.  Push cells with updated data --- cell name,
21606         cell reference list, or cell formula --- to deferred write list.
21608         * test/lisp/ses-tests.el: New file, with 7 tests for SES.
21610 2017-07-12  Alan Mackenzie  <acm@muc.de>
21612         Fix some bugs in c-defun-name.  This fixes bug #25623.
21614         * lisp/progmodes/cc-cmds.el (c-defun-name): Fix some bugs to do with structs,
21615         etc.
21617 2017-07-12  Vasilij Schneidermann  <mail@vasilij.de>
21619         Make prog-mode-map the parent of c-mode-base-map.  Fixes bug #26658.
21621         * lisp/progmodes/cc-mode.el (top level): Make prog-mode-map the parent of
21622         c-mode-base-map if possible.
21624 2017-07-12  Alan Mackenzie  <acm@muc.de>
21626         CC Mode: create and use c-set-keymap-parent.
21628         * lisp/progmodes/cc-defs.el (c-set-keymap-parent): New macro.
21630         * lisp/progmodes/cc-mode.el (top-level): Remove cc-bytecomp-defun for
21631         set-keymap-parents.
21632         (c-make-inherited-keymap): Use c-set-keymap-parent in place of inline code.
21634 2017-07-12  Martin Rudalics  <rudalics@gmx.at>
21636         Minor tweaks of new line number display variables
21638         * src/xdisp.c (Vdisplay_line_numbers): Tweak doc-string.
21639         (Vdisplay_line_number_width): Rename to
21640         Vdisplay_line_numbers_width.
21641         (maybe_produce_line_number): Comply with above rename.
21642         * lisp/cus-start.el (standard):
21643         * lisp/frame.el (top-level):
21644         * etc/NEWS: Comply with renaming of
21645         `display-line-number-width' to `display-line-numbers-width'.
21647 2017-07-12  Eli Zaretskii  <eliz@gnu.org>
21649         Avoid assertion violations in close_infile_unwind
21651         * src/lread.c (close_infile_unwind): A temporary band-aid solution
21652         for bug#27642: allow 'infile' be NULL.
21654 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
21656         Use fixed-pitch font for display-line-numbers
21658         * lisp/faces.el (line-number): Use a fixed-pitch font by default,
21659         even if the default face uses a variable-pitch font.  Reported by
21660         James Cloos <cloos@jhcloos.com>.
21662 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
21664         Improve documentation of display-line-numbers
21666         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: Improve the
21667         doc string.  Suggested by Alex <agrambot@gmail.com>.
21669 2017-07-11  Nicolas Petton  <nicolas@petton.fr>
21671         Add an optional testfn parameter to assoc
21673         * src/fns.c (assoc): New optional testfn parameter used for comparison
21674         when provided.
21675         * test/src/fns-tests.el (test-assoc-testfn): Add tests for the new
21676         'testfn' parameter.
21677         * src/buffer.c:
21678         * src/coding.c:
21679         * src/dbusbind.c:
21680         * src/font.c:
21681         * src/fontset.c:
21682         * src/gfilenotify.c:
21683         * src/image.c:
21684         * src/keymap.c:
21685         * src/process.c:
21686         * src/w32fns.c:
21687         * src/w32font.c:
21688         * src/w32notify.c:
21689         * src/w32term.c:
21690         * src/xdisp.c:
21691         * src/xfont.c: Add a third argument to Fassoc calls.
21692         * etc/NEWS:
21693         * doc/lispref/lists.texi: Document the new 'testfn' parameter.
21695 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
21697         Use `with-demoted-errors' in Tramp
21699         * lisp/net/tramp.el (tramp-with-demoted-errors): New defmacro.
21701         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Use it.
21703 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
21705         Add Quick Start Guide to Tramp manual
21707         * doc/misc/tramp.texi: Use consequently "@value{tramp}" and
21708         "MS Windows".
21709         (Quick Start Guide): New node.
21711         * doc/misc/trampver.texi:
21712         * lisp/net/trampver.el: Change version to "2.3.3-pre".
21714 2017-07-10  Glenn Morris  <rgm@gnu.org>
21716         Fix failing module tests on GNU/Linux
21718         * test/src/emacs-module-tests.el
21719         (module--test-assertions--load-non-live-object)
21720         (module--test-assertions--call-emacs-from-gc):
21721         Avoid test failures due to backtraces.
21723 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
21725         Fix core dump in substitute-object-in-subtree
21727         Without this fix, (substitute-object-in-subtree #0=(#0# 'a) 'a)
21728         would dump core, since the C code would recurse indefinitely through
21729         the infinite structure.  This patch adds an argument to the function,
21730         and renames it to lread--substitute-object-in-subtree as the function
21731         is not general-purpose and should not be relied on by outside code.
21732         See Bug#23660.
21733         * src/intervals.c (traverse_intervals_noorder): ARG is now void *,
21734         not Lisp_Object, so that callers need not cons unnecessarily.
21735         All callers changed.  Also, remove related #if-0 code that was
21736         “temporary” in the early 1990s and has not been compilable for
21737         some time.
21738         * src/lread.c (struct subst): New type, for substitution closure data.
21739         (seen_list): Remove this static var, as this info is now part of
21740         struct subst.  All uses removed.
21741         (Flread__substitute_object_in_subtree): Rename from
21742         Fsubstitute_object_in_subtree, and give it a 3rd arg so that it
21743         doesn’t dump core when called from the top level with an
21744         already-cyclic structure.  All callers changed.
21745         (SUBSTITUTE): Remove.  All callers expanded and then simplified.
21746         (substitute_object_recurse): Take a single argument SUBST rather
21747         than a pair OBJECT and PLACEHOLDER, so that its address can be
21748         passed around as part of a closure; this avoids the need for an
21749         AUTO_CONS call.  All callers changed.  If the COMPLETED component
21750         is t, treat every subobject as potentially circular.
21751         (substitute_in_interval): Take a struct subst * rather than a
21752         Lisp_Object, for the closure data.  All callers changed.
21753         * test/src/lread-tests.el (lread-lread--substitute-object-in-subtree):
21754         New test, to check that the core dump does not reoccur.
21756 2017-07-10  Philipp Stephani  <phst@google.com>
21758         Minor simplification of module_free_global_ref
21760         * src/emacs-module.c (module_free_global_ref): Remove unused variable
21761         'hashcode'.  Inline variable 'value' that's only used once.
21763 2017-07-10  Philipp Stephani  <phst@google.com>
21765         Re-add a useful assertion
21767         * src/emacs-module.c (module_free_global_ref): Re-add assertion that
21768         the reference count is zero.  This assertion was removed in commit
21769         8afaa1321f8088bfb877fe4b6676e8517adb0bb7, but it's not included in the
21770         test performed by XFASTINT before, because the previous reference
21771         count could have been zero already in the case of a buggy
21772         implementation.  This assertion might have detected Bug#27587.
21774 2017-07-10  Valentin Gatien-Baron  <vgatien-baron@janestreet.com>  (tiny change)
21776         Fix bug in module_free_global_ref (Bug#27587)
21778         * src/emacs-module.c (module_free_global_ref): Actually remove entry
21779         from hash table.
21781 2017-07-09  Philipp Stephani  <phst@google.com>
21783         Further improve electric quote support for Markdown (Bug#24709)
21785         Markdown sets both 'comment-start' and 'comment-use-syntax' to non-nil
21786         values.  Therefore 'electric-quote-mode' recognized it as a
21787         programming mode.  Fix this by first checking whether the current
21788         major mode is derived from 'text-mode'.
21790         * lisp/electric.el (electric-quote-post-self-insert-function): Treat
21791         'text-mode' as stronger signal than comment syntax.
21793         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
21794         (electric-quote-markdown-in-code): Adapt unit tests.
21796 2017-07-09  Philipp Stephani  <phst@google.com>
21798         Remove pointless code in 'electric-quote-mode'
21800         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
21801         pointless form.
21803 2017-07-09  Philipp Stephani  <phst@google.com>
21805         Refactor 'electric-quote-mode'
21807         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
21808         local variable 'start', which was misnamed and only used once.
21810 2017-07-09  Saulius Menkevičius  <saulius.menkevicius@gmail.com>  (tiny change)
21812         Avoid crashes on MS-Windows starting 64-bit .NET executables
21814         * src/w32proc.c (w32_executable_type): Don't assume that the
21815         import directory in a DLL will always be non-NULL.  (Bug#27527)
21817 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
21819         Avoid compilation warning in files.el
21821         * lisp/files.el (auto-save-visited-file-name): Avoid obsoletion
21822         warning due to its use in auto-save-visited-mode.
21824 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
21826         Improve indexing of VC-related stuff in the Emacs manual
21828         * doc/emacs/maintaining.texi (Version Control): Add a "VC" index
21829         entry.  (Bug#27627)
21831 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
21833         Speed up display of line numbers for very large buffers
21835         * src/xdisp.c (maybe_produce_line_number): Speed up line counting
21836         using values cached by mode-line display of line numbers.
21837         (Bug#27622)
21839 2017-07-09  Alexander Kuleshov  <kuleshovmail@gmail.com>
21841         Define internal_border_parts for window systems only (Bug#27615)
21843         * src/keyboard.c: (internal_border_parts): Define only
21844         when HAVE_WINDOW_SYSTEM is enabled.  (Bug#27615)
21846 2017-07-09  R. Bernstein  <rocky@gnu.org>
21848         Add realgud faces faces to whiteboard...
21850         Adjust wheatgrass to use underline for enabled/disabled breakpoints
21852 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
21854         Optimize UCS normalization tests
21856         Brings the the time for `ucs-normalize-part1' from 200s down to 130s.
21857         * test/lisp/international/ucs-normalize-tests.el
21858         (ucs-normalize-tests--parse-column): Use character instead of string
21859         of length 1 for terminator.  Convert return value into string since
21860         all callers need that form anyway.
21861         (ucs-normalize-tests--normalization-equal-p): Rename from
21862         ucs-normalize-tests--normalize.  Use dedicated buffer instead of
21863         messing with narrowing.  Take string to compare against and insert it
21864         into buffer so that compare-buffer-substrings can be used instead of
21865         allocating a new string from buffer contents.
21866         (ucs-normalize-tests--normalization-chareq-p): New macro, specialized
21867         for comparing single character.
21868         (ucs-normalize-tests--rule1-holds-p)
21869         (ucs-normalize-tests--rule2-holds-p): Turn into defsubst.
21870         (ucs-normalize-tests--rule1-failing-for-partX): Use `eq' instead of
21871         `='.
21873 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
21875         Update failing lines for UCS normalize tests
21877         * test/lisp/international/ucs-normalize-tests.el
21878         (ucs-normalize-tests--failing-lines-part2): Update for new
21879         admin/unidata/NormalizationTest.txt version.
21881 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
21883         Semi-automate the procedure for updating UCS normalize test bad lines
21885         * test/lisp/international/ucs-normalize-tests.el: Remove incorrect
21886         commentary describing a manual procedure for producing the updated
21887         failing lines, it did not actually work.  Replace it with pointer to
21888         new function which prints the updated values.
21889         (ucs-normalize-tests--rule1-holds-p): Renamed from
21890         ucs-normalize-tests--invariants-hold-p.
21891         (ucs-normalize-tests--rule2-holds-p): Renamed from
21892         ucs-normalize-tests--invariants-rule2-hold-p.
21893         (ucs-normalize-tests--rule1-failing-for-partX): Renamed from
21894         ucs-normalize-tests--invariants-failing-for-part.
21895         (ucs-normalize-tests--rule1-failing-for-lines): Renamed from
21896         ucs-normalize-tests--invariants-failing-for-lines.
21897         (ucs-normalize-tests--part2-rule1-failed-lines): New variable.
21898         (ucs-normalize-part2): Set it.
21899         (ucs-normalize-part1): Always run through to end of test before
21900         checking for failures.
21901         (ucs-normalize-tests--insert-failing-lines)
21902         (ucs-normalize-check-failing-lines): New functions, used to update
21903         the *--failing-lines-part* variables.
21905 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
21907         * lisp/cus-start.el (standard): Spelling fix.
21909 2017-07-08  Philipp Stephani  <phst@google.com>
21911         Module assertions: check for garbage collections
21913         It's technically possible to write a user pointer finalizer that calls
21914         into Emacs module functions.  This would be disastrous because it
21915         would allow arbitrary Lisp code to run during garbage collection.
21916         Therefore extend the module assertions to check for this case.
21918         * src/emacs-module.c (module_assert_thread): Also check whether a
21919         garbage collection is in progress.
21921         * test/data/emacs-module/mod-test.c (invalid_finalizer)
21922         (Fmod_test_invalid_finalizer): New test module functions.
21923         (emacs_module_init): Register new test function.
21925         * test/src/emacs-module-tests.el (module--test-assertion)
21926         (module--with-temp-directory): New helper macros.
21927         (module--test-assertions--load-non-live-object): Rename existing
21928         unit test, use helper macros.
21929         (module--test-assertions--call-emacs-from-gc): New unit test.
21931 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
21933         Capitalize the menu entry for display-line-numbers
21935         * lisp/menu-bar.el (menu-bar-showhide-menu): Capitalize menu item
21936         for display-line-numbers.  Suggested by Martin Rudalics
21937         <rudalics@gmx.at>.
21939 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
21941         Update Unicode data and files to Unicode 10.0
21943         * admin/notes/unicode:
21944         * admin/unidata/README:
21945         * admin/unidata/BidiBrackets.txt:
21946         * admin/unidata/BidiMirroring.txt:
21947         * admin/unidata/Blocks.txt:
21948         * admin/unidata/IVD_Sequences.txt:
21949         * admin/unidata/NormalizationTest.txt:
21950         * admin/unidata/SpecialCasing.txt:
21951         * admin/unidata/UnicodeData.txt:
21952         * lisp/international/characters.el:
21953         * lisp/international/fontset.el (script-representative-chars):
21954         * lisp/international/mule-cmds.el (ucs-names): Update per Unicode 10.0.
21956 2017-07-08  Alexander Gramiak  <agrambot@gmail.com>
21958         Support '=' in Scheme and Lisp tags in 'etags'
21960         * lib-src/etags.c (get_lispy_tag): New function.
21961         (L_getit, Scheme_functions): Use get_lispy_tag (Bug#5624).
21962         * test/manual/etags/CTAGS.good:
21963         * test/manual/etags/ETAGS.good_1:
21964         * test/manual/etags/ETAGS.good_2:
21965         * test/manual/etags/ETAGS.good_3:
21966         * test/manual/etags/ETAGS.good_4:
21967         * test/manual/etags/ETAGS.good_5:
21968         * test/manual/etags/ETAGS.good_6:
21969         * test/manual/etags/Makefile:
21970         * test/manual/etags/el-src/TAGTEST.EL: Update tests.
21971         * test/manual/etags/scm-src/test.scm: New tests for Scheme.
21973 2017-07-08  Alexander Kuleshov  <kuleshovmail@gmail.com>
21975         Avoid compiler warnings in xdisp.c debugging code
21977         * src/xdisp.c (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
21978         Use pD directives for ptrdiff_t values instead of pI, to avoid
21979         compilation warnings on 64-bit hosts.  (Bug#27597)
21981 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
21983         Commentary enhancement in frame.el
21985         * lisp/frame.el: Explain how to test whether a variable needs to
21986         be added to the list of those which are watched for buffer
21987         redisplay.
21989 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
21991         Support display of line numbers natively
21993         This merges branch 'line-numbers'.
21994         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
21995         function.
21996         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
21997         * src/dispextern.h (struct it): New members pt_lnum, lnum,
21998         lnum_bytepos, lnum_width, and lnum_pixel_width.
21999         * src/indent.c (line_number_display_width): New function,
22000         refactored from line-number width calculations in vertical-motion.
22001         (Fvertical_motion): Call line_number_display_width when the width
22002         of line-number display is needed.
22003         (Fline_number_display_width): New defun.
22004         (syms_of_indent): Defsubr it.
22005         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
22006         the width used up by line numbers by looking near the window-start
22007         point.  If window-start is outside of the accessible portion,
22008         temporarily widen the buffer.
22009         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
22010         space taken by the line-number display.
22011         * src/xdisp.c (display_count_lines_logically)
22012         (display_count_lines_visually, maybe_produce_line_number)
22013         (should_produce_line_number, row_text_area_empty): New functions.
22014         (try_window_reusing_current_matrix): Don't use this method when
22015         display-line-numbers is in effect.
22016         (try_window_id, try_cursor_movement): Disable these optimizations
22017         when the line-number-current-line face is different from
22018         line-number face and for relative line numbers.
22019         (try_window_id, redisplay_window, try_cursor_movement): For
22020         visual line-number display, disable the same redisplay
22021         optimizations as for relative.
22022         (x_produce_glyphs): Adjust tab stops for the horizontal
22023         space taken by the line-number display.
22024         (hscroll_window_tree): Adjust hscroll calculations to line-number
22025         display.
22026         (DISP_INFINITY): Renamed from INFINITY to avoid clashes with
22027         math.h; all users changed.
22028         (set_cursor_from_row): Fix calculation of cursor X coordinate in
22029         R2L rows with display-produced glyphs at the beginning.
22030         (display_line): Use should_produce_line_number to determine
22031         whether a line number should be produced for each glyph row, and
22032         maybe_produce_line_number to produce line numbers.
22033         Don't display line numbers in the minibuffer and in tooltip
22034         frames.
22035         Call row_text_area_empty to verify that a glyph
22036         row's text area is devoid of any glyphs that came from a buffer or
22037         a string.  This fixes a bug with empty-lines indication
22038         disappearing when line numbers or line-prefix are displayed.
22039         (syms_of_xdisp) <display-line-numbers, display-line-numbers-widen>
22040         <display-line-number-width>: New buffer-local variables.
22041         <display-line-numbers-current-absolute>: New variable.
22043         * lisp/cus-start.el (standard): Provide customization forms for
22044         display-line-numbers and its sub-features.
22045         * lisp/faces.el (line-number, line-number-current-line): New faces.
22046         * lisp/frame.el: Add display-line-numbers, display-line-numbers-widen,
22047         display-line-numbers-current-absolute, and
22048         display-line-number-width to the list of variables that should
22049         trigger redisplay of the current buffer.
22050         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
22051         turn display-line-numbers on and off.
22052         (toggle-display-line-numbers): New function.
22053         * lisp/simple.el (last--line-number-width): New internal variable.
22054         (line-move-visual): Use it to adjust temporary-goal-column when
22055         line-number display changes its width.
22057         * doc/emacs/basic.texi (Position Info): Add cross-reference to
22058         "Display Custom", for line-number display.
22059         * doc/emacs/custom.texi (Init Rebinding):
22060         * doc/emacs/modes.texi (Minor Modes): Remove references to
22061         linum-mode.
22062         * doc/emacs/display.texi (Display Custom): Describe the
22063         line-number display.
22064         * doc/lispref/display.texi (Size of Displayed Text): Document
22065         line-number-display-width.
22067         * etc/NEWS: Document display-line-numbers and its customizations.
22069 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
22071         Fix more ungetc bugs with encoding errors
22073         * src/lread.c (infile): New variable, replacing ...
22074         (instream): ... this.  All uses changed.
22075         (readbyte_from_stdio): New function, which deals with lookahead.
22076         (readbyte_from_file, Fget_file_char): Use it.
22077         (Fget_file_char): When misused, signal an error instead of
22078         relying on undefined behavior.
22079         (close_infile_unwind): New function.
22080         (Fload): Use it.
22081         (readevalloop): 2nd arg is now struct infile *, not FILE *.
22082         All callers changed.
22083         (read1): Handle lookahead when copying doc strings with
22084         encoding errors.
22086 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
22088         Avoid ungetc when loading charset maps from files
22090         * src/charset.c (read_hex): New args LOOKAHEAD and TERMINATOR,
22091         replacing the old EOF.  All callers changed.  This avoids the
22092         need to call ungetc.
22094 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
22096         Fix ungetc bug when reading an encoding error
22098         * src/lread.c (readchar, read_emacs_mule_char): Fix off-by-one
22099         error when reading an encoding error from a file, e.g., a symbol
22100         in an .elc file whose name is "\360\220\200\360".
22102 2017-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
22104         * lisp/wid-edit.el (widget-color--choose-action): Use a closure
22106         * lisp/window.el (display-buffer--special-action): Use a closure.
22108 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
22110         Add new todo-mode.el tests
22112         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
22113         Declare an Edebug spec.  Restore pre-test-run state of test files.
22114         (todo-test--show, todo-test--move-item)
22115         (todo-test--insert-item): New functions.
22116         (todo-test-get-archive): Remove, as subsumed by
22117         todo-test--show.  Adjust all callers.
22118         (todo-test--is-current-buffer): Rename from
22119         todo-test-is-current-buffer and adjust uses.
22120         (todo-test-item-highlighting): Use todo-test--show.
22121         (todo-test-revert-buffer01, todo-test-revert-buffer02)
22122         (todo-test-raise-lower-priority)
22123         (todo-test-todo-mark-unmark-category, todo-test-move-item01)
22124         (todo-test-move-item02, todo-test-move-item03)
22125         (todo-test-move-item04, todo-test-move-item05)
22126         (todo-test-toggle-item-header01)
22127         (todo-test-toggle-item-header02)
22128         (todo-test-toggle-item-header03)
22129         (todo-test-toggle-item-header04)
22130         (todo-test-toggle-item-header05)
22131         (todo-test-toggle-item-header06)
22132         (todo-test-toggle-item-header07): New tests.
22134         * test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
22135         * test/lisp/calendar/todo-mode-resources/todo-test-1.todo:
22136         Modify to accommodate new tests.
22138 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
22140         todo-mode.el: Fix handling of hidden item headers (bug#27609)
22142         * lisp/calendar/todo-mode.el (todo--item-headers-hidden): New variable.
22143         (todo-toggle-item-header): Use it.  Make this command a noop
22144         if the file has no items.
22145         (todo-move-item, todo-item-done): Instead of concatenating the
22146         items to move into one string, make a list of them to
22147         facilitate handling hidden headers.  Adjust insertion accordingly.
22148         (todo-archive-done-item): Handle hidden headers in archive file.
22149         (todo-unarchive-items): Handle hidden headers in todo file.
22150         (todo-backward-item): Use todo--item-headers-hidden and handle
22151         moving backward work when item date-time headers are hidden.
22152         (todo-remove-item): Delete date-time header overlay.
22153         (todo-get-overlay, todo-insert-with-overlays): Make them work
22154         with hidden date-time headers.
22155         (todo-modes-set-2): Make todo--item-headers-hidden buffer local.
22157 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
22159         Fix several todo-mode bugs found while debugging bug#27609
22161         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Calculate
22162         current category only once.
22163         (todo-mark-category): Update number of marked items to avoid
22164         spurious duplication in todo-categories-with-marks alist and
22165         corruption of the todo-categories alist.  Handle empty line
22166         when there are no todo items and done items are shown.
22167         (todo-set-item-priority): Make noop if called from
22168         todo-raise-item-priority or todo-lower-item-priority when
22169         point is on a done todo item or an empty line.
22170         (todo-move-item): Use markers instead of integer positions to
22171         correctly handle deleting the now moved items from the source
22172         category (without markers an infinite loop arises when moving
22173         marked item to a preceding category).
22174         (todo-unarchive-items): Put point on the (first) restored done
22175         item, instead of leaving it at the end of the done items
22176         separator string.
22177         (todo-revert-buffer): Ensure buffer remains read-only after
22178         reverting.
22180 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
22182         Exclude blank columns from value of line-number-display-width
22184         * src/indent.c (Fline_number_display_width): Don't add 2 to the
22185         number of columns we return, to make this consistent with
22186         display-line-number-width.
22188 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
22190         Fix vertical-motion across the place where line-number width changes
22192         * src/indent.c (line_number_display_width): New function,
22193         refactored from line-number width calculations in vertical-motion.
22194         (Fvertical_motion): Call line_number_display_width when the width
22195         of line-number display is needed.
22196         (Fline_number_display_width): New defun.
22197         (syms_of_indent): Defsubr it.
22199         * doc/lispref/display.texi (Size of Displayed Text): Document
22200         line-number-display-width.
22202         * etc/NEWS: Mention line-number-display-width.
22204         * lisp/simple.el (last--line-number-width): New internal variable.
22205         (line-move-visual): Use it to adjust temporary-goal-column when
22206         line-number display changes its width.
22208 2017-07-07  Martin Rudalics  <rudalics@gmx.at>
22210         Remove Vwindow_text_change_functions and related code
22212         Vwindow_text_change_functions had been provided for implementing
22213         line numbers but apparently was never functional or in use.
22215         * src/xdisp.c (redisplay_window): Remove handling of
22216         Vwindow_text_change_functions.
22217         (syms_of_xdisp): Remove Qwindow_text_change_functions.
22218         (Vwindow_text_change_functions): Remove variable.
22219         * doc/lispref/hooks.texi (Standard Hooks): Remove entry for
22220         `window-text-change-functions'.
22222 2017-07-07  Mark Oteiza  <mvoteiza@udel.edu>
22224         Convert more uses of looking-at to following-char
22226         More followup to Karl Fogel's commit a84da83c1.
22227         * lisp/dired-aux.el (dired-add-entry, dired-subdir-hidden-p):
22228         * lisp/dired-x.el (dired-mark-unmarked-files, dired-mark-sexp):
22229         * lisp/help-fns.el (doc-file-to-man, doc-file-to-info):
22230         * lisp/proced.el (proced-toggle-marks):
22231         * lisp/progmodes/f90.el (f90-indent-line):
22232         * lisp/ses.el (ses-load):
22233         * lisp/tar-mode.el (tar-expunge): Replace instances of looking-at with
22234         char comparisons using following-char.
22236 2017-07-07  Noam Postavsky  <npostavs@gmail.com>
22238         Don't skip epg tests (Bug#23561)
22240         * test/lisp/epg-tests.el (with-epg-tests): Ignore REQUIRE-PASSPHRASE
22241         parameter, since we supply the passphrase via pinentry-program for all
22242         GPG versions (as of 2017-02-28 "Fix epg-tests with dummy-pinentry
22243         program (Bug#23619)").
22244         (epg-tests-program-alist-for-passphrase-callback): Remove.
22246 2017-07-06  Eli Zaretskii  <eliz@gnu.org>
22248         Implement line numbers that disregard narrowing
22250         * src/xdisp.c (display_count_lines_logically): New function,
22251         counts line numbers disregarding narrowing.  Suggested by Andy
22252         Moreton <andrewjmoreton@gmail.com>.
22253         (maybe_produce_line_number): Call display_count_lines_logically
22254         instead of display_count_lines.  Adapt BEGV, ZV, etc. to
22255         display-line-numbers-widen.
22256         (syms_of_xdisp) <display-line-numbers-widen>: New buffer-local
22257         variable.
22259         * lisp/cus-start.el (standard): Provide a customization form for
22260         display-line-numbers-widen.
22261         * lisp/frame.el: Add display-line-numbers-widen,
22262         display-line-numbers-current-absolute, and
22263         display-line-number-width to the list of variables that should
22264         trigger redisplay of the current buffer.
22266         * doc/emacs/display.texi (Display Custom): Document
22267         display-line-numbers-widen.
22269 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
22271         Fix lisp-comment-indent for single-semicolon case
22273         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): Only check for
22274         open paren if we're looking at multiple comment characters.
22275         * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-comment-indent-1)
22276         (lisp-comment-indent-2): New tests.
22278 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
22280         Spelling fixes
22282         * lisp/org/org-table.el (org-table-sort-lines):
22283         Fix misspelling in prompt.
22284         * lisp/org/ox-ascii.el (org-ascii--describe-datum):
22285         Fix misspelling in call to org-element-lineage.
22287 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
22289         Don't put whitespace between open paren and comment in Lisp modes (Bug#19740)
22291         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): If current
22292         line's code ends in open paren, set comment indentation exactly to
22293         column following it.
22294         (lisp-mode-variables): Set `comment-indent-function' to
22295         `lisp-comment-indent'.
22297 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
22299         Allow comment-indent-functions to specify exact indentation (Bug#385)
22301         * lisp/newcomment.el (comment-choose-indent): Interpret a cons of two
22302         integers as indicating a range of acceptable indentation.
22303         (comment-indent): Don't apply `comment-inline-offset',
22304         `comment-choose-indent' already does that.
22305         (comment-indent-function):
22306         * doc/emacs/programs.texi (Options for Comments): Document new
22307         acceptable return values.
22308         * etc/NEWS: Announce it.
22310 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
22312         Check for integer overflow in xbm images
22314         * src/image.c (XBM_TK_OVERFLOW): New constant.
22315         (xbm_scan): Check for integer overflow instead of relying on
22316         undefined behavior.  Check that octal digits are actually octal.
22318 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
22320         Convert hex digits more systematically
22322         This makes the code a bit smaller and presumably faster, as
22323         it substitutes a single lookup for conditional jumps.
22324         * src/character.c (hexdigit): New constant.
22325         (syms_of_character) [HEXDIGIT_IS_CONST]: Initialize it.
22326         * src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST): New macros.
22327         (hexdigit): New decl.
22328         (char_hexdigit): New inline function.
22329         * src/charset.c: Do not include c-ctype.h.
22330         * src/charset.c (read_hex):
22331         * src/editfns.c (styled_format):
22332         * src/image.c (xbm_scan):
22333         * src/lread.c (read_escape):
22334         * src/regex.c (ISXDIGIT) [emacs]:
22335         Use char_hexdigit insted of doing it by hand.
22337 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
22339         Don’t use -Woverride-init
22341         I have some further changes in mind that would also need to
22342         disable the -Woverride-init warnings.  In practice these warnings
22343         seem to be more trouble than they’re worth, so disable them in the
22344         cc command line.
22345         * configure.ac: Disable -Woverride-init here ...
22346         * src/bytecode.c: ... rather than here.
22348 2017-07-05  Glenn Morris  <rgm@gnu.org>
22350         * lisp/progmodes/python.el (auto-mode-alist): Add .pyi.  (Bug#27847)
22352         * lisp/org/ox-html.el (org-html-infojs-template): Update copyright.
22354 2017-07-05  Glenn Morris  <rgm@gnu.org>
22356         Small fix for bug-reference.el
22358         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
22359         Autoload safety property.  (Bug#27481)
22361 2017-07-05  Michael Albinus  <michael.albinus@gmx.de>
22363         Suppress timers in Tramp
22365         * lisp/net/tramp.el (tramp-file-name-handler): Don't trigger timers.
22367         * test/lisp/net/tramp-tests.el
22368         (tramp-test36-asynchronous-requests): Trigger timers.
22369         (tramp-test37-recursive-load, tramp-test38-remote-load-path):
22370         Set `default-directory' to a trustworthy value.
22372 2017-07-05  rocky  <rb@dustyfeet.com>
22374         Add realgud face definitions
22376         Add realgud faces to tdsh-dark-theme
22378 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
22380         * lisp/progmodes/cc-awk.el: Mark unused args
22382         * lisp/progmodes/cc-bytecomp.el: Mark unused args
22384 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
22386         * lisp/progmodes/cc-defs.el (lookup-syntax-properties): Move ...
22388         ... before first use
22390 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
22392         * lisp/progmodes/cc-vars.el: Mark unused args
22394 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
22396         * lisp/progmodes/cc-langs.el: Mark unused args
22398         (c-primary-expr-regexp): Remove unused vars ambiguous-prefix-ops and
22399         unambiguous-prefix-ops.
22401 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
22403         * lisp/progmodes/cc-engine.el: Mark unused args
22405         (c-beginning-of-statement-1, c-guess-basic-syntax):
22406         Remove unused var c-in-literal-cache.
22407         (c-debug-sws-msg): Silence byte-compiler, even if we don't use the arg.
22408         (c-append-to-state-cache): Remove unused var `bra+1s'.
22409         (c-remove-stale-state-cache): Remove unused var `pps-point-state'.
22410         (c-invalidate-state-cache-1): Remove unused var `pa'.
22411         (c-forward-decl-or-cast-1): Change comments so they don't look like
22412         outline headers.
22413         (c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
22414         Declare before first use.
22415         (c-forward-decl-or-cast-1): Remove unused var `backup-kwd-sym'.
22416         (c-backward-over-enum-header): Remove unused var `up-sexp-pos'.
22418 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
22420         * lisp/progmodes/cc-cmds.el: Remove unused vars
22422         (c-syntactic-context): Declare as dynbound.
22423         (c-beginning-of-defun, c-end-of-defun): Remove unused var `start'.
22425 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
22427         * lisp/progmodes/cc-guess.el: Remove unused var
22429         (c-guess-view-reorder-offsets-alist-in-style): Remove redundantly bound
22430         and computed variable `guessed-syntactic-symbols'.
22432 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
22434         * lisp/progmodes/cc-align.el: Mark unused arguments
22436 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
22438         * lisp/progmodes/cc-mode.el: Mark unused arguments
22440         (c-parse-quotes-before-change, c-parse-quotes-after-change):
22441         Remove unused vars.
22443 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
22445         Mention `ffap-url-unwrap-local' in find-file-at-point's docstring (Bug#27564)
22447         * lisp/ffap.el (find-file-at-point): Mention `ffap-url-unwrap-local'
22448         and `ffap-url-unwrap-remote'.
22450 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
22452         Fix infloop in uncomment-region-default (Bug#27112)
22454         When `comment-continue' has only blanks, `comment-padright' produces a
22455         regexp that matches the empty string, so `uncomment-region-default'
22456         will loop infinitely.
22457         * lisp/newcomment.el (comment-padright): Only return a regexp if STR
22458         has nonblank characters.
22460 2017-07-04  Eli Zaretskii  <eliz@gnu.org>
22462         Fix display of current line number in visual mode
22464         * src/xdisp.c (maybe_produce_line_number): Fix visual-mode display
22465         of current line when line-number-current-line face was customized.
22466         Reported by Filipe Silva <filipe.silva@gmail.com>.
22468 2017-07-03  Philipp Stephani  <phst@google.com>
22470         Use hook instead of face list to inhibit electric quoting
22472         This is more flexible and doesn't couple electric quoting to font
22473         locking.
22474         Give that 'electric-quote-code-faces' was just introduced, remove it
22475         without formal deprecation.
22477         * lisp/electric.el (electric-quote-inhibit-functions): New abnormal
22478         hook variable.
22479         (electric-quote-post-self-insert-function): Run the hook.  Remove
22480         use of old 'electric-quote-code-faces' variable.
22482         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
22483         (electric-quote-markdown-in-code): Adapt unit tests.
22485 2017-07-03  Ingo Lohmar  <i.lohmar@gmail.com>
22487         Offer non-aligned indentation in lists in js-mode (Bug#27503)
22489         * lisp/progmodes/js.el (js--proper-indentation):
22490         New customization option 'js-indent-align-list-continuation'.
22491         Affects argument lists as well as arrays and object properties.
22492         * test/manual/indent/js-indent-align-list-continuation-nil.js:
22493         Test the change.
22495 2017-07-03  Eli Zaretskii  <eliz@gnu.org>
22497         Avoid errors in vertical-motion when buffer is narrowed
22499         * src/indent.c (Fvertical_motion): If need to start from
22500         window-start, and it is outside of the accessible portion,
22501         temporarily widen the buffer.  This avoids errors in evil-mode.
22502         Reported by James Nguyen <james@jojojames.com>.
22504 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
22506         (Re-)activate remote tests of filenotify-tests.el
22508         * test/lisp/filenotify-tests.el
22509         (file-notify-test-remote-temporary-file-directory):
22510         Declare default host for mock method.  Offer home directory
22511         for mock method if it doesn't exist.
22512         (file-notify-test09-watched-file-in-watched-dir-remote):
22513         Remove, it doesn't work reliably.
22515 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
22517         Reset ansi escape context before printing eshell prompt (Bug#27407)
22519         * lisp/eshell/em-prompt.el (eshell-emit-prompt): Reset
22520         `ansi-color-context-region'.
22522 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
22524         Let ansi-color overlay hooks work in eshell (Bug#27407)
22526         * lisp/ansi-color.el (ansi-color-make-extent): Add
22527         `ansi-color-freeze-overlay' to `insert-behind-hooks' as well.
22528         * lisp/eshell/esh-mode.el (eshell-output-filter): Let-bind
22529         `inhibit-modification-hooks' to nil while inserting the string.
22531 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
22533         Fix and simplify ansi escape detection (Bug#21381)
22535         * lisp/ansi-color.el (ansi-color-regexp, ansi-color-drop-regexp):
22536         Remove.
22537         (ansi-color-control-seq-regexp): New constant, matches all escape
22538         sequences.
22539         (ansi-color-filter-apply, ansi-color-apply)
22540         (ansi-color-filter-region, ansi-color-apply-on-region): Use it instead
22541         of matching color sequences separately from ignored sequences.
22542         Differentiate color sequences simply by checking the last character.
22544 2017-07-03  Damien Cassou  <damien@cassou.me>
22546         Add absolute optional parameter to line-number-at-pos (Bug#26417)
22548         * lisp/simple.el (line-number-at-pos): Add a second optional
22549           argument 'absolute'.
22550         * test/lisp/simple-tests.el: Add tests for 'line-number-at-pos'.
22552 2017-07-03  R. Bernstein  <rocky@gnu.org>
22554         Add realgud faces
22556 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
22558         Fix tramp-tests.el for hydra
22560         * test/Makefile.in: Remove instrumentation for tramp-tests.
22562         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
22563         Remove instrumentation.  Wrap with a timeout.  Give hydra
22564         another timer value.  Set `default-directory' in timer.
22566 2017-07-03  Bastien  <bzg@gnu.org>
22568         Merge branch 'master' into scratch/org-mode-merge
22570         Merge branch 'master' into scratch/org-mode-merge
22572 2017-07-03  Tino Calancha  <tino.calancha@gmail.com>
22574         dired-do-shell-command: Fix check for wildcards
22576         * lisp/dired-aux.el (dired-do-shell-command): Replace just '?', '*'
22577         and '`?' i.e., keep the whitespaces.
22578         * test/lisp/dired-aux-tests.el (dired-test-bug27496): Add test.
22580 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
22582         Split shr-copy-url dwim behavior into separate functions (Bug#26826)
22584         * lisp/net/shr.el (shr-url-at-point, shr-probe-url)
22585         (shr-probe-and-copy-url, shr-maybe-probe-and-copy-url): New functions,
22586         split out from `shr-copy-url'.
22587         (shr-copy-url): Only copy the url, don't fetch it.
22588         (shr-map): Bind 'w' and 'u' to `shr-maybe-probe-and-copy-url', which
22589         has the same behavior as the old `shr-copy-url'.
22590         * etc/NEWS: Announce changes.
22592 2017-07-02  Alex Branham  <branham@utexas.edu>  (tiny change)
22594         Make eww-search-words prompt for query if nothing selected
22596         * lisp/net/eww.el (eww-search-words): Make eww-search-words prompt the
22597         user for a search query if the region is inactive or if the region is
22598         just whitespace.
22600 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
22602         * lisp/emacs-lisp/cl-print.el (cl-print-compiled-button): t by default.
22604         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace):
22605         * lisp/help-fns.el (describe-variable): No need to let-bind
22606         `cl-print-compiled-button' to t anymore.
22608 2017-07-02  Philipp Stephani  <phst@google.com>
22610         Electric quotes: Improve support for Markdown mode (Bug#24709)
22612         Introduce a new user option 'electric-quote-context-sensitive'.  If
22613         non-nil, have ' insert an opening quote if sensible.
22615         Also introduce a new variable 'electric-quote-code-faces'.  Major
22616         modes such as 'markdown-mode' can add faces to this list to treat text
22617         as inline code and disable electric quoting.
22619         * lisp/electric.el (electric-quote-context-sensitive): New user
22620         option.
22621         (electric-quote-code-faces): New variable.
22622         (electric-quote-post-self-insert-function): Treat ' as ` if
22623         desired and applicable; disable electric quoting for given faces.
22625         * test/lisp/electric-tests.el (electric-quote-opening-single)
22626         (electric-quote-closing-single, electric-quote-opening-double)
22627         (electric-quote-closing-double)
22628         (electric-quote-context-sensitive-backtick)
22629         (electric-quote-context-sensitive-bob-single)
22630         (electric-quote-context-sensitive-bob-double)
22631         (electric-quote-context-sensitive-bol-single)
22632         (electric-quote-context-sensitive-bol-double)
22633         (electric-quote-context-sensitive-after-space-single)
22634         (electric-quote-context-sensitive-after-space-double)
22635         (electric-quote-context-sensitive-after-letter-single)
22636         (electric-quote-context-sensitive-after-letter-double)
22637         (electric-quote-context-sensitive-after-paren-single)
22638         (electric-quote-context-sensitive-after-paren-double)
22639         (electric-quote-markdown-in-text)
22640         (electric-quote-markdown-in-code): New unit tests.
22642 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
22644         * doc/misc/tramp.texi: Replace ftp:// and http:// URLs by https://.
22646 2017-07-02  Eli Zaretskii  <eliz@gnu.org>
22648         Avoid off-by-one errors in column C-n/C-p calculations
22650         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
22651         the width used up by line numbers by looking near the window-start
22652         point.
22654 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
22656         Ask confirmation for all suspicious wildcards
22658         * lisp/dired-aux.el (dired-do-shell-command): Check that all
22659         the wildcards are right.  Otherwise, ask for confirmation (Bug#27496).
22661 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
22663         Extend dired-do-shell-command substitutions
22665         Substitute "`?`" inside command with the current file name.
22666         See details in:
22667         https://lists.gnu.org/r/emacs-devel/2017-06/msg00618.html
22668         * lisp/dired-aux.el (dired-quark-subst-regexp, dired-star-subst-regexp):
22669         Mark as obsolete.
22670         (dired-isolated-string-re): New defun.
22671         (dired--star-or-qmark-p): New predicate.
22672         (dired-do-shell-command): Use dired--star-or-qmark-p.  Substitute "`?`"
22673         with the current file name.
22674         * doc/emacs/dired.texi (Shell Commands in Dired): Update manual.
22676 2017-07-02  Alan Mackenzie  <acm@muc.de>
22678         Fix bug in yesterday's CC Mode commit.
22680         * lisp/progmodes/cc-mode.el (c-quoted-number-head-before-point): Check a
22681         search has succeded before using the match data.
22682         (c-quoted-number-head-before-point, c-quoted-number-head-after-point):
22683         Specify that the position of the extremity of the head or tail is in the
22684         match data.
22686 2017-07-02  Philipp Stephani  <phst@google.com>
22688         Remove FIXME comments about sentinel values
22690         These FIXMEs can't be addressed because they would require breaking
22691         changes to the module API.  Furthermore, other module functions don't
22692         return sentinel values as well, so users generally have to call
22693         non_local_exit_check anyway.
22695         * src/emacs-module.c (module_set_user_ptr)
22696         (module_set_user_finalizer, module_vec_set, module_vec_size): Remove
22697         FIXME comments.
22699 2017-07-02  Philipp Stephani  <phst@google.com>
22701         Adapt Lisp reference to reader changes
22703         The reader now warns about some unescaped character literals, but
22704         still allows them for compatibility reasons.  Slightly adapt the
22705         manual to forbid them officially.
22707         * doc/lispref/objects.texi (Basic Char Syntax): Document that
22708         backslashes are now required before some characters.
22710 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
22712         Fix Bug#27502
22714         * lisp/autorevert.el (auto-revert-find-file-function): New defun.
22715         (find-file-hook): Use it.  (Bug#27502)
22716         (auto-revert-remove-current-buffer): New defun.
22717         (auto-revert-mode, auto-revert-buffers): Use it.
22719 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
22721         Let test summary go through even if some logs were not generated
22723         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): Check
22724         for existence of log files before reading.
22726 2017-07-01  Philipp Stephani  <phst@google.com>
22728         * src/module-env-25.h (copy_string_contents): Fix comment.
22730 2017-07-01  Philipp Stephani  <phst@google.com>
22732         Also mark module init function as noexcept if possible
22734         * src/emacs-module.h.in (emacs_module_init): Mark as noexcept if
22735         possible.
22737 2017-07-01  Philipp Stephani  <phst@google.com>
22739         Improve C++98 compatibility
22741         * src/emacs-module.h.in (emacs_funcall_exit): Lose trailing comma.
22742         C++98 doesn't allow trailing commas in enumerations.
22744 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
22746         Minor copyedits of manuals regarding bidi conformance
22748         * doc/emacs/mule.texi (Bidirectional Editing):
22749         * doc/lispref/display.texi (Bidirectional Display): Update the
22750         bidi conformance text.
22752 2017-07-01  Alan Mackenzie  <acm@muc.de>
22754         Make C++ digit separators work.  Amend the handling of single quotes generally
22756         Single quotes, even in strings and comments, are now marked with the
22757         "punctuation" syntax-table property, except where they are validly bounding a
22758         character literal.  They are font locked with font-lock-warning-face except
22759         where they are valid.  This is done in C, C++, ObjC, and Java Modes.
22761         * lisp/progmodes/cc-defs.el (c-clear-char-property-with-value-on-char-function)
22762         (c-clear-char-property-with-value-on-char, c-put-char-properties-on-char): New
22763         functions/macros.
22765         * lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes): New function.
22766         (c-basic-matchers-before): invoke c-font-lock-invalid-single-quotes.
22768         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove
22769         c-before-after-change-digit-quote from wherever it occurs.  Insert
22770         c-parse-quotes-before-change into the entries for the languages where it is
22771         needed.
22772         (c-before-font-lock-functions): Remove c-before-after-change-digit-quote from
22773         wherever it occurs.  Insert c-parse-quotes-after-change into the entries for
22774         the languages which need it.
22775         (c-has-quoted-numbers): New lang-defconst/-defvar.
22777         * lisp/progmodes/cc-mode.el (c-before-after-change-digit-quote): Remove.
22778         (c-maybe-quoted-number-head, c-maybe-quoted-number-tail)
22779         (c-maybe-quoted-number): New defconsts.
22780         (c-quoted-number-head-before-point, c-quoted-number-tail-after-point)
22781         (c-quoted-number-straddling-point, c-parse-quotes-before-change)
22782         (c-parse-quotes-after-change): New functions.
22784 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
22786         Ignore mouse-movement for describe-key-briefly (Bug#12204)
22788         * lisp/help.el (help-read-key-sequence): Add optional argument ot
22789         ignore `mouse-movement' events.
22790         (describe-key-briefly): Use it.
22791         * doc/emacs/help.texi (Key Help):
22792         * etc/NEWS: Mention that mouse movement is ignored.
22794 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
22796         Refactor key describing commands
22798         * lisp/help.el (help-read-key-sequence, help--analyze-key): New
22799         functions, extracted from `describe-key' and `describe-key-briefly'.
22800         (describe-key, describe-key-briefly): Use them.
22802 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
22804         Improve display of tabs with line numbers
22806         * src/xdisp.c (x_produce_glyphs): Improve calculation of next tab
22807         stop in hscrolled lines.  Prevent aborts in compute_line_metrics.
22809 2017-07-01  Alan Third  <alan@idiocy.org>
22811         Fix threads on NS (bug#25265)
22813         src/nsterm.h (ns_select): Compiler doesn't like sigmask being const.
22814         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
22815         src/nsterm.m (ns_select): Call thread_select from within ns_select.
22816         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
22817         (ns_send_appdefined): Don't wait for main thread when sending app
22818         defined event.
22819         src/process.c (wait_reading_process_output): Call thread_select from
22820         within ns_select.
22821         src/systhread.c (sys_cond_broadcast) [HAVE_NS]: Break ns_select out of
22822         its event loop using ns_run_loop_break.
22824 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
22826         Avoid slow redisplay under 'visual' mode of line numbers
22828         * src/xdisp.c (display_count_lines_visually): Avoid very slow
22829         redisplay when this function is invoked very far from point.
22830         Reported by Alex <agrambot@gmail.com>.
22832 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
22834         * lisp/help-fns.el (describe-variable): Let-bind cl-print-compiled-button.
22836 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
22838         * lisp/emacs-lisp/cl-extra.el (cl--random-state): New defstruct
22840         (cl--random-state, cl--random-time): Move from cl-lib.el.
22841         (cl-random): Use struct accessors.
22842         (cl-random-state-p): Remove, provided by the defstruct.
22843         (cl-make-random-state): Rewrite to struct constructor.
22845 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
22847         * lisp/emacs-lisp/debug.el (debugger-list-functions): Remove obsolete msg
22849 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
22851         Improve documentation of faces related to display-line-numbers
22853         * lisp/faces.el (line-number, line-number-current-line): Warn
22854         against using non-monospaced fonts.
22856 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
22858         Fix relative-number display with non-nil display-line-number-width
22860         * src/xdisp.c (maybe_produce_line_number): Don't treat a zero
22861         value of display-line-number-width as acceptable.
22862         Handle the case of 'relative' with display-line-number-width
22863         non-nil and smaller than the absolute line number requires.
22864         Reported by Alex <agrambot@gmail.com>.
22866 2017-06-30  Michael Albinus  <michael.albinus@gmx.de>
22868         Release Tramp 2.3.2
22870         * doc/misc/tramp.texi (Android shell setup): Show default file name.
22871         Structure section.
22873         * doc/misc/trampver.texi:
22874         * lisp/net/trampver.el: Change version to "2.3.2".
22876         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
22877         Offer home directory for mock method if it doesn't exist.
22879 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
22881         Add documentation for display-line-numbers
22883         * doc/emacs/custom.texi (Init Rebinding):
22884         * doc/emacs/modes.texi (Minor Modes): Remove references to
22885         linum-mode.
22886         * doc/emacs/display.texi (Display Custom): Describe the
22887         line-number display.
22888         (Optional Mode Line): Fix the index entry to not conflict with
22889         that in "Display Custom".
22890         * doc/emacs/basic.texi (Position Info): Add cross-reference to
22891         "Display Custom", for line-number display.
22893         * src/xdisp.c (syms_of_xdisp): <display-line-numbers>: Mention
22894         display-line-numbers-disable in the doc string.
22896         * lisp/cus-start.el (standard): Fix lst change.
22898 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
22900         Support displaying zero as the number of the current line
22902         * src/xdisp.c (syms_of_xdisp)
22903         <display-line-numbers-current-absolute>: New variable.
22904         <display-line-numbers>: Doc fix.
22905         (maybe_produce_line_number): Support nil value of
22906         display-line-numbers-current-absolute.
22908         * lisp/cus-start.el (standard): Add customization form for
22909         display-line-numbers-current-absolute.
22911         * etc/NEWS: Document recently introduced features.
22913 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
22915         Speed up the visual-mode relative line numbers
22917         * src/xdisp.c (display_count_lines_visually): Introduce a
22918         shortcut: if a relative line number was already calculated for
22919         this iterator object, just increase it instead of the
22920         expensive call to move_it_to.  Argument list changed to pass a
22921         pointer to the iterator object.
22922         (maybe_produce_line_number): Adjust for change in signature of
22923         display_count_lines_visually.  Record the relative line number and
22924         the corresponding byte position in the iterator object also in the
22925         'visual' mode.
22927 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
22929         Fix hscrolling with line numbers on TTY frames
22931         * src/xdisp.c (hscroll_window_tree): Correct the X offset
22932         calculations on TTY frames.
22933         * src/term.c (produce_glyphs): Use it->lnum_pixel_width instead of
22934         a kludge using it->lnum_width.
22936 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
22938         Fix TAB display when the line-number face uses a smaller/larger font
22940         * src/dispextern.h (struct it): New member lnum_pixel_width.
22941         * src/xdisp.c (maybe_produce_line_number): Compute the width of
22942         the line-number display in pixels.
22943         (x_produce_glyphs): Use it->lnum_pixel_width instead of a kludge
22944         that used it->lnum_width and made assumptions about pixel width.
22946 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
22948         Escape NUL bytes in X selections (Bug#6991)
22950         * lisp/term/w32-win.el (w32--set-selection):
22951         * lisp/select.el (xselect--encode-string): Replace NUL bytes with
22952         "\0".
22953         * doc/emacs/killing.texi: Document new behavior.
22954         * etc/NEWS (times): Announce it.
22956 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
22958         Hide byte code in backtraces (Bug#6991)
22960         * lisp/emacs-lisp/debug.el (debugger-print-function): New defcustom,
22961         defaulting to `cl-print'.
22962         (debugger-insert-backtrace, debugger-setup-buffer): Use it instead of
22963         `prin1'.
22964         * etc/NEWS: Announce it.
22966 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
22968         Don't redundantly cl-print arglist in function docstring again
22970         * lisp/emacs-lisp/cl-print.el (cl-print-object): Don't print arglist
22971         part of docstring.
22972         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Update
22973         test accordingly.
22975 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
22977         Escape control characters in backtraces (Bug#6991)
22979         * src/print.c (syms_of_print): Add new variable,
22980         print-escape-control-characters.
22981         (print_object): Print control characters with octal escape codes when
22982         print-escape-control-characters is true.
22983         * lisp/subr.el (backtrace):
22984         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Bind
22985         `print-escape-control-characters' to t.
22987 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
22989         Improve ert backtrace recording
22991         Change ert to use the new `backtrace-frames' function instead of
22992         collecting frames one by one with `backtrace-frame'.  Additionally,
22993         collect frames starting from `signal' instead the somewhat arbitrary
22994         "6 from the bottom".  Skipping 6 frames would skip the expression that
22995         actually caused the signal that triggered the debugger.  Possibly 6
22996         was chosen because in the case of a failed test, the triggering frame
22997         is an `ert-fail' call, which is not so interesting.  But in case of a
22998         test throwing an error, this drops the `error' call which is too much.
23000         * lisp/emacs-lisp/debug.el (debugger-make-xrefs): Remove.
23001         * lisp/emacs-lisp/ert.el (ert--make-xrefs-region): Bring in relevant
23002         code from `debugger-make-xrefs'.
23003         (ert--print-backtrace): Add DO-XREFS parameter, delegate to
23004         `debugger-insert-backtrace'.
23005         (ert--run-test-debugger): Record the backtrace frames starting from
23006         the instigating `signal' call.
23007         (ert-run-tests-batch): Pass nil for `ert--print-backtrace's new
23008         DO-XREFS parameter.
23009         (ert-results-pop-to-backtrace-for-test-at-point): Pass t as DO-XREFS
23010         to `ert--print-backtrace' and remove call to `debugger-make-xrefs'.
23011         * test/lisp/emacs-lisp/ert-tests.el (ert-test-record-backtrace): Check
23012         the backtrace list instead of comparing its string representation.
23013         Expect `signal' to be the first frame.
23015 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
23017         Operate on frame list instead of printed backtrace
23019         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function,
23020         prints the given backtrace frames.
23021         (debugger-setup-buffer): Use it instead of editing the backtrace
23022         buffer text.
23024 2017-06-29  Eli Zaretskii  <eliz@gnu.org>
23026         Minor fixes
23028         * src/xdisp.c (maybe_produce_line_number): Fix bug that caused
23029         line numbers to be displayed in empty lines beyond ZV.
23030         (x_produce_glyphs): Start fixing TAB display in truncated lines.
23032 2017-06-29  Michael Albinus  <michael.albinus@gmx.de>
23034         Improve timer handling when Tramp accepts output
23036         * lisp/net/tramp-compat.el: Avoid compiler warning.
23038         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
23039         Remove lock machinery.
23041         * lisp/net/tramp.el (tramp-locked, tramp-locker): Move up.
23042         (tramp-file-name-handler): Add lock machinery from
23043         `tramp-sh-file-name-handler'.  Allow timers to run.
23044         (tramp-accept-process-output): Remove nasty workaround.
23045         Suppress timers.
23047         * test/lisp/net/tramp-tests.el (shell-command-sentinel):
23048         Suppress run in tests.
23049         (tramp--instrument-test-case-p): New defvar.
23050         (tramp--instrument-test-case): Use it in order to allow nested calls.
23051         (tramp--test-message, tramp--test-backtrace): New defsubst,
23052         will be used for occasional test instrumentation.
23053         (tramp-test00-availability, tramp-test31-vc-registered): Use them.
23054         (tramp-test28-shell-command)
23055         (tramp--test-shell-command-to-string-asynchronously): Suppress
23056         nasty messages.  Don't overwrite sentinel.
23057         (tramp-test36-asynchronous-requests): Rewrite major parts.
23058         Expect :passed.
23060 2017-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
23062         * lisp/url/url-history.el: Use lexical-binding
23064         (url-completion-function): Mark as obsolete.
23065         Mark unused args accordingly.
23067 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
23069         Don't assume url structs are vectors (Bug#27333)
23071         * lisp/url/url-history.el (url-history-update-url): Use `url-p'
23072         instead of `vectorp'.
23074 2017-06-28  Mark Oteiza  <mvoteiza@udel.edu>
23076         Replace with dolist some uses of while
23078         * lisp/calc/calc-units.el (calc-permanent-units):
23079         (math-compare-unit-names, math-simplify-units-quotient):
23080         (math-build-units-table-buffer): Use dolist to replace extra bindings
23081         and some while loops.
23083 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
23085         Make tcl-auto-fill-mode obsolete (Bug#10772)
23087         * lisp/progmodes/tcl.el (tcl-auto-fill-mode): Declare obsolete.
23088         * etc/NEWS: Announce it.
23090 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
23092         Don't read eshell/which output from *Help* buffer (Bug#26894)
23094         * lisp/help-fns.el (help-fns--analyse-function)
23095         (help-fns-function-description-header): New functions, extracted from
23096         describe-function-1.
23097         (describe-function-1): Use them.
23098         * lisp/eshell/esh-cmd.el (eshell/which): Use
23099         `help-fns-function-description-header' instead of
23100         `describe-function-1'.
23102 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
23104         Support default-text-properties
23106         * src/xdisp.c (should_produce_line_number): Call get-char-property
23107         at ZV as well, to support default-text-properties.
23109 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
23111         Avoid segfaults when some display vector is an empty string
23113         * src/xdisp.c (next_element_from_display_vector): Don't try
23114         accessing the dpvec[] array if its size is zero.  (Bug#27504)
23116 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
23118         Initial support for visually-relative line numbers
23120         Works very slowly.
23122         * src/xdisp.c (display_count_lines_visually): New function.
23123         (maybe_produce_line_number): Support 'visual' mode of line-number
23124         display.
23125         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
23126         also when glyph_row is NULL.  This is important for move_it_*
23127         functions.
23128         (syms_of_xdisp) <display-line-number-width>: Now buffer-local.
23129         (try_window_id, redisplay_window, try_cursor_movement): For
23130         'visual' line-number display, disable the same redisplay
23131         optimizations as for 'relative'.
23133         * lisp/cus-start.el (standard): Add new value for the
23134         customization form of display-line-numbers.
23136 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
23138         Update IT's metrics while simulating display
23140         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
23141         also when glyph_row is NULL.  This is important for move_it_*
23142         functions.
23144 2017-06-26  Teemu Likonen  <tlikonen@iki.fi>
23146         Fix bug in handling GnuPG's TRUST_MARGINAL status
23148         * lisp/epg.el (epg--status-TRUST_MARGINAL): Change symbol `marginal'
23149         to `good'.
23151 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
23153         Prefer `when' instead of 1-branch `if'
23155         * lisp/dired-aux.el (dired-do-shell-command): Store condition value
23156         in local variable ok.
23157         Use `when' instead of 1-branch `if'.
23159 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
23161         Use #' instead of (function ...)
23163         * lisp/dired-aux.el (dired-do-chxxx, dired-clean-directory)
23164         (dired-mark-confirm, dired-query, dired-byte-compile)
23165         (dired-load, dired-update-file-line, dired-after-subdir-garbage)
23166         (dired-relist-file, dired-rename-subdir, dired-do-create-files)
23167         (dired-mark-read-file-name, dired-do-copy, dired-do-symlink)
23168         (dired-do-hardlink, dired-do-rename, dired-do-rename-regexp)
23169         (dired-do-copy-regexp, dired-do-hardlink-regexp)
23170         (dired-do-symlink-regexp, dired-create-files-non-directory)
23171         (dired-upcase, dired-downcase)
23173         * lisp/dired.el (dired-mode, dired-copy-filename-as-kill)
23174         (dired-internal-do-deletions, dired-internal-do-deletions):
23175         Prefer #' instead of (function ...).
23177 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
23179         Don't quote lambda forms
23181         * lisp/dired.el (dired-re-maybe-mark, dired-map-over-marks)
23182         (dired-mark, dired-desktop-buffer-misc-data)
23184         * lisp/dired-aux.el (dired-do-create-files, dired-do-create-files-regexp)
23185         (dired-create-files-non-directory, dired-insert-subdir-validate)
23186         (dired-alist-sort, dired-do-shell-command): Don't quote lambda forms.
23188 2017-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
23190         * lisp/progmodes/cc-fonts.el: Remove/mark unused vars
23192         (c-font-lock-declarators): Remove unused vars `id-end', `paren-depth',
23193         and `brackets-after-id'.
23194         (c-font-lock-objc-methods): Mark unused args.
23196 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
23198         Omit null-pointer test in intervals.h FRAME
23200         * src/intervals.h (ROOT_INTERVAL_P, ONLY_INTERVAL_P)
23201         (INTERVAL_LAST_POS): Omit unnecessary parens.
23202         (LENGTH): Omit test for null pointer.  The argument is never null.
23203         The unnecessary test causes GCC 7.1.0 to assume that the argument
23204         might be null, and therefore to issue false alarms when the
23205         argument is dereferenced in other expressions.
23207 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
23209         Parenthesize frame.h macro definitions
23211         * src/frame.h (FRAME_TOOL_BAR_POSITION)
23212         (FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
23213         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
23214         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT)
23215         (FRAME_OVERRIDE_REDIRECT, FRAME_UNDECORATED, FRAME_PARENT_FRAME)
23216         (FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
23217         (FRAME_NO_ACCEPT_FOCUS, FRAME_NO_SPECIAL_GLYPHS, FRAME_Z_GROUP)
23218         (FRAME_Z_GROUP_NONE, FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_BELOW)
23219         (FRAME_HAS_HORIZONTAL_SCROLL_BARS): Parenthesize macro definiens
23220         to allow arbitrary expression arguments.
23222 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
23224         Port recent frame changes to GCC 7
23226         * src/frame.c (keep_ratio): New arg P.  Caller changed.  Since it
23227         is non-null, it avoids a GCC 7 warning that FRAME_PARENT_FRAME
23228         might return null.  This also avoids a run-time test.
23230 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
23232         Minor aesthetic fix of last change.
23234 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
23236         Allow to disable display of line numbers beyond EOB
23238         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
23239         function.
23240         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
23241         * src/xdisp.c (should_produce_line_number): When at ZV, call
23242         disable_line_numbers_overlay_at_eob to determine whether line
23243         numbers should be displayed beyond ZV.
23245 2017-06-25  Michael Albinus  <michael.albinus@gmx.de>
23247         Fix Android 6/7 problems in Tramp
23249         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Fix link part.
23250         (tramp-adb-handle-directory-files-and-attributes)
23251         (tramp-adb-handle-file-name-all-completions): Insert "."  and
23252         ".." only when needed.
23253         (tramp-adb-get-ls-command): Force one column output for toybox.
23255 2017-06-25  Stefan-W. Hahn  <stefan.hahn@s-hahn.de>  (tiny change)
23257         * lisp/subr.el (setq-local): Add debug declaration (Bug#27408).
23259 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
23261         Fix line number display for overlay/display strings with newlines
23263         * src/xdisp.c (maybe_produce_line_number): Fix the condition for
23264         producing space glyphs instead of a line number to include the
23265         case of display strings and overlays.
23267 2017-06-25  Alan Mackenzie  <acm@muc.de>
23269         Make CC Mode load cl-lib rather than cl in Emacs 26.
23271         * lisp/progmodes/cc-cmds.el (c-declaration-limits): Remove unused local
23272         variable.
23274         * lisp/progmodes/cc-defs.el (c--mapcan-status): Remove.
23275         (c--cl-library): New variable.
23276         (Top level): Amend the form which requires library cl or cl-lib.
23277         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
23278         (c--delete-duplicate): Amend to use c--cl-library instead of
23279         c--mapcan-status.
23281         * lisp/progmodes/cc-engine.el (c-syntactic-skip-backward)
23282         (c-back-over-compound-identifier): Remove unused local variables.
23284         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove an unused
23285         local variable.
23287         * lisp/progmodes/cc-langs.el (Top level): Amend to use c--cl-library instead
23288         of c--mapcan-status.
23290         * lisp/progmodes/cc-styles.el (Top level): Add a cc-bytecomp-defun to try to
23291         silence a compiler warning.
23293 2017-06-25  Martin Rudalics  <rudalics@gmx.at>
23295         Provide additional support for child frames
23297         Provide mouse dragging and resizing of frames.  Allow resizing
23298         frames proportionally.  Provide additional functionality for
23299         child frames.  Minor bug fixes.
23301         * lisp/frame.el (frame-border-width, frame-pixel-width)
23302         (frame-pixel-height): Alias to `frame-internal-border-width',
23303         `frame-native-width' and `frame-native-height'.
23304         (frame-inner-width, frame-inner-height, frame-outer-width)
23305         (frame-outer-height): New functions.
23306         * lisp/minibuffer.el (completion-auto-help): Fix typo.
23307         * lisp/mouse.el (mouse-drag-line, mouse-drag-mode-line)
23308         (mouse-drag-header-line): Allow moving a frame by dragging the
23309         mode line of its bottommost window (on a minibuffer-less frame)
23310         or the header line of its topmost window.
23311         (mouse-drag-vertical-line): Mention argument in doc-string.
23312         (mouse-resize-frame, mouse-drag-frame, mouse-drag-left-edge)
23313         (mouse-drag-top-left-corner, mouse-drag-top-edge)
23314         (mouse-drag-top-right-corner, mouse-drag-right-edge)
23315         (mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
23316         (mouse-drag-bottom-left-corner): New functions for resizing a
23317         frame by dragging its internal border together with
23318         corresponding key bindings.
23319         * lisp/tooltip.el (tooltip-frame-parameters): Add
23320         'no-special-glyphs' to default parameters and update version
23321         tag.
23322         * lisp/window.el (frame-auto-hide-function): Add choice to make
23323         frame invisible and update version tag.
23324         (window--delete): Handle 'auto-hide-function' frame parameter.
23325         (window--maybe-raise-frame): Respect 'no-focus-on-map' and
23326         'no-accept-focus' frame parameters.
23327         (display-buffer--action-function-custom-type): Add
23328         `display-buffer-in-child-frame'.
23329         (display-buffer): Mention `display-buffer-in-child-frame' in
23330         doc-string.
23331         (display-buffer-in-child-frame): New action function for
23332         `display-buffer'.
23333         (window--sanitize-margin): Return zero when MARGIN cannot be
23334         sanitized.
23335         (fit-frame-to-buffer): Major rewrite to handle child frames and
23336         'fit-frame-to-buffer-sizes' and 'fit-frame-to-buffer-margins'
23337         frame parameters.
23338         (window-largest-empty-rectangle--maximums-1)
23339         (window-largest-empty-rectangle--maximums)
23340         (window-largest-empty-rectangle--disjoint-maximums)
23341         (window-largest-empty-rectangle): New functions.
23343         * src/dispextern.h (WINDOW_WANTS_MODELINE_P)
23344         (WINDOW_WANTS_HEADER_LINE_P): Remove.  Functionality is now
23345         provided by corresponding functions window_wants_modeline and
23346         window_wants_header_line in window.c.  Adjust users.
23347         * src/dispnew.c (adjust_glyph_matrix)
23348         (buffer_posn_from_coords): Use window_wants_modeline and
23349         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
23350         WINDOW_WANTS_HEADER_LINE_P.
23351         * src/frame.c (keep_ratio): New function.
23352         (adjust_frame_size): Call keep_ratio for each of F's child
23353         frames.
23354         (make_frame): Initialize no_special_glyphs slot.
23355         (frame_internal_border_part): New function.
23356         (Fframe_pixel_width, Fframe_pixel_height, Fborder_width): Rename
23357         to Fframe_native_width, Fframe_native_height mand
23358         Fframe_internal_border_width.
23359         (frame_parm_table): Add Qno_special_glyphs entry.
23360         (frame_float_type): New enumeration type.
23361         (frame_float): New function to handle frame size and position
23362         ratios.
23363         (x_set_frame_parameters): Handle size and position ratios.
23364         (x_set_no_special_glyphs): New function
23365         (x_figure_window_size): Handle size and position ratios.
23366         (syms_of_frame): Add Qdisplay_monitor_attributes_list,
23367         Qno_special_glyphs, Qframe_edges, Qkeep_ratio, Qwidth_only,
23368         Qheight_only, Qleft_only and Qtop_only.
23369         * src/frame.h (internal_border_part): New enumeration type.
23370         (struct frame): New slot no_special_glyphs.
23371         (FRAME_NO_SPECIAL_GLYPHS): New macro.
23372         * src/gtkutil.c (xg_frame_restack): Return immediately for
23373         GTK versions before 2.18.0.
23374         * src/keyboard.c (internal_border_parts): New array constant.
23375         (make_lispy_position): For frames with border dragging enabled
23376         return internal border part.
23377         (syms_of_keyboard): New symbols Qdrag_internal_border,
23378         Qleft_edge, Qtop_left_corner, Qtop_edge, Qtop_right_corner,
23379         Qright_edge, Qbottom_right_corner, Qbottom_edge and
23380         Qbottom_left_corner.
23381         * src/minibuf.c (read_minibuf_unwind): When exiting the
23382         minibuffer deal with frames that have the 'minibuffer-exit'
23383         parameter set.
23384         (syms_of_minibuf): New symbol Qminibuffer_exit.
23385         * src/nsfns.m (frame_parm_handler): Add entry for
23386         x_set_no_special_glyphs.
23387         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
23388         Intitialize new cursor types for dragging frame borders.
23389         * src/nsterm.h (struct ns_output): Add new cursor types for
23390         dragging frame borders.
23391         * src/w32fns.c (w32_frame_parm_handlers): Add entry for
23392         x_set_no_special_glyphs.
23393         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
23394         Intitialize new cursor types for dragging frame borders.
23395         * src/w32term.h (struct w32_output): Add new cursor types for
23396         dragging frame borders.
23397         * src/window.c (coordinates_in_window)
23398         (Fwindow_line_height, window_internal_height): Use
23399         window_wants_modeline and window_wants_header_line instead of
23400         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
23401         (Fwindow_lines_pixel_dimensions): New function.
23402         (window_parameter): New function.
23403         (Fwindow_parameter): Call window_parameter.
23404         (window_wants_mode_line, window_wants_header_line): New
23405         functions replacing the macros WINDOW_WANTS_MODELINE_P and
23406         WINDOW_WANTS_HEADER_LINE_P from dispextern.h.
23407         (syms_of_window): New symbols Qmode_line_format and
23408         Qheader_line_format.
23409         * src/window.h: Reorganize and re-comment macros.  Use
23410         window_wants_modeline and window_wants_header_line instead of
23411         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
23412         (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P): Minor rewrite.
23413         (WINDOW_BUFFER): New macro.
23414         (WINDOW_BOX_LEFT_EDGE_COL, WINDOW_BOX_RIGHT_EDGE_COL): Remove.
23415         * src/xdisp.c (window_text_bottom_y, window_box_height)
23416         (window_box, start_display)
23417         (compute_window_start_on_continuation_line)
23418         (try_cursor_movement, redisplay_window)
23419         (try_window_reusing_current_matrix, try_window_id)
23420         (display_line, expose_window): Use window_wants_modeline and
23421         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
23422         WINDOW_WANTS_HEADER_LINE_P.
23423         (pos_visible_p, display_mode_lines): Respect W's
23424         'mode-line-format' and 'header-line-format' window parameters.
23425         (init_iterator): Use window_wants_modeline and
23426         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
23427         WINDOW_WANTS_HEADER_LINE_P.  For tip frames respect
23428         no_special_glyphs value.
23429         (note_mouse_highlight): Set frame border cursors when on
23430         internal border.
23431         (x_draw_right_divider, x_draw_bottom_divider): Try to improve
23432         drawing of window dividers.
23433         * src/xfns.c (mouse_cursor): Add entries for border parts.
23434         (mouse_cursor_types): Add entries for cursor types to drag
23435         frame borders.
23436         (INSTALL_CURSOR): Add entries for new cursor types to drag
23437         frame borders.
23438         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
23439         (x_frame_parm_handlers): Add entry for
23440         x_set_no_special_glyphs.
23441         (Vx_window_left_edge_shape, Vx_window_top_left_corner_shape)
23442         (Vx_window_top_edge_shape, Vx_window_top_right_corner_shape)
23443         (Vx_window_right_edge_shape)
23444         (Vx_window_bottom_right_corner_shape)
23445         (Vx_window_bottom_edge_shape)
23446         (Vx_window_bottom_left_corner_shape): New variables.
23447         (x_frame_restack): Call xg_frame_restack only for GTK versions
23448         starting with 2.18.0.
23449         * src/xterm.c (x_free_frame_resources): Remove new cursors for
23450         dragging frame borders.
23451         * src/xterm.h (struct x_output): Add new cursor types for
23452         dragging frame borders.
23454         * doc/lispref/display.texi (Size of Displayed Text): Document
23455         `window-lines-pixel-dimensions'.
23456         * doc/lispref/elisp.texi (Top): Add entry for "Mouse Dragging
23457         Parameters".
23458         * doc/lispref/frames.texi (Frame Size): Replace
23459         frame-pixel-width/-height by frame-native-width/-height.  Add
23460         frame-inner-width/-height and frame-outer-width/-height docs.
23461         (Position Parameters): Describe specifying position as ratios.
23462         Clarify remark about positions relative to bottom/ridge display
23463         edge.
23464         (Size Parameters): Describe specifying sizes as ratios.
23465         Describe 'fit-frame-to-buffer-margins' and
23466         'fit-frame-to-buffer-sizes' parameters.
23467         (Layout Parameters): Describe 'no-special-glyphs' parameter.
23468         (Frame Interaction Parameters): Describe 'auto-hide-function',
23469         'minibuffer-exit' and 'keep-ratio' parameters.
23470         (Mouse Dragging Parameters): New section describing
23471         'drag-internal-border', 'drag-with-header-line',
23472         'drag-with-mode-line', 'snap-width', 'top-visible' and
23473         'bottom-visible' parameters.
23474         (Management Parameters): Mention that `override-redirect' has
23475         no effect on MS Windows.
23476         (Font and Color Parameters): Mention child frames for `alpha'
23477         parameter.
23478         (Child Frames): Rewrite section with description and cross
23479         references to new frame parameters added.
23480         * doc/lispref/modes.texi (Mode Line Basics): Mention
23481         'mode-line-format' and 'header-line-format' window parameters.
23482         * doc/lispref/windows.texi (Resizing Windows): Mention effect
23483         of `fit-frame-to-buffer-margins' for child frames.
23484         (Display Action Functions): New action function
23485         `display-buffer-in-child-frame'.
23486         (Quitting Windows): Mention `make-frame-invisible' as optional
23487         value of `frame-auto-hide-function' and `auto-hide-function'
23488         frame paameter.
23489         (Coordinates and Windows): Describe new function
23490         `window-largest-empty-rectangle'.
23491         (Window Parameters): Describe new parameters 'mode-line-format'
23492         and 'header-line-format'.  Index all window parameters described
23493         in this section.
23495 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
23497         Adjust lm-verify to accept current notices
23499         Problem reported by Mike Kupfer in:
23500         https://lists.gnu.org/r/emacs-devel/2017-06/msg00512.html
23501         * lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
23502         Do not require later lines in a copyright notice to have more
23503         indentation than earlier lines.
23505 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
23507         Minor change in NEWS.
23509         Improve documentation in NEWS.
23511 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
23513         Move additional hscrolling code into a suitable 'if'
23515         * src/xdisp.c (hscroll_window_tree): Make additional calculations
23516         regarding glyphs produced for line numbers conditional on
23517         line-number display.
23519 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
23521         Partial fix of hscroll of truncated lines with line numbers
23523         * src/xdisp.c (x_produce_glyphs, hscroll_window_tree): Adjust
23524         hscroll calculations to line-number display.
23525         * src/term.c (produce_glyphs): Adjust tab stop to window's
23526         hscroll.  These two changes fix horizontal scrolling when line
23527         numbers are displayed.  But there's still a bug: the horizontal
23528         shift of lines that begin with a TAB is different from the rest.
23529         * src/xdisp.c (move_it_in_display_line_to): Call
23530         should_produce_line_number to determine whether a line number
23531         should be produced for this screen line.
23533 2017-06-24  Noam Postavsky  <npostavs@gmail.com>
23535         Don't change byte-compile-delete-errors at runtime (Bug#27340)
23537         * lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile
23538         time.
23540 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
23542         Allow Lisp program to disable line-number display for specific lines
23544         * etc/NEWS: Update the documentation.
23546         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-disable>: New
23547         symbol.
23548         (should_produce_line_number): New function.
23549         (display_line): Use should_produce_line_number to determine
23550         whether a line number should be produced for each glyph row.
23552 2017-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
23554         * lisp/net/html2text.el: Move to obsolete/.
23556 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
23558         Support a separate face for displaying the current line's number
23560         * lisp/faces.el (line-number-current-line): New face.
23562         * src/xdisp.c (syms_of_xdisp) <line-number-current-line>: New
23563         symbol.
23564         (try_window_id, try_cursor_movement): Disable these optimizations
23565         when the line-number-current-line face is different from
23566         line-number face.
23567         (maybe_produce_line_number): Display the current line in the
23568         line-number-current-line face, if it's different from line-number.
23570 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
23572         Change display of current line in relative mode
23574         * src/xdisp.c (maybe_produce_line_number): In relative mode
23575         display the current line number as its absolute value, not as zero.
23577 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
23579         Rename display-line-width
23581         * etc/NEWS:
23582         * src/xdisp.c (syms_of_xdisp, maybe_produce_line_number):
23583         * lisp/cus-start.el: Rename display-line-width to
23584         display-line-number-width.
23586 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
23588         Fix tab stops when line numbers are displayed
23590         * src/xdisp.c (x_produce_glyphs):
23591         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
23592         space taken by the line-number display.
23594 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
23596         Fix crashes on TTY frames due to negative lnum_width.
23598         Don't display line numbers in the minibuffer and in tooltip frames.
23600 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
23602         Fix problems with line-number updates in Follow mode
23604         * src/xdisp.c (redisplay_window): If forced window-start requires
23605         to move a window's point, and the window is under relative
23606         line-number display, force another round of redisplay to update
23607         the relative line numbers.  This fixes follow-mode "redisplay" of
23608         its window group.
23610         * lisp/frame.el: Add display-line-numbers to the list of variables
23611         that should trigger redisplay of the current buffer.
23613 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
23615         Fix display of line numbers with fonts larger than the default
23617         * src/xdisp.c (maybe_produce_line_number): Update the metrics in
23618         IT, not in IT->glyph_row, since the latter gets overwritten in
23619         display_line.  Fixes display of line numbers when the font used
23620         for them is larger than that of the default face.
23622 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
23624         Fix background color beyond EOB and cursor display
23626         * src/xdisp.c:  (maybe_produce_line_number): Use the default face
23627         for background of the blank glyphs in the line-number area which
23628         are drawn beyond EOB.
23629         (display_line): Reset the glyph row's displays_text_p flag only on
23630         empty lines that don't display line numbers.  This fixes cursor
23631         display beyond EOB.  Fix the bidi information in the glyphs
23632         produced for line numbers.  Set the avoid_cursor_p flag of glyphs
23633         produced for line numbers.
23635 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
23637         Fix display of indicate-empty-lines when line numbers are displayed
23639         * src/xdisp.c (row_text_area_empty): New function.
23640         (display_line): Call row_text_area_empty to verify that a glyph
23641         row's text area is devoid of any glyphs that came from a buffer or
23642         a string.  This fixes a bug with empty-lines indication
23643         disappearing when line numbers or line-prefix are displayed.
23644         (display_line): Delete the argument FORCE; all callers changed.
23645         Remove the condition for actually producing the glyphs for the
23646         line number, as even if the number didn't change we need to
23647         produce empty space.
23649 2017-06-23  Vincent Belaïche  <vincentb1@users.sourceforge.net>
23651         Fix symbol relocation when the relocated cell is renamed.
23653         * lisp/ses.el (ses-sym-rowcol):  Check that the renamed cell
23654         hashmap has been instantiated before getting data from it.  When
23655         editing several spreadsheets, and you have spreadsheet #1 with a
23656         cell named `foo', and no renamed cell in spreadsheet #2, then if
23657         you make a formula with `foo' in spreadsheet #2, not doing this
23658         check will make an error.
23659         (ses-cell-set-formula): Robustify versus incorrect cell references
23660         given in the user provided formula.  An explicit error message is
23661         provided after the action when the user gives an incorrect cell
23662         reference, but the formula edition is not changed.  This means that
23663         if the incorrect reference is to a cell that is created someday,
23664         then this new cell will not have the edited cell in its reference
23665         list.  Fixing this can still be done by editing again the first
23666         cell formula.
23667         (ses-relocate-symbol): Do not create symbol of referred-to cell
23668         when this is a renamed cell.
23670 2017-06-23  Rasmus  <rasmus@gmx.us>
23672         Synchronize with the "emacs-sync" branch from Org
23674 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
23676         Remove getc_unlocked configure-time check
23678         * configure.ac (getc_unlocked): Remove check, as unlocked-io now
23679         does this for us.
23681 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
23683         Use unlocked stdio more systematically
23685         This can improve performance significantly on stdio-bottlenecked code.
23686         E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
23687         * admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
23688         * lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
23689         * lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
23690         * lib-src/profile.c, lib-src/update-game-score.c:
23691         Include unlocked-io.h instead of stdio.h, since these programs are
23692         single-threaded.
23693         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
23694         * lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
23695         * src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
23696         * src/lread.c, src/term.c:
23697         Include sysstdio.h, possibly instead of stdio.h, to define
23698         the unlocked functions if the system does not provide them.
23699         * src/charset.c, src/lread.c (getc_unlocked):
23700         Remove, since sysstdio.h now defines it if needed.
23701         * src/cm.c (cmputc, cmcheckmagic):
23702         * src/dispnew.c (update_frame, update_frame_with_menu)
23703         (update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
23704         * src/emacs.c (main, Fdump_emacs):
23705         * src/fileio.c (Fdo_auto_save, Fset_binary_mode):
23706         * src/image.c (slurp_file, png_read_from_file, png_load_body)
23707         (our_stdio_fill_input_buffer):
23708         * src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
23709         * src/lread.c (readbyte_from_file):
23710         * src/minibuf.c (read_minibuf_noninteractive):
23711         * src/print.c (printchar_to_stream, strout)
23712         (Fredirect_debugging_output):
23713         * src/sysdep.c (reset_sys_modes, procfs_ttyname)
23714         (procfs_get_total_memory):
23715         * src/term.c (tty_ring_bell, tty_send_additional_strings)
23716         (tty_set_terminal_modes, tty_reset_terminal_modes)
23717         (tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
23718         (tty_write_glyphs_with_face, tty_insert_glyphs)
23719         (tty_menu_activate):
23720         * src/xfaces.c (Fx_load_color_file):
23721         Use unlocked stdio when it should be safe.
23722         * src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
23723         (fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
23724         (fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
23725         (putc_unlocked, putchar_unloced): Provide substitutes if not declared.
23727 2017-06-22  Glenn Morris  <rgm@gnu.org>
23729         * lisp/net/shr.el (shr-fill-text): Actually fill the text.  (Bug#27399)
23731 2017-06-22  Michal Nazarewicz  <mina86@mina86.com>
23733         unidata: don’t check special casing in unidata-check  (bug#26656)
23735         * admin/unidata/unidata-gen.el (unidata-check): Do not test special
23736         casing mapping of characters since that mapping is not constructed from
23737         the unidata.txt file.
23738         Also, check for integer decoder and cons char earlier so that less
23739         unnecessary processing is performed.
23741 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
23743         * lisp/descr-text.el (describe-char): Avoid string-*-multibyte
23745         Avoid string-to-multibyte and string-as-unibyte.
23746         Don't make *Help* unibyte just because the char was in a unibyte buffer.
23748 2017-06-22  Rasmus  <rasmus@gmx.us>
23750         Add Org schemas.xml contents to Emacs schemas.xml
23752         Entries from the Org version of schemas.xml have been added to
23753         the Emacs version of schemas.xml.
23755 2017-06-22  Rasmus  <rasmus@gmx.us>
23757         Update Org to v9.0.9
23759         Please see etc/ORG-NEWS for details.
23761 2017-06-22  Vincent Belaïche  <vincentb1@users.sourceforge.net>
23763         Do not hard code A1 cell reference, as it may be renamed.
23765         * lisp/ses.el (ses-recalculate-all): `A1' -> `(ses-cell-symbol 0 0)'
23767 2017-06-22  Martin Rudalics  <rudalics@gmx.at>
23769         Fix make_hash_table calls in lread.c
23771         * src/lread.c (readevalloop, read_internal_start): Fix
23772         make_hash_table calls to make build succeed.
23774 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
23776         Merge several Lisp reader speedups.
23778 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
23780         Create less garbage to collect while reading symbols.
23782         * src/lread.c (read1): When interning a symbol, only create a new
23783         string object for the name if we're going to use it for a new symbol
23784         object.
23786 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
23788         Replace read_objects assoc list with two hash tables.
23790         For larger input files with lots of shared data structures, an
23791         association list is too slow.
23793         * src/lread.c (read_objects_map, read_objects_completed): New
23794         variables, replacing read_objects.
23795         (readevalloop): Initialize them with hash tables before starting a
23796         top-level read, if they're not already empty hash tables, and reset
23797         them to Qnil afterwards if something was added to the hash tables.
23798         (read_internal_start): Likewise.
23799         (read1): Store first the placeholder and later the newly read object
23800         into read_objects_map under the specified object number.  If the new
23801         object can contain a reference to itself, store it in
23802         read_objects_completed.
23803         (substitute_objects_recurse): Check read_objects_completed instead of
23804         read_objects for the known possibly-recursive objects.
23805         (syms_of_lread): Update initializations.
23807 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
23809         Use getc_unlocked.
23811         * configure.ac: Check for getc_unlocked.
23812         * src/charset.c (read_hex, load_charset_map_from_file): Use
23813         getc_unlocked instead of getc.
23814         (getc_unlocked) [!HAVE_GETC_UNLOCKED]: Fall back to getc.
23815         * src/lread.c (readbyte_from_file, Fget_file_char, read1,
23816         getc_unlocked): Likewise.
23818 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
23820         Reduce lread substitutions.
23822         * src/lread.c (read1): After reading an object using the "#n=" syntax,
23823         if the read object is a cons cell, instead of recursively substituting
23824         the placeholder with the new object, mutate the placeholder cons cell
23825         itself to have the correct car and cdr values.
23827 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
23829         Short-circuit substitutions for some simple types.
23831         Values that don't contain other values cannot be circular, so checking
23832         for circular objects is a waste of cycles.
23834         * src/lread.c (substitute_object_recurse): If the subtree being
23835         examined is a symbol, number, or property-less string, just return
23836         it.
23838 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
23840         Limit style_format to MAX_ALLOCA
23842         * src/editfns.c (styled_format): Subtract initial buffer size
23843         from sa_avail, since it is nontrivial.
23845 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
23847         Limit bidi_find_bracket_pairs to MAX_ALLOCA
23849         * src/bidi.c (MAX_BPA_STACK): Now a constant, not a macro.
23850         Shrink it to allow for the two struct bidi_it objects in
23851         the same frame.
23852         (PUSH_BPA_STACK): Avoid integer overflow with enormous bidi cache.
23853         (bidi_find_bracket_pairs): Use compile-time check instead of runtime.
23855 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
23857         Limit insert-file-contents to MAX_ALLOCA
23859         * src/fileio.c (READ_BUF_SIZE): Don’t allocate more than
23860         MAX_ALLOCA bytes in a single stack array.
23862 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
23864         Remove malloc_find_address relic
23866         * src/gmalloc.c (register_heapinfo, _malloc_internal_nolock):
23867         Omit unnecessary initialization.
23869 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
23871         Fix temacs hybrid_malloc core dump
23873         Without this patch, ./temacs would dump core sometimes on Fedora
23874         25 x86-64.  The problem was that the hybrid allocator assumed that
23875         all pointers into bss_sbrk_buffer are allocated via gmalloc.  This
23876         assumption is not true on Fedora, because the standard memory
23877         allocator calls gdefault_morecore, which means its blocks are
23878         interleaved with our blocks.  Usually the code happened to work,
23879         because our data structures agreed with the glibc data structures,
23880         but this was merely luck due to a shared pedigree, and as glibc
23881         mutates our luck has run out.
23882         * src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [HYBRID_MALLOC]:
23883         Remove; no longer needed.
23884         (BLOCK): Use unsigned division, as that does the right thing near zero.
23885         (register_heapinfo, __malloc_internal_nolock, __free_internal_nolock)
23886         (_realloc_internal_nolock):
23887         Big blocks now have type -1, not 0, as 0 now means the block is
23888         not ours.
23889         (morecore_nolock): Omit now-unnecessary casts to size_t.
23890         (allocated_via_gmalloc) [HYBRID_MALLOC]: New function.
23891         (hybrid_free, hybrid_realloc) [HYBRID_MALLOC]: Use it, to
23892         avoid calling the wrong free or realloc function in some cases.
23894 2017-06-21  Katsumi Yamaoka  <yamaoka@jpl.org>
23896         Make gnus-article-date-user work
23898         * lisp/gnus/gnus-art.el (article-date-ut):
23899         Work for unfolded multi-line Date header.
23900         (article-transform-date):
23901         Refactor; add header name if it is missing in user-defined date line.
23902         (article-date-user): Fix name of date type.
23904 2017-06-21  Noam Postavsky  <npostavs@gmail.com>
23906         Keep order of completion candidates (Bug#25995, Bug#24676)
23908         * lisp/minibuffer.el (completion-pcm--filename-try-filter)
23909         (completion-pcm--all-completions): Use nreverse to undo the reversing
23910         caused by using push in the loop.
23912 2017-06-21  Glenn Morris  <rgm@gnu.org>
23914         * src/lread.c (syms_of_lread) <load-history>: Doc fix.
23916 2017-06-21  Alex Gramiak  <agrambot@gmail.com>
23918         Mark prolog indent variables as safe (bug#27369)
23920         * lisp/progmodes/prolog.el (prolog-indent-width)
23921         (prolog-left-indent-regexp, prolog-paren-indent-p)
23922         (prolog-paren-indent): Add :safe property.
23924 2017-06-20  Simen Heggestøyl  <simenheg@gmail.com>
23926         Remove `:options' from `css-electric-keys'
23928         * lisp/textmodes/css-mode.el (css-electric-keys): Remove `:options`
23929         since it just duplicates the default value.
23931 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
23933         Fix crash when built by GNU Gold linker on x86
23935         Problem reported by Andrés Musetti (Bug#27248).
23936         * src/widget.c (emacsFrameClassRec): Do not initialize superclass here.
23937         (emacsFrameClass): Now a function (which initializes the
23938         superclass) instead of a variable.  All uses changed.
23940 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
23942         Simplify autogen.sh version checking
23944         * autogen.sh (get_version): Simplify and make more reliable
23945         by using expr rather than echo | sed.  Check exit status of program.
23946         Run program in subshell in case it cannot be executed.
23947         (check_version): Check exit status of command rather than its output.
23948         Check return status of get_version.
23950 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
23952         Delete old Date header in a simple way
23954         * lisp/gnus/gnus-art.el (article-date-ut): Don't rely on text prop
23955         when searching the old Date header boundary in order to delete it.
23957 2017-06-20  Bastien  <bzg@gnu.org>
23959         Revert "Don't bind org-agenda key to an anonymous function"
23961         This reverts commit 49c0ff29c2e0243ba35ec17e3e3af49369be43db.
23963 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
23965         Bind enable-local-variables to nil globally (fix dbe3e41)
23967         * lisp/gnus/mm-view.el (mm-display-inline-fontify):
23968         Bind enable-local-variables to nil globally instead of making it
23969         buffer-local; remove let-bind of local-enable-local-variables.
23970         cf. <b4mtw3bbfp5.fsf@jpl.org> in the emacs-devel list.
23972 2017-06-20  Glenn Morris  <rgm@gnu.org>
23974         kill-matching-buffers to optionally not confirm
23976         * lisp/files.el (kill-matching-buffers):
23977         Add option to not confirm killing.  (Bug#27286)
23979 2017-06-20  Glenn Morris  <rgm@gnu.org>
23981         * lisp/files.el (local-enable-local-variables): Doc fix.
23983 2017-06-20  Glenn Morris  <rgm@gnu.org>
23985         autogen.sh: try to check for tool being present but broken
23987         * autogen.sh (get_version): Check return status of "--version".
23988         (check_version): Try to distinguish between a missing tool
23989         and a broken one.  (Bug#27288)
23991 2017-06-19  Glenn Morris  <rgm@gnu.org>
23993         Avoid a custom-variable-type error (bug#27363)
23995         * lisp/cus-edit.el (custom-variable-type):
23996         Avoid an error due to plist-put becoming stricter of late.
23998 2017-06-19  Glenn Morris  <rgm@gnu.org>
24000         Don't put deleted packages in the trash (bug#14967)
24002         * lisp/emacs-lisp/package.el (package-delete):
24003         Don't pay attention to delete-by-moving-to-trash.
24005 2017-06-19  Nicolas Petton  <nicolas@petton.fr>
24007         Revert "Add current-line in simple.el"
24009         This reverts commit ae98cdf9431604d0f722f1db217ca06debfbb7b6.
24011 2017-06-19  Damien Cassou  <damien@cassou.me>
24013         Add current-line in simple.el
24015         * lisp/simple.el (current-line): New function.
24016         * test/lisp/simple-tests.el: Add tests for current-line.
24018 2017-06-19  Katsumi Yamaoka  <yamaoka@jpl.org>
24020         Don't try to eval local variables in Gnus article
24022         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Disable local vars.
24024 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
24026         Fix emacs-module.h cleaning
24028         * src/Makefile.in (clean): Do not remove emacs-module.h.in.
24029         (bootstrap-clean): Remove emacs-module.h.
24031 2017-06-18  Andreas Schwab  <schwab@linux-m68k.org>
24033         * lisp/url/url-util.el (url-get-url-at-point): Add missing group
24034         in regex.
24036 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
24038         * lib/gettext.h: Merge from gnulib.
24040 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
24042         Merge from gnulib
24044         This (and my previous patch) incorporate:
24045         2017-06-17 diffseq: port to GCC 7 with --enable-gcc-warnings
24046         2017-06-15 gettext-h: Update comment
24047         * lib/diffseq.h: Copy from gnulib.
24049 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
24051         * test/Makefile.in: Don't suppress test failure for single tests.
24053 2017-06-17  Philipp Stephani  <phst@google.com>
24055         emacs-module.h: Create emacs_env_26
24057         This was part of the original design of the module
24058         API (https://lists.gnu.org/r/emacs-devel/2015-02/msg00960.html),
24059         but I didn't take it into account when adding the should_quit
24060         function.
24062         Instead of duplicating the environment fields or using the C
24063         preprocessor, use configure to build emacs-module.h.
24065         * configure.ac: Expand emacs-module.h template.
24067 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
24069         Improve documentation of replace-buffer-contents
24071         * etc/NEWS (replace-buffer-contents): Fix formatting.
24073         * src/editfns.c (Freplace_buffer_contents): Doc fix.
24075 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
24077         Finish up native display of line numbers
24079         * src/xdisp.c (maybe_produce_line_number): Produce a blank before
24080         the number, for R2L rows.  Increment 'g' in the loop even if
24081         glyph_row is NULL.  Accept 2nd argument FORCE and produce the
24082         line-number glyphs if it is non-zero.
24083         (move_it_in_display_line_to): Account for the space taken by the
24084         line-number glyphs.  Call maybe_produce_line_number with 2nd
24085         argument non-zero.
24086         (set_cursor_from_row): Fix calculation of cursor X coordinate in
24087         R2L rows with display-produced glyphs at the beginning.
24088         (syms_of_xdisp) <line-number>: New face symbol.
24089         <relative, display-line-width>: New symbols.
24090         (maybe_produce_line_number): Use the line-number face for
24091         displaying line numbers.  Support relative line-number display.
24092         Support user-defined width for displaying line numbers.
24093         (try_cursor_movement, try_window_id): Disable these optimizations
24094         when displaying relative line numbers.
24095         * src/dispextern.h (struct it): New member 'pt_lnum'.
24097         * lisp/faces.el (line-number): New face.
24098         * lisp/cus-start.el (standard): Provide customization forms for
24099         display-line-numbers and display-line-width.
24100         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
24101         turn display-line-numbers on and off.
24103         * etc/NEWS: Document the new feature.
24105 2017-06-17  Philipp Stephani  <phst@google.com>
24107         Allow local variables section to begin with a square bracket
24109         Fixes Bug#27391.
24111         * lisp/international/mule.el (find-auto-coding): Fix regular
24112         expression for "Local Variables" section.
24114         * test/lisp/international/mule-tests.el (find-auto-coding--bug27391):
24115         Add unit test.
24117 2017-06-17  Philipp Stephani  <phst@google.com>
24119         Remove unnecessary point motion
24121         * src/editfns.c (Freplace_buffer_contents): Remove unnecessary point
24122         motion.
24124 2017-06-17  Philipp Stephani  <phst@google.com>
24126         Add command to replace buffer contents
24128         Add a new command 'replace-buffer-contents' that uses the Myers diff
24129         algorithm to non-destructively replace the accessible portion of the
24130         current buffer.  The Myers algorithm is implemented in Gnulib.
24132         * src/editfns.c (Freplace_buffer_contents): New command.
24133         (set_bit, bit_is_set, buffer_chars_equal): New helper functions.
24134         (syms_of_editfns): Define new command.
24136         * test/src/editfns-tests.el (replace-buffer-contents-1)
24137         (replace-buffer-contents-2): New unit tests.
24139         * src/buffer.h (BUF_FETCH_CHAR_AS_MULTIBYTE): New helper macro.
24141         * admin/merge-gnulib (GNULIB_MODULES): Add diffseq.h and minmax.h.
24143 2017-06-17  Andreas Schwab  <schwab@linux-m68k.org>
24145         * lisp/international/characters.el: Update list of zero and full
24146         width characters according to Unicode 9.0.0.
24148 2017-06-17  Simen Heggestøyl  <simenheg@gmail.com>
24150         Complete CSS property values less eagerly (Bug#27392)
24152         * lisp/textmodes/css-mode.el (css--complete-property-value): Be less
24153         eager by looking for a colon after the property which values are being
24154         completed for.
24156         * test/lisp/textmodes/css-mode-tests.el (css-test-complete-property):
24157         Add a test case ensuring that properties that are prefixes of other
24158         properties don't hinder further completion.
24160 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
24162         Handle integer indices for eshell variables (Bug#26055)
24164         * lisp/eshell/esh-var.el (eshell-index-value): Convert index to number
24165         if it's been marked as one, just like `eshell-lisp-command' does.
24167 2017-06-17  Mark Oteiza  <mvoteiza@udel.edu>
24169         Don't bind org-agenda key to an anonymous function
24171         * lisp/org/org-agenda.el: Bind "g" to named command.
24172         (org-agenda-redo-all): New command.  Extend the previous functionality
24173         through a prefix argument.
24175 2017-06-17  Dmitry Gutov  <dgutov@yandex.ru>
24177         Add test for the fix in the parent commit
24179         * test/src/undo-tests.el (undo-test-skip-invalidated-markers):
24180         New test, for the fix in the parent commit.
24182 2017-06-17  Nitish Chandra  <nitishchandrachinta@gmail.com>  (tiny change)
24184         primitive-undo: Update only the currently valid markers
24186         * lisp/simple.el (primitive-undo):
24187         Update only the currently valid markers (bug#25599).
24189 2017-06-16  Eli Zaretskii  <eliz@gnu.org>
24191         Initial version of native display of line numbers
24193         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: New
24194         buffer-local variable.
24195         Include <math.h>.
24196         (maybe_produce_line_number): New function.
24197         (DISP_INFINITY): Rename from INFINITY, since math.h defines INFINITY.
24198         (try_window_reusing_current_matrix): Don't use this method when
24199         display-line-numbers is in effect.
24200         * src/dispextern.h (struct it): New members 'lnum'.
24202 2017-06-16  Philipp Stephani  <phst@google.com>
24204         Correctly detect URLs surrounded by parentheses in comments
24206         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url):
24207         Make parentheses match work inside comments.
24209         * test/lisp/thingatpt-tests.el (thing-at-point-url-in-comment): Add
24210         unit test.
24212 2017-06-16  Michael Albinus  <michael.albinus@gmx.de>
24214         Fix load-path issue when it contains remote directories
24216         * lisp/net/tramp.el (tramp-file-name-handler): Use `autoloadp'.
24217         (tramp-use-absolute-autoload-file-names): New defun.  Call it
24218         after loading tramp.el.
24220         * test/lisp/net/tramp-tests.el (tramp-test38-remote-load-path):
24221         New test.
24222         (tramp-test39-unload): Rename.
24224 2017-06-16  Alan Mackenzie  <acm@muc.de>
24226         Ensure C++ initializer lists don't get fontified.
24228         * lisp/progmodes/cc-cmds.el (c-block-comment-flag): Move declaration to solve
24229         compiler warning.
24231         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add an extra
24232         clause to handle C++ member initialization lists.
24233         (c-font-lock-single-decl): New function, extracted from
24234         c-font-lock-declarations.
24235         (c-font-lock-declarations): Call c-font-lock-single-decl in place of inline
24236         code.
24237         (c-font-lock-cut-off-declarators): Make more rigorous by calling
24238         c-get-fontification-context, c-forward-decl-or-cast-1, and
24239         c-font-lock-single-decl in place of rather approximate code.
24241 2017-06-16  Alan Mackenzie  <acm@muc.de>
24243         Fix hang in CC Mode when ":" is typed after identifier at EOB.
24245         * lisp/progmodes/cc-engine.el (c-forward-declarator): Fix coding error
24246         confusing ":" and EOB.
24248 2017-06-15  Alan Mackenzie  <acm@muc.de>
24250         Create a toggle between block and line comments in CC Mode.
24252         Also (unrelated change) initialize the modes' keymaps at each loading.
24254         * lisp/progmodes/cc-cmds.el (c-update-modeline): amend for the new information
24255         on the modeline.
24256         (c-block-comment-flag): New variable.
24257         (c-toggle-comment-style): New function.
24259         * lisp/progmodes/cc-langs.el (c-block-comment-starter)
24260         (c-line-comment-starter): Make them c-lang-defvars.
24261         (c-block-comment-is-default): New c-lang-defvar.
24262         (comment-start, comment-end): Make the default values dependent on
24263         c-block-comment-is-default.
24265         * lisp/progmodes/cc-mode.el (c-mode-base-map): Define C-c C-k in this map.
24266         (c-basic-common-init): Initialize c-block-comment-flag.
24267         (c-mode-map, c++-mode-map, objc-mode-map, java-mode-map, idl-mode-map)
24268         (pike-mode-map, awk-mode-map): Make entries in these key maps each time the
24269         mode is loaded rather than just once per Emacs session.
24271         * doc/misc/cc-mode.texi (Comment Commands): Introduce the notion of comment
24272         style.
24273         (Minor Modes): Define comment style.  Describe how comment style influences
24274         the information displayed on the modeline.  Document c-toggle-comment-style.
24275         (FAQ): Add a question about toggling the comment style.
24277 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
24279         Pacify clang without munging C source
24281         * configure.ac (WARN_CFLAGS): With Clang, use
24282         -Wno-tautological-compare regardless of --enable-gcc-warnings.
24283         (WERROR_CFLAGS): Simplify assignments, and guarantee it’s always set.
24284         * lib/strftime.c: Copy from gnulib, reverting Clang-specific
24285         change which I hope is no longer needed.
24286         * src/emacs.c (main): Revert rlim_t change, as rlim_t is signed on
24287         some older non-POSIX hosts.
24289 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
24291         No need to complicate make-docfile.c for Clang
24293         * lib-src/make-docfile.c (put_filename): Undo recent change.
24294         The Clang false alarm occurs only with CFLAGS=-save-temps and
24295         we needn’t worry about pacifying unusual compiler configurations.
24297 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
24299         Port './configure CC=clang' to Fedora 25
24301         * configure.ac (HAVE_IMAGEMAGICK): Disable if even a
24302         standard function like MagickRelinquishMemory does not link.
24304 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
24306         Don’t worry about __STDC_VERSION__ in emacs-module
24308         * src/emacs-module.h: Remove __STDC_VERSION__ check.  In the past
24309         we’ve found that some compilers do not define this symbol even
24310         when they work well enough.  If necessary features like stdbool.h
24311         are missing the compiler will complain eventually anyway.
24313 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
24315         Port cleanup check to Oracle Studio 12.5
24317         * src/conf_post.h (__has_attribute_cleanup): Resurrect.
24318         * src/emacs-module.c: Verify __has_attribute (cleanup), but in an
24319         #if this time.
24321 2017-06-14  Bastien  <bzg@gnu.org>
24323         Fix misformatted changelog entry
24325 2017-06-14  Eli Zaretskii  <eliz@gnu.org>
24327         Avoid compiler warning in image.c on MS-Windows
24329         * src/image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: Avoid
24330         compilation warning under -Warray-bounds by temporarily disabling
24331         the -Warray-bounds option.
24333 2017-06-14  Michael Albinus  <michael.albinus@gmx.de>
24335         Fix Bug#27315
24337         * lisp/net/tramp-cache.el (tramp-cache-read-persistent-data):
24338         New defvar.
24339         (top): Use it.
24341         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
24342         Check for connected, not for connectable.  (Bug#27315)
24343         (tramp-process-actions):
24344         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
24345         Use `tramp-cache-read-persistent-data'.
24347         * test/lisp/net/tramp-tests.el (top): Set also
24348         `tramp-cache-read-persistent-data'.
24350 2017-06-14  Noam Postavsky  <npostavs@gmail.com>
24352         Give a fixed default value for icomplete-prospects-height (Bug#26939)
24354         * lisp/icomplete.el (icomplete-prospects-height): Default to 2.
24355         (icomplete-prospects-length): Remove.
24356         * etc/NEWS: Announce removal.
24358 2017-06-14  Philipp Stephani  <phst@google.com>
24360         Remove some tautological comparisons involving rlim_t
24362         Clang on macOS warns about these with -Wtautological-compare.  POSIX
24363         guarantees that rlim_t is
24364         unsigned (cf.
24365         http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
24366         so these resource limits can never be negative.
24368         * src/emacs.c (main): Remove tautological comparisons.
24370 2017-06-14  Philipp Stephani  <phst@google.com>
24372         Use --module-assertions if modules are available
24374         Using --module-assertions helps us find bugs in the test module.  But
24375         we can use it only if Emacs was compiled with module support.
24377         * test/Makefile.in (MODULES_EMACSOPT): New variable.
24378         (emacs): Use it.
24380 2017-06-14  Philipp Stephani  <phst@google.com>
24382         Define --module-assertions only of modules are available
24384         Fixes Bug#27352.
24386         * src/emacs.c (usage_message, standard_args): Define
24387         --module-assertions only if Emacs has been compiled with module
24388         support.
24390 2017-06-14  Katsumi Yamaoka  <yamaoka@jpl.org>
24392         gnus-article-read-summary-keys: Don't move point for WDD and WDW commands
24394         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys):
24395         No need to restore window config for WDD and WDW commands.
24397 2017-06-14  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
24399         lisp/net/soap-client.el: Bump version to 3.1.3
24401         * lisp/net/soap-client.el: Bump version to 3.1.3.
24402         (soap-name-p): Fix checkdoc issue.
24404 2017-06-14  Alex Harsanyi  <AlexHarsanyi@gmail.com>
24406         Fix an HTTP encoding error in soap-client.el
24408         * lisp/net/soap-client.el (soap-invoke-internal): Make
24409         SOAPAction header a UTF-8 encoded string.
24411 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
24413         Port cleanup attribute to Oracle Studio 12.5
24415         * INSTALL (--with-modules): List cleanup attribute as prereq.
24416         * src/conf_post.h (__has_attribute_cleanup): Remove; no longer needed.
24417         * src/emacs-module.c (MODULE_SETJMP_1): Don’t attempt to verify
24418         (__has_attribute (cleanup)), as Oracle Studio 12.5 supports
24419         __has_attribute only inside preprocessor expressions.  The C
24420         compiler should check the cleanup attribute in the next line anyway.
24421         (module_reset_handlerlist): Remove an unnecessary ‘const’
24422         that causes Oracle Studio 12.5 to refuse to compile.
24424 2017-06-14  Glenn Morris  <rgm@gnu.org>
24426         Fix running tests in without-modules builds
24428         * test/Makefile.in (EMACSOPT): Remove option that is only defined
24429         with-modules.  emacs-module-tests.el passes it where needed.
24431 2017-06-13  Glenn Morris  <rgm@gnu.org>
24433         * test/Makefile.in (src/emacs-module-tests.log): Out-of-tree fix.
24435 2017-06-13  Philipp Stephani  <phst@google.com>
24437         Inline test module Makefile into main test Makefile
24439         The test/data/emacs-module/Makefile only built a single target, and
24440         inlining it into test/Makefile simplifies dependency tracking and
24441         reduces code duplication.
24443         * configure.ac: Don't build test/data/emacs-module/Makefile.
24445         * Makefile.in ($(test_module)): Inline compilation.
24446         (clean): Also clean test module outputs.
24448 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
24450         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Do not handle locally on w32.
24452 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
24454         Minor tweaks in Tramp manual
24456         * doc/misc/trampver.texi: Add prefixwithspace flag.
24458         * doc/misc/tramp.texi (Password handling): Harmonize example.
24459         (File name completion): Use prefixwithspace flag.
24460         (Frequently Asked Questions): Explain `tramp-histfile-override'.
24462 2017-06-13  Philipp Stephani  <phst@google.com>
24464         Silence two Clang warnings by introducing additional local variables
24466         * lib/strftime.c (libc_hidden_def):
24467         * lib-src/make-docfile.c (put_filename): Introduce local variables to
24468         silence Clang warnings.
24470 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
24472         Fix wrong indentation after string literal (Bug#27306)
24474         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-state)
24475         (lisp-indent-calc-next): Remove `depth' field, use (car ppss) instead.
24476         * test/lisp/emacs-lisp/lisp-mode-tests.el
24477         (lisp-indent-region-after-string-literal): New test.
24479 2017-06-13  Philipp Stephani  <phst@google.com>
24481         Fix version checks for emacs-module.h
24483         We don't need C11 or C++11 because stdbool.h is in C99, and for C++ we
24484         don't need it at all.
24486 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
24488         Buttonize #<bytecode> part of printed functions (Bug#25226)
24490         * lisp/emacs-lisp/cl-print.el: Autoload `disassemble-1'.
24491         (cl-print-compiled-button): New variable.
24492         (help-byte-code): New button type, calls `disassemble' in its action.
24493         (cl-print-object): Use it if `cl-print-compiled-button' is
24494         non-nil.
24496 2017-06-12  Philipp Stephani  <phst@google.com>
24498         Print module structure sizes when initializing test module
24500         * test/data/emacs-module/mod-test.c (emacs_module_init): Print
24501         compile-time and runtime sizes of module structures to ease debugging
24503 2017-06-12  Glenn Morris  <rgm@gnu.org>
24505         Small portability fix for emacs-module.h (bug#27346)
24507         * src/emacs-module.h (EMACS_ATTRIBUTE_NONNULL) [!__has_attribute]:
24508         Avoid 'error: missing binary operator before token "("'.
24510 2017-06-12  Glenn Morris  <rgm@gnu.org>
24512         Give a more informative failure in module assertion test
24514         * test/src/emacs-module-tests.el (module--test-assertions):
24515         Rephrase final check to give a more informative failure.
24517 2017-06-12  Philipp Stephani  <phst@google.com>
24519         Fix off-by-one error
24521         * test/data/emacs-module/mod-test.c (emacs_module_init): Fix
24522         off-by-one error.
24524 2017-06-12  Glenn Morris  <rgm@gnu.org>
24526         Clean up after module assertion tests
24528         * test/src/emacs-module-tests.el (module--test-assertions):
24529         Use a temporary directory to contain any core dumps.
24531 2017-06-12  Glenn Morris  <rgm@gnu.org>
24533         Small improvement for module assertion test
24535         * test/src/emacs-module-tests.el (module--test-assertions):
24536         Don't rely on the precise form of an "Abort" message.
24538 2017-06-12  Glenn Morris  <rgm@gnu.org>
24540         Improve previous test/data/emacs-module/Makefile change
24542         * test/data/emacs-module/Makefile.in (clean):
24543         Avoid doing unpleasant things if run in a build without modules.
24545 2017-06-12  Glenn Morris  <rgm@gnu.org>
24547         Small improvements for test/data/emacs-module/Makefile
24549         * test/data/emacs-module/Makefile.in (%.o):
24550         Fix emacs-module dependency.
24551         (SECONDARY): Stop make automatically deleting *.o.
24552         (clean): New rule.
24554 2017-06-12  Glenn Morris  <rgm@gnu.org>
24556         * make-dist: Skip some more generated files in test/.
24558 2017-06-12  Alan Third  <alan@idiocy.org>
24560         Note how fullscreen differs on the NS port
24562         doc/lispref/frames.texi (Size Parameters):
24563         doc/emacs/frames.texi (Tool Bars): Add a description of how macOS
24564         hides the tool-bar and menu-bar in fullscreen.
24566 2017-06-12  Alan Third  <alan@idiocy.org>
24568         Add no-focus-on-map to NS build (bug#25408)
24570         * src/nsfns.m (ns_frame_parm_handlers): Add x_set_no_focus_on_map.
24571         (x-create-frame): Check for no-focus-on-map.
24572         * src/nsterm.h (x_set_no_focus_on_map): New function.
24573         * src/nsterm.m (x_set_no_focus_on_map): New function.
24574         (ns_raise_frame): Add parameter for specifying whether to focus the
24575         frame.
24576         (ns_frame_raise_lower):
24577         (x_make_frame_visible): Handle new parameter for ns_raise_frame.
24579 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
24581         _Noreturn not noreturn
24583         _Noreturn is more portable to non-C11 platforms.  See:
24584         https://www.gnu.org/software/gnulib/manual/html_node/stdnoreturn_002eh.html
24585         * src/emacs-module.c: Use _Noreturn, not noreturn.  No need to
24586         include <stdnoreturn.h>.  Reindent to fit in 80 columns.
24588 2017-06-12  Glenn Morris  <rgm@gnu.org>
24590         Update make-dist for recent test/ changes
24592         * make-dist: No longer distribute test/data/emacs-module/Makefile.
24594 2017-06-12  Michael Albinus  <michael.albinus@gmx.de>
24596         Handle port and domain in Tramp's password cache
24598         * doc/misc/tramp.texi (Password handling): Explain port and
24599         domain handling in authinfo.
24601         * lisp/net/tramp.el (tramp-process-actions, tramp-clear-passwd):
24602         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askpassword):
24603         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
24604         (tramp-maybe-open-connection):
24605         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
24606         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
24607         (tramp-smb-maybe-open-connection): Handle also domain and port.
24609 2017-06-12  Eli Zaretskii  <eliz@gnu.org>
24611         Avoid compilation warnings with pre-C99 libc
24613         * src/emacs-module.c (module_free_global_ref)
24614         (module_assert_runtime, module_assert_env, value_to_lisp): Use 'pD'
24615         instead of C99 't' format descriptor.
24617 2017-06-12  Philipp Stephani  <phst@google.com>
24619         Flush all output streams before aborting
24621         Maybe the stdout buffer still contains something interesting that
24622         should be flushed.
24624         * src/emacs-module.c (module_abort): Flush all output streams before
24625         aborting.
24627 2017-06-12  Philipp Stephani  <phst@google.com>
24629         Remove an assertion that doesn't test Emacs invariants
24631         * src/emacs-module.c (module_copy_string_contents): Remove an
24632         assertion that doesn't test Emacs invariants.
24634 2017-06-12  Philipp Stephani  <phst@google.com>
24636         Test module: add necessary version checks
24638         * test/data/emacs-module/mod-test.c (emacs_module_init): Add necessary
24639         version checks.
24641 2017-06-12  Philipp Stephani  <phst@google.com>
24643         Use additional CFLAGS from configure
24645 2017-06-12  Philipp Stephani  <phst@google.com>
24647         Use Autoconf to generate the test module Makefile
24649         This makes it easier to pass compilation flags around.
24651         * configure.ac: Also build test module Makefile.
24653         * test/data/emacs-module/Makefile.in: New makefile template.
24655         * test/Makefile.in ($(test_module)): No longer necessary to pass
24656         @MODULES_SUFFIX@ around.
24658         * .gitignore: Test module Makefile can now be ignored.
24660 2017-06-12  Philipp Stephani  <phst@google.com>
24662         Also compile test module as C11
24664         * test/data/emacs-module/Makefile (CFLAGS): Compile test module as C11
24666 2017-06-12  Philipp Stephani  <phst@google.com>
24668         Implement module assertions for users
24670         Add a new command-line option '-module-assertions' that users can
24671         enable developing or debugging a module.  If this option is present,
24672         Emacs performs additional checks to verify that modules fulfill their
24673         requirements.  These checks are expensive and crash Emacs if modules
24674         are invalid, so disable them by default.
24676         This is a command-line option instead of an ordinary variable because
24677         changing it while Emacs is running would cause data structure
24678         imbalances.
24680         * src/emacs.c (main): New command line option '-module-assertions'.
24682         * src/emacs-module.c (module_assert_main_thread)
24683         (module_assert_runtime, module_assert_env, module_assert_value):
24684         New functions to assert module requirements.
24685         (syms_of_module): New uninterned variable 'module-runtimes'.
24686         (init_module_assertions, in_main_thread, module_abort): New helper
24687         functions.
24688         (initialize_environment): Initialize value list.  If assertions are
24689         enabled, use a heap-allocated environment object.
24690         (finalize_environment): Add assertion that environment list is never
24691         empty.
24692         (finalize_runtime_unwind): Pop module runtime object stack.
24693         (value_to_lisp): Assert that the value is valid.
24694         (lisp_to_value): Record new value if assertions are enabled.
24695         (mark_modules): Mark allocated object list.
24696         (MODULE_FUNCTION_BEGIN_NO_CATCH)
24697         (module_non_local_exit_check, module_non_local_exit_clear)
24698         (module_non_local_exit_get, module_non_local_exit_signal)
24699         (module_non_local_exit_throw): Assert thread and environment.
24700         (module_get_environment): Assert thread and runtime.
24701         (module_make_function, module_funcall, module_intern)
24702         (module_funcall, module_make_integer, module_make_float)
24703         (module_make_string, module_make_user_ptr, module_vec_get)
24704         (funcall_module, Fmodule_load): Adapt callers.
24705         (module_make_global_ref): If assertions are enabled, use the global
24706         environment to store global values.
24707         (module_free_global_ref): Remove value from global value list.
24709         * test/Makefile.in (EMACSOPT): Enable module assertions when testing
24710         modules.
24712         * test/data/emacs-module/mod-test.c (Fmod_test_invalid_store)
24713         (Fmod_test_invalid_load): New functions to test module assertions.
24714         (emacs_module_init): Bind the new functions.
24716         * test/src/emacs-module-tests.el (mod-test-emacs): New constant for
24717         the Emacs binary file.
24718         (mod-test-file): New constant for the test module file name.
24719         (module--test-assertions): New unit test.
24721 2017-06-12  Philipp Stephani  <phst@google.com>
24723         emacs-module: Use __attribute__((nonnull))
24725         Annotate all parameters with __attribute__((nonnull)) that may not be
24726         NULL.
24728 2017-06-12  Philipp Stephani  <phst@google.com>
24730         Explicitly require C11 or C++11 in emacs-module.h
24732         We already implicitly require them by including stdbool.h.  Just make
24733         the error message a bit clearer, and remove an unnecessary version
24734         comparison.
24736 2017-06-12  Philipp Stephani  <phst@google.com>
24738         Add missing 'require' forms to prevent compiler warnings.
24740         * lisp/eshell/esh-ext.el (esh-arg, esh-proc): Add missing
24741         requirements.
24743 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
24745         Merge from gnulib
24747         This incorporates:
24748         2017-06-11 getopt-posix: port to glibc 2.25.90
24749         2017-06-04 same-inode: port better to VMS 8.2 and later
24750         * doc/misc/texinfo.tex, lib/getopt-pfx-core.h, lib/getopt-pfx-ext.h:
24751         * m4/sys_types_h.m4: Copy from gnulib.
24753 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
24755         Remove Lisp_Misc_Float
24757         * src/data.c (Ftype_of): Do not worry about Lisp_Misc_Float.
24758         * src/lisp.h (Lisp_Misc_Float): Remove.  This placeholder has been
24759         unused for two decades; if we ever want to change floats to be a
24760         misc type we can bring it back then.
24762 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
24764         Make two symbols private to emacs-module.c
24766         * src/lisp.h (allocate_module_function, XSET_MODULE_FUNCTION):
24767         Move from here ...
24768         * src/emacs-module.c: ... to here.
24770 2017-06-12  Glenn Morris  <rgm@gnu.org>
24772         Merge from origin/emacs-25
24774         da62c1532e4 (origin/emacs-25) Improve the documentation of filesets
24776 2017-06-12  Glenn Morris  <rgm@gnu.org>
24778         Merge from origin/emacs-25
24780         e80f6a210b0 Describe problems with Microsoft Intellipoint
24781         a73ec1edb07 More accurate documentation of the ':box' face attribute
24783 2017-06-12  Glenn Morris  <rgm@gnu.org>
24785         Merge from origin/emacs-25
24787         eaa00584ceb Improve documentation of 'gnutls-verify-error'
24788         908498cc01b ; etc/PROBLEMS: Describe GTK-related crashes on elementar...
24789         741daec617e ; Describe the problem with ksh when resizing shell window
24791 2017-06-11  Michael Albinus  <michael.albinus@gmx.de>
24793         Some further improvements for tramp-gvfs.el
24795         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
24796         (tramp-gvfs-get-file-attributes)
24797         (tramp-gvfs-maybe-open-connection): Handle davs? properly.
24798         (tramp-gvfs-handler-askquestion): Improve `yes-or-no-p' prompt.
24799         Show question also in batch mode.  Cache result.
24801         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
24802         Support completion for host names and ports.
24804 2017-06-11  Simen Heggestøyl  <simenheg@gmail.com>
24806         Fix highlighting of CSS selectors with double hyphens
24808         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Fix
24809         highlighting of selectors that contain double hyphens.  They would be
24810         mistaken for a variable.
24812 2017-06-11  Philipp Stephani  <phst@google.com>
24814         Support threads in modules
24816         Rather than checking for the main thread, check for the current
24817         thread.
24819         * src/emacs-module.c (check_thread): New function.
24820         (MODULE_FUNCTION_BEGIN_NO_CATCH, module_get_environment)
24821         (module_non_local_exit_check, module_non_local_exit_clear)
24822         (module_non_local_exit_get, module_non_local_exit_signal)
24823         (module_non_local_exit_throw, module_is_not_nil, module_eq): Use it.
24825 2017-06-11  Philipp Stephani  <phst@google.com>
24827         Allow non-local exits in module initializers
24829         Previously signals, throws, and quits from module initialization
24830         functions were ignored.  These function aren't special, and better
24831         errors can be reported using signals than with the initialization
24832         return code, so allow non-local exits.
24834         * src/emacs-module.c (module_signal_or_throw): New helper function.
24835         (Fmodule_load, funcall_module): Use it.
24836         (Fmodule_load): Also allow quitting.
24838 2017-06-11  Noam Postavsky  <npostavs@gmail.com>
24840         Let eshell/sudo handle absolute command names (Bug#27167)
24842         * lisp/eshell/esh-ext.el (eshell-find-interpreter): Don't change
24843         absolute paths into relative ones.
24845 2017-06-10  Alan Third  <alan@idiocy.org>
24847         Don't wait for toolbar in NS native fullscreen
24849         * src/nsterm.m (EmacsView:updateFrameSize): Don't short-circuit the
24850         function when in fullscreen.
24852 2017-06-10  Alexander Gramiak  <agrambot@gmail.com>
24854         Fix the placement of GTK menus on multi-monitor systems
24856         menu_position_func did not properly use the current monitor's
24857         resolution.  Also see commit '2016-02-06 22:12:53 +0100'.
24859         * lisp/frame.el (frame-monitor-attribute, frame-monitor-geometry)
24860         (frame-monitor-workarea): New functions.
24862         * src/xmenu.c (menu_position_func): Take into account the workarea of
24863         the monitor that contains the mouse.  (Bug#23568)
24865 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
24867         Clarify documentation of 'face-spec-set'
24869         * lisp/faces.el (face-spec-set): Clarify the description of
24870         SPEC-TYPE in the doc string.
24872         * doc/lispref/display.texi (Defining Faces): Clarify the
24873         description of 'face-spec-set's SPEC-TYPE argument.  (Bug#27246)
24875 2017-06-10  Michael Albinus  <michael.albinus@gmx.de>
24877         Fix domain port and handling in tramp-gvfs.el
24879         * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
24880         Return nil if BYTE-ARRAY is nil.
24881         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
24882         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
24883         Fix domain and port handling.
24885         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
24886         Ignore errors.
24888 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
24890         Improve documentation of 'face-spec-set-2'
24892         * lisp/faces.el (face-spec-recalc, face-spec-set-2): Rename 'spec'
24893         to 'face-attrs'.
24894         (face-spec-choose, face-spec-set-2): Doc fix.  (Bug#27238)
24896 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
24898         Fix handling of Python/Guile commands with arguments in gdb-mi.el
24900         * lisp/progmodes/gdb-mi.el (gdb-python-guile-commands-regexp): New
24901         variable.
24902         (gdb-control-commands-regexp): Use it.
24903         (gdb-send): Don't increment gdb-control-level if the command
24904         matches gdb-python-guile-commands-regexp and has non-empty
24905         arguments.  Reported by David Boles <boles@ieee.org> in
24906         https://lists.gnu.org/r/emacs-devel/2017-06/msg00009.html.
24908 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
24910         Preserve point in Dired windows under 'dired-auto-revert-buffer'
24912         * lisp/dired.el (dired-find-file): When dired-auto-revert-buffer
24913         is non-nil, bind switch-to-buffer-preserve-window-point to nil
24914         while calling find-file.  (Bug#27243)
24916 2017-06-09  Philipp Stephani  <phst@google.com>
24918         Give test files a -tests.el suffix
24920         Rename a couple of test files that have the same name as the library
24921         they test.  This harmonizes the naming pattern and makes it possible
24922         to have the tests directories in the load path.
24924 2017-06-09  Philipp Stephani  <phst@google.com>
24926         Fix another compiler warning on macOS
24928         * src/image.c (x_query_frame_background_color): Don't define if we
24929         have NextStep but no image support.
24931 2017-06-09  Philipp Stephani  <phst@google.com>
24933         Add garbage collection support for module environments
24935         * src/emacs-module.c (mark_modules): New function.
24936         (initialize_environment): Properly initialize Lisp objects.
24937         * src/alloc.c (garbage_collect_1): Call it.
24939 2017-06-08  Glenn Morris  <rgm@gnu.org>
24941         Make autogen.sh report relevant environment variables
24943         * autogen.sh (check_version):
24944         Indicate if using an environment variable.
24946 2017-06-08  Noam Postavsky  <npostavs@gmail.com>
24948         Split variable macro env from function env
24950         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove.
24951         (cl-symbol-macrolet): Instead of adding each binding directly into the
24952         main environment with a special key format, put all symbol macro
24953         bindings into a single entry in the main environment under
24954         `:cl-symbol-macros'.
24955         (cl--sm-macroexpand): Look up symbol bindings in the
24956         `:cl-symbol-macros' entry of the environment.
24958 2017-06-07  Glenn Morris  <rgm@gnu.org>
24960         * make-dist: Directory modules/mod-test no longer exists.
24962 2017-06-07  Glenn Morris  <rgm@gnu.org>
24964         More authors.el updates
24966         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
24967         (authors-renamed-files-alist): Additions.
24969 2017-06-07  Glenn Morris  <rgm@gnu.org>
24971         * make-dist: Check a release has a ChangeLog with a release notice.
24973         * make-dist: Use existing ChangeLog if present.
24975 2017-06-07  Michael Albinus  <michael.albinus@gmx.de>
24977         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Fix port handling.
24979 2017-06-07  Lars Ingebrigtsen  <larsi@gnus.org>
24981         (url-cookie-host-can-set-p): Protect against zero-length domains
24983         * lisp/url/url-cookie.el (url-cookie-host-can-set-p): Protect
24984         against zero-length domains.
24986         Backtrace of a real-world site that triggers a bug:
24988         Debugger entered--Lisp error: (args-out-of-range "" 0)
24989           url-cookie-host-can-set-p("www.washingtonpost.com" "")
24990           url-cookie-handle-set-cookie("utm_term=0;Expires=Thursday,
24991           01-January-1970 00:00:00 GMT; path=/; domain=")
24992           url-http-handle-cookies()
24994 2017-06-06  Glenn Morris  <rgm@gnu.org>
24996         More authors.el updates
24998         * admin/authors.el (authors-obsolete-files-regexps)
24999         (authors-valid-file-names, authors-renamed-files-alist)
25000         (authors-renamed-files-regexps): Additions.
25002 2017-06-06  Glenn Morris  <rgm@gnu.org>
25004         More small authors.el updates
25006         * admin/authors.el (authors-aliases): Fix recent addition.
25007         (authors-obsolete-files-regexps, authors-no-scan-regexps)
25008         (authors-ignored-files, authors-valid-file-names)
25009         (authors-renamed-files-alist): Additions.
25011 2017-06-06  Glenn Morris  <rgm@gnu.org>
25013         Make authors.el report names that were ignored
25015         * admin/authors.el (authors-ignored-names): New.
25016         (authors-canonical-author-name): Add file and position arguments.
25017         Record ignored authors.
25018         (authors-scan-change-log, authors-scan-el):
25019         Pass file and position to authors-canonical-author-name.
25020         (authors): Also print authors that were ignored.
25022 2017-06-06  Glenn Morris  <rgm@gnu.org>
25024         * admin/authors.el (authors-aliases): Additions.
25026 2017-06-06  Tino Calancha  <tino.calancha@gmail.com>
25028         * test/lisp/subr-tests.el (subr-tests-bug22027): Add test.
25030 2017-06-06  Noam Postavsky  <npostavs@gmail.com>
25032         * lisp/subr.el (read-passwd): Don't delete return value (Bug#22027).
25034 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
25036         Enable ElDoc messages after the newline command
25038         * lisp/emacs-lisp/eldoc.el:
25039         Add "newline" to the eldoc-add-command-completions call (bug#27228).
25041 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
25043         Enable eldoc-mode explicitly inside read--expression
25045         * lisp/simple.el (read--expression): Call eldoc-mode (bug#27202).
25047 2017-06-06  Andy Moreton  <andrewjmoreton@gmail.com>
25049         Fix check for package-unsigned-archives during retrieval
25051         * lisp/emacs-lisp/package.el (package--download-one-archive):
25052         Fix check for package-unsigned-archives.
25054 2017-06-05  Noah Friedman  <friedman@splode.com>
25056         Merge etc/emacs-buffer.gdb from emacs-25 to master.
25058 2017-06-05  Philipp Stephani  <phst@google.com>
25060         Fix undefined behavior in mapbacktrace
25062         * src/eval.c (Fmapbacktrace): Don't assume that PDL is still valid.
25064 2017-06-05  Eli Zaretskii  <eliz@gnu.org>
25066         Fix emacs-module-tests on MS-Windows
25068         * src/print.c (print_vectorlike): Make sure module function's
25069         address prints with a leading "0x".  This fixes emacs-module-tests
25070         on MS-Windows.  Fix whitespace.
25071         * src/dynlib.c (dynlib_addr): Remove unused variable.  Update
25072         commentary.
25074 2017-06-05  Philipp Stephani  <phst@google.com>
25076         Use unwind protection to clean up data structures in modules
25078         Reuse existing functionality and simplify the code a bit.
25080         * src/emacs-module.c (Fmodule_load): Use unwind protection to clean up
25081         runtime object.
25082         (funcall_module): Use unwind protection to clean up environment
25083         object.
25084         (finalize_environment): Simplify signature.
25085         (finalize_environment_unwind, finalize_runtime_unwind): New functions.
25087 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
25089         Some minor tweaks in tramp-tests.el
25091         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-relative):
25092         Let it pass for all gfvs based methods.
25093         (tramp-test24-file-name-completion): Run method and host
25094         completion for all syntaxes only when expensive tests are enabled.
25095         Do not check host completion for gvfs based methods.
25096         (tramp--test-gvfs-p): Add optional METHOD argument.
25097         (tramp--test-afp-or-smb-p): Remove.
25099 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
25101         Fix error in Tramp rsync method
25103         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-c" argument.
25104         Otherwise, `tramp-test10-write-region' could fail.
25106 2017-06-05  Philipp Stephani  <phst@google.com>
25108         Inline module_has_cleanup
25110         This constant is only used once, and we fail compilation anyway if
25111         it's false.
25113         * src/emacs-module.c (MODULE_SETJMP_1): Inline __has_attribute.
25115 2017-06-05  Philipp Stephani  <phst@google.com>
25117         Add missing dependency to test module source file
25119 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
25121         Omit space that broke ‘make check’
25123         * src/print.c (print_vectorlike): Omit stray space.
25125 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
25127         Remove easserts etc. from emacs-module.c
25129         Most of these seem to run afoul of the comment "Do NOT use
25130         'eassert' for checking validity of user code in the module."
25131         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH)
25132         (module_non_local_exit_check, module_non_local_exit_clear)
25133         (module_non_local_exit_get, module_non_local_exit_signal)
25134         (module_non_local_exit_throw, module_make_string):
25135         Remove unnecessary easserts that pointers are nonnull.
25136         Hardware checks this for us nowadays, and the checks
25137         just clutter up the code.
25138         (module_extract_integer): Remove unnecessary verify that
25139         a C signed integer is in the range INTMAX_MIN..INTMAX_MAX.
25140         The C standard guarantees this.
25141         (module_copy_string_contents): Remove unnecessary eassert
25142         that Lisp strings are null-terminated.
25143         (module_function_arity): Remove unnecessary easserts that
25144         function arities are in range.
25146 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
25148         Remove unnecessary checking in emacs-module.c
25150         * src/emacs-module.c (module_copy_string_contents):
25151         Remove checking, as string lengths are always nonnegative and less
25152         than STRING_BYTES_BOUND, and this is checked elsewhere.
25153         (module_make_string): Check length against STRING_BYTES_BOUND, a
25154         tighter bound than MOST_POSITIVE_FIXNUM.  (funcall_module): Don't
25155         assume that an out-of-range integer is nonnegative.
25157 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
25159         SCHARS and STRING_BYTES are nonnegative
25161         Tell the compiler that SCHARS and STRING_BYTES are nonnegative, in
25162         the hopes that this will optimize a bit better.  Also, check this
25163         at runtime if ENABLE_CHECKING.
25164         * src/lisp.h (SCHARS, STRING_BYTES):
25165         eassume that these functions return nonnegative values.
25166         (STRING_SET_CHARS) [ENABLE_CHECKING]:
25167         eassert that newsize is nonnegative.
25169 2017-06-05  Noam Postavsky  <npostavs@gmail.com>
25171         * lisp/desktop.el (desktop-clear): Skip the daemon's frame (Bug#26912).
25173 2017-06-04  Philipp Stephani  <phst@google.com>
25175         Remove an unused error symbol
25177         * src/emacs-module.c (syms_of_module): Remove unused error symbol
25178         'invalid-module-call'.
25180 2017-06-04  Philipp Stephani  <phst@google.com>
25182         Support quitting in modules
25184         The idea is that modules should call env->should_quit from time to
25185         time and return as quickly as possible if it returns true.
25187         * src/emacs-module.c (module_should_quit): New module function.
25188         (initialize_environment): Use it.
25189         (funcall_module): Process potential pending quit.
25191         * src/eval.c (maybe_quit): Add reference to module_should_quit.
25193 2017-06-04  Philipp Stephani  <phst@google.com>
25195         Use more specific errors for module load failure
25197         * src/emacs-module.c (syms_of_module): Add more specific error
25198         symbols.
25199         (Fmodule_load): Use them.
25201 2017-06-04  Philipp Stephani  <phst@google.com>
25203         Remove an unneeded assertion
25205         * src/emacs-module.c (module_copy_string_contents): Remove unneeded
25206         assertion.  If this assertion triggers, we raise an error anyway.
25208 2017-06-04  Philipp Stephani  <phst@google.com>
25210         Guard against signed integer overflows
25212         * src/emacs-module.c (module_extract_integer)
25213         (module_copy_string_contents, module_make_string): Guard against
25214         signed integer overflows.
25216 2017-06-04  Philipp Stephani  <phst@google.com>
25218         Add a couple more assertions to the module code
25220         These can help module authors debug crashes.
25222         * src/emacs-module.c (module_non_local_exit_check)
25223         (module_non_local_exit_clear, module_non_local_exit_get)
25224         (module_non_local_exit_signal, module_non_local_exit_throw)
25225         (module_copy_string_contents, module_make_string)
25226         (funcall_module, initialize_environment): Add assertions
25228 2017-06-04  Philipp Stephani  <phst@google.com>
25230         Use ATTRIBUTE_MAY_ALIAS where alias violations are likely
25232         In particular, alias violations are likely for the return values of
25233         dlsym(3), which get cast around arbitrarily.
25235         * src/emacs-module.c (Fmodule_load): Use ATTRIBUTE_MAY_ALIAS.
25237 2017-06-04  Philipp Stephani  <phst@google.com>
25239         Simplify interface of dynlib_attr.
25241         Instead of returning bool, set the argument pointers to NULL if the
25242         information is not available.
25244         * src/dynlib.c (dynlib_addr): Don't return bool.
25246 2017-06-04  Philipp Stephani  <phst@google.com>
25248         Rationalize environment lifetime management functions
25250         * src/emacs-module.c (Fmodule_load, funcall_module): Adapt callers.
25251         (finalize_environment): Add parameter for public part of the
25252         environment, like 'initialize_environment'.  Add assertions.
25254 2017-06-04  Philipp Stephani  <phst@google.com>
25256         Rework printing of module functions
25258         Fix a FIXME in emacs-module.c.  Put the printing into print.c, like
25259         other types.
25261         * src/print.c (print_vectorlike): Add code to print module functions.
25263         * src/emacs-module.c (funcall_module): Stop calling
25264         'module_format_fun_env'.  Now that module functions are first-class
25265         objects, they can be added to signal data directly.
25266         (module_handle_signal): Remove now-unused function
25267         'module_format_fun_env'.
25269         * test/src/emacs-module-tests.el (mod-test-sum-test): Adapt unit test.
25271         * src/eval.c (funcall_lambda): Adapt call to changed signature of
25272         'funcall_module'.
25274 2017-06-04  Philipp Stephani  <phst@google.com>
25276         Define helper macro to reduce code duplication
25278         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH): New helper
25279         macro.
25280         (MODULE_FUNCTION_BEGIN, module_type_of, module_is_not_nil, module_eq):
25281         Use it.
25283 2017-06-04  Philipp Stephani  <phst@google.com>
25285         Remove two FIXMEs that can't be fixed
25287 2017-06-04  Eli Zaretskii  <eliz@gnu.org>
25289         Avoid slow startup in daemon mode when global-linum-mode is on
25291         * lisp/linum.el (linum-on): Don't turn on linum-mode in a
25292         non-client frame of a daemon session.  (Bug#27210)
25294 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
25296         Fix eldoc bug with curved quote
25298         * lisp/progmodes/elisp-mode.el (elisp-get-fnsym-args-string):
25299         Substitute quotes in documentation before returning it (Bug#27159).
25301 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
25303         Tune ‘format’ after recent fix
25305         * doc/lispref/strings.texi (Formatting Strings):
25306         * src/editfns.c (Fformat): Format field numbers no longer need
25307         to be unique, reverting the previous doc change since that has
25308         now been fixed.  Also, document that %% should not have modifiers.
25309         * src/editfns.c (styled_format): Improve performance.  Remove
25310         the need for the new prepass over the format string, by using
25311         a typically-more-generous bound for the info array size.
25312         Initialize the info array lazily.  Move string inspection to
25313         the same area to help caching.  Avoid the need for a
25314         converted_to_string bitfield by using EQ.  Cache arg in a
25315         local and avoid some potential aliasing issues to help the
25316         compiler.  Info array is now 0-origin, not 1-origin.
25318 2017-06-04  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
25320         Improve of file-local-name use in vc-git-checkin
25322         * lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
25323         when calling git commit.
25325 2017-06-03  Simen Heggestøyl  <simenheg@gmail.com>
25327         Support a new CSS indentation style
25329         * lisp/textmodes/css-mode.el (css-smie-rules): Indent after property
25330         immediately followed by a newline.
25332         * test/manual/indent/css-mode.css: Add test for the change above.
25334         * test/manual/indent/scss-mode.scss: Ditto.
25336 2017-06-03  Philipp Stephani  <phst@google.com>
25338         Fix a bug when using format field numbers
25340         Previously styled_format overwrite the argument vector.  This is no
25341         longer possible because there might be more than one specification per
25342         argument.  Use the existing auxiliary info array instead.
25344         * src/editfns.c (styled_format): Record arguments in the info
25345         structure instead of overwriting them.
25346         * test/src/editfns-tests.el (format-with-field): Add unit test.
25348 2017-06-03  Paul Eggert  <eggert@cs.ucla.edu>
25350         Document uniqueness limitation of ‘format’
25352         * doc/lispref/strings.texi (Formatting Strings):
25353         * src/editfns.c (Fformat):
25354         Document that field numbers should be unique within a format.
25356 2017-06-03  Glenn Morris  <rgm@gnu.org>
25358         Small rmailmm fix (bug#27203)
25360         * lisp/mail/rmailmm.el (rmail-mime-insert-bulk):
25361         Fall back to HOME if no match in rmail-mime-attachment-dirs-alist.
25363 2017-06-03  Glenn Morris  <rgm@gnu.org>
25365         * admin/authors.el (authors-aliases): Addition.
25367 2017-06-03  Glenn Morris  <rgm@gnu.org>
25369         Add watch for password back to inferior python comint filter
25371         It was removed along with other items for speed (bug#16875),
25372         but doesn't seem to have been causing an issue, and it's useful to
25373         have it there (bug#27154).
25374         * lisp/progmodes/python.el (inferior-python-mode):
25375         Add comint-watch-for-password-prompt to comint-output-filter-functions.
25377 2017-06-03  Ryan  <rct@thompsonclan.org>  (tiny change)
25379         Use completing-read-default in tmm-prompt
25381         tmm uses completing-read, but customizes its behavior so much
25382         that any alternative completing-read-function will almost
25383         certainly break it.  For example, both ido-ubiquitous and ivy have
25384         special code to deactivate themselves for tmm.
25385         * lisp/tmm.el (tmm-prompt): Use completing-read-default instead of
25386         completing-read.  (Bug#27193)
25388 2017-06-02  Mats Lidell  <mats.lidell@cag.se>
25390         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL (Bug#20371)
25392 2017-06-02  Glenn Morris  <rgm@gnu.org>
25394         Fix with-todo-test
25396         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
25397         HOME should be a directory, not a file.  Delete it when finished.
25399 2017-06-02  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
25401         Update TUTORIAL.it
25403         * etc/tutorials/TUTORIAL.it: Adjust to recent changes in TUTORIAL.
25405 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
25407         Fix cursor position in Dired buffers after dired-sort-toggle
25409         * src/xdisp.c (display_and_set_cursor): Record cursor coordinates
25410         even if the frame is marked as garbaged.  (Bug#27187)
25412 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
25414         Update TUTORIAL.he
25416         * etc/tutorials/TUTORIAL.he: Adjust to recent changes in TUTORIAL.
25418 2017-06-02  Noam Postavsky  <npostavs@gmail.com>
25420         * etc/tutorials/TUTORIAL: Explain how to stop the tutorial (Bug#20371).
25422 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
25424         Limit format fields to more POSIX-like spec
25426         * doc/lispref/strings.texi (Formatting Strings):
25427         Don’t allow mixing numbered with unnumbered format specs.
25428         * src/editfns.c (styled_format): Don’t bother checking for field 0,
25429         since it doesn’t crash and the behavior is not specified.
25430         * test/src/editfns-tests.el (format-with-field): Adjust tests to
25431         match current doc.  Add more tests for out-of-range fields.
25433 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
25435         Improve performance by avoiding strtoumax
25437         This made (string-to-number "10") 20% faster on my old desktop,
25438         an AMD Phenom II X4 910e running Fedora 25 x86-64.
25439         * admin/merge-gnulib (GNULIB_MODULES): Remove strtoumax.
25440         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
25441         * lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, m4/strtoull.m4:
25442         * m4/strtoumax.m4: Remove.
25443         * src/editfns.c (str2num): New function.
25444         (styled_format): Use it instead of strtoumax.  Use ptrdiff_t
25445         instead of uintmax_t.  Check for integer overflow.
25446         * src/lread.c (LEAD_INT, DOT_CHAR, TRAIL_INT, E_EXP):
25447         Move to private scope and make them enums.
25448         (string_to_number): Compute integer value directly during
25449         first pass instead of revisiting it with strtoumax later.
25451 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
25453         Minor improvements to format field numbers
25455         * src/editfns.c (styled_format): Allow field numbers in a %% spec.
25456         No need for a special diagnostic for field numbers greater than
25457         PTRDIFF_MAX.  Reword diagnostic for field 0.
25458         * test/src/editfns-tests.el (format-with-field): Adjust to match.
25460 2017-06-02  Philipp Stephani  <phst@google.com>
25462         Implement field numbers in format strings
25464         A field number explicitly specifies the argument to be formatted.
25465         This is especially important for potential localization work, since
25466         grammars of various languages dictate different word orders.
25468         * src/editfns.c (Fformat): Update documentation.
25469         (styled_format): Implement field numbers.
25471         * doc/lispref/strings.texi (Formatting Strings): Document field numbers.
25473         * lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn): Adapt.
25475         * test/src/editfns-tests.el (format-with-field): New unit test.
25477 2017-06-01  Alexander Gramiak  <agrambot@gmail.com>
25479         Limit scope of local overriding-terminal-local-map
25481         The function `binding' may call isearch-done, which globally sets
25482         overriding-terminal-local-map to nil (Bug#23007).
25483         * lisp/isearch.el (isearch-mouse-2): Don't bind
25484         overriding-terminal-local-map around the call to `binding'.
25486 2017-06-01  Stephen Berman  <stephen.berman@gmx.net>
25488         Correct and isolate the todo-mode test environment
25490         This avoids having to set todo-mode variables globally in the test
25491         file and prevents any exisiting user todo-mode files from influencing
25492         the tests.
25494         * test/lisp/calendar/todo-mode-tests.el:
25495         (with-todo-test): New macro.
25496         (todo-test-todo-quit01, todo-test-todo-quit02)
25497         (todo-test-item-highlighting): Use it.
25499 2017-06-01  Alan Third  <alan@idiocy.org>
25501         Fix build errors on macOS 10.6 (bug#27059)
25503         * src/nsfns.m (compute_tip_xy): Don't use CGRectContainsPoint.
25505 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
25507         Improve testing of octal and hex display of raw bytes
25509         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
25510         (test-redisplay-5): Add a test with a large codepoint.
25512 2017-06-01  Vasilij Schneidermann  <mail@vasilij.de>
25514         Add customizable to display raw bytes as hex
25516         * src/xdisp.c (get_next_display_element): Dispatch used format string
25517         for unprintables based on new display-raw-bytes-as-hex variable.
25518         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
25520         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
25522         * doc/emacs/display.texi: Document the new variable.
25523         * etc/NEWS: Mention display-raw-bytes-as-hex.
25525         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
25526         (test-redisplay-5): New tests.
25527         (test-redisplay): Call test-redisplay-5.
25529 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
25531         Revert "Add customizable to display raw bytes as hex"
25533         This reverts commit 7c9ac111c5e5d92e620b666893993d5dc562e483.
25535 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
25537         Add customizable to display raw bytes as hex
25539         * src/xdisp.c (get_next_display_element): Dispatch used format string
25540         for unprintables based on new display-raw-bytes-as-hex variable.
25541         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
25543         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
25545         * doc/emacs/display.texi: Document the new variable.
25546         * etc/NEWS: Mention display-raw-bytes-as-hex.
25548         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
25549         (test-redisplay-5): New tests.
25550         (test-redisplay): Call test-redisplay-5.
25552 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
25554         Fix linum under text-scaling when leuven-theme is used
25556         * etc/themes/leuven-theme.el (linum): Make the 'linum' face
25557         inherit from 'default' and 'shadow', so that margins are enlarged
25558         as expected under text-scaling.
25560 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
25562         Free cwd when no longer needed
25564         * lib-src/emacsclient.c (main): Don’t dally when freeing cwd.
25566 2017-06-01  Anders Waldenborg  <anders@0x63.nu>  (tiny change)
25568         Fix memory leak of cwd string in emacsclient (Bug#26628)
25570         * lib-src/emacsclient.c (main): emacsclient retrieves the current
25571         working directory using get_current_dir_name which returns a newly
25572         allocated string.  Make sure this string is freed before exiting.
25574 2017-06-01  Glenn Morris  <rgm@gnu.org>
25576         Quieten compilation of some test files
25578         * test/lisp/dired-tests.el (dired-test-bug25609): Mark unused args.
25579         * test/src/data-tests.el (binding-test-set-constant-t)
25580         (binding-test-set-constant-nil, binding-test-set-constant-keyword)
25581         (binding-test-set-constant-nil): Silence compiler.
25582         * test/src/regex-tests.el (regex-tests-BOOST): Escape char literal.
25584 2017-06-01  Glenn Morris  <rgm@gnu.org>
25586         Use true names for invocation- and source-directory
25588         * src/emacs.c (init_cmdargs) <Vinvocation_directory>:
25589         * src/lread.c (init_lread) <Vsource_directory>: Use true names.
25591 2017-06-01  Glenn Morris  <rgm@gnu.org>
25593         Avoid elisp-mode test failures when source dir has multiple names
25595         * test/lisp/progmodes/elisp-mode-tests.el (emacs-test-dir):
25596         Use the true name of the directory.
25598 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
25600         Fix bug with "%%" in error format
25602         * src/doprnt.c (doprnt): Format "%%" correctly.
25603         Problem reported by Philipp Stephani in:
25604         https://lists.gnu.org/r/emacs-devel/2017-05/msg00901.html
25606 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
25608         * src/editfns.c (Fmessage): Improve doc string (Bug#23425#130).
25610 2017-06-01  Katsumi Yamaoka  <yamaoka@jpl.org>
25612         Revert mml-generate-mime-1 (bug#27141)
25614         * lisp/gnus/mml.el (mml-generate-mime-1): Reverted to emacs-25 version
25615         with slight modernizations (bug#27141).
25617 2017-05-31  Michael Albinus  <michael.albinus@gmx.de>
25619         Fix Bug#27108
25621         * lisp/recentf.el (recentf-load-list): Bind `non-essential',
25622         in order to avoid Tramp password requests during Emacs
25623         startup.  (Bug#27108)
25625 2017-05-31  Glenn Morris  <rgm@gnu.org>
25627         * test/Makefile.in (.SECONDARY): Stop make deleting .elc files.
25629 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
25631         Document current-line hscrolling in ELisp manual
25633         * doc/lispref/windows.texi (Horizontal Scrolling): Document the
25634         new mode of auto-hscrolling only the current line.
25636 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
25638         Support lower bound on hscrolling when only current line scrolls
25640         * doc/emacs/display.texi (Horizontal Scrolling): Document the new
25641         mode of auto-hscrolling only the current line.
25643         * src/xdisp.c (init_iterator): When hscrolling only the
25644         current line, apply the window's min_hscroll here, so that
25645         non-current lines will be hscrolled by that minimum.
25646         Suggested by Stephen Berman <stephen.berman@gmx.net>.
25647         (hscroll_window_tree): Account for window's min_hscroll when
25648         deciding whether to recompute the hscroll.
25649         (display_line): Subtract window's min_hscroll from x_incr, as that
25650         was already accounted for in init_iterator.  (Bug#27008)
25652 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
25654         cl-print: handle circular objects when `print-circle' is nil (Bug#27117)
25656         * lisp/emacs-lisp/cl-print.el (cl-print--currently-printing): New variable.
25657         (cl-print-object): When `print-circle' is nil, bind it to a list of
25658         objects that are currently printing to avoid printing the same object
25659         endlessly.
25660         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle): New test.
25662 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
25664         Further simplify test/Makefile, optionally load elc tests
25666         * test/Makefile.in: Use make's error ignoring feature instead of
25667         suppressing test errors with shell.  Compile test files in the main
25668         make invocation instead of a recursive 'make' call.  Optionally load
25669         .elc test files if TEST_LOAD_EL is set to something other than 'yes'.
25670         Remove obsolete commentary.
25672 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
25674         Avoid inflooping in redisplay due to Spacemacs and linum-mode
25676         * src/xdisp.c (redisplay_internal): Limit the number of redisplay
25677         retries when a frame becomes garbaged as result of redisplaying
25678         it.  (Bug#27115)
25680 2017-05-31  Tino Calancha  <tino.calancha@gmail.com>
25682         * src/editfns.c (decode-time): Fix docstring.
25684 2017-05-31  Glenn Morris  <rgm@gnu.org>
25686         * admin/update_autogen: Remove bzr support.
25688 2017-05-31  Glenn Morris  <rgm@gnu.org>
25690         Avoid subr test failure when source dir has multiple names
25692         * test/lisp/subr-tests.el (subr-tests--this-file):
25693         Use the true name of the file.  The following test does a string
25694         comparison of this value with that from method-files, which uses
25695         load-history, which contains true names.
25697 2017-05-31  Dmitry Gutov  <dgutov@yandex.ru>
25699         Extract eldoc--supported-p
25701         * lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
25702         (turn-on-eldoc-mode, eldoc-mode): Use it.
25703         (https://lists.gnu.org/r/emacs-devel/2017-05/msg00865.html)
25705 2017-05-30  Glenn Morris  <rgm@gnu.org>
25707         Make "make check" less verbose by default
25709         * test/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_ELC, am__v_ELC_)
25710         (am__v_ELC_0, am__v_ELC_1, AM_V_GEN, am__v_GEN_, am__v_GEN_0)
25711         (am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
25712         New, copied from lisp/Makefile.in.
25713         (%.elc, %.log): Simplify and quieten.
25715 2017-05-30  Alan Mackenzie  <acm@muc.de>
25717         Mode line "%q" construct: Just use one number when both would be the same.
25719         * src/xdisp.c (decode_mode_spec): recode the "%q" bit appropriately.
25721 2017-05-30  Alan Mackenzie  <acm@muc.de>
25723         Merge branch 'master' of /home/acm/emacs/emacs.git/master
25725 2017-05-30  Alan Mackenzie  <acm@muc.de>
25727         c-defun-name: Return fully qualified method names when wanted in C++, etc.
25729         * lisp/progmodes/cc-cmds.el (c-defun-name): Use
25730         c-back-over-compound-identifier in place of c-backward-token-2 near the end
25731         of the function.
25733 2017-05-30  Glenn Morris  <rgm@gnu.org>
25735         Reduce scope of recent test/Makefile HOME change
25737         * test/Makefile.in (%.log): Move setting of HOME here from top-level.
25739 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
25741         Skip .#* temporaries when finding sources
25743         Without this patch, ‘make check’ can fail with the diagnostic
25744         ‘invalid syntax in conditional’ if there is an Emacs temporary
25745         file whose name starts with ‘.#’, because the ‘#’ is treated as
25746         the start of a Make comment.
25747         * lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
25748         * test/Makefile.in (ELFILES):
25749         Skip files starting with ‘.’, so that the .#* files do not cause
25750         trouble.  (We cannot easily skip just files starting with ‘.#’,
25751         since ‘#’ starts a Make comment!)
25753 2017-05-30  Alan Mackenzie  <acm@muc.de>
25755         Merge branch 'master' of /home/acm/emacs/emacs.git/master
25757 2017-05-30  Alan Mackenzie  <acm@muc.de>
25759         Fix the mouse help/key map on the "%p" part of the mode line.
25761         * lisp/bindings.el (mode-line-percent-position): give it a
25762         `risky-local-variable' property.
25763         (mode-line-position): correct the quoting on the mode-line-percent-position
25764         part of the variable, allowing the properties to be properly recognized.
25766 2017-05-30  Alan Mackenzie  <acm@muc.de>
25768         Fix the mouse help/key map on the "%p" part of the mode line.
25770         * lisp/bindings.el (mode-line-percent-position): give it a
25771         `risky-local-variable' property.
25772         (mode-line-position): correct the quoting on the mode-line-percent-position
25773         part of the variable, allowing the properties to be properly recognized.
25775 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
25777         Merge from gnulib
25779         * build-aux/config.guess: Copy from gnulib.
25780         * lib/gnulib.mk.in: Regenerate.
25782 2017-05-30  Glenn Morris  <rgm@gnu.org>
25784         Stop make check interacting with HOME
25786         * test/Makefile.in (HOME): Export a non-existent value.
25788 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
25790         Update .gitattributes to match sources better
25792         * .gitattributes: Remove nt/nmake.defs.  Move dostorture.c, c.C,
25793         algrthms.html.  Use pattern for todo-mode.  Improve patterns for
25794         Ada, C, ObjC, shell.  Add Pascal.  Remove unused pattern *.ruby.
25795         Add config.guess and config.sub as shell files.
25797 2017-05-30  Noam Postavsky  <npostavs@gmail.com>
25799         Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to '--bg-daemon'
25801         * doc/emacs/cmdargs.texi (Initial Options):
25802         * doc/lispref/os.texi (Startup Summary):
25803         * etc/NEWS:
25804         * etc/emacs.service:
25805         * src/emacs.c (main):
25806         * src/lisp.h: Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to
25807         '--bg-daemon'.
25809 2017-05-30  Glenn Morris  <rgm@gnu.org>
25811         todo-mode: don't assume an ordering of tests
25813         * test/lisp/calendar/todo-mode-tests.el (todo-test-todo-quit02)
25814         (todo-test-item-highlighting): Avoid prompting for input file.
25816 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
25818         Improve .gdbinit Lisp value pretty-printing
25820         * src/.gdbinit (to_string): Use an unsigned representation for
25821         Lisp values, as requested by Eli Zaretskii (Bug#27098).
25822         Also, use "make_number(N)" for Lisp integers.
25824 2017-05-30  Dmitry Gutov  <dgutov@yandex.ru>
25826         Turn global-eldoc-mode into a globalized minor mode
25828         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode):
25829         Turn into globalized mode (bug#19853).
25830         (turn-on-eldoc-mode): Make it into a wrapper instead of alias.
25831         (eldoc-mode): Only show the message when called interactively.
25833 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
25835         Use regexp matching instead of checking exit status
25837         * lisp/progmodes/xref.el (xref-collect-matches):
25838         See if the output buffer contents look like Grep output
25839         instead of checking exit status (bug#23451).
25841 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
25843         Add initial tests for todo-mode.el
25845         *test/lisp/calendar/todo-mode-tests.el:
25846         *test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
25847         *test/lisp/calendar/todo-mode-resources/todo-test-1.todo: New files.
25849         * .gitattributes: Ignore trailing whitespace in todo-mode test
25850         data files, since it is part of the todo-mode file format.
25852 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
25854         Make `todo-toggle-item-highlighting' work on multiline items (bug#27133)
25856         * lisp/calendar/todo-mode.el (todo-hl-line-range): New named function,
25857         replacing an anonymous function for the sake of `describe-variable'.
25858         (todo-modes-set-2): Use it as buffer-local value of hl-line-range-function
25859         and remove boundp test of this variable, so its value is available on
25860         invoking `todo-toggle-item-highlighting'.
25862 2017-05-29  Alan Third  <alan@idiocy.org>
25864         Fix build error on macOS 10.6
25866         * src/nsfns.m (compute_tip_xy): Cast NSRect to CGRect and NSPoint to
25867         CGPoint.
25869 2017-05-29  Jules Tamagnan  <jtamagnan@gmail.com>  (tiny change)
25871         Comply with pep 8 style guide for backslash in assignment (Bug#24809)
25873         * lisp/progmodes/python.el (python-indent--calculate-indentation):
25874         Increase indent by `python-indent-offset' after
25875         `:after-backslash-assignment-continuation'.
25877 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
25879         Add suggestion to docstring
25881         * lisp/subr.el (interactive-p): Mention commandp, as this is often
25882           what users are actually looking for.
25884 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
25886         Ensure button-get works in any buffer
25888         * lisp/button.el (button-get): Previously we assumed that button-get
25889           was called in the buffer containing the button.  In other buffers,
25890           button-get always returned nil.  Fix this by passing the relevant
25891           buffer from the marker.
25893 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
25895         Signal error if find-grep returns a nonzero status
25897         * lisp/progmodes/xref.el (xref-collect-matches): Signal error
25898         if find-grep returns a nonzero status (bug#23451).  Remove the
25899         comment: even if some output is present, a non-zero status
25900         means something went wrong and it can't be relied upon.
25902 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
25904         Make sure exiting todo-mode buffer buries it (bug#27121)
25906         This failed due to commit ea3ae33b from 2013-05-16, which prevented
25907         quitting todo-mode buffer after visiting todo-archive buffer from
25908         making the archive buffer current again.  Avoid this now by simply
25909         killing the archive buffer, since there's no need to keep it a live
25910         buffer.  Consequently, quitting a todo-mode buffer can now use
25911         bury-buffer without an argument, which ensures that is will not
25912         becomes current on quitting the buffer that replaced it in the window.
25914         * lisp/calendar/todo-mode.el (todo-quit): Kill todo-archive-mode
25915         buffer instead of burying it.  This now allows exiting the
25916         todo-mode buffer by bury-buffer without an argument, so do that.
25918 2017-05-28  Michael Albinus  <michael.albinus@gmx.de>
25920         Some tweaks, almost all for Tramp adb method
25922         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
25923         Use `make-tramp-file-name'.
25924         (tramp-adb-get-device): Use `tramp-file-name-port-or-default'.
25925         (tramp-adb-maybe-open-connection): Set "prompt" property.
25926         (tramp-adb-wait-for-output): Use it.
25928         * lisp/net/tramp-cache.el (tramp-cache-print): Use `elt'.
25929         (tramp-dump-connection-properties): Check also that there are
25930         properties to be saved.  Don't save "started" property of
25931         "ftp" method.
25933         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
25934         Use `make-tramp-file-name'.
25936         * lisp/net/tramp.el (tramp-remote-file-name-spec-regexp):
25937         Host could be empty.
25938         (tramp-file-name-port-or-default): New defun.
25939         (tramp-dissect-file-name): Simplify `make-tramp-file-name' call.
25940         (tramp-handle-file-name-case-insensitive-p): Use a progress reporter.
25941         (tramp-call-process, tramp-call-process-region):
25942         Use `make-tramp-file-name'.
25944         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
25945         Revert change from 2017-05-24.
25946         (tramp-test05-expand-file-name-relative): Let it also pass for
25947         "adb" method.
25949 2017-05-28  Jürgen Hötzel  <juergen@archlinux.org>
25951         Fix Tramp for Android 7
25953         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp):
25954         Username part of prompt is empty on Android 7.
25955         (tramp-adb-ls-toolbox-regexp):
25956         Ignore addition links column on Android 7.
25957         (tramp-adb-get-ls-command):
25958         Dont use --color=none when using toybox (Android 7).  It's not
25959         possible to disable coloring explicitly for toybox ls.
25961 2017-05-27  Svante Carl v. Erichsen  <Svante.v.Erichsen@web.de>  (tiny change)
25963         Fix cl-indent for `loop' with :keywords (Bug#15543)
25965         * lisp/emacs-lisp/cl-indent.el (lisp-extended-loop-p): Allow for
25966         ":keywords".
25968 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
25970         Depromiscuify inotify with IN_MASK_ADD
25972         Use IN_MASK_ADD instead of using a no-longer-promiscuous-enough
25973         mask.  This simplifies the code and restores the ability to
25974         use IN_ACCESS, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE, and IN_OPEN
25975         in some cases (Bug#26973).
25976         * src/inotify.c (INOTIFY_DEFAULT_MASK): Remove.
25977         (Finotify_add_watch): Use IN_MASK_ADD instead.
25979 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
25981         Restore inotify onlydir support
25983         There was no need to remove it in the 2017-03-26 inotify change,
25984         as it is like IN_DONT_FOLLOW and does not affect other watchers
25985         for the same file.
25986         * src/inotify.c (symbol_to_inotifymask, Finotify_add_watch)
25987         (syms_of_inotify): Bring back onlydir.
25989 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
25991         Simplify computation of inotify mask
25993         * src/inotify.c (add_watch): Accept uint32_t imask instead
25994         of Lisp_Object aspect.  Caller changed.
25995         (Finotify_add_watch): Use aspect_to_inotifymask earlier, to
25996         simplify the code.
25998 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
26000         Improve the documentation of filesets
26002         * doc/emacs/files.texi (Filesets): Fix the description of
26003         fileset-init's effect on the menu bar.  (Bug#27015)
26005 2017-05-27  Philipp Stephani  <phst@google.com>
26007         Don't attempt to recover from undefined behavior in some cases
26009         These functions can only be run in batch mode and exit Emacs on
26010         return, so nothing can be recovered.  Disable unsafe recover
26011         mechanisms so that we get real failures and good stack traces on
26012         fatal signals.
26014         * lisp/emacs-lisp/bytecomp.el (batch-byte-compile)
26015         (batch-byte-recompile-directory):
26016         * lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit)
26017         (ert-summarize-tests-batch-and-exit): Don't attempt to recover
26018         from undefined behavior.
26020 2017-05-27  Philipp Stephani  <phst@google.com>
26022         Avoid another compiler warning on macOS
26024         When configured with --without-ns, HAVE_NS is not defined on macOS,
26025         thus 'memory-limit' calls the deprecated sbrk(2) function.  Avoid that
26026         by using the pre-defined __APPLE__ preprocessor macro.
26028         * src/alloc.c (Fmemory_limit): Never use sbrk(2) on macOS.
26030 2017-05-27  Luke Yen-Xun Lee  <luke.yx.lee@gmail.com>
26032         Fix ruler-mode text-scaling issues
26034         * lisp/ruler-mode.el (ruler-mode-text-scaled-width): New function
26035         for computing scaled text width.
26036         (ruler-mode-text-scaled-window-hscroll)
26037         (ruler-mode-text-scaled-window-width): Compute text scaled
26038         `window-width' value.
26039         (ruler-mode-mouse-grab-any-column, ruler-mode-mouse-add-tab-stop)
26040         (ruler-mode-ruler): Change `window-hscroll' into
26041         `ruler-mode-text-scaled-window-hscroll', and change `window-width'
26042         into `ruler-mode-text-scaled-window-width'.
26044 2017-05-27  Martin Rudalics  <rudalics@gmx.at>
26046         Minor doc and doc-string fixes (Bug#27091)
26048         * src/window.c (Fset_window_scroll_bars): Fix doc-string.
26050         * doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
26051         (Display Margins): Mention that `set-window-buffer' may override
26052         settings made by `set-window-fringes', `set-window-scroll-bars'
26053         and `set-window-margins'.
26054         * doc/lispref/windows.texi (Buffers and Windows): Fix doc of
26055         `set-window-buffer'.
26057 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
26059         Avoid args-out-of-range errors on fringe clicks after "C-h k"
26061         * src/keyboard.c (echo_truncate): Don't call Ftruncate if the echo
26062         message is already shorter than NCHARS.  (Bug#27040)
26064 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
26066         Fix GUD "Stop" display when running pdb
26068         * lisp/progmodes/gud.el (gud-menu-map): Don't call gdb-show-stop-p
26069         when GUD mode is 'pdb'.  (Bug#27024)
26071 2017-05-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
26073         Support drag and drop of region by mouse (Bug#26725)
26075         * doc/emacs/frames.texi (Drag and Drop): Document support of drag
26076         and drop region by mouse.
26077         * lisp/mouse.el (mouse-drag-region): Call mouse-drag-and-drop-region
26078         when start-event is on region.
26079         (mouse-drag-and-drop-region): New function, moves the region by
26080         (mouse-drag-and-drop-region): New defcustom.
26081         * etc/NEWS: Mention mouse-drag-and-drop-region.
26083 2017-05-27  Noam Postavsky  <npostavs@gmail.com>
26085         * lisp/emacs-lisp/eieio.el (defclass): Fix quote in warning message.
26087 2017-05-27  Alan Third  <alan@idiocy.org>
26089         Check if instancetype supported in ObjC
26091         * configure.ac: Add check for instancetype.
26092         * src/nsterm.h [!NATIVE_OBJC_INSTANCETYPE]: Define instancetype.
26094 2017-05-26  Wilfred Hughes  <me@wilfred.me.uk>
26096         Mark keywordp as a safe, error-free function
26098         * lisp/emacs-lisp/byte-opt.el: Add keywordp to
26099           side-effect-and-error-free-fns.
26101 2017-05-26  Paul Eggert  <eggert@cs.ucla.edu>
26103         * src/inotify.c: Add FIXME comments.
26105 2017-05-26  Andreas Politz  <politza@hochschule-trier.de>
26107         Fix Bug#26973
26109         * src/inotify.c (INOTIFY_DEFAULT_MASK): Removing ACCESS, OPEN
26110         and CLOSE events on order do let other processes also reading
26111         from their descriptors.  (Bug#26973).
26113 2017-05-26  Michael Albinus  <michael.albinus@gmx.de>
26115         Remove Emacs 23 compat code from Tramp
26117         * doc/misc/tramp.texi (Remote processes): Don't mention
26118         Emacs 24 explicitly.
26119         (Frequently Asked Questions): Remove Emacs 23 from
26120         compatibility list.
26122         * lisp/net/tramp.el:
26123         * lisp/net/tramp-adb.el:
26124         * lisp/net/tramp-cache.el:
26125         * lisp/net/tramp-gvfs.el:
26126         * lisp/net/tramp-sh.el:
26127         * lisp/net/tramp-smb.el: Replace compat function calls.
26129         * lisp/net/tramp-compat.el (remote-file-name-inhibit-cache)
26130         (tramp-compat-condition-case-unless-debug)
26131         (tramp-compat-copy-file, tramp-compat-copy-directory)
26132         (tramp-compat-delete-file, tramp-compat-delete-directory)
26133         (tramp-compat-process-live-p): Remove them.
26135         * lisp/net/trampver.el: Make version check fit for Emacs 24.
26137 2017-05-26  Katsumi Yamaoka  <yamaoka@jpl.org>
26139         Work for application/x-tar-gz and image/svg+xml
26141         ;; Try inlining the attachment in the article <87wp94dzj6.fsf@gmail.com>
26142         ;; of bug#27078 in the Emacs bug list using Gnus.
26144         * lisp/gnus/mm-archive.el (mm-archive-decoders):
26145         Add a decoder for application/x-tar-gz.
26146         (mm-dissect-archive): Error out if a decoder is not found.
26148         * lisp/gnus/mm-decode.el (mm-get-image): Allow image/svg+xml.
26150 2017-05-26  Tino Calancha  <tino.calancha@gmail.com>
26152         test-calc-23889: Skip test on 32-bit platforms
26154         This test fails on some 32-bit platforms as mentioned in
26155         https://lists.gnu.org/r/emacs-devel/2017-05/msg00737.html
26156         * test/lisp/calc/calc-tests.el (test-calc-23889): Skip when
26157         the Lisp integer is not big enough.
26159 2017-05-25  Alan Third  <alan@idiocy.org>
26161         Fix NS tooltips showing in the wrong place (bug#27053)
26163         * src/nsfns.m (compute_tip_xy): Get current mouse position instead of
26164         last recorded position.
26166 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
26168         lisp/net/soap-client.el: Bump version to 3.1.2
26170         * lisp/net/soap-client.el: Bump version to 3.1.2.
26172 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
26174         Fix soap-inspect.el doc strings
26176         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute): Fix doc
26177         string.
26178         (soap-inspect-xs-attribute-group): Likewise.
26180 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
26182         Fix two soap-client.el byte compilation warnings
26184         * lisp/net/soap-client.el (url-http-response-status): Add defvar.
26185         (soap-fetch-xml-from-url): Remove special declaration of
26186         url-http-response-status.
26187         (soap-invoke-internal): Likewise.
26189 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
26191         lisp/net/soap-client.el: Require cl-lib version 0.6.1
26193         * lisp/net/soap-client.el: Require cl-lib version 0.6.1.
26195 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
26196             Stefan Monnier  <monnier@iro.umontreal.ca>
26198         lisp/net/soap-client.el: Shorten some long lines
26200         * lisp/net/soap-client.el (soap-encode-xs-element): Remove
26201         unnecessary progn.
26202         (soap-xs-add-union): Wrap long line.
26204 2017-05-25  Alex Harsanyi  <AlexHarsanyi@gmail.com>
26205             Stefan Monnier  <monnier@iro.umontreal.ca>
26207         Remove cl dependency in soap-client.el and soap-inspect.el
26209         * lisp/net/soap-inspect.el: Replace cl library with cl-lib, case
26210         with cl-case, destructuring-bind with cl-destructuring-bind and
26211         loop with cl-loop.
26213         * lisp/net/soap-client.el: Replace cl library with cl-lib,
26214         defstruct with cl-defstruct, assert with cl-assert, case with
26215         cl-case, ecase with cl-ecase, loop with cl-loop and
26216         destructuring-bind with cl-destructuring-bind.
26218 2017-05-25  Michael Albinus  <michael.albinus@gmx.de>
26220         Switch Tramp to cl-lib
26222         * lisp/net/tramp-compat.el (cl-lib): Require it rather than cl.
26224         * lisp/net/tramp-ftp.el: Don't require cl.
26226         * lisp/net/tramp-gvfs.el: Don't require cl.
26227         (tramp-gvfs-handler-mounted-unmounted)
26228         (tramp-gvfs-connection-mounted-p): Use `cl-*' macros.
26230         * lisp/net/tramp-sh.el: Don't require cl.
26231         (tramp-set-file-uid-gid): Use `shell-quote-argument'.
26232         (tramp-sh-gvfs-monitor-dir-process-filter)
26233         (tramp-sh-inotifywait-process-filter): Use `cl-*' macros.
26235         * lisp/net/tramp-smb.el: Don't require cl.
26236         (tramp-smb-read-file-entry): Use `cl-*' macros.
26238         * lisp/net/tramp.el (cl-lib): Require it rather than cl.
26239         (tramp-parse-file, tramp-parse-shostkeys-sknownhosts)
26240         (tramp-parse-passwd, tramp-parse-etc-group)
26241         (tramp-parse-putty): Use `cl-*' macros.
26243 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
26245         * CONTRIBUTE: Suggest autogen.sh's 'all' operand.
26247 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
26249         Port ATTRIBUTE_MAY_ALIAS to recent icc
26251         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS) [__ICC]:
26252         Define to empty.  Otherwise, icc (ICC) 17.0.4 20170411 says
26253         “warning #2621: attribute "__may_alias__" does not apply here”
26254         for constructs like ‘struct sockaddr *sa = (whatever);
26255         struct sockaddr_in __attribute__ ((__may_alias__)) *sin
26256         = (struct sockaddr_in *) sa;’.
26258 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
26260         Merge from gnulib
26262         This incorporates:
26263         2017-05-25 port to recent icc
26264         * lib/intprops.h: Copy from gnulib.
26266 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
26268         Fix Tramp for python.el
26270         * lisp/net/tramp.el (tramp-get-connection-process): Check,
26271         that VEC is a `tramp-file-name' structure.
26273 2017-05-24  Alan Third  <alan@idiocy.org>
26275         Raise version of macOS we define instancetype for (bug#27059)
26277         * src/nsterm.m: Increase supported version number.
26279 2017-05-24  Alan Third  <alan@idiocy.org>
26281         Define new types on macOS 10.6 (bug#27041)
26283         * src/nsterm.h: Enable instancetype typedef for older macOS, and use
26284         correct NSUInteger instead of int.
26286 2017-05-24  Glenn Morris  <rgm@gnu.org>
26288         Don't autoload new dns-mode command
26290         * lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
26291         Remove autoload cookie.
26293 2017-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
26295         * src/fns.c (sxhash): Fix records hashing (bug#27057, bug#26639)
26297         (sxhash_vector): Make it work on pseudo vectors as well.
26298         (sxhash): Treat records like vectors.
26300 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
26302         Adapt tramp-tests.el according to new defstruct
26304         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
26305         Fix test according to new defstruct.
26306         (tramp-test29-environment-variables-and-port-numbers):
26307         Expect it now as passed.  Cleanup at the end.
26309 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
26311         Introduce a defstruct `tramp-file-name' as central data structure.
26313         This solves also Bug#27009.
26315         * lisp/net/tramp.el (tramp-current-domain)
26316         (tramp-current-port): New defvars.
26317         (tramp-file-name): New defstruct.
26318         (tramp-file-name-user-domain, tramp-file-name-host-port)
26319         (tramp-file-name-equal-p): New defuns.
26320         (tramp-file-name-p, tramp-file-name-method)
26321         (tramp-file-name-user, tramp-file-name-host)
26322         (tramp-file-name-localname, tramp-file-name-hop)
26323         (tramp-file-name-real-user, tramp-file-name-domain)
26324         (tramp-file-name-real-host, tramp-file-name-port):
26325         Remove defuns.  They are provided by the defstruct, or not
26326         needed anymore.
26327         (tramp-dissect-file-name, tramp-buffer-name)
26328         (tramp-make-tramp-file-name, tramp-get-buffer)
26329         (tramp-set-connection-local-variables)
26330         (tramp-debug-buffer-name, tramp-message)
26331         (tramp-error-with-buffer, with-parsed-tramp-file-name)
26332         (tramp-completion-dissect-file-name1)
26333         (tramp-handle-file-name-as-directory)
26334         (tramp-handle-file-name-directory)
26335         (tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
26336         (tramp-handle-find-backup-file-name)
26337         (tramp-handle-insert-file-contents, tramp-process-actions)
26338         (tramp-check-cached-permissions, tramp-local-host-p)
26339         (tramp-get-remote-tmpdir, tramp-call-process)
26340         (tramp-call-process-region, tramp-read-passwd)
26341         (tramp-clear-passwd):
26342         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
26343         (tramp-adb-handle-expand-file-name)
26344         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
26345         (tramp-adb-handle-process-file)
26346         (tramp-adb-maybe-open-connection):
26347         * lisp/net/tramp-cache.el (tramp-get-hash-table)
26348         (tramp-get-file-property, tramp-set-file-property)
26349         (tramp-flush-file-property, tramp-flush-directory-property)
26350         (tramp-get-connection-property)
26351         (tramp-set-connection-property, tramp-connection-property-p)
26352         (tramp-flush-connection-property, tramp-cache-print)
26353         (tramp-list-connections, tramp-dump-connection-properties)
26354         (tramp-parse-connection-properties):
26355         * lisp/net/tramp-cmds.el (tramp-cleanup-connection):
26356         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
26357         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
26358         (tramp-gvfs-url-file-name, tramp-gvfs-handler-askpassword)
26359         (tramp-gvfs-handler-mounted-unmounted)
26360         (tramp-gvfs-mount-spec, tramp-gvfs-get-remote-uid)
26361         (tramp-gvfs-get-remote-gid)
26362         (tramp-gvfs-maybe-open-connection):
26363         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
26364         (tramp-do-copy-or-rename-file-out-of-band)
26365         (tramp-sh-handle-expand-file-name)
26366         (tramp-sh-handle-start-file-process)
26367         (tramp-sh-handle-process-file, tramp-compute-multi-hops)
26368         (tramp-maybe-open-connection)
26369         (tramp-make-copy-program-file-name, tramp-get-remote-path)
26370         (tramp-get-inline-coding):
26371         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
26372         (tramp-smb-handle-expand-file-name)
26373         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
26374         (tramp-smb-handle-set-file-acl)
26375         (tramp-smb-maybe-open-connection): Adapt according to defstruct.
26377 2017-05-24  Stephen Berman  <steve@rosalinde.fritz.box>
26379         Fix and improve UI of scroll bar menu (bug#27047)
26381         In addition, since the Emacs manual writes "scroll bar", "tool
26382         bar" and "menu bar", use this convention in the Show/Hide menues
26383         and tooltips as well.
26385         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Make
26386         pressing a radio button in the menu actually show that it was
26387         pressed.  Replace the two radio buttons to turn the horizontal
26388         scroll bar on and off with a single check-box toggle and add a
26389         separator between this and the vertical scroll bar radio
26390         buttons.  Use conventional spelling.
26391         (menu-bar-horizontal-scroll-bar)
26392         (menu-bar-no-horizontal-scroll-bar): Remove, since now unused.
26393         (menu-bar-showhide-tool-bar-menu, menu-bar-showhide-menu)
26394         (menu-bar-mode): Use conventional spelling.
26396 2017-05-24  Katsumi Yamaoka  <yamaoka@jpl.org>
26398         Remove string-as-unibyte
26400         * lisp/gnus/canlock.el (canlock-sha1): Remove useless variable.
26401         (canlock-make-cancel-key): No need to use string-as-unibyte.
26403 2017-05-24  Tino Calancha  <tino.calancha@gmail.com>
26405         Fix concatenation of "^" with diff-file-junk-re
26407         This regexp contains "\\|", thus a concatenation
26408         of "^" with it just matches the beginning of line for the
26409         first alternative in diff-file-junk-re.
26410         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Concat "^" with
26411         diff-file-junk-re wrapped in a shy group.
26413 2017-05-24  Glenn Morris  <rgm@gnu.org>
26415         Suppress intermittent test failure on hydra
26417         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
26418         (eieio-test-37-obsolete-name-in-constructor): Skip on hydra.
26420 2017-05-24  Peder O. Klingenberg  <peder@klingenberg.no>
26422         New dns-mode command for IPv6 address conversion
26424         This converts IPv6 addresses to a format suitable for
26425         reverse lookup zone files.  (Bug#26820)
26426         * lisp/textmodes/dns-mode.el (dns-mode-map, dns-mode-menu):
26427         Add dns-mode-ipv6-to-nibbles.
26428         (dns-mode-ipv6-to-nibbles, dns-mode-reverse-and-expand-ipv6):
26429         New functions.
26430         * test/lisp/dns-mode-tests.el: New file.
26432 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
26434         Protect *Backtrace* from being killed (Bug#26650)
26436         * lisp/emacs-lisp/debug.el (debugger-mode): Call `top-level' in
26437         `kill-buffer-hook'.
26439 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
26441         Give a name to lisp-mode's adaptive-fill-function (Bug#22730)
26443         * lisp/emacs-lisp/lisp-mode.el (lisp-adaptive-fill): New function.
26444         (lisp-mode-variables): Use it.
26446 2017-05-23  Philipp Stephani  <phst@google.com>
26448         vc-hg.el: Silence byte compiler warning
26450         * lisp/vc/vc-hg.el (compilation-arguments): Forward-declare.
26452 2017-05-23  Paul Eggert  <eggert@cs.ucla.edu>
26454         Don't warn about missing brances on macOS
26456         On macOS, removing -Wmissing-braces is not enough; the warning has to
26457         be disabled explicitly.
26459 2017-05-23  Wilfred Hughes  <me@wilfred.me.uk>
26461         Don't treat ' as a string delimiter in RPM spec files
26463         ' is commonly used as an apostrophe in the prose sections of spec
26464         files, which was erroneously highlighted as strings. See for example
26465         http://kmymoney2.sourceforge.net/phb/rpm-example.html
26467         * lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
26468           punctuation in RPM spec files.
26470 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
26472         * lisp/emacs-lisp/cl-indent.el: Don't require CL.  Use lexical-binding.
26474         (common-lisp-indent-function-1): Remove unused var `last-point`.
26475         (lisp-indent-error-function): Move defvar before first use.
26477 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
26479         * lisp/international/rfc1843.el: Don't require CL.  Use lexical-binding.
26481         * lisp/international/utf7.el: Don't require CL.  Use lexical-binding.
26483         * lisp/net/shr.el: Use cl-lib instead of cl.
26485 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
26487         * test/src/fns-tests.el, test/src/data-tests.el: Don't use `cl`
26489         * test/src/data-tests.el (binding-test-manual, binding-test-setq-default)
26490         (binding-test-makunbound, data-tests-varalias-watchers)
26491         (data-tests-local-variable-watchers): Silence compiler warnings.
26493 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
26495         * lisp/vc/vc-hg.el (compilation-directory): Silence byte-compiler.
26497 2017-05-23  Alan Third  <alan@idiocy.org>
26499         Fix GNUstep build
26501         * src/nsterm.h [NS_IMPL_GNUSTEP]: Add typedefs for Cocoa-only types.
26502         (NSWindowStyleMaskUtilityWindow): #define to NSUtilityWindowMask in
26503         GNUstep and old versions of macOS.
26504         * src/nsfns.m (ns-set-mouse-absolute-pixel-position): Function only
26505         works in cocoa, not GNUstep.
26507 2017-05-23  Michael Albinus  <michael.albinus@gmx.de>
26509         Add test for Bug#27009 in tramp-tests.el
26511         * lisp/net/tramp-sh.el (tramp-compute-multi-hops):
26512         Check `tramp-file-name-real-host' for being a local host.
26514         * lisp/net/tramp.el (tramp-postfix-host-regexp): Fix docstring.
26516         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
26517         Declare default host for mock method.
26518         (tramp-test29-environment-variables-and-port-numbers): New test.
26520 2017-05-23  Glenn Morris  <rgm@gnu.org>
26522         Don't advertise s_client in tls.el docs
26524         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
26525         Don't mention s_client in docs.
26527         (cherry picked from commit 622c24a2b75a564b9861fc3ca7a7878741e8568d)
26529 2017-05-23  Rob Browning  <rlb@defaultvalue.org>
26531         Remove s_client usage from tls.el
26533         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
26534         Ref http://bugs.debian.org/766397
26535         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
26538         (cherry picked from commit 6e45de6bacc508db11b15b2c8ba86aad8c0570df)
26540 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
26542         * lisp/mail/rfc2047.el (rfc2047-decode-encoded-words): Set `words` to nil.
26544 2017-05-22  Sam Steingold  <sds@gnu.org>
26546         Fix "g" in hg&git push&pull buffers
26548         lisp/vc/vc-git.el (vc-git--pushpull): Set locally
26549         `compilation-directory' and `compilation-arguments'.
26550         lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.
26552 2017-05-22  Eli Zaretskii  <eliz@gnu.org>
26554         Fix current-line hscrolling in buffers with header-line
26556         * src/xdisp.c (display_line): When testing the glyph row's
26557         vertical position against the cursor position, account for header
26558         line, if any.  (Bug#27014)
26560 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
26562         * lisp/mail/rfc2047.el: Use cl-lib & lexical-binding, silence warning
26564         (rfc2047-decode-encoded-words): Use dolist.
26565         (rfc2047-decode-string): Avoid string-to-multibyte.
26566         (rfc2047-pad-base64): Use pcase.
26568 2017-05-21  Dima Kogan  <dima@secretsauce.net>
26570         Make ff-find-other-file symmetric for C++ (Bug#20192)
26572         `cc-other-file-alist' has a mapping of file extensions to switch
26573         between headers and sources, but the mappings weren't completely
26574         symmetric.  In particular .cpp would map to .hh, but .hh would NOT map
26575         to .cpp.
26577         * lisp/find-file.el (cc-other-file-alist): Map ".hh" and ".h" to all
26578         C++ extensions to make them symmetric with the C++ extensions that map
26579         to them.  This lets repeated invocations of `ff-find-other-file'
26580         toggle between all pairs of sources/headers.
26582 2017-05-21  Philipp Stephani  <phst@google.com>
26584         Fix definition of whitespace in JSON
26586         See
26587         https://lists.gnu.org/r/emacs-devel/2017-05/msg00115.html.
26589         * lisp/json.el (json-skip-whitespace): Fix definition.
26590         * test/lisp/json-tests.el (test-json-skip-whitespace): Adapt unit
26591         test.
26593 2017-05-21  Philipp Stephani  <phst@google.com>
26595         Improve module function terminology
26597         Module functions were previously called "function environments" when
26598         the functions created by module_make_functions were lambdas.  Now we
26599         can adapt the terminology and rename "function environments" to
26600         "module functions" everywhere.  This also removes the name clash
26601         between "function environments" and "module environments."
26603         * src/emacs-module.c (module_make_function): Adapt comment to reality;
26604         stop using "function environment" terminology.
26605         (funcall_module): Stop using "function environment" terminology.
26607 2017-05-21  Philipp Stephani  <phst@google.com>
26609         Avoid uninitialized read
26611         * src/nsterm.m (ns_read_socket): Don't read uninitialized variable 'nevents'.
26613 2017-05-21  Philipp Stephani  <phst@google.com>
26615         Fix call of registerServicesMenuSendTypes
26617         * src/nsterm.m (initFrameFromEmacs:): nil is not allowed for
26618         returnTypes; pass an empty array instead.
26620 2017-05-21  Philipp Stephani  <phst@google.com>
26622         Clean up code around 'ns-list-services'
26624         * src/nsfns.m (Fns_list_services): Remove unreachable code.  In this
26625         branch NS_IMPL_COCOA cannot be defined.
26626         (interpret_services_menu): Define only if called to avoid compiler
26627         warnings about unused static functions.
26629 2017-05-21  Philipp Stephani  <phst@google.com>
26631         Remove unused automatic variables
26633         * src/nsterm.m (ns_read_socket):
26634         * src/macfont.m (macfont_open): Remove unused automatic variables.
26636 2017-05-21  Philipp Stephani  <phst@google.com>
26638         Nextstep: Replace deprecated enumerators
26640         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:): Replace
26641         deprecated enumerator.
26643 2017-05-21  Philipp Stephani  <phst@google.com>
26645         Nextstep: remove some deprecated method calls
26647         * src/nsterm.m (mouseDown:):
26648         * src/nsmenu.m (runMenuAt:forFrame:keymaps:): Remove call to
26649         deprecated method.  The return value is always nil.
26650         * src/macfont.m (mac_font_shape_1): Replace call to deprecated method.
26652 2017-05-21  Philipp Stephani  <phst@google.com>
26654         Remove trailing semicolons in method definitions
26656         These semicolons are ignored and cause compiler warnings.
26658         * src/nsimage.m (setPixelAtX:Y:toRed:green:blue:alpha:):
26659         * src/nsterm.m (init, updateFrameSize:):
26660         (setFrame:): Remove trailing semicolon.
26662 2017-05-21  Philipp Stephani  <phst@google.com>
26664         Remove calls to deprecated setUsesScreenFonts
26666         * src/macfont.m (mac_screen_font_get_metrics): Don't call setUsesScreenFonts.
26667         (mac_font_shape_1): Remove screen_font_p parameter.
26668         (mac_screen_font_shape): Remove screen_font_p argument.
26670 2017-05-21  Philipp Stephani  <phst@google.com>
26672         Make a function static that isn't used outside this file
26674         * src/kqueue.c (kqueue_directory_listing): Make static.
26676 2017-05-21  Philipp Stephani  <phst@google.com>
26678         Use NSCharacterCollection instead of CTCharacterCollection
26680         This should not cause behavior changes, but fixes a compiler warning
26681         due to implicit conversions between the enums.
26683         * src/macfont.m (macfont_cache, macfont_lookup_cache)
26684         (macfont_get_glyph_for_cid, macfont_get_uvs_table)
26685         (macfont_variation_glyphs): Use NSCharacterCollection.
26687 2017-05-21  Philipp Stephani  <phst@google.com>
26689         Remove unused function print_regions
26691 2017-05-21  Philipp Stephani  <phst@google.com>
26693         Declare Nextstep unexec functions in lisp.h
26695         This removes compiler warnings about missing prototypes on macOS.
26697 2017-05-21  Philipp Stephani  <phst@google.com>
26699         Nextstep: Use instancetype explicit return type
26701         This removes compiler warnings on macOS and improves type safety.
26703         * src/nsterm.m (initFrameFromEmacs:):
26704         (menuDown:):
26705         (toolbarClicked:):
26706         (toggleToolbar:):
26707         (setMiniwindowImage:):
26708         (initFrame:window:):
26709         (condemn, reprieve, setPosition:portion:whole:):
26710         (repeatScroll:):
26711         * src/nsmenu.m (initWithTitle:):
26712         (initWithTitle:frame:):
26713         (initForView:withIdentifier:):
26714         (init, initWithContentRect:styleMask:backing:defer:):
26715         (initFromContents:isQuestion:):
26716         * src/nsimage.m (allocInitFromFile:):
26717         (initFromXBM:width:height:fg:bg:):
26718         (setXBMColor:):
26719         (initForXPMWithDepth:width:height:): Use instancetype as return
26720         type instead of implicit id.
26722 2017-05-21  Tino Calancha  <tino.calancha@gmail.com>
26724         * lisp/emacs-lisp/package.el (package-delete): Delete readme file as well.
26726 2017-05-21  Alan Mackenzie  <acm@muc.de>
26728         Enhance mode-line percentage offset facility, with "%o" and "%q"
26730         "%o" will display the percentage "travel" of the window through the buffer.
26731         "%q" will display a combination of the percentage offsets of the top and
26732         bottom of the window.  The new user option mode-line-percent-position will
26733         facilitate selecting a setting for this part of the mode line.
26735         * lisp/bindings.el (mode-line-percent-position): New customizable user option.
26736         (mode-line-position): Use mode-line-percent-position in place of "%p", etc.
26738         * src/xdisp.c (decode_mode_spec): Add handlers for "%o" and "%q".
26740         * doc/lispref/modes.texi (Mode Line Variables): Document
26741         mode-line-percent-position.
26742         (%-Constructs): Document %o and %q.
26744         * etc/NEWS: Add an entry for these new facilities.
26746 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
26748         Work around macOS bug in create_process, too
26750         * src/process.c (create_process) [DARWIN_OS]:
26751         Reset SIGCHLD after vfork here, too.
26753 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
26755         Work around macOS bug with vforked child
26757         * src/callproc.c (call_process) [DARWIN_OS]:
26758         Include workaround for apparent macOS bug.
26760 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
26762         Pacify --enable-gcc-warnings without modules
26764         * src/print.c (print_vectorlike): New function, taken from
26765         part of print_object.  This one is indented properly, and
26766         pacifies --enable-gcc-warnings by using a default case
26767         instead of listing all the enum values, sometimes
26768         incompletely.
26769         (print_object): Use it.
26771 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
26773         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code
26775         It does not appear to be needed (Bug#24441).
26776         * etc/PROBLEMS: Remove DARWIN_OS_CASE_SENSITIVE_FIXME stuff.
26777         * src/fileio.c (file_name_case_insensitive_p):
26778         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code.
26780 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
26782         Narrow DARWIN_OS_CASE_SENSITIVE_FIXME to 1 choice
26784         * etc/PROBLEMS: Document this (Bug#24441).
26785         * src/fileio.c (file_name_case_insensitive_p): Prefer pathconf
26786         with _PC_CASE_SENSITIVE, if it works, to
26787         DARWIN_OS_CASE_SENSITIVE_FIXME code.
26788         Support just one method for DARWIN_OS_CASE_SENSITIVE_FIXME,
26789         which matches the Apple documentation more precisely.
26791 2017-05-21  Tom Tromey  <tom@tromey.com>
26793         Fix mhtml-mode fontification bug
26795         Bug#26922
26796         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Call
26797         sgml-syntax-propertize-inside if not in a submode.
26798         * test/manual/indent/html-multi-4.html: New file.
26800 2017-05-21  Ryan  <rct@thompsonclan.org>  (tiny change)
26802         Fix ido-enable-dot-prefix for empty choice (Bug#26997)
26804         * lisp/ido.el (ido-set-matches-1): Only check first character of
26805         item if it's non-empty.
26807 2017-05-21  Ari Roponen  <ari.roponen@gmail.com>
26809         * lisp/svg.el (svg-line): Fix x/y typo.  (Bug#26953)
26811 2017-05-21  Glenn Morris  <rgm@gnu.org>
26813         Prevent loading vc-bzr writing to ~/.bzr.log
26815         * lisp/vc/vc-bzr.el (vc-bzr-status-switches): Disable bzr logging.
26817 2017-05-21  Glenn Morris  <rgm@gnu.org>
26819         Prevent running vc-tests writing to ~/.bzr.log
26821         * test/lisp/vc/vc-tests.el (vc-test--create-repo)
26822         (vc-test--register, vc-test--working-revision)
26823         (vc-test--checkout-model): Set temporary BZR_HOME, to disable logging.
26825 2017-05-21  Noam Postavsky  <npostavs@gmail.com>
26827         Don't end non-hook variable with "-hook" (Bug#26623)
26829         * lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
26830         follow-inside-post-command-hook, update uses.
26832 2017-05-21  Charles A. Roelli  <charles@aurox.ch>
26834         Fix macOS mouse movement
26836         * lisp/frame.el (ns-set-mouse-absolute-pixel-position): New
26837         function (Lisp).
26838         (set-mouse-absolute-pixel-position): Change it to call
26839         `ns-set-mouse-absolute-pixel-position' on macOS.
26840         * src/nsfns.m (Fns_set_mouse_absolute_pixel_position): New
26841         function.
26842         * src/nsterm.h (NS_PARENT_WINDOW_TOP_POS): Use the primary
26843         screen's height as a base for calculating global coordinates.
26844         * src/nsterm.m (frame_set_mouse_pixel_position): Fix it in macOS.
26845         * test/lisp/mouse-tests.el (bug26816-mouse-frame-movement): Test
26846         movement of mouse relative to frame.
26848 2017-05-21  Alan Third  <alan@idiocy.org>
26850         Show tooltip on correct screen (bug#26905)
26852         * src/nsfns.m (compute_tip_xy): Find the correct screen for the
26853         tooltip and constrain it to that screen.
26855 2017-05-21  Andreas Politz  <politza@hochschule-trier.de>
26857         Don't save unrelated buffers before recompiling directory (Bug#25964)
26859         * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Only save
26860         buffers visiting lisp files under the directory being compiled.
26862 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
26864         Minor fixes for arity ranges in emacs modules
26866         * src/emacs-module.c (module_make_function):
26867         Check that arities fit into fixnums, for func-arity’s benefit.
26868         (funcall_module): Avoid unnecessary conversion to EMACS_INT.
26869         (module_function_arity): Allow arities greater than SHRT_MAX.
26871 2017-05-20  Philipp Stephani  <phst@google.com>
26873         Reimplement module functions
26875         Instead of a lambda, create a new type containing all data required to
26876         call the function, and support it in the evaluator.  Because this type
26877         now also needs to store the function documentation, it is too big for
26878         Lisp_Misc; use a pseudovector instead.  That also has the nice benefit
26879         that we don't have to add special support to the garbage collector.
26881         Since the new type is user-visible, give it a predicate.
26883         Now we can easily support 'help-function-args' and 'func-arity'; add
26884         unit tests for these.
26886         * src/lisp.h (allocate_module_function, MODULE_FUNCTIONP)
26887         (XMODULE_FUNCTION): New pseudovector type 'module function'.
26889         * src/eval.c (FUNCTIONP): Also treat module functions as functions.
26890         (funcall_lambda, Ffuncall, eval_sub): Add support for calling module
26891         functions.
26892         (Ffunc_arity): Add support for detecting the arity of module
26893         functions.
26895         * src/emacs-module.c (module_make_function): Adapt to new structure.
26896         Return module function object directly instead of wrapping it in a
26897         lambda; remove FIXME.
26898         (funcall_module): New function to call module functions.  Replaces
26899         `internal--module-call' and is called directly from eval.c.
26900         (syms_of_module): Remove internal helper function, which is no longer
26901         needed.
26902         (module_function_arity): New helper function.
26904         * src/data.c (Ftype_of): Adapt to new implementation.
26905         (Fmodule_function_p, syms_of_data): New user-visible function.  Now
26906         that module functions are first-class objects, they deserve a
26907         predicate.  Define it even if not compiled with --enable-modules so
26908         that Lisp code doesn't have to check for the function's existence.
26910         * src/doc.c (Fdocumentation): Support module functions.
26912         * src/print.c (print_object): Adapt to new implementation.
26914         * src/alloc.c (mark_object): Specialized garbage collector support is
26915         no longer needed.
26917         * lisp/help.el (help-function-arglist): Support module functions.
26918         While there, simplify the arity calculation by using `func-arity',
26919         which does the right thing for all kinds of functions.
26921         * test/data/emacs-module/mod-test.c: Amend docstring so we can test
26922         the argument list.
26924         * test/src/emacs-module-tests.el (mod-test-sum-docstring): Adapt to
26925         new docstring.
26926         (mod-test-non-local-exit-signal-test): Because `internal--module-call'
26927         is gone, the backtrace has changed and no longer leaks the
26928         implementation.
26929         (module--func-arity): New test for `func-arity'.
26930         (module--help-function-arglist): New test for `help-function-arglist'.
26932 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
26934         Avoid crashes in GC due to unescaped characters warning
26936         * src/lread.c (load_warn_unescaped_character_literals): Don't cons
26937         Lisp objects from stack-based variables.  (Bug#26961)
26939 2017-05-20  Charles A. Roelli  <charles@aurox.ch>
26941         New commands: find-library-other-window, find-library-other-frame
26943         * lisp/emacs-lisp/find-func.el (find-library-other-window)
26944         (find-library-other-frame): New commands to complement the
26945         existing 'find-library' command.  (Bug#26712)
26946         (read-library-name): New function to read a library name.
26947         * etc/NEWS: Mention 'find-library-other-window' and
26948         'find-library-other-frame'.
26950 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
26952         Fix automatic hscrolling of only the current line
26954         * src/xdisp.c (display_line): When hscrolling only the current
26955         line, increment iterator's first_visible_x and last_visible_x
26956         values to account for the hscroll.  This propagates the hscroll
26957         effect on the iterator geometry all the way down to the
26958         subroutines called by display_line, and avoids scrolling bugs
26959         under large hscroll values.  (Bug#26994)
26961 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
26963         Add handlerlist assertion to module code
26965         * src/emacs-module.c (module_reset_handlerlist):
26966         Check handlerlist.  Suggested by Philipp Stephani in:
26967         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
26969 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
26971         Port --enable-gcc-warnings to clang 3.9.1
26973         * configure.ac (WERROR_CFLAGS): Omit -Wmissing-braces for Clang,
26974         to shut off a false alarm.  Problem reportd by Philipp Stephani in:
26975         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
26977 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
26979         Limit integers printed as characters (Bug#16828)
26981         * lisp/simple.el (eval-expression-print-maximum-character): New
26982         variable.
26983         (eval-expression-print-format): Only display value as character if
26984         it's less than or equal to `eval-expression-print-maximum-character'.
26985         (eval-expression-get-print-arguments): Check
26986         eval-expression-print-maximum-character, allow negative arg to
26987         override it.
26988         (eval-expression):
26989         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
26990         (elisp--eval-last-sexp-print-value): Handle new variable.
26991         * doc/emacs/building.texi (Lisp Eval): Document new variable and
26992         behavior.
26993         * etc/NEWS: Announce it.
26994         * test/lisp/progmodes/elisp-mode-tests.el
26995         (eval-last-sexp-print-format-small-int)
26996         (eval-last-sexp-print-format-small-int-echo)
26997         (eval-last-sexp-print-format-large-int)
26998         (eval-last-sexp-print-format-large-int-echo):
26999         * test/lisp/simple-tests.el (eval-expression-print-format-small-int)
27000         (eval-expression-print-format-small-int-echo)
27001         (eval-expression-print-format-large-int)
27002         (eval-expression-print-format-large-int-echo): New tests.
27004 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
27006         Refactor lisp eval result printing
27008         * lisp/simple.el (eval-expression-print-format): Don't check
27009         `standard-output' or `current-prefix-arg'.
27010         (eval-expression-get-print-arguments): New function, centralizes
27011         decision about how to print results of `eval-expression' and
27012         `eval-last-sexp'.
27013         (eval-expression):
27014         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp-print-value):
27015         Use it.
27017 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
27019         Check that signed right shift is arithmetic
27021         * src/data.c (ash_lsh_impl): Verify that signed right shift is
27022         arithmetic; if we run across a compiler that uses a logical shift
27023         we’ll need to complicate the code before removing this
27024         compile-time check.  Help the compiler do common subexpression
27025         elimination better.
27027 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
27029         Minor .gitignore fixes
27031         * .gitignore: modules/mod-test/Makefile was renamed to
27032         test/data/emacs-module/Makefile.
27033         Omit [0-9]*.core, subsumed by *.core.
27034         test/indent/*.new was renamed to test/manual/indent/*.new.
27035         Add *.swp, for Vim.
27037 2017-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
27039         * lisp/emacs-lisp/package.el: Quote `package-desc' in docstrings
27041 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
27043         Describe problems with Microsoft Intellipoint
27045         * etc/PROBLEMS: Describe problems with Microsoft Intellipoint and
27046         mouse-2 events.  For the details, see
27047         https://lists.gnu.org/r/help-emacs-windows/2017-05/msg00009.html.
27049 2017-05-19  Nick Helm  <nick@tenpoint.co.nz>  (tiny change)
27051         Fix turning off whitespace-mode
27053         * lisp/whitespace.el (whitespace-display-char-on): Correct the way
27054         the original buffer-display-table is saved and restored when
27055         global-whitespace-mode is active.  (Bug#26892)
27057         * test/lisp/whitespace-tests.el
27058         (whitespace-tests-whitespace-mode-on): New function.
27059         (whitespace-tests-display-tables): New test.
27061 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
27063         Minor tweaks in tramp-tests.el
27065         * test/lisp/net/tramp-tests.el (tramp--test-afp-or-smb-p): New defun.
27066         (tramp-test05-expand-file-name-relative): Use it.
27067         (tramp-test38-unload): Run only in batch mode.
27069 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
27071         Fix a problem with OpenSSH 7 in Tramp
27073         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Set also
27074         "ConnectTimeout" during test.  Otherwise, OpenSSH 7 will hang.
27076 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
27078         Improve documentation of 'split-string'
27080         * doc/lispref/strings.texi (Creating Strings): Rearrange text to
27081         make it more readable.  (Bug#26925)
27083 2017-05-19  Ruslan Bekenev  <furyinbox@gmail.com>
27085         Fix typos in doc strings
27087         * lisp/mail/rfc2231.el (rfc2231-encode-string):
27088         * lisp/mail/rfc2047.el (rfc2047-encode-parameter):
27089         * lisp/mail/rfc2045.el (rfc2045-encode-string): Fix typos in doc
27090         strings.  (Bug#26103)
27092 2017-05-19  Philipp Stephani  <phst@google.com>
27094         Fix module tests on some systems
27096         If dladdr(3) isn't available or didn't work, the printed
27097         representation of a module function will not include the file name,
27098         but only the address.  Make the tests pass in that case.
27100         * test/src/emacs-module-tests.el (module-function-object): Fix match for
27101         module function printed representation
27103 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
27105         Add an optional arguments to string-trim
27107         * lisp/emacs-lisp/subr-x.el (string-trim-left, string-trim-right)
27108         (string-trim): Add optional args that serve as defaults per the
27109         original behavior.  (Bug#26908)
27111 2017-05-19  Stephen Berman  <steve@rosalinde.fritz.box>
27113         Fix typo in last change to auto-hscroll-mode
27115         * lisp/cus-start.el (standard): Fix typo in value of auto-hscroll-mode.
27117 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
27119         Support remote editing in emacsclient via Tramp
27121         * lib-src/emacsclient.c (main, decode_options)
27122         (print_help_and_exit, longopts): New option '--tramp' / '-T' which
27123         specifies how emacs should use tramp to find remote files.
27125         * doc/emacs/misc.texi (TCP Emacs server): New subsection describing
27126         the various knobs to tune server.el for TCP opereation.
27127         (emacsclient Options): Reference "TCP Emacs server" from description of
27128         --server-file.  Document the new '--tramp' / '-T' options.
27129         * doc/emacs/emacs.texi (Top): Update the top-level menu.
27131         * etc/NEWS: Mention the new option.
27133 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
27135         * lisp/replace.el (query-replace-regexp-eval): Doc fix.
27137 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
27139         Attempt to work around macOS vfork bug
27141         Problem reported by YAMAMOTO Mitsuharu in:
27142         https://lists.gnu.org/r/emacs-devel/2017-05/msg00342.html
27143         This is related to the fix for Bug#26397.
27144         * src/callproc.c (call_process_cleanup, call_process) [!MSDOS]:
27145         Report internal error if wait_for_termination fails.
27146         * src/sysdep.c (get_child_status): Return -1 if waitpid is
27147         buggy, instead of aborting.
27148         (wait_for_termination): Return bool success value.
27149         All callers changed.
27151 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
27153         Adjust defcustom form for 'auto-hscroll-mode'
27155         * lisp/cus-start.el (standard) <auto-hscroll-mode>: Adjust the
27156         defcustom form.  Suggested by Stephen Berman <stephen.berman@gmx.net>.
27158 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
27160         Fix DARWIN_OS_CASE_SENSITIVE_FIXME==2 false alarm
27162         * src/fileio.c (file_name_case_insensitive_p):
27163         Don’t compile the (DARWIN_OS_CASE_SENSITIVE_FIXME == 2)
27164         code unless DARWIN_OS_CASE_SENSITIVE_FIXME is 2.
27165         Problem reported by Philipp Stephani in:
27166         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
27168 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
27170         Port --enable-gcc-warnings to clang 3.9.1
27172         * configure.ac (WERROR_CFLAGS): Omit -Wdouble-promotion if clang.
27173         Problem reported by Philipp Stephani in:
27174         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
27176 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
27178         Clean up compiler warning in emacs-module.c
27180         * src/emacs-module.c (MODULE_SETJMP_1): Use the local var
27181         instead of leaving it unused, to pacify picky compilers.
27182         (module_reset_handlerlist): Now takes a dummy pointer to a struct
27183         handler *, instead of a dummy pointer to an int.  All uses changed.
27185 2017-05-19  Philipp Stephani  <phst@google.com>
27187         Clean up some compiler warnings
27189         * src/sysdep.c (system_process_attributes) [DARWIN_OS]:
27190         Remove unused locals.
27192 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
27194         Support hscrolling only the current line
27196         * src/xdisp.c (hscrolling_current_line_p): New function.
27197         (init_iterator): If auto-hscrolling just the current line, don't
27198         increment the iterator's first_visible_x and last_visible_x
27199         variables.
27200         (hscroll_window_tree): Recompute window's hscroll when moving
27201         vertically to another screen line.
27202         (redisplay_window): If we are hscrolling only the current line,
27203         disable the optimizations that rely on the current matrix being
27204         up-to-date.
27205         (display_line): Accept an additional argument CURSOR_VPOS, the
27206         vertical position of the current screen line which might need
27207         hscrolling; all callers changed.  Compute first_visible_x and
27208         last_visible_x specially when auto-hscrolling current line, by
27209         repeating the calculation that is done in init_iterator in other
27210         modes.
27211         (syms_of_xdisp) <auto-hscroll-mode>: No longer boolean, it can now
27212         accept a 3rd value 'current-line, to turn on the mode where
27213         only the current line is hscrolled.
27215         * etc/NEWS: Mention the new auto-hscroll-mode value.
27217 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
27219         Fix last change in line-move-finish
27221         * lisp/simple.el (line-move-finish): Fix last change.  This corrects a
27222         regression in C-n and C-p when lines are truncated, introduced by the
27223         change in 2017-05-10.
27225 2017-05-18  Simen Heggestøyl  <simenheg@gmail.com>
27227         Expand docstring for CSS mode
27229         * lisp/textmodes/css-mode.el (css-completion-at-point, css-mode):
27230         Expand docstrings.
27232 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
27234         Use the expression angle units while simplifying it
27236         Don't use the angle mode, use the angle units included
27237         in the expression instead (Bug#23889).
27238         * lisp/calc/calc-alg.el (calc-input-angle-units): New defun.
27239         (math-simplify): Use it.
27240         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
27241         Don't use calc-angle-mode if math-simplifying-units is non-nil.
27242         * lisp/calc/calc-math.el (calcFunc-nroot, math-from-radians)
27243         (math-to-radians-2, math-from-radians-2): Don't convert angle
27244         to radians if math-simplifying-units is non-nil.
27245         * test/lisp/calc/calc-tests.el (test-calc-23889): Add test.
27247 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
27249         Revert "Ignore angle mode while simplifying units"
27251         This reverts commit 713e922243fb60d850f7b0ff83f3e2a3682f1832.
27252         This commit causes Bug#25652.
27254 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
27256         Avoid undefined behavior in struct sockaddr
27258         Problem noted by Philipp Stephani in:
27259         https://lists.gnu.org/r/emacs-devel/2017-05/msg00391.html
27260         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
27261         New macros.
27262         * src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
27263         (connect_network_socket, network_interface_info)
27264         (server_accept_connection): Use it when aliasing non-char objects.
27266 2017-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>
27268         * lisp/vc/smerge-mode.el (smerge-refine-regions): Work in multi-bufs
27270         Rename from smerge-refine-subst.  Allow the `beg's to be markers.
27271         Add autoload cookie.
27272         (smerge--refine-forward): Rename from smerge-refine-forward.
27273         (smerge--refine-chopup-region): Rename from smerge-refine-chopup-region.
27274         Assume that its `beg` arg is a marker.
27275         (smerge--refine-highlight-change): Rename from
27276         smerge-refine-highlight-change.  Remove `buf` arg.
27277         (smerge-refine-subst): Redefine as an obsolete alias.
27279 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
27281         Work around AddressSanitizer bug with vfork
27283         Problem reported by Jim Meyering in:
27284         https://lists.gnu.org/r/emacs-devel/2017-05/msg00246.html
27285         * src/conf_post.h (vfork) [ADDRESS_SANITIZER]: Define to fork.
27286         Unfortunately with the AddressSanitizer in Fedora 25 x86-64, the
27287         vforked child messes up the parent’s shadow memory.  This is too
27288         bad, as we’d rather have AddressSanitizer catch memory-access bugs
27289         related to vfork.
27291 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
27293         Catch IPv4/IPv6 issues at compile time
27295         * src/process.c (connect_network_socket): Use verify,
27296         not eassert, so that any problems are caught at compile-time.
27297         Avoid dodgy cast by using a local var of the correct type.
27299 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
27301         Pacify --enable-gcc-warnings --with-x-toolkit=no
27303         * src/composite.c (autocmp_chars) [!HAVE_WINDOW_SYSTEM]:
27304         Avoid unused local.
27306 2017-05-17  Glenn Morris  <rgm@gnu.org>
27308         * admin/update_autogen (commit): Pull before push.
27310 2017-05-17  Glenn Morris  <rgm@gnu.org>
27312         autoload-rubric no longer provides a feature by default
27314         * lisp/emacs-lisp/autoload.el (autoload-rubric):
27315         Stop providing a feature unless explicitly requested.
27316         (autoload-find-generated-file): Update autoload-rubric call.
27318 2017-05-17  Eli Zaretskii  <eliz@gnu.org>
27320         Remove redundant code in connect_network_socket
27322         * src/process.c (connect_network_socket) [HAVE_GETSOCKNAME]:
27323         Remove redundant type-casting and variables.  Don't call
27324         'getsockname' to find the port for AF_LOCAL sockets.
27325         [AF_INET6]: Add an assertion to verify that the ports in the IPv4
27326         and IPv6 structures are at the same offset and have the same size.
27328 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
27330         Fix minor timezone memory leak
27332         * src/editfns.c (wall_clock_tz): Remove; unused.
27334 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
27336         Do not discard AddressSanitizer stderr
27338         * src/emacs.c (close_output_streams) [ADDRESS_SANITIZER]:
27339         Do not close stderr.
27341 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
27343         Simplify procname code to avoid GCC bug
27345         * src/process.c (server_accept_connection): Simplify and avoid
27346         multiple calls and struct literals in the last case of a switch.
27347         The old code ran afoul of GCC bug 80659, which caused an internal
27348         compiler error.  Problem reported by Jim Meyering in:
27349         https://lists.gnu.org/r/emacs-devel/2017-05/msg00182.html
27350         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659
27352 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
27354         Pacify GCC 7 with --enable-gcc-warnings
27356         * src/regex.c (regex_compile): Swap labels, so that the
27357         FALLTHROUGH immediately precedes the case label.
27359 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
27361         Merge with gnulib, pacifying GCC 7
27363         This incorporates:
27364         2017-05-16 manywarnings: update for GCC 7
27365         2017-05-15 sys_select: Avoid "was expanded before it was required"
27366         * configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
27367         -Wformat-overflow=2 options, due to too many false alarms.
27368         * doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
27369         Copy from gnulib.
27370         * m4/gnulib-comp.m4: Regenerate.
27371         * src/coding.c (decode_coding_iso_2022):
27372         Fix bug uncovered by -Wimplicit-fallthrough.
27373         * src/conf_post.h (FALLTHROUGH): New macro.
27374         Use it to mark all switch cases that fall through.
27375         * src/editfns.c (styled_format): Use !, not ~, on bool.
27376         * src/gtkutil.c (xg_check_special_colors):
27377         When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
27378         (xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
27379         this bug was actually caught by Clang.
27380         * src/search.c (boyer_moore):
27381         Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
27382         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
27383         Tell GCC that glyph->u.glyphless.ch must be a character.
27385 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
27387         Make autoloading Tramp more robust
27389         * lisp/net/tramp.el (tramp-file-name-for-operation):
27390         Use `default-directory' where appropriate.
27391         (tramp-file-name-handler): Do not autoload.
27392         (tramp-autoload-file-name-handler): Reintroduce function.
27393         (tramp-register-autoload-file-name-handlers): Use it.
27395 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
27397         Extend tramp-tests.el
27399         * test/lisp/net/tramp-tests.el (tramp-change-syntax):
27400         Remove declaration, not needed anymore.
27401         (tramp-test05-expand-file-name-relative): New test.
27402         (tramp-test10-write-region): Extend test.
27404 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
27406         * lisp/net/tramp.el: Avoid recursive load of Tramp.  (Bug#26943)
27408 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
27410         Make `indent-line-to' respect field boundaries (Bug#26891)
27412         * lisp/indent.el (indent-line-to): Use `back-to-indentation' instead
27413         of `backward-to-indentation'.
27415 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
27417         Make sure indent-sexp stops at end of sexp (Bug#26878)
27419         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Check endpos before
27420         indenting.
27421         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-stop): New
27422         test.
27424 2017-05-16  Glenn Morris  <rgm@gnu.org>
27426         Stop some epg tests failing on rhel7 with gpg 2.0.22 (bug#23619)
27428         * test/lisp/epg-tests.el (with-epg-tests):
27429         Also set GNUPGHOME in the environment of child processes.
27430         This avoids problems if gpg does not pass --homedir to spawned agent.
27432 2017-05-16  Glenn Morris  <rgm@gnu.org>
27434         Add oldxmenu to system-configuration-features
27436         * configure.ac (HAVE_OLDXMENU): New.
27437         (emacs_config_features): Add oldxmenu.
27439 2017-05-15  Ted Zlatanov  <tzz@lifelogs.com>
27441         * .gitlab-ci.yml: Adjust disclaimer as per RMS.
27443 2017-05-15  Eli Zaretskii  <eliz@gnu.org>
27445         Remove unneeded stuff from nt/inc/sys/time.h
27447         * nt/inc/sys/time.h (_TIMEVAL_DEFINED, struct timevat, timerisset)
27448         (timercmp, timerclear): Don't define.  Instead, include the system
27449         header sys/time.h, and add only the interval timers stuff.  This
27450         avoids compiler warnings about 'gettimeofday's prototype, and also
27451         avoids redefinition of macros from system headers.
27453 2017-05-15  Paul Eggert  <eggert@cs.ucla.edu>
27455         Fix address violation found by AddressSanitizer
27457         * src/process.c (connect_network_socket):
27458         Use struct sockaddr_storage, not struct sockaddr_in, to store info
27459         about a socket address.  Problem reported by Philipp Stephani in:
27460         https://lists.gnu.org/r/emacs-devel/2017-05/msg00314.html
27461         This fix is based on a patch by Philipp in:
27462         https://lists.gnu.org/r/emacs-devel/2017-05/msg00357.html
27464 2017-05-14  Gemini Lasswell  <gazally@runbox.com>
27466         Make edebug-step-in work on generic methods (Bug#22294)
27468         * lisp/emacs-lisp/edebug.el (edebug-match-cl-generic-method-args):
27469         New function to implement the edebug-form-spec property of
27470         the symbol cl-generic-method-args.
27471         (edebug-instrument-function): If the function is a generic
27472         function, find and instrument all of its methods. Return a list
27473         instead of a single symbol.
27474         (edebug-instrument-callee): Now returns a list. Update docstring.
27475         (edebug-step-in): Handle the list returned by edebug-instrument-callee.
27476         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use name and
27477         cl-generic-method-args in its Edebug spec.
27478         * lisp/emacs-lisp/eieio-compat.el (defmethod): Use name and
27479         cl-generic-method-args in its Edebug spec.
27480         * lisp/subr.el (method-files): New function.
27481         * test/lisp/subr-tests.el (subr-tests--method-files--finds-methods)
27482         (subr-tests--method-files--nonexistent-methods): New tests.
27484 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
27486         Merge from gnulib
27488         This incorporates:
27489         2017-05-14 same-inode: Adapt for windows-stat-inodes
27490         2017-05-14 windows-stat-inodes: New module
27491         2017-05-14 stat-time: Adapt for windows-stat-timespec
27492         * lib/gnulib.mk.in: Regenerate.
27493         * lib/stat-time.h, lib/sys_types.in.h, m4/sys_types_h.m4:
27494         Copy from gnulib.
27496 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
27498         Remove gettimeofday from w32 sources
27500         * lib-src/ntlib.c (gettimeofday):
27501         * nt/inc/sys/time.h (gettimeofday, struct timezone): Remove unused
27502         function 'gettimeofday' and all of its supporting code.
27504 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
27506         Fix the MS-Windows build
27508         * nt/inc/sys/time.h (gettimeofday):
27509         * src/w32.c (gettimeofday): Adjust signature to match Gnulib.
27511 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
27513         More accurate documentation of the ':box' face attribute
27515         * doc/lispref/display.texi (Face Attributes): Fix the description
27516         of negative width of the ':box' attribute.  (Bug#26920)
27518 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
27520         Merge from gnulib
27522         This incorporates:
27523         2017-05-13 largefile: Simplify
27524         2017-05-13 largefile: Improve and document
27525         2017-05-13 truncate: New module
27526         2017-05-13 windows-stat-timespec: New module
27527         2017-05-13 windows-stat-override: New module
27528         2017-05-11 getopt-posix: port to mingw
27529         2017-05-11 gettimeofday: Increase precision on mingw
27530         2017-05-10 time: Fix missing initialization of HAVE_TIMEZONE_T
27531         2017-05-10 Implement a way to opt out from MSVC support
27532         2017-05-09 tzset: Expand comment about TZ problem on native Windows
27533         * build-aux/config.guess, lib/dup2.c, lib/fcntl.c, lib/fsync.c:
27534         * lib/getdtablesize.c, lib/getopt.c, lib/gettimeofday.c:
27535         * lib/mktime.c, lib/stat-time.h, lib/sys_stat.in.h, lib/unistd.in.h:
27536         * lib/utimens.c, m4/gettimeofday.m4, m4/largefile.m4:
27537         * m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/time_h.m4, m4/time_rz.m4:
27538         * m4/unistd_h.m4: Copy from gnulib.
27539         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
27541 2017-05-14  Marcin Borkowski  <mbork@mbork.pl>
27543         Merge branch 'fix/bug-21072'
27545 2017-05-14  Ted Zlatanov  <tzz@lifelogs.com>
27547         * .gitlab-ci.yml: Add setup for GitLab CI builds.
27549 2017-05-13  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
27551         New minor mode 'pixel-scroll-mode'
27553         * lisp/pixel-scroll.el: New file.
27555         * etc/NEWS: Mention pixel-scroll-mode.
27557 2017-05-13  Philipp  <phst@google.com>
27559         Make `old-style-backquotes' variable internal
27561         * src/lread.c (load_warn_old_style_backquotes, Fload, read1)
27562         (syms_of_lread): Rename `old-style-backquotes' to
27563         `lread--old-style-backquotes', and clarify that it's for internal
27564         use only.
27565         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename
27566         variable.
27567         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Add
27568         unit test.
27569         * test/lisp/emacs-lisp/bytecomp-tests.el
27570         (bytecomp-tests--old-style-backquotes): Add unit test.
27572 2017-05-13  Philipp Stephani  <phst@google.com>
27574         Improve unescaped character literal warnings
27576         * src/lread.c (load_warn_unescaped_character_literals)
27577         (syms_of_lread):
27578         lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Improve
27579         formatting of unescaped character literal warnings.
27581         * test/src/lread-tests.el (lread-tests--unescaped-char-literals):
27582         test/lisp/emacs-lisp/bytecomp-tests.el
27583         (bytecomp-tests--unescaped-char-literals): Adapt unit tests.
27585 2017-05-12  Alan Mackenzie  <acm@muc.de>
27587         Fontify C++ for loop variable as variable, even when followed by parentheses
27589         In the following: "for (auto *Friend : Class->friends()) {", "Friend" was
27590         getting fontified as a function, due to insufficient checking of the tokens
27591         between it and "()".
27593         * lisp/progmodes/cc-langs.el (c-:-op-cont-tokens, c-:-op-cont-regexp): New
27594         lang-consts/vars.
27596         * lisp/progmodes/cc-engine.el (c-forward-declarator): After finding a putative
27597         declarator's identifier, check for a ":" token inside a for's parentheses, and
27598         abort the search for "(" if this is found.
27600 2017-05-12  Michael Albinus  <michael.albinus@gmx.de>
27602         Make Tramp backward compatible
27604         * lisp/net/tramp-cmds.el (tramp-change-syntax):
27605         Set tramp-autoload cookie.
27607         * lisp/net/tramp-compat.el: Run `tramp-change-syntax' at
27608         startup, if necessary.
27610         * lisp/net/tramp.el (tramp-syntax): Use `tramp-compat-user-error'.
27611         (tramp-register-autoload-file-name-handlers): Do not mark
27612         `operations' for `tramp-file-name-handler'.
27613         (tramp-register-file-name-handlers): Remove also
27614         `tramp-autoload-file-name-handler' for backward compatibility.
27615         (tramp-register-foreign-file-name-handler): Use `delete-dups'.
27617         * test/lisp/net/tramp-tests.el (tramp-change-syntax): Declare.
27619 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
27621         Modify `beginning-of-defun-comments'
27623         * lisp/emacs-lisp/lisp.el (beginning-of-defun-comments): Try not to stop
27624         in the middle of a multiline comment.
27626 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
27628         Fix elisp-tests-with-temp-buffer compilation
27630         * test/lisp/emacs-lisp/lisp-tests.el (elisp-tests-with-temp-buffer):
27631         Don't refer to the =!NAME= as "markers" since they produce variables
27632         with just plain positions, not marker objects.  Explicitly specify
27633         that CONTENTS is evaluated at compile time.  Don't re-evaluate
27634         CONTENTS at runtime.  Fix debug specification.  Suppress warnings due
27635         to BODY not using =!NAME= variables.
27636         (elisp-test-point-position-regex): Rename from
27637         `elisp-test-point-marker-regex'.
27638         (mark-defun-test-buffer): Wrap in `eval-and-compile'.
27640 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
27642         * lisp/emacs-lisp/lisp.el (mark-defun): Simplify moving the point.
27644 2017-05-12  Marcin Borkowski  <mbork@mbork.pl>
27646         Fix Bug#21072 and rework `mark-defun'
27648         * test/lisp/progmodes/elisp-mode-tests.el (mark-defun-test-buffer):
27649           New variable
27650         (mark-defun-no-arg-region-inactive)
27651         (mark-defun-no-arg-region-active)
27652         (mark-defun-arg-region-active)
27653         (mark-defun-pos-arg-region-inactive)
27654         (mark-defun-neg-arg-region-inactive, mark-defun-bob): Add tests for
27655         the new `mark-defun'.
27657         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p):
27658           New function.
27659         (beginning-of-defun-comments): New function.
27660         (mark-defun): Fix bug#21072, also rewrite large parts of `mark-defun'
27661         to accept a numerical prefix argument.
27663 2017-05-12  Alfred M. Szmidt  <ams@gnu.org>
27665         * lisp/mail/rmail.el (rmail-ignored-headers): Add 3 headers to ignore.
27667 2017-05-12  Eli Zaretskii  <eliz@gnu.org>
27669         Improve doc strings in net-utils.el
27671         * lisp/net/net-utils.el (ifconfig, iwconfig, netstat, arp)
27672         (route, traceroute, nslookup, ftp, smbclient)
27673         (smbclient-list-shares, finger, whois)
27674         (network-connection-to-service, network-service-connection)
27675         (network-connection-reconnect): Improve doc strings.
27677 2017-05-12  Andrew Robbins  <contact@andrewrobbins.info>
27679         Extend DNS lookup commands to allow specifying the name server
27681         * lisp/net/net-utils.el (ffap-string-at-point): Removed due to
27682         'net-utils-machine-at-point' obviating this autoloaded
27683         function (Bug#25426).
27684         (dig-program-options): New customization variable.
27685         (nslookup-host, dns-lookup-host, run-dig): Can now specify
27686         optional name server argument interactively (by prefix arg) and
27687         non-interactively.
27689         * etc/NEWS: Mention the extension of DNS lookup commands.
27691 2017-05-12  Glenn Morris  <rgm@gnu.org>
27693         Don't hard-code loaddefs files in lisp/Makefile
27695         * lisp/Makefile.in (loaddefs): New variable.
27696         (AUTOGENEL): Use $loaddefs, and include directory.
27697         (bootstrap-clean): Update for AUTOGENEL change.
27699 2017-05-11  Katsumi Yamaoka  <yamaoka@jpl.org>
27701         Kill modified buffers silently when quitting (bug#26862)
27703         * lisp/gnus/gnus-start.el (gnus-clear-system): Run do-auto-save to make
27704         sure that latest drafts are saved, and kill modified buffers silently.
27706 2017-05-10  Perry E. Metzger  <perry@piermont.com>
27708         Implement 1-based column numbering in mode line
27710         * src/xdisp.c (decode_mode_spec): Implement the %C construct.
27712         * lisp/bindings.el (column-number-indicator-zero-based): New
27713         defcustom.
27714         (mode-line-position): Use %C when
27715         column-number-indicator-zero-based is nil.
27717         * src/xdisp.c (syms_of_xdisp) <frame-title-format>:
27718         * src/buffer.c (syms_of_buffer) <mode-line-format>:
27719         * doc/lispref/modes.texi (%-Constructs):
27720         * doc/lispref/frames.texi (Frame Titles): Document the %C
27721         construct.
27723         * doc/emacs/display.texi (Optional Mode Line): Document
27724         'column-number-indicator-zero-based'.
27726         * etc/NEWS: Mention 'column-number-indicator-zero-based' and the
27727         %C construct.
27729 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
27731         Ensure cursor's foreground color is in sync with 'default' face
27733         * src/w32term.c (x_set_cursor_gc): Don't reuse cursor GC if its
27734         foreground color is different from the background of the glyph
27735         string's face.  (Bug#26851)
27737 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
27739         Fix vertical cursor motion when columns are of unequal size
27741         * lisp/simple.el (line-move-finish): In line-move-visual mode, use
27742         vertical-motion to move to the goal column, as the goal column
27743         should in that case be interpreted in units of frame's canonical
27744         character width.  (Bug#26852)
27746 2017-05-10  Glenn Morris  <rgm@gnu.org>
27748         Fix finding test .el files
27750         * test/Makefile.in (ELFILES): Exclude the data/ directory.
27751         * test/src/lread-tests.el (lread-test-bug26837): Revert previous.
27753 2017-05-10  Tino Calancha  <tino.calancha@gmail.com>
27755         Tweak a recent test
27757         This test fails in my local machine because the data files
27758         are compiled, and the test doesn't expect that.
27759         * test/src/lread-tests.el (lread-test-bug26837): Match a suffix
27760         ending with '.elc' when the data files are compiled.
27762 2017-05-10  Glenn Morris  <rgm@gnu.org>
27764         Put license information in each generated uni-*.el
27766         * admin/unidata/unidata-gen.el (unidata-gen-file):
27767         Get Copyright line from copyright.html.
27768         Put information in file header, not separate README.
27769         (unidata-gen-charprop): Mention the source location.
27770         * lisp/international/README: Remove file.
27772 2017-05-10  Noam Postavsky  <npostavs@gmail.com>
27774         Fix lisp-indent-region and indent-sexp (Bug#26619)
27776         The new lisp-indent-region introduced in 2017-04-22 "Add new
27777         `lisp-indent-region' that doesn't reparse the code." is broken because
27778         it doesn't save the calculated indent amounts for already seen sexp
27779         depths.  Fix this by unifying the indent-sexp and lisp-indent-region
27780         code.  Furthermore, only preserve position 2 of the running parse
27781         when the depth doesn't change.
27782         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Use an OLDSTATE that
27783         corresponds with the start point when calling parse-partial-sexp.
27784         (lisp-indent-state): New struct.
27785         (lisp-indent-calc-next): New function, extracted from indent-sexp.
27786         (indent-sexp, lisp-indent-region): Use it.
27787         (lisp-indent-line): Take indentation, instead of parse state.
27788         * test/lisp/emacs-lisp/lisp-mode-tests.el
27789         (lisp-mode-tests--correctly-indented-sexp): New constant.
27790         (lisp-indent-region, lisp-indent-region-defun-with-docstring):
27791         (lisp-indent-region-open-paren, lisp-indent-region-in-sexp): New
27792         tests.
27794 2017-05-10  Dmitry Gutov  <dgutov@yandex.ru>
27796         Simplify url-encode-url and add a test
27798         * lisp/url/url-util.el (url-encode-url): Simplify.
27799         url-generic-parse-url copes with multibyte strings just fine
27800         (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24117#185).
27802         * test/lisp/url/url-parse-tests.el
27803         (url-generic-parse-url/multibyte-host-and-path): New test.
27805 2017-05-10  Glenn Morris  <rgm@gnu.org>
27807         More informative error when required feature missing
27809         * src/fns.c (Frequire): Include file name in missing feature error.
27810         * doc/lispref/loading.texi (Named Features): Don't quote actual error.
27812 2017-05-10  Glenn Morris  <rgm@gnu.org>
27814         Put re-loaded file back at start of load-history (bug#26837)
27816         * src/lread.c (readevalloop): Fix the "whole buffer" check to
27817         operate in the correct buffer.
27818         (Feval_buffer): Move point back to the start after checking
27819         for lexical binding.
27820         * test/src/lread-tests.el (lread-test-bug26837): New test.
27821         * test/data/somelib.el, test/data/somelib2.el: New test data files.
27823 2017-05-09  Eli Zaretskii  <eliz@gnu.org>
27825         Improve documentation of 'gnutls-verify-error'
27827         * lisp/net/gnutls.el (gnutls-verify-error): Improve and expand
27828         doc string.  (Bug#26845)
27830 2017-05-09  Glenn Morris  <rgm@gnu.org>
27832         Don't duplicate autoload code in package.el
27834         * lisp/emacs-lisp/autoload.el (autoload-rubric): Add a package option.
27835         * lisp/emacs-lisp/package.el (autoload-rubric): Declare.
27836         (package-autoload-ensure-default-file): Use autoload-rubric.
27838 2017-05-09  Michael Albinus  <michael.albinus@gmx.de>
27840         * test/lisp/net/tramp-tests.el: Keep additional test.
27842 2017-05-09  Marcin Borkowski  <mbork@mbork.pl>
27844         Add elisp-tests-with-temp-buffer, a new testing macro
27846         * test/lisp/emacs-lisp/lisp-tests.el
27847         (elisp-test-point-marker-regex) New variable.
27848         (elisp-tests-with-temp-buffer): New macro to help test functions
27849         moving the point and/or mark.
27851 2017-05-09  Noam Postavsky  <npostavs@gmail.com>
27853         Revert "Output number of characters added to file (Bug#354)"
27855         The extra message text turned out to be quite annoying in practice,
27856         and is generally more trouble than it's worth.  Also revert several
27857         related changes.
27859         Partially revert "Handle `write-region' messages in Tramp properly"
27860         Revert "New var write-region-verbose, default nil"
27861         Revert "* src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)"
27862         Revert "Minor tuneup of write-region change"
27863         Revert "Adjust write-region so file name is at the beginning again"
27864         Revert "Fix handling of non-integer START param to write-region"
27865         Revert "Output number of characters added to file (Bug#354)"
27867         * doc/emacs/files.texi (Misc File Ops):
27868         * etc/NEWS:
27869         * lisp/epa-file.el (epa-file-write-region):
27870         * lisp/gnus/mm-util.el (mm-append-to-file):
27871         * lisp/jka-compr.el (jka-compr-write-region):
27872         * lisp/net/ange-ftp.el (ange-ftp-write-region):
27873         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
27874         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
27875         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
27876         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
27877         * lisp/net/tramp.el (tramp-handle-write-region-message):
27878         * src/fileio.c (write_region, syms_of_fileio):
27879         * test/lisp/net/tramp-tests.el (tramp-test10-write-region): Remove
27880         extra characters from file writing messages.
27882 2017-05-09  Noah Friedman  <friedman@splode.com>
27884         (ybuffer-list): $alist must be ptr-unmasked at the end of the loop,
27885         because $ptr is modified by ygetptr and we use $ptr immediately at the
27886         beginning.
27888 2017-05-08  Ken Brown  <kbrown@cornell.edu>
27890         Skip a test from filenotify-tests.el on Cygwin
27892         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
27893         Skip the last part of the test on Cygwin; it fails due to timing
27894         issues.
27895         (file-notify--test-read-event):  Remove `sit-for' that was added
27896         for Cygwin.
27898 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
27900         Merge from gnulib
27902         This incorporates:
27903         2017-05-08 intprops: don’t depend on ‘verify’
27904         2017-05-07 utimens: on native Windows, improve resolution if fd < 0
27905         2017-05-07 utimens: Improve error code on native Windows
27906         * lib/intprops.h, lib/utimens.c: Copy from gnulib.
27908 2017-05-08  Wilson Snyder  <wsnyder@wsnyder.org>
27910         Fix various verilog-mode.el issues.
27912         * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix SystemVerilog
27913         2012 import breaking AUTOINST.  Reported by Johannes Schaefer.
27914         (verilog-auto-wire-type, verilog-insert-definition): Fix AUTOWIRE using
27915         logic in top-level non-SystemVerilog module, bug1142.  Reported by Marcin K.
27916         (verilog-define-abbrev-table) (verilog-mode-abbrev-table): Don't expand
27917         abbrev inside comment/strings, bug1102. Reported by Slava Yuzhaninov.
27918         (verilog-auto): Fix AUTORESET widths pulling from AUTOREGINPUT,
27919         msg2143. Reported by Galen Seitz.
27920         (verilog-modify-compile-command): Fix expansion of __FLAGS__ when
27921         compile-command is globally set, bug1119.  Reported by Galen Seitz.
27923 2017-05-08  Michael Albinus  <michael.albinus@gmx.de>
27925         Handle `write-region' messages in Tramp properly
27927         * lisp/net/tramp.el (tramp-handle-write-region-message): New defsubst.
27928         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
27929         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
27930         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
27931         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use it.
27933         * lisp/net/tramp.el (tramp-password-prompt-regexp)
27934         (tramp-completion-mode-p):
27935         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
27936         (tramp-append-tramp-buffers):
27937         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
27938         Use `bound-and-true-p'.
27940         * lisp/net/tramp-compat.el (tramp-compat-delete-file):
27941         Don't check for `boundp' anymore.
27943         * test/lisp/net/tramp-tests.el (ert-x): Require it.
27944         (tramp--test-messages): New defvar.
27945         (tramp-test10-write-region): Extend test.
27947 2017-05-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
27949         Fix glyph string generation for multi-font compositions (Bug#26742)
27951         * src/xdisp.c (glyph_string_containing_background_width): New function.
27952         (draw_glyphs): Use it to get correct background width.
27953         (compute_overhangs_and_x): Don't change x in the middle of composite
27954         characters.
27956 2017-05-07  Philipp Stephani  <phst@google.com>
27958         Fix all unescaped character literals
27960 2017-05-07  Alan Mackenzie  <acm@muc.de>
27962         CC Mode internal cache: Handle a cache pos being inside a two-char construct.
27964         Cache c-state-semi-nonlit-pos-cache was failing when a cache position was,
27965         e.g., between the two characters of an opening comment "/*", and additionally
27966         there were an odd number of quote marks (apostrophes) in the comment.  This
27967         happened in .../src/xdisp.c in the Emacs master branch around 2017-05-02 at
27968         buffer position 615001.
27970         * lisp/progmodes/cc-defs.el (c-emacs-features): Repurpose symbol
27971         pps-extended-state to mean that there are at least 11 elements in the parser
27972         state.
27974         * lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state)
27975         (c-parse-ps-state-to-cache): Rewrite these to use enhanced cache element list
27976         types which indicate potentially being inside two-char constructs.
27977         (c-parse-ps-state-below): Rewrite to use the new versions of the above two
27978         functions.
27980 2017-05-07  Glenn Morris  <rgm@gnu.org>
27982         Silence an mh-compat compiler warning
27984         * lisp/mh-e/mh-compat.el (mh-url-unreserved-chars): Always define.
27986 2017-05-07  Glenn Morris  <rgm@gnu.org>
27988         Evaluate mh-require when compiling
27990         * lisp/mh-e/mh-alias.el, lisp/mh-e/mh-folder.el:
27991         * lisp/mh-e/mh-gnus.el, lisp/mh-e/mh-search.el:
27992         Evaluate mh-require when compiling, as require is automatically.
27993         * lisp/mh-e/mh-gnus.el: No longer disable byte-compilation.
27995 2017-05-07  Glenn Morris  <rgm@gnu.org>
27997         Remove obsolete method of changing byte-compile-dest-file
27999         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
28000         Define unconditionally.
28002 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
28004         New var write-region-verbose, default nil
28006         By popular demand, write-region char counts are now off by default
28007         (Bug#26796).
28008         * src/fileio.c (write-region-verbose): New Lisp var.
28009         (write_region): Output char count only if the var is non-nil.
28010         * doc/emacs/files.texi (Misc File Ops), etc/NEWS: Document this.
28012 2017-05-07  Glenn Morris  <rgm@gnu.org>
28014         Write autoloads file atomically
28016         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
28017         New function, to save buffer atomically.
28018         (autoload-save-buffers, update-directory-autoloads):
28019         Use autoload--save-buffer.
28020         * lisp/Makefile.in ($(lisp)/loaddefs.el):
28021         No longer write to a temp file by hand.
28023 2017-05-07  Glenn Morris  <rgm@gnu.org>
28025         Write autoloads file once only
28027         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file):
28028         Simplify.  Don't bother about ensuring the output file exists.
28029         (autoload-generated-file): Add doc.
28030         (autoload-ensure-writable): Update doc.
28031         (autoload-ensure-file-writeable): Handle non-existing file.
28032         (autoload-ensure-default-file): Remove function.
28034 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
28036         Port .gdbinit to GDB 7.11.1 + Python 2.7.12
28038         * src/.gdbinit (Lisp_Object_Printer.to_string):
28039         Explicitly convert integer val to 'int', so that
28040         older GDBs do not complain about the conversion.
28041         * src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]:
28042         Give the struct a tag, so that older GDB pretty-printers have a
28043         tag to hang their hat on.
28045 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
28047         Pretty-print const Lisp_Objects in .gdbinit
28049         * src/.gdbinit (Emacs_Pretty_Printers.__call__):
28050         Compare unqualified type to Lisp_Object, to do the right thing
28051         when the expression has type ‘Lisp_Object const’.
28052         Problem reported by Eli Zaretskii in:
28053         https://lists.gnu.org/r/emacs-devel/2017-05/msg00138.html
28055 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
28057         Pacify GCC setjmp/longjmp warning
28059         * src/eval.c (internal_lisp_condition_case): Do not modify local
28060         var VAR, to pacify GCC’s setjmp/longjmp warning which in some
28061         cases mistakenly diagnoses VAR possibly being modified between a
28062         setjmp and a longjmp.
28064 2017-05-06  Philipp  <phst@google.com>
28066         Fix bootstrap build of files.el
28068         * lisp/files.el (file-name-non-special): Don't use cl-letf.
28070 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
28072         Fix last change for MS-Windows
28074         * test/src/emacs-module-tests.el (module-function-object): Port to
28075         MS-Windows.
28077 2017-05-06  Philipp Stephani  <phst@google.com>
28079         Introduce new misc type for module function
28081         This resolves a couple of FIXMEs in emacs-module.c.
28083         * src/lisp.h (MODULE_FUNCTIONP, XMODULE_FUNCTION): New functions.
28085         * src/alloc.c (make_module_function): New function.
28086         (mark_object): GC support.
28088         * src/data.c (Ftype_of, syms_of_data): Handle module function type.
28090         * src/print.c (print_object): Print support for new type.
28092         * src/emacs-module.c (module_make_function, Finternal_module_call):
28093         Use new module function type, remove FIXMEs.
28094         (module_format_fun_env): Adapt and give it external linkage.
28096         * test/src/emacs-module-tests.el (module-function-object): Add unit
28097         test.
28099 2017-05-06  Philipp Stephani  <phst@google.com>
28101         Fix quoted files for 'verify-visited-file-modtime'
28103         Fixes Bug#25951.
28105         * lisp/files.el (file-name-non-special): Set the file name for the
28106         correct buffer.
28108         * test/lisp/files-tests.el (files-tests--file-name-non-special--buffers):
28109         Add unit test.
28110         (files-tests--with-advice, files-tests--with-temp-file): New helper
28111         macros.
28113 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
28115         * src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)
28117 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
28119         Turn on GC_CHECK_MARKED_OBJECTS by default under ENABLE_CHECKING
28121         * src/alloc.c (GC_CHECK_MARKED_OBJECTS): Define to 1 by default of
28122         ENABLE_CHECKING is defined.
28123         (mark_object): Test for GC_CHECK_MARKED_OBJECTS being non-zero,
28124         instead of being defined.
28126 2017-05-06  Tom Tromey  <tom@tromey.com>
28128         Fix erc-join with channel password
28130         Bug#25349
28131         * lisp/erc/erc-join.el (erc-autojoin-after-ident): Switch order of
28132         server names.
28133         (erc-autojoin-channels, erc-autojoin-add, erc-autojoin-remove):
28134         Likewise.
28135         (erc-server-join-channel): Move to erc.el.
28136         * lisp/erc/erc.el (erc-server-join-channel): Move from erc-join.el.
28137         (erc-cmd-JOIN): Use erc-server-join-channel.
28139 2017-05-06  Tino Calancha  <tino.calancha@gmail.com>
28141         Ensure the created temp file in a test is new
28143         * test/lisp/buff-menu-tests.el (buff-menu-24962): Use `make-temp-file'
28144         to create the temp file.
28146 2017-05-06  Glenn Morris  <rgm@gnu.org>
28148         Decruftify dns-mode.el a little bit
28150         * lisp/textmodes/dns-mode.el (dns-mode-control-entities):
28151         New constant.
28152         (dns-mode-control-entity, dns-mode-bad-control-entity)
28153         (dns-mode-type, dns-mode-class): New faces.
28154         (dns-mode-control-entity-face, dns-mode-bad-control-entity-face)
28155         (dns-mode-type-face, dns-mode-class): Make these variables use the
28156         new faces, and mark as obsolete.
28157         (dns-mode-font-lock-keywords): Use dns-mode-control-entities.
28159 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
28161         Pretty-print Lisp_Object values in GDB
28163         * src/.gdbinit: Add a pretty-printer for Lisp_Object values.  Now,
28164         GDB displays them as "XIL(0xXXX)" rather than displaying them
28165         as "..." when CHECK_LISP_OBJECT_TYPE is in effect and as "DDDDD"
28166         otherwise.
28168 2017-05-05  Peder O. Klingenberg  <peder@klingenberg.no>
28170         Tweak dns-mode font-lock
28172         * lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
28173         Highlight $TTL as a control entity.  (Bug#26780)
28175 2017-05-05  Glenn Morris  <rgm@gnu.org>
28177         Fontify the doc-string in some CL forms as such
28179         * lisp/emacs-lisp/lisp-mode.el (defconstant, defparameter):
28180         Add the doc-string-elt property.  (Bug#26778)
28182 2017-05-05  Glenn Morris  <rgm@gnu.org>
28184         * lisp/emacs-lisp/cl-lib.el (cl-mapcar): Remove recent autoload cookie.
28186 2017-05-05  Dmitry Gutov  <dgutov@yandex.ru>
28188         cl-defmethod: Make the edebug spec more technically correct
28190         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Denote the
28191         edebug spec part for qualifiers as [&rest atom], per
28192         https://lists.gnu.org/r/emacs-devel/2017-05/msg00053.html.
28194 2017-05-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
28196         Fix MH-E not to load cl at runtime (Bug#25552)
28198         * lisp/mh-e/mh-acros.el (defun-mh): Check at runtime, not
28199         compile time, whether the target is bound.
28200         * lisp/mh-e/mh-compat.el: Enable compilation.  Pull in
28201         mh-acros at compile time.
28202         Authored-by: Glenn Morris <rgm@gnu.org>, Noam Postavsky
28203         <npostavs@users.sourceforge.net>
28205 2017-05-04  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
28207         Multiline support in NS "Open Selected File" service.
28209         * lisp/term/ns-win.el (ns-open-file-service): new function. Wraps the
28210         original call in a (split-string) to create as many calls as there
28211         are lines.
28212         (ns-spi-service-call): Call `ns-open-file-service' instead of
28213         `dnd-open-file'.
28215 2017-05-04  Göktuğ Kayaalp  <self@gkayaalp.com>
28217         Require cl-lib at runtime in vc-hg
28219         * lisp/vc/vc-hg.el: Require cl-lib at runtime as well (bug#26609).
28221 2017-05-04  Tino Calancha  <tino.calancha@gmail.com>
28223         Inherit incompatible/obsolete package faces from error
28225         Don't use the same face for installed packages as for incompatible
28226         or obsolete ones.
28227         * lisp/emacs-lisp/package.el (package-status-incompat): Inherit from error.
28229 2017-05-04  Michael Albinus  <michael.albinus@gmx.de>
28231         Set process property `adjust-window-size-function' to `ignore' in Tramp
28233         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
28234         (tramp-adb-maybe-open-connection):
28235         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
28236         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
28237         (tramp-maybe-open-connection):
28238         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
28239         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
28240         (tramp-smb-maybe-open-connection): Set process property
28241         `adjust-window-size-function' to `ignore'.
28243 2017-05-04  Nicolas Petton  <nicolas@petton.fr>
28245         * lisp/emacs-lisp/seq.el: Bump seq version.
28247 2017-05-04  Damien Cassou  <damien@cassou.me>
28249         Add seq-set-equal-p to test for set equality
28251         * lisp/emacs-lisp/seq.el (seq-set-equal-p): Add function to compare
28252           two lists as if they were sets.
28254         * test/lisp/emacs-lisp/seq-tests.el (test-seq-set-equal-p): Add test
28255           for seq-set-equal-p.
28257 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
28259         Spelling fixes
28261         * lisp/gnus/nndiary.el (nndiary-last-occurrence):
28262         Rename from nndiary-last-occurence.
28263         (nndiary-next-occurrence):
28264         Rename from nndiary-next-occurence.  All uses changed.
28266 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
28268         Merge from pkg-config
28270         * m4/pkg.m4: Copy from pkg-config 0.29.1.
28272 2017-05-04  Tom Tromey  <tom@tromey.com>
28274         Add color highlighting to css-mode
28276         Bug#25525
28277         * lisp/textmodes/css-mode.el (css--color-map): New constant.
28278         (css-value-class-alist): Use css--color-map.
28279         (css--number-regexp, css--percent-regexp)
28280         (css--number-or-percent-regexp, css--angle-regexp): New constants.
28281         (css--color-skip-blanks, css--rgb-color, css--hsl-color): New
28282         functions.
28283         (css--colors-regexp): New constant.
28284         (css--hex-color, css--named-color, css--compute-color)
28285         (css--contrasty-color, css--fontify-colors)
28286         (css--fontify-region): New functions.
28287         (css-mode): Set font-lock-fontify-region-function.
28288         (css-mode-syntax-table): Set syntax on more characters.
28289         (css-fontify-colors): New defcustom.
28290         (scss-mode-syntax-table): Define syntax for ?$ and ?%.
28291         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
28292         Update.
28293         (css-test-rgb-parser, css-test-hsl-parser)
28294         (css-test-named-color): New tests.
28295         * etc/NEWS: Add entry.
28297 2017-05-03  Michael Albinus  <michael.albinus@gmx.de>
28299         Fix Bug#26763
28301         * lisp/files.el (delete-directory): Call file name handler
28302         with `trash' argument.
28304         * lisp/net/ange-ftp.el (ange-ftp-delete-directory):
28305         * lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory):
28306         Add TRASH arg.  Implement it.  (Bug#26763)
28307         (tramp-get-remote-trash): Check for `delete-by-moving-to-trash'.
28309         * lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory):
28310         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
28311         Add _TRASH arg.
28313 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
28315         Use ptrdiff_t, not int, for stack sizes
28317         * src/thread.c (invoke_thread_function):
28318         * src/xterm.c (x_cr_export_frames):
28319         Don’t assume SPECPDL_INDEX fits in ‘int’.
28321 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
28323         Check list object type if --enable-gcc-warnings
28325         * configure.ac (--enable-check-lisp-object-type):
28326         Default to "yes" if --enable-gcc-warnings is not "no".
28327         * etc/NEWS: Mention this.
28328         * src/eval.c (internal_lisp_condition_case): Fix some glitches
28329         with 'volatile' uncovered by the above: in particular, 'clauses'
28330         should be a pointer to volatile storage on the stack, and need not
28331         be volatile itself.  Use an int, not ptrdiff_t, to count clauses.
28332         Don’t bother gathering binding count if VAR is nil.  Use
28333         more-specific local names to try to clarify what’s going on.
28335 2017-05-02  Glenn Morris  <rgm@gnu.org>
28337         Tweak auth-source-pass.el to avoid run-time subr-x
28339         * lisp/auth-source-pass.el (auth-source-pass--parse-data):
28340         Avoid needing subr-x at run-time.
28342 2017-05-02  Charles A. Roelli  <charles@aurox.ch>
28344         Constrain non-child frames to screen area in OS X
28346         * src/nsterm.m (constrainFrameRect:toScreen:): Constrain non-child
28347         frames in OS X, if they would otherwise go offscreen.
28349         (Bug#25818)
28351 2017-05-02  Michael Albinus  <michael.albinus@gmx.de>
28353         Fix error in completion for separate Tramp syntax
28355         * lisp/net/tramp.el (tramp-completion-file-name-regexp-separate):
28356         Tweak regexp.
28358         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
28359         Run method and host name completion for all syntaxes.
28361 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
28363         Avoid compilation warnings
28365         * src/w32fns.c (Fx_file_dialog, w32_parse_and_hook_hot_key):
28366         * src/w32term.c (x_draw_glyph_string):
28367         * src/w32fns.c (compute_tip_xy):
28368         * src/w32font.c (w32font_text_extents):
28369         * src/w32menu.c (set_frame_menubar):
28370         * src/search.c (Freplace_match): Avoid compiler warnings in
28371         optimized builds.
28373 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
28375         Merge from gnulib
28377         This incorporates:
28378         2017-05-02 utimens: port to Emacs + MS-Windows
28379         * lib/utimens.c: Copy from gnulib.
28381 2017-05-02  Gemini Lasswell  <gazally@runbox.com>
28383         Fix Edebug specs for 'cl-defmethod' and 'defmethod'
28385         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Change Edebug spec
28386         to make Edebug generate a new symbol for each method (Bug#24753) and
28387         to support a string following :extra (Bug#23995).
28388         * lisp/emacs-lisp/eieio-compat.el (defmethod): Change Edebug spec to
28389         make Edebug generate a new symbol for each method (Bug#24753).
28391 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
28393         Temporary fix for the MS_Windows build
28395         * nt/inc/ms-w32.h (WIN32_LEAN_AND_MEAN): Define to an empty value,
28396         to be consistent with Gnulib's utimens.c.  This is because utimens.c
28397         unconditionally defines WIN32_LEAN_AND_MEAN to an empty value, so the
28398         previous definition here conflicted with that.
28400 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
28402         Port format-time-string to MS-Windows better
28404         * test/src/editfns-tests.el (format-time-string-with-zone):
28405         Port test cases to MS-Windows.
28407 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
28409         Merge from gnulib
28411         This incorporates:
28412         2017-05-01 New module 'localtime-buffer'
28413         2017-04-30 utimens: Add support for native Windows
28414         * admin/merge-gnulib (AVOIDED_MODULES): Add tzset.
28415         * configure.ac (tzset): No need for Emacs itself to check now.
28416         * lib/gettimeofday.c, lib/time.in.h, lib/time_rz.c, lib/utimens.c:
28417         * m4/gettimeofday.m4, m4/time_h.m4, m4/time_rz.m4: Copy from gnulib.
28418         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
28419         * lib/localtime-buffer.c, lib/localtime-buffer.h:
28420         * m4/localtime-buffer.m4: New files, copied from gnulib.
28421         * src/editfns.c (init_editfns): Assume tzset is callable.
28423 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
28425         Speed up project-find-regexp for simple regexps
28427         * lisp/progmodes/xref.el (xref--regexp-syntax-dependent-p):
28428         New function.
28429         (xref--collect-matches): Use it.  Don't try to enable the
28430         appropriate major mode and file-local variables if the regexp
28431         does not depend on the buffer's syntax (bug#26710).
28432         (xref--collect-matches-1): Don't syntax-propertize in that
28433         case either.
28435 2017-05-01  Philipp Stephani  <phst@google.com>
28437         Warn about missing backslashes during load
28439         * src/lread.c (load_warn_unescaped_character_literals, Fload, read1)
28440         (syms_of_lread): Warn if unescaped character literals are
28441         found (Bug#20152).
28442         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Check for
28443         unescaped character literals during byte compilation.
28444         * test/src/lread-tests.el (lread-tests--unescaped-char-literals): New
28445         unit test.
28446         (lread-tests--with-temp-file, lread-tests--last-message): Helper
28447         functions for unit test.
28448         * test/lisp/emacs-lisp/bytecomp-tests.el
28449         (bytecomp-tests--unescaped-char-literals): New unit test.
28450         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file):
28451         Helper macro for unit test.
28453 2017-05-01  Ken Brown  <kbrown@cornell.edu>
28455         * configure.ac: Suggest Mailutils on Cygwin.
28457 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
28459         Don’t stress-test time zones near the Epoch
28461         * test/src/editfns-tests.el (format-time-string-with-zone)
28462         (format-time-string-with-outlandish-zone): Don’t format
28463         timestamps near the Epoch, as this runs into bugs on MS-Windows,
28464         and we don’t want to worry about those bugs.
28466 2017-05-01  Glenn Morris  <rgm@gnu.org>
28468         Tweak vc-tests.el for bzr
28470         * test/lisp/vc/vc-tests.el (vc-test--working-revision):
28471         Handle test environments where HOME does not exist.
28473 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
28475         vc-git-state: Return `ignored' as appropriate with newer Git
28477         * lisp/vc/vc-git.el
28478         (vc-git--program-version): New variable.
28479         (vc-git--program-version): New function.
28480         (vc-git-state): Use it to choose whether to add '--ignored' (bug#19343).
28482 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
28484         vc-git-state: Bring back CentOS 6 compatibility
28486         * lisp/vc/vc-git.el (vc-git-state):
28487         Bring back CentOS 6 compatibility (bug#19343).
28489 2017-05-01  Martin Rudalics  <rudalics@gmx.at>
28491         Rewrite w32fns.c's `x_set_menu_bar_lines'
28493         * src/w32fns.c (x_set_menu_bar_lines): Redraw frame immediately
28494         regardless of whether menu bar is added or removed.  Clear
28495         under internal border iff a W32 window exists.  Store either 0
28496         or 1 as new parameter value.
28497         (x_change_tool_bar_height): Use FRAME_W32_WINDOW instead of
28498         FRAME_X_WINDOW.
28500 2017-05-01  Michael Albinus  <michael.albinus@gmx.de>
28502         Fix filenotify-tests.el for cygwin
28504         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
28505         Add an additional `sit-for'.
28506         (file-notify-test02-rm-watch): Add an additional
28507         `file-notify--test-read-event' call.
28509 2017-05-01  Jonathan Ganc  <jonganc@gmail.com>
28511         Speed up vc-git-status and make it more precise
28513         * lisp/vc/vc-git.el (vc-git-state)
28514         (vc-git--git-status-to-vc-state): Update 'vc-git-state' to use
28515         'git status', so that 'vc-git-state' can now return 'ignored',
28516         'conflict', or 'unregistered' when appropriate.  Discussed in
28517         bug#26066.  Fixes bug#19343.
28519 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
28521         Fix Git revision navigation in currently removed directories
28523         * lisp/vc/vc-git.el (vc-git-next-revision): Use the repo root as
28524         default-directory because FILE's parent directory might not exist
28525         anymore (bug#26345).
28527 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
28529         Merge from gnulib
28531         This incorporates:
28532         2017-04-30 strftime-fixes: New module
28533         2017-04-30 mktime: Work around TZ problem on native Windows
28534         2017-04-30 ctime, localtime: New modules
28535         2017-04-30 gettimeofday: Provide higher resolution on native Windows
28536         2017-04-29 utime-h: Modernize handling of 'struct utimbuf'
28537         2017-04-29 Make use of module 'utime-h'
28538         2017-04-30 Fix a few typos
28539         * admin/merge-gnulib (AVOIDED_MODULES): Avoid utime-h, too.
28540         * lib/gettimeofday.c, lib/mktime.c, lib/time.in.h, lib/utimens.c:
28541         * m4/gettimeofday.m4, m4/include_next.m4, m4/mktime.m4:
28542         * m4/strftime.m4, m4/time_h.m4, m4/timegm.m4, m4/utimens.m4:
28543         Copy from gnulib.
28544         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
28546 2017-04-30  Eli Zaretskii  <eliz@gnu.org>
28548         Don't lose key bindings on mis-spelled text in flyspell-mode
28550         * lisp/textmodes/flyspell.el (flyspell-mouse-map): Bind mouse-2
28551         explicitly.
28552         (make-flyspell-overlay): If the mis-spelled text already has a
28553         'keymap' property, make that keymap the parent of
28554         flyspell-mouse-map, so as not to lose the parent's bindings.
28555         (Bug#26672)
28557 2017-04-30  Martin Rudalics  <rudalics@gmx.at>
28559         Fix `delete-frame' behavior including Bug#26682
28561         * src/frame.c (other_frames): Accept two arguments now.  Don't
28562         care about minibuffer window.  Don't care about visibility when
28563         called from delete_frame with FORCE true (Bug#26682).
28564         (delete_frame, Fmake_frame_invisible): Adjust other_frames
28565         calls.
28566         * src/w32term.c (w32_read_socket): Don't add a move frame event
28567         for an invisible frame.
28568         * lisp/frame.el (handle-delete-frame): Don't kill Emacs when
28569         attempting to delete a surrogate minibuffer frame.
28571 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
28573         Merge from gnulib
28575         This avoids incorporating the following, which I suspect are
28576         more trouble for Emacs than they’re worth:
28577         2017-04-29 stat, fstat: fix time_t etc. on native Windows platforms
28578         * admin/merge-gnulib (AVOIDED_MODULES): Avoid stat, too.
28579         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
28580         * lib/pathmax.h, lib/stat.c, m4/pathmax.m4, m4/stat.m4: Remove.
28582 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
28584         Fix buffer overflow in make-docfile
28586         * lib-src/make-docfile.c (scan_c_stream): Check for buffer
28587         overflow when reading an identifier.  Use a static buffer for NAME
28588         rather than a small dynamically-allocated buffer.
28590 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
28592         Merge from gnulib
28594         This incorporates:
28595         2017-04-29 getopt: port to Solaris 10 with circa-1997 glibc getopt.h
28596         * lib/getopt-pfx-ext.h: Copy from gnulib.
28597         * lib/gnulib.mk.in: Regenerate.
28599 2017-04-30  Tino Calancha  <tino.calancha@gmail.com>
28601         Fix dependency error during bootstrap
28603         * lisp/files.el: Require pcase and easy-mmode at compile time.
28605 2017-04-30  Mats Lidell  <mats.lidell@cag.se>
28607         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
28609 2017-04-29  Philipp Stephani  <phst@google.com>
28611         Reimplement auto-saving to visited files
28613         This reacts to confusing behavior of 'auto-save-visited-file-name',
28614         cf. Bug#25478.
28616         * lisp/files.el (auto-save-visited-interval): New customization option.
28617         (auto-save-visited-mode): New global minor mode.
28618         (auto-save-visited-file-name): Make obsolete.
28619         (auto-save--timer): New internal helper variable.
28621         * doc/emacs/files.texi (Auto Save Files): Document
28622         'auto-save-visited-mode' instead of obsolete
28623         'auto-save-visited-file-name'.
28624         (Auto Save Control): Document customization option
28625         'auto-save-visited-interval'.
28627 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
28629         Allow bypassing of some checks when merging
28631         * build-aux/git-hooks/pre-commit: Don't check merged-in changes.
28633 2017-04-29  Philipp Stephani  <phst@google.com>
28635         Integrate module test with normal test suite
28637         * test/Makefile.in (ELFILES): Exclude module test if modules aren't
28638         configured.
28639         (EMACS_TEST_DIRECTORY): Expand test directory so that it's set
28640         correctly even if Emacs changes the current directory.
28641         ($(srcdir)/src/emacs-module-tests.log)
28642         ($(test_module)): Proper dependency tracking for test module.
28644         * test/data/emacs-module/Makefile (ROOT): Adapt to new location.
28645         Remove 'check' target and EMACS variable, which are no longer
28646         necessary.
28647         (SO): Change to include period.
28649         * test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
28650         environment variable to reliably find test data.
28652         * configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
28653         substitutions.
28655 2017-04-28  Glenn Morris  <rgm@gnu.org>
28657         Broaden comint-password-prompt-regexp
28659         * lisp/comint.el (comint-password-prompt-regexp):
28660         Broaden the regexp, for non-English locales.  (Bug#26698)
28662 2017-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
28664         * lisp/auth-source.el (auth-source-backend-parse): `return' -> cl-return.
28666 2017-04-28  Bartosz Duszel  <bartosz.duszel@gmail.com>
28668         Don't pass the value of point to 'push-mark', as that's the default.
28670         * lisp/textmodes/bib-mode.el (mark-bib):
28671         * lisp/simple.el (mark-whole-buffer, yank):
28672         * lisp/ses.el (ses--advice-yank, ses-mark-row, ses-mark-column):
28673         * lisp/progmodes/xscheme.el (xscheme-yank):
28674         * lisp/progmodes/verilog-mode.el (verilog-mark-defun):
28675         * lisp/progmodes/perl-mode.el (perl-mark-function):
28676         * lisp/progmodes/pascal.el (pascal-mark-defun):
28677         * lisp/progmodes/meta-mode.el (meta-mark-defun):
28678         * lisp/progmodes/icon.el (mark-icon-function):
28679         * lisp/progmodes/cc-cmds.el (c-mark-function):
28680         * lisp/obsolete/vip.el (ex-goto):
28681         * lisp/obsolete/vi.el (vi-put-before):
28682         * lisp/mouse.el (mouse-yank-primary):
28683         * lisp/menu-bar.el (menu-bar-select-yank):
28684         * lisp/mail/sendmail.el (mail-yank-original):
28685         * lisp/hexl.el (hexl-beginning-of-buffer, hexl-end-of-buffer):
28686         * lisp/emulation/viper-cmd.el (viper-mark-beginning-of-buffer)
28687         (viper-mark-end-of-buffer):
28688         * lisp/cedet/semantic/senator.el (senator-mark-defun):
28689         * lisp/allout.el (allout-mark-topic): Remove unnecessary argument
28690         `(point)' from calls to `push-mark'.  (Bug#25565)
28692 2017-04-28  Glenn Morris  <rgm@gnu.org>
28694         Merge from origin/emacs-25
28696         784602b1050 (origin/emacs-25) ; Add release notice
28697         3a34412caae (tag: emacs-25.2) Set Emacs version to 25.2 and update AU...
28698         56a4461a48d ; Move stray item from admin/notes/repo to CONTRIBUTE
28699         2b0d1118199 ; CONTRIBUTE: Remove stray header.
28700         f2ab09ec60d Fix a typo in indexing the user manual
28701         bc55a574235 * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
28702         a6d50401b4b Document 'line-pixel-height'
28703         0c55cf43e61 * search.c (Fre_search_forward, Fre_search_backward): Imp...
28704         c7ed57eaef4 Mention that processes start in default-directory (Bug#18...
28705         856ec9ffa1f * src/xdisp.c (vmessage, message): Clarify commentary.
28706         849a0aaa1c9 Belated fixes for admin.el's M-x make-manuals-dist
28707         84938d79698 default-directory: Remark that it must be a directory name
28708         3f0d047d2eb Delete confuse statement in manual
28709         ee1bd94dd0c Improve packaging documentation
28710         fb18bff91f0 Expand manual section on quitting windows
28711         9a737079645 Fix docstring of dabbrev-abbrev-char-regexp
28712         afe8849bac1 * doc/misc/cl.texi (Iteration Clauses): Clarify example (...
28713         ada79442c07 ;* doc/misc/info.texi (Choose menu subtopic): Improve ind...
28714         d38fd9229c0 Narrow scope of modification hook renabling in org-src fo...
28715         e0e9db4c84a ; Spelling fix
28717         # Conflicts:
28718         #       README
28719         #       etc/AUTHORS
28720         #       etc/HISTORY
28721         #       lisp/ldefs-boot.el
28723 2017-04-28  Glenn Morris  <rgm@gnu.org>
28725         * doc/misc/auth.texi: Commas don't work in node names.
28727         * test/lisp/auth-source-pass-tests.el: Fix loading of cl-lib.
28729 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
28731         Test format-time-string with zone arg
28733         * test/src/editfns-tests.el (format-time-string-with-zone)
28734         (format-time-string-with-outlandish-zone): New tests.
28736 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
28738         Merge from gnulib
28740         This incorporates:
28741         2017-04-24 time_rz: fix heap buffer overflow vulnerability
28742         2017-04-23 stat-time: Update comments.
28743         2017-04-22 ftoastr: cite a newer paper
28744         2017-04-21 gettext-h: Avoid -Wundef warning.
28745         * lib/ftoastr.c, lib/gettext.h, lib/stat-time.h, lib/time_rz.c:
28746         * m4/getopt.m4: Copy from gnulib.
28747         * m4/gnulib-comp.m4: Regenerate.
28749 2017-04-27  Damien Cassou  <damien@cassou.me>
28751         auth-source-pass: Add documentation; fix tests and indentation.
28753         * doc/misc/auth.texi: Document new integration with Pass. Use @itemize
28754           instead of @enumerate.
28755         * lisp/auth-source-pass.el: Fix indentation.
28756           (auth-source-pass--remove-directory-name): Remove.
28757         * test/lisp/auth-source-pass-tests.el: Adjust test macros.
28759 2017-04-27  foudfou  <foudil.newbie+git@gmail.com>
28761         auth-source-pass: Enable finding entries by "host/username"
28763         * lisp/auth-source-pass.el: Enable finding entries by "host/username".
28764         * test/lisp/auth-source-pass-tests.el: Adjust tests to check it.
28766 2017-04-27  Damien Cassou  <damien@cassou.me>
28768         Integrate auth-source with password-store
28770         * lisp/auth-source-pass.el: auth-source backend for password-store.
28771         * test/lisp/auth-source-pass-tests.el: Tests for auth-source-pass
28772           behavior.
28774 2017-04-27  Damien Cassou  <damien@cassou.me>
28776         * lisp/auth-source.el: Document parser functions.
28778 2017-04-27  Ted Zlatanov  <tzz@lifelogs.com>
28780         auth-source: factor out parsers and add tests
28782         * lisp/auth-source.el: Factor out the source parsers. Clean up comments.
28783         * test/lisp/auth-source-tests.el: Add tests.
28785 2017-04-27  Martin Rudalics  <rudalics@gmx.at>
28787         Fix doc and customization type of `window-combination-limit' (Bug#26673)
28789         * src/window.c (Vwindow_combination_limit): Fix doc-string.
28790         * lisp/cus-start.el (window-combination-limit): Fix
28791         customization type.
28792         * doc/lispref/windows.texi (Recombining Windows): Fix
28793         documentation of `window-combination-limit'.
28795 2017-04-27  Tino Calancha  <tino.calancha@gmail.com>
28797         Drop face from hi-lock--unused-faces only when used
28799         * lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is already
28800         highlighted, then push FACE into hi-lock--unused-faces (Bug#26666).
28801         * test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.
28803 2017-04-26  Alan Third  <alan@idiocy.org>
28805         Fix macOS version check (bug#26664)
28807         * src/nsterm.m (initFrameFromEmacs): Prevent window tabbing mode on
28808         macOS versions 10.12+.
28810 2017-04-26  Glenn Morris  <rgm@gnu.org>
28812         Make charprop.el provide a feature
28814         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
28815         Provide a feature.
28816         * lisp/loadup.el: Use the charprop feature.
28818 2017-04-26  Glenn Morris  <rgm@gnu.org>
28820         * lisp/loadup.el: Get charprop.el into etc/DOC again.
28822 2017-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
28824         * lisp/ido.el (ido-everywhere): Use add-function.
28826 2017-04-26  Martin Rudalics  <rudalics@gmx.at>
28828         Try to fix latest fix of w32_mouse_position
28830         * src/w32term.c (w32_mouse_position): Fix a bug introduced by
28831         latest fix and try to make the affected code more rigorous.
28833 2017-04-26  Eli Zaretskii  <eliz@gnu.org>
28835         Avoid segfaults when 'find-font' is invoked for a TTY frame
28837         * src/font.c (font_pixel_size): Don't call GUI functions if F is a
28838         text-mode frame.  (Bug#26646)
28840 2017-04-26  Michael Albinus  <michael.albinus@gmx.de>
28842         * lisp/net/tramp.el (tramp-set-connection-local-variables-for-buffer):
28844         New defun.
28846 2017-04-26  Glenn Morris  <rgm@gnu.org>
28848         * src/Makefile.in (leimdir): Remove variable, no longer used.
28850 2017-04-26  Glenn Morris  <rgm@gnu.org>
28852         Generate leim-list via lisp/Makefile, not src/Makefile
28854         * src/Makefile.in ($(leimdir)/leim-list.el): Remove rule.
28855         (emacs$(EXEEXT)): Don't depend on leim-list.
28856         * lisp/Makefile.in ($(lisp)/loaddefs.el): Depend on gen-lisp again.
28858 2017-04-25  Alan Third  <alan@idiocy.org>
28860         Fix define for GNUstep builds
28862         * src/nsterm.m (initFrameFromEmacs): Fix the ifdef so that GNUstep
28863         doesn't see the code.
28865 2017-04-25  Glenn Morris  <rgm@gnu.org>
28867         Suppress intermittent test failure on hydra
28869         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
28870         (eieio-test-method-order-list-6): Skip on hydra.
28872 2017-04-25  Alan Third  <alan@idiocy.org>
28874         Fix some NS frame handling issues
28876         * src/nsterm.m (FRAME_DECORATED_FLAGS, FRAME_UNDECORATED_FLAGS): New
28877         defines intended to make things tidier.
28878         (x_set_undecorated): Use the new defines.
28879         (windowWillResize): Don't use new macOS 12+ only feature.
28880         (initFrameFromEmacs): Use the new defines, and disable automatic
28881         window tabbing feature in macOS 12.
28882         (x_set_undecorated, x_set_parent_frame, x_set_no_accept_focus,
28883         x_set_z_group): Add NSTRACE notices.
28885 2017-04-25  Glenn Morris  <rgm@gnu.org>
28887         Avoid parallel race condition
28889         * lisp/Makefile.in ($(lisp)/loaddefs.el): Remove gen-lisp for now.
28891 2017-04-25  Glenn Morris  <rgm@gnu.org>
28893         Generate each unicode lisp file independently
28895         This is better for parallel builds, eg it eliminates race
28896         conditions from having one process write multiple files.
28897         * admin/unidata/Makefile.in (lparen, unifiles): New variables.
28898         Parse unidata-gen.el, not charprop.el, to get the list of uni- files.
28899         (all): Explicitly list the output lisp files.
28900         (PHONY_EXTRAS): Remove.
28901         (${unidir}/charprop.el): Change rule to just be for this file.
28902         (${unifiles}): New rule to write each unicode lisp file.
28903         (extraclean): Simplify.
28904         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
28905         Quieten in batch mode.
28906         (unidata-gen-files): Remove, no longer used.
28907         * lisp/loadup.el: Update command-line parser.
28909 2017-04-25  Glenn Morris  <rgm@gnu.org>
28911         Further refactoring in unidata-gen.el
28913         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
28914         New function, split from unidata-gen-files.
28915         (unidata-gen-files): Use unidata-gen-charprop.
28917 2017-04-25  Glenn Morris  <rgm@gnu.org>
28919         Allow unidata-gen-file to work independently
28921         * admin/unidata/unidata-gen.el (unidata-gen-file):
28922         Make it work as a stand-alone function in batch mode.
28923         (unidata-gen-files): Pass extra arguments to unidata-gen-file.
28925 2017-04-25  Glenn Morris  <rgm@gnu.org>
28927         Preparatory refactoring in unidata-gen.el
28929         * admin/unidata/unidata-gen.el (unidata-gen-file):
28930         New function, split from unidata-gen-files.
28931         (unidata-gen-files): Use unidata-gen-file.
28933 2017-04-25  Glenn Morris  <rgm@gnu.org>
28935         Write each generated character property lisp file only once
28937         * admin/unidata/unidata-gen.el (unidata-file-alist):
28938         Rename from unidata-prop-alist.  All users changed.
28939         Use file name rather than property name as the key.
28940         (unidata-prop-prop): New function.
28941         (unidata-prop-index, unidata-prop-generator, unidata-prop-docstring)
28942         (unidata-prop-describer, unidata-prop-default, unidata-prop-val-list):
28943         Change to parse the argument rather than unidata-prop-alist.
28944         (unidata-gen-table-character, unidata-gen-table)
28945         (unidata-gen-table-symbol, unidata-gen-table-integer)
28946         (unidata-gen-table-numeric, unidata-gen-table-word-list)
28947         (unidata-gen-table-name, unidata-gen-table-decomposition)
28948         (unidata-gen-table-special-casing): Pass index as an argument.
28949         (unidata-check): Adapt to unidata-file-alist.
28950         Pass index to generator functions.
28951         (unidata-gen-files): Adapt to unidata-file-alist.
28952         Write each output file once only.  Overwrite rather than delete.
28954 2017-04-25  Andrew G Cohen  <cohen@andy.bu.edu>
28956         Fix requesting sparse articles in gnus
28958         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Delete the
28959         sparse article number from the list, not its id.
28961 2017-04-25  Glenn Morris  <rgm@gnu.org>
28963         Don't advertise s_client in tls.el docs
28965         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
28966         Don't mention s_client in docs.
28968 2017-04-25  Rob Browning  <rlb@defaultvalue.org>
28970         Remove s_client usage from tls.el
28972         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
28973         Ref http://bugs.debian.org/766397
28974         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
28976 2017-04-25  Glenn Morris  <rgm@gnu.org>
28978         Further robustify cedet bootstrap to loaddefs not yet built
28980         * lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
28981         Avoid void-function error when bootstrapping and semantic/loaddefs.el
28982         does not yet exist.
28984 2017-04-24  Alan Third  <alan@idiocy.org>
28986         Fix XBM color rendering in NS port (bug#22060)
28988         src/nsimage.m (setXBMColor): Fix calculation of xbm_fg.
28990 2017-04-24  Vibhav Pant  <vibhavp@gmail.com>
28992         Add support for IRCv3 message tags.
28994         * lisp/erc/erc-backend.el:
28995           erc-response: Add `tags' element.
28996           Add (erc-parse-tags).
28997           (erc-parse-server-response): Use (erc-parse-tags) to parse message
28998           tags (if any), and store them in `erc-resopnse' struct.
29000         * lisp/erc/erc.el: (erc-display-message): Expose message tags with text
29001           properties of the corresponding message line.
29003 2017-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
29005         Add image sizing tests for an image that's narrow
29007         Needlessly refactor tests for clarity
29009 2017-04-23  Philipp Stephani  <phst@google.com>
29011         Add missing remappings for Ido mode
29013         Among others, add a remapping for C-x 4 d, cf. Bug#26360.
29015         * lisp/ido.el (ido-mode): Remap missing commands.
29016         (ido-file-internal, ido-visit-buffer): Add support for new
29017         methods.
29018         (ido-display-buffer-other-frame)
29019         (ido-find-alternate-file-other-window, ido-dired-other-window)
29020         (ido-dired-other-frame): New commands.
29022         * test/lisp/ido-tests.el (ido-tests--other-window-frame): Add unit
29023         test for the bindings.
29025 2017-04-23  Martin Rudalics  <rudalics@gmx.at>
29027         Let w32_mouse_position pick a child window only if it has a child frame
29029         * src/w32term.c (w32_mouse_position): When using a frame found
29030         by ChildWindowFromPoint make sure it's a child frame (Bug#26615,
29031         maybe).
29033 2017-04-23  Noam Postavsky  <npostavs@gmail.com>
29035         Don't require bytecomp for running ert tests
29037         "Fix ert-tests when running compiled" 2016-12-06 accidentally
29038         introduced a dependency on `bytecomp' into `ert'.  As mentioned in
29039         "Avoid ert test failures" 2017-04-18, the accidental dependency of ert
29040         on bytecomp was masked by loading other libraries until recently.
29042         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Only use
29043         `byte-compile-macro-environment' if it's bound.
29044         * test/src/eval-tests.el: Add defvar for dynamic variable
29045         `byte-compile-debug'.
29047 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
29049         Eliminate unneeded warp-to-article in gnus article referral
29051         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread):
29052         (gnus-summary-refer-article): Remove gnus-warp-to article call.
29054 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
29056         Allow limiting gnus summary buffers to a thread
29058         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Include
29059         an optional argument to allow limiting the summary buffer to just the
29060         thread-related articles.
29061         (gnus-refer-thread-limit-to-thread): Introduce customizable variable
29062         to control whether thread-referral adds the thread to the summary
29063         buffer or limits to just the thread.
29064         (gnus-summary-refer-thread): Use the new variable.
29066 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
29068         Correct gnus-newsgroup-limits in gnus when including thread
29070         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Should
29071         only add one list of thread-related articles to gnus-newsgroup-limits
29072         rather than two.
29074 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
29076         Improve gnus thread matching of similar subjects
29078         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread):
29079         Use the more liberal gnus-general-simplify-subject regexp to
29080         find thread articles with similar subjects.
29082 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
29084         Add new `lisp-indent-region' that doesn't reparse the code.
29086         Both `lisp-indent-region' and `lisp-indent-line' now use `syntax-ppss'
29087         to get initial state, so they will no longer indent string literal
29088         contents.
29090         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): New function, like
29091         `syntax-ppss', but with a more dependable item 2.
29092         (lisp-indent-region): New function, like `indent-region-line-by-line'
29093         but additionally keep a running parse state to avoid reparsing the
29094         code repeatedly.  Use `lisp-ppss' to get initial state.
29095         (lisp-indent-line): Take optional PARSE-STATE argument, pass it to
29096         `calculate-lisp-indent', use `lisp-ppss' if not given.
29097         (lisp-mode-variables): Set `indent-region-function' to
29098         `lisp-indent-region'.
29100 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
29102         Remove ignored argument from lisp-indent-line
29104         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Remove WHOLE-EXP
29105         argument, the behavior has long since been handled in
29106         `indent-for-tab-command'.  Also remove redundant `beg' and `shift-amt'
29107         variables and use `indent-line-to'.
29109 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
29111         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Clean up marker.
29113 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
29115         Don't reparse the sexp in indent-sexp (Bug#25122)
29117         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Let
29118         PARSE-START be a parse state that can be reused.
29119         (indent-sexp): Pass the running parse state to calculate-lisp-indent
29120         instead of the sexp beginning position.  Saving the
29121         CONTAINING-SEXP-START returned by `calculate-lisp-indent' is no longer
29122         needed.  Don't bother stopping if we don't descend below init-depth,
29123         since we now alway scan the whole buffer (via syntax-ppss) anyway.
29124         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): Add blank
29125         line to test case.
29127 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
29129         Add cond test cases for singleton clauses.
29131         * test/lisp/emacs-lisp/bytecomp-tests.el: Add test cond forms where
29132           the default clause is a single non-nil expression.
29134 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
29136         b-c--cond-jump-table-info: Use correct body for singleton clauses
29138         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
29139         When a clause's body consists of a single constant expression, use
29140         that expression as the body to be compiled. This fixes switch bytecode
29141         evaluating to nil to such clauses.
29143 2017-04-22  Philipp Stephani  <phst@google.com>
29145         ffap: Don't switch window unless needed
29147         When using ffap-other-window, don't change the window configuration
29148         unless a new buffer has actually been created (Bug#25352).
29150         * lisp/ffap.el (ffap-other-frame): Don't change the window
29151         configuration if no new buffer has been created.
29152         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352): Add unit
29153         test.
29155 2017-04-22  Alan Mackenzie  <acm@muc.de>
29157         Fix fontification of C++ declaration with type FOO::FOO.
29159         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Initialize
29160         cfd-top-level properly.
29161         (c-forward-decl-or-cast-1): On finding FOO::FOO, check it is followed by "("
29162         before deciding it is a constructor.
29164         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Negate the
29165         result of the c-bs-at-toplevel-p call passed to c-font-lock-declarators
29166         (simple bug fix).
29168 2017-04-22  Philipp Stephani  <phst@google.com>
29170         Fix usage of FRAME_Z_GROUP
29172         * src/nsterm.m (initFrameFromEmacs:): FRAME_Z_GROUP does not return a
29173         Lisp object, cf. Bug#26597.
29175 2017-04-22  Alan Third  <alan@idiocy.org>
29177         Fix GNUstep build
29179         * src/nsfns.m (Fns_frame_z_list_order): Rewrite for GNUstep
29180         compatibility.
29181         * src/nsmenu.m (update_frame_tool_bar): Remove unused variable.
29183 2017-04-21  Alan Third  <alan@idiocy.org>
29185         Add no-accept-focus and frame-list-z-order to NS port
29187         * lisp/frame.el (frame-list-z-order): Add NS.
29188         * src/nsfns.m: Add x_set_no_accept_focus to handler struct.
29189         (Fx_create_frame): Handle no-accept-focus parameter.
29190         (ns_window_is_ancestor):
29191         (Fns_frame_list_z_order): New functions.
29192         * src/nsterm.m (x_set_no_accept_focus): New function.
29193         (initFrameFromEmacs): Use EmacsWindow instead of EmacsFSWindow for
29194         non-fullscreen windows.
29195         (EmacsWindow:canBecomeKeyWindow): New function.
29197 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
29199         Improve prefix handling for dash.el
29201         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
29202         Don't drop dash's "-<letter>" prefixes.
29204 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
29206         * lisp/emacs-lisp/cl-macs.el: Fix symbol-macrolet
29208         Revert 0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1 (to fix bug#26325)
29209         and use a different fix for bug#26068.
29210         (cl--symbol-macro-key): New function.
29211         (cl--sm-macroexpand, cl-symbol-macrolet): Use it instead of `symbol-name`.
29212         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet):
29213         Failure is not expected any more.
29215 2017-04-21  Eli Zaretskii  <eliz@gnu.org>
29217         Avoid infinite loop in redisplay when header-line-format is invalid
29219         * src/xdisp.c (handle_invisible_prop): Avoid inflooping when the
29220         string has an invalid %-construct in it and is displayed as part
29221         of mode-line or header-line.  (Bug#26586)
29223 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
29225         Add tests to check image scaling functionality
29227         This is in preparation to doing further work in this area to avoid
29228         regressions.
29230         * test/data/image/blank-200x100.png: New file for testing
29231         image scaling.
29233         * test/manual/image-size-tests.el: New file.
29235 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
29237         Allow svg-image to take all create-image PROPS
29239         * lisp/svg.el (svg-image): Allow passing in PROPS when
29240         creating an image for convenience.
29242 2017-04-21  George D. Plymale II  <georgedp@orbitalimpact.com>  (tiny change)
29244         Treat non-erroring lisp call as successful eshell command (Bug#26161)
29246         This lets a compound command like 'cd .. && echo ok' print 'ok',
29247         similar to how most other shells behave.
29249         * lisp/eshell/esh-cmd.el (eshell-exit-success-p): Only check if the
29250         last exit code was zero, rather than first checking whether the last
29251         command returned nil.
29252         (eshell-exec-lisp): Set `eshell-last-command-status' to 1 on error.
29254 2017-04-21  Reuben Thomas  <rrt@sc3d.org>
29256         Fix reading of tab settings in whitespace-mode
29258         lisp/whitespace.el (whitespace-indent-tabs-mode)
29259         whitespace-tab-width): Remove these variables. The underlying
29260         variables `indent-tabs-mode' and `tab-width' are already buffer-local
29261         when needed, and whitespace-mode never changes them.
29262         (whitespace-ensure-local-variables): Remove this function, which only
29263         existed to set the above variables.
29264         (whitespace-cleanup-region, whitespace-regexp)
29265         (whitespace-indentation-regexp, whitespace-report-region)
29266         (whitespace-turn-on, whitespace-color-on): Adjust these functions to
29267         use `indent-tabs-mode' and `tab-width' directly, and not call
29268         `whitespace-ensure-local-variables'.
29270 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
29272         * lisp/vc/vc-hg.el (vc-hg-state-fast): Fix compiler warning
29274         by simplifying ascii-test.
29276 2017-04-20  Vibhav Pant  <vibhavp@gmail.com>
29278         bytecomp: Don't inline functions that use byte-switch (Bug#26518)
29280         * lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): Don't inline
29281           FORM if the bytecode uses the byte-switch instruction. It is
29282           impossible to guess the correct stack depth while inlining such
29283           bytecode, resulting in faulty code.
29285 2017-04-20  Nicolas Petton  <nicolas@petton.fr>
29287         Set Emacs version to 25.2 and update AUTHORS file
29289         * README: Set Emacs version to 25.2.
29290         * etc/HISTORY: Add release log.
29291         * lisp/ldefs-boot.el:
29292         * etc/AUTHORS:
29293         * ChangeLog.2: Update.
29295 2017-04-20  Noam Postavsky  <npostavs@gmail.com>
29297         Don't register "def" as an autoload prefix (Bug#26412)
29299         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Don't
29300         accept "def" as a prefix.
29302 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
29304         Use substring completion for Info menus and index
29306         * lisp/info.el (Info-complete-menu-item): Add `category' metadata.
29307         (Info-menu): Simplify now that we use the `default' arg of completing-read.
29308         * lisp/minibuffer.el (completion-category-defaults): Use substring
29309         completion for `info-menu`.
29311 2017-04-19  Glenn Morris  <rgm@gnu.org>
29313         Remove some explicit runtime loads of pcase
29315         Pcase is macros, so these should have used eval-when-compile.
29316         Anyway, pcase entry points are autoloaded, so the compiler handles it.
29317         * lisp/profiler.el, lisp/emacs-lisp/eieio-core.el:
29318         * lisp/emacs-lisp/generator.el, lisp/emacs-lisp/subr-x.el:
29319         * lisp/progmodes/xref.el: No need to require pcase.
29321 2017-04-19  Glenn Morris  <rgm@gnu.org>
29323         Stop cl-lib loading pcase at runtime
29325         The cause was an unexpanded pcase-defmacro in cl-loaddefs.
29326         * lisp/emacs-lisp/autoload.el (make-autoload):
29327         Treat pcase-defmacro like defmacro.
29329 2017-04-19  Alan Third  <alan@idiocy.org>
29331         Note frame documentation exceptions for NS builds
29333         * doc/lispref/frames.texi (Management Parameters, Child Frames): Note
29334         NS differences.
29336 2017-04-19  Alan Third  <alan@idiocy.org>
29338         Fix bug introduced by my last commit
29340         * src/nsterm.m (ns_draw_fringe_bitmap): Revert key-mashing accident.
29342 2017-04-19  Alan Third  <alan@idiocy.org>
29344         Add new frame functionality to NS port
29346         * lisp/frame.el (frame-restack): Call ns-frame-restack.
29347         * src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]: Enable
29348         MOVE_FRAME_EVENT handling.
29349         * src/frame.h:
29350         * src/frame.c: Enable 'z-group', 'undecorated' and 'parent' frame
29351         definitions.
29352         * src/nsfns.m: Add x_set_z_group, x_set_parent_frame and
29353         x_set_undecorated (Cocoa only) to handler struct.
29354         (Fx_create_frame): Handle 'z-group', 'parent-frame' and 'undecorated'
29355         frame parameter.
29356         (Fns_frame_restack): New function.
29357         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar):
29358         FRAME_TOOLBAR_HEIGHT is no longer a variable.
29359         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS, NS_PARENT_WINDOW_TOP_POS):
29360         Add #defines to find the screen position of the parent frame.
29361         (NS_TOP_POS): Remove defun.
29362         (EmacsView): Remove redundant toolbar variables and add createToolbar
29363         method.
29364         (FRAME_NS_TITLEBAR_HEIGHT, FRAME_TOOLBAR_HEIGHT): Always calculate the
29365         values instead of storing them in a variable.
29366         * src/nsterm.m (x_set_offset, windowDidMove): Take parent frame
29367         position into account when positioning frames.
29368         (initFrameFromEmacs): Remove toolbar creation code and handle new
29369         frame parameters.
29370         (x_set_window_size): Remove toolbar height calculation.
29371         (x_set_z_group):
29372         (x_set_parent_frame):
29373         (x_set_undecorated) [NS_IMPL_COCOA]: New function.
29374         (x_destroy_window): Detach parent if child closes.
29375         (updateFrameSize): Change NSTRACE message to reflect new reality and
29376         no longer reset frame size.
29377         (windowWillResize): Don’t change NS window name when the titlebar
29378         is invisible.
29379         (createToolbar): Move toolbar creation code into it’s own method.
29380         (toggleFullScreen): FRAME_TOOLBAR_HEIGHT and FRAME_NS_TITLEBAR_HEIGHT
29381         are no longer variables.
29382         (windowDidMove): Fire MOVE_FRAME_EVENT Emacs event.
29384 2017-04-19  Glenn Morris  <rgm@gnu.org>
29386         Tweak bytecomp's loading of cl-extra
29388         * lisp/emacs-lisp/bytecomp.el: Don't force load of cl-extra in a
29389         post-bootstrap emacs where cl-loaddefs does exist.
29391 2017-04-19  Glenn Morris  <rgm@gnu.org>
29393         Avoid unnecessary loading of subr-x at run-time
29395         * lisp/doc-view.el, lisp/filenotify.el, lisp/info-look.el:
29396         * lisp/svg.el, lisp/emacs-lisp/byte-opt.el, lisp/net/shr.el:
29397         * lisp/textmodes/sgml-mode.el, test/lisp/dom-tests.el:
29398         No need to load subr-x at run-time.
29399         * lisp/gnus/nnheader.el: No need to load subr-x.
29401 2017-04-18  michael schuldt  <mbschuldt@gmail.com>  (tiny change)
29403         Use iteration in math-factorial-iter
29405         * lisp/calc/calc-comb.el (math-factorial-iter):
29406         Use iteration instead of recursion to avoid max-specpdl-size problem.
29408 2017-04-18  Glenn Morris  <rgm@gnu.org>
29410         * test/lisp/kmacro-tests.el: Require seq, for seq-concatenate.
29412 2017-04-18  Glenn Morris  <rgm@gnu.org>
29414         Avoid ert test failures
29416         * lisp/emacs-lisp/ert.el (ert--expand-should-1):
29417         Avoid errors related to undefined byte-compile-macro-environment.
29418         Somehow masked until very recently because loading seq (eg)
29419         loads bytecomp.  http://hydra.nixos.org/build/51730765
29421 2017-04-18  Eli Zaretskii  <eliz@gnu.org>
29423         Fix a typo in indexing the user manual
29425         * doc/emacs/cmdargs.texi (General Variables): Fix a horrible typo.
29427 2017-04-18  Noam Postavsky  <npostavs@gmail.com>
29429         Fix find-library-name for load-history entries with nil FILE-NAME (Bug#26355)
29431         * lisp/emacs-lisp/find-func.el (find-library--from-load-history):
29432         Rename from find-library--from-load-path.  Check for `load-history'
29433         entries with nil FILE-NAMEs.  Simplify by not double
29434         checking for suffixes and making use of `locate-file'.
29436 2017-04-18  Alan Third  <alan@idiocy.org>
29437             YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
29439         Use vfork if possible on Darwin (bug#26397)
29442         * src/conf_post.h (HAVE_WORKING_VFORK): Don't undef.
29443         (vfork): Don't define.
29444         * src/process.c (create_process) [DARWIN_OS]: Use fork if pty_flag is
29445         set, otherwise vfork.
29446         * src/callproc.c (call_process) [DARWIN_OS]: Use TIOCNOTTY to detach
29447         the controlling terminal instead of setsid.
29449 2017-04-18  Fran Litterio  <flitterio@gmail.com>
29451         Small erc-kill-channel fix (bug#23700)
29453         * lisp/erc/erc.el (erc-kill-channel): Handle null erc-default-target.
29455 2017-04-18  Glenn Morris  <rgm@gnu.org>
29457         ediff: use user-error rather than debug-ignored-errors
29459         * lisp/vc/ediff-diff.el (ediff-prepare-error-list):
29460         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
29461         * lisp/vc/ediff-init.el (ediff-barf-if-not-control-buffer)
29462         (ediff-check-version):
29463         * lisp/vc/ediff-merg.el (ediff-shrink-window-C):
29464         * lisp/vc/ediff-mult.el (ediff-draw-dir-diffs, ediff-show-dir-diffs)
29465         (ediff-append-custom-diff, ediff-meta-show-patch)
29466         (ediff-filegroup-action, ediff-show-meta-buffer, ediff-show-registry)
29467         (ediff-get-meta-info, ediff-patch-file-form-meta):
29468         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
29469         * lisp/vc/ediff-util.el (ediff-toggle-autorefine)
29470         (ediff--check-ancestor-exists, ediff-toggle-read-only)
29471         (ediff-toggle-wide-display, ediff-toggle-multiframe)
29472         (ediff-toggle-use-toolbar, ediff-toggle-show-clashes-only)
29473         (ediff-next-difference, ediff-previous-difference)
29474         (ediff-pop-diff, ediff-read-file-name, ediff-verify-file-buffer)
29475         (ediff-save-buffer):
29476         * lisp/vc/ediff-wind.el (ediff-make-wide-display):
29477         * lisp/vc/ediff.el (ediff-find-file, ediff-buffers-internal)
29478         (ediff-directories-internal, ediff-directory-revisions-internal)
29479         (ediff-regions-wordwise, ediff-regions-linewise)
29480         (ediff-load-version-control): Use user-error.
29481         (debug-ignored-errors): No longer modify.
29483 2017-04-18  Glenn Morris  <rgm@gnu.org>
29485         mh-e: use user-error rather than debug-ignored-errors
29487         * lisp/mh-e/mh-alias.el (mh-alias-grab-from-field):
29488         * lisp/mh-e/mh-utils.el (mh-get-msg-num): Use user-error.
29489         (debug-ignored-errors): No longer modify.
29491 2017-04-18  Glenn Morris  <rgm@gnu.org>
29493         ispell.el: use user-error rather than debug-ignored-errors
29495         * lisp/textmodes/ispell.el (ispell-get-word): Use user-error.
29496         (debug-ignored-errors): No longer modify.
29498 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
29500         * src/xterm.c (x_fill_rectangle): Now static.
29502 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
29504         Tighten recently-added UTF-8 check
29506         * src/coding.c (encode_coding_utf_8): Now extern.
29507         * src/terminal.c (terminal_glyph_code) [HAVE_STRUCT_UNIPAIR_UNICODE]:
29508         Check for UTF-8, not just for multibyte.
29510 2017-04-17  David Engster  <deng@randomsample.de>
29512         xml: Properly handle symbol-qnames for attribute parsing
29514         * lisp/xml.el (xml-parse-attlist): Do not strip 'symbol-qnames from
29515           xml-ns argument (reverts aea67018) (Bug#26533).
29516           (xml-maybe-do-ns): Properly handle default namespace by not
29517           interning new symbol when 'special' flag is set.
29519         * test/lisp/xml-tests.el (xml-parse-test--namespace-attribute-qnames)
29520           (xml-parse-namespace-attribute-qnames): Add test for Bug#26533.
29522 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
29524         * src/lisp.h (STRING_SET_CHARS): Simplify assertion.
29526 2017-04-17  Eli Zaretskii  <eliz@gnu.org>
29528         Fix assertion violations when displaying thread-related error
29530         * src/process.c (Faccept_process_output): Don't assume a thread's
29531         name is always a string.
29533 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
29535         dired ‘M’ should not complain about ‘.’ and ‘..’
29537         * lisp/dired-aux.el (dired-do-redisplay):
29538         Allow redisplay of ‘.’ and ‘..’ (Bug#26528).
29540 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
29542         Remove unused coding enums
29544         * src/coding.h (enum coding_system_type, enum end_of_line_type):
29545         Remove; unused.
29547 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
29549         Work around bug with unibyte Linux consoles
29551         * src/terminal.c (terminal_glyph_code): Skip the UTF-8 stuff if
29552         the terminal's coding system is unibyte (Bug#26396).
29554 2017-04-16  Teemu Likonen  <tlikonen@iki.fi>
29556         Fix org-agenda's command for calendar-lunar-phases
29558         Function org-agenda-phases-of-moon tries to call a non-existing
29559         function calendar-phases-of-moon. The correct function is
29560         calendar-lunar-phases.
29562 2017-04-16  Michael Albinus  <michael.albinus@gmx.de>
29564         Tuning for `separate' Tramp syntax
29566         * lisp/net/tramp.el (tramp-method-regexp): Fix it for `separate' syntax.
29567         (tramp-completion-file-name-regexp-separate): Simplify.
29569         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect-separate):
29570         Extend test.
29572 2017-04-16  Alan Mackenzie  <acm@muc.de>
29574         Fix bug #26529: C-h k errors with a lambda function bound to a key.
29576         * lisp/help-fns.el (help-fns--signature, describe-function-1): Check
29577         `function' is a symbol before trying to get property `reader-construct' from
29578         it.
29580 2017-04-16  Simen Heggestøyl  <simenheg@gmail.com>
29582         Fix highlighting of short selectors in CSS mode
29584         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Highlight
29585         selectors where the part before a colon is only one character long,
29586         such as `a:hover'.
29588 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
29590         Fix redisplay performance problems with some fonts
29592         * src/font.c (font_list_entities): Revert part of the changes
29593         introduced on Apr 2, 2014 to fix bug#17125.  It turns out having
29594         zero_vector in the font-cache is an important indication that
29595         cannot be removed.  (Bug#21028)
29597 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
29599         Add assertion to STRING_SET_CHARS
29601         * src/lisp.h (STRING_SET_CHARS): Add an assertion and commentary
29602         to prevent incorrect usage.  For details, see this discussion:
29603         https://lists.gnu.org/r/emacs-devel/2017-04/msg00412.html.
29605 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
29607         Avoid compilation warnings on MS-Windows
29609         * src/w32term.c (w32_read_socket): Avoid compiler warnings about
29610         parentheses around assignment.
29611         * src/w32fns.c (w32_createwindow): Remove unused variable
29612         dwStyle.  Use "|=" where appropriate.
29614 2017-04-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
29616         Merge from gnulib
29618         This incorporates:
29619         2017-04-14 intprops: try to avoid tickling similar bugs
29620         2017-04-14 intprops: port to Oracle Studio 12.3 x86
29621         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
29623 2017-04-15  Martin Rudalics  <rudalics@gmx.at>
29625         Fix bugs in `with-displayed-buffer-window' and `fit-window-to-buffer'
29627         * lisp/window.el (with-displayed-buffer-window): When a
29628         'window-height' action alist entry specifies a function, call
29629         `temp-buffer-window-show' with a '(window-height . t)' dummy
29630         entry so `window--try-to-split-window' will bind
29631         `window-combination-limit' to t and that function does not
29632         resize any other window but the one we split this one off
29633         (Bug#25055, Bug#25179).
29634         (fit-window-to-buffer): Call `window-max-delta' with NOUP t so
29635         we steal space only from windows in the same combination.
29636         Stealing space from other windows would not allow us to return
29637         that space later when this window is deleted (Bug#25055,
29638         Bug#25179).
29640 2017-04-15  Glenn Morris  <rgm@gnu.org>
29642         Avoid userlock queries hanging forever in batch mode
29644         * lisp/userlock.el (ask-user-about-lock)
29645         (ask-user-about-supersession-threat): Abort in batch mode.
29647 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
29649         Fix segfault when calling frame_ancestor_p (Bug#26493)
29651         * src/xterm.c (handle_one_xevent): Check that hf was not reset
29652         before calling frame_ancestor_p (Bug#26493).
29654 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
29656         A few additional copy-edits in documentation of frames
29658         * doc/lispref/frames.texi (Frame Layout)
29659         (Implied Frame Resizing): Windows -> MS-Windows.
29660         (Deleting Frames): Fix typo.
29662 2017-04-14  Glenn Morris  <rgm@gnu.org>
29664         Use user-error for some ert.el errors
29666         * lisp/emacs-lisp/ert.el (ert-read-test-name, ert-delete-all-tests)
29667         (ert-results-find-test-at-point-other-window, ert-describe-test):
29668         Use user-error.
29670 2017-04-14  Glenn Morris  <rgm@gnu.org>
29672         Use user-error for customize's "invalid face" error
29674         * lisp/cus-edit.el (customize-face): Use user-error.
29675         (debug-ignored-errors): No more need to add "Invalid face".
29677 2017-04-14  Glenn Morris  <rgm@gnu.org>
29679         Remove duplicate lisp-eval-defun definition
29681         * lisp/emacs-lisp/lisp-mode.el (lisp-eval-defun):
29682         Autoload rather than defining a stub.
29684 2017-04-14  Glenn Morris  <rgm@gnu.org>
29686         * lisp/Makefile.in (check-defun-dups): Ignore obsolete files.
29688 2017-04-14  Glenn Morris  <rgm@gnu.org>
29690         Create generated lisp files before main loaddefs.el
29692         This should improve reproducibility of lisp/loaddefs.el.
29693         * lisp/Makefile.in (gen-lisp): New phony target.
29694         ($(lisp)/loaddefs.el, compile-main): Depend on gen-lisp.
29695         * src/Makefile.in ($(leimdir)/leim-list.el): Depend on all of ../leim.
29696         * lisp/cedet/semantic.el (semantic-mode):
29697         * lisp/cedet/semantic/fw.el (top-level):
29698         * lisp/emacs-lisp/eieio-core.el (top-level):
29699         Robustify to generated input files maybe not yet existing.
29701 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
29703         Fix minor quoting issues in Makefile.in
29705         * Makefile.in (install-arch-dep, uninstall):
29706         Quote EMACS and EMACS_NAME more consistently.
29708 2017-04-13  Glenn Morris  <rgm@gnu.org>
29710         * Makefile.in (install-etc): Use existing Makefile variables.
29712 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
29714         Minor copyedits of recent changes in documentation
29716         * doc/lispref/frames.texi (Frame Layout, Frame Position)
29717         (Frame Size, Frame Interaction Parameters, Input Focus)
29718         (Raising and Lowering, Child Frames): Improve wording and indexing.
29719         * doc/emacs/cmdargs.texi (Borders X): Improve indexing.
29721 2017-04-13  Glenn Morris  <rgm@gnu.org>
29723         Small src/Makefile simplification
29725         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc)
29726         ($(lispsource)/term/ns-win.elc): Combine rules.
29728 2017-04-13  Simen Heggestøyl  <simenheg@gmail.com>
29730         Add grid layout module to CSS property list
29732         * lisp/textmodes/css-mode.el (css-property-alist)
29733         (css-value-class-alist): Add new properties and value classes from CSS
29734         Grid Layout Module.
29736 2017-04-13  Martin Rudalics  <rudalics@gmx.at>
29738         Describe recent frame and window changes in manuals
29740         * doc/emacs/emacs.texi (Top):
29741         * doc/emacs/cmdargs.texi (Borders X): Clearly separate the terms
29742         "outer border" (for the X border which can be set from within
29743         Emacs) and "external border" (for the border which is added by
29744         the window manager).
29745         * doc/lispref/display.texi (Tooltips): Clarify slightly.
29746         * doc/lispref/elisp.texi (Top): Update node and section names.
29747         * doc/lispref/frames.texi (Frames): Describe difference between
29748         top-level and child frames.
29749         (Frame Layout): Describe outer border.  Add more details about
29750         how Emacs obtains the outer size and position of a frame and
29751         about menu bar/tool bar wrapping.  Add references to new frame
29752         parameters.
29753         (Size and Position): Remove subsection.
29754         (Frame Position): New subsection excerpted from the earlier Size
29755         and Position subsection.  Clarify positioning concepts and
29756         some of their shortcomings.  Describe `move-frame-functions'.
29757         (Frame Size): New subsection excerpted from the earlier Size
29758         and Position subsection.  Describe how to track frame size
29759         changes and the new function `frame-size-changed-p'.
29760         (Position Parameters): Describe child frame positioning.  Warn
29761         about negative offsets.  Describe 'z-group' parameter.
29762         (Size Parameters): Describe 'text-pixels' specification
29763         facility and new 'min-width' and 'min-height' parameters.
29764         (Layout Parameters): Clarify description of 'tool-bar-lines' and
29765         'menu-bar-lines' parameters.
29766         (Frame Interaction Parameters): New subsubsection describing
29767         'parent-frame', 'delete-before', 'mouse-wheel-frame' and
29768         'no-other-frame' parameters.
29769         (Management Parameters): Describe 'skip-taskbar',
29770         'no-focus-on-map', 'no-accept-focus', 'undecorated' and
29771         'override-redirect' parameters.
29772         (Deleting Frames): Describe handling of 'delete-before'
29773         parameter and child frames for `delete-frame' and
29774         `delete-other-frames'.
29775         (Finding All Frames): Describe `frame-list-z-order' and handling
29776         of 'no-other-frame' parameter by `next-frame'.
29777         (Minibuffers and Frames): Minor clarifications.
29778         (Input Focus): Document `x-focus-frame'.  Clarify descriptions
29779         of `focus-in-hook', `focus-out-hook' and `focus-follows-mouse'.
29780         (Visibility of Frames): Describe mapping and how the visibility
29781         of a parent frame affects that of its child frames.
29782         (Raising and Lowering): Describe restacking of frames and
29783         z-groups.
29784         (Child Frames): New section.
29785         * doc/lispref/windows.texi (Selecting Windows): Describe
29786         additional semantics of NORECORD argument of `select-window' and
29787         how `buffer-list-update-hook' can emulate a "select window
29788         hook".
29789         (Mouse Window Auto-selection): New section.
29791 2017-04-13  Damien Cassou  <damien@cassou.me>
29793         Fix imenu--sort-by-position for non-pairs parameters (bug#26457)
29795         * lisp/imenu.el (imenu--sort-by-position): Fix to accept lists beyond
29796           pairs.
29797         * test/lisp/imenu-tests.el: Add 2 tests for `imenu--sort-by-position`.
29799 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
29801         Avoid unnecessary regeneration of the entire loaddefs.el
29803         * lisp/Makefile.in (autoloads .PHONY): Add commentary explaining
29804         why $(lisp)/loaddefs.el is a dependency of '.PHONY'.
29805         ($(lisp)/loaddefs.el): Copy an existing loaddefs.el to
29806         loaddefs.tmp before running 'batch-update-autoloads' on it, to
29807         avoid slow regeneration of the full contents.  (Bug#26459)
29808         Use 'move-if-change' instead of 'mv', to avoid producing a new
29809         Emacs binary when not necessary.
29811 2017-04-13  Dmitry Gutov  <dgutov@yandex.ru>
29813         Handle indentation of nested ternary operators in JS
29815         * lisp/progmodes/js.el (js--looking-at-operator-p):
29816         Handle nested ternary operators.
29818 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
29820         Don't call 'kill-this-buffer' outside of menus
29822         * lisp/simple.el (kill-current-buffer): New function.
29823         (completion-list-mode-map): Use it instead of kill-this-buffer.
29824         * lisp/type-break.el (type-break-mode):
29825         * lisp/term/ns-win.el (global-map):
29826         * lisp/progmodes/gdb-mi.el (gdb-memory-mode-map)
29827         (gdb-disassembly-mode-map, gdb-frames-mode-map)
29828         (gdb-locals-mode-map, gdb-registers-mode-map):
29829         * lisp/org/org-mhe.el (org-mhe-follow-link):
29830         * lisp/net/secrets.el (secrets-mode-map):
29831         * lisp/net/eudc.el (eudc-mode-map):
29832         * lisp/net/eudc-hotlist.el (eudc-hotlist-mode-map): Use
29833         kill-current-buffer instead of kill-this-buffer.  (Bug#26466)
29835 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
29837         * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
29839 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
29841         New internal-border face and args for select-window and x-focus-frame
29843         Add `internal-border' face and handle it whenever clearing the
29844         internal border.  If NORECORD equals the symbol
29845         'mark-for-redisplay', `select-window' will not record the window
29846         but still mark it for redisplay.  The new argument NOACTIVATE
29847         for `x-focus-frame' tries to not activate FRAME when set.
29849         * lisp/faces.el (internal-border): New face.
29850         * lisp/mwheel.el (mwheel-scroll): Select window to scroll with
29851         `mark-for-redisplay'.
29852         * lisp/scroll-bar.el (scroll-bar-drag)
29853         (scroll-bar-horizontal-drag, scroll-bar-scroll-down)
29854         (scroll-bar-scroll-up, scroll-bar-toolkit-scroll)
29855         (scroll-bar-toolkit-horizontal-scroll): Select window to scroll
29856         with `mark-for-redisplay'.
29857         * lisp/window.el (handle-select-window): When
29858         `focus-follows-mouse' is not 'auto-raise' try to not activate
29859         FRAME.
29860         * src/dispextern.h (face_id): Add INTERNAL_BORDER_FACE_ID.
29861         * src/frame.c (Fx_focus_frame): New argument NOACTIVATE.
29862         * src/frame.h (x_focus_frame): Update extern declaration.
29863         * src/gtkutil.c (xg_clear_under_internal_border): Remove
29864         function.
29865         (xg_frame_resized, xg_frame_set_char_size): Call
29866         x_clear_under_internal_border.
29867         (xg_tool_bar_callback): Adapt x_focus_frame call.
29868         * src/gtkutil.h (xg_clear_under_internal_border): Remove
29869         declaration.
29870         * src/nsfns.m (x_focus_frame): Add argument NOACTIVATE.
29871         * src/w32fns.c (x_clear_under_internal_border): Fill border
29872         with internal-border background if specified.
29873         * src/w32term.h (x_clear_under_internal_border): Add extern
29874         declaration.
29875         * src/w32term.c (x_after_update_window_line): Fill border
29876         with internal-border background if specified.
29877         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
29878         (x_scroll_bar_clear, w32_read_socket): Call
29879         x_clear_under_internal_border.
29880         (x_focus_frame): New argument NOACTIVATE.
29881         * src/window.c (select_window): Mark WINDOW for redisplay when
29882         NORECORD equals 'mark-for-redisplay'.
29883         (Fselect_window): Update doc-string.
29884         (syms_of_window): Define Qmark_for_redisplay.
29885         * src/xdisp.c (clear_garbaged_frames, echo_area_display)
29886         (redisplay_internal): Call x_clear_under_internal_border.
29887         * src/xfaces.c (lookup_basic_face): Handle `window-divider'
29888         and `internal-border' faces.
29889         (realize_basic_faces): Realize `internal-border' face.
29890         (syms_of_xfaces): Define Qinternal_border.
29891         * src/xfns.c (x_set_internal_border_width): Remove call for
29892         xg_clear_under_internal_border.
29893         (x_focus_frame): New argument NOACTIVATE.  When non-nil try to not
29894         activate frame.
29895         * src/xterm.c (x_fill_rectangle): No more static.
29896         (x_clear_under_internal_border, x_after_update_window_line):
29897         Fill border with internal-border background if specified.
29898         (xt_horizontal_action_hook): Rewrite.
29899         (handle_one_xevent): Call x_clear_under_internal_border.
29900         * src/xterm.h (x_fill_rectangle): Add extern declaration.
29902 2017-04-12  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
29904         Port recent frame changes to --enable-gcc-warnings
29906         * src/frame.c (next_frame, prev_frame):
29907         Remove now-redundant assertions.
29908         * src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.
29910 2017-04-12  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
29912         Scroll right and left using wheel-right and wheel-left.
29914         These changes also make use of touchpad and trackpad (Bug#26347).
29916         * doc/emacs/frames.texi (Mouse Commands): Document horizontal
29917         scrolling using the mouse wheel.
29919         * lisp/mwheel.el (mwheel-scroll): Respond to wheel-right and wheel-left.
29920         (mwheel-tilt-scroll-p, mwheel-flip-direction)
29921         (mwheel-scroll-left-function, mwheel-scroll-right-function): New
29922         defcustoms.
29923         (mouse-wheel-left-event, mouse-wheel-right-event): New variables,
29924         events that calls wheel-left/right.
29926         * etc/NEWS: Mention horizontal scrolling using the mouse wheel.
29928 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
29930         * lisp/Makefile.in (autoloads-force): Fix usage of ".PHONY".
29932 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
29934         Add new frame parameters and associated functions
29936         Add new frame parameters `undecorated', `override-redirect',
29937         `parent-frame', `skip-taskbar', `no-focus-on-map',
29938         `no-accept-focus', `z-group', `delete-before', `no-other-frame',
29939         `mouse-wheel-frame', `min-width', `min-height'.  Add new
29940         functions `frame-restack' and `frame-list-z-order'.
29942         * lisp/cus-start.el (focus-follows-mouse): Adapt customization
29943         type.
29944         * lisp/frame.el (handle-delete-frame): Handle child and
29945         `delete-before' frames.
29946         (other-frame): Stop looking for other frame after one round.
29947         (frame-list-z-order, frame-restack): New functions.
29948         (delete-other-frames): Handle child frames.
29949         * lisp/frameset.el (frameset-persistent-filter-alist)
29950         (frameset--record-relationships): Handle `delete-before',
29951         `parent-frame' and `mouse-wheel-frame' parameters.  Rename
29952         latter from `frameset--record-minibuffer-relationships'.
29953         (frameset--restore-frame): Handle ‘parent-frame’ parameter
29954         specially.
29955         (frameset-restore): Handle `delete-before', `parent-frame' and
29956         `mouse-wheel-frame' parameters.
29957         * lisp/mwheel.el (mwheel-scroll): Handle `mouse-wheel-frame'
29958         parameter.
29959         * lisp/window.el (window--min-size-ignore-p): Fix doc-string.
29960         (mouse-autoselect-window-select, handle-select-window): Major
29961         rewrite.  Try to not ignore errors.  Handle auto-selection of
29962         child frames and different values of `focus-follows-mouse'.
29963         * src/frame.c (frame_windows_min_size): Handle new `min-width'
29964         and `min-height' frame parameters.
29965         (make_frame): Initialize new frame structure members.
29966         (do_switch_frame): Don't reset internal_last_event_frame for
29967         descendant frames.
29968         (Fframe_parent, frame_ancestor_p, Fframe_ancestor_p): New
29969         functions.
29970         (candidate_frame): Don't return `no-other-frame' frame.
29971         (other_frames): New function replacing other_visible_frames.
29972         (delete_frame): Rewrite.  Handle child and `delete-before' frames.
29973         (Fmake_frame_invisible): Call other_frames.
29974         (store_frame_param): Check `delete-before' and `parent-frame'
29975         parameters for circular dependencies.
29976         (frame_parms, syms_of_frame): Add entries for and define new
29977         frame parameters.
29978         (focus_follows_mouse): New meaningful value `auto-raise'.
29979         * src/frame.h (z_group): New enumeration type.
29980         (frame): New slots parent_frame, undecorated, override_redirect,
29981         skip_taskbar, no_focus_on_map, no_accept_focus, z_group.
29982         (fset_parent_frame): New inlined function.
29983         (FRAME_UNDECORATED, FRAME_OVERRIDE_REDIRECT)
29984         (FRAME_PARENT_FRAME, FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
29985         (FRAME_NO_ACCEPT_FOCUS, FRAME_Z_GROUP, FRAME_Z_GROUP_NONE)
29986         (FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_ABOVE_SUSPENDED)
29987         (FRAME_Z_GROUP_BELOW): New macros.
29988         (frame_ancestor_p): Add declaration.
29989         * src/gtkutil.c (xg_create_frame_widgets): Handle
29990         `undecorated' and `override-redirect' frame parameters.
29991         (x_wm_set_size_hint): None for child frames.
29992         (xg_set_undecorated, xg_frame_restack, xg_set_skip_taskbar)
29993         (xg_set_no_focus_on_map, xg_set_no_accept_focus)
29994         (xg_set_override_redirect): New functions.
29995         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
29996         Don't let scrollbars obscure child frames.
29997         * src/gtkutil.h: (xg_set_undecorated, xg_frame_restack)
29998         (xg_set_skip_taskbar, xg_set_no_focus_on_map)
29999         (xg_set_no_accept_focus, xg_set_override_redirect): Add extern
30000         declarations.
30001         * src/nsfns.m (ns_frame_parm_handlers): Add entries for new
30002         frame parameters.
30003         (Fx_create_frame): Install `min-width' and `min-height' frame
30004         parameters.
30005         * src/nsterm.m (mouseMoved:): Handle focus_follows_mouse change.
30006         * src/w32fns.c (WS_EX_NOACTIVATE): Define if necessary.
30007         (x_real_positions): Handle child frames.
30008         (x_set_menu_bar_lines): Don't for child frames.
30009         (x_set_undecorated, x_set_parent_frame, x_set_skip_taskbar)
30010         (x_set_no_focus_on_map, x_set_no_accept_focus)
30011         (x_set_z_group): New functions.
30012         (w32_createvscrollbar, w32_createhscrollbar): Don't draw
30013         scroll bars over child frames.
30014         (w32_createwindow): Handle new frame parameters and child frames.
30015         (w32_wnd_proc): Let mouse clicks into a child frame activate
30016         the frame.  Try to handle the `no-accept-focus' parameter.  Do
30017         SetFocus when our window is brought to top or becomes the
30018         foreground window.
30019         (w32_window): Don't initialize menu bar for child frames.
30020         (Fx_create_frame): Handle new frame parameters.
30021         (x_create_tip_frame): Set explicit_parent slot.
30022         (w32_dialog_in_progress): New function.
30023         (Fx_file_dialog): Handle `z-group-above' frames.
30024         (w32_frame_list_z_order, Fw32_frame_list_z_order)
30025         (w32_frame_restack, Fw32_frame_restack): New functions.
30026         (w32_frame_parm_handlers): Add entries for new frame
30027         parameters.
30028         * src/w32font.c (Fx_select_font): Handle `z-group-above'
30029         frames during font selection dialogue.
30030         * src/w32term.c (construct_mouse_wheel): Construct mouse wheel
30031         event from F's w32 window.
30032         (w32_mouse_position): Handle child frames.
30033         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar):
30034         Don't draw scroll bars over child frames.
30035         (w32_read_socket): Always erase background of child frames.
30036         When generating SELECT_WINDOW_EVENTs handle new value of
30037         `focus-follows-mouse' and handle `no-accept-focus' parameter.
30038         Handle `mouse-wheel-frame' parameter.
30039         (x_calc_absolute_position, x_set_offset, x_set_window_size):
30040         Handle child frames.
30041         (x_make_frame_visible): Handle child frames specially.  Handle
30042         `no-focus-on-map' parameter.
30043         * src/w32term.h (w32_dialog_in_progress): Add external
30044         declaration.
30045         * src/xdisp.c (x_consider_frame_title, prepare_menu_bars): Not
30046         for child frames.
30047         * src/xfns.c (Xm/MwmUtil.h): Include for WM hints.
30048         (PropMotifWmHints, PROP_MOTIF_WM_HINTS_ELEMENTS): Define for
30049         non-Motif, non-GTK case.
30050         (x_real_pos_and_offsets): Handle child frames.
30051         (x_set_undecorated, x_set_parent_frame)
30052         (x_set_no_focus_on_map, x_set_no_accept_focus)
30053         (x_set_override_redirect): New functions.
30054         (x_set_menu_bar_lines): Not for child frames.
30055         (x_window): Handle `undecorated' and `override_redirect' cases.
30056         (Fx_create_frame): Handle new frame parameters.
30057         (frame_geometry): Handle child frames and outer border.
30058         (x_frame_list_z_order, Fx_frame_list_z_order)
30059         (x_frame_restack, Fx_frame_restack): New functions.
30060         (Fx_file_dialog, Fx_select_font): Set x_menu_set_in_use.
30061         (x_frame_parm_handlers): Add entries for new frame parameters.
30062         * src/xmenu.c (x_menu_set_in_use): Handle `z-group-above'
30063         frames.
30064         * src/xterm.c (x_set_frame_alpha): Don't set alpha of parent
30065         for child frames.
30066         (XTmouse_position): Handle child frames.
30067         (x_scroll_bar_create, x_scroll_bar_expose): Don't let scroll
30068         bars obscure child frames.
30069         (handle_one_xevent): Handle child frame positions.  If necessary
30070         set `skip-taskbar' and reassign proper `z-group' when we are
30071         mapped.  When generating SELECT_WINDOW_EVENTs handle new value
30072         of `focus-follows-mouse'.  Handle `mouse-wheel-frame' parameter.
30073         Let mouse clicks into a child frame activate the frame.
30074         (x_calc_absolute_position, x_set_offset): Handle child frames
30075         specially.
30076         (x_set_skip_taskbar, x_set_z_group): New functions.
30077         (x_make_frame_visible): Handle child frames.
30078         (ATOM_REFS_INIT): Add entries for
30079         Xatom_net_wm_state_skip_taskbar, Xatom_net_wm_state_above,
30080         Xatom_net_wm_state_below.
30081         * src/xterm.h (top-level): Declare Xatom_net_wm_state_above,
30082         Xatom_net_wm_state_below and Xatom_net_wm_state_skip_taskbar.
30083         (x_set_skip_taskbar, x_set_z_group): Add extern declarations.
30085 2017-04-11  Glenn Morris  <rgm@gnu.org>
30087         Update a package test for hydra
30089         * test/lisp/emacs-lisp/package-tests.el (with-package-test):
30090         Also bind package-gnupghome-dir, see eg
30091         http://hydra.nixos.org/build/51462182 .
30093 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
30095         Frame movement, focus and hook related changes
30097         New hook `move-frame-functions'.  Run `focus-in-hook'
30098         after switching to frame that gets focus.  Don't run
30099         XMoveWindow for GTK.
30101         * lisp/frame.el (handle-move-frame, frame-size-changed-p): New
30102         functions.
30104         * src/frame.c (do_switch_frame): Simplify code.
30105         (Fhandle_switch_frame): Switch frame before running
30106         `handle-focus-in'.
30107         (Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings.
30108         (Vmove_frame_functions): New hook variable.
30109         * src/keyboard.c (kbd_buffer_get_event): Handle
30110         MOVE_FRAME_EVENT.  Handle SELECT_WINDOW_EVENT separately.
30111         (head_table): Add Qmove_frame entry.
30112         (syms_of_keyboard): Add Qmove_frame.
30113         (keys_of_keyboard): Define key for `move-frame'.
30114         * src/termhooks.h (event_kind): Add MOVE_FRAME_EVENT.
30115         * src/w32term.c (w32_read_socket): Create MOVE_FRAME_EVENT.
30116         * src/window.c (run_window_size_change_functions): Record size of
30117         FRAME's minibuffer window too.
30118         * src/xterm.c (handle_one_xevent): Create MOVE_FRAME_EVENT.
30119         (x_set_offset): For GTK call gtk_widget_move instead of
30120         XMoveWindow.
30122 2017-04-11  Werner LEMBERG  <wl@gnu.org>
30124         Avoid abort in ftfont.c due to faulty fonts
30126         * src/ftfont.c (ftfont_get_metrics): Try loading the font without
30127         hinting, before aborting.  (Bug#25945)
30129 2017-04-11  Eli Zaretskii  <eliz@gnu.org>
30131         Document 'line-pixel-height'
30133         * doc/lispref/display.texi (Size of Displayed Text): Document
30134         line-pixel-height.  Suggested by Tak Kunihiro
30135         <tkk@misasa.okayama-u.ac.jp>.  (Bug#26379)
30137 2017-04-11  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
30139         Introduce customizable variable 'package-gnupghome-dir'
30141         * lisp/emacs-lisp/package.el (package-import-keyring)
30142         (package--check-signature-content, package-check-signature):
30143         Use new variable package-gnupghome-dir to control which GnuPG
30144         homedir to use.
30145         * doc/emacs/package.texi: Mention package-gnupghome-dir.
30146         * etc/NEWS: Mention package-gnupghome-dir.
30148 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
30150         Set x_gtk_use_window_move by default for fixing bug#25851 and bug#25943
30152         This activates a change that was installed a few weeks ago but whose
30153         ChangeLog was inadvertently dropped during its commit.  The proper
30154         ChangeLog is included below as part of the present commit.
30156         * src/gtkutil.c (xg_set_geometry): When x_gtk_use_window_move
30157         is set avoid calling x_gtk_parse_geometry (Bug#25851).
30158         (x_wm_set_size_hint): When x_gtk_use_window_move is set, set
30159         PPosition, USPosition and USSize flags if requested.
30160         * src/xterm.c (x_set_offset): With GTK when
30161         x_gtk_use_window_move is set, leave it entirely to
30162         gtk_window_move to position the window and skip any
30163         post-adjustments (Bug#25851 and Bug#25943).
30164         (x_gtk_use_window_move): New variable.
30166 2017-04-10  Alan Mackenzie  <acm@muc.de>
30168         Fix a loop in C Mode caused by inadequate analysis of comments.
30170         After M-;, and the insertion of the opening "/*", the CC Mode after-change
30171         function got confused, since the new comment opener matched the end of a
30172         subsequent comment, but moving back over that comment did not come back to the
30173         starting point.  Fix this.
30175         * lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer
30176         point is left if no end-of-macro is found before it.
30177         (c-forward-sws): Change the `safe-start' mechanism.  Now `safe-start' is
30178         non-nil except where we have an unclosed block comment at the end of a macro.
30179         This enables us to populate the cache more fully, at the cost of some run
30180         time.
30182 2017-04-10  Lars Brinkhoff  <lars@nocrew.org>
30184         Add PVSIZE function to return the size of a pseudovector.
30186         * src/lisp.h (PVSIZE): New function.
30188         * src/chartab.c (copy_char_table):
30189         * src/data.c (Ftype_of, Finteractive_form, Faref, Faset):
30190         * src/doc.c (Fdocumentation, store_function_docstring):
30191         * src/eval.c (Fcommandp, funcall_lambda, lambda_arity, Ffetch_bytecode):
30192         * src/fns.c (Flength, Fcopy_sequence):
30193         * src/font.h (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P):
30194         * src/lread.c (substitute_object_recurse):
30195         * src/print.c (print_object):
30196           Use it.
30198 2017-04-10  Michael Albinus  <michael.albinus@gmx.de>
30200         Add Tramp tests
30202         * lisp/net/tramp.el (tramp-syntax): Adapt docstring.
30204         * test/lisp/net/tramp-tests.el
30205         (tramp-test01-file-name-syntax-simplified)
30206         (tramp-test01-file-name-syntax-separate)
30207         (tramp-test02-file-name-dissect-simplified)
30208         (tramp-test02-file-name-dissect-separate): New tests.
30210 2017-04-10  Martin Rudalics  <rudalics@gmx.at>
30212         Make sure that `shell' makes BUFFER current
30214         * lisp/shell.el (shell): Restrict scope of recently added
30215         `with-current-buffer' to make sure that BUFFER is current when
30216         `shell' returns.
30218 2017-04-10  Jim Blandy  <jimb@red-bean.com>
30220         Default to PCRE syntax when reading .hgignore
30222         * lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
30223         Default to the PCRE syntax (bug#26249).
30225 2017-04-09  Michael Albinus  <michael.albinus@gmx.de>
30227         Document Tramp changes
30229         * doc/misc/tramp.texi (Change file name syntax): New node.
30231         * etc/NEWS: Mention `tramp-change-syntax'.
30233         * lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
30234         External packages uses it.
30235         (tramp-syntax): Set also `tramp-file-name-regexp'.
30237 2017-04-09  Paul Eggert  <eggert@cs.ucla.edu>
30239         Merge from gnulib (Bug#26398)
30241         This incorporates:
30242         2017-04-08 getopt: prefer - to _ in new file names
30243         2017-04-08 getopt: port recent getopt changes to macOS
30244         * .gitignore: Add lib/getopt-cdefs.h.
30245         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
30246         * lib/getopt-core.h: Rename from lib/getopt_core.h.
30247         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
30248         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
30249         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
30250         * lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
30251         Copy from Gnulib.
30252         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
30254 2017-04-09  Ken Raeburn  <raeburn@raeburn.org>
30256         Write updated loaddefs to a temporary file and rename into place.
30258         In a parallel build, byte compilation can be running at the same times
30259         as loaddefs.el is being regenerated.  However, in a CANNOT_DUMP build,
30260         loaddefs.el is read at startup and must always be in a usable state.
30262         * lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
30263         loaddefs.el.new and then rename it to loaddefs.el.
30265 2017-04-09  Glenn Morris  <rgm@gnu.org>
30267         In the manual, mention pops and imaps
30269         * doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
30270         Mention pops and imaps protocols.
30272 2017-04-09  Glenn Morris  <rgm@gnu.org>
30274         * doc/emacs/rmail.texi: Prefer @command to @code for movemail.
30276 2017-04-09  Sergey Poznyakoff  <gray@gnu.org>
30278         Fix rmail handling of movemail protocols (bug#18278)
30280         * lisp/mail/rmail.el (rmail-remote-proto-p): New function.
30281         (rmail-parse-url): Return protocol in second list element.
30282         Only use passwords with remote mailboxes.
30283         (rmail-insert-inbox-text): Handle non-simple local
30284         mailboxes (maildir, MH, etc.).
30286 2017-04-09  Glenn Morris  <rgm@gnu.org>
30288         Fix typos in manual re movemail local mailboxes
30290         * doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
30291         Fix examples of local mailbox urls.
30293 2017-04-08  Glenn Morris  <rgm@gnu.org>
30295         * lisp/gnus/nnmail.el (nnmail-crosspost-link-function): Simplify.
30297 2017-04-08  Glenn Morris  <rgm@gnu.org>
30299         Remove references to OS/2 in code, doc, and comments
30301         * lisp/gnus/nnheader.el (nnheader-read-timeout)
30302         (nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
30303         * lisp/emulation/viper-util.el (viper-color-defined-p):
30304         * lisp/net/pop3.el (pop3-read-timeout):
30305         * lisp/net/imap.el (imap-read-timeout):
30306         * lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
30307         * lisp/emulation/viper-ex.el (viper-glob-function):
30308         * lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
30309         * lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
30310         * doc/emacs/msdos-xtra.texi (MS-DOS):
30311         * doc/misc/gnus.texi (Various Various):
30312         * doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.
30314 2017-04-08  Michael Albinus  <michael.albinus@gmx.de>
30316         Tune Tramp syntax
30318         * lisp/net/tramp-cmds.el (tramp-change-syntax):
30319         Use `tramp-syntax-values'.
30321         * lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst.
30323         * lisp/net/tramp.el (tramp-syntax): Rename possible values.
30324         (tramp-syntax-values): New defun.
30325         (tramp-prefix-format, tramp-method-regexp)
30326         (tramp-postfix-method-format, tramp-prefix-ipv6-format)
30327         (tramp-postfix-ipv6-format, tramp-postfix-host-format)
30328         (tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax'
30329         and changed values.
30330         (tramp-completion-file-name-regexp-default): Rename from
30331         `tramp-completion-file-name-regexp-unified'.  Adapt docstring.
30332         (tramp-completion-file-name-regexp-simplified): Rename from
30333         `tramp-completion-file-name-regexp-old-style'.  Adapt docstring.
30334         (tramp-initial-completion-file-name-regexp):
30335         Use `tramp-completion-file-name-regexp-default'.
30336         (tramp-run-real-handler): Do not autoload any longer.
30338 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
30340         Replace more nested ifs with cond
30342         This is a continuation of d526047 "Replace more nested ifs with cond".
30343         * lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use
30344         when and cond where appropriate.
30346 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
30348         Adjust the edebug spec of if-let*
30350         This was fixed in Bug#24748, but now looking more closely, using gate in
30351         the spec seems correct.  See (info "(elisp) Backtracking").
30352         * lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
30354 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
30356         Replace some uses of cl-member-if with apply
30358         From the mhtml-mode series.  Some of the uses of cl-lib are not
30359         necessary.
30360         * lisp/align.el: Don't require cl-lib.
30361         (align-region): Use apply instead of cl-member-if.
30362         * lisp/emulation/viper.el: Don't require cl-lib.
30363         (viper-mode, this-major-mode-requires-vi-state): Use apply instead of
30364         cl-member-if.
30366 2017-04-08  Philipp Stephani  <phst@google.com>
30368         Validate SPEC of `dolist', cf. Bug#25477.
30370         * lisp/subr.el (dolist): Test type and length of SPEC.
30371         * test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
30372         Add unit test.
30374 2017-04-08  Philipp Stephani  <phst@google.com>
30376         Add unit test for Bug#26378
30378         * test/lisp/vc/ediff-diff-tests.el
30379         (ediff-diff-tests--ediff-exec-process--nil): New unit test.
30381 2017-04-08  Lars Brinkhoff  <lars@nocrew.org>
30383         Fix circular read syntax for records.
30385         * src/lread.c (substitute_object_recurse): Work with records.
30387         * test/src/lread-tests.el (lread-record-1): New test.
30389 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
30391         Deprecate copy-record in favor of copy-sequence
30393         Since copy-sequence seems to be needed anyway for records, have it
30394         work on records, and remove copy-record as being superfluous.
30395         * doc/lispref/records.texi (Records, Record Functions):
30396         * lisp/emacs-lisp/cl-macs.el (cl-defstruct):
30397         * lisp/emacs-lisp/eieio.el (make-instance, clone):
30398         * test/src/alloc-tests.el (record-3):
30399         Use copy-sequence, not copy-record, to copy records.
30400         * doc/lispref/sequences.texi (Sequence Functions)
30401         (Array Functions): Document that aref and copy-sequence
30402         work on records.
30403         * etc/NEWS: Omit copy-record.
30404         * src/alloc.c (Fcopy_record): Remove.
30405         * src/data.c (Faref): Document that arg can be a record.
30406         * src/fns.c (Fcopy_sequence): Copy records, too.
30408 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
30410         Fix dependency checking in src/Makefile.in
30412         * src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
30413         dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
30414         Otherwise, some dependencies will be missed.
30416 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
30418         Minor tuneup of write-region change
30420         * src/fileio.c (write_region): Use SCHARS, not Flength,
30421         on a value known to be a string.
30423 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
30425         Adjust write-region so file name is at the beginning again
30427         * lisp/epa-file.el (epa-file-write-region):
30428         * lisp/gnus/mm-util.el (mm-append-to-file):
30429         * lisp/jka-compr.el (jka-compr-write-region):
30430         * lisp/net/ange-ftp.el (ange-ftp-write-region):
30431         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
30432         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
30433         * src/fileio.c (write_region): Put file name at the beginning and move
30434         number of characters to the end of the message.
30436 2017-04-08  Kaushal Modi  <kaushal.modi@gmail.com>
30438         Check that file argument is a string
30440         * lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
30441           passed to `file-local-copy' is a string (Bug#26378).  Also fix
30442           the existing comment for this function, and convert it to its
30443           doc-string.
30445 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
30447         Fix handling of non-integer START param to write-region
30449         The previous patch for Bug#354 incorrectly assumed that START would
30450         always be an integer.
30452         * lisp/epa-file.el (epa-file-write-region):
30453         * lisp/jka-compr.el (jka-compr-write-region):
30454         * lisp/net/ange-ftp.el (ange-ftp-write-region):
30455         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
30456         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
30457         * src/fileio.c (write_region): Handle nil and string values of START.
30459 2017-04-07  Glenn Morris  <rgm@gnu.org>
30461         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fixes.
30463 2017-04-07  Michael Albinus  <michael.albinus@gmx.de>
30465         Add Tramp versions to `customize-package-emacs-version-alist'
30467         * lisp/net/trampver.el (customize-package-emacs-version-alist):
30468         Add Tramp versions to `customize-package-emacs-version-alist'.
30470 2017-04-07  Tom Tromey  <tom@tromey.com>
30472         * lisp/textmodes/rst.el (rst-toc-link-keymap): Move before first use.
30474 2017-04-07  Lars Brinkhoff  <lars@nocrew.org>
30476         * doc/lispref/records.texi (Record Functions): fix typo.
30478 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
30480         More casefiddle minor fixes
30482         * src/casefiddle.c (case_character_impl): Omit unnecessary casts.
30483         (case_character_impl): Avoid reevaluation of CHAR_TABLE_REF.
30484         (GREEK_CAPITAL_LETTER_SIGMA): Fix typo in my previous change.
30486 2017-04-07  Jeff Clough  <kb1vqh@gmail.com>
30488         Output number of characters added to file (Bug#354)
30490         * src/fileio.c (write_region):
30491         * lisp/epa-file.el (epa-file-write-region):
30492         * lisp/jka-compr.el (jka-compr-write-region):
30493         * lisp/net/ange-ftp.el (ange-ftp-write-region):
30494         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
30495         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
30496         * lisp/gnus/mm-util.el (mm-append-to-file): Functions now output
30497         characters written in addition to file name.
30498         * doc/lispref/files.texi: Added documentation to write-region and
30499         append-to-file describing their output.
30501 2017-04-07  Noam Postavsky  <npostavs@users.sourceforge.net>
30503         Fix ‘!NILP (Vpurify_flag)’ assertion failure during temacs bootstrap
30505         The recent changes to src/casefiddle.c cause build failure as seen
30506         below:
30508             Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs
30509                 --batch --load loadup bootstrap
30510             [Thread debugging using libthread_db enabled]
30511             Using host libthread_db library "/usr/lib/libthread_db.so.1".
30512             Loading loadup.el (source)...
30513             Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp
30514                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp
30515                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/language
30516                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/international
30517                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes
30518                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc)
30519             Loading emacs-lisp/byte-run (source)...
30520             Loading emacs-lisp/backquote (source)...
30521             Loading subr (source)...
30522             Loading version (source)...
30523             Loading widget (source)...
30524             Loading custom (source)...
30525             Loading emacs-lisp/map-ynp (source)...
30526             Loading international/mule (source)...
30527             Loading international/mule-conf (source)...
30529             lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)
30531             Breakpoint 1, terminate_due_to_signal at emacs.c:363
30532             363   signal (sig, SIG_DFL);
30533             (gdb) bt
30534             #0  0x0000000000579826 in terminate_due_to_signal at emacs.c:363
30535             #1  0x000000000060ec33 in die at alloc.c:7352
30536             #2  0x000000000066db40 in intern_c_string_1 at lread.c:3914
30537             #3  0x0000000000576884 in intern_c_string at lisp.h:3790
30538             #4  0x00000000005dc84f in prepare_casing_context at casefiddle.c:69
30539             #5  0x00000000005dd37f in casify_object at casefiddle.c:311
30540             #6  0x00000000005dd47f in Fcapitalize at casefiddle.c:356
30541             #7  0x00000000006325ac in eval_sub at eval.c:2219
30542             #8  0x0000000000632368 in eval_sub at eval.c:2184
30543             #9  0x000000000063446c in apply_lambda at eval.c:2875
30544             #10 0x00000000006329af in eval_sub at eval.c:2294
30545             #11 0x000000000062d462 in Fprogn at eval.c:449
30546             #12 0x000000000062d4cf in prog_ignore at eval.c:461
30547             #13 0x000000000062f19c in Fwhile at eval.c:982
30548             #14 0x00000000006321f4 in eval_sub at eval.c:2172
30549             #15 0x000000000062d462 in Fprogn at eval.c:449
30550             #16 0x000000000062f0c4 in Flet at eval.c:963
30551             #17 0x00000000006321f4 in eval_sub at eval.c:2172
30552             #18 0x0000000000632963 in eval_sub at eval.c:2290
30553             #19 0x000000000062d462 in Fprogn at eval.c:449
30554             #20 0x000000000062f0c4 in Flet at eval.c:963
30555             #21 0x00000000006321f4 in eval_sub at eval.c:2172
30556             #22 0x0000000000668caa in readevalloop at lread.c:1927
30557             #23 0x0000000000667253 in Fload at lread.c:1332
30558             #24 0x0000000000632683 in eval_sub at eval.c:2233
30559             #25 0x0000000000668caa in readevalloop at lread.c:1927
30560             #26 0x0000000000667253 in Fload at lread.c:1332
30561             #27 0x0000000000632683 in eval_sub at eval.c:2233
30562             #28 0x0000000000631be5 in Feval at eval.c:2041
30563             #29 0x000000000057e1af in top_level_2 at keyboard.c:1121
30564             #30 0x000000000062ffc7 in internal_condition_case at eval.c:1324
30565             #31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129
30566             #32 0x000000000062f51e in internal_catch at eval.c:1091
30567             #33 0x000000000057e0ea in command_loop at keyboard.c:1090
30568             #34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697
30569             #35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768
30570             #36 0x000000000057b55b in main at emacs.c:1687
30572             Lisp Backtrace:
30573             "capitalize" (0xffffcf70)
30574             "format" (0xffffd130)
30575             "define-charset" (0xffffd370)
30576             "while" (0xffffd560)
30577             "let" (0xffffd7c0)
30578             "dolist" (0xffffd910)
30579             "let" (0xffffdb70)
30580             "load" (0xffffdfe0)
30581             "load" (0xffffe4a0)
30583         * src/casefiddle.c (syms_of_casefiddle): Declare four new symbols:
30584         Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and
30585         Qspecial_titlecase.
30586         (prepare_casing_context): Use aforementioned symbols.
30588 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
30590         Merge from gnulib
30592         This merges some getopt fixes from Zack Weinberg, and affects only
30593         non-GNUish platforms.  It incorporates:
30594         2017-04-06 getopt-gnu: omit some duplicate code
30595         2017-04-06 getopt-posix: use angle-bracket include
30596         2017-04-06 getopt: annotate files with relationship to glibc
30597         2017-04-06 getopt: split up getopt.in.h and eliminate __need_getopt
30598         2017-04-06 getopt: better handling of ambiguous options
30599         2017-04-06 getopt: refactor long-option handling
30600         2017-04-06 getopt: tidy up _getopt_initialize a bit
30601         2017-04-06 getopt: merge from glibc: repetition reduction
30602         2017-04-06 getopt: clean up error reporting
30603         2017-04-06 getopt: fix fencepost error in ambiguous-W-option handling
30604         2017-04-06 getopt: clean up getopt.c and getopt1.c file headers
30605         2017-04-06 getopt: harmonize comments with glibc
30606         2017-04-06 getopt: remove USE_NONOPTION_FLAGS
30607         2017-04-06 getopt: tabify, in preparation for merge with glibc
30608         2017-04-06 md5, sha1, sha256, sha512: Add comments re correctness
30609         * build-aux/config.sub, doc/misc/texinfo.tex, lib/getopt.c:
30610         * lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/md5.c:
30611         * lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c, lib/sha256.h:
30612         * lib/sha512.c, lib/sha512.h, lib/unistd.in.h, m4/getopt.m4:
30613         Copy from gnulib.
30614         * lib/getopt_cdefs.in.h, lib/getopt_core.h, lib/getopt_ext.h:
30615         * lib/getopt_pfx_core.h, lib/getopt_pfx_ext.h:
30616         New files, taken from gnulib.
30617         * lib/gnulib.mk.in, m4/gnulib-comp.m4:
30618         Regenerate.
30620 2017-04-07  Hong Xu  <hong@topbug.net>
30622         * src/search.c (Fre_search_forward, Fre_search_backward): Improve
30623         doc (Bug#25193).
30625 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
30627         Mention that processes start in default-directory (Bug#18515)
30629         * doc/lispref/processes.texi (Synchronous Processes):
30630         (Asynchronous Processes):
30631         * lisp/subr.el (start-process):
30632         * src/callproc.c (call-process): Mention that the subprocess starts in
30633         `default-directory' when local, suggest `start-file-process' and
30634         `process-file' otherwise.
30636 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
30638         * src/xdisp.c (vmessage, message): Clarify commentary.
30640 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
30642         Minor casefiddle.c cleanups
30644         * src/casefiddle.c: Redo recent changes to match GNU style,
30645         and prefer C99-style decls within blocks.
30646         (GREEK_CAPITAL_LETTER_SIGMA): Rename from CAPITAL_SIGMA, so that
30647         we are merely using the Unicode name, and make it a constant
30648         rather than a macro.  All uses changed.
30649         (SMALL_SIGMA): Remove; unused.
30650         (GREEK_SMALL_LETTER_FINAL_SIGMA): Rename from SMALL_FINAL_SIGMA,
30651         and make it a constant rather than a macro.  All uses changed.
30652         (do_casify_multibyte_string): Use ‘verify’ rather than an
30653         unportable static_assertion local.
30655 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
30657         * lisp/international/README: Update to match current list.
30659 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
30661         Fix 'make clean' in lib subdirectory
30663         * lib/Makefile.in (clean): Remove *-t files.
30664         (mostlyclean): Remove MOSTLYCLEANFILES that are not *-t files.
30665         This removes files like lib/getopt.h that should be removed
30666         even if this configuration did not need to build them.
30667         (maintainer-clean): Remove TAGS here, not in distclean,
30668         to be consistent with ../src/Makefile.in.
30670 2017-04-06  Michael Albinus  <michael.albinus@gmx.de>
30672         Add new Tramp syntax
30674         * lisp/net/tramp-cmds.el (tramp-change-syntax): New defun.
30676         * lisp/net/tramp.el (tramp-syntax): Change default to `def'.
30677         Add :set function.
30678         (tramp-prefix-port-format): Simplify.
30679         (tramp-file-name-regexp-separate): Remove.
30680         (tramp-initial-file-name-regexp)
30681         (tramp-completion-file-name-regexp-old-style)
30682         (tramp-initial-completion-file-name-regexp): New defconst.
30683         (tramp-prefix-format, tramp-prefix-regexp)
30684         (tramp-method-regexp, tramp-postfix-method-format)
30685         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
30686         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
30687         (tramp-postfix-ipv6-regexp)
30688         (tramp-postfix-host-format, tramp-postfix-host-regexp)
30689         (tramp-remote-file-name-spec-regexp)
30690         (tramp-file-name-structure, tramp-file-name-regexp)
30691         (tramp-completion-file-name-regexp)
30692         (tramp-rfn-eshadow-update-overlay-regexp): Change them to be defuns.
30693         (tramp-tramp-file-p, tramp-find-method)
30694         (tramp-dissect-file-name, tramp-make-tramp-file-name)
30695         (tramp-completion-make-tramp-file-name)
30696         (tramp-rfn-eshadow-update-overlay)
30697         (tramp-register-autoload-file-name-handlers)
30698         (tramp-register-file-name-handlers)
30699         (tramp-unload-file-name-handlers)
30700         (tramp-completion-handle-file-name-all-completions)
30701         (tramp-completion-dissect-file-name, tramp-clear-passwd):
30702         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
30703         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
30704         (tramp-compute-multi-hops): Use them.
30706 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
30708         Implement special sigma casing rule  (bug#24603)
30710         In Greek, a sigma character has two lower case forms which depend on
30711         their position in the word.  Implement logic determining it.
30713         * src/casefiddle.c (struct casing_context, case_character_impl): Don’t
30714         assume inword is true when flag is CASE_UP and false when flag is
30715         CASE_DOWN.  For final sigma detection we need this information tracked
30716         reliably;.
30717         (CAPITAL_SIGMA, SMALL_SIGMA, SMALL_FINAL_SIGMA): New macros defining
30718         Unicode code point of different forms of sigma letter.
30719         (case_character): Implement support for final sigma casing.
30720         (do_casify_multibyte_string, do_casify_multibyte_region): Update after
30721         changes to case_character.
30723         * test/src/casefiddle-tests.el (casefiddle-tests-casing): Add test
30724         cases for final sigma.
30726 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
30728         Support casing characters which map into multiple code points  (bug#24603)
30730         Implement unconditional special casing rules defined in Unicode standard.
30732         Among other things, they deal with cases when a single code point is
30733         replaced by multiple ones because single character does not exist (e.g.
30734         ‘fi’ ligature turning into ‘FL’) or is not commonly used (e.g. ß turning
30735         into SS).
30737         * admin/unidata/SpecialCasing.txt: New data file pulled from Unicode
30738         standard distribution.
30739         * admin/unidata/README: Mention SpecialCasing.txt.
30741         * admin/unidata/unidata-gen.el (unidata-gen-table-special-casing,
30742         unidata-gen-table-special-casing--do-load): New functions generating
30743         ‘special-uppercase’, ‘special-lowercase’ and ‘special-titlecase’
30744         character Unicode properties built from the SpecialCasing.txt Unicode
30745         data file.
30747         * src/casefiddle.c (struct casing_str_buf): New structure for
30748         representing short strings used to handle one-to-many character
30749         mappings.
30751         (case_character_imlp): New function which can handle one-to-many
30752         character mappings.
30753         (case_character, case_single_character): Wrappers for the above
30754         functions.  The former may map one character to multiple (or no)
30755         code points while the latter does what the former used to do (i.e.
30756         handles one-to-one mappings only).
30758         (do_casify_natnum, do_casify_unibyte_string,
30759         do_casify_unibyte_region): Use case_single_character.
30760         (do_casify_multibyte_string, do_casify_multibyte_region): Support new
30761         features of case_character.
30762         * (do_casify_region): Updated to reflact do_casify_multibyte_string
30763         changes.
30765         (casify_word): Handle situation when one character-length of a word
30766         can change affecting where end of the word is.
30768         (upcase, capitalize, upcase-initials): Update documentation to mention
30769         limitations when working on characters.
30771         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties):
30772         Add test cases for the newly introduced character properties.
30773         (casefiddle-tests-casing): Update test cases which are now passing.
30775         * test/lisp/char-fold-tests.el (char-fold--ascii-upcase,
30776         char-fold--ascii-downcase): New functions which behave like old ‘upcase’
30777         and ‘downcase’.
30778         (char-fold--test-match-exactly): Use the new functions.  This is needed
30779         because otherwise fi and similar characters are turned into their multi-
30780         -character representation.
30782         * doc/lispref/strings.texi: Describe issue with casing characters versus
30783         strings.
30784         * doc/lispref/nonascii.texi: Describe the new character properties.
30786 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
30788         Split up casify_region function  (bug#24603)
30790         No functional changes at this time but splitting casify_region into
30791         a function dealing with multibyte and another dealing with unibyte
30792         buffers will make future code changes slightly easier.
30794         * src/casefiddle.c (casify_region): Move most of the code into two
30795         new functions:
30796         (do_casify_multibyte_region, do_casify_unibyte_region): new functions.
30798 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
30800         Add support for title-casing letters  (bug#24603)
30802         * src/casefiddle.c (struct casing_context, prepare_casing_context): Add
30803         titlecase_char_table member.  It’s set to the ‘titlecase’ Unicode
30804         property table if capitalization has been requested.
30805         (case_character): Make use of the titlecase_char_table to title-case
30806         initial characters when capitalising.
30808         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
30809         casefiddle-tests-casing): Update test cases which are now passing.
30811 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
30813         Introduce case_character function
30815         Move single-character casing logic into a separate function so that
30816         it is collected in a single place.  This will make future changes to
30817         the logic easier.  This commit introduces no functionality changes.
30819         * src/casefiddle.c (struct casing_context, prepare_casing_context): New
30820         structure for saving casing context and function to initialize it.
30821         (case_character): New function which cases character base on provided
30822         context.
30823         (do_casify_integer, do_casify_multibyte_string,
30824         do_casify_unibyte_string, casify_object, casify_region): Convert to
30825         use casing_context and case_character.
30827 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
30829         Split casify_object into multiple functions
30831         casify_object had three major cases to cover and those were mostly
30832         independent of each other.  Move those branches to separate function
30833         so it’s easier to comprehend each individual case.
30835         While at it, use somewhat more descriptive ch and cased variable names
30836         rather than c and c1.
30838         This commit introduces no functional changes.
30840         * src/casefiddle.c (casify_object): Split into…
30841         (do_casify_integer, do_casify_multibyte_string,
30842         do_casify_unibyte_string): …new functions.
30844 2017-04-06  Lars Brinkhoff  <lars@nocrew.org>
30846         Update documentation for type semantics of records.
30848         * doc/lispref/objects.texi (Record Type): improve description of what
30849         `type-of' returns for records.
30850         (Type Descriptors): new section.
30851         * doc/lispref/elisp.texi: reference it.
30852         * doc/lispref/records.texi (Records): reference it.  Document
30853         behavior when type slot is a record.
30855         * admin/alloc-colors.c (Fmake_record, Frecord): mention type desciptors.
30857 2017-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
30859         * lisp/help-fns.el (describe-symbol): `nil' is not an interesting default.
30861 2017-04-06  Tom Tromey  <tom@tromey.com>
30863         require cl-lib to fix fallout from mhtml series
30865         * lisp/align.el, lisp/calc/calc-embed.el, lisp/cedet/semantic.el,
30866         lisp/emulation/viper.el: Require cl-lib.
30868 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
30870         In CANNOT_DUMP builds, allow editing of files named "dump".
30872         * lisp/loadup.el: Perform the "dump" or "bootstrap" actions like
30873         calling dump-emacs only if dump-emacs is defined; otherwise, don't
30874         treat those command-line argument specially.
30876 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
30878         In CANNOT_DUMP builds, don't prepare for unexec.
30880         Having a command-line argument of "dump" or "bootstrap" would trigger
30881         behavior like not installing signal handlers.  In CANNOT_DUMP modes,
30882         we should get signal handlers installed regardless of whatever funny
30883         file names we decide to edit.
30885         src/emacs.c (main) [CANNOT_DUMP]: Don't enable the "dumping"
30886         alterations to initialization that prepares the process for unexec.
30888 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
30890         Allow a CANNOT_DUMP build to use exec-path during bootstrap.
30892         During a bootstrap, loading rmail.el invokes movemail to determine its
30893         flavor, but call-process doesn't work if exec-path is nil.
30895         * lisp/loadup.el: Only clear exec-path if dumping.
30897 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
30899         Fix CANNOT_DUMP build on Darwin/macOS.
30901         * src/conf_post.h (malloc, realloc, free) [DARWIN_OS && emacs &&
30902         CANNOT_DUMP]: Don't define as unexec_malloc, etc.
30903         * src/emacs.c (main): Don't call unexec_init_emacs_zone.
30905 2017-04-05  Tom Tromey  <tom@tromey.com>
30907         add two more mhtml tests
30909         * test/manual/indent/html-multi-2.html: New file.
30910         * test/manual/indent/html-multi-3.html: New file.
30912 2017-04-05  Tom Tromey  <tom@tromey.com>
30914         enable mhtml-mode by default
30916         * lisp/files.el (auto-mode-alist): Reference mhtml-mode, not
30917         html-mode.
30918         (magic-fallback-mode-alist): Likewise.
30919         * lisp/net/eww.el (eww-view-source): Use mthml-mode.
30921 2017-04-05  Tom Tromey  <tom@tromey.com>
30923         add mhtml-mode.el
30925         * etc/NEWS: Update.
30926         * lisp/textmodes/mhtml-mode.el: New file.
30927         * test/manual/indent/html-multi.html: New file.
30928         * test/lisp/textmodes/mhtml-mode-tests.el: New file.
30929         * doc/emacs/text.texi (HTML Mode): Mention mhtml-mode.
30931 2017-04-05  Tom Tromey  <tom@tromey.com>
30933         change sgml-mode to help multi-html mode
30935         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): New
30936         defconst.
30937         (sgml-syntax-propertize): Use it.
30938         (sgml--find-<>-backward): New function.
30939         (sgml-parse-tag-backward): Use it.
30941 2017-04-05  Tom Tromey  <tom@tromey.com>
30943         make js.el respect prog-first-column
30945         * lisp/progmodes/js.el (js--proper-indentation): Call prog-first-column.
30947 2017-04-05  Tom Tromey  <tom@tromey.com>
30949         make smie.el respect prog-first-column
30951         * lisp/emacs-lisp/smie.el (smie-indent-bob): Call prog-first-column.
30953 2017-04-05  Tom Tromey  <tom@tromey.com>
30955         change viper to use derived-mode-p
30957         * lisp/subr.el (provided-mode-derived-p): New function.
30958         (derived-mode-p): Use it.
30959         * lisp/emulation/viper.el (viper-mode): Use derived-mode-p.
30960         (this-major-mode-requires-vi-state): Use provided-mode-derived-p.
30961         (set-viper-state-in-major-mode): Use derived-mode-p.
30963 2017-04-05  Tom Tromey  <tom@tromey.com>
30965         change align to use derived-mode-p
30967         * lisp/align.el (align-region): Use derived-mode-p.
30969 2017-04-05  Tom Tromey  <tom@tromey.com>
30971         change org to use derived-mode-p
30973         * lisp/org/org-list.el (org-list-insert-radio-list): Use
30974         derived-mode-p.
30975         * lisp/org/org-table.el (orgtbl-setup, orgtbl-toggle-comment): Use
30976         derived-mode-p.
30978 2017-04-05  Tom Tromey  <tom@tromey.com>
30980         change semantic to use derived-mode-p
30982         * lisp/cedet/semantic.el (semantic-new-buffer-fcn): Use derived-mode-p.
30984 2017-04-05  Tom Tromey  <tom@tromey.com>
30986         change calc to use derived-mode-p
30988         * lisp/calc/calc-embed.el (calc-embedded-find-modes)
30989         (calc-embedded-make-info): Use derived-mode-p.
30991 2017-04-05  Tom Tromey  <tom@tromey.com>
30993         change auto-insert to use derived-mode-p
30995         * lisp/autoinsert.el (auto-insert): Use derived-mode-p.
30997 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
30999         * lisp/info.el (Info-search): Fix typo in April 1 change.
31001 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
31003         Minor cleanups related to type-of
31005         * src/data.c (Frecordp): Rename from Frecordp_p, for consistency.
31006         * src/data.c (syms_of_data):
31007         * src/frame.c (syms_of_frame): Put all the primitive type names
31008         together, under the "Types that type-of returns" comment.
31010 2017-04-05  Glenn Morris  <rgm@gnu.org>
31012         * doc/lispref/package.texi (Package Archives): Mention https.
31014 2017-04-05  Glenn Morris  <rgm@gnu.org>
31016         Advertise https for homepage of gnu.org packages
31018         * lisp/emacs-lisp/package.el (describe-package-1):
31019         Use https, if supported, for the homepage of packages on gnu.org.
31021 2017-04-05  Glenn Morris  <rgm@gnu.org>
31023         Default to https for elpa.gnu.org if gnutls available
31025         * lisp/emacs-lisp/package.el (package-archives):
31026         Default to https for elpa.gnu.org if gnutls is available.  Ref:
31027         https://lists.gnu.org/r/emacs-devel/2015-05/msg00130.html
31029 2017-04-04  Paul Eggert  <eggert@cs.ucla.edu>
31031         Minor simplifications and doc for records
31033         * doc/lispref/records.texi (Records): Mention size limit.
31034         * etc/NEWS: Mention records.
31035         * src/alloc.c (allocate_pseudovector, allocate_record):
31036         Prefer 'PSEUDOVECTOR_SIZE_MASK' to its definiens.
31037         (allocate_record): Check arg range here, not in callers, as this
31038         simplifies the code.  Use allocate_vectorlike instead of
31039         allocate_vector, to avoid duplicate runtime tests.
31040         (Fmake_record, record): Don't mention PSEUDOVECTOR_SIZE_BITS in
31041         the doc string, as it is not visible to the user.
31042         (Fmake_record, record, Fcopy_record):
31043         Prefer make_lisp_ptr to XSETVECTOR.
31044         (record): Broaden memcpy to copy the type, too.
31046 2017-04-04  Eli Zaretskii  <eliz@gnu.org>
31048         Fix recent changes in record data type
31050         * src/alloc.c (Fmake_record, Frecord, Fcopy_record): Avoid
31051         compiler warnings when 'ptrdiff_t' is narrower than 'long int'.
31053 2017-04-04  Philipp Stephani  <phst@google.com>
31055         Make subprocess functions resolve the default directory
31057         `call-process' doesn't respect file name handlers in
31058         `default-directory', so `file-name-non-special' has to resolve them
31059         for `process-file', `start-file-process', and
31060         `shell-command' (Bug#25949).
31062         * lisp/files.el (file-name-non-special): Also resolve default
31063         directory for 'process-file', 'start-file-process', and
31064         'shell-command'.
31065         * test/lisp/files-tests.el
31066         (files-tests--file-name-non-special--subprocess): Add unit test.
31068 2017-04-04  Philipp Stephani  <phst@google.com>
31070         Make ediff handle remote and quoted file names
31072         Quoted file names need to be unquoted before passed to
31073         subprocesses (Bug#25950).
31075         * lisp/vc/ediff-diff.el (ediff-exec-process): Handle remote and quoted
31076         file names.
31077         * test/lisp/vc/ediff-diff-tests.el
31078         (ediff-diff-tests--ediff-exec-process--quoted-file): Add unit test.
31080 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
31082         Backward compatibility with pre-existing struct instances.
31084         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
31085         (cl-old-struct-compat-mode): New minor mode.
31087         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
31088         cl-struct-define to signal use of record objects.
31090         * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
31091         cl-struct-define): Enable legacy defstruct compatibility.
31093         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
31094         old-struct): New tests.
31096         * doc/lispref/elisp.texi, doc/lispref/records.texi: Document
31097         `old-struct-compat'.
31099 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
31101         Make the URL library use records.
31103         * lisp/url/url.el, lisp/url/url-cache.el, lisp/url/url-dav.el,
31104         lisp/url/url-expand.el, lisp/url/url-file.el, lisp/url/url-imap.el,
31105         lisp/url/url-ldap.el: Use `url-p' instead of `vectorp'.
31107         * lisp/url/url-http.el (url-http): Check for type `url' instead of
31108         `vector'.
31110 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
31112         Make EIEIO use records.
31114         * lisp/emacs-lisp/eieio-compat.el
31115         (eieio--generic-static-object-generalizer): Adjust to new tags.
31117         * lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
31118         directly as tag.
31119         (eieio--object-class): Adjust to new tag representation.
31120         (eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
31121         (eieio-defclass-internal): Use `make-record'.
31122         (eieio--generic-generalizer): Adjust generalizer code accordingly.
31124         * lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.
31126         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
31127         Add `recordp'.
31129         * doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.
31131 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
31133         Make cl-defstruct use records.
31135         * lisp/emacs-lisp/cl-extra.el (cl--describe-class)
31136         (cl--describe-class-slots): Use the new `type-of'.
31138         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
31139         (cl--generic-struct-specializers): Adjust to new tag.
31141         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
31142         Use the type symbol as the tag.  Use copy-record to copy structs.
31143         (cl--defstruct-predicate): New function.
31144         (cl--pcase-mutually-exclusive-p): Use it.
31145         (cl-struct-sequence-type): Can now return `record'.
31147         * lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
31148         code to new format.
31149         (cl--struct-register-child): Work with records.
31150         (cl-struct-define): Don't touch the tag's symbol-value and
31151         symbol-function slots when we use the type as tag.
31153         * lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.
31155         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
31156         New test.
31158         * doc/lispref/records.texi, doc/misc/cl.texi: Update for records.
31160 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
31162         Add record objects with user-defined types.
31164         * src/alloc.c (allocate_record): New function.
31165         (Fmake_record, Frecord, Fcopy_record): New functions.
31166         (syms_of_alloc): defsubr them.
31167         (purecopy): Work with records.
31169         * src/data.c (Ftype_of): Return slot 0 for record objects, or type
31170         name if record's type holds class.
31171         (Frecordp): New function.
31172         (syms_of_data): defsubr it.  Define `Qrecordp'.
31173         (Faref, Faset): Work with records.
31175         * src/fns.c (Flength): Work with records.
31177         * src/lisp.h (prec_type): Add PVEC_RECORD.
31178         (RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions.
31180         * src/lread.c (read1): Add syntax for records.
31182         * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
31183         (print_object): Add syntax for records.
31185         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
31186         New test.
31188         * test/src/alloc-tests.el (record-1, record-2, record-3):
31189         New tests.
31191         * doc/lispref/elisp.texi, doc/lispref/objects.texi,
31192         doc/lispref/records.texi: Add documentation for records.
31194 2017-04-04  Tino Calancha  <tino.calancha@gmail.com>
31196         Fix a test in python-test.el
31198         Fix a test that breaks the test suite when it is run within a
31199         virtual environment.
31200         See following link for details:
31201         https://lists.gnu.org/r/emacs-devel/2017-03/msg00857.html
31202         * test/lisp/progmodes/python-tests.el
31203         (python-shell-calculate-process-environment-7): Bind
31204         python-shell-virtualenv-root to VIRTUAL_ENV when this var is set; otherwise
31205         bind it to '/env'.
31207 2017-04-04  Noam Postavsky  <npostavs@gmail.com>
31209         Throw a `search-failed' derived error in Info search
31211         The original fix for Bug#6106 switched from signaling `search-failed'
31212         to `user-error'.  However, this breaks incremental searching over
31213         multiple nodes because the isearch code doesn't expect a `user-error'.
31215         * src/search.c (syms_of_search): New error, `user-search-failed',
31216         with `user-error' and `search-failed' as parents.
31217         * doc/lispref/errors.texi (Standard Errors): Document it.
31218         * etc/NEWS: Announce it.
31219         * lisp/info.el (Info-search): Use it instead of `user-error' so that
31220         isearch will handle failed searches correctly.
31222 2017-04-03  Michael Albinus  <michael.albinus@gmx.de>
31224         Add Tramp test
31226         * doc/misc/tramp.texi (Remote processes): Fix typo.
31228         * lisp/shell.el (shell): Fix typo.
31230         * lisp/net/tramp.el (tramp-set-connection-local-variables): Simplify.
31232         * test/lisp/net/tramp-tests.el (tramp-test30-explicit-shell-file-name):
31233         New test.
31234         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
31235         (tramp-test31-vc-registered)
31236         (tramp-test32-make-auto-save-file-name)
31237         (tramp-test33-make-nearby-temp-file)
31238         (tramp-test34-special-characters)
31239         (tramp-test34-special-characters-with-stat)
31240         (tramp-test34-special-characters-with-perl)
31241         (tramp-test34-special-characters-with-ls, tramp-test35-utf8)
31242         (tramp-test35-utf8-with-stat, tramp-test35-utf8-with-perl)
31243         (tramp-test35-utf8-with-ls)
31244         (tramp-test36-asynchronous-requests)
31245         (tramp-test37-recursive-load, tramp-test38-unload): Rename.
31247 2017-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
31249         * lisp/ses.el: Silence byte-compiler warnings.
31251         (ses-jump, ses-recalculate-cell, ses-define-local-printer): Silence
31252         byte-compiler warnings.
31254 2017-04-02  Glenn Morris  <rgm@gnu.org>
31256         Belated fixes for admin.el's M-x make-manuals-dist
31258         * admin/admin.el (make-manuals-dist-output-variables): Additions.
31259         (make-manuals-dist--1): Also copy docstyle.texi.
31261 2017-04-02  Paul Eggert  <eggert@cs.ucla.edu>
31263         Fix bugs in simplified test dependencies
31265         Problem reported by Glenn Morris in:
31266         https://lists.gnu.org/r/emacs-devel/2017-04/msg00017.html
31267         * test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
31268         (TESTS): Omit unnecessary patsubst.
31269         (test_template): Redo dependency heuristic, hopefully
31270         correctly this time.  It's the .log file that depends,
31271         not the phony test target.  Declare the phonies to be PHONY.
31272         Resurrect the exception for the *-tests subdirectory.
31273         Adjust to the fact that leading "./" is omitted now.
31275 2017-04-02  Wilfred Hughes  <me@wilfred.me.uk>
31277         Fix typo in docstring
31279         * lisp/help.el: Fix typo.
31281 2017-04-02  Michael Albinus  <michael.albinus@gmx.de>
31283         Apply connecion-local variables for shells
31285         * doc/misc/tramp.texi (Remote processes): Show use of connection-local
31286         variables.  Don't mention Emacs 23 anymore.
31287         (Frequently Asked Questions): Precise Emacs and MS Windows version.
31289         * lisp/files-x.el (connection-local-normalize-criteria):
31290         Suppress nil properties.
31291         (connection-local-set-profiles, with-connection-local-profiles):
31292         Adapt docstring.
31294         * lisp/shell.el (shell): Apply connecion-local variables.
31296 2017-04-01  Evgeni Kolev  <evgenysw@gmail.com>  (tiny change)
31298         Propertize only perl prototype chars `][$%&*;+@\' as punctuation
31300         This prevents variables in signatures such as `sub add ($a, $b)' from
31301         being treated as punctuation.
31302         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
31303         Strictly match only prototype characters as punctuation.  (Bug#26037)
31305 2017-04-01  Tom Tromey  <tom@tromey.com>
31307         fix two js-mode syntax propertization bugs
31309         Bug#26070:
31310         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): Add
31311         zero-or-one to regular expression.
31312         (js-syntax-propertize-regexp): Update.  Propertize body of regexp
31313         literal up to END.
31314         * test/lisp/progmodes/js-tests.el (js-mode-propertize-bug-1)
31315         (js-mode-propertize-bug-2): New tests.
31317 2017-04-01  Paul Eggert  <eggert@cs.ucla.edu>
31319         Simplify test dependency generation
31321         Generate default dependencies by using GNU extensions to ‘make’
31322         rather than via a hacky auxiliary program and script.
31323         * .gitignore: Remove test/make-test-deps.mk.
31324         * test/Makefile.in (ELFILES, LOGFILES, TESTS):
31325         Use :=, not =, to avoid multiple redundant invocations of ‘find’.
31326         (test_template): Infer dependency directly instead of via
31327         make-test-deps.mk.
31328         (check-doit): Prepend ‘@’ to avoid excessively long ‘make’ output.
31329         (clean): No need to clean make-test-deps.mk.
31330         (make-test-deps.mk): Remove rule.
31331         * test/make-test-deps.emacs-lisp: Remove.
31333 2017-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
31335         * test/lisp/emacs-lisp/cl-lib-tests.el: Improve symbol-macrolet tests
31337         (cl-lib-symbol-macrolet): Fix last test so it doesn't break the whole
31338         test suite.
31339         (cl-lib-symbol-macrolet-2): New test.
31341 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
31343         Use only posix options in a ediff-ptch test
31345         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
31346         Use just "-b" patch option.  Don't assume a particular suffix for
31347         the backup files.
31349 2017-04-01  Jarno Malmari  <jarno@malmari.fi>
31351         Initial implementation of HTTP Digest qop for url
31353         This also refactors digest authentication functions in url-auth.el.
31355         * lisp/url/url-auth.el (url-digest-auth, url-digest-auth-create-key):
31356         (url-digest-auth-build-response, url-digest-auth-directory-id-assoc):
31357         (url-digest-auth-name-value-string, url-digest-auth-source-creds):
31358         (url-digest-cached-key, url-digest-cache-key, url-digest-find-creds):
31359         (url-digest-find-new-key, url-digest-prompt-creds): Add new functions
31360         to simplify code and aid in unit testing.
31361         (url-digest-auth-build-response): Hook up new functionality, or fall
31362         back to previous.
31363         (url-digest-auth-make-request-digest-qop):
31364         (url-digest-auth-make-cnonce, url-digest-auth-nonce-count):
31365         (url-digest-auth-name-value-string): Add new helper functions.
31366         * test/lisp/url/url-auth-tests.el (url-auth-test-colonjoin):
31367         (url-auth-test-digest-ha1, url-auth-test-digest-ha2):
31368         (url-auth-test-digest-request-digest): Add a few tests as now more
31369         features are testable via intermediate functions.
31370         (url-auth-test-challenges, url-auth-test-digest-request-digest): Test
31371         the new implementation.  Parts of these were accidentally already
31372         merged in the past.
31374 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
31376         Tweak ediff-ptch test in previous commit a bit more
31378         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
31379         Apply patches without requiring a shell.  Add some comments.
31381 2017-03-31  Glenn Morris  <rgm@gnu.org>
31383         Tweak an ediff-ptch test
31385         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
31386         Add skip conditions.  Avoid going through shell where not needed.
31388 2017-03-31  Michael Albinus  <michael.albinus@gmx.de>
31390         * lisp/net/tramp-smb.el (tramp-smb-errors):
31392         Add "NT_STATUS_PASSWORD_MUST_CHANGE".
31394 2017-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>
31396         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet): New test.
31398 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
31400         dired-mark-suffix: New command
31402         Now dired-mark-extension prepends '.' to extension when not present.
31403         Add command dired-mark-suffix to preserve the previous
31404         behavior (Bug#25942).
31405         * lisp/dired-x.el (dired-mark-suffix): New command;
31406         mark files ending in a given suffix.
31407         (dired--mark-suffix-interactive-spec): New defun.
31408         (dired-mark-extension, dired-mark-suffix): Use it.
31409         * doc/misc/dired-x.texi (Advanced Mark Commands): Update manual.
31410         * test/lisp/dired-x-tests.el: New test suite; add test for these features.
31412 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
31414         default-directory: Remark that it must be a directory name
31416         * src/buffer.c (default-directory): Update docstring (Bug#26272).
31418 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
31420         Delete confuse statement in manual
31422         * doc/misc/cl.texi (For Clauses): Delete confuse statement
31423         and its example (Bug#23550).
31425 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
31427         Use find -delete if available
31429         This shortens the ‘make’ output and should avoid some
31430         repetitive scanning of directories during a build.
31431         * configure.ac (FIND_DELETE): New var.
31432         * lisp/Makefile.in (compile-always, bootstrap-clean):
31433         * test/Makefile.in (clean, bootstrap-clean): Use it.
31434         * test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.
31436 2017-03-31  Mark Oteiza  <mvoteiza@udel.edu>
31438         Remove gnus-boundp
31440         * lisp/gnus/gnus-start.el (gnus-display-time-event-handler): Use
31441         bound-and-true-p.
31442         * lisp/gnus/gnus-util.el (gnus-boundp): Remove.
31444 2017-03-31  Niels Möller  <nisse@lysator.liu.se>  (tiny change)
31446         Stop `fixup-whitespace' adding trailing whitespace (Bug#18783)
31448         * lisp/simple.el (fixup-whitespace): Insert no spaces if point is at
31449         end of line after deleting horizontal whitespace.
31451 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
31453         * src/inotify.c (add_watch): Add comment.
31455 2017-03-31  Andreas Politz  <politza@hochschule-trier.de>
31457         Minor filenotify.el fixes
31459         * lisp/filenotify.el: Require subr-x.
31460         (file-notify-callback): Use equal, not eq.
31462 2017-03-31  Noam Postavsky  <npostavs@gmail.com>
31464         Improve packaging documentation
31466         * doc/lispref/package.texi (Packaging Basics):
31467         * doc/lispref/tips.texi (Library Headers): Clarify some header
31468         formats, relation between file headers and package
31469         attributes (Bug#13281).
31471 2017-03-31  John Mastro  <john.b.mastro@gmail.com>
31473         Fix a small incompatibility in ibuffer
31475         Translate nil values from column functions to the empty string, so that
31476         subsequent calls to string-width don't signal an error (Bug#26317).
31477         * lisp/ibuffer.el (ibuffer-compile-format): If a column function returns
31478         nil, treat it like the empty string.
31480 2017-03-30  Alan Mackenzie  <acm@muc.de>
31482         Fix C++ fontification problems 500 bytes after typing a space, and other bugs
31484         Also implement the "asymmetric space" rule for fontifying otherwise
31485         ambiguous
31486         declarations/expressions.
31488         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Don't set
31489         c-new-BEG or c-new-END when there is no need.
31490         (c-forward-decl-or-cast-1): Add "CASE 17.5" to implement the "asymmetric
31491         space" rule.
31493         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): New function,
31494         extracted from c-font-lock-declarations.  Add to this function processing to
31495         make `context' 'decl for lines contained within parens when these are also
31496         declarations.
31497         (c-font-lock-declarations): Call the newly extracted function above in place
31498         of inline code.
31500         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Set point before calling
31501         c-literal-start.
31503         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag): New user option.
31505         * doc/misc/cc-mode.texi (Misc Font Locking): New node documenting the new
31506         "asymmetric fontification" rule, including the variable
31507         c-asymmetric-fontification-flag.
31509 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
31511         Some inotify cleanup
31513         This catches some problems with integer overflow and races
31514         that I noticed in inotify.c after reviewing the changes
31515         installed to fix Bug#26126.
31516         * src/fns.c, src/lisp.h (equal_no_quit): Now extern.
31517         * src/inotify.c (aspect_to_inotifymask):
31518         Check for cycles and for improper lists.
31519         (make_lispy_mask, lispy_mask_match_p): Remove.
31520         All callers changed to use INTEGER_TO_CONS and CONS_TO_INTEGER.
31521         (inotifyevent_to_event, add_watch):
31522         Don’t assume watch descriptors and cookies fit in fixnums.
31523         (add_watch): Use assoc_no_quit, not Fassoc.
31524         Avoid integer overflow in (very!) long-running processes where
31525         the Emacs watch ID could overflow.  Avoid some duplicate code.
31526         (find_descriptor): New function.
31527         (remove_descriptor): First arg is now the returned value from
31528         find_descriptor, rather than the descriptor.  This way, the
31529         value can be removed without calling Fdelete, which might quit.
31530         Wait until the end (when watch_list is consistent) before signaling
31531         any errors.
31532         (remove_watch, inotify_callback):
31533         Use find_descriptor to avoid the need for Fdelete.
31534         (inotify_callback): Use simpler tests for ioctl failure.
31535         Free temporary buffer if signaled, and put it on the stack if small.
31536         Use ssize_t to index through read results, to avoid a cast.
31537         (valid_watch_descriptor): New function, with a tighter check.
31538         (Finotify_rm_watch, Finotify_valid_p): Use it.
31539         (Finotify_valid_p): Use assoc_no_quit and ass_no_quit instead
31540         of Fassoc.  Do not assume the first assoc succeeds.
31541         * test/src/inotify-tests.el (inotify-valid-p-simple):
31542         Add inotify-valid-p tests, some of which dump core without
31543         the fixes noted above.
31545 2017-03-30  Michael Albinus  <michael.albinus@gmx.de>
31547         * lisp/net/tramp-sh.el (tramp-get-remote-locale): Add "C.UTF-8" as candidate.
31549 2017-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
31551         * lisp/cedet/semantic/wisent/wisent.el (wisent-automaton-p): Use obarrayp.
31553 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
31555         Fix assoc_no_quit so that it does not quit
31557         The problem was that it called Fequal, which can quit.
31558         * src/fns.c (enum equal_kind):
31559         New enum, to be used in place of a boolean.
31560         (equal_no_quit): New function.
31561         (Fmemql, Feql): Use it to compare floats, as a minor tuneup.
31562         (assoc_no_quit): Use it to avoid quitting, the main point here.
31563         (internal_equal): Generalize bool to enum equal_kind arg, so that
31564         there are now 3 possibilities instead of 2.  Do not signal an
31565         error if EQUAL_NO_QUIT.  Put the arg before the depth, since depth
31566         should be irrelevant if the arg is EQUAL_NO_QUIT.  All callers
31567         changed.
31569 2017-03-29  Alan Mackenzie  <acm@muc.de>
31571         Amend gitmerge to recognize the injunction "don't merge".
31573         * admin/gitmerge.el (gitmerge-skip-regexp): amend regexp to match "don't" as
31574         well as "do not".
31576 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
31578         Add one more CSS pseudo-class
31580         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add
31581         `focus-within'.
31583 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
31585         Update list of CSS pseudo-classes
31587         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Update list of
31588         pseudo-classes.
31590 2017-03-29  Noam Postavsky  <npostavs@gmail.com>
31592         Adjust some search failure errors in info.el
31594         * lisp/info.el (Info-select-node): The search for beginning of node is
31595         an internal detail, and is not normally expected to fail, so it should
31596         not be a user error.
31597         (Info-complete-menu-item): Failing to find a menu indicates the user
31598         searched for a menu when there isn't one, so change to `use-error'.
31600 2017-03-28  Alan Mackenzie  <acm@muc.de>
31602         * lisp/progmodes/cc-defs.el (c-version):  Restore c-version to 5.33
31604 2017-03-28  Paul Eggert  <eggert@cs.ucla.edu>
31606         Don’t mishandle (format "%i" -1.0)
31608         * src/editfns.c (styled_format): Treat %i like %d when converting arg.
31610 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
31612         * lisp/emacs-lisp/ert.el (ert-run-tests): Make INTERACTIVE arg optional.
31614 2017-03-28  Michael Albinus  <michael.albinus@gmx.de>
31616         * src/inotify.c (Finotify_add_watch): aspect can also be a symbol.
31618 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
31620         Don't add `search-failed' to ignored errors in info.el (Bug#6106)
31622         * lisp/info.el: Stop adding `search-failed' to `debug-ignored-errors'.
31623         (Info-select-node, Info-search): Replace (signal 'search-failed ...)
31624         with (user-error "Search failed: "...).
31626 2017-03-27  Paul Eggert  <eggert@cs.ucla.edu>
31628         Fix obsolete ‘test/automated’ references
31630         * Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
31631         (bootstrap-clean, maintainer-clean):
31632         Clean ‘test’, not ‘test/automated’.  Test for existence of
31633         subdirectory only for ‘test’, not for directories that should
31634         always exist.
31635         * admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
31636         * lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
31637         * lisp/man.el (Man-parse-man-k):
31638         * lisp/url/url-domsuf.el, make-dist:
31639         * test/file-organization.org:
31640         Fix obsolete references to test/automated.
31642 2017-03-27  Katsumi Yamaoka  <yamaoka@jpl.org>
31644         shr-image-fetched: Work for narrowed Gnus article
31646         See <8737e3msun.fsf@gmail.com> of bug#26231 in the bug-gnu-emacs list.
31648         * lisp/net/shr.el (shr-image-fetched): Work for narrowed article.
31650 2017-03-27  Michael Albinus  <michael.albinus@gmx.de>
31652         * lisp/net/tramp.el (tramp-file-name-handler): Autoload it.
31654 2017-03-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
31656         Expand manual section on quitting windows
31658         * doc/lispref/windows.texi (Quitting Windows): Provide more
31659           information about the elements of the quit-restore window parameter,
31660           and how they affect the behavior of quit-restore-window.
31662 2017-03-26  Philipp Stephani  <phst@google.com>
31664         Add check for expected backtrace in module calls.
31666         * test/manual/cedet/tests/test.el
31667         (mod-test-non-local-exit-signal-test): Compare actual backtrace to
31668         expected backtrace.
31670 2017-03-26  Eli Zaretskii  <eliz@gnu.org>
31672         Fix redisplay glitches due to recent change in redisplay_internal
31674         * src/xdisp.c (redisplay_internal): A better fix for bug#26097.
31675         See https://lists.gnu.org/r/emacs-devel/2017-03/msg00695.html
31676         for the problems caused by the original fix.
31678 2017-03-26  Michael Albinus  <michael.albinus@gmx.de>
31680         Fix Bug#26258
31682         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
31683         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
31684         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
31685         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
31686         Autoload.  Call `tramp-register-foreign-file-name-handler'.  (Bug#26258)
31688         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Remove.
31689         (tramp-register-autoload-file-name-handlers)
31690         (tramp-register-file-name-handlers): Do not handle
31691         `tramp-autoload-file-name-handler' anymore.  Mark `operations'
31692         the handlers are responsible for.
31693         (tramp-register-foreign-file-name-handler): New defun.
31695 2017-03-26  Noam Postavsky  <npostavs@gmail.com>
31697         Fix docstring of dabbrev-abbrev-char-regexp
31699         * lisp/dabbrev.el (dabbrev-abbrev-char-regexp): Using a value of nil
31700         is equivalent to "\\sw\\|\\s_", and has no special behavior.  If the
31701         previous character doesn't match, we search backwards for one that
31702         does, not throw an error.  Replace Lisp example with C based one to
31703         make it clear that "symbol" means a sequence of word and symbol
31704         constituent characters, not a Lisp symbol (Bug#358).
31706 2017-03-26  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
31708         * doc/misc/cl.texi (Iteration Clauses): Clarify example (Bug#19515).
31710 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
31712         Minor fixes for inotify.c and filenotify.el
31714         * lisp/filenotify.el (file-notify--watch-absolute-filename):
31715         Add docstring.
31716         (file-notify-callback): Simplify.
31718         * src/inotify.c (Finotify_add_watch): Adapt docstring.
31720 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
31722         Fix issues regarding inotify file-notification
31724         Remove special code handling the inotify back-end.
31725         * lisp/filenotify.el (file-notify--watch): New struct
31726         representing a file-watch.
31727         (file-notify-descriptors): Use the new struct as hash-value.
31728         (file-notify-handle-event): Check that event is a cons.
31729         (file-notify--rm-descriptor, file-notify--event-watched-file)
31730         (file-notify--event-file-name, file-notify--event-file1-name)
31731         (file-notify-callback, file-notify-add-watch)
31732         (file-notify-rm-watch, file-notify-valid-p): Use new struct.
31733         Remove special code handling inotify descriptors.  Remove code
31734         handling multiple clients per descriptor.
31735         (file-notify--descriptor): Remove unused function.
31737         Let inotify-add-watch return a unique descriptor on every
31738         call, like every other back-end does (Bug#26126).  Prevent
31739         multiple clients from interfering with each other, when
31740         watching a shared descriptor.
31741         * src/inotify.c (watch_list): Extend the format by including a
31742         id and the provided mask.
31743         (INOTIFY_DEFAULT_MASK): Default mask used for all clients.
31744         (make_watch_descriptor): Removed.
31745         (make_lispy_mask, lispy_mask_match_p): New functions.
31746         (inotifyevent_to_event): Match event against the mask provided
31747         by the client.
31748         (add_watch, remove_descriptor, remove_watch): New functions
31749         for managing the watch_list.
31750         (inotify_callback): Use the new functions.
31751         (Finotify_add_watch, Finotify_rm_watch): Remove deprecated
31752         flags from documentation.  Add check for validity of provided
31753         descriptor.  Use the new functions.  Use the default mask.
31754         (INOTIFY_DEBUG): Add new debug conditional.
31755         (inotify-watch-list, inotify-allocated-p): New debug functions.
31756         (symbol_to_inotifymask, syms_of_inotify): Remove deprecated symbols.
31758         * test/lisp/filenotify-tests.el:
31759         (file-notify-test02-rm-watch): Remove expected failure for inotify.
31761 2017-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
31763         * lisp/emacs-lisp/pcase.el (pcase): Comment debug message (Bug#26177).
31765 2017-03-25  Jens Uwe Schmidt  <ju.schmidt@gmx.de>  (tiny change)
31767         Stop edebug getting stuck on backquote (Bug#23651)
31769         * lisp/emacs-lisp/edebug.el (edebug-read-sexp): Move forward after
31770         reading backquote or comma.
31772 2017-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
31774         Expand manual section on quitting windows
31776         * doc/lispref/windows.texi (Quitting Windows): Provide more
31777           information about the elements of the quit-restore window parameter,
31778           and how they affect the behavior of quit-restore-window.
31780 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
31782         Support in ispell.el multiple dictionaries loaded by Hunspell
31784         * lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
31785         Support Hunspell configurations that load more than one dictionary
31786         by default.  Doc fix.  (Bug#25830)
31788 2017-03-25  Michael Albinus  <michael.albinus@gmx.de>
31790         Simplify Tramp autoloading.
31792         * lisp/net/tramp.el (tramp-completion-file-name-handler):
31793         Simplify autoloading.  Give it the `operations' property.
31794         (tramp-completion-handle-expand-file-name): Remove.
31796 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
31798         Fix a segfault due to failure to realize some faces
31800         * src/xdisp.c (redisplay_internal): If the frame becomes garbaged
31801         while redisplaying its windows, redisplay all of its windows
31802         again.  (Bug#26097)
31803         (init_iterator): When freeing all realized faces on all frames,
31804         reset the 'face_change' flag of the frame whose window we are
31805         about to iterate.
31807 2017-03-25  Philipp Stephani  <phst@google.com>
31809         Use a named function for 'safe-local-variable
31811         This improves the help screen for `version-control' (Bug#25431).
31813         * lisp/files.el (version-control-safe-local-p): New function.
31814         (version-control): Use it.
31816 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
31818         ;* doc/misc/info.texi (Choose menu subtopic): Improve indexing.  (Bug#26236)
31820 2017-03-25  Helmut Eller  <eller.helmut@gmail.com>
31822         Make it easier to abort a series of tests with C-g
31824         * lisp/emacs-lisp/ert.el (ert-run-tests): Add "interactively" arg.  If
31825         interactively is true and a test was aborted then ask if the remaining
31826         tests should be aborted too.
31827         (ert-run-tests-batch, ert-run-tests-interactively): Pass in
31828         interactively arg.
31830 2017-03-24  Paul Eggert  <eggert@cs.ucla.edu>
31832         Don’t require chown/chgrp for game installation
31834         Problem reported by Joseph Mingrone in:
31835         https://lists.gnu.org/r/emacs-devel/2017-03/msg00622.html
31836         * lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or
31837         chgrp fails with update-game-score and the game directory.
31838         Instead, expect the installer to fix this up afterwards.
31840 2017-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
31842         * lisp/emacs-lisp/lisp-mode.el: Don't highlight \( at BOL
31844         (elisp--font-lock-backslash): Extract from lisp-el-font-lock-keywords-2.
31845         Don't highlight \ at BOL.  Don't assume syntax-ppss preserves match-data.
31847 2017-03-23  Philipp Stephani  <phst@google.com>
31849         Protect against an infloop in python-mode
31851         There appears to be an edge case caused by using `syntax-ppss' in a
31852         narrowed buffer during JIT lock inside of Python triple-quote strings.
31853         Unfortunately it is impossible to reproduce without manually
31854         destroying the syntactic information in the Python buffer, but it has
31855         been observed in practice.  In that case it can happen that the syntax
31856         caches get sufficiently out of whack so that there appear to be
31857         overlapping strings in the buffer.  As Python has no nested strings,
31858         this situation is impossible and leads to an infloop in
31859         `python-nav-end-of-statement'.  Protect against this by checking
31860         whether the search for the end of the current string makes progress.
31862         * lisp/progmodes/python.el (python-nav-end-of-statement): Protect
31863         against infloop.
31864         * test/lisp/progmodes/python-tests.el
31865         (python-tests--python-nav-end-of-statement--infloop): Add unit test.
31867 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
31869         * doc/lispref/os.texi (File Notifications):
31871         Strengthen the recommendation to use filenotify.el.
31873 2017-03-23  Paul Eggert  <eggert@cs.ucla.edu>
31875         Merge from gnulib
31877         This incorporates:
31878         2017-03-22 getopt: merge from glibc
31879         * build-aux/config.sub, lib/getopt.c, lib/getopt.in.h:
31880         * lib/getopt1.c, lib/getopt_int.h: Copy from gnulib.
31881         * lib/gnulib.mk.in: Regenerate.
31883 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
31885         Use lexical-bind in Tramp
31887         * lisp/net/tramp*.el: Add lexical-binding cookie.  Move declarations up.
31889         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names): Use `push'
31890         rather than `add-to-list'.
31891         (tramp-adb-get-device): Remove unused variable.
31893         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Remove unused
31894         variable.
31896         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
31897         (tramp-find-file-name-coding-system-alist): Use `push' rather
31898         than `add-to-list'.
31900         * test/lisp/net/tramp-tests.el: Add lexical-binding cookie.
31901         Require 'dired.  Move declarations up.
31902         (tramp-test32-make-nearby-temp-file): Wrap `make-nearby-temp-file'
31903         and `temporary-file-directory' calls with `with-no-warnings'.
31904         (tramp-test35-asynchronous-requests): Mark unused variable.
31906 2017-03-23  Kaushal Modi  <kaushal.modi@gmail.com>
31907             Noam Postavsky  <npostavs@gmail.com>
31909         Do not include comment start chars in ffap string
31911         * lisp/ffap.el (ffap-string-at-point): If the point is in a comment,
31912         ensure that the returned string does not contain the comment start
31913         characters (especially for major modes that have '//' as comment start
31914         characters).  Otherwise, in a major mode like c-mode, with `ido-mode'
31915         enabled and `ido-use-filename-at-point' set to `guess', doing "C-x
31916         C-f" on a "//foo" comment will initiate an attempt to access a path
31917         "//foo" (Bug#24057).
31919 2017-03-23  Martin Rudalics  <rudalics@gmx.at>
31921         c:/Temp/gtk-window-move/ChangeLog.txt
31923 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
31925         Fix filenotify.el issue for kqueue
31927         * lisp/filenotify.el (file-notify-add-watch): Use directory
31928         for remote file name handlers.
31930         * test/lisp/filenotify-tests.el (file-notify-test01-add-watch):
31931         Create/delete temporary file only for "kqueue".
31932         (file-notify-test02-rm-watch): Create/delete temporary files.
31934 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
31936         Extend `file-notify-test02-rm-watch'
31938         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
31939         Expect it failed for inotify.  Divide tests into different
31940         `unwind-protect' clauses.  Check, that removing watch
31941         descriptors out of order do not harm.  (Bug#26126)
31943 2017-03-22  Noam Postavsky  <npostavs@gmail.com>
31945         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-subsexp): Test for Bug#26187
31947 2017-03-22  Graham Dobbins  <gdobbins@protonmail.com>  (tiny change)
31949         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Fix null endpos case
31951 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
31953         Improve configure --with-pop etc. diagnostics
31955         * configure.ac: Improve diagnostics re --with-pop and
31956         --with-mailutils (Bug#26102).
31958 2017-03-21  Eli Zaretskii  <eliz@gnu.org>
31960         Revert "Make --without-pop the default."
31962         This reverts commit 9319de675e395517f9a7b50cae1a3aad9cd0abc2.
31964 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
31966         Don’t remove dependency files when configuring
31968         Problem reported by Tom Tromey in:
31969         https://lists.gnu.org/r/emacs-devel/2017-03/msg00533.html
31970         * configure.ac: Don’t remove */*.o and */deps/* when
31971         --enable-autodepend is in effect.
31973 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
31975         Make --without-pop the default.
31977         Suggested by Angelo Graziosi in:
31978         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
31979         * configure.ac: Change the default from --with-pop to
31980         --without-pop.  Adjust diagnostics to match.
31982 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
31984         Streamline dependency-file generation
31986         * configure.ac (AUTODEPEND_PARENTS): New var.
31987         mkdir the dependency directories here, to simplify ‘make’.
31988         Remove dependency files just before outputting Makefiles, so that
31989         they are preserved if ‘configure’ exits early due to some other problem.
31990         * lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in:
31991         * src/Makefile.in: Adjust deps strategies to be similar, as follows:
31992         (MKDEPDIR): Remove.  All uses removed.  This cuts down on the
31993         number of processes spun off by ‘make’.
31994         (clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself.
31995         (distclean): Remove $(DEPDIR) itself.
31996         * lwlib/Makefile.in (all): Move to front, so that depdir includes
31997         do not alter default action.
31999 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
32001         Port and simplify example sh script
32003         * doc/misc/org.texi (noweb-ref): Simplify shell script example and
32004         don’t use ‘tail -1’, which is not portable.
32006 2017-03-21  Noam Postavsky  <npostavs@gmail.com>
32008         Narrow scope of modification hook renabling in org-src fontification
32010         Modification hooks should be enabled while modifying text in the
32011         org-src temp buffer, but in 2017-01-29 "Call modification hooks in
32012         org-src fontify buffers" the hooks were enabled also for modifications
32013         to the original org buffer.  This causes fontification errors when
32014         combined with certain packages, as reported in
32015         https://lists.gnu.org/r/emacs-orgmode/2017-03/msg00420.html.
32017         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
32018         of inhibit-modification-hooks let-binding.
32020 2017-03-21  Tino Calancha  <tino.calancha@gmail.com>
32022         epatch: Save right backups in Git multipatches
32024         Multipatches on N Git files save wrong backups for
32025         N-1 files; only the last one has a correct backup (Bug#26084).
32026         * lisp/vc/diff-mode.el (diff-file-junk-re): Add 'Prereq: '
32027         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Use 'diff-file-junk-re'.
32028         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug25010):
32029         Rename from ibuffer-test-bug25010.
32030         (ediff-ptch-test-bug26084): New test.
32032 2017-03-21  Michael R. Mauger  <michael@mauger.com>
32034             * lisp/progmodes/sql.el: Version 3.6
32036             (sql-login-params): Added :must-match for completition of
32037             `server' and `database' login parameters.
32038             (sql-sqlite-login-params, sql-postgres-login-params): Set
32039             :must-match to `confirm'.
32040             (sql-get-login-ext): Use :must-match value to control
32041             `read-file-name' or `completing-read'.
32042             (sql-connect): Added optional BUF-NAME parameter; Reworked
32043             connection variable processing; Pass buffer name to
32044             `sql-product-interactive'.
32045             (sql-product-interactive): Pass buffer name along.
32046             (sql-comint): Add optional BUF-NAME and calculate reasonable default.
32047             (sql-comint-oracle, sql-sybase-comint, sql-comint-informix)
32048             (sql-comint-sqlite, sql-comint-mysql, sql-comint-solid)
32049             (sql-comint-ingres, sql-comint-ms, sql-comint-postgres)
32050             (sql-comint-interbase, sql-comint-db2, sql-comint-linter)
32051             (sql-comint-vertica): Add optional BUF-NAME, pass to
32052             `sql-comint'.
32053             (sql-oracle--list-oracle-name): New function.
32054             (sql-oracle-list-all): Use it.
32055             (sql-oracle-completion-object): Enhanced.
32057 2017-03-20  Vincent Belaïche  <vincentb1@users.sourceforge.net>
32059         Solve ses-recalculate-cell updating only current line bug.
32061         * lisp/ses.el (ses-recalculate-cell): Add optional argument
32062         ses--curcell to avoid overwriting ses--curcell when function is
32063         called from ses-recalculate-all.  Update docstring accordingly.
32064         (ses-recalculate-all): Call ses-recalculate-cell with argument
32065         ses--curcell to avoid its overwriting.
32067 2017-03-20  Paul Eggert  <eggert@cs.ucla.edu>
32069         Fix problem with out-of-date dependencies
32071         Problem reported by Robert Marshall in:
32072         https://lists.gnu.org/r/emacs-devel/2017-03/msg00501.html
32073         Although this problem has been with us for a while, the recent
32074         change from Automake to GNU Make exposed it again.
32075         * configure.ac (AUTO_DEPEND): When autodepending, clean out any
32076         leftover dependency and object files, since the previous sources'
32077         dependencies may disagree with the current ones.  Reconfiguring
32078         typically needs to force a rebuild anyway.
32080 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
32082         Simpler filter implementation
32084         * lisp/play/dunnet.el (dun-endgame-question): Get or set
32085         dun-endgame-questions one time only.  Use dolist and an index to
32086         prune the list.
32088 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
32090         * lisp/button.el (forward-button): Use user-error instead.
32092 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
32094         Merge from gnulib
32096         This gets Emacs working again with HP-UX Itanium cc.
32097         It incorporates:
32098         2017-03-19 stdalign: tweak version# and test for HP-UX IA64
32099         2017-03-18 stdalign: restore previous behavior for HP-UX IA64
32100         2017-03-17 stat-time, timespec: Support header files in C++ mode
32101         2017-03-17 stdalign: Make it work with HP-UX cc
32102         2017-03-17 flexmember: try to detect HP-UX 11.31 cc bug
32103         2017-03-16 stdint: Fix test compilation failure with HP-UX 11 cc.
32104         2017-03-14 gnulib-tool: don't produce tests with only snippets
32105         2017-03-14 limits-h: Make it work with HP-UX cc.
32106         * etc/PROBLEMS: Remove now-obsolete entry for HP-UX 11.31.
32107         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
32108         * lib/limits.in.h, lib/stat-time.h, lib/stdalign.in.h:
32109         * lib/stdint.in.h, lib/timespec.h, m4/flexmember.m4, m4/stdalign.m4:
32110         Copy from gnulib.
32112 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
32114         * ChangeLog.2: Merge from emacs-25.
32116 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
32118         Fixups after merge from emacs-25
32120         * etc/NEWS: Remove stray entry.
32121         * etc/NEWS.25: Copy from Emacs emacs-25 etc/NEWS.
32122         * lisp/textmodes/rst.el (rst-package-emacs-version-alist):
32123         Make it nondecreasing.
32125 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
32127         Merge from origin/emacs-25
32129         d71e071 Improve documentation of interactive "r".
32131 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
32133         Merge from origin/emacs-25
32135         a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
32136         1925dd9 Fix duplicate wording in Emacs manual
32137         6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A...
32138         2d671fd Fix wording in Emacs manual
32139         a8766a2 Document how to customize input methods
32140         6eb8995 * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
32141         aceac95 Fix warning message about native completion (Bug#25984)
32142         a314c1f Clarify documentation of 'raise' and 'height' display specs
32143         f366f6e Mention problems with GPaste in PROBLEMS
32144         6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug...
32145         6406618 Fix doc strings in info.el
32146         c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change.
32147         eed9677 Fix doc string of 'posn-at-point'
32148         0d5957e Documentation fix in elisp reference manual
32150 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
32152         Merge from origin/emacs-25
32154         ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
32155         2b774fa Mention "editor" in Emacs man page header
32156         ae60d0c Document problems with nerd-fonts
32157         2fdb5a9 ; Details about pinning Emacs to w32 task bar
32158         5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
32159         4c51ef4 Clarify what is the "cursor"
32160         8303c32 ; * etc/NEWS: Copyedits.
32161         3f7493e ; Fix a typo in comment
32162         c54cf8d Improve commentary in lisp.h
32163         8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
32164         0ba9932 Disable native completion for ipython (Bug#25067)
32165         38fc456 Fix a typo in ada-mode manual
32166         00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
32167         a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...
32169         # Conflicts:
32170         #       etc/NEWS
32171         #       etc/PROBLEMS
32173 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
32175         Merge from origin/emacs-25
32177         02d9ad8 * admin/make-tarball.txt: Add documentation regarding the rel...
32179 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
32181         Merge from origin/emacs-25
32183         e1171de * CONTRIBUTE (Documenting your changes): Index new vars/comma...
32185 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
32187         Merge from origin/emacs-25
32189         ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
32190         7e02a47 Index byte-compile-debug
32191         7c1e598 Document `byte-compile-debug' in the ELisp manual
32192         4d81eb4 Document variable `byte-compile-debug'
32193         72ef710 Fix call to debugger on assertion failure
32194         ae8264c Call modification hooks in org-src fontify buffers
32195         b3139da ; Fix last change in doc/lispref/strings.texi
32196         c331f39 Improve documentation of 'format' conversions
32197         9f52f67 Remove stale functions from ert manual
32198         c416b14 Fix a typo in Eshell manual
32199         06695a0 ; Fix a typo in ediff-merg.el
32200         954e9e9 Improve documentation of hooks related to saving buffers
32201         9fcab85 Improve documentation of auto-save-visited-file-name
32202         2236c53 fix typo in mailcap-mime-extensions
32203         85a3e4e Fix typos in flymake.el
32204         a1ef10e More NEWS checking for admin.el's set-version
32206         # Conflicts:
32207         #       lisp/emacs-lisp/bytecomp.el
32209 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
32211         Merge from origin/emacs-25
32213         5569e64 ; Spelling fixes
32214         24a5f57 * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (...
32215         9b89896 * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
32216         69b50f5 * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#2...
32217         42eae54 Improve documentation of dabbrevs
32218         b0ade0d Clarify that easy-menu-add is a nop (Bug#25382)
32219         3c69f2c * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fi...
32221         # Conflicts:
32222         #       lisp/textmodes/rst.el
32224 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
32226         Merge from origin/emacs-25
32228         0e35405 Improve documentation of coding-systems
32229         c2fd04c Improve definition of 'variable-pitch' face on MS-Windows
32230         16fb50d Fix an error message in python.el
32231         a2a2073 Clarify major mode switching
32232         fc38671 Add helpful comment to compile-command's docstring
32233         ee65d85 Fix ':version' of 'select-enable-primary'
32235 2017-03-19  Paul Pogonyshev  <pogonyshev@gmail.com>
32237         Fix bug in generator function with pcase (Bug#26068)
32239         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove some calls
32240         to symbol-name.
32242 2017-03-19  Alan Mackenzie  <acm@muc.de>
32244         Fix chaotic indentation of C++ lambda.  Enhance documentation thereof
32246         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): qualify an
32247         invocation of c-on-identifier with a check we're not at the _end_ of an
32248         identifier.
32250         * doc/misc/cc-mode.texi: (Tex title page): Remove @subtitlefont because the
32251         perl versions of texi2dvi haven't implemented it.
32252         (Syntactic Symbols): Note that `inlambda' is also used in C++ Mode, not just
32253         in Pike Mode.
32254         (Statement Block Symbols): Add a section illustrating a C++ lambda function.
32255         (FAQ): Add a question about "excessive" indentation of the contents of a C++
32256         lambda function, and how to get rid of it.
32258 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
32260         Remove unused vars in cl-extra.el and tramp.el.
32262         * lisp/emacs-lisp/cl-extra.el (cl--print-table): Remove unused vars.
32264         * lisp/net/tramp.el (tramp-dissect-file-name): Remove unused `match'.
32265         (outline-regexp, ls-lisp-use-insert-directory-program): Declare.
32266         (tramp-find-foreign-file-name-handler): Mark unused arg, remove unused `v`.
32268 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
32270         Improve describe-symbol's layout of slots when describing types
32272         * lisp/emacs-lisp/cl-extra.el (cl--print-table): New function.
32273         (cl--describe-class-slots): Use it.
32275 2017-03-18  Michael Albinus  <michael.albinus@gmx.de>
32277         Fix Bug#26156
32279         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist):
32280         <expand-file-name>: Remove handler.  (Bug#26156)
32282 2017-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
32284         * lisp/obarray.el (obarray-size): Avoid compiler warning.
32286 2017-03-18  Eli Zaretskii  <eliz@gnu.org>
32288         Fix last change in lib/Makefile.in
32290         * lib/Makefile.in (srcdir): Define, as including
32291         $(srcdir)/../nt/gnulib-cfg.mk needs that.
32293 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
32295         * configure.ac: Fix typo in diagnostic.
32297 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
32299         Port out-of-source builds to windows-nt
32301         Problem reported by Angelo Graziosi in:
32302         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
32303         * lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
32304         to handle out-of-source builds if windows-nt.
32306 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
32308         MS-Windows followup for switch from Automake
32310         * nt/INSTALL:
32311         * nt/INSTALL.W64: Remove references to Automake.  (Bug#26100)
32313 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
32315         Improve documentation of interactive "r".
32317         * doc/lispref/commands.texi (Interactive Codes): Mention that mark
32318         must be set for "r" to work.
32320 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
32322         Fixups for GNU Make switchover
32324         This fixes some minor problems introduced in the recent switch to GNU
32325         Make, discovered by further testing.  Without some of these changes
32326         'make -j' would sometimes have race conditions caused by missing
32327         dependencies.  (Bug#26100)
32328         * .gitignore: Remove src/stamp-h.in, src/stamp-h1.
32329         * Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
32330         src/config.in, since the former's timestamp now represents
32331         the latter's.
32332         ($(srcdir)/configure): Use plain ./autogen.sh, for consistency
32333         with other autogen.sh invocations.
32334         ($(srcdir)/src/stamp-h.in):
32335         Remove rule, as this file is no longer created.
32336         * Makefile.in (top_distclean):
32337         * src/Makefile.in (bootstrap-clean):
32338         No need to remove stamp-h1, as that was an Automake byproduct
32339         and Automake is no longer in use.
32340         * lib/Makefile.in, src/Makefile.in:
32341         (AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
32342         (../config.status, Makefile): Simplify by limiting dependencies
32343         to files we care about and files in the repository, and by
32344         using just one file to represent the timestamps on multiple
32345         targets updated by the same rule.
32346         * autogen.sh: Do not create or use src/stamp-h.in.
32347         Instead, have 'find' test the two output files directly.
32349 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
32351         Switch from Automake to GNU Make
32353         Emacs assumes GNU Make, and GNU Make has much of the functionality of
32354         Automake built-in.  The Emacs build process uses Automake primarily
32355         because Emacs uses some Gnulib code and Gnulib formerly required
32356         Automake.  Now that Gnulib no longer requires Automake, Emacs can
32357         stop using Automake and this should simplify Emacs maintenance
32358         in the future (Bug#26100).  Although this patch may look long, most of
32359         it is generated automatically: the changes to build-aux/config.guess,
32360         build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
32361         all done by admin/merge-gnulib.
32362         * .gitignore: Remove build-aux/ar-lib, build-aux/compile,
32363         build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
32364         build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
32365         as they are no longer built by autogen.sh.
32366         Add lib/gnulib.mk, as it is now built by 'configure'.
32367         Remove nt/gnulib.mk, as it is no longer built by 'make'.
32368         * INSTALL.REPO, README, admin/make-tarball.txt:
32369         Remove mention of Automake.
32370         * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
32371         (AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
32372         ($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
32373         ($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
32374         Remove.
32375         ($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
32376         ($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
32377         ($(srcdir)/src/config.in):
32378         Use autogen.sh instead of doing it by hand.
32379         * admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
32380         New vars, to simplify processing of avoided modules.
32381         (GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
32382         Add --gnu-make, and change makefile name to gnulib.mk.in.
32383         Copy config.guess, config.sub, and install-sh too, since
32384         Automake no longer does that for us.
32385         * admin/notes/copyright:
32386         * admin/update_autogen (genfiles):
32387         Update list of files.
32388         Remove hack for nt/gnulib.mk, a file that is no longer needed.
32389         * autogen.sh (progs): Remove Automake.
32390         (automake_min): Remove.
32391         Build aclocal.m4 so that autoreconf need not use aclocal.
32392         * build-aux/config.guess, build-aux/config.sub:
32393         * build-aux/install-sh:
32394         New files, copied from Gnulib.  These are now updated by
32395         admin/merge-gnulib instead by autogen.sh.
32396         * configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
32397         Remove.
32398         (AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
32399         (AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
32400         (BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
32401         (--disable-silent-rules): New option, since Automake no longer
32402         does this for us.
32403         (AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
32404         with AM_SUBST_NOTMAKE.
32405         (AC_PROG_INSTALL): Add call.
32406         (MAKEINFO): Do not bother with the 'missing' program.
32407         (MAKEINFO, SYSTEM_TYPE): AC_SUBST.
32408         (AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
32409         (SUBDIR_MAKEFILES): Remove duplication.
32410         * lib/Makefile.am: Remove, replacing with:
32411         * lib/Makefile.in: New file, with the old Makefile.am contents
32412         and with the following changes:
32413         (AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
32414         (MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
32415         (AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
32416         (EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
32417         Remove.
32418         (VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
32419         (AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
32420         (libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
32421         (mostlyclean, distclean, bootstrap-clean, maintainer-clean):
32422         New macros and rules, since Automake no longer does them.
32423         Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
32424         instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
32425         Include dependency files if AUTO_DEPEND.
32426         (ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
32427         New macros.
32428         (bootstrap-clean): Depend on distclean, not maintainer-clean,
32429         and remove gnulib.mk.
32430         (AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
32431         New macros and rules, copied from ../Makefile.in.
32432         ($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
32433         (.c.o, e-%.o): New generic rules.
32434         * lib/gnulib.mk: Remove.
32435         * lib/gnulib.mk.in: New file, which is built by autogen.sh
32436         and contains much of what used to be in lib/gnulib.mk.
32437         * m4/gnulib-common.m4: Copy from gnulib.
32438         * make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
32439         build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
32440         nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
32441         lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
32442         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
32443         (am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
32444         * nt/gnulib-cfg.mk: New file, which supersedes ...
32445         * nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
32446         * src/Makefile.in (ACLOCAL_INPUTS): Remove.
32447         (AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
32448         ($(top_srcdir)/configure, ../config.status, config.in Makefile):
32449         Defer to parent Makefile.
32451 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
32453         Don't suggest Mailutils on MS-Windows
32455         * configure.ac: Don't suggest GNU Mailutils on MS-Windows, as it
32456         hasn't been ported.
32458 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
32460         Fix bug: Range-check integer ‘alpha’ frame parm value
32462         Typo introduced 2013-04-01, "Prefer < to >
32463         in range checks such as 0 <= i && i < N".
32465         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
32467 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
32469         Fix bug: Range-check integer ‘alpha’ frame parm value
32471         Typo introduced 2013-04-01, "Prefer < to >
32472         in range checks such as 0 <= i && i < N".
32474         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
32476 2017-03-17  Michael Albinus  <michael.albinus@gmx.de>
32478         Fix Bug#26127
32480         * lisp/filenotify.el (file-notify--rm-descriptor): Check, that
32481         there is a function which could be called.  (Bug#26127)
32483         * test/lisp/filenotify-tests.el (file-notify--test-cleanup):
32484         Clear also `file-notify-descriptors'.
32485         (file-notify--test-make-temp-name): Move up.
32486         (file-notify-test02-rm-watch): New test.
32487         (file-notify-test03-events, file-notify-test04-autorevert)
32488         (file-notify-test05-file-validity)
32489         (file-notify-test06-dir-validity)
32490         (file-notify-test07-many-events, file-notify-test08-backup)
32491         (file-notify-test09-watched-file-in-watched-dir)
32492         (file-notify-test10-sufficient-resources): Rename.
32494 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
32496         * etc/PROBLEMS: Say that HP-UX cc doesn't work.
32498 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
32500         Emacs 'movemail' is now a configure-time option
32502         The new configure option --with-mailutils lets the builder say
32503         that Emacs should assume that GNU Mailutils is installed, instead
32504         of continuing to build and install its own limited and insecure
32505         substitute for 'movemail'.
32506         * INSTALL, etc/NEWS, etc/PROBLEMS: Mention --with-mailutils.
32507         * configure.ac: Add --with-mailutils option.
32508         (with_mailutils): New variable.
32509         Do not bother configuring 'movemail' when not building it.
32510         Warn about issues relating to --with-mailutils.
32511         * doc/emacs/rmail.texi (Movemail): Mention --with-mailutils.
32512         (Movemail, Remote Mailboxes): Document port numbers in
32513         POP and IMAP URLs.
32514         * lib-src/Makefile.in (with_mailutils): New macro.
32515         (UTILITIES): Use it.
32517 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
32519         Add obarray-size and fix tests accordingly.  Use obarrayp in cedet.
32521         * lisp/obarray.el (obarray-size): New function.
32523         * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-symbol)
32524         (semantic-lex-spp-save-table, semantic-lex-spp-macros):
32525         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
32526         Use obarrayp.
32528         * test/lisp/obarray-tests.el (obarray-make-default-test)
32529         (obarray-make-with-size-test): Use it.
32531 2017-03-16  Michael Albinus  <michael.albinus@gmx.de>
32533         Document remote file name syntax change
32535         * doc/emacs/files.texi (Remote Files, Quoted File Names):
32536         * doc/misc/org.texi (dir): Change examples to use a method.
32538         * doc/misc/tramp.texi (Top) [trampf]: Remove macro.  Add
32539         `Testing' menu entry.
32540         (History): Fix typos.  Mention syntax change.
32541         (Configuration, Default Host, File name Syntax)
32542         (File name completion, Frequently Asked Questions):
32543         Change examples to use a method.
32544         (External methods, Default Host, Multi-hops, Remote processes):
32545         Fix typos.
32546         (Default Method): Mention pseudo method "-".
32547         (External packages): Rewrite intention of `non-essential'.
32549         * etc/NEWS: Mark recent Tramp entries as documented.
32551 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
32553         (semantic-lex-type-invalid): Fix nested backquote.
32555         * lisp/cedet/semantic/lex.el: Use lexical-binding.
32556         (semantic-lex-type-invalid): Fix nested backquote.
32557         (semantic-lex-map-symbols, semantic-lex-type-symbol)
32558         (semantic-lex-keyword-symbol): Use obarrayp.
32560 2017-03-15  Michael Albinus  <michael.albinus@gmx.de>
32562         * lisp/ido.el (ido-read-internal, ido-complete): Do not bind `non-essential'.
32564 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
32566         Write a named function
32568         * lisp/comint.el (comint-nonblank-p): New function.
32569         (comint-input-filter): Use it.
32571 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
32573         Replace more nested ifs with cond
32575         This is a continuation of 0db5ba4 "Replace nested ifs with cond".
32576         * lisp/play/dunnet.el (dun-special-object, dun-inven, dun-drop):
32577         (dun-drop-check, dun-swim, dun-break): Use when and cond where
32578         appropriate.
32579         (dun-examine): Fix indentation.
32580         (dun-doverb): Use when.
32581         (dun-read-line): Refactor.
32583 2017-03-15  Noam Postavsky  <npostavs@gmail.com>
32585         Recomplexify ‘delete-trailing-whitespace’ by treating \n as whitespace again
32587         Mostly reverts "Simplify ‘delete-trailing-whitespace’ by not treating
32588         \n as whitespace" from 2016-07-04.  Setting \n to non-whitespace
32589         causes the regex engine to backtrack a lot when searching for
32590         "\\s-+$" (Bug#26079).
32592         * lisp/simple.el (delete-trailing-whitespace): Don't change newline
32593         syntax, search for "\\s-$" and then skip backward over trailing
32594         whitespace.
32596 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
32598         Merge from gnulib
32600         This incorporates:
32601         2017-03-14 snippets: move unadjusted snippet sources to lib
32602         2017-03-14 gnulib-tool: fix typo in comment output
32603         2017-03-14 snippets: work around GNU Make 3.82 VPATH
32604         2017-03-13 gnulib-tool: minor --gnu-make fixups
32605         2017-03-12 gnulib-tool: new option --gnu-make
32606         * .gitignore: Remove lib/arg-nonnull.h, lib/c++defs.h,
32607         lib/warn-on-use.h.  Change exception from
32608         build-aux/snippet/_Noreturn.h to lib/_Noreturn.h.
32609         * admin/authors.el (authors-renamed-files-regexps):
32610         * admin/notes/copyright, make-dist:
32611         The snippet files moved from build-aux/snippet to lib.
32612         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
32613         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
32614         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
32615         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
32616         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
32618 2017-03-14  Eli Zaretskii  <eliz@gnu.org>
32620         Fix duplicate wording in Emacs manual
32622         * doc/emacs/programs.texi (Which Function): Delete duplicate
32623         wording.  (Bug#26098)
32625 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
32627         Reenable lost Tramp test case
32629         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
32630         Reenable lost test case.
32632 2017-03-14  Alan Third  <alan@idiocy.org>
32634         Revert "Remove NSEvent loop from ns_select (bug#25265)"
32636         This reverts commit 3bd2e9e975ed29daaf03ca7559e4664aade0674f.
32638 2017-03-14  Alan Third  <alan@idiocy.org>
32640         Revert "Add missing timeout value in ns_select"
32642         This reverts commit a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d.
32644 2017-03-14  Alan Third  <alan@idiocy.org>
32646         Remove old macOS compatibility code
32648         * src/nsimage.m, src/nsmenu.m, src/nsterm.m: Remove code only for
32649         macOS versions below 10.6 as they are not supported in Emacs 25+.
32651 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
32653         Tune `tramp-completion-file-name-regexp-unified'
32655         * lisp/net/tramp.el (tramp-completion-file-name-regexp-unified):
32656         Extend this regexp to match also "/".
32658 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
32660         Show ancestor buffer in 3way merges
32662         Add an option ediff-show-ancestor', to control if the ancestor buffer
32663         must be shown in 3way merges (Bug#25493); set it non-nil by default.
32664         Add a toggle to change this option interactively; the original
32665         value of the option is restored on exit.
32667         Update the window setup so that the ancestor buffer is
32668         shown in 3way merges when ediff-show-ancestor is non-nil.
32670         Any operation on ediff windows must take in account the
32671         ancestor window as well, when this is shown.
32673         * lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
32674         (ediff--show-ancestor-orig): New defvar.
32675         * lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
32676         (ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
32677         Display ancestor buffer if ediff-show-ancestor is non-nil.
32678         (ediff-keep-window-config): Expect ancestor window in
32679         ediff-window-config-saved.
32680         (ediff-window-alist): Add entry for the ancestor window.
32681         * lisp/vc/ediff-util.el (ediff-setup-control-buffer):
32682         ediff-window-config-saved contains ancestor window.
32683         (ediff-show-ancestor): Delete this command.
32684         (ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
32685         (ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
32686         don't cheat it to think that is performing a comparison, that trick is not
32687         necessary anymore: simply call 'ediff-setup-diff-regions-function'
32688         with file-A, file-B and the file ancestor.
32689         (ediff-recenter): Update doc string.  Consider the ancestor buffer.
32690         (ediff--check-ancestor-exists): New defun.
32691         (ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
32692         (ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
32693         (ediff-scroll-vertically, ediff-scroll-horizontally)
32694         (ediff-operate-on-windows): Consider the ancestor as well.
32695         * lisp/vc/ediff-help.el (ediff-long-help-message-merge):
32696         List ediff-toggle-show-ancestor.
32697         * doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.
32699 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
32701         diff-mode: Improve default faces for buffer ancestor
32703         * lisp/vc/ediff-init.el (ediff-current-diff-Ancestor)
32704         (ediff-fine-diff-Ancestor): Use defaults consistent with
32705         faces for 'ediff-buffer-A' and 'ediff-buffer-B'.
32707 2017-03-14  Hong Xu  <hong@topbug.net>
32709         * lisp/paren.el (show-paren--default, show-paren-function): Add docstring.
32711 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
32713         Fix make-dist typo
32715         * make-dist: Fix typo introduced in the Bug#25895 fix.
32717 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
32719         Fix wording in Emacs manual
32721         * doc/emacs/text.texi (Paragraphs): Fix a garbled sentence.
32722         (Bug#26086)
32724 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
32726         etc/NEWS: Remote file names require a method.
32728 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
32730         Require method in remote file name syntax
32732         * lisp/minibuffer.el (completion--nth-completion):
32733         Do not bind `non-essential'.
32735         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
32736         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
32737         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
32738         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Do not call
32739         `tramp-check-proper-method-and-host'.
32741         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Better traces.
32742         (tramp-maybe-open-connection): Do not use argument for
32743         ´tramp-completion-mode-p'.
32745         * lisp/net/tramp.el (tramp-default-method-marker): New defconst.
32746         (tramp-prefix-format, tramp-postfix-method-format)
32747         (tramp-prefix-ipv6-format, tramp-postfix-ipv6-format)
32748         (tramp-prefix-port-format, tramp-postfix-host-format)
32749         (tramp-file-name-regexp, tramp-completion-file-name-regexp):
32750         Use `eq' instead of `eqal'.
32751         (tramp-method-regexp, tramp-domain-regexp)
32752         (tramp-remote-file-name-spec-regexp)
32753         (tramp-file-name-regexp-unified)
32754         (tramp-completion-file-name-regexp-unified)
32755         (tramp-completion-file-name-regexp-separate): Adapt regexp.
32756         (tramp-completion-file-name-handler-alist)
32757         (tramp-run-real-handler): Autoload them.
32758         (tramp-find-method): Handle `tramp-default-method-marker'.
32759         (tramp-check-proper-method-and-host)
32760         (tramp-completion-run-real-handler): Remove them.
32761         (tramp-error-with-buffer, tramp-connectable-p): Do not use
32762         argument for ´tramp-completion-mode-p'.
32763         (tramp-find-foreign-file-name-handler): Remove COMPLETION
32764         argument.  Do not apply heuristic for completion.
32765         (tramp-file-name-handler): Do not modify `non-essential'.
32766         (tramp-completion-file-name-handler): Change implementation.
32767         (tramp-autoload-file-name-handler)
32768         (tramp-completion-handle-file-name-all-completions):
32769         Call `tramp-run-real-handler'.
32770         (tramp-completion-mode-p): Do not autoload.  Remove argument.
32771         Do not apply heuristic for completion.
32772         (tramp-completion-dissect-file-name): Simplify implementation.
32773         (tramp-handle-file-name-as-directory): Call `tramp-connectable-p'.
32775         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
32776         (tramp-test02-file-name-dissect)
32777         (tramp-test03-file-name-defaults)
32778         (tramp-test06-directory-file-name): Adapt to the new syntax.
32779         (tramp-test11-copy-file, tramp-test12-rename-file)
32780         (tramp--test-check-files): Deactivate temporarily tests with
32781         quoted file names.
32782         (tramp-test16-directory-files, tramp-test17-insert-directory):
32783         Adapt tests.
32784         (tramp-test24-file-name-completion): Do not check for
32785         completion mode.
32786         (tramp-test31-make-auto-save-file-name): Deactivate temporarily
32787         two tests.
32789 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
32791         Fix bidi paragraph direction when inserting text at newline
32793         * src/insdel.c (invalidate_buffer_caches): Invalidate the bidi
32794         paragraph cache when inserting immediately after a newline.
32795         (Bug#26083)
32797 2017-03-13  Tino Calancha  <tino.calancha@gmail.com>
32799         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Fix regexp.
32801 2017-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
32803         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): New variable
32805         (cl-print-object) <compiled-function>: Print the docstring and
32806         interactive form.  Obey cl-print-compiled.
32808 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
32810         Fix indent-sexp when called from inside a string (Bug#21343)
32812         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Get initial syntax parse
32813         state from `syntax-ppss'.
32815 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
32817         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Simplify.
32819         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp):
32820         (indent-subsexp, indent-sexp-in-string): New tests.
32822 2017-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
32824         Use switch on pseudovector types; plus cleanups along the way
32826         * src/lisp.h (PSEUDOVECTOR_TYPE): New function, extracted from mark_object.
32827         (PSEUDOVECTOR_TYPEP): Change type of `code'.
32829         * src/alloc.c (sweep_vectors): Remove out-of-date assertion.
32830         (mark_object): Use PSEUDOVECTOR_TYPE.
32832         * src/data.c (Ftype_of): Use switch on pvec type.
32834         * src/print.c (print_object): Use switch on pvec type.
32836         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types):
32837         Add recently added types.
32839 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
32841         Install update-game-score only on request
32843         Most distributions do not install update-game-score properly
32844         due to setuid/setgid complications, so install it only when
32845         the installer specifies a user or group (Bug#25895).
32846         * .gitattributes: Remove lib-src/update-game-score.exe.manifest.
32847         * Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
32848         New vars.
32849         (epaths-force): Use PATH_GAME.
32850         (uninstall): Remove snake-scores and tetris-scores only if shared.
32851         * configure.ac: Default --with-gameuser to 'no'.
32852         (UPDATE_MANIFEST): Remove.
32853         * etc/NEWS: Mention this.
32854         * lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
32855         (use_gamedir): New macro.
32856         (UTILITIES): Remove update-game-score unless use_gamedir.
32857         (SCRIPTS): Remove $(UPDATE_MANIFEST).
32858         ($(DESTDIR)${archlibdir}): Install game directory program and data
32859         only if use_gamedir.
32860         * lib-src/update-game-score.exe.manifest: Remove, as
32861         update-game-score is no longer installed on MS-Windows.
32862         * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
32863         Use auxiliary program only if setuid or setgid.
32864         * make-dist: Do not distribute update-game-score.exe.manifest.
32865         * src/callproc.c (init_callproc):
32866         Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
32867         (syms_of_callproc): Remove unnecessary initialization of
32868         Vshared_game_score_directory.
32870 2017-03-12  Simen Heggestøyl  <simenheg@gmail.com>
32872         Add `touch-action' to list of CSS properties
32874         * lisp/textmodes/css-mode.el (css-property-alist): Add `touch-action'
32875         property.
32877 2017-03-12  Eli Zaretskii  <eliz@gnu.org>
32879         Teach etags to process ENUM_BF correctly
32881         * lib-src/etags.c (sym_type): New enumeration value st_C_enum_bf.
32882         (hash): Regenerated values for asso_values[] array.
32883         (in_word_set): Update values of TOTAL_KEYWORDS and
32884         MAX_HASH_VALUE.  Add "ENUM_BF" to the wordlist[] array.
32885         (in_enum_bf): New file-global variable.
32886         (consider_token): Skip ENUM_BF if not in a macro definition.
32887         (C_entries): Reset the in_enum_bf flag when past its closing
32888         parenthesis.
32890         * test/manual/etags/ETAGS.good_1:
32891         * test/manual/etags/ETAGS.good_2:
32892         * test/manual/etags/ETAGS.good_3:
32893         * test/manual/etags/ETAGS.good_4:
32894         * test/manual/etags/ETAGS.good_5:
32895         * test/manual/etags/ETAGS.good_6:
32896         * test/manual/etags/CTAGS.good: Adapt to changes in etags.
32898 2017-03-12  Michael Albinus  <michael.albinus@gmx.de>
32900         Use path/to/file instead of path/to.file in tramp.texi
32902         * doc/misc/tramp.texi (Configuration, File name Syntax):
32903         Use path/to/file instead of path/to.file.
32905 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
32907         Remove some stray gnulib files
32909         * admin/merge-gnulib: rm m4/gnulib-tool.m4 too.
32910         (GNULIB_MODULES): Remove unsetenv, as it is not needed and
32911         the --avoid=unsetenv option avoided most of it anyway.
32912         * lib/unsetenv.c, m4/gnulib-tool.m4, m4/setenv.m4: Remove.
32913         * lib/gnulib.mk: Regenerate.
32915 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
32917         Merge from gnulib
32919         This incorporates:
32920         2017-03-11 gnulib-common.m4: avoid aclocal.m4 bloat
32921         * doc/misc/texinfo.tex, m4/gnulib-common.m4: Copy from gnulib.
32923 2017-03-12  Glenn Morris  <rgm@gnu.org>
32925         Remove trivial duplication in epg-config
32927         * lisp/epg-config.el (epg-config--program-alist):
32928         Use epg-gpg-minimum-version.
32930 2017-03-12  Glenn Morris  <rgm@gnu.org>
32932         Small epg-find-configuration improvement
32934         * lisp/epg-config.el (epg-find-configuration):
32935         Handle epg-gpg-program customized but not saved.  (Bug#25947)
32937 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
32939         Improve last change
32941         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
32942         Use ppss to check escaping and add help-echo.
32944 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
32946         Highlight useless backslashes in Elisp strings
32948         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
32949         Put warning face on backslashes that have no effect.
32951 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
32953         Document how to customize input methods
32955         * doc/emacs/mule.texi (Input Methods): Document how to customize
32956         input methods.
32958 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
32960         * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
32962 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
32964         Fix generation of nt/gnulib.mk on macOS
32966         * nt/Makefile.in (${srcdir}/gnulib.mk): Don't use the -f- option
32967         to Sed, as that is not portable with non-GNU Sed variants.
32968         (Bug#26043)
32970 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
32972         Avoid aborts/assertion violations due to 'vim-empty-lines-mode'
32974         * src/xdisp.c (handle_single_display_spec): If position to be
32975         restored after processing the display property comes from an
32976         overlay, protect against that overlay's end point being outside of
32977         the narrowed region.
32978         Reported by Filipe Silva <filipe.silva@gmail.com> in
32979         https://lists.gnu.org/r/emacs-devel/2017-03/msg00176.html.
32981 2017-03-10  Glenn Morris  <rgm@gnu.org>
32983         Small improvement for epa-display-error (bug#24553)
32985         * lisp/epa.el (epa-display-error): Report the actual program in use.
32987 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
32989         Tweak X toolkit code to pacify modern GCC
32991         * lwlib/lwlib-Xaw.c, lwlib/lwlib-Xm.c, lwlib/lwlib.c:
32992         Don’t include <stdlib.h>, since this code now calls emacs_abort
32993         rather than abort.
32994         * lwlib/lwlib-Xaw.c (make_dialog, xaw_generic_callback)
32995         (wm_delete_window):
32996         * lwlib/lwlib-Xm.c (make_menu_in_widget, do_call):
32997         * lwlib/lwlib.c (instantiate_widget_instance, lw_make_widget):
32998         * lwlib/xlwmenu.c (abort_gracefully, draw_separator)
32999         (separator_height, XlwMenuInitialize):
33000         Use emacs_abort, not abort.  Without this change, some calls
33001         to ‘abort’ were invalid, as stdlib.h was not always included.
33002         * src/widget.c (resources, emacsFrameClassRec):
33003         * src/xfns.c (x_window) [USE_X_TOOLKIT]:
33004         * src/xmenu.c (create_and_show_popup_menu) [USE_X_TOOLKIT]:
33005         * src/xterm.c (emacs_options) [USE_X_TOOLKIT}:
33006         (x_term_init) [USE_X_TOOLKIT]:
33007         Cast string constants to char * to pacify --enable-gcc-warnings.
33009 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
33011         * doc/misc/tramp.texi (Android shell setup): Require adb program
33013 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
33015         Adapt tramp-tests.el
33017         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name)
33018         (tramp-test24-file-name-completion): Call
33019         `tramp-completion-mode-p' with argument.
33021 2017-03-10  Thien-Thi Nguyen  <ttn@gnu.org>
33023         [doc] Replace bindat example: s/fortune cookie/rfc868 payload/
33025         * doc/lispref/processes.texi (Bindat Examples):
33026         Mention two examples in intro blurb; rewrite first example.
33028 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
33030         Simplify checks for xdg-open and xdg-email
33032         browse-url's xdg-open detection was too picky on some GNU/Linux
33033         desktops; see Bug#25778.  Simplify the code by assuming xdg-open works
33034         if it is executable, as nowadays this is more likely to be correct than
33035         trying to use heuristics from a few years ago.  Don't test for nohup: it
33036         is ineffective nowadays, as xdg-open's child uses the default action for
33037         SIGHUP even if xdg-open's invoker ignores SIGHUP.  While we're at it,
33038         allow for Wayland here, as "emacs -nw" might be running in a non-X
33039         Wayland terminal.
33040         * lisp/mail/emacsbug.el (report-emacs-bug-can-use-xdg-email):
33041         * lisp/net/browse-url.el (browse-url-can-use-xdg-open):
33042         Simplify to a test for DISPLAY and whether the helper program is
33043         executable.  Allow WAYLAND_DISPLAY as an option.
33045 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
33047         Byte compile cond clauses without any bodies correctly.
33049         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): When a
33050         cond clause has no body, push t on to the stack.
33052 2017-03-09  Michael Albinus  <michael.albinus@gmx.de>
33054         Fix bug#23006
33056         * lisp/minibuffer.el (completion--nth-completion):
33057         Let-bind `non-essential'.
33059         * lisp/net/tramp.el (tramp-completion-mode): Fix docstring.
33060         (tramp-completion-mode-p): Optional parameter VEC.  Replace
33061         check for `last-input-event' by analysing VEC argument.
33062         (tramp-error-with-buffer, tramp-file-name-handler)
33063         (tramp-connectable-p, tramp-handle-file-name-as-directory):
33064         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
33066 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
33068         etc/NEWS: Add entry for new `switch' bytecode.
33070 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
33072         * src/data.c (arithcompare): Add comments.
33074 2017-03-08  Glenn Morris  <rgm@gnu.org>
33076         Update a cl-print test
33078         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
33079         Update for recent change in cl-print-object function output.
33081 2017-03-08  Sam Steingold  <sds@gnu.org>
33083         Replace change-log-date-face -> change-log-date
33085         This fixes c430f7e23fc2c22f251ace4254e37dea1452dfc3.
33087 2017-03-08  Michael Albinus  <michael.albinus@gmx.de>
33089         Fix bug#26011
33091         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
33092         Check, whether file is too large.  (Bug#26011)
33094 2017-03-08  Andreas Schwab  <schwab@linux-m68k.org>
33096         * src/data.c (minmax_driver): Use CHECK_NUMBER_OR_FLOAT_COERCE_MARKER.
33097         (Fmax, Fmin): Restore documentation.
33099         * src/data.c (cons_to_unsigned, cons_to_signed, Fstring_to_number): Reorder
33100         comparisons that are written backward.
33102 2017-03-08  Thien-Thi Nguyen  <ttn@gnu.org>
33104         [doc elisp] Add some index entries for "old" advice mechanism
33106         * doc/lispref/functions.texi (Porting old advice):
33107         Add one @cindex and two @findex entries.
33109 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
33111         * etc/NEWS: Adjust to match previous patch.
33113 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
33115         min and max should not return markers
33117         Problem reported by Glenn Morris in:
33118         https://lists.gnu.org/r/emacs-devel/2017-03/msg00147.html
33119         * src/data.c (minmax_driver): Convert any marker result to an
33120         integer, since some callers assume this.
33121         * test/src/data-tests.el (data-tests-max, data-tests-min):
33122         Test for this.
33124 2017-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
33126         * lisp/emacs-lisp/cl-print.el (cl-print-object): Use #f(..) for functions.
33128 2017-03-08  Alan Third  <alan@idiocy.org>
33130         Add missing timeout value in ns_select
33132         * src/nsterm.m (ns_select): Set timeout to distant future when relying
33133         on fd_handler's timeout.
33135 2017-03-07  Glenn Morris  <rgm@gnu.org>
33137         * admin/update_autogen: Ensure nt/gnulib.mk exists, for autoreconf.
33139 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
33141         Remove isnan hack for Solaris 10 gcc 3.4.3
33143         This seems to have been a false alarm (Bug#26018).
33144         * src/data.c (isnan):
33145         * src/floatfns.c (isfinite, isnan):
33146         Use standard implementation if available.
33148 2017-03-07  Eli Zaretskii  <eliz@gnu.org>
33150         Support browsing URLs with embedded spaces on MS-Windows
33152         * lisp/net/browse-url.el (browse-url-default-windows-browser):
33153         Unhex %XX hex-encoded characters, as w32-shell-execute doesn't
33154         support that in file:// URLs.  (Bug#26014)
33156 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
33158         Define copysign on all platforms
33160         * configure.ac (copysign): Remove test.
33161         * src/floatfns.c (signbit): New macro, if not already defined.
33162         (Fcopysign): Use it instead of copysign.
33163         (Fcopysign, syms_of_floatfns): Define the function on all platforms.
33165 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
33167         Revert "Replace ldefs-boot with a much smaller file"
33169         This reverts commit c27b645956a11fab1dd8fa189254d525390958f5.
33171         This commit has been reverted because the new mechanism was too
33172         sensitive to changes in the lisp source, generation of new ldefs-boot
33173         files was platform specific and resulted in warnings about undefined
33174         variables.
33176         See also 11436e2890d.
33178 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
33180         Revert "Record autoloads till emacs dump"
33182         This reverts commit 72c668a9042ac6475eadedfee5c87fb1e6b2d753.
33184         This commit has been reverted because the new mechanism was too
33185         sensitive to changes in the lisp source, generation of new ldefs-boot
33186         files was platform specific and resulted in warnings about undefined
33187         variables.
33189         See also 11436e2890d.
33191 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
33193         Revert "Remove unused ldefs-boot.el"
33195         This reverts commit ef8c9f8fc922b615aca91b47820d1f1900fddc96.
33197         This commit has been reverted because the new mechanism was too
33198         sensitive to changes in the lisp source, generation of new ldefs-boot
33199         files was platform specific and resulted in warnings about undefined
33200         variables.
33202         See also 11436e2890d.
33204 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
33206         Revert "Remove conditional includes from bootstrap"
33208         This reverts commit 1b946305182312faa7fcd838caf55dcb07b2ab04.
33210         This commit has been reverted because the new mechanism was too
33211         sensitive to changes in the lisp source, generation of new ldefs-boot
33212         files was platform specific and resulted in warnings about undefined
33213         variables.
33215         See also 11436e2890d.
33217 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
33219         Revert "Speed generation of ldefs-boot-auto"
33221         This reverts commit 7b5e1c8238ef961fd3305b1dce053b9bced684ba.
33223         This commit has been reverted because the new mechanism was too
33224         sensitive to changes in the lisp source, generation of new ldefs-boot
33225         files was platform specific and resulted in warnings about undefined
33226         variables.
33228         See also 11436e2890d.
33230 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
33232         Revert "Fix minor problems with loaddefs autogeneration"
33234         This reverts commit f2bd2c1e6476acc71e71f6cb2a1c56c5edd900ba.
33236         This commit has been reverted because the new mechanism was too
33237         sensitive to changes in the lisp source, generation of new ldefs-boot
33238         files was platform specific and resulted in warnings about undefined
33239         variables.
33241 2017-03-07  Noam Postavsky  <npostavs@gmail.com>
33243         Set default when asking for send-mail-function (Bug#25874).
33245         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp): Pass first
33246         option as default for `completing-read'.
33248 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
33250         min and max now return one of their arguments
33252         * doc/lispref/numbers.texi (Comparison of Numbers):
33253         * etc/NEWS: Document this.
33254         * src/data.c (Amax, Amin): Remove constants.  All uses removed.
33255         (minmax_driver): New function.
33256         (Fmax, Fmin): Use it instead of arith_driver.
33257         * test/src/data-tests.el (data-tests-max, data-tests-min): New tests.
33259 2017-03-06  Alan Third  <alan@idiocy.org>
33261         Remove NSEvent loop from ns_select (bug#25265)
33263         * src/nsterm.m (ns_select): Remove event processing loop and replace
33264         with simple test for a new event.
33266 2017-03-06  Eli Zaretskii  <eliz@gnu.org>
33268         A better fix for bug#25845
33270         * src/xdisp.c (font_for_underline_metrics): New function.
33271         * src/dispextern.h: Add its prototype.
33272         * src/xterm.c (x_draw_glyph_string):
33273         * src/w32term.c (x_draw_glyph_string):
33274         * src/nsterm.m (ns_draw_text_decoration): Call it.  This avoids
33275         having identical code 3 times in 3 different files.
33277 2017-03-06  Noam Postavsky  <npostavs@gmail.com>
33279         Fix warning message about native completion (Bug#25984)
33281         * lisp/progmodes/python.el (python-shell-completion-native-turn-on-maybe):
33282         The relevant variable is `python-shell-completion-native-enable'.
33284 2017-03-06  Tom Tromey  <tom@tromey.com>
33286         Fix typos in EIEIO manual
33288         * doc/misc/eieio.texi (Slot Options, Class Options): Fix typos.
33290 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
33292         Merge from gnulib
33294         This incorporates:
33295         2017-03-04 dtotimespec: simplify
33296         * lib/dtotimespec.c: Copy from gnulib.
33298 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
33300         ffloor etc. now accept only floats
33302         * etc/NEWS: Say why.
33303         * src/floatfns.c (Ffceiling, Fffloor, Ffround, Fftruncate):
33304         Require arg to be float.
33305         * test/src/floatfns-tests.el (fround-fixnum): Check this.
33307 2017-03-05  Eli Zaretskii  <eliz@gnu.org>
33309         Fix display of cursor on underlined text
33311         * src/nsterm.m (ns_draw_text_decoration):
33312         * src/xterm.c (x_draw_glyph_string):
33313         * src/w32term.c (x_draw_glyph_string): Compute the position and
33314         thickness of the underline by looking for the first glyph of the
33315         run of underlined glyphs that includes the glyph string we are
33316         drawing.  (Bug#25845)
33318 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
33320         Add more CL concept index items, print Concept Index
33322         * doc/misc/cl.texi: Print concept index.
33323         (Generalized Variables, Variable Bindings):
33324         (Dynamic Bindings, Function Bindings, Macro Bindings, Conditionals):
33325         (Blocks and Exits, Iteration, Multiple Values): Add concept index
33326         items.
33328 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
33330         Add 'loop facility' to the CL concept index
33332         * doc/misc/cl.texi (Loop Facility): Add "loop facility" as a concept
33333         index item.
33335 2017-03-05  martin rudalics  <rudalics@gmx.at>
33337         In `window--display-buffer' fix behavior reported in Bug#25946
33339         * lisp/window.el (window--display-buffer): Set the dedicated
33340         status of the window used and clear its history of previous
33341         buffers also for the case that the window already shows the
33342         buffer to be displayed.  (Bug#25946)
33344 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
33346         Compare and round more carefully
33348         * etc/NEWS: Document this.
33349         * src/data.c (store_symval_forwarding):
33350         * src/sound.c (parse_sound):
33351         Do not botch NaN comparison.
33352         * src/data.c (cons_to_unsigned, cons_to_signed):
33353         Signal an error if a floating-point arg is not integral.
33354         * src/data.c (cons_to_unsigned, cons_to_signed):
33355         * src/fileio.c (file_offset):
33356         Use simpler overflow check.
33357         * src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
33358         Avoid rounding error in overflow check.
33359         (Fcar_less_than_car): Use arithcompare directly.
33360         * test/src/charset-tests.el: New file.
33362 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
33364         Fewer rounding errors with (format "%f" fixnum)
33366         * etc/NEWS: Document this.
33367         * src/editfns.c (styled_format): When formatting integers via a
33368         floating-point format, use long double instead of double
33369         conversion, if long double’s extra precision might help.
33371 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
33373         * src/floatfns.c (Fftruncate): Simplify via emacs_trunc.
33375         * src/editfns.c (styled_format): Omit unnecessary code for "%0d" etc.
33377 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
33379         Clarify documentation of 'raise' and 'height' display specs
33381         * doc/lispref/display.texi (Other Display Specs): Clarify the
33382         effect of 'height' display spec on the following 'raise'.
33383         (Bug#25824)
33385 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
33387         Fix header shown by Info 'L' command
33389         * lisp/info.el (Info-history-find-node): A better heading for the
33390         list of visited nodes.  (Bug#25876)
33392 2017-03-04  K. Handa  <handa@gnu.org>
33394         Add a section about incorrect Bengali rendering.
33396 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
33398         Fix minor problems with loaddefs autogeneration
33400         * admin/ldefs-clean.el (ldefs-clean): Bind coding-system-for-read
33401         and coding-system-for-write, to produce a UTF-8 file with Unix
33402         EOLs on MS-Windows.
33404         * lisp/ldefs-boot-manual.el (image-type): Add autoload cookie.
33406 2017-03-04  David Bremner  <david@tethera.net>  (tiny change)
33408         Fix issues with dedicated windows in shr.el
33410         * lisp/net/shr.el (shr-pixel-buffer-width, shr-render-td-1): Make
33411         the window not dedicated, to avoid errors if it was, before
33412         setting its buffer temporarily.  (Bug#25828)
33414 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
33416         Mention problems with GPaste in PROBLEMS
33418         * etc/PROBLEMS (GPaste): Mention the problem in yanking caused by
33419         GPaste, and its solution.  (Bug#25902)
33421 2017-03-04  Glenn Morris  <rgm@gnu.org>
33423         Avoid duplicate gud menu items with gdb-mi
33425         * lisp/progmodes/gud.el (gud-menu-map): Avoid duplicate "Run"
33426         entries in gdbmi mode.  (Bug#23923)
33428 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
33430         * src/editfns.c (styled_format): Omit unnecessary code.
33432 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
33434         logb now works correctly on large integers
33436         * admin/merge-gnulib (GNULIB_MODULES): Add count-leading-zeros.
33437         * etc/NEWS: Document the change.
33438         * lib/count-leading-zeros.c, lib/count-leading-zeros.h:
33439         * m4/count-leading-zeros.m4: New files, copied from Gnulib.
33440         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
33441         * src/floatfns.c: Include count-leading-zeros.h.
33442         (Flogb): Do not convert fixnum to float before taking the log,
33443         as the rounding error can cause the answer to be off by 1.
33444         * src/lisp.h (EMACS_UINT_WIDTH): New constant.
33445         * test/src/floatfns-tests.el (logb-extreme-fixnum): New test.
33447 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
33449         Merge from gnulib
33451         This incorporates:
33452         2017-02-25 maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
33453         2017-02-24 ftoastr: port to -Wdouble-promotion
33454         * lib/ftoastr.c, m4/gnulib-common.m4: Copy from gnulib.
33456 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
33458         Avoid duplicating characters recorded in macros
33460         * src/keyboard.c (record_char): Don't store in macro definitions
33461         characters that came from executing a macro.  (Bug#25860)
33463 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
33465         Fix color component calculations in color.el
33467         * lisp/color.el (color-name-to-rgb): Use 16 bits per color component.
33468         (color-rgb-to-hex): Accept an optional argument
33469         DIGITS-PER-COMPONENT, defaulting to 4, and format the hexadecimal
33470         notation either for 8 or 16 bits per component.  (Bug#25890)
33471         * lisp/net/shr-color.el (shr-color->hexadecimal): Call
33472         color-rgb-to-hex with the optional argument of 2, to match color
33473         processing on the Web.
33475 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
33477         Use lexical binding in benchmark.el
33479         * lisp/emacs-lisp/benchmark.el: Enable lexical binding.
33480         (benchmark-elapse): Use 'declare'.
33481         * test/lisp/emacs-lisp/benchmark-tests.el: Add test suite.
33483 2017-03-03  Noam Postavsky  <npostavs@gmail.com>
33485         Switch pp.el to lexical binding
33487         Additionally, do some minor code cleanup.
33489         * lisp/emacs-lisp/pp.el: Set lexical-binding.
33490         (pp-buffer): Use skip-syntax-forward.
33491         (pp-eval-expression): Use push.
33492         (pp-last-sexp): Use with-syntax-table.
33493         * test/lisp/emacs-lisp/pp-tests.el: New tests.
33495 2017-03-03  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
33497         Fix completing-read call in reb-change-syntax
33499         * lisp/emacs-lisp/re-builder.el (reb-change-syntax): Use 'default' arg
33500         of completing-read.
33502 2017-03-03  Rolf Ade  <rolf@pointsman.de>  (tiny change)
33504         sql-mode w/ sqlite: In-memory database
33506         Enable the usage of an in-memory database. Prior to this, sql-mode w/
33507         sqlite could only be used with file databases.
33508         * lisp/progmodes/sql.el (sql-get-login-ext): Don't expand an empty
33509         file name provided by the user, but call sub-process sqlite with that,
33510         in which case it uses an in-memory database.
33512 2017-03-03  Allen Li  <vianchielfaura@gmail.com>
33514         Stop abbrev-prefix-mark from adding extra newline (Bug#25767)
33516         `abbrev--before-point' does not adjust `pos' to account for when it
33517         deletes the "-" left by abbrev-prefix-mark.  Therefore, when
33518         `abbrev-before-point' goes to restore point, it moves point one
33519         character too far forward.
33521         * lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".
33523 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
33525         * lisp/subr.el (apply-partially): Move to 'Basic Lisp functions' section.
33527 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
33529         Restore XFLOATINT but with restricted args
33531         Turn instances of extract_float into XFLOAT_DATA when possible,
33532         and to a resurrected XFLOATINT when the arg is a number.
33533         The resurrected XFLOATINT is more like XFLOAT and XINT in
33534         that is valid only if its arg is a number.  This clarifies
33535         the ways in which floats can be extracted at the C level.
33536         * src/editfns.c (styled_format):
33537         * src/floatfns.c (extract_float, Fexpt):
33538         Use XFLOATINT rather than open-coding it.
33539         * src/fns.c (internal_equal):
33540         * src/image.c (imagemagick_load_image):
33541         * src/xdisp.c (resize_mini_window):
33542         Prefer XFLOAT_DATA to extract_float on values known to be floats.
33543         * src/frame.c (x_set_screen_gamma):
33544         * src/frame.h (NUMVAL):
33545         * src/image.c (x_edge_detection, compute_image_size):
33546         * src/lread.c (read_filtered_event):
33547         * src/window.c (Fset_window_vscroll):
33548         * src/xdisp.c (handle_single_display_spec, try_scrolling)
33549         (redisplay_window, calc_pixel_width_or_height, x_produce_glyphs)
33550         (on_hot_spot_p):
33551         Prefer XFLOATINT to extract_float on values known to be numbers.
33552         * src/lisp.h (XFLOATINT): Bring back this function, except
33553         it now assumes its argument is a number.
33555 2017-03-02  Glenn Morris  <rgm@gnu.org>
33557         Ert commands to error if no test at point (bug#25931)
33559         * lisp/emacs-lisp/ert.el (ert-results-mode-menu):
33560         Deactivate some items if no test at point.
33561         (ert--results-test-at-point-no-redefinition):
33562         Add option to signal an error rather than return nil.
33563         (ert-results-pop-to-backtrace-for-test-at-point)
33564         (ert-results-pop-to-messages-for-test-at-point)
33565         (ert-results-pop-to-should-forms-for-test-at-point)
33566         (ert-results-describe-test-at-point): Error if no test at point.
33568 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
33570         Remove XFLOATINT
33572         * src/lisp.h (XFLOATINT): Remove this alias for extract_float.
33573         All callers changed to use extract_float.
33574         * src/frame.h (NUMVAL): Now an inline function, not a macro.
33576 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
33578         Fix rounding errors in <, =, etc.
33580         * etc/NEWS: Document this.
33581         * src/bytecode.c (exec_byte_code):
33582         * src/data.c (arithcompare):
33583         Do not lose information when comparing floats to integers.
33584         * test/src/data-tests.el (data-tests-=, data-tests-<)
33585         (data-tests->, data-tests-<=, data-tests->=):
33586         Test this.
33588 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
33590         Fix display of mouse-highlight produced by overlapping overlays
33592         * src/xfaces.c (face_at_buffer_position): If called to find the
33593         mouse-face, only consider the highest-priority source for that
33594         face, and ignore the rest.  Previously, all the mouse-face
33595         definitions at POS were merged in that case.
33596         * src/xdisp.c (note_mouse_highlight): Record the overlay that
33597         specifies mouse-face _after_ clearing the info about the previous
33598         overlay, so as not to clear the information about the just-recorded
33599         overlay.  (Bug#25906)
33601 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
33603         Fix display of strike-through text in variable-height lines
33605         * src/nsterm.m (ns_draw_text_decoration):
33606         * src/xterm.c (x_draw_glyph_string):
33607         * src/w32term.c (x_draw_glyph_string): Fix calculation of the
33608         strike-through y-coordinate for a glyph row which is taller than
33609         the strike-through text.  (Bug#25907)
33611 2017-03-02  Martin Rudalics  <rudalics@gmx.at>
33613         Don't call x_net_wm_state for scroll bar windows (Bug#24963, Bug#25887)
33615         * src/xterm.c (handle_one_xevent): For ConfigureNotify events
33616         don't call x_net_wm_state when the window is a scroll bar window.
33617         (Bug#24963, Bug#25887)
33619 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
33621         gnus-summary-select-article-buffer: Don't re-render existing article
33623         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
33624         Don't re-render existing article.
33626 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
33628         Don't add debbugs address to message body (bug#25896)
33630         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
33631         Don't add debbugs address to message body (bug#25896), and
33632         don't add it to message header either if it already exists.
33634 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
33636         * lisp/cedet/semantic/db-global.el: Make dynbind use explicit
33638         (semanticdb--ih): Declare.
33639         (semanticdb-enable-gnu-global-databases): Use it instead of `ih'.
33640         (semanticdb-enable-gnu-global-in-buffer, semanticdb-get-database-tables)
33641         (semanticdb-find-tags-for-completion-method): Silence compiler warning.
33643 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
33645         * lisp/help-fns.el (describe-variable): Use cl-print for the value
33647         Use `pp-buffer' rather than `pp' so as to avoid calling prin1 twice.
33649 2017-03-02  Glenn Morris  <rgm@gnu.org>
33651         * test/lisp/net/puny-tests.el: New file.
33653 2017-03-02  Glenn Morris  <rgm@gnu.org>
33655         Small puny.el fix
33657         * lisp/net/puny.el (puny-decode-string-internal):
33658         Handle strings with no ascii parts.  (Bug#23688)
33660 2017-03-02  Glenn Morris  <rgm@gnu.org>
33662         Small recover-this-file improvement
33664         * lisp/files.el (recover-this-file): Explicit error if not
33665         visiting a file.  (Bug#23671)
33667 2017-03-01  Glenn Morris  <rgm@gnu.org>
33669         Fix for coding-system completion (bug#23670)
33671         * lisp/international/mule.el (read-buffer-file-coding-system):
33672         Ensure that completion-pcm--delim-wild-regex is enclosed in parens,
33673         so that completion-pcm--pattern->regex can append "*?".
33675 2017-03-01  Paul Eggert  <eggert@cs.ucla.edu>
33677         Fix rounding error in ‘ceiling’ etc.
33679         Without this fix, (ceiling most-negative-fixnum -1.0) returns
33680         most-negative-fixnum instead of correctly signaling range-error,
33681         and similarly for floor, round, and truncate.
33682         * configure.ac (trunc): Add a check, since Gnulib’s doc says
33683         ‘trunc’ is missing from MSVC 9.  The Gnulib doc says ‘trunc’ is
33684         also missing from some other older operating systems like Solaris
33685         9 which I know we don’t care about any more, so MSVC is the only
33686         reason to worry about ‘trunc’ here.
33687         * src/editfns.c (styled_format): Formatting a float with %c is now an
33688         error.  The old code did not work in general, because FIXNUM_OVERFLOW_P
33689         had rounding errors.  Besides, the "if (FLOATP (...))" was in there
33690         only as a result of my misunderstanding old code that I introduced
33691         2011.  Although %d etc. is sometimes used on floats that represent
33692         huge UIDs or PIDs etc. that do not fit in fixnums, this cannot
33693         happen with characters.
33694         * src/floatfns.c (rounding_driver): Rework to do the right thing
33695         when the intermediate result equals 2.305843009213694e+18, i.e.,
33696         is exactly 1 greater than MOST_POSITIVE_FIXNUM on a 64-bit host.
33697         Simplify so that only one section of code checks for overflow,
33698         rather than two.
33699         (double_identity): Remove.  All uses changed to ...
33700         (emacs_trunc): ... this new function.  Add replacement for
33701         platforms that lack ‘trunc’.
33702         * src/lisp.h (FIXNUM_OVERFLOW_P, make_fixnum_or_float):
33703         Make it clear that the arg cannot be floating point.
33704         * test/src/editfns-tests.el (format-c-float): New test.
33705         * test/src/floatfns-tests.el: New file, to test for this bug.
33707 2017-03-01  Glenn Morris  <rgm@gnu.org>
33709         Small help--loaded-p fix
33711         * lisp/help-fns.el (help--loaded-p): Handle entry in load-history
33712         with nil file name.  (Bug#25847)
33714 2017-03-01  Leo Liu  <sdl.web@gmail.com>
33716         * src/fns.c (Fbuffer_hash): Doc fix.
33718 2017-03-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
33720         Don't use mapconcat with chars in gnus registry marks (Bug#25839)
33722         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
33723         Instead, use a plain concat, which will create a string out of a list
33724         of characters.
33726 2017-03-01  Noam Postavsky  <npostavs@gmail.com>
33728         Fix epg-tests with dummy-pinentry program (Bug#23619)
33730         * test/data/epg/dummy-pinentry: New file.
33731         * test/lisp/epg-tests.el (with-epg-tests): Add it to gpg-agent.conf
33732         when a passphrase is required.  Add debug declaration.  Set
33733         GPG_AGENT_INFO non-destructively.
33735 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
33737         Speed generation of ldefs-boot-auto
33739         Previously, generation of ldefs-boot-auto required at least one full
33740         bootstrap and, in extreme cases, two. Now, from build system, it
33741         requires the same time as taken to dump Emacs.
33743         * Makefile.in: Remove all calls, pass to src.
33744         * admin/ldefs-clean.el: Update for changed messages.
33745         * lisp/Makefile.in (compile-first-delete): Add.
33746         * lisp/ldefs-boot-auto.el: Update.
33747         * src/Makefile.in (generate-ldefs-boot): Add.
33749 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
33751         Add error handling to magic-mode-alist
33753         * lisp/files.el (set-auto-mode): Add explicit error handling in two
33754           places.
33756 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
33758         Remove conditional includes from bootstrap
33760         Previously, bootstrap-emacs includes optional functionality, depending
33761         on the platform which is not needed for bootstrap function.  As a
33762         result, bootstrap-emacs contains different functions in different
33763         circumstances.  If ldefs-boot-auto.el is generated, then loaded
33764         functions will not be added to ldefs-boot-auto.el, although they may be
33765         required during some builds.  With this change, bootstrap-emacs should
33766         always behave the same way and, therefore, require the same autoloads.
33768          * lisp/loadup.el: No longer load optional includes during bootstrap
33769            dumping.
33770          * lisp/ldefs-boot-auto.el: Regenerate.
33771          * lisp/ldefs-boot-manual.el: Add two autoloads.
33773 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
33775         Do not use find-file non-interactively
33777          * lisp/international/titdic-cnv.el (miscdic-convert): Use
33778            insert-file-contents in place of find-file.
33780 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
33782         * src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc
33784         (update_overlay_arrows): Skip non-markers.
33786 2017-02-28  Ken Brown  <kbrown@cornell.edu>
33788         Try to avoid hang when logging out of MS-Windows
33790         * src/w32term.c (x_update_window_begin, x_update_window_end)
33791         (my_show_window, my_set_window_pos, my_set_focus)
33792         (my_set_foreground_window, my_destroy_window)
33793         (my_bring_window_to_top, x_iconify_frame): Replace calls to
33794         SendMessage by calls to SendMessageTimeout with a 6-second
33795         timeout.  (Bug#25875)
33797 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
33799         * lisp/textmodes/reftex-toc.el (reftex-re-enlarge): Demote errors.
33801 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
33803         * doc/misc/eieio.texi: Update to account for the cl-generic facilities
33805         (Quick Start, Class Options, Generics): Adjust names for cl-generic.
33806         (Methods): Document cl-defmethod.
33807         Explain in more detail the order in which the various
33808         methods are executed.  Document the conditions under which a method
33809         is redefined.  Remove reference to `eieio-generic-call-arglst`.
33810         Don't document the precise return value of cl-next-method-p.
33811         (Static Methods): Adjust to use `subclass` specializer.
33812         (Method Invocation): Use cl-call-next-method and drop mention of :primary.
33813         (Signal Handling, Signals): Adjust names and args for cl-generic; add
33814         cl-no-primary-method.
33815         (CLOS compatibility, Wish List): Adjust to new featureset.
33817 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
33819         * lisp/cedet/mode-local.el (define-mode-local-override): Declare doctring.
33821         * lisp/nxml/nxml-mode.el (nxml-mode): Use new sgml-syntax-propertize.
33823 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
33825         * lisp/textmodes/sgml-mode.el: syntax-propertize <![CDATA and <?..?>
33827         (sgml-syntax-propertize-function): Mark <![CDATA and <?..?>.
33828         (sgml-syntax-propertize-inside): New fun.
33830 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
33832         * lisp/textmodes/css-mode.el (css-completion-at-point): Auto-insert
33834         ": ;" after completing a property.
33836 2017-02-28  Tino Calancha  <tino.calancha@gmail.com>
33838         Show Ibuffer and jump to line listing current buffer
33840         * lisp/ibuffer.el (ibuffer-jump): New command (Bug#25577).
33842 2017-02-27  Juri Linkov  <juri@linkov.net>
33844         * lisp/vc/add-log.el (change-log-next-buffer): Check if file exists
33846         before adding it to the list of files.
33848 2017-02-27  Juri Linkov  <juri@linkov.net>
33850         Put text properties on query-replace separator string instead of "\0"
33852         * lisp/replace.el (query-replace--split-string):
33853         Split at a substring instead of just character.
33854         (query-replace-read-from): Put text properties on the
33855         separator string instead of "\0".  (Bug#25482)
33857 2017-02-27  Juri Linkov  <juri@linkov.net>
33859         Add file name and its extension to suggestions in dired-mark-files-regexp
33861         * lisp/dired.el (dired-mark-files-regexp): Add file name
33862         and its extension to the list of suggested defaults.  (Bug#25578)
33864 2017-02-27  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
33866         Prompt default extension in dired-mark-extension
33868         * lisp/dired-x.el (dired-mark-extension): Prompt default extension
33869         based on extension of file at point.  (Bug#25578)
33871 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
33873         Prevent for consing in cl-mapc and cl-mapl
33875         * lisp/emacs-lisp/cl-extra.el (cl--mapcar-many): Add optional arg ACC;
33876         If non-nil, accumulate values in the result (Bug#25826).
33877         (cl-mapc): Do computations inside function instead of call cl-map.
33878         (cl-mapl): Do computations inside function instead of call cl-maplist.
33879         * lisp/emacs-lisp/cl-lib.el (mapcar): Add autoload cookie.
33880         Call cl--mapcar-many with non-nil 3rd argument.
33881         * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-map)
33882         (cl-extra-test-mapc, cl-extra-test-mapcar, cl-extra-test-mapl)
33883         (cl-extra-test-maplist): New tests.
33885 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
33887         Choose the right target dir on dired operations
33889         Prevent from changing the input target dir
33890         when dired-dwim-target is non-nil (Bug#25609).
33891         * lisp/dired-aux.el (dired-do-create-files):
33892         If dired-dwim-target is non-nil, then bind 'default' to nil.
33893         * test/lisp/dired-tests.el (dired-test-bug25609): Add test.
33895 2017-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
33897         * src/xdisp.c (overlay_arrows_changed_p): Fix last change.
33899 2017-02-27  Noam Postavsky  <npostavs@gmail.com>
33901         Don't record eshell/clear "command" in history (Bug#25838)
33903         `eshell/clear' is implemented by sending a series of blank lines,
33904         which is not a useful thing to have in the history.
33906         * lisp/eshell/em-hist.el (eshell-input-filter-default): Use
33907         `string-blank-p' which does check for newlines (even though newlines
33908         have comment-end syntax, not whitespace syntax class).
33909         * lisp/eshell/esh-mode.el (eshell/clear): Remove
33910         `eshell-add-to-history' from `eshell-input-filter-functions' while
33911         sending the blank lines.  This change is needed to solve the bug if
33912         the user customizes `eshell-input-filter' to something that doesn't
33913         filter newlines.
33915 2017-02-26  Paul Eggert  <eggert@cs.ucla.edu>
33917         Remove a few unused C functions
33919         * src/eval.c (let_shadows_global_binding_p):
33920         * src/print.c (write_string):
33921         * src/systhread.c (sys_mutex_destroy, sys_thread_equal):
33922         Remove.
33923         * src/print.c (write_string): Rename from write_string_1.
33924         All uses changed.
33926 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
33928         Avoid segfault in overlay_arrows_changed_p
33930         * src/xdisp.c (overlay_arrows_changed_p): Fix recent change
33931         to avoid a segfault.
33933 2017-02-26  Noam Postavsky  <npostavs@gmail.com>
33935         Don't call package--ensure-init-file if initialized during startup
33937         * lisp/emacs-lisp/package.el (package-initialize): Check
33938         `after-init-time' rather than `load-file-name' to decide if
33939         `package--ensure-init-file' should be called.  Depending on
33940         `load-file-name' will fail if the user calls `pacakge-initialize' in
33941         file which is loaded from the init file (Bug#24643, Bug#25819).
33943 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
33945         Fix display of before- and after-strings at invisible text
33947         * src/xdisp.c (next_overlay_string): Don't raise the
33948         ignore_overlay_strings_at_pos_p flag if the iterator is already
33949         set to continue at a buffer position different from the one
33950         where the overlay strings we just processed were loaded.  (Bug#25856)
33952 2017-02-26  Michael Albinus  <michael.albinus@gmx.de>
33954         Work on `tramp-completion-mode-p'
33956         * etc/NEWS: Say that `tramp-completion-mode' is obsolete.
33958         * lisp/net/tramp.el (tramp-completion-mode): Make it obsolete.
33959         (tramp-completion-mode-p): Reintroduce the check for 'tab.
33961 2017-02-25  Tom Tromey  <tom@tromey.com>
33963         Use font-lock-doc-face in js-mode
33965         Bug#25858:
33966         * lisp/progmodes/js.el (js-font-lock-syntactic-face-function): New
33967         defun.
33968         (js-mode): Use it.
33969         * test/lisp/progmodes/js-tests.el (js-mode-doc-comment-face): New
33970         test.
33972 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
33974         Don't use IP 0.0.0.0 for package test server (Bug#22582)
33976         * test/lisp/emacs-lisp/package-resources/package-test-server.py: Set
33977         'server_address' when port number is given on the command line.  Print
33978         IP and port number as a URL, and flush it after printing.
33979         * test/lisp/emacs-lisp/package-tests.el:
33980         (package-test-update-archives-async): Grab the whole URL from server
33981         output.
33983 2017-02-25  Tom Tromey  <tom@tromey.com>
33985         Add more branch support to vc-dir
33987         Bug#25859:
33988         * lisp/vc/vc-dir.el (vc-dir-mode-map) Add "B" bindings.
33989         * lisp/vc/vc.el (vc-revision-history): New defvar.
33990         (vc-read-revision): Use vc-revision-history.
33991         (vc-print-branch-log): New function.
33992         * doc/emacs/maintaining.texi (VC Directory Commands): Document new
33993         bindings.
33994         * etc/NEWS: Mention new vc-dir bindings.
33996 2017-02-25  Alan Mackenzie  <acm@muc.de>
33998         Allow for the :: operator in C++ "enum class" declarations.
34000         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for
34001         "::".
34003 2017-02-25  Michael Albinus  <michael.albinus@gmx.de>
34005         Fix bug#25854
34007         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
34008         Simplify error handling for huge inodes.
34009         (tramp-convert-file-attributes): Handle very huge inodes.  (Bug#25854)
34011 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
34013         Avoid leaving garbage on screen when using 'raise' display property
34015         * src/xdisp.c (display_line): Reset voffset value of the iterator
34016         when it hits ZV, to avoid "inheriting" it to glyph rows past ZV,
34017         which then leaves stuff on screen that needs to be cleared by
34018         redisplay.  (Bug#25855)
34020 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
34022         Fix doc strings in info.el
34024         * lisp/info.el (Info-selection-hook, Info-mode-hook)
34025         (Info-edit-mode-hook): Doc fixes.  (Bug#25794)
34027 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
34029         Fix doc string of 'posn-at-point'
34031         * src/keyboard.c (Fposn_at_point): Clarify the doc string.
34032         (Bug#25796)
34034 2017-02-25  Peder O. Klingenberg  <peder@klingenberg.no>
34036         New option -u / --suppress-output to emacsclient
34038         * lib-src/emacsclient.c (print_help_and_exit, longopts)
34039         (decode_options, main): Implement new option --suppress-output / -u to
34040         suppress printing of eval-results.
34041         * doc/emacs/misc.texi (emacsclient Options): Document the new
34042         "--suppress-output/-u" options.
34043         * etc/NEWS: Mention the new options.
34045 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
34047         Fix scrolling with partial line corner case (Bug#25792)
34049         Also fix up the scrolling tests so that they don't make so many
34050         assumptions about the current window configuration.
34052         * src/xdisp.c (try_window): Take partial line height into account when
34053         comparing cursor position against scroll margin.
34055         * test/manual/scroll-tests.el (scroll-tests-with-buffer-window): Add
34056         HEIGHT argument, to allow setting up window with exact height and
34057         partial line.
34058         (scroll-tests-display-buffer-with-height): New display-buffer action
34059         function.
34060         (scroll-tests-scroll-margin-over-max):
34061         (scroll-tests--scroll-margin-whole-window): Pass HEIGHT to
34062         `scroll-tests--scroll-margin-whole-window'.
34063         (scroll-tests-conservative-show-trailing-whitespace): New test.
34064         (scroll-tests-scroll-margin-negative): Fix line counting.
34065         (scroll-tests--point-in-middle-of-window-p): Set window height
34066         properly.
34068 2017-02-25  Tom Tromey  <tom@tromey.com>
34070         Fix indentation error in js.el
34072         * lisp/progmodes/js.el (js--indent-in-array-comp): Wrap forward-sexp
34073         call in condition-case.
34074         * test/lisp/progmodes/js-tests.el (js-mode-indentation-error): New
34075         test.
34077 2017-02-24  Tom Tromey  <tom@tromey.com>
34079         add "async" and "await" keywords
34081         * lisp/progmodes/js.el (js--keyword-re): Add async, await.
34083 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
34085         Use cl-print for Edebug and EIEIO
34087         * lisp/emacs-lisp/edebug.el (edebug-prin1-to-string): Use cl-print.
34088         (edebug-prin1, edebug-print): Remove.
34090         * lisp/emacs-lisp/eieio.el (object-print): Declare obsolete.
34091         (cl-print-object): Add a method for EIEIO objects.
34092         (eieio-edebug-prin1-to-string): Delete.
34093         (edebug-prin1-to-string): Don't advise any more.
34095         * lisp/emacs-lisp/eieio-datadebug.el (data-debug-insert-object-button):
34096         Replace `object-print' -> `cl-prin1-to-string'.
34098 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
34100         Fix left over uses of `call-next-method'
34102         * lisp/cedet/semantic/db-global.el (object-print):
34103         * lisp/cedet/semantic/db.el (object-print): Use `cl-call-next-method'.
34105 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
34107         Minor redisplay optimizations
34109         * src/frame.c (Ficonify_frame): No need to redisplay everything.
34111         * src/xdisp.c (overlay_arrows_changed_p): Add `set_redisplay' argument.
34112         (redisplay_internal): Use it to avoid redisplaying everything.
34113         (try_window_id): Use it keep the same behavior as before.
34115 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
34117         * lisp/emacs-lisp/cl-print.el: New file
34119         * lisp/emacs-lisp/nadvice.el (advice--where): New function.
34120         (advice--make-docstring): Use it.
34122         * src/print.c (print_number_index): Don't declare here any more.
34123         (Fprint_preprocess): New function.
34125         * test/lisp/emacs-lisp/cl-print-tests.el: New file.
34127 2017-02-24  Peder O. Klingenberg  <peder@klingenberg.no>
34129         Make calc's least common multiple positive (bug#25255)
34131         * lisp/calc/calc-comb.el (calcFunc-lcm): Return absolute value.
34132         * doc/misc/calc.texi (Combinatorial Functions): Update for the above.
34134 2017-02-24  Tino Calancha  <tino.calancha@gmail.com>
34136         Documentation fix in elisp reference manual
34138         * doc/lispref/macros.texi (Defining Macros): Drop redundant mention
34139         on 'declare' forms (Bug#25846).
34141 2017-02-24  Gemini Lasswell  <gazally@runbox.com>
34143         Support read syntax for circular objects in Edebug (Bug#23660)
34145         * lisp/emacs-lisp/edebug.el (edebug-read-special): New name
34146         for edebug-read-function. Handle the read syntax for circular
34147         objects.
34148         (edebug-read-objects): New variable.
34149         (edebug-read-and-maybe-wrap-form1): Reset edebug-read-objects.
34151         * src/lread.c (Fsubstitute_object_in_subtree): Make
34152         substitute_object_in_subtree into a Lisp primitive.
34154 2017-02-24  Lixin Chin  <lixinchin@gmail.com>  (tiny change)
34156         Add Conference to the list of valid bibtex entry types
34158         * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
34159         Add Conference as a duplicate of InProceedings.  (Bug#25143)
34161 2017-02-23  Glenn Morris  <rgm@gnu.org>
34163         * lisp/comint.el (comint-password-prompt-regexp): Add SUDO. (Bug#24817)
34165 2017-02-23  Glenn Morris  <rgm@gnu.org>
34167         Small dunnet score file improvements
34169         * lisp/play/dunnet.el (dun-log-file): Switch to per-user default.
34170         (dun-do-logfile): Handle non-existing score file.
34172 2017-02-23  Glenn Morris  <rgm@gnu.org>
34174         * lisp/play/dunnet.el (dun-help): Doc fix.
34176 2017-02-23  Mark Oteiza  <mvoteiza@udel.edu>
34178         Declare dun-line and dun-line-list
34180         Previously, there were free variables 'line' and 'line-list'.
34181         * lisp/play/dunnet.el (dun-line, dun-line-list): New variables.
34182         (dun-press, dun-vparse, dun-parse2, dun-unix-parse, dun-batch-parse):
34183         (dun-batch-parse2, dun-batch-loop, dun-batch-dos-interface):
34184         (dun-batch-unix-interface): Use them.
34186 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
34188         Merge from gnulib
34190         This incorporates:
34191         2017-02-16 xbinary-io: rename from xsetmode
34192         2017-02-15 xsetmode: new module
34193         * lib-src/etags.c (main):
34194         * lib-src/hexl.c (main):
34195         * src/emacs.c (main) [MSDOS]:
34196         Prefer set_binary_mode to the obsolescent SET_BINARY.
34197         * lib/binary-io.c, lib/binary-io.h: Copy from gnulib.
34199 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
34201         hexl: handle large files and I/O errors
34203         * lib-src/hexl.c: Include inttypes.h, for PRIxMAX etc.
34204         Do not include ctype.h, as the code no longer uses isdigit.
34205         (DEFAULT_GROUPING, un_flag, iso_flag, group_by): Now local to ‘main’.
34206         (DEFAULT_BASE, endian): Remove; was not really used.
34207         (usage): Remove; now done by ‘main’, as that’s simpler.
34208         (progname): Now static.
34209         (output_error, hexchar): New functions.
34210         (main): Use them.  Simplify.  Remove "-oct", "-big-endian", and
34211         "-little-endian" options, as they did not work and were not used.
34212         Use SET_BINARY only on stdin, and fopen with "rb" otherwise.
34213         Use SET_BINARY only once on stdout.
34214         Do not assume file offsets fit in ‘long’.
34215         If an I/O error occurs, report it and exit with nonzero status.
34217 2017-02-23  Eli Zaretskii  <eliz@gnu.org>
34219         Avoid quitting inside a critical section on MS-Windows
34221         * src/w32uniscribe.c (uniscribe_list_family):
34222         * src/w32font.c (w32font_list_family, w32font_text_extents)
34223         (w32font_list_internal, w32font_match_internal)
34224         (list_all_matching_fonts): Prevent quitting while these functions
34225         cons lists of fonts, to avoid leaving the critical section taken
34226         by the main thread, which will then cause any other thread
34227         attempting to enter the critical section to hang.  (Bug#25279)
34229 2017-02-22  Dmitry Gutov  <dgutov@yandex.ru>
34231         Use revision-completion-table in vc-retrieve-tag
34233         * lisp/vc/vc.el (vc-retrieve-tag): Use the
34234         revision-completion-table command for completion (bug#25710).
34236 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
34238         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types): Add `atom'
34240         remove entries whose car can't be returned by type-of.
34241         (cl--generic-all-builtin-types): New var.
34242         (cl-generic-generalizers): Use it to avoid requiring
34243         extra entries in cl--generic-typeof-types.
34245 2017-02-22  Noam Postavsky  <npostavs@gmail.com>
34247         Find macro binding for symbol-bound macros too (Bug#6848)
34249         There are 2 ways to bind a macro: with global-set-key or
34250         kmacro-bind-to-key.  The former binds a key to a symbol, while the
34251         latter binds to a lambda.  In 2010-03-03 "Fix keyboard macro key
34252         lookup (Bug#5481)", `insert-kbd-macro' was fixed to detect the lambda
34253         case, but broke the symbol case.
34255         * lisp/macros.el (insert-kbd-macro): Also check for bindings of
34256         MACRONAME.
34258 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
34260         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix last change
34262 2017-02-22  Juri Linkov  <juri@linkov.net>
34264         * lisp/isearch.el (lazy-highlight-max-at-a-time): Doc fix (bug#21092).
34266 2017-02-22  Juri Linkov  <juri@linkov.net>
34268         * lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.
34270         (isearch-lazy-highlight-update): Check it to decide whether to apply
34271         overlays only on the selected window.
34273         * lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
34274         (Bug#17453, bug#21092)
34276 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
34278         Minor weak hash table performance tweaks
34280         * src/fns.c (make_hash_table): Omit unnecessary assignment to
34281         h->next_weak when the hash table is not weak.
34282         (copy_hash_table): Put the copy next to the original in the
34283         weak_hash_tables list, as this should have better locality
34284         when scanning the weak hash tables.
34286 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
34288         Use float instead of Lisp_Object for rehash_size
34290         * src/alloc.c (purecopy_hash_table):
34291         * src/fns.c (maybe_resize_hash_table, Fmake_hash_table):
34292         (Fhash_table_rehash_size):
34293         * src/lisp.h (struct Lisp_Hash_Table.rehash_size):
34294         The rehash_size member of struct Lisp_Hash_Table is now a
34295         float, not a Lisp_Object.
34296         * src/alloc.c (purecopy_hash_table): Assign members in order.
34297         * src/fns.c (make_hash_table): Use EMACS_INT for size and
34298         float for rehash_size, instead of Lisp_Object for both.
34299         All callers changed.
34300         * src/lisp.h (DEFAULT_REHASH_SIZE): Now float, not double,
34301         and 1 smaller.
34302         * src/print.c (print_object): Simplify by calling
34303         Fhash_table_rehash_size and Fhash_table_rehash_threshold.
34304         Avoid unnecessary NILP.
34306 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
34308         Use ptrdiff_t instead of Lisp_Object for collision
34310         * src/alloc.c (purecopy_hash_table): Assign, don’t purecopy.
34311         * src/fns.c (set_hash_next_slot, set_hash_index_slot): Hash index
34312         arg is now ptrdiff_t index (or -1 if empty), not Lisp_Object
34313         integer (or Qnil if empty).  All callers changed.
34314         (larger_vecalloc): New static function.
34315         (larger_vector): Use it.
34316         (HASH_NEXT, HASH_INDEX): Move here from lisp.h.  Return ptrdiff_t
34317         index (or -1) not Lisp_Object integer (or Qnil).  All callers changed.
34318         * src/fns.c (make_hash_table, maybe_resize_hash_table, hash_lookup)
34319         (hash_put, hash_remove_from_table, hash_clear, sweep_weak_table):
34320         * src/profiler.c (evict_lower_half, record_backtrace):
34321         -1, not nil, is now the convention for end of collision list.
34322         * src/fns.c (maybe_resize_hash_table): Avoid double-initialization
34323         of the free list.  Reallocate H->next last, in case other
34324         reallocations exhaust memory.
34325         * src/lisp.h (struct Lisp_Hash_Table): ‘next_free’ is now
34326         ptrdiff_t, not Lisp_Object.  Adjust commentary for ‘next’ and
34327         ‘index’, which no longer contain nil.
34328         (HASH_NEXT, HASH_INDEX): Move to src/fns.c.
34330 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
34332         Hash table threshold is now float, not double
34334         Change default from 0.8 to 0.8125 so it fits in float without
34335         rounding glitches.
34336         * doc/lispref/hash.texi (Creating Hash):
34337         * doc/lispref/objects.texi (Hash Table Type):
34338         * etc/NEWS:
34339         Document change.
34340         * src/fns.c (make_hash_table, maybe_resize_hash_table)
34341         (Fmake_hash_table): Threshold is now float, not double.
34342         Be consistent about how this is rounded.
34343         * src/lisp.h (struct Lisp_Hash_Table.rehash_threshold):
34344         Change back to float, now that the other code rounds consistently.
34345         (DEFAULT_REHASH_THRESHOLD): Now float 0.8125 instead of double 0.8.
34347 2017-02-22  Juri Linkov  <juri@linkov.net>
34349         Avoid flicker in lazy-highlight by doing all updates without redisplay.
34351         * lisp/isearch.el (lazy-highlight-max-at-a-time):
34352         Change default value from 20 to nil to not trigger redisplay
34353         between updating iterations.
34354         (lazy-highlight-cleanup): New arg ‘procrastinate’ to not remove
34355         overlays when non-nil.
34356         (isearch-lazy-highlight-new-loop): Call lazy-highlight-cleanup
34357         with non-nil second arg when the search string is not empty.
34358         Run timer with isearch-lazy-highlight-start instead of
34359         isearch-lazy-highlight-update.
34360         (isearch-lazy-highlight-start): New function. (Bug#25751)
34362 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
34364         * lisp/emacs-lisp/autoload.el (make-autoload): Support cl-defgeneric
34366         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Tweak for autoloading.
34368 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
34370         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Fix duplication
34372         which resulted in incomplete list of parents in one copy of the
34373         cl-structure-class class.
34375 2017-02-21  Glenn Morris  <rgm@gnu.org>
34377         Tweak recent custom-reevaluate-setting change
34379         * lisp/custom.el (custom-reevaluate-setting):
34380         Tweak previous change to avoid font-lock init issues.
34382 2017-02-21  Glenn Morris  <rgm@gnu.org>
34384         Ensure delayed-init custom variables get marked special
34386         * lisp/custom.el (custom-reevaluate-setting):
34387         If the variable has never been set, defvar it.  (Bug#25770)
34389 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
34391         Turn on lexical-binding in dunnet.el
34393         * lisp/play/dunnet.el: Turn on lexical-binding.  Re-instate lexical
34394         byte compile warnings.
34396 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
34398         Make dunnet insertion functions n-ary
34400         * lisp/play/dunnet.el (dun-mprinc, dun-mprincl, dun-minsert):
34401         (dun-minsertl, dun-batch-mprinc, dun-batch-mprincl): Change to accept
34402         any number of arguments.
34403         (dun-parse, dun-describe-room, dun-quit, dun-inven, dun-shake):
34404         (dun-take, dun-go, dun-move, dun-press, dun-score):
34405         (dun-compile-save-out, dun-do-logfile): Collect arguments from
34406         multiple insertion calls into less calls with more args.
34408 2017-02-21  Katsumi Yamaoka  <yamaoka@jpl.org>
34410         message-goto-body-1: Fix regexp so as not to match multi-line
34412         * lisp/gnus/message.el (message-goto-body-1):
34413         Fix regexp so as not to match multi-line.
34415 2017-02-20  Noam Postavsky  <npostavs@gmail.com>
34417         Simplify cl-get using `plist-member'
34419         * lisp/emacs-lisp/cl-extra.el (cl-get, cl-getf, cl--set-getf): Use
34420         `plist-member' instead of explicit loop.
34421         * test/lisp/emacs-lisp/cl-extra-tests.el: New tests.
34423 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
34425         Verify xwidget USE_LSB_TAG assumption
34427         * src/xwidget.c (Fxwidget_webkit_execute_script):
34428         Add verification.  Problem reported by Andreas Schwab (Bug#25816#8).
34430 2017-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>
34432         * src/insdel.c (make_gap): Improve comment.
34434 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
34436         Do not use switch-to-buffer for working in a temp buffer
34438         * lisp/play/dunnet.el (dunnet): Use pop-to-buffer-same-window instead,
34439         cf. Bug#22244.
34440         (dun-load-d, dun-eval, dun-save-game, dun-do-logfile): Use
34441         with-temp-buffer instead.
34443 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
34445         Make dun-room-shorts a defconst
34447         * lisp/play/dunnet.el (dun-room-shorts): Make defconst and collect
34448         initial value into the declaration.
34449         (dun-space-to-hyphen): Remove.
34451 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
34453         Port xwidget to -DCHECK_LISP_OBJECT_TYPE
34455         * src/xwidget.c (webkit_javascript_finished_cb)
34456         (Fxwidget_webkit_execute_script): Don't assume Lisp_Object is an
34457         integer.  This fix is just a hack; I’ll file a bug report about
34458         the underlying problem.
34460 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
34462         mm-decode.el: Simplify regexp used to search html meta tag
34464         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag, mm-shr):
34465         Simplify regexp used to search html meta tag.
34467 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
34469         mm-shr: Ignore coding-system `ascii'
34471         * lisp/gnus/mm-decode.el (mm-shr): Ignore coding-system `ascii'.
34473 2017-02-20  Tom Tromey  <tom@tromey.com>
34475         vc-log-outgoing fixes for git; add binding to vc-dir
34477         * lisp/vc/vc-dir.el (vc-dir-mode-map): Bind "O" to vc-log-outgoing.
34478         * lisp/vc/vc-git.el (vc-git-log-outgoing, vc-git-log-incoming): Use
34479         async execution.
34480         (vc-git-log-view-mode): Also truncate lines for log-outgoing and
34481         log-incoming.
34482         * lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Don't pass nil
34483         as remote-location argument.
34485 2017-02-20  Tom Tromey  <tom@tromey.com>
34487         Remove stale comments from vc-git and vc-hg
34489         * lisp/vc/vc-git.el (vc-git-retrieve-tag): Remove comment.
34490         * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Remove comment.
34492 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
34494         Remove member clone
34496         * lisp/play/dunnet.el (dun-answer): Use member instead.
34497         (dun-members): Remove.
34499 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
34501         Prefix global var
34503         * lisp/play/dunnet.el (room): Rename to dun-room.
34504         (dun-messages, dunnet, dun-describe-room, dun-drop, dun-move):
34505         (dun-restore, dun-do-logfile, dun-batch-loop): Use new name.
34507 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
34509         Replace nested ifs with cond
34511         * lisp/play/dunnet.el (dun-messages, dun-describe-room, dun-examine):
34512         (dun-eat, dun-put-objs, dun-turn, dun-press, dun-ls, dun-cd): Use when
34513         and cond where appropriate.
34514         (dun-sauna-heat): Accept sauna level as an argument.  Use cond.
34515         (dun-take): Use null and dun-mprincl.
34516         (dun-inven-weight, dun-load-d): Reformat.
34517         (dun-remove-obj-from-inven, dun-remove-obj-from-room): Nix setq to nil.
34519 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
34521         Fix glitches in recent hash table changes
34523         * src/fns.c (Fmake_hash_table): Simplify the machine code slightly
34524         by using 0 rather than -1.
34525         * src/lisp.h (struct Lisp_Hash_Table.pure): Now bool rather
34526         than a bitfield, for speed (the bitfield did not save space).
34527         (struct Lisp_Hash_Table.rehash_threshold): Now double rather than
34528         float, since the float caused unwanted rounding errors, e.g.,
34529         (hash-table-rehash-threshold (make-hash-table)) yielded
34530         0.800000011920929 instead of the correct 0.8.
34532 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
34534         * src/insdel.c (make_gap): Increase enough to avoid O(N^2) behavior.
34536 2017-02-19  Eli Zaretskii  <eliz@gnu.org>
34538         Avoid aborts during loadup
34540         * src/emacs-module.c (syms_of_module):
34541         * src/image.c (xpm_make_color_table_h): Update calls to
34542         make_hash_table to adjust to a recent change in fns.c.
34543         * src/fns.c (make_hash_table):
34544         * src/lisp.h (make_hash_table): 4th arg is now of type double.
34546 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
34548         Rework connection local variables
34550         For connection local variables interface, `class' is renamed
34551         to `profile'.  All arguments `criteria' are a plist now.
34553         * doc/lispref/variables.texi (Connection Local Variables):
34554         Rewrite.
34556         * lisp/files-x.el (connection-local-profile-alist): Rename
34557         from `connection-local-class-alist'.  Adapt docstring.
34558         (connection-local-criteria-alist): Adapt docstring.
34559         (connection-local-normalize-criteria): New defun.
34560         (connection-local-get-profiles): Rename from
34561         `connection-local-get-classes'.  Rewrite.
34562         (connection-local-set-profiles): Rename from
34563         `connection-local-set-classes'.  Rewrite.
34564         (connection-local-get-profile-variables): Rename from
34565         `connection-local-get-class-variables'.  Rewrite.
34566         (connection-local-set-profile-variables): Rename from
34567         `connection-local-set-class-variables'.  Rewrite.
34568         (hack-connection-local-variables)
34569         (hack-connection-local-variables-apply)): Rewrite.
34570         (with-connection-local-profiles): Rename from
34571         `ith-connection-local-classes'.  Rewrite.
34573         * lisp/net/tramp.el (tramp-set-connection-local-variables):
34574         Compute criteria.
34576         * lisp/net/tramp-cmds.el (tramp-bug):
34577         Use `connection-local-profile-alist'.
34579         * test/lisp/files-x-tests.el (files-x-test--variables1)
34580         (files-x-test--variables2, files-x-test--variables3)
34581         (files-x-test--variables4, files-x-test--criteria1)
34582         (files-x-test--criteria2): Make them a defconst.
34583         (files-x-test--application)
34584         (files-x-test--another-application, files-x-test--protocol)
34585         (files-x-test--user, files-x-test--machine): New defconst.
34586         (files-x-test--criteria): New defvar.
34587         (files-x-test--criteria3): Remove.
34588         (files-x-test-connection-local-set-profile-variables):
34589         Rename from `files-x-test-connection-local-set-class-variables'.
34590         Rewrite.
34591         (files-x-test-connection-local-set-profiles): Rename from
34592         `files-x-test-connection-local-set-classes'.  Rewrite.
34593         (files-x-test-hack-connection-local-variables-apply)  Rewrite.
34594         (files-x-test-with-connection-local-profiles): Rename from
34595         `files-x-test-with-connection-local-classes'.  Rewrite.
34597 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
34599         Set up combination and random item location
34601         * lisp/play/dunnet.el (dun-combination): Make defconst.
34602         (tloc, tcomb): Remove.  Replace with a top-level form.
34604 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
34606         Replace movement variables with an alist and accessor
34608         * lisp/play/dunnet.el (north, south, east, west, northeast, southeast):
34609         (northwest, southwest, up, down, in, out): Remove.
34610         (dun-movement-alist): New constant.
34611         (dun-movement): New function.
34612         (dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se, dun-nw, dun-sw, dun-up):
34613         (dun-down, dun-in, dun-out): Use a symbol for indicating movement.
34614         (dun-move, dun-special-move): Translate movement symbol to an
34615         enumeration.
34617 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
34619         Change top-level setq forms to defvar or defconst
34621         Also collect some code onto fewer lines and reindent.
34622         * lisp/play/dunnet.el (dun-visited, dun-current-room, dun-exitf):
34623         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
34624         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
34625         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
34626         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
34627         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
34628         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
34629         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
34630         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
34631         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
34632         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
34633         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
34634         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
34635         (dun-diggables, dun-room-shorts, dun-endgame-questions): Change
34636         declaration to use defvar or defconst.
34637         (dun-doverb, dun-vparse, dun-vparse2, dun-batch-parse):
34638         (dun-batch-parse2): Omit the dun- prefix from arguments dun-ignore
34639         dun-verblist.  Those are now constants and the byte compiler doesn't
34640         allow defconsts in lambda lists.
34642 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
34644         Move all dunnet globals up to the top
34646         * lisp/play/dunnet.el: Adjust comments to reflect moved forms.
34647         (dun-visited, dun-current-room, dun-exitf):
34648         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
34649         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
34650         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
34651         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
34652         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
34653         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
34654         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
34655         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
34656         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
34657         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
34658         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
34659         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
34660         (dun-diggables, dun-room-shorts, dun-endgame-questions): Move to the
34661         top of the file, before any uses.
34663 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
34665         Fix bug#25788
34667         * lisp/net/tramp.el (tramp-autoload-file-name-handler):
34668         Do not load tramp.el just for "/".  (Bug#25788)
34670 2017-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
34672         Fix fringe bitmap initialization on MS-Windows
34674         * src/fringe.c (init_fringe_bitmap) [HAVE_NTGUI]: Fix initialization
34675         of fb->bits.  (Bug#25673)
34677 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
34679         Change type of `rehash_threshold' and `pure' fields in hash-tables
34681         * src/lisp.h (struct Lisp_Hash_Table): Change type of
34682         `rehash_threshold' and `pure' fields and move them after `count'.
34683         * src/fns.c (make_hash_table): Change type of `rehash_threshold' and `pure'.
34684         (Fmake_hash_table, Fhash_table_rehash_threshold):
34685         * src/category.c (hash_get_category_set):
34686         * src/xterm.c (syms_of_xterm):
34687         * src/profiler.c (make_log):
34688         * src/print.c (print_object):
34689         * src/alloc.c (purecopy_hash_table, purecopy): Adjust accordingly.
34691 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
34693         Use 'char *FOO' instead of 'char* FOO'
34695 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
34697         More json.el changes
34699         * lisp/json.el (json-read-keyword, json-read-number, json-read-object):
34700         (json-read-array): Just use = for char comparison.
34702 2017-02-18  Noam Postavsky  <npostavs@gmail.com>
34704         * lisp/woman.el (woman): Fix docstring prefix arg description.
34706 2017-02-18  Alan Mackenzie  <acm@muc.de>
34708         Fix edebug-spec on c-lang-defvar.
34710         This allows c-lang-defvars with the symbol 'dont-doc in the place of the
34711         optional documentation to be instrumented for edebug.
34713         lisp/progmodes/cc-langs.el (top-level): Amend the edebug-spec for
34714         c-lang-defvar.
34715         (c-opt-identifier-concat-key, c-decl-prefix-or-start-re): remove redundant
34716         'dont-doc.
34718 2017-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
34720         Lists used as plists now have to be an even length
34722         * lisp/net/eww.el (eww-size-text-inputs): `eww-form' isn't a plist.
34723         (eww-process-text-input): Not here, either.
34725 2017-02-18  Michael Albinus  <michael.albinus@gmx.de>
34727         Unset `non-essential' in Tramp when not needed anymore
34729         * doc/misc/trampver.texi:
34730         * lisp/net/trampver.el: Change version to "2.3.2-pre".
34732         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
34733         Use `tramp-completion-mode-p'.
34735         * lisp/net/tramp.el (tramp-file-name-handler): Unset `non-essential'
34736         when file name doesn't match `tramp-completion-file-name-regexp'.
34738 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
34740         Automatically regenerate emacs.1 and *.rc files
34742         * Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
34743         non-Makefile files produced by config.status.
34744         ($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
34745         their targets are regenerated when the source changes.
34747 2017-02-18  Alan Mackenzie  <acm@muc.de>
34749         Set the syntax table in AWK Mode.
34751         This is a partial reversion of CC Mode commit on 2016-05-09 17:49:45 +0000.
34752         It fixes bug #25722.
34754         lisp/progmodes/cc-mode.el (awk-mode): Explicitly set the syntax table.
34756 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
34758         Mention "editor" in Emacs man page header
34760         * doc/man/emacs.1.in: Mention "editor" in the header line.
34761         (Bug#25771, Bug#25779)
34763 2017-02-18  Göktuğ Kayaalp  <self@gkayaalp.com>
34765         Fix Turkish language environment setup
34767         * lisp/language/european.el ("Turkish"): Fix a typo in Turkish
34768         language setup.  (Bug#25763)
34770 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
34772         Support 24-bit direct colors on text terminals
34774         * src/term.c (init_tty): Use 24-bit terminal colors if corresponding
34775         foreground and background functions are present in terminal type
34776         definition.
34777         * src/tparam.h: Define prototype for tigetstr.
34779         * lisp/term/tty-colors.el (tty-color-define): Convert color palette
34780         index to pixel value on 16.7M color terminals.
34781         (tty-color-24bit): New function to convert color palette index to
34782         pixel value on 16.7M color terminals.
34783         (tty-color-desc): Don't approximate colors on 16.7M color terminals.
34784         * lisp/term/xterm.el (xterm-register-default-colors): Define all named
34785         TTY colors on 16.7M color terminals.
34787         * doc/misc/efaq.texi (Colors on a TTY): Add instructions on how to
34788         enable direct color TTY mode.
34789         * etc/NEWS: Mention direct color TTY mode and point to FAQ.
34791 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
34793         Remove unused TN_max_pairs field
34795         * src/termchar.h (tty_display_info): Remove TN_max_pairs field,
34796         describing maximum number of terminal background/foreground color pairs.
34797         * src/term.c (tty_default_color_capabilities, tty_setup_colors)
34798         (init_tty): Remove references to TN_max_pairs.
34800 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
34802         Improve documentation of query-replace-from-to-separator
34804         * doc/emacs/search.texi (Query Replace): Document the meaning of
34805         the nil value of query-replace-from-to-separator.  (Bug#25482)
34807 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
34809         Document problems with nerd-fonts
34811         * etc/PROBLEMS (fonts): Describe the potential problems with
34812         nerd-fonts that cause slow display.  (Bug#25697)
34814 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
34816         Improve commentary for a recent change in keyboard.c
34818         * src/keyboard.c (Fset__this_command_keys): Add a comment about
34819         the magic 248 value.  (Bug#25612)
34821 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
34823         Avoid infloop in rect.el
34825         * lisp/rect.el (rectangle--*-char): Avoid inflooping when called
34826         with argument N whose absolute value is greater than 1.  (Bug#25773)
34828 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
34830         Remove annoying warnings about let-binding
34832         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
34833         Remove warnings about making symbols local while let-bound.
34834         (Bug#25561)
34836 2017-02-18  Hong Xu  <hong@topbug.net>
34838         Avoid errors when flyspell-generic-check-word-predicate is a lambda.
34840         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word, flyspell-word): Apply
34841         functionp instead of fboundp on
34842         flyspell-generic-check-word-predicate (Bug#25765).
34844 2017-02-18  Glenn Morris  <rgm@gnu.org>
34846         Remove the build number from emacs-version variable
34848         It's a largely internal detail that can confuse users.  (Bug#25590)
34849         * lisp/version.el (emacs-build-number): New constant.
34850         (emacs-version): Use emacs-build-number.
34851         * lisp/loadup.el (top-level): When dumping, increment
34852         emacs-build-number rather than emacs-version.
34853         * src/emacs.c (emacs-version): Doc fix.
34854         * doc/lispref/intro.texi (Version Info): Update emacs-version details.
34855         Mention emacs-build-number.
34856         * lisp/gnus/gnus-util.el (gnus-emacs-version):
34857         * lisp/mail/emacsbug.el (report-emacs-bug):
34858         * admin/admin.el (set-version): Update for emacs-version change.
34860 2017-02-18  Glenn Morris  <rgm@gnu.org>
34862         Ensure that user-mail-address always has a value
34864         * lisp/startup.el (user-mail-address): Initialize in the normal way.
34865         (command-line): Reset user-mail-address if needed using
34866         standard custom machinery.
34867         * lisp/mail/feedmail.el (feedmail-fiddle-from):
34868         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
34869         * lisp/mail/rmailsum.el (rmail-header-summary):
34870         Simplify now that user-mail-address is always set.
34872 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
34874         Turn on lexical-binding in ruby-mode
34876         * lisp/progmodes/ruby-mode.el: Turn on lexical-binding.
34877         (ruby-font-lock-syntax-table): Use make-syntax-table.
34878         (ruby-mode): 'define-derived-mode' writes the keys for us.
34880 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
34882         Turn on lexical-binding in elint.el
34884         * lisp/emacs-lisp/elint.el: Quote entry point commands in commentary.
34885         (elint-running, elint-current-pos): Move these dynamic vars to toward
34886         the top of the file.
34887         (elint-check-quote-form): Ignore unused argument.
34888         (elint-check-conditional-form): Remove unused binding.
34890 2017-02-18  Gemini Lasswell  <gazally@runbox.com>
34892         * lisp/emacs-lisp/subr-x.el (if-let*): Fix Edebug spec (Bug#24748)
34894 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
34896         Enable erc-accidental-paste-threshold-seconds by default
34898         * lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Set
34899         default to 0.2 (Bug#25709).
34901 2017-02-17  Michal Nazarewicz  <mina86@mina86.com>
34903         Fix build failure caused by ‘Generate upcase and downcase tables from Unicode’
34905         The [5ec3a584: Generate upcase and downcase tables from Unicode data]
34906         commit broke bootstrap from a truly clean tree (e.g. a fresh clone or
34907         one created with ‘make extraclean’), see
34908         <http://hydra.nixos.org/build/48774928>.
34910         The failure was caused by characters.el trying to read Unicode
34911         property tables which aren’t available so early in the build process.
34913         Wrap the part that requires Unicode property tables in a condition
34914         checking if those are available.  If they aren’t they case and syntax
34915         tables won’t be fully set but later on, the characters.el file will be
34916         evaluated again and this time with Unicode properties available so
34917         final Emacs ends up with the exact same case and syntax tables.
34919 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
34921         mm-add-meta-html-tag: Improve regexp
34923         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag):
34924         Improve regexp to search html meta tag.
34926 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
34928         mm-shr: Prefer charset specified in html meta tag
34930         * lisp/gnus/mm-decode.el (mm-shr): Prefer charset specified in html
34931         meta tag than mail-parse-charset in the case there is no charset spec
34932         in MIME header.
34934 2017-02-17  Glenn Morris  <rgm@gnu.org>
34936         Stop duplicating some custom-types in message.el
34938         * lisp/gnus/message.el (user-mail-address, user-full-name):
34939         No need to re-specify custom-type.
34941 2017-02-17  Glenn Morris  <rgm@gnu.org>
34943         Whitespace trivia in dunnet.el
34945         * lisp/play/dunnet.el (dun-special-object, dun-put-objs)
34946         (dun-rlogin-endgame): Whitespace trivia.
34948 2017-02-17  Glenn Morris  <rgm@gnu.org>
34950         Explicit error on changing case of negative integers
34952         * src/casefiddle.c (casify_object): Reject negative integers:
34953         Emacs characters are positive integers.  (Bug#25684)
34955 2017-02-17  Dmitry Gutov  <dgutov@yandex.ru>
34957         Fix buffers update in vc-retrieve-tag
34959         * lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
34960         `repository', use the repository root and pass it to
34961         vc-resynch-buffer (bug#25714).
34963 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
34965         * src/buffer.h: Fix indenting.
34967 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
34969         Add sanity checks for Bswitch hash tables
34971         * src/bytecode.c (exec_byte_code) [BYTE_CODE_SAFE]:
34972         Check that operand is a hash table and hashes to ints.
34974 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
34976         * src/keyboard.c (read_key_sequence): Fix integer-overflow glitch.
34978 2017-02-16  Vibhav Pant  <vibhavp@gmail.com>
34980         bytecomp.el: Avoid unnecessary calculation for jump table addresses.
34982         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Don't do
34983           redundant operations while calculating the correct jump addresses
34984           from TAGs in jump tables.
34986 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
34988         Minor changes in json.el
34990         * lisp/json.el (json-advance): Simpler docstring.
34991         (json-read-escaped-char): Use xdigit subform in rx expression.
34992         (json-read-string): Just use = for char comparison.
34994 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
34996         Don't expand body inside a let-binding when there are no bindings
34998         * lisp/emacs-lisp/pcase.el (pcase-codegen): Only let-bind if VARS
34999         is non-nil.
35001 2017-02-16  Glenn Morris  <rgm@gnu.org>
35003         Handle user-mail-address being the empty string
35005         * lisp/mail/feedmail.el (feedmail-fiddle-from):
35006         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
35007         * lisp/mail/rmailsum.el (rmail-header-summary):
35008         Belated update for 2002-09-29 startup.el change, 680ebfa, where
35009         the value of user-mail-address during initialization was changed
35010         from nil to the empty string.
35012 2017-02-15  Michael Albinus  <michael.albinus@gmx.de>
35014         Continue to fix bug#25607
35016         * lisp/ido.el (ido-complete): Let-bind `non-essential' to nil.
35017         (ido-file-name-all-completions-1): Do not bind `non-essential'.
35019         * lisp/net/tramp.el: (tramp-completion-file-name-handler):
35020         Improve autoloaded version.
35021         (tramp-completion-file-name-handler): Remove old compat code.
35022         Check only for `tramp-completion-mode-p'.
35023         (tramp-completion-mode-p): Autoload.  Do not check any longer
35024         for `last-input-event'.
35025         (tramp-completion-handle-expand-file-name): Simplify.  (Bug#25607)
35027 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
35029         casing: don’t assume letters are *either* upper- or lower-case  (bug#24603)
35031         A compatibility digraph characters, such as Dž, are neither upper- nor
35032         lower-case.  At the moment however, those are reported as upper-case¹
35033         despite the fact that they change when upper-cased.
35035         Stop checking if a character is upper-case before trying to up-case it
35036         so that title-case characters are handled correctly.  This fixes one of
35037         the issues mentioned in bug#24603.
35039         ¹ Because they change when converted to lower-case.  Notice an asymmetry
35040           in that for a character to be considered lower-case it must not be
35041           upper-case (plus the usual condition of changing when upper-cased).
35043         * src/buffer.h (upcase1): Delete.
35044         (upcase): Change to upcase character unconditionally just like downcase
35045         does it.  This is what upcase1 was.
35047         * src/casefiddle.c (casify_object, casify_region): Use upcase instead
35048         of upcase1 and don’t check !uppercasep(x) before calling upcase.
35050         * src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
35051         downcase(x) and see if it changed.
35053         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
35054         casefiddle-tests-casing): Update test cases which are now passing.
35056 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
35058         Generate upcase and downcase tables from Unicode data  (bug#24603)
35060         Use Unicode data to generate case tables instead of mostly repeating
35061         them in lisp code.  Do that in a way which maps ‘Dz’ (and similar)
35062         digraph to ‘dz’ when down- and ‘DZ’ when upcasing.
35064         https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all
35065         changes to syntax table and case tables introduced by this commit.
35067         * lisp/international/characters.el: Remove case-pairs defined with
35068         explicit Lisp code and instead use Unicode character properties.
35070         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
35071         casefiddle-tests-casing): Update test cases which are now working
35072         as they should.
35074 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
35076         Add tests for casefiddle.c  (bug#24603)
35078         Fixes cases marked FIXME upcoming in followup commits.
35080         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties,
35081         casefiddle-tests-case-table, casefiddle-tests-casing-character,
35082         casefiddle-tests-casing, casefiddle-tests-casing-byte8,
35083         casefiddle-tests-casing-byte8-with-changes): New tests.
35084         (casefiddle-tests--test-casing): New helper function for runnig
35085         some of the tests.
35087 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
35089         oldXMenu: add missing #include <string.h>
35091         Some of the files in oldXMenu use functions from string.h without
35092         including that header which results in compile warnings:
35094                 ChgPane.c:46:5: warning: implicit declaration of function ‘strlen’
35095                 ChgPane.c:46:20: warning: incompatible implicit declaration of
35096                         built-in function ‘strlen’
35097                 ChgSel.c:62:2: warning: implicit declaration of function ‘strlen’
35098                 ChgSel.c:62:17: warning: incompatible implicit declaration of built-in
35099                         function ‘strlen’
35100                 Create.c:220:5: warning: implicit declaration of function ‘strcmp’
35101                 InsPane.c:65:5: warning: implicit declaration of function ‘strlen’
35102                 InsPane.c:65:20: warning: incompatible implicit declaration of
35103                         built-in function ‘strlen’
35104                 InsSel.c:68:5: warning: implicit declaration of function ‘strlen’
35105                 InsSel.c:68:20: warning: incompatible implicit declaration of built-in
35106                         function ‘strlen’
35107                 InsSel.c:75:5: warning: implicit declaration of function ‘strcmp’
35109         Add the necessary ‘#include <string.h>’.
35111         oldXMenu/ChgPane.c, oldXMenu/ChgSel.c, oldXMenu/Create.c, oldXMenu/InsPane.c,
35112         oldXMenu/InsSel.c: add missing #include <string.h>
35114 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
35116         Fixup recent rmail patch
35118         * lisp/mail/rmail.el (rmail-epa-decrypt): Remove unused local.
35120 2017-02-15  Richard Stallman  <rms@gnu.org>
35122         Rmail fix
35124         * lisp/mail/rmail.el (rmail-epa-decrypt-1): Include the just-decrypted text
35125         as element 4 of the value.
35126         (rmail-epa-decrypt): Take the text to insert from that element.
35128 2017-02-15  Vibhav Pant  <vibhavp@gmail.com>
35130         bytecomp-tests.el: Store all test forms in one constant.
35132         * test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
35133         in a single constant (byte-opt-testsuite-arith-data), add new forms
35134         which generate lapcode with adjacent/redundant tags.
35136 2017-02-15  Glenn Morris  <rgm@gnu.org>
35138         Small lispref edit
35140         * doc/lispref/os.texi (User Identification):
35141         Remove extraneous detail about user-mail-address.
35143 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
35145         Document fill-separate-heterogeneous-words-with-space (bug#25685)
35147         * doc/lispref/text.texi (Filling):
35148         Document fill-separate-heterogeneous-words-with-space (bug#25685).
35150 2017-02-15  Noam Postavsky  <npostavs@gmail.com>
35152         Test comment-multi-line = nil auto fill case too
35154         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
35155         `comment-multi-line' both nil and non-nil.
35156         * lisp/newcomment.el (comment-multi-line): Mark safe if it's a
35157         boolean.
35158         * etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.
35160 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
35162         Don't delete leading and trailing space from CJK word (bug#25685)
35164         * lisp/textmodes/fill.el (fill-delete-newlines):
35165         Don't delete leading and trailing space from CJK word.
35166         (fill-separate-heterogeneous-words-with-space):
35167         New user option that controls it (bug#25685).
35169 2017-02-15  Juri Linkov  <juri@linkov.net>
35171         ‘M-s w RET word C-s’ repeats incremental search.
35173         * lisp/isearch.el (isearch-new-nonincremental): New variable.
35174         (with-isearch-suspended): Bind isearch-new-nonincremental to
35175         isearch-nonincremental, and restore it afterwards.
35176         (isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
35177         Set isearch-new-nonincremental to nil.  (Bug#25562)
35179 2017-02-14  Tom Tromey  <tom@tromey.com>
35181         Make vc-git detect conflict state for vc-dir
35183         * lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
35184         (vc-git-dir-status-update-file): New function.
35185         (vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
35186         vc-git-dir-status-state; add 'ls-files-conflict state.
35187         (vc-git-dir-status-files): Create a vc-git-dir-status-state.
35189 2017-02-14  Vibhav Pant  <vibhavp@gmail.com>
35191         byte-opt: Replace merged tags in jump tables too. (bug#25716)
35193         * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
35194           adjacent tags, make sure that the old tag is replaced in all jump
35195           tables, if any. This fixes the bytecode VM jumping to the wrong
35196           address in compiled cond forms where the body of a clause was a loop
35197           of any sort.
35199 2017-02-14  Glenn Morris  <rgm@gnu.org>
35201         Remove overly broad element from default mail-dont-reply-to-names
35203         * lisp/mail/mail-utils.el (mail-dont-reply-to):
35204         Do not include just "user@" in mail-dont-reply-to-names, and simplify.
35205         Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html
35206         * lisp/gnus/message.el (message-dont-reply-to-names): Doc fix.
35207         * doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names.
35209 2017-02-14  Juri Linkov  <juri@linkov.net>
35211         * etc/NEWS: Mention query-replace-from-to-separator.  (Bug#25482)
35213 2017-02-13  Arash Esbati  <arash@gnu.org>
35215         Match all characters in optional argument of \documentclass
35217         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Match all
35218         characters in optional argument containing name of the main file.
35220 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
35222         Merge branch 'master' into feature/byte-switch
35224 2017-02-13  Katsumi Yamaoka  <yamaoka@jpl.org>
35226         Fix non-ASCII text encoding (bug#25658)
35228         * lisp/gnus/mm-bodies.el (mm-encode-body):
35229         Fix non-ASCII text encoding (bug#25658).
35231 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
35233         test/lisp/emacs-lisp/bytecomp-tests.el: Add more tests for switch.
35235 2017-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
35237         * doc/lispref/modes.texi (Derived Modes): Make example more idiomatic
35239 2017-02-13  Glenn Morris  <rgm@gnu.org>
35241         Fix recent bootstrap issue by moving string-to-list
35243         * lisp/international/mule-util.el (string-to-list, string-to-vector):
35244         Move from here...
35245         * lisp/subr.el (string-to-list, string-to-vector): ...to here.
35246         The implementation is trivial and at least string-to-list
35247         has ended up being needed early during bootstrap.
35249 2017-02-13  Glenn Morris  <rgm@gnu.org>
35251         Doc fixes related to mail-host-address
35253         * lisp/startup.el (mail-host-address): Doc fix.
35254         * doc/lispref/os.texi (System Environment):
35255         Remove extraneous details of mail-host-address.
35257 2017-02-13  Glenn Morris  <rgm@gnu.org>
35259         Simplify time-stamp mail host usage
35261         * lisp/time-stamp.el (time-stamp-mail-host-name): Remove function.
35262         (time-stamp-string-preprocess): Handle "h" (mail host) directly.
35264 2017-02-13  Glenn Morris  <rgm@gnu.org>
35266         Doc fix for vhdl-mode re mail-host-address
35268         * lisp/progmodes/vhdl-mode.el (vhdl-file-header): Doc fix.
35269         (mail-host-address): Do not add to vhdl-related custom group,
35270         since vhdl-template-replace-header-keywords doesn't use it.
35272 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
35274         Substitute leading $HOME/ in xdg-user-dirs
35276         * lisp/xdg.el (xdg--substitute-home-env): New function.
35277         (xdg--user-dirs-parse-line): Use it.
35278         (xdg-user-dir): Expand ~/ in xdg-user-dirs values.
35280 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
35282         * lisp/buff-menu.el: Turn on lexical-binding.
35284 2017-02-13  Juri Linkov  <juri@linkov.net>
35286         * lisp/replace.el (query-replace-from-to-separator): Move propertize
35288         and char-displayable-p test to query-replace-read-from.
35289         Add choice nil to disable this feature.
35290         (query-replace-read-from): Don't reevaluate custom setting.
35291         Use char-displayable-p to test the first non-whitespace character
35292         in query-replace-from-to-separator, use " -> " when fails.
35293         Add prompt for the case when separator is nil but
35294         query-replace-defaults is non-nil.
35295         Remove unused test for regexp-flag.
35296         Thanks to Thierry Volpiatto <thierry.volpiatto@gmail.com>
35298 2017-02-13  Karl Fogel  <kfogel@red-bean.com>
35300         Convert more uses of `looking-at' to `following-char'
35302         This follows up to Mark Oteiza's commit of 12 Feb 2017, 14:46:03 UTC
35303         (commit 91478f46238a) with more of the same.
35305         * lisp/bookmark.el (bookmark-send-edited-annotation):
35306           (bookmark-bmenu-execute-deletions): Replace instances of looking-at
35307           with char comparisons using following-char.
35309 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
35311         Fix typos in tests for lax-plist-get etc.
35313         Problem reported by Eli Zaretskii (Bug#25606#62).
35314         * test/src/fns-tests.el (test-cycle-lax-plist-get)
35315         (test-cycle-plist-put, test-cycle-lax-plist-put):
35316         Fix tests to match behavior.
35318 2017-02-12  Michael Albinus  <michael.albinus@gmx.de>
35320         Fix bug#25607
35322         * lisp/net/tramp.el (tramp-completion-file-name-handler):
35323         Improve autoloaded version.
35324         (tramp-autoload-file-name-handler): Avoid recursive load.
35325         (tramp-completion-handle-expand-file-name): Handle empty NAME.
35326         (Bug#25607)
35328 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
35330         Remove server-buffer-clients string from minor-mode-alist
35332         * lisp/server.el: Don't put an element for server-buffer-clients into
35333         minor-mode-alist. (Bug#20201)
35335 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
35337         Nix some useless uses of looking-at, looking-back
35339         * lisp/allout.el (allout-kill-topic):
35340         (allout-next-topic-pending-encryption):
35341         * lisp/bookmark.el (bookmark-kill-line):
35342         * lisp/cus-edit.el (custom-save-variables, custom-save-faces):
35343         * lisp/cus-theme.el (custom-theme-write-variables):
35344         (custom-theme-write-faces):
35345         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
35346         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer):
35347         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-loop):
35348         (checkdoc-interactive-ispell-loop):
35349         (checkdoc-message-interactive-ispell-loop, checkdoc-this-string-valid):
35350         (checkdoc-this-string-valid-engine):
35351         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
35352         * lisp/emulation/viper-cmd.el (viper-backward-indent):
35353         * lisp/image-dired.el (image-dired-delete-char):
35354         * lisp/simple.el (kill-visual-line): Replace instances of looking-at,
35355         looking-back with char comparisons using following-char, preceding-char.
35357 2017-02-12  Eli Zaretskii  <eliz@gnu.org>
35359         Clarify what is the "cursor"
35361         * doc/lispref/windows.texi (Window Point): Clarify the notion of
35362         "cursor".
35364 2017-02-11  Tom Tromey  <tom@tromey.com>
35366         Recognize JS regexp literals more correctly
35368         Bug#25529
35369         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): New
35370         constant.
35371         (js-syntax-propertize-regexp): Use it.  Remove "end" argument.
35372         (js--syntax-propertize-regexp-syntax-table): Remove.
35373         (js-syntax-propertize): Update.
35374         * test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax-bug-25529):
35375         New test.
35377 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
35379         src/bytecode.c (exec_byte_code): Make hash_code a Lisp_Object.
35381         This avoids using XUINT every time while comparing it with
35382         HASH_HASH (h, i), replacing it with EQ.
35384 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
35386         src/bytecode.c (exec_byte_code): Remove unnecessary (e)assert.
35388 2017-02-11  Tom Tromey  <tom@tromey.com>
35390         Fix bug in css--mdn-find-symbol
35392         * lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace
35393         before skipping word characters.
35394         test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add
35395         regression test.
35397 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
35399         src/bytecode.c: Add optional sanity check for jump tables.
35401         * src/bytecode.c (exec_byte_code): When sanity checks are enabled,
35402           check that the jump table's size is equal to it's count.
35404 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
35406         Merge branch 'master' into feature/byte-switch
35408         * src/bytecode.c: Refactor to follow GNU coding standards
35410 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
35412         Fix handling of XBM images on MS-Windows
35414         * src/image.c (xbm_load) [HAVE_NTGUI]: Fix calculation of
35415         'nbytes' when inverting XBM data bits.  (Bug#25661)
35417 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
35419         Fix handling of PBM data
35421         * src/image.c (pbm_load): Handle PBM data with no blanks between
35422         individual pixel values correctly.  (Bug#25660)
35424 2017-02-10  Noam Postavsky  <npostavs@gmail.com>
35426         Fix warnings in debug tracing code
35428         * src/xdisp.c (dump_glyph, dump_glyph_string):
35429         * src/xfaces.c (dump_realized_face): Cast arguments or adjust format
35430         specifiers to match signedness.
35432 2017-02-10  Sam Steingold  <sds@gnu.org>
35434         Extract grep-find-ignored-directories processing from rgrep-default-command
35436         (rgrep-find-ignored-directories): Extract from `rgrep-default-command'.
35437         Some Emacs packages use `grep-find-ignored-directories' to ignore some
35438         directories, so will use this function instead of custom code.
35439         (rgrep-default-command): Use `rgrep-find-ignored-directories'.
35441 2017-02-10  Vibhav Pant  <vibhavp@gmail.com>
35443         src/bytecode.c: Avoid comparing values unnecessarily in Bswitch
35445         * src/bytecode.c: (exec_byte_code) While linear searching the jump
35446           table, compare the value's hash table first to avoid calling
35447           h->test.cmpfn every time.
35449 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
35451         Fix a few integer-overflow glitches
35453         * src/composite.c (composition_compute_stop_pos, composition_reseat_it):
35454         * src/dispextern.h (struct composition_it.rule_idx):
35455         * src/keyboard.c (Fset__this_command_keys):
35456         * src/xwidget.c (webkit_js_to_lisp):
35457         Don’t assume object sizes fit in ‘int’.
35458         * src/xwidget.c (Fxwidget_resize):
35459         Don’t assume Emacs integers fit in ‘int’.
35461 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
35463         Fix a bug with displaying an image after a TAB
35465         * src/xdisp.c (display_line): Handle TAB at end of screen line
35466         specially only when we are displaying characters.  (Bug#25662)
35468 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
35470         Improve commentary in lisp.h
35472         * src/lisp.h: Explain in the comment why enlarging a Lisp_Misc
35473         object is discouraged.
35475 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
35477         Move cyclic tests to fns-tests.el
35479         * test/src/fns-tests.el (cyc1, cyc2, dot1, dot2): New functions.
35480         (test-cycle-length, test-cycle-safe-length, test-cycle-member)
35481         (test-cycle-memq, test-cycle-memql, test-cycle-assq)
35482         (test-cycle-assoc, test-cycle-rassq, test-cycle-rassoc)
35483         (test-cycle-delq, test-cycle-delete, test-cycle-reverse)
35484         (test-cycle-plist-get, test-cycle-lax-plist-get)
35485         (test-cycle-plist-member, test-cycle-plist-put)
35486         (test-cycle-lax-plist-put, test-cycle-equal, test-cycle-nconc):
35487         New tests.
35488         * test/manual/cyclic-tests.el: File deleted.
35490 2017-02-10  Gemini Lasswell  <gazally@runbox.com>
35492         Fix instrumenting code with propertized strings in Edebug
35494         * lisp/emacs-lisp/edebug.el (edebug-read-function): Allow
35495         'read' to decide what is and isn't a syntax error.  (Bug#25068)
35497 2017-02-10  Vladimir Panteleev  <vladimir@thecybershadow.net>
35499         Improve fontification in bat-mode
35501         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Match
35502         word and symbol constituents when looking for variable names
35503         to fontify; also, correct the syntax table and mark the equal
35504         sign (=) character as punctuation.  Improve fontification
35505         accuracy of iteration/positional variables.
35506         (bat-mode): Set comment-start-skip.  (Bug#25541)
35508         * test/lisp/progmodes/bat-mode-tests.el: New file, tests for
35509         bat-mode.el.
35511 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
35513         Restore special setting of this-command-keys by M-x
35515         It was lost when execute-extended-command was reimplemented in Lisp.
35517         * src/keyboard.c (Fset__this_command_keys): New function.
35518         (syms_of_keyboard): Defsubr it.
35520         * lisp/simple.el (execute-extended-command): Set this-command-keys
35521         as novice.el expects.  (Bug#25612)
35523 2017-02-09  Juri Linkov  <juri@linkov.net>
35525         * lisp/isearch.el (isearch-search-fun-default): Set isearch-adjusted
35527         to t to display "Pending" in the search prompt for lax
35528         word/symbol search (bug#25562).  Don't use lax for lazy-highlighting
35529         when 'bound' is non-nil.
35530         (word-search-regexp, isearch-symbol-regexp): Don't depend on lax
35531         at the beginning of regexp (bug#22589).
35533         * lisp/info.el (Info-isearch-search):
35534         Use isearch--lax-regexp-function-p.
35536         * doc/emacs/search.texi (Word Search, Symbol Search):
35537         Mention "Pending" prompt for lax word/symbol search.
35539 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
35541         src/bytecode.c (exec_byte_code): Remove unneeded assert.
35543         bytecode.c (exec_byte_code): Use h->count instead of HASH_TABLE_SIZE
35545 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
35547         bytecode.c (exec_byte_code): don't check hash code in linear search.
35549         * src/bytecode.c (exec_byte_code): Don't check that the hash code is
35550           not nil when linear scanning the jump table. Hash tables for are
35551           declared with :size as the exact number of cases, so each entry i
35552           should have a hash code. When BYTE_CODE_SAFE, do it as a sanity
35553           check.
35555 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
35557         Ibuffer: Update mode documentation
35559         * lisp/ibuffer.el (ibuffer-mode): List newest commands in mode documentation.
35561 2017-02-09  Steven Allen  <steven@stebalien.com>  (tiny change)
35563         Fix environment variable for xdg-data-dirs
35565         * lisp/xdg.el (xdg-data-dirs): Use XDG_DATA_DIRS, not XDG_CONFIG_DIRS
35567 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
35569         Ibuffer: Erase output buffer before shell commands
35571         * lisp/ibuf-macs.el (define-ibuffer-op): Add keyword arguments
35572         BEFORE and AFTER; they are forms to run before/after the operation.
35573         * lisp/ibuf-ext.el (ibuffer--maybe-erase-shell-cmd-output):
35574         New defun; if shell-command-dont-erase-buffer is nil, then
35575         erase shell command output buffer.
35576         (ibuffer-do-shell-command-pipe, ibuffer-do-shell-command-file): Use it.
35578 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
35580         Ibuffer: Don't truncate shell command output
35582         * lisp/ibuf-ext.el (ibuffer-do-shell-command-pipe)
35583         (ibuffer-do-shell-command-pipe-replace)
35584         Use 'call-shell-region' (Bug#22679).
35585         (ibuffer-do-shell-command-file): Use call-process-shell-command.
35586         If FILE, the file that the buffer object is visiting,
35587         exists and the buffer is up-to-date, then use
35588         FILE instead of creating a temporary file (Bug#22679).
35590 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
35592         Improve byte-switch execution.
35594         * lisp/emacs-lisp/byte-opt.el,
35595           lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
35596           (byte-compile-lapcode): Calculate the actual jump address while
35597           compiling, store it in the jump table.
35599         * src/bytecode.c: Jump to the looked up value directly, do a linear
35600           search when the number of elements is <= 5.
35602 2017-02-09  Noam Postavsky  <npostavs@gmail.com>
35604         Make sure eshell pipelines don't drop data
35606         * lisp/eshell/esh-proc.el (eshell-sentinel): If called while still
35607         handling output of the process, make sure to close the pipes only later,
35608         so that the next process in the pipeline recieves EOF only after getting
35609         all its input (Bug#25549).
35611 2017-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
35613         Make mm-shr use mail-parse-charset by default
35615         * lisp/gnus/mm-decode.el (mm-shr): Use mail-parse-charset by default.
35616         This helps an html message with no charset spec to be decoded.
35618 2017-02-08  Stephen Berman  <stephen.berman@gmx.net>
35620         describe-char: unambiguous name for inserting ASCII 7
35622         * lisp/descr-text.el (describe-char): Make the input
35623         suggestion for inserting ASCII character 7 by name use the
35624         unambiguous name "BELL (BEL)" (bug#25641).
35626 2017-02-08  Michael Albinus  <michael.albinus@gmx.de>
35628         Modify suppressing `vc-refresh-state' in filenotify-tests.el
35630         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
35631         Use an advice rather than an alias for suppressing `vc-refresh-state'.
35633 2017-02-08  Noam Postavsky  <npostavs@gmail.com>
35635         Disable native completion for ipython (Bug#25067)
35637         * lisp/progmodes/python.el:
35638         (python-shell-completion-native-disabled-interpreters): Add "ipython".
35640 2017-02-07  Michael Albinus  <michael.albinus@gmx.de>
35642         Suppress undesired error messages in filenotify-tests.el
35644         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
35645         Suppress `vc-refresh-state', it produces undesired error messages.
35647 2017-02-07  Eli Zaretskii  <eliz@gnu.org>
35649         Fix a typo in ada-mode manual
35651         * doc/misc/ada-mode.texi (Project file variables): Add a missing
35652         right bracket.  Reported by Jean-Christophe Helary
35653         <jean.christophe.helary@gmail.com>.
35655 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
35657         Ensure that Gnus bugs show up in the Emacs tracker
35659         * lisp/gnus/gnus.el (gnus-bug-package): Include Emacs in the
35660         package spec.
35662 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
35664         Revert "Don't tag Gnus bugs with "gnus""
35666         This reverts commit b6fa58072304c2a24f1fe8a0e06a4739a7f8211b.
35668         The debbugs syntax requires a package name
35670 2017-02-07  Vibhav Pant  <vibhavp@gmail.com>
35672         Add tests for checking byte-switch code.
35674         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-cond): New test,
35675           test byte-switch bytecode.
35677 2017-02-07  Mark Oteiza  <mvoteiza@udel.edu>
35679         Add xdg library
35681         * etc/NEWS: Mention new library.
35682         * lisp/xdg.el: New file.
35684 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
35686         Do not trick info/dir’s timestamp
35688         * Makefile.in (${srcdir}/info/dir): When making this file, do not
35689         do anything special about its timestamp.  Previously this rule
35690         used move-if-change, which meant that this file’s timestamp could
35691         end up being older than the files it depends on, and this caused
35692         ‘make --question info’ to fail, which caused ‘make-dist’ to fail
35693         now that ‘make-dist’ invokes ‘make --question info’.
35695 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
35697         Make FOR_EACH_TAIL more like other FOR_EACH macros
35699         See comments by Stefan Monnier in:
35700         https://lists.gnu.org/r/emacs-devel/2017-02/msg00181.html
35701         and by Eli Zaretskii in:
35702         https://lists.gnu.org/r/emacs-devel/2017-02/msg00207.html
35703         * src/fns.c (internal_equal): Do not bypass check for depth
35704         overflow when tail-recursing via a dotted list tail or an overlay
35705         plist, to avoid a rare infloop.
35706         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE): Take TAIL as an
35707         arg, and update it at each iteration, rather than have callers
35708         access it.tail.  All callers changed.
35709         (FOR_EACH_TAIL): Do not check for dotted lists, as this is now
35710         the caller’s responsibility.  All callers changed.
35711         (FOR_EACH_TAIL_CONS): Remove.  All callers changed.
35712         (struct for_each_tail_internal.tail): Remove; no longer needed.
35713         (FOR_EACH_TAIL_INTERNAL): Remove dotted arg, and set the tail
35714         arg each time through the loop.  All callers changed.
35716 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
35718         Port to clang 3.8.0
35720         It does not allow a for-loop's control var to be an anonymous struct.
35721         * src/lisp.h (struct for_each_tail_internal): New type.
35722         (FOR_EACH_TAIL_INTERNAL): Use it.
35724 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
35726         Add cyclic-list tests
35728         * test/manual/cycle-tests.el: New file (Bug#25606).
35730 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
35732         FOR_EACH_TAIL now checks for quit
35734         As per Eli Zaretskii (Bug#25606#20).  Although these calls to
35735         maybe_quit are unnecessary in practice, Eli was not convinced
35736         that the calls are unnecessary.
35737         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_CONS):
35738         Call maybe_quit every so often.
35739         (FOR_EACH_TAIL_INTERNAL): New arg CHECK_QUIT.  All callers changed.
35741 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
35743         Signal list cycles in ‘length’ etc.
35745         Use macros like FOR_EACH_TAIL instead of maybe_quit to
35746         catch list cycles automatically instead of relying on the
35747         user becoming impatient and typing C-g (Bug#25606).
35748         * src/fns.c (Flength, Fmember, Fmemq, Fmemql, Fassq, Fassoc, Frassq)
35749         (Frassoc, Fdelete, Freverse):
35750         Use FOR_EACH_TAIL instead of maybe_quit.
35751         (Fnreverse): Use simple EQ to check for circular list instead
35752         of rarely_quit, as this suffices in this unusual case.
35753         (Fplist_put, Flax_plist_put, Flax_plist_put):
35754         Use FOR_EACH_TAIL_CONS instead of maybe_quit.
35755         (internal_equal): Use FOR_EACH_TAIL_CONS to check lists, instead
35756         of by-hand tail recursion that did not catch cycles.
35757         * src/fns.c (Fsafe_length, Fplist_get):
35758         * src/xdisp.c (display_mode_element):
35759         Use FOR_EACH_TAIL_SAFE instead of by-hand Floyd’s algorithm.
35760         * src/lisp.h (QUIT_COUNT_HEURISTIC): Remove; no longer needed.
35761         (rarely_quit): Simply count toward USHRT_MAX + 1, since the
35762         fancier versions are no longer needed.
35763         (FOR_EACH_TAIL_CONS, FOR_EACH_TAIL_SAFE)
35764         (FOR_EACH_TAIL_INTERNAL): New macros, the last with definiens
35765         mostly taken from FOR_EACH_TAIL.
35766         (FOR_EACH_TAIL): Rewrite in terms of FOR_EACH_TAIL_INTERNAL.
35768 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
35770         Simplify use of FOR_EACH_TAIL
35772         * src/data.c (circular_list): New function.
35773         * src/lisp.h (FOR_EACH_TAIL): Use Brent’s algorithm and C99 for-loop
35774         decl, to eliminate the need for the args TAIL, TORTOISE and N, and
35775         to speed things up a bit on typical hosts with optimization.
35776         All uses changed (Bug#25605).
35778 2017-02-05  Simen Heggestøyl  <simenheg@gmail.com>
35780         * lisp/textmodes/css-mode.el: Require subr-x at compile time
35782 2017-02-05  Eli Zaretskii  <eliz@gnu.org>
35784         Clarify documentation of 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
35786         * doc/lispref/nonascii.texi (Text Representations): Clarify that
35787         'exact' value of QUALITY argument to 'bufferpos-to-filepos' and
35788         'filepos-to-bufferpos' can lead to expensive and slow processing.
35790         * lisp/international/mule-util.el (filepos-to-bufferpos)
35791         (bufferpos-to-filepos): Doc fix.  (Bug#25626)
35793 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
35795         Merge remote-tracking branch 'origin/master' into feature/byte-switch
35797 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
35799         bytecomp.el: Use macroexp-const-p instead of bc-cond-valid-obj2-p.
35801         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Use
35802           (macroexp-cons-p) instead of (byte-compile-cond-valid-obj2-p) to
35803           make sure that obj1/obj2 can be compared with `eq'.
35805 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
35807         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Use eq instead of =.
35809 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
35811         bytecomp.el: Inline lapcode containing `byte-switch' correctly.
35813         * lisp/emacs-lisp/bytecomp.el (byte-compile-inline-lapcode):
35814           Restore value of byte-compile-depth after emitting a jump to a tag
35815           in a jump table, or default/done tags.
35816           Set the depth of final tags for byte-switch to nil after emitting
35817           any jumps to them.
35819 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
35821         byte-opt.el: Replace jump tables while decompiling correctly.
35823         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
35824           Don't make a copy of the constant vector, as it isn't used with
35825           the decompiled lapcode.
35826           Make sure that the correct lapcode pair/list is being modified while
35827           replacing the jump table.
35829 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
35831         bytecomp.el: Don't store non-keyword symbols in jump-tables.
35833         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
35834           nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
35835           table can only be used when comparing variables with constant values.
35837 2017-02-04  Tom Tromey  <tom@tromey.com>
35839         typo fix
35841         (css--colon-inside-selector-p): Fix typo in docstring.
35843 2017-02-04  Tom Tromey  <tom@tromey.com>
35845         Set comment-multi-line in js-mode
35847         Bug#6806:
35848         * lisp/progmodes/js.el (js-mode): Set comment-multi-line to t.
35849         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): New test.
35851 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
35853         * test/manual/indent/scss-mode.scss: Fix indentation
35855 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
35857         Fix indentation of multiline CSS property values
35859         * lisp/textmodes/css-mode.el (css-smie-grammar): Give colons belonging
35860         to properties higher precedence.
35861         (css--colon-inside-selector-p, css--colon-inside-funcall): New
35862         functions for helping SMIE during tokenization.
35863         (css-smie--forward-token, css-smie--backward-token): Distinguish
35864         colons belonging to properties from other colons.
35866         * test/manual/indent/css-mode.css: Add tests for the changes above.
35868         * test/manual/indent/scss-mode.scss: Ditto.
35870 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
35872         Add tests for lisp/kmacro.el
35874         * test/lisp/kmacro-tests.el: New file.  (Bug#24939)
35876 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
35878         Fix autorevert-tests on MS-Windows
35880         * test/lisp/autorevert-tests.el
35881         (auto-revert-test02-auto-revert-deleted-file): Don't check that
35882         auto-revert-use-notify was reset to nil on w32.
35884 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
35886         New macro 'ert-with-message-capture'
35888         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
35889         (Bug#25158)
35891         * test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
35892         (auto-revert-test00-auto-revert-mode)
35893         (auto-revert-test01-auto-revert-several-files)
35894         (auto-revert-test02-auto-revert-deleted-file)
35895         (auto-revert-test03-auto-revert-tail-mode)
35896         (auto-revert-test04-auto-revert-mode-dired):
35897         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
35898         ert-with-message-capture.
35900 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
35902         Avoid invalid read syntax errors due to 'ert-with-test-buffer'
35904         * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Fix the
35905         'declare' form.  (Bug#24722)
35907 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
35909         Fix a syntax error when evaluating pcase.el under Edebug
35911         * lisp/emacs-lisp/pcase.el (pcase-MACRO): Replace def-edebug-spec
35912         with an explicit 'put' form.  Suggested by Gemini Lasswell
35913         <gazally@runbox.com>.  (Bug#24717)
35915 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
35916             Eli Zaretskii  <eliz@gnu.org>
35918         Change edebug-max-depth from defconst to defcustom
35920         * lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom.
35921         (Bug#24713)
35923         * etc/NEWS: Mention edebug-max-depth.
35925         * doc/lispref/edebug.texi (Checking Whether to Stop): Mention
35926         edebug-max-depth and index it.  Add cross-references for
35927         max-lisp-eval-depth and max-specpdl-size.
35929 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
35931         Support options with embedded whitespace in 'dired-listing-switches'
35933         * lisp/dired.el (dired-listing-switches): Document how to quote
35934         options with embedded whitespace.
35936         * lisp/files.el (insert-directory): Use split-string-and-unquote
35937         to support dired-listing-switches that specify command-line
35938         options with embedded spaces.  (Bug#25485)
35940 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
35941             Noam Postavsky  <npostavs@users.sourceforge.net>
35943         Add tests for lisp/emacs-lisp/testcover.el
35945         * test/lisp/emacs-lisp/testcover-tests.el: New file.
35946         * test/lisp/emacs-lisp/testcover-resources/testcases.el: New file.
35948 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
35950         Document 'save-some-buffers-default-predicate'
35952         * doc/lispref/files.texi (Saving Buffers):
35953         * doc/emacs/files.texi (Save Commands): Document
35954         save-some-buffers-default-predicate.
35956 2017-02-04  Richard Stallman  <rms@gnu.org>
35958         New defcustom 'save-some-buffers-default-predicate'
35960         * lisp/files.el (save-some-buffers-default-predicate): New defcustom.
35961         (save-some-buffers): Use it when PRED is nil or omitted.
35963 2017-02-04  Mark Oteiza  <mvoteiza@udel.edu>
35965         Rename to if-let* and when-let*
35967         Make the existing if-let and when-let aliases.
35968         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): New macros.  Rewrite
35969         docstrings, incorporating that from let* and the existing if-let.
35970         (if-let, when-let, and-let*): Alias them.
35972 2017-02-03  Vibhav Pant  <vibhavp@gmail.com>
35974         Revert "Use maphash instead of cl-loop."
35976         This reverts commit bfa88520136dd6b187ba101e6db5a5f8f0d5e874.
35978 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
35980         Bump Emacs version to 25.2 RC1
35982         * README:
35983         * configure.ac:
35984         * msdos/sed2v2.inp:
35985         * nt/README.W32: Bump Emacs version.
35986         * lisp/ldefs-boot.el: Update.
35988 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
35990         * admin/make-tarball.txt: Add documentation regarding the release banner.
35992 2017-02-03  Tino Calancha  <tino.calancha@gmail.com>
35994         * CONTRIBUTE (Documenting your changes): Index new vars/commands in manual.
35996 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
35998         Re-port alloc.c to Solaris sparc and simplify
36000         alloc.c had bitrotted a bit, and used an undefined symbol
36001         stack_base when Emacs was built on Solaris sparc, leading to
36002         compilation failures.  Also, code related to __builtin_unwind_init
36003         was unnecessarily duplicated.  Fix the bitrot and remove some
36004         duplication.
36005         * src/alloc.c: Remove uses of GC_SAVE_REGISTERS_ON_STACK, since it
36006         is never defined.
36007         (test_setjmp) [!HAVE___BUILTIN_UNWIND_INIT && GC_SETJMP_WORKS]:
36008         Define a no-op dummy, to simplify use.
36009         (test_setjmp) [!GC_SETJMP_WORKS]: Test setjmp_tested_p here rather
36010         than in the caller, to simplify use.
36011         (stacktop_sentry): New type.
36012         (__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]: New macro.
36013         (SET_STACK_TOP_ADDRESS): New macro, containing code that was duplicated.
36014         (flush_stack_call_func, Fgarbage_collect): Use it.
36015         (init_alloc): Omit unnecessary initialization.
36016         After dumping, Emacs need not re-test setjmp.
36018 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
36020         Add tests for scrolling
36022         * test/manual/scroll-tests.el: New tests for scroll-margin behavior.
36024 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
36026         Fix scrolling with partial lines
36028         * src/xdisp.c (partial_line_height): New function.
36029         (try_scrolling):
36030         * src/window.c (window_scroll_pixel_based): Use it for calculating the
36031         pixel scroll margin correctly in a window with partial lines.
36033 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
36035         Make limit on scroll-margin variable
36037         * src/xdisp.c (maximum-scroll-margin): New variable.
36038         * lisp/cus-start.el: Make it customizable.
36039         * etc/NEWS: Mention it.
36040         * doc/emacs/display.texi (Auto Scrolling):
36041         * doc/lispref/windows.texi (Textual Scrolling): Document it.
36042         * src/window.c (window_scroll_pixel_based): Use it instead of hardcoding
36043         division by 4 (Bug #5718).
36045 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
36047         Don't count mode line for scroll-margin limit
36049         * src/window.c (window_scroll_margin): Use window_box_height to avoid
36050         counting header line, scrollbars for scroll-margin limit (Bug #5718).
36052 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
36054         Refactor uses of scroll_margin to a function
36056         Its effective range needs to be clamped between 0 and (window height /
36057         4), so it's better to have this constraint in a single place.
36059         * src/window.c (window_scroll_margin): New function.
36060         (window_scroll_pixel_based, window_scroll_line_based):
36061         (Frecenter, Fmove_to_window_line):
36062         * src/xdisp.c (try_scrolling, try_cursor_movement):
36063         (redisplay_window, try_window, try_window_id): Use it.
36065 2017-02-03  Dmitry Gutov  <dgutov@yandex.ru>
36067         (xref-collect-matches): Use '-E' together with '-e'
36069         * lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
36070         together with '-e', as suggested by Noam Postavsky
36071         (https://lists.gnu.org/r/emacs-devel/2017-01/msg00780.html).
36073 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
36075         Pacify Oracle Studio 12.5
36077         * src/emacs.c (main): Do not silently convert char * to bool.
36079 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
36081         Fix lisp.h underparenthesization
36083         * src/lisp.h (STACK_CONS, AUTO_STRING_WITH_LEN):
36084         Parenthesize compound literals that are function call args.
36085         Although this does not fix any bugs, it is the proper style for
36086         macro parenthesization as it means this code will continue to
36087         work even if make_lisp_ptr is changed to a macro.
36089 2017-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
36091         * lisp/doc-view.el (doc-view-mode): Don't require a final newline
36093         (doc-view-revert-buffer): Silence overflow warnings.
36095 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
36097         Merge from gnulib
36099         2017-01-30 Port to PGI 16.10 x86-64
36100         2017-01-20 time_rz: fix comment typo
36101         2017-01-14 strftime: %z is -00 if unknown
36102         This incorporates:
36103         * doc/misc/texinfo.tex, lib/c-ctype.h, lib/strftime.c:
36104         * lib/time-internal.h, lib/verify.h:
36105         Copy from gnulib.
36107 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
36109         Check if there are hunks before kill or refine a hunk
36111         * lisp/vc/diff-mode.el (diff--some-hunks-p): New predicate.
36112         (diff-hunk-kill, diff-file-kill, diff-refine-hunk): Use it (Bug#25571).
36114 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
36116         Ignore error after kill last file or hunk
36118         * lisp/vc/diff-mode.el (diff-hunk-kill): Go to beginning of hunk before kill.
36119         Ignore error after kill last hunk (Bug#25570).
36120         (diff-file-kill): Idem.
36122 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
36124         Show current line highlighted in *Occur* buffer
36126         * lisp/replace.el (list-matching-lines-current-line-face)
36127         (list-matching-lines-jump-to-current-line): New user options.
36128         (occur--orig-line, occur--orig-line-str): New variables.
36129         (occur, occur-engine): Use them.
36130         (occur--final-pos): New variable.
36131         (occur-1): Use it.
36132         (occur-engine): Idem.
36133         Show the current line with 'list-matching-lines-current-line-face'.
36134         Set point on the first matching line after the current one.
36135         * etc/NEWS: Add entry for the new option.
36137 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
36139         Allow occur command to operate on the region
36141         See discussion in:
36142         https://lists.gnu.org/r/emacs-devel/2016-12/msg01084.html
36143         * lisp/replace.el (occur--region-start, occur--region-end)
36144         (occur--matches-threshold): New variables.
36145         (occur-engine): Use them.
36146         (occur): Idem.
36147         Add optional arg REGION; if non-nil occur applies in that region.
36148         * doc/lispintro/emacs-lisp-intro.texi (Keybindings): Update manual
36149         * doc/emacs/search.texi (Other Repeating Search): Idem.
36151 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
36153         Treat list-buffers-directory as a string
36155         Another step in the long history of list-buffers-directory.  A thread
36156         branch discussing the meaning/use of the variable starts here
36157         https://lists.gnu.org/r/emacs-devel/2009-09/msg00684.html
36158         Also see (info "(elisp) Buffer File Name").
36159         * lisp/buff-menu.el: Relocate special case code into info.el.  Nix
36160         Info-* defvars.
36161         (Buffer-menu--pretty-file-name): Remove special case.  Use
36162         bound-and-true-p.
36163         (Buffer-menu-info-node-description): Remove.
36164         * lisp/ibuffer.el (ibuffer-buffer-file-name): Treat
36165         list-buffers-directory as a string.
36166         * lisp/info.el (Info-node-description): New function.
36167         (Info-select-node): Use it.
36169 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
36171         Turn on lexical-binding in parse-time.el
36173         * lisp/calendar/parse-time.el: Turn on lexical-binding.
36174         (parse-time-iso8601-regexp, parse-iso8601-time-string): Remove unused
36175         bindings.
36177 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
36179         Prevent creating thumbnails of all gif frames
36181         With the previous defaults, doing image-dired on a directory with an
36182         animated foo.gif would cause creation of foo.thumb-N.gif for each of
36183         N frames in foo.gif.  By default image-dired looks for foo.thumb.gif, so
36184         there additionally is no usable thumbnail after all the needless effort.
36185         image-dired never handled animation, regardless.
36186         * lisp/image-dired.el: Mention limitation.
36187         (image-dired-cmd-create-thumbnail-options):
36188         (image-dired-cmd-create-temp-image-options):
36189         (image-dired-cmd-create-standard-thumbnail-options): Append [0] to
36190         filename to indicate only converting the 0th frame.
36191         (image-dired-display-image-mode): Don't show a cursor.
36193 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
36195         Fix quitting bug when buffers are frozen
36197         Problem noted by Eli Zaretskii in:
36198         https://lists.gnu.org/r/emacs-devel/2017-01/msg00721.html
36199         This patch also fixes some other issues in that report.
36200         * src/lisp.h (incr_rarely_quit): Remove.
36201         All callers changed to use rarely_quit directly.
36202         * src/search.c (freeze_buffer_relocation)
36203         (thaw_buffer_relocation): New functions.
36204         (looking_at_1, fast_looking_at, search_buffer):
36205         Use them to fix bug when quitting when buffers are frozen.
36206         * src/sysdep.c (emacs_intr_read): Rename from emacs_nointr_read.
36207         All uses changed.
36209 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
36211         Revamp quitting and fix infloops
36213         This fixes some infinite loops that cannot be quitted out of,
36214         e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
36215         when byte-compiled and when run under X.  See:
36216         https://lists.gnu.org/r/emacs-devel/2017-01/msg00577.html
36217         This also attempts to keep the performance improvements I recently
36218         added, as much as possible under the constraint that the infloops
36219         must be caught.  In some cases this fixes infloop bugs recently
36220         introduced when I removed immediate_quit.
36221         * src/alloc.c (Fmake_list):
36222         Use rarely_quit, not maybe_quit, for speed in the usual case.
36223         * src/bytecode.c (exec_byte_code):
36224         * src/editfns.c (Fcompare_buffer_substrings):
36225         * src/fns.c (Fnthcdr):
36226         * src/syntax.c (scan_words, skip_chars, skip_syntaxes)
36227         (Fbackward_prefix_chars):
36228         Use rarely_quit so that users can C-g out of long loops.
36229         * src/callproc.c (call_process_cleanup, call_process):
36230         * src/fileio.c (read_non_regular, Finsert_file_contents):
36231         * src/indent.c (compute_motion):
36232         * src/syntax.c (scan_words, Fforward_comment):
36233         Remove now-unnecessary maybe_quit calls.
36234         * src/callproc.c (call_process):
36235         * src/doc.c (get_doc_string, Fsnarf_documentation):
36236         * src/fileio.c (Fcopy_file, read_non_regular, Finsert_file_contents):
36237         * src/lread.c (safe_to_load_version):
36238         * src/sysdep.c (system_process_attributes) [GNU_LINUX]:
36239         Use emacs_read_quit instead of emacs_read in places where
36240         C-g handling is safe.
36241         * src/eval.c (maybe_quit): Move comment here from lisp.h.
36242         * src/fileio.c (Fcopy_file, e_write):
36243         Use emacs_write_quit instead of emacs_write_sig in places where
36244         C-g handling is safe.
36245         * src/filelock.c (create_lock_file): Use emacs_write, not
36246         plain write, as emacs_write no longer has a problem.
36247         (read_lock_data): Use emacs_read, not read, as emacs_read
36248         no longer has a problem.
36249         * src/fns.c (rarely_quit): Move to lisp.h and rename to
36250         incr_rarely_quit.  All uses changed..
36251         * src/fns.c (Fmemq, Fmemql, Fassq, Frassq, Fplist_put, Fplist_member):
36252         * src/indent.c (compute_motion):
36253         * src/syntax.c (find_defun_start, back_comment, forw_comment)
36254         (Fforward_comment, scan_lists, scan_sexps_forward):
36255         Use incr_rarely_quit so that users can C-g out of long loops.
36256         * src/fns.c (Fnconc): Move incr_rarely_quit call to within
36257         inner loop, so that it catches C-g there too.
36258         * src/keyboard.c (tty_read_avail_input): Remove commented-out
36259         and now-obsolete code dealing with interrupts.
36260         * src/lisp.h (rarely_quit, incr_rarely_quit): New functions,
36261         the latter moved here from fns.c and renamed from rarely_quit.
36262         (emacs_read_quit, emacs_write_quit): New decls.
36263         * src/search.c (find_newline, search_buffer, find_newline1):
36264         Add maybe_quit to catch C-g.
36265         * src/sysdep.c (get_child_status): Always invoke maybe_quit
36266         if interruptible, so that the caller need not bother.
36267         (emacs_nointr_read, emacs_read_quit, emacs_write_quit):
36268         New functions.
36269         (emacs_read): Rewrite in terms of emacs_nointr_read.
36270         Do not handle C-g or signals; that is now for emacs_read_quit.
36271         (emacs_full_write): Replace PROCESS_SIGNALS two-way arg
36272         with INTERRUPTIBLE three-way arg.  All uses changed.
36274 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
36276         Remove immediate_quit.
36278         The old code that sets and clears immediate_quit was
36279         ineffective except when Emacs is running in terminal mode, and
36280         has problematic race conditions anyway, so remove it.  This
36281         will introduce some hangs when Emacs runs in terminal mode,
36282         and these hangs should be fixed in followup patches.
36283         * src/keyboard.c (immediate_quit): Remove.  All uses removed.
36285 2017-02-01  Alan Mackenzie  <acm@muc.de>
36287         Allow C++ nested brace-list-entries to be better indented.
36289         This fixes bug #24431.  The key change of this bug fix is correctly analyzing
36290         nested brace lists when the opening element stands on the same line as both
36291         its introductory brace and an enclosing parameter list parenthesis.
36293         * lisp/progmodes/cc-align.el (c-lineup-under-anchor): New line-up function.
36295         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Accept the
36296         presence of exactly an identifier between an open parenthesis and an open
36297         brace as evidence of the brace starting a brace list.
36298         (c-looking-at-statement-block): New function, extracted from
36299         c-looking-at-inexpr-block.  Enhance it to analyze inner blocks recursively
36300         when needed.
36301         (c-looking-at-inexpr-block): Extract new function (see above) and call it.
36302         (c-add-stmt-syntax): Enhance, with new &optional parameter, to supply the
36303         prime syntactic symbol with a fixed anchor point.  When this is used, restrict
36304         all added syntactic symbols to those having an anchor point on the same line.
36305         Add, in addition to the current additional symbols, c-brace-list-entry when
36306         needed; use c-looking-at-statement-block to determine the latter.
36307         (c-guess-basic-syntax, CASE 9D): Use c-add-stmt-syntax rather than just
36308         c-add-syntax, to assemble the syntactic context of a 'brace-list-entry, thus
36309         getting, possibly, several accompanying syntactic entries.
36311         * lisp/progmodes/cc-styles.el (c-style-alist, "gnu" style): New entry for
36312         'brace-list-intro, namely c-lineup-arglist-intro-after-paren.
36314         * lisp/progmodes/cc-vars.el (c-offsets-alist): Change the factory default
36315         offset for 'brace-list-entry from 0 to c-lineup-under-anchor.
36317         * doc/misc/cc-mode.texi (Syntactic Symbols): Amend the definition of
36318         brace-list-intro.
36319         (Brace List Symbols): Amend the example to show the new analysis of brace
36320         lists when the first element comes on the same line as the opening brace.
36321         (Misc Line-Up): Document the new line-up function c-lineup-under-anchor.
36323 2017-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
36325         Revert "DOn't use string-as-unibyte in Gnus"
36327         This reverts commit d1c931009004aef847105b7bac6b6ffafd985b82.
36329         Not all the cases where we had string-as-unibyte were characters,
36330         so this needs to be considered more thoroughly before being redone.
36332 2017-02-01  Vibhav Pant  <vibhavp@gmail.com>
36334         Use maphash instead of cl-loop.
36336         * lisp/emacs-lisp/bytecomp.el: (byte-compile-lapcode) Use maphash
36337           instead of cl-loop
36339 2017-02-01  Michael Albinus  <michael.albinus@gmx.de>
36341         Fix a subtle problem in Tramp with timers
36343         * lisp/net/tramp.el (tramp-accept-process-output): Change argument
36344         list.  Make it work when called inside a timer.  See
36345         <https://lists.gnu.org/r/tramp-devel/2017-01/msg00010.html>.
36347 2017-01-31  Eli Zaretskii  <eliz@gnu.org>
36349         Index byte-compile-debug
36351         * doc/lispref/compile.texi (Compilation Functions): Index
36352         byte-compile-debug.
36354 2017-01-31  Philipp Stephani  <phst@google.com>
36356         Document `byte-compile-debug' in the ELisp manual
36358         * doc/lispref/compile.texi: Document variable `byte-compile-debug'.
36360 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
36362         read-multiple-choice: explain dialog popups more
36364         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Explain
36365         when a graphical popup is used and how it can be avoided.
36367 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
36369         auth-source-user-and-password: add forgotten user parameter
36371                 * lisp/auth-source.el (auth-source-user-and-password): Use
36372                   accidentally unused "user" parameter.
36373                   Reported by Oscar Najera <najera.oscar@gmail.com>.
36375 2017-01-31  Simen Heggestøyl  <simenheg@gmail.com>
36377         Fix typo in a NEWS entry for CSS mode
36379 2017-01-31  Philipp Stephani  <phst@google.com>
36381         Document variable `byte-compile-debug'
36383         * lisp/emacs-lisp/bytecomp.el (byte-compile-debug): Document variable.
36385 2017-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
36387         DOn't use string-as-unibyte in Gnus
36389         * lisp/gnus/nnmail.el (nnmail-parse-active): Don't use
36390         string-as-unibyte.
36391         (nnmail-insert-xref): Ditto.
36393         * lisp/gnus/canlock.el (canlock-make-cancel-key): Ditto.
36395         * lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Ditto.
36397         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Ditto.
36398         (gnus-browse-foreign-server): Ditto.
36399         (gnus-browse-foreign-server): Ditto.
36401         * lisp/gnus/gnus-start.el
36402         (gnus-update-active-hashtb-from-killed): Ditto.
36403         (gnus-read-newsrc-el-file): Ditto.
36405         * lisp/gnus/mml.el (mml-generate-mime-1): Ditto.
36407         * lisp/gnus/nnir.el (nnir-get-active): Ditto.
36408         (nnir-get-active): Ditto.
36410 2017-01-31  Juri Linkov  <juri@linkov.net>
36412         Allow C-s C-w to yank ' to the search ring in the Gnus article buffer
36414         * lisp/gnus/gnus-art.el (gnus-article-mode-syntax-table): Make
36415         M-. in article buffers work for `foo' strings, and still allow
36416         C-s C-w to yank ' to the search ring (bug#22248).
36418 2017-01-31  Paul Eggert  <eggert@cs.ucla.edu>
36420         * src/alloc.c, src/lisp.h: Fix minor glitches in recent changes.
36422 2017-01-31  Tino Calancha  <tino.calancha@gmail.com>
36424         * test/lisp/vc/diff-mode-tests.el: Require diff-mode.
36426 2017-01-31  Dima Kogan  <dima@secretsauce.net>
36428         New test for diff-mode handling trailing --
36430         test/lisp/vc/diff-mode-tests.el: New test file
36432 2017-01-31  Dima Kogan  <dima@secretsauce.net>
36434         Handle patch terminators produced by git and bzr patch export
36436         Patch by Juri Linkov posted in the #9597 bug report
36438         * lisp/vc/diff-mode.el (diff-sanity-check-hunk): Find and ignore
36439         terminator (Bug #9597, #5302)
36441 2017-01-31  Dima Kogan  <dima@secretsauce.net>
36443         Revert two accidental commits
36445         This reverts commit f3c77d11af65f3b319b1784b4c3cf08c51aa7997.
36446         This reverts commit 3c941b900007c9e79c00af0f21d88154f6d8af1a.
36448 2017-01-31  Dima Kogan  <dima@secretsauce.net>
36450         stash
36452 2017-01-31  Dima Kogan  <dima@secretsauce.net>
36454         comint-get-old-input-default: behavior follows docstring
36456         lisp/comint.el (comint-get-old-input-default): Modify behavior to follow
36457         docstring: if `comint-use-prompt-regexp' is nil, then return the CURRENT LINE,
36458         if point is on an output field.
36460 2017-01-31  Noam Postavsky  <npostavs@gmail.com>
36462         Fix call to debugger on assertion failure
36464         * lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): The first
36465         argument must be `error', and the second is a list of arguments for
36466         `signal'.
36468 2017-01-30  Tom Tromey  <tom@tromey.com>
36470         css-mode documentation lookup feature
36472         * etc/NEWS: Mention new feature.
36473         * lisp/textmodes/css-mode.el (css-mode-map): New defvar.
36474         (css--mdn-lookup-history): New defvar.
36475         (css-lookup-url-format): New defcustom.
36476         (css--mdn-property-regexp, css--mdn-completion-list): New defconsts.
36477         (css--mdn-after-render, css--mdn-find-symbol, css-lookup-symbol): New
36478         defuns.
36479         * test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): New
36480         test.
36482 2017-01-30  Glenn Morris  <rgm@gnu.org>
36484         edt-mapper: just loading a library should not run code
36486         * lisp/emulation/edt-mapper.el (edt-mapper): New function,
36487         containing code previously at top-level.
36488         * lisp/emulation/edt.el (edt-load-keys): After loading edt-mapper,
36489         run edt-mapper function.
36491 2017-01-30  Glenn Morris  <rgm@gnu.org>
36493         mh-compat.el: remove duplicate definition
36495         * lisp/mh-e/mh-compat.el (mh-make-obsolete-variable):
36496         Remove duplicate definition.
36498 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
36500         Add delq list arg check
36502         * src/fns.c (Fdelq): Check that list is a proper list.
36503         This is more compatible with what ‘delete’ does.
36505 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
36507         * lisp/indent.el (indent-region-line-by-line): New function.
36509         Extracted from indent-region.
36510         (indent-region, indent-region-function): Use it.
36512 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
36514         * lisp/subr.el (string-make-unibyte, string-make-multibyte): Obsolete.
36516 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
36518         More fixes to prevent crashes on C-g
36520         * src/fns.c (Fassq, Frassq, Fplist_put): Reset immediate_quit
36521         before returning, to avoid crashes in quit.  (Bug#25566)
36523 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
36525         Avoid crashes on C-g in TTY sessions
36527         * src/keyboard.c (handle_interrupt): Don't quit if
36528         waiting_for_input is set, as doing that is "unsafe": it will
36529         abort.  (Bug#25566)
36531 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
36533         * lisp/emacs-lisp/bytecomp.el: Create jump tables with :purecopy t
36535         Merge remote-tracking branch 'origin/master' into feature/byte-switch
36537 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
36539         Fix hash tables not being purified correctly.
36541         * src/alloc.c
36542         (purecopy_hash_table) New function, makes a copy of the given hash
36543         table in pure storage.
36544         Add new struct `pinned_object' and `pinned_objects' linked list for
36545         pinning objects.
36546         (Fpurecopy) Allow purifying hash tables
36547         (purecopy) Pin hash tables that are either weak or not declared with
36548         `:purecopy t`, use purecopy_hash_table otherwise.
36549         (marked_pinned_objects) New function, marks all objects in pinned_objects.
36550         (garbage_collect_1) Use it. Mark all pinned objects before sweeping.
36551         * src/lisp.h: Add new field `pure' to struct `Lisp_Hash_Table'.
36552         * src/fns.c: Add `purecopy' parameter to hash tables.
36553         (Fmake_hash_table): Check for a `:purecopy PURECOPY' argument, pass it
36554         to make_hash_table.
36555         (make_hash_table): Add `pure' parameter, set h->pure to it.
36556         (Fclrhash, Fremhash, Fputhash): Enforce that the table is impure with
36557         CHECK_IMPURE.
36558         * src/lread.c: (read1) Parse for `purecopy' parameter while reading
36559           hash tables.
36560         * src/print.c: (print_object) add the `purecopy' parameter while
36561           printing hash tables.
36562         * src/category.c, src/emacs-module.c, src/image.c, src/profiler.c,
36563           src/xterm.c: Use new (make_hash_table).
36565 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
36567         Escape dash in xref rgrep regexp
36569         * lisp/progmodes/xref.el (xref-collect-matches): Escape dash
36570         in REGEXP if it's the first character.
36572 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
36574         Say JavaScript, not Javascript
36576         * lisp/progmodes/js.el (js-mode-map, js-syntax-propertize)
36577         (js-js-error, js-eval, js-set-js-context)
36578         (js--get-js-context):
36579         Refer to the language consistently as JavaScript.
36581 2017-01-29  Juanma Barranquero  <lekktu@gmail.com>
36583         lisp/*.el: Fix some warnings
36585         * lisp/battery.el (dbus-get-property):
36586         * lisp/dired-aux.el (format-spec): Declare function.
36588         * lisp/net/zeroconf.el (zeroconf-list-service-names)
36589         (zeroconf-list-service-types, zeroconf-list-services):
36590         Mark unused lexical arg.
36592         * lisp/progmodes/hideshow.el (hs-hide-block-at-point):
36593         * lisp/progmodes/sql.el (sql-end-of-statement):
36594         Pass LIMIT to 'looking-back'.
36596 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
36598         Don't warn about obsolete defgenerics when defining them
36600         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): The declaration code
36601         should run after the definition code (Bug#25556).
36603 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
36605         Call modification hooks in org-src fontify buffers
36607         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Let-bind
36608         `inhibit-modification-hooks' to nil, since this function can be called
36609         from jit-lock-function which binds that variable to t (Bug#25132).
36611 2017-01-29  Tino Calancha  <tino.calancha@gmail.com>
36613         Fix Bug#25524
36615         * lisp/vc/diff-mode.el (diff-beginning-of-hunk):
36616         Return position at the beginning off the hunk.
36617         (diff-file-junk-re): Add SVN keywords.
36619 2017-01-28  Stephen Berman  <stephen.berman@gmx.net>
36621         hl-line.el: Don't try to operate on a killed buffer
36623         * lisp/hl-line.el (hl-line-maybe-unhighlight): Examine only
36624         live buffers (bug#25522).
36626 2017-01-28  Mark Oteiza  <mvoteiza@udel.edu>
36628         Use access-file in EWW to check before downloading a file
36630         * lisp/net/eww.el (eww-download): Check accessibility of
36631         eww-download-directory to prevent starting a download that will fail
36632         to write.
36633         * src/fileio.c (Faccess_file): Clarify the use of string argument in
36634         the docstring.
36636 2017-01-28  Yuri D'Elia  <wavexx@thregr.org>
36638         Subject: Check Bcc after the Messag hook has run
36640         * lisp/gnus/message.el (message-send): If the hook modifies
36641         the message (mml tags or headers), we should check bcc on the
36642         final message, not on the original.
36644 2017-01-28  Eli Zaretskii  <eliz@gnu.org>
36646         Improve documentation of 'format' conversions
36648         * src/editfns.c (Fformat): More accurate description of %g and
36649         effects of the various flags on it.  More accurate description of
36650         integer conversions.
36652         * doc/lispref/strings.texi (Formatting Strings): More accurate
36653         description of %g and effects of the various flags on it.  More
36654         accurate description of integer conversions.  (Bug#25557)
36656 2017-01-28  Juanma Barranquero  <lekktu@gmail.com>
36658         test/*.el: Avoid byte-compiler warnings
36660         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Remove unused 'let*'.
36662         * test/lisp/faces-tests.el (faces--test): New customization group.
36663         (faces--test1, faces--test2): Use it.
36665         * test/lisp/ffap-tests.el (ffap-tests-25243):
36666         Call 'mark-whole-buffer' interactively.
36668         * test/lisp/ibuffer-tests.el (ibuffer-filter-groups, ibuffer-filtering-alist)
36669         (ibuffer-filtering-qualifiers, ibuffer-save-with-custom)
36670         (ibuffer-saved-filter-groups, ibuffer-saved-filters): Defvar.
36671         (ibuffer-format-qualifier, ibuffer-unary-operand): Declare.
36673         * test/lisp/minibuffer-tests.el (completion-test1):
36674         Mark unused lexical arguments.
36676         * test/lisp/simple-tests.el (simple-test--dummy-buffer): Wrap result in
36677         'with-no-warnings' to avoid them when the macro is invoked for effect.
36679         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-count-test):
36680         Mark unused lexical arguments.
36682         * test/lisp/emacs-lisp/let-alist-tests.el (let-alist-surface-test):
36683         Mark unused lexical arguments.
36684         (let-alist-cons): Remove unused let binding.
36686         * test/lisp/net/dbus-tests.el (dbus-debug): Defvar.
36687         (dbus-get-unique-name): Declare.
36689         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid):
36690         Call 'font-lock-fontify-buffer' interactively.
36692         * test/lisp/textmodes/tildify-tests.el (tildify-space-undo-test--test):
36693         Mark unused lexical argument.
36695 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
36697         Restore a test that was removed by a recent commit
36699         * src/fileio.c (Ffile_accessible_directory_p): Don't overwrite the
36700         errno value unless it's necessary.  (Bug#25419)
36702 2017-01-27  Mark Oteiza  <mvoteiza@udel.edu>
36704         Fix a couple eww customization types
36706         * lisp/new/eww.el (eww-download-directory, eww-bookmarks-directory):
36707         Change customization type to "directory".
36709 2017-01-27  Philipp Stephani  <phst@google.com>
36711         Don't require a shell when loading htmlfontify
36713         * lisp/htmlfontify.el (hfy-which-etags): Don't call a shell for
36714         detecting the etags version (Bug#25468).
36715         * test/lisp/htmlfontify-tests.el (htmlfontify-bug25468): Add unit
36716         test.
36718 2017-01-27  Paul Eggert  <eggert@cs.ucla.edu>
36720         Slightly tune file-accessible-directory-p fix
36722         * src/fileio.c (Ffile_accessible_directory_p):
36723         Remove unnecessary test (Bug#25419).
36725 2017-01-27  Arash Esbati  <arash@gnu.org>
36727         Add \citetitle to biblatex cite format
36729         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
36730         \citetitle[*] to `reftex-cite-format' and bind them to keys i/I
36731         per user request
36732         https://lists.gnu.org/r/auctex/2017-01/msg00049.html.
36734 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
36736         Fix charsets and encodings from non-file MIME parts
36738         * lisp/gnus/mml.el (mml-generate-mime-1): Get the charsets and
36739         encoding right for parts that do not originate from files.
36741 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
36743         Fix 'describe-variable' for longish variable values
36745         * lisp/help-fns.el (describe-variable): Don't accidentally remove
36746         the last character of a variable's value.  (Bug#25545)
36748 2017-01-27  Vladimir Panteleev  <git@thecybershadow.net>  (tiny change)
36750         Remove stale functions from ert manual
36752         * doc/misc/ert.texi (Useful Techniques when Writing Tests):
36753         Replace ert--mismatch references with its cl-lib replacement,
36754         cl-mismatch.
36756 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
36758         Fix a typo in Eshell manual
36760         * doc/misc/eshell.texi (History): Fix a typo.  Reported by Mak
36761         Kolybabi <mak@kolybabi.com>.
36763 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
36765         Ensure last line is at window bottom in shell buffers
36767         * lisp/shell.el (shell-mode): Use setq-local.  Set
36768         scroll-conservatively to 101 locally.  See the discussion at
36769         https://lists.gnu.org/r/emacs-devel/2016-12/msg00736.html
36770         for the reasons.
36772 2017-01-27  Michael Hoffman  <emacs-hoffman@sneakemail.com>  (tiny change)
36774         Support Bash Ctrl-Z indication of directory name in term.el
36776         * lisp/term/xterm.el (term-emulate-terminal): Do not display ?\032 escape
36777         codes even when 'handled-ansi-message' is non-nil.  (Bug#11919)
36779 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
36781         Don't report zero errno for inaccessible directory
36783         * src/fileio.c (Ffile_accessible_directory_p): Report EACCES when
36784         a file handler reports a failure.  (Bug#25419)
36786 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
36788         Fix filenotify-tests on MS-Windows
36790         * test/lisp/filenotify-tests.el (file-notify-test04-file-validity)
36791         (file-notify-test05-dir-validity)
36792         (file-notify-test06-many-events)
36793         (file-notify-test08-watched-file-in-watched-dir): Manually remove
36794         the watch descriptor before calling file-notify--test-cleanup-p.
36795         (Bug#25539)
36797 2017-01-27  Hong Xu  <hong@topbug.net>
36799         python-mode: Fix detection for opening blocks.
36801         * lisp/progmodes/python.el
36802         (python-info-dedenter-opening-block-positions): There can't be any
36803         back-indented lines between an opening block and the current line.
36805         * test/lisp/progmodes/python-tests.el
36806         (python-indent-electric-colon-4): Add an indent test case where
36807         there is one-more indented previous opening block.
36809 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
36811         Fix Message check for bogus domain names
36813         * lisp/gnus/message.el (message-make-fqdn): Fix check for
36814         bogus system names (bug#24570).
36816 2017-01-27  Øyvind Stegard  <oyvind@stegard.net>  (tiny change)
36818         Subject: Restore correct Gnus newsgroup name after sending message
36820         * lisp/gnus/gnus-msg.el (gnus-msg-mail): Set the value of
36821         gnus-newsgroup-name in the correct buffer (bug#24329).
36823 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
36825         Mention the new Gnus sorting command
36827 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
36829         Don't try to find charsets of non-text MIME parts
36831         * lisp/gnus/mml.el (mml-generate-mime-1): It seems nonsensical
36832         to try to determine the charset of non-text message parts, so
36833         skip that (bug#24190).  This will also remove messages like
36834         "bunzip2ing /tmp/acsb.cpio.bz2...done" while sending messages
36835         if you include such files.
36837 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
36839         Add new command gnus-article-sort-by-marks
36841         * doc/misc/gnus.texi (Summary Sorting): Mention
36842         gnus-summary-sort-by-marks.
36844         * lisp/gnus/gnus-sum.el (gnus-article-sort-by-marks): New
36845         function (bug#23393).
36846         (gnus-thread-sort-by-marks): Ditto.
36847         (gnus-summary-sort-by-mark): New command suggested by Dan Jacobson.
36848         (gnus-summary-mode-map): Add keystroke.
36849         (gnus-summary-make-menu-bar): Add to menu.
36851 2017-01-26  Katsumi Yamaoka  <yamaoka@jpl.org>
36853         Make `C-h b' work correctly in Gnus article buffer (bug#18257)
36855         * lisp/gnus/gnus-art.el (gnus-article-describe-bindings):
36856         Ignore summary commands that aren't bound to
36857         gnus-article-read-summary-keys keys (bug#18257).
36859 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
36861         Fix crossposting in non-primary groups
36863         * lisp/gnus/message.el
36864         (message-cross-post-followup-to-header): Gnus server prefixes
36865         shouldn't be included in the group names (bug#21661).
36866         (message-cross-post-followup-to): Ditto.
36868 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
36870         Gnus doc clarification
36872         * doc/misc/gnus.texi (Unavailable Servers): Explicitly say
36873         that "unreachable" is the same as disabling it (bug#21630).
36875 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
36877         Remove dead code from rfc2047
36879         * lisp/mail/rfc2047.el (rfc2047-fold-field): Remove dead code.
36881         It's been disabled since 2005, when I made the change with the
36882         following comment.
36884         (rfc2047-encode-message-header): Disabled header folding -- not
36885         all headers can be folded, and this should be done by the message
36886         composition mode.  Probably.  I think.
36888 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
36890         Fill too long mail headers
36892         * lisp/gnus/message.el (message--fold-long-headers): New
36893         function to fold too-long headers (bug#21608).
36894         (message-send-mail): Use it to fill headers longer than 998
36895         characters (which is the protocol limit).
36897 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
36899         Make nndoc more resilient against corrupted files
36901         * lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): Don't bug
36902         out on invalid files, like invalid .gz files (bug#21538).
36903         This may hinder Gnus from starting up.
36905 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
36907         Respect buffer-local message-fcc-handler-function
36909         * lisp/gnus/message.el (message-do-fcc): Copy the local
36910         variables from the Message buffer so that local settings of
36911         `message-fcc-handler-function' etc are respected (bug#21174).
36913 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
36915         (message-do-fcc): Modernize the code slightly.
36917         * lisp/gnus/message.el (message-do-fcc): Modernize the code slightly.
36919 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
36921         Avoid a regexp overflow in message-goto-body
36923         * lisp/gnus/message.el (message-goto-body-1): Avoid using a
36924         complicated backtracking regexp, because they may overflow on
36925         large headers (bug#21160).
36927 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
36929         Refactor message-goto-body
36931         * lisp/gnus/message.el (message-goto-body-1): Refactor out for reuse.
36933 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
36935         Fix typo in last checkin
36937         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
36938         nnimap-shell-program (bug#20651).
36940 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
36942         Document nnimap-shell-program
36944         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
36945         nnimap-shell-program (bug#20651).
36947 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
36949         Document :shell-command in `make-network-process'
36951         * doc/lispref/processes.texi (Network): Document :shell-command.
36953         * lisp/net/network-stream.el (open-network-stream): Document
36954         the :shell-command parameter (bug#20651).
36956 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
36958         Gnus doc clarification
36960         * lisp/gnus/gnus-sum.el (gnus-summary-save-article): Mention
36961         the gnus-prompt-before-saving variable (bug#20500).
36963 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
36965         Fix the previous mml patch better
36967         * lisp/gnus/mml.el (mml-minibuffer-read-file): Fix the
36968         previous patch in a better way (bug#20480).
36970 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
36972         Give a slight better error message in mml-minibuffer-read-file
36974         * lisp/gnus/mml.el (mml-minibuffer-read-file): Give a slightly
36975         better error message when the user enters nothing (bug#20480).
36977 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
36979         * lisp/emacs-lisp/bytecomp.el:(bc-cond-jump-table-info)add docstring
36981 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
36983         Make eww buffers prettier in the buffer listing
36985         * lisp/net/eww.el (eww-render): Put the currently visited URL
36986         into the buffer listing (bug#23738).
36987         (eww-render): Ditto.
36989 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
36991         Allow mml-attach-file to prompt less
36993         * lisp/gnus/mml.el (mml-attach-file): If given a prefix, don't
36994         prompt for type/description/disposition, but use defaults
36995         (bug#19202).
36997 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
36999         Don't allow message-newline-and-reformat to be run outside the body
37001         * lisp/gnus/message.el (message-newline-and-reformat): Error
37002         out if run outside the body of a message (bug#18820).
37004 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
37006         * lisp/emacs-lisp/bytecomp.el: Use correct function to push nil
37008         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Use
37009           byte-compile-constant instead of byte-compile-form to push nil.
37011 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
37013         * lisp/emacs-lisp/disass.el: Fix spacing while showing jump tables
37015 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
37017         Replace QUIT with maybe_quit
37019         There’s no longer need to have QUIT stand for a slug of C statements.
37020         Use the more-obvious function-call syntax instead.
37021         Also, use true and false when setting immediate_quit.
37022         These changes should not affect the generated machine code.
37023         * src/lisp.h (QUIT): Remove.  All uses replaced by maybe_quit.
37025 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
37027         A quicker check for quit
37029         On some microbenchmarks this lets Emacs run 60% faster on my
37030         platform (AMD Phenom II X4 910e, Fedora 25 x86-64).
37031         * src/atimer.c: Include keyboard.h, for pending_signals.
37032         * src/editfns.c (Fcompare_buffer_substrings):
37033         * src/fns.c (Fnthcdr, Fmemq, Fmemql, Fassq, Frassq, Fplist_put)
37034         (Fnconc, Fplist_member):
37035         Set and clear immediate_quit before and after loop instead of
37036         executing QUIT each time through the loop.  This is OK for loops
37037         that affect only locals.
37038         * src/eval.c (process_quit_flag): Now static.
37039         (maybe_quit): New function, containing QUIT’s old body.
37040         * src/fns.c (rarely_quit): New function.
37041         (Fmember, Fassoc, Frassoc, Fdelete, Fnreverse, Freverse)
37042         (Flax_plist_get, Flax_plist_put, internal_equal, Fnconc):
37043         Use it instead of QUIT, for
37044         speed in tight loops that might modify non-locals.
37045         * src/keyboard.h (pending_signals, process_pending_signals):
37046         These belong to keyboard.c, so move them here ...
37047         * src/lisp.h: ... from here.
37048         (QUIT): Redefine in terms of the new maybe_quit function, which
37049         contains this macro’s old definiens.  This works well with branch
37050         prediction on processors with return stack buffers, e.g., x86
37051         other than the original Pentium.
37053 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
37055         Simplify make-list implementation
37057         * src/alloc.c (Fmake_list): Don’t unroll loop, as the complexity
37058         is not worth it these days.
37060 2017-01-26  Mark Oteiza  <mvoteiza@udel.edu>
37062         Make use of cl-loop destructuring
37064         * lisp/progmodes/js.el (js--get-tabs): Replace extraneous bits with
37065         destructuring.
37066         (with-js): Add declare forms.
37068 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37070         Revert "Bind C-c keys in the article buffer"
37072         This reverts commit 6b4195f2ace1f6328c5a833fde40f39babef4fa6.
37074         The commit somehow lead to problems in other parts of Emacs.
37076 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37078         Document how to quote MML tags
37080         * doc/misc/emacs-mime.texi (MML Definition): Mention how to
37081         quote MML tags (bug#18881).
37083 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37085         Make address parsing more robust
37087         * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't
37088         bug out on addresses like
37089         (ietf-drums-parse-address "\"Foo \"bar\" <larsi@gnus.org>")
37090         (bug#18572).
37092 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37094         Fix the %P (line number) thing in Gnus summary buffers
37096         * lisp/gnus/gnus-salt.el (gnus-pick-line-number): Remove hack.
37098         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Reset the
37099         "pick" mode line number on entry instead of relying in a hack (bug#18311).
37101 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37103         Fix wrong documentation on nnmairix keystrokes
37105         * doc/misc/gnus.texi (nnmairix keyboard shortcuts): The
37106         nnmairix commands are on G G, not $ (bug#18260).
37108 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37110         Bind C-c keys in the article buffer
37112         * lisp/gnus/gnus-art.el (gnus-article-mode-map): Also bind the
37113         C-c keys so that they execute in the summary buffer
37114         (bug#18257).  This makes commands like `C-c C-f' work from the
37115         article buffer.
37117 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37119         Don't mark articles in Gnus as displayed when they aren't
37121         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Don't
37122         mark any articles as selected if we're not selecting any
37123         articles (bug#18255).
37125 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
37127         * lisp/emacs-lisp/disass.el: Display jump tables for switch.
37129         * lisp/emacs-lisp/bytecomp.el:Use correct size for switch jump-table
37131         * lisp/emacs-lisp/bytecomp.el: Simplify b-c-cond-valid-obj2-p
37133         * lisp/emacs-lisp/bytecomp.el: Fix byte-switch codegen with symbols.
37135 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
37137         * lisp/emacs-lisp/byte-opt.el: Add support for decompiling switch
37139         * lisp/emacs-lisp/byte-opt.el: (byte-decompile-bytecode-1) When the
37140           constant encountered precedes a byte-switch op, replace all the
37141           addresses in the jump table with tags.
37143 2017-01-25  Mark Oteiza  <mvoteiza@udel.edu>
37145         Move cXXXr and cXXXXr to subr.el
37147         * etc/NEWS: Mention new core Elisp.
37148         * doc/lispref/lists.texi (List Elements): Document and index the new
37149         functions.
37150         * doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
37151         * lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
37152         (cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
37153         (cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
37154         (cddddr): New functions.
37155         * lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
37156         (cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
37157         (cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
37158         (cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
37159         (cl-cdddar, cl-cddddr): Alias to new subr functions.
37160         * lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
37161         elements.
37163 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37165         Only save .newsrc file if the native method is NNTP
37167         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
37168         the .newsrc file if the native select method is NNTP
37169         (bug#18198).  This avoids problems with invalid IMAP group
37170         names and the like in the .newsrc file.
37172 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37174         Only save .newsrc file if the native method is NNTP
37176         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
37177         the .newsrc file if the native select method is NNTP
37178         (bug#18198).  This avoids problems with invalid IMAP group
37179         names and the like in the .newsrc file.
37181 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37183         Gnus custom spec fix
37185         * lisp/gnus/gnus-art.el (gnus-signature-limit): Fix customize
37186         spec to match the doc string (bug#17679).
37188 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37190         Clarify confusing Gnus error message
37192         * lisp/gnus/gnus-topic.el (gnus-topic-unindent): Clarify
37193         confusing error message (bug#17677).
37195 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37197         Make C-u C-x m work with Message as documented
37199         * lisp/gnus/message.el (message-mail): Respect the CONTINUE
37200         parameter (bug#17175).
37202 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37204         Fix problem with auto-mode and dir-locals-collect-variables
37206         * lisp/files.el (dir-locals-collect-variables): When run from
37207         auto-mode, the file in question may not be an absolute path
37208         name (bug#24016).
37210         Example backtrace:
37212         Debugger entered--Lisp error: (args-out-of-range "compile-1st-in-loa
37213           dir-locals-collect-variables(((emacs-lisp-mode (indent-tabs-mode))
37214           hack-dir-local-variables()
37215           hack-local-variables(no-mode)
37216           run-mode-hooks(diff-mode-hook)
37217           diff-mode()
37218           mm-display-inline-fontify((#<buffer  *mm*-923037> ("text/x-diff" (
37220 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37222         Attach text files correctly in Message
37224         * lisp/gnus/mml.el (mml-generate-mime-1): Detect which coding
37225         system has been used in attached text files, and don't try to
37226         do any encoding of these files (bug#13808).
37228 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37230         Build fix for older gnutls versions
37232         * src/gnutls.c (emacs_gnutls_handle_error):
37233         GNUTLS_E_PREMATURE_TERMINATION is apparently only present in
37234         gnutls-3.
37236 2017-01-25  Tino Calancha  <tino.calancha@gmail.com>
37238         ediff-difference-vector-alist: Drop duplicated definition
37240         * lisp/vc/ediff-init.el (ediff-difference-vector-alist):
37241         Drop duplicated definition.
37242         (ediff-difference-vector-A, ediff-difference-vector-B)
37243         (ediff-difference-vector-C, ediff-difference-vector-Ancestor):
37244         Move definition before 'ediff-difference-vector-alist'.
37246 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37248         Revert "nnimap.el: support additional expunge options"
37250         This reverts commit 4e9baea6aba1633074889339dcc7cdc9d73880d3.
37252         The patch broke fetching new mail:
37254         Debugger entered--Lisp error: (error "Format specifier doesn’t match argument type")
37255           format("%d .*\n" (t ("OK" ("HIGHESTMODSEQ" "914696") "Expunge" "completed.") ("VANISHED" "1825937") ("0" "RECENT")))
37256           (looking-at (format "%d .*\n" sequence))
37257           (not (looking-at (format "%d .*\n" sequence)))
37258           (progn (while (and (not (bobp)) (progn (forward-line -1) (looking-at "\\*\\|[0-9]+ OK NOOP")))) (not (looking-at (format "%d .*\n" sequence))))
37260 2017-01-25  Nikolaus Rath  <Nikolaus@rath.org>
37262         nnimap.el: support additional expunge options
37264         * lisp/gnus/nnimap.el (nnimap-close-group)
37265         (nnimap-request-expire-articles, nnimap-delete-article)
37266         (nnimap-request-scan): add new 'never, 'immediate, and 'on-exit
37267         settings for nnimap-expunge (bug#20670).
37269 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37271         Don't tag Gnus bugs with "gnus"
37273         * lisp/gnus/gnus-msg.el (gnus-bug): Remove the bug package tags.
37275         * lisp/gnus/gnus.el (gnus-bug-package): Removed; Gnus doesn't
37276         have its own package any more in the bug tracker.
37278 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37280         Tweak TLS error messaging on closed connections
37282         * src/gnutls.c (emacs_gnutls_handle_error): Demote the normal
37283         peer-closed-connection "The TLS connection was non-properly
37284         terminated" message to a lower level so that it isn't shown to
37285         the user by default.
37287 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
37289         Avoid having eww unexpectedly open external browsers
37291         * lisp/net/eww.el (eww-render): Instead of opening unsupported
37292         content types like audio/mpeg directly in an external browser
37293         (which can be very confusing especially when something
37294         redirects to a file like that), just display a simple
37295         interstitial that people can choose to click on or not
37296         (bug#22671).
37298 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
37300         When opening new eww buffers, use buffer names based on the host name
37302         * lisp/net/eww.el (eww-browse-url): When opening in a new
37303         window, use a buffer name based on the host name (bug#23738).
37304         (eww--dwim-expand-url): Refactored out into its own function
37305         for easier reuse.
37307 2017-01-24  David Engster  <deng@randomsample.de>
37309         xml: Fix parsing of default namespace with quoted names
37311         * lisp/xml.el (xml-parse-attlist): Properly extract namespace when
37312           parsing is done with quoted symbol names (bug#23440).
37313         * test/lisp/xml-tests.el (xml-parse-test--default-namespace-qnames)
37314           (xml-parse-test-default-namespace-qnames): Test for the above.
37316 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
37318         Fix rendering of some complex SVG images
37320         * lisp/net/shr.el (shr-parse-image-data): Don't transform
37321         SVG->DOM->XML unless we're blocking images, as this is apt to
37322         destroy the SVG (bug#24111).
37324 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
37326         Clarify the last clarification
37328         * lisp/net/shr.el (shr-width): Clarify the interaction with
37329         `shr-use-fonts' (bug#24928).
37331 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
37333         shr-width doc clarification
37335         * lisp/net/shr.el (shr-width): Clarify the interaction with
37336         `shr-use-fonts' (bug#24928).
37338 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
37340         Allow passing in max-width/height
37342         * lisp/net/shr.el (shr-rescale-image): Allow passing in
37343         max-width/height (bug#25287).
37345 2017-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
37347         * lisp/progmodes/vhdl-mode.el: Avoid add-to-list on local vars
37349         Require `cl' for `pushnew'.
37350         (vhdl-scan-project-contents, vhdl-compose-wire-components)
37351         (vhdl-uniquify): Use `pushnew' instead of `add-to-list'.
37353 2017-01-24  Noam Postavsky  <npostavs@gmail.com>
37355         Fix comment detection on open parens
37357         Characters having both open paren syntax and comment start syntax were
37358         being detected as open parens even when they should have been part a
37359         comment starter (Bug#24870).
37361         * src/syntax.c (in_2char_comment_start): New function, extracted from
37362         `scan_sexps_forward'.
37363         (scan_sexps_forward): Add check for a 2-char comment starter before the
37364         loop.  Inside the loop, do that check after incrementing the 'from'
37365         character index.  Move the single char comment syntax cases into the
37366         switch instead of special casing them before.
37367         * test/src/syntax-tests.el (parse-partial-sexp-paren-comments):
37368         (parse-partial-sexp-continue-over-comment-marker): New tests.
37370 2017-01-23  Alan Mackenzie  <acm@muc.de>
37372         Give , and .@ doc strings.  Fixes bug #24561.
37374         Also make *Help* links to ``' possible.  Also make usable as such doc strings
37375         on the function-documentation property of a symbol.
37377         * lisp/emacs-lisp/backquote.el (top-level): Give , and '@ doc strings on the
37378         function-documentation property.  Also give these symbols a reader-construct
37379         property.
37381         * lisp/help-fns.el (describe-function): Allow the function-documentation
37382         property to work.  Use princ rather than prin1 to print the function's name
37383         when it has a reader-construct property.
37384         (help-fns-signature): Don't insert `high-usage' for a reader-construct.
37385         (describe-function-1): Adapt to process documentation on the
37386         function-documentation property.  Print "a reader construct" when appropriate.
37388         * lisp/help-mode.el (help-xref-symbol-regexp): Amend this regexp also to match
37389         ``'.
37391 2017-01-22  Paul Eggert  <eggert@cs.ucla.edu>
37393         Improve uses of CHECK_LIST etc.
37395         * src/eval.c (FletX): Report an error for invalid constructs like
37396         ‘(let* (a . 0))’, so that ‘let*’ is more consistent with ‘let’.
37397         (lambda_arity): Use plain CHECK_CONS.
37398         * src/fns.c (CHECK_LIST_END): Move from here to lisp.h.
37399         (Fcopy_alist): Remove unnecessary CHECK_LIST call, since
37400         concat does that for us.
37401         (Fnthcdr, Fmember, Fmemql, Fdelete, Fnreverse):
37402         Use CHECK_LIST_END, not CHECK_LIST_CONS.  This hoists a
37403         runtime check out of the loop.
37404         (Fmemq): Simplify and use CHECK_LIST_END instead of CHECK_LIST.
37405         (Fassq, Fassoc, Frassq, Frassoc):
37406         Simplify and use CHECK_LIST_END instead of CAR.
37407         (assq_no_quit, assoc_no_quit): Simplify and assume proper list.
37408         (Fnconc): Use plain CHECK_CONS, and do-while instead of while loop.
37409         * src/fontset.c (Fnew_fontset):
37410         * src/frame.c (Fmodify_frame_parameters):
37411         Use CHECK_LIST_END at end, rather than CHECK_LIST at start, for a
37412         more-complete check.
37413         * src/gfilenotify.c (Fgfile_add_watch):
37414         Omit unnecessary CHECK_LIST, since Fmember does that for us.
37415         * src/lisp.h (lisp_h_CHECK_LIST_CONS, CHECK_LIST_CONS):
37416         Remove; no longer used.
37417         (CHECK_LIST_END): New inline function.
37419 2017-01-22  Tino Calancha  <tino.calancha@gmail.com>
37421         Prevent to use tabulated-list--near-rows unbound
37423         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
37424         Make sure 'tabulated-list--near-rows' is bound before use it (Bug#25506).
37426 2017-01-22  Juri Linkov  <juri@linkov.net>
37428         * lisp/simple.el (region-bounds): New function.
37430         (region-noncontiguous-p): Use it.
37431         https://lists.gnu.org/r/emacs-devel/2017-01/msg00044.html
37433 2017-01-21  Alan Mackenzie  <acm@muc.de>
37435         Fix low-level handling of (big) C macros.
37437         In particular, ensure that a comment detected by its syntax is not a CPP
37438         construct marked with generic comment delimiter syntax-table text
37439         properties.
37441         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Set
37442         c-macro-cache-syntactic to nil when the cached macro changes.
37443         (c-syntactic-end-of-macro, c-no-comment-end-of-macro)
37444         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
37445         (c-state-pp-to-literal, c-parse-ps-state-to-cache)
37446         (c-state-cache-non-literal-place, c-literal-limits, c-literal-start)
37447         (c-determine-limit): When checking a parse syntax for a comment, check that
37448         we're not in a CPP construct marked by syntax-table generic comment delimiter
37449         text property.
37450         (c-state-pp-to-literal): Change from a defsubst to a defun.
37452         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Check a
37453         parse syntax as described above under cc-engine.el.
37455 2017-01-21  Vibhav Pant  <vibhavp@gmail.com>
37457         * lisp/emacs-lisp/bytecomp.el: Remove unused debugging statements.
37459 2017-01-21  Noam Postavsky  <npostavs@gmail.com>
37461         Don't wait for frame to become visible
37463         * src/xterm.c (x_make_frame_visible): Remove code that waits for the
37464         frame to become visible.  We have to deal with invisible frames anyway,
37465         the loop could sometimes before the frame turned visible, and for some
37466         window managers (e.g., XMonad, i3wm) it caused Emacs to get stuck in a
37467         busy loop (Bug#24091).
37469 2017-01-21  Tino Calancha  <tino.calancha@gmail.com>
37471         diff-hunk-kill independent of point inside headers
37473         Make diff-apply-hunk and diff-hunk-kill independent of the point
37474         position in a diff header (Bug#17544).
37475         This change allows to apply hunks in order.  It also makes possible to
37476         press M-k repeatedly to kill hunks in the order they appear in the buffer.
37477         See discussion on #Bug25105.
37478         * lisp/vc/diff-mode.el (diff-file-junk-re):
37479         Move definition before it's used.
37480         (diff--at-diff-header-p): New predicate; return non-nil when point
37481         is inside a hunk header, a file header, or within a line
37482         matching diff-file-junk-re.
37483         (diff-beginning-of-hunk): Use it.
37484         Check if the point is inside a diff header, in the middle of a hunk,
37485         or before the first hunk.
37486         (diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
37487         before apply the hunk.
37488         (diff-hunk-kill, diff-file-kill):
37489         Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
37490         (diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.
37492 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
37494         Improve documentation of hooks related to saving buffers
37496         * lisp/files.el (write-file-functions, write-contents-functions)
37497         (before-save-hook, after-save-hook): Note that these are only used
37498         by save-buffer.
37500         * doc/lispref/backups.texi (Auto-Saving):
37501         * doc/lispref/files.texi (Saving Buffers): Mention that
37502         save-related hooks are not run by auto-saving.  (Bug#25460)
37504 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
37506         Improve documentation of auto-save-visited-file-name
37508         * doc/emacs/files.texi (Auto Save Files): Mention subtle
37509         differences between saving the buffer and auto-saving with
37510         auto-save-visited-file-name set non-nil.  (Bug#25478)
37512 2017-01-20  Noam Postavsky  <npostavs@gmail.com>
37514         Fix free var FOO-mode-{syntax,abbrev}-table warnings
37516         * lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally
37517         defvar the syntax and abbrev tables so that the compiler will know that
37518         they are dynamically bound variables (Bug#25446).
37520 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
37522         * lisp/emacs-lisp/bytecomp.el: Fix errors with matching quoted forms
37524         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table-info)
37525           eval obj2 to avoid quoted forms being stored as is.
37527 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
37529         lisp/emacs-lisp/bytecomp.el: Use byte-switch only for quoted symbols
37531 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
37533         * lisp/emacs-lisp/bytecomp.el: Add default-case for last cond clause.
37535         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Add
37536         default-case for last cond clause.
37538 2017-01-19  Philipp Stephani  <phst@google.com>
37540         Check that variable lists are actually lists
37542         'let' and 'let*' document that their first argument has to be a list,
37543         but don't check for that; instead, they allow (and silently ignore)
37544         other types.  Introduce an explicit type check.
37546         * src/eval.c (Flet, FletX): Check that the variable list is indeed a
37547         list.
37548         * test/src/eval-tests.el: Add unit tests.
37550 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
37552         Add type checking for Bswitch, when enabled at compile time.
37554         * src/bytecode.c: (exec_byte_code) If BYTE_CODE_SAFE is enabled at
37555           compile time, use CHECK_TYPE to verify that the jump table is a hash table.
37557 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
37559         Use byte-switch for all symbols.
37561         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-valid-obj2-p) Return
37562           t for all symbols (instead for just keywords)
37564 2017-01-19  Noam Postavsky  <npostavs@gmail.com>
37566         Avoid inefficient regex in diff-refine-hunk (Bug#25410)
37568         * lisp/vc/diff-mode.el (diff--forward-while-leading-char): New function.
37569         (diff-refine-hunk): Use it instead of trying to match multiple lines
37570         with a single lines.
37572 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
37574         Remove lock file when auto-saving into the visited file
37576         * src/fileio.c (write_region): When auto-saving into the visited
37577         file, unlock the file whenever we mark the buffer unmodified.
37578         (Bug#25470)
37580 2017-01-18  Vibhav Pant  <vibhavp@gmail.com>
37582         * src/bytecode.c: (exec_byte_code) Use hash_lookup for Bswitch
37584         Fgethash type checks the provided table object, which is unnecessary
37585         for compiled bytecode.
37587 2017-01-18  Tom Tromey  <tom@tromey.com>
37589         fix typo in mailcap-mime-extensions
37591         * lisp/net/mailcap.el (mailcap-mime-extensions): Use "text/x-patch",
37592         not "test/x-patch".  (Bug#25472)
37594 2017-01-18  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
37596         Fix typos in flymake.el
37598         * lisp/progmodes/flymake.el (flymake-check-patch-master-file-buffer):
37599         Spelling fixes in the doc string.
37601 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
37603         Fix a bug with signaling a thread that waits for condvar
37605         * src/thread.c (lisp_mutex_lock_for_thread): New function,
37606         with all the guts of lisp_mutex_lock.
37607         (lisp_mutex_lock): Call lisp_mutex_lock_for_thread.
37608         (condition_wait_callback): Don't call post_acquire_global_lock
37609         before locking the mutex, as that could cause a signaled thread to
37610         exit prematurely, because the condvar's mutex is recorded to be
37611         not owned by any thread, and with-mutex wants to unlock it as part
37612         of unwinding the stack in response to the signal.
37614 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
37616         Rudimentary error handling for non-main threads
37618         * src/thread.c (last_thread_error): New static variable.
37619         (syms_of_threads): Staticpro it.
37620         (record_thread_error, Fthread_last_error): New functions.
37621         (syms_of_threads): Defsubr Fthread_last_error.
37623         * doc/lispref/threads.texi (Basic Thread Functions): Document
37624         thread-last-error.
37626         * test/src/thread-tests.el (thread-errors, thread-signal-early)
37627         (threads-condvar-wait): Test the values returned by
37628         thread-last-error.
37630 2017-01-17  Tom Tromey  <tom@tromey.com>
37632         Add info-lookup help for gdb-script-mode
37634         Bug#25464:
37635         * lisp/info-look.el (info-lookup-guess-gdb-script-symbol): New
37636         function.
37637         Add help for gdb-script-mode.
37639 2017-01-17  Tom Tromey  <tom@tromey.com>
37641         Treat ":root" as a css-selector
37643         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Recognize bare
37644         ":root" as selector.
37646 2017-01-17  Tom Tromey  <tom@tromey.com>
37648         Fix JS regexp literal syntax propertization in expressions
37650         Bug#25465:
37651         * lisp/progmodes/js.el (js-syntax-propertize): Recognize a regexp
37652         literal after "!", "&", and "|".
37653         test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax): New test.
37655 2017-01-17  Glenn Morris  <rgm@gnu.org>
37657         More NEWS checking for admin.el's set-version
37659         * admin/admin.el (set-version): Warn if temporary NEWS markup
37660         still present in release candidates.
37662 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
37664         Mark unused arguments and remove unused variables
37666         * lisp/play/dunnet.el (dun-mode, dun-die, dun-inven, dun-try-take):
37667         (dun-dig, dun-type, dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se):
37668         (dun-nw, dun-sw, dun-up, dun-down, dun-in, dun-out, dun-long):
37669         (dun-swim, dun-score, dun-flush, dun-piss, dun-sleep, dun-drive):
37670         (dun-superb, dun-power, dun-unix-parse, dun-bin, dun-fascii):
37671         (dun-ftpquit, dun-ftphelp, dun-uexit, dun-pwd, dun-dos-parse):
37672         (dun-dos-invd, dun-dos-spawn, dun-dos-exit, dun-dos-nil):
37673         (dungeon-nil): Mark arguments as unused.
37674         (dun-drop, dun-objnum-from-args, dun-get-path, dun-ftp):
37675         (dun-restore): Remove unused variable.
37677 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
37679         Fix auto-save-file-name problem in Tramp on MS Windows
37681         * lisp/files.el (make-auto-save-file-name): Use `file-remote-p'
37682         rather than an ange-ftp regexp.
37684         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
37685         Fix a problem when running on MS Windows.
37687         * test/lisp/net/tramp-tests.el (tramp-test31-make-auto-save-file-name):
37688         Adapt test.
37690 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
37692         Fix auto-save-file-name problem in Tramp on MS Windows. Do not merge
37694         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
37695         Fix a problem when running on MS Windows.
37697 2017-01-17  Paul Eggert  <eggert@cs.ucla.edu>
37699         Merge from origin/emacs-25
37701         42614fa Update remaining copyright years with admin.el M-x set-copyright
37702         f17a006 * lisp/ffap.el (ffap-lax-url): Bump :version after recent cha...
37704 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
37706         Nix some uses of eval
37708         * lisp/play/dunnet.el: Fix triple negative.
37709         (dun-doverb): Use funcall instead of eval.
37710         (dun-echo): Just call dun-mprinc.
37711         (dun-save-val): Just bind value without eval.
37713 2017-01-17  Tom Tromey  <tom@tromey.com>
37715         Fix comment in css-mode.el
37717         * lisp/textmodes/css-mode.el: Remove obsolete comment.
37719 2017-01-16  Vibhav Pant  <vibhavp@gmail.com>
37721         update branch
37723 2017-01-16  Ian Dunn  <dunni@gnu.org>  (tiny change)
37725         * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (Bug#25445).
37727 2017-01-15  Noam Postavsky  <npostavs@gmail.com>
37729         Improve ffap-gopher-at-point handling of long lines
37731         * lisp/ffap.el (ffap-gopher-regexp): Only match the KEY part.  Note
37732         setting to nil is now supported.
37733         (ffap--gopher-var-on-line): New function.
37734         (ffap-gopher-at-point): Use it instead of the old ffap-gopher-regexp
37735         which could overflow the regexp stack on long lines (Bug#25391).  Use
37736         `let-alist' instead of calling `set' on local variables.
37737         * test/lisp/ffap-tests.el (ffap-gopher-at-point): New test.
37739 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
37741         * lisp/emacs-lisp/byte-opt.el: Optimize how tags are checked for use.
37743         * lisp/emacs-lisp/byte-opt.el: (byte-optimize-lapcode): Return nil instantly on
37744           finding the tag in a jump table.
37746 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
37748         * lisp/emacs-lisp/bytecomp.el: Add documentation, remove code duplication
37750 2017-01-14  Vibhav Pant  <vibhavp@gmail.com>
37752         Add new 'switch' byte-code.
37754         'switch' takes two arguments from the stack: the variable to test, and
37755         a jump table (implemented as a hash-table with the appropriate :test
37756         function). By looking up the value of the variable in the hash table,
37757         the interpreter can jump to the label pointed to by the value, if any.
37758         This implementation can only be used for `cond' forms of the type
37759         `(cond ((test x 'foo) 'bar) ...)`, such that the function `test` and
37760         variable `x` is same for all clauses.
37762         * lisp/emacs-lisp/bytecomp.el:
37764           * Add (byte-compile-cond-valid-obj2-p), (byte-compile-cond-vars),
37765             (byte-compile-cond-jump-table-info), (byte-compile-jump-table-add-tag),
37766             (byte-compile-cond-jump-table), byte-compile-jump-tables.
37768           * Add defcustom `byte-compile-cond-use-jump-table'.
37770           * (byte-compile-cond): Use them.
37772           * (byte-compile-lapcode): Patch tags present in jump tables, if any.
37774         * lisp/emacs-lisp//byte-opt.el: (byte-optimize-lapcode): Add checks to
37775           some peephole optimizations to prevent them from messing up any code
37776           involving `byte-switch`.
37778         * src/bytecode.c: (exec_byte_code): Add bytecode Bswitch.
37780 2017-01-14  Alan Third  <alan@idiocy.org>
37782         Fix NS main thread check (bug#25265)
37784         * src/nsterm.m (ns_read_socket, ns_select): Replace mainThread with
37785         isMainThread.
37787 2017-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
37789         * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
37791         `:sqli-comint-func' does not have to be a symbol.
37793 2017-01-14  Alan Mackenzie  <acm@muc.de>
37795         Correct c-parse-state-get-strategy for moving HERE backward into a macro.
37797         * lisp/progmodes/cc-engine.el (c-parse-state-get-strategy): When HERE is below
37798         its previous value, we chose strategy 'forward, and the new HERE is in a
37799         (different) macro, ensure the returned START-POINT is not above the start of
37800         the macro.
37802 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
37804         Include "Date:" in mail messages filed by 'sendmail-send-it'
37806         * lisp/mail/sendmail.el (mail-do-fcc): Insert a 'Date:' header
37807         into the filed message.  In the outgoing message, sendmail will
37808         add the date, but the composed message body doesn't have it.
37809         (Bug#25436)
37811 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
37813         * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#25440)
37815 2017-01-14  Dmitry Gutov  <dgutov@yandex.ru>
37817         Remove leftover references to log-view-message-face
37819         * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): Use log-view-message.
37821         * lisp/vc/vc-git.el (vc-git-root-log-format): Same.
37823         * lisp/vc/vc-hg.el (vc-hg-root-log-format): Same.
37825 2017-01-13  Phillip Lord  <phillip.lord@russet.org.uk>
37827         Record autoloads till emacs dump
37829         * admin/ldefs-clean.el (ldefs-clean-up): Record autoloads till emacs dump
37830         * lisp/ldefs-boot-auto.el (batch-byte-compile): Update
37832         Previously, autoloads were collected till loaddefs.el was generated as
37833         part of the build. However, bootstrap-emacs does not load
37834         loaddefs (rather it is dumped), hence we must record autoloads until the
37835         full emacs binary is dumped.
37837 2017-01-13  Tom Tromey  <tom@tromey.com>
37839         Add chained indentation to js-mode
37841         Bug#20896
37842         * lisp/progmodes/js.el (js-chain-indent): New variable.
37843         (js--skip-term-backward, js--skip-terms-backward)
37844         (js--chained-expression-p): New functions.
37845         (js--proper-indentation): Call js--chained-expression-p.
37846         * test/manual/indent/js-chain.js: New file.
37847         * test/manual/indent/js.js: Add (non-)chained indentation test.
37849 2017-01-13  Tom Tromey  <tom@tromey.com>
37851         Fix js-mode indentation bug
37853         Bug#15582:
37854         * lisp/progmodes/js.el (js--find-newline-backward): New function.
37855         (js--continued-expression-p): Use it.
37856         * test/manual/indent/js.js: Add new test.
37858 2017-01-13  Tom Tromey  <tom@tromey.com>
37860         Fix definition of EMACS in test/manual/indent/Makefile
37862         * test/manual/indent/Makefile (EMACS): Add one more "..".
37864 2017-01-13  Tom Tromey  <tom@tromey.com>
37866         Add .jsx to auto-mode-alist
37868         Bug#25389:
37869         * lisp/files.el (auto-mode-alist): Add entry for .jsx.
37871 2017-01-13  Tom Tromey  <tom@tromey.com>
37873         Fix two js-mode filling bugs
37875         Bug#19399 and Bug#22431:
37876         * lisp/progmodes/js.el (js-mode): Set comment-line-break-function and
37877         c-block-comment-start-regexp.
37878         * test/lisp/progmodes/js-tests.el: New file.
37880 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
37882         Fix last change
37884         * test/src/thread-tests.el (threads-condvar-wait): Revert
37885         previous change.  Make sure no other threads from previous
37886         tests are running, to avoid interfering with our thread counts.
37888 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
37890         Fix the new condvar test
37892         * test/src/thread-tests.el (threads-condvar-wait): Enlarge the
37893         time we sleep in the main thread to let the other thread
37894         process notifications.
37896 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
37898         Minor improvements in the new condvar test
37900         * test/src/thread-tests.el (threads-test-condvar-wait): Use
37901         with-mutex instead of emulating it inline.
37902         (threads-condvar-wait): Improve comments.  Check that the new
37903         thread is alive before waiting for it to become blocked on the
37904         conditional variable.
37906 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
37908         Fix a bug in waiting for condition variable
37910         * src/thread.c (lisp_mutex_lock, lisp_mutex_unlock)
37911         (lisp_mutex_unlock_for_wait, condition_wait_callback)
37912         (condition_notify_callback): Improve commentary.
37913         (condition_wait_callback): Call post_acquire_global_lock before
37914         attempting to lock the mutex, to make sure the lock's owner is
37915         recorded correctly.
37917         * test/src/thread-tests.el (threads-condvar-wait): New test.
37919 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
37921         Improve documentation of dabbrevs
37923         * doc/emacs/abbrevs.texi (Dynamic Abbrevs): Add a cross reference
37924         to "Dabbrev Customization".
37925         (Dabbrev Customization): More details about the default value of
37926         dabbrev-abbrev-char-regexp and use cases when it might not be good
37927         enough.  (Bug#25432)
37929 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
37931         Fix last change of dd80ee6 (was: mm-uu.el: Don't dissect patch part)
37933 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
37935         mm-uu.el: Don't dissect patch part
37937         This fixes a bug that the patch part is broken in the article
37938         <87inpjzhpb.fsf@users.sourceforge.net> in the bug-gnu-emacs list.
37940         * lisp/gnus/mm-uu.el (mm-uu-dissect-text-parts):
37941         Don't dissect patch part.
37943 2017-01-13  Dmitry Lazurkin  <dilaz03@gmail.com>
37945         Fix extracting async def type and name in python mode imenu
37947         * lisp/progmodes/python.el (python-imenu--get-defun-type-name):
37948         New function.
37949         (python-imenu--build-tree): Use python-imenu--get-defun-type-name for
37950         extract async or simple def type and name at current
37951         position (Bug#24820).
37952         * test/lisp/progmodes/python-tests.el (python-imenu-create-index-1):
37953         (python-imenu-create-flat-index-1): Add async def's.
37955 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
37957         Remove garbage from Content-Transfer-Encoding value (bug#25420)
37959         * lisp/mail/ietf-drums.el (ietf-drums-strip-cte): New function.
37960         (ietf-drums-remove-garbage): New function.
37961         (ietf-drums-remove-whitespace): Remove CR as well.
37963         * lisp/mail/mail-parse.el (mail-header-strip-cte):
37964         Alias to ietf-drums-strip-cte.
37966         * lisp/gnus/gnus-art.el (article-decode-charset):
37967         * lisp/gnus/gnus-sum.el (gnus-summary-enter-digest-group):
37968         * lisp/gnus/mm-decode.el (mm-dissect-buffer):
37969         * lisp/gnus/nndoc.el (nndoc-decode-content-transfer-encoding)
37970         (nndoc-rfc822-forward-generate-article):
37971         * lisp/mh-e/mh-mime.el (mh-decode-message-body):
37972         Replace mail-header-strip with mail-header-strip-cte.
37974 2017-01-13  Paul Eggert  <eggert@cs.ucla.edu>
37976         Restore behavior of ‘./autogen.sh autoconf git’
37978         * autogen.sh: Do both autoconf and git setup when invoked
37979         as ‘./autogen.sh autoconf git’.  Avoid unnecessary newline in chatter.
37980         Mention new --no-check option in usage message.  (Bug#25359)
37982 2017-01-12  Glenn Morris  <rgm@gnu.org>
37984         * autogen.sh: Simplify argument parsing.
37986 2017-01-12  Noam Postavsky  <npostavs@gmail.com>
37988         Clarify that easy-menu-add is a nop (Bug#25382)
37990         * lisp/emacs-lisp/easymenu.el (easy-menu-add): Make it into an alias of
37991         `ignore', like `easy-menu-remove'.
37993 2017-01-12  Glenn Morris  <rgm@gnu.org>
37995         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fix entry.
37997 2017-01-11  Glenn Morris  <rgm@gnu.org>
37999         * autogen.sh: Add --no-check option.  (Bug#25359)
38001 2017-01-11  Glenn Morris  <rgm@gnu.org>
38003         Convert some network test failures to skipping
38005         These tests intermittently fail on hydra.nixos.org for unclear
38006         reasons related to starting the external process.
38007         This isn't an Emacs issue, and the failures cause noise on
38008         the emacs-buildstatus list.  (Bug#24503)
38009         * test/lisp/net/network-stream-tests.el (echo-server-nowait)
38010         (connect-to-tls-ipv4-nowait): Skip rather than fail if the
38011         external process fails to start properly.
38013 2017-01-11  Eli Zaretskii  <eliz@gnu.org>
38015         Revert "Add DNS keywords and remove duplications"
38017         This reverts commit 1cb9aa5b14867983d0013a61709b4d0af18364ff.
38019 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
38021         Add DNS keywords and remove duplications
38023         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
38024         NSEC" DNS related keywords and remove duplication of "NSAP".
38026 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
38028         Add DNS keywords and remove duplications
38030         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
38031         NSEC" DNS related keywords and remove duplication of "NSAP".
38033 2017-01-11  Alan Mackenzie  <acm@muc.de>
38035         Handle syntactic WS cache properties more accurately at buffer changes.
38037         This fixes bug #25362.
38039         * lisp/progmodes/cc-engine.el (c-sws-lit-type, c-sws-lit-limits)
38040         (c-invalidate-sws-region-before, c-invalidate-sws-region-after-del)
38041         (c-invalidate-sws-region-after-ins): New variables and functions.
38042         (c-invalidate-sws-region-after): Change from a defsubst to a defun.
38043         Also pass
38044         it the standard OLD-LEN argument.  Call both
38045         c-invalidate-sws-region-after-{ins,del} to check for "dangerous" WS
38046         cache
38047         properties.
38049         * lisp/progmodes/cc-langs.el (c-block-comment-ender-regexp): New language
38050         variable.
38052         * lisp/progmodes/cc-mode.el (c-before-change): Call
38053         c-invalidate-sws-region-before.
38054         (c-after-change): Pass old-len to c-invalidate-sws-region-after.
38056 2017-01-11  Michael Albinus  <michael.albinus@gmx.de>
38058         Support stat 8.26 in Tramp
38060         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Use QUOTING_STYLE
38061         environment variable of newer coreutils.  (Bug#23422)
38063 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
38065         Improve documentation of coding-systems
38067         * doc/lispref/nonascii.texi (Coding System Basics): Mention
38068         'prefer-utf-8'.  Index it and 'undecided'.
38069         (Encoding and I/O): Fix a typo.
38070         (User-Chosen Coding Systems): Improve the documentation of
38071         ACCEPT-DEFAULT-P argument to select-safe-coding-system.  Document
38072         select-safe-coding-system-function.
38073         (Specifying Coding Systems): Document coding-system-require-warning.
38075 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
38077         Merge from gnulib
38079         This incorporates:
38080         2017-01-09 maint: time stamp -> timestamp
38081         2017-01-07 stdioext: Port to Minix 3.2 and newer
38082         2017-01-06 glob, intprops, xalloc: work around Clang bug
38083         2017-01-02 revert copyright-year change to synced files
38084         * doc/misc/texinfo.tex, lib/fpending.c, lib/intprops.h, lib/mktime.c:
38085         * lib/stat-time.h, lib/stdio-impl.h, lib/time.in.h, lib/timespec.h:
38086         * lib/utimens.c, lib/xalloc-oversized.h:
38087         Copy from gnulib.
38089 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
38091         Don't use unsafe encoding for the bookmark file
38093         * lisp/bookmark.el (bookmark-write-file): Handle the case when the
38094         explicitly specified encoding of the bookmark file cannot encode the
38095         additional bookmarks just added.  (Bug#25365)
38097 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
38099         Improve definition of 'variable-pitch' face on MS-Windows
38101         * lisp/faces.el (variable-pitch): Don't specify too many
38102         attributes of the font, otherwise faces that request different
38103         weight or slant or size will not get them.
38105 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
38107         Fix an error message in python.el
38109         * lisp/progmodes/python.el (python-shell-get-process-or-error):
38110         Don't repeat the same key binding twice.  (Bug#25405)
38112 2017-01-09  Phillip Lord  <phillip.lord@russet.org.uk>
38114         Remove unused ldefs-boot.el
38116          * lisp/ldefs-boot.el: Remove
38118         This file was not removed as reported in c27b645956a11, but accidentally
38119         left.
38121 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
38122             Eli Zaretskii  <eliz@gnu.org>
38124         Use expanded stack during regex matches
38126         While the stack is increased in main(), to allow the regex stack
38127         allocation to use alloca we also need to modify regex.c to actually take
38128         advantage of the increased stack, and not limit stack allocations to
38129         SAFE_ALLOCA bytes.
38131         * src/regex.c (MATCH_MAY_ALLOCATE): Remove obsolete comment about
38132         allocations in signal handlers which no longer happens and correct
38133         description about when and why MATCH_MAY_ALLOCATE should be defined.
38134         (emacs_re_safe_alloca): New variable.
38135         (REGEX_USE_SAFE_ALLOCA): Use it as the limit of stack allocation instead
38136         of MAX_ALLOCA.
38137         (emacs_re_max_failures): Rename from `re_max_failures' to avoid
38138         confusion with glibc's `re_max_failures'.
38139         * src/emacs.c (main): Increase the amount of fixed 'extra' bytes we add
38140         to the stack.  Instead of changing emacs_re_max_failures based on the
38141         new stack size, just change emacs_re_safe_alloca; emacs_re_max_failures
38142         remains constant regardless, since if we run out stack space SAFE_ALLOCA
38143         will fall back to heap allocation.
38145 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
38147         Fix computation of regex stack limit
38149         The regex stack limit was being computed as the number of stack entries,
38150         whereas it was being compared with the current size as measured in
38151         bytes.  This could cause indefinite looping when nearing the stack limit
38152         if re_max_failures happened not to be a multiple of sizeof
38153         fail_stack_elt_t (Bug #24751).
38155         * src/regex.c (GROW_FAIL_STACK): Compute both current stack size and
38156         limit as numbers of stack entries.
38158 2017-01-08  Alan Third  <alan@idiocy.org>
38160         Remove apploopnr
38162         * src/nsterm.m (ns_select, ns_read_socket): Remove apploopnr and only
38163         allow app loop to run in main thread.
38165 2017-01-08  Glenn Morris  <rgm@gnu.org>
38167         Remove unused configure output variable
38169         * configure.ac (GNULIB_MK):
38170         * Makefile.in (gnulib_mk): Remove, no longer used.
38172 2017-01-08  Glenn Morris  <rgm@gnu.org>
38174         Fix automake dependencies
38176         * Makefile.in (AUTOMAKE_INPUTS): Add nt/gnulib.mk.  (Bug#25372)
38177         All platforms need this file to exist.
38179 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
38181         Remove unnecessary blankp code
38183         * src/character.c (blankp): Remove redundant code that slows Emacs
38184         down a bit.  The caller already does the test.
38186 2017-01-08  Stefan Merten  <stefan@merten-home.de>
38188         * lisp/textmodes/rst.el: Fix rst-forward-indented-block.
38190         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
38191         (rst-svn-timestamp)
38192         (rst-official-version, rst-official-cvs-rev)
38193         (rst-package-emacs-version-alist): Maintain version numbers.
38194         (rst-forward-indented-block): Fix. Start searching at next
38195         line again. Fixes fontification of comments continuing on the
38196         same line they started.
38198 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
38200         Remove @SET_MAKE@ from manually-maintained files
38202         Emacs now assumes GNU Make, so @SET_MAKE@ is no longer needed.
38203         * Makefile.in, lwlib/Makefile.in, nextstep/Makefile.in:
38204         * src/Makefile.in: Remove @SET_MAKE@.
38206 2017-01-07  Michael Albinus  <michael.albinus@gmx.de>
38208         Fix a problem with `start-file-process' in Tramp
38210         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
38211         `start-file-process' shall work when `non-essential' is
38212         non-nil, but there is already an established connection.
38213         <https://github.com/company-mode/company-mode/issues/462>
38215 2017-01-07  Rolf Ade  <rolf@pointsman.de>  (tiny change)
38217         Fix selecting SQLite database files with sql-mode (Bug#23566)
38219         * lisp/progmodes/sql.el (sql-sqlite-login-params): Allow any name as
38220         SQLite database file name, by default.
38221         (sql-get-login-ext): Fixed read-file-name arguments to provide
38222         path completion even if a database name pattern is customized and to
38223         allow creation of new SQLite database files.
38225 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
38227         Clarify major mode switching
38229         * doc/emacs/modes.texi (Major Modes):
38230         * doc/lispref/modes.texi (Modes, Major Modes): Explictly say that each
38231         buffer has exactly one major mode and can't be "turned off", only
38232         switched away from (Bug#25357).
38234 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
38236         Add helpful comment to compile-command's docstring
38238         * lisp/progmodes/compile.el (compile-command): Mention trailing space in
38239         docstring (Bug#25337).
38241 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
38243         Specify encoding of the bookmark file
38245         * lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
38246         Accept an argument CODING and include a 'coding:' cookie in the
38247         bookmark file preamble.
38248         (bookmark-upgrade-file-format-from-0): Call
38249         'bookmark-insert-file-format-version-stamp' with the file buffer's
38250         encoding, as detected when it was read.
38251         (bookmark-file-coding-system): New variable.
38252         (bookmark-load): Set bookmark-file-coding-system to the encoding
38253         of the loaded file.
38254         (bookmark-write-file): Bind coding-system-for-write to either the
38255         user setting via "C-x RET c" or to the existing file encoding,
38256         defaulting to 'utf-8-emacs'.  Update the value of
38257         bookmark-file-coding-system.  (Bug#25365)
38259 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
38261         Avoid infloop in 'ispell-region'
38263         * lisp/textmodes/ispell.el (ispell-begin-skip-region-regexp):
38264         Protect against 'ispell-skip-region-alist' being nil.  Reported by
38265         Ernest Adrogué <nfdisco@gmail.com>, see
38266         https://lists.gnu.org/r/help-gnu-emacs/2017-01/msg00007.html.
38268 2017-01-06  Philipp Stephani  <phst@google.com>
38270         Add support for Unicode whitespace in [:blank:]
38272         See Bug#25366.
38274         * src/character.c (blankp): New function for checking Unicode
38275         horizontal whitespace.
38276         * src/regex.c (ISBLANK): Use 'blankp' for non-ASCII horizontal
38277         whitespace.
38278         (BIT_BLANK): New bit for range table.
38279         (re_wctype_to_bit, execute_charset): Use it.
38280         * test/lisp/subr-tests.el (subr-tests--string-match-p--blank): Add
38281         unit test for [:blank:] character class.
38282         * test/src/regex-tests.el (test): Adapt unit test.
38283         * doc/lispref/searching.texi (Char Classes): Document new Unicode
38284         behavior for [:blank:].
38286 2017-01-06  Eli Zaretskii  <eliz@gnu.org>
38288         Fix ':version' of 'select-enable-primary'
38290         * lisp/select.el (select-enable-primary): Fix a typo in
38291         ':version'.  (Bug#25375)
38293 2017-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>
38295         (feedmail-deduce-address-list): Avoid add-to-list on local variables.
38297         Author:
38299         * lisp/mail/feedmail.el (feedmail-deduce-address-list):
38300         Avoid add-to-list on local variables.
38302 2017-01-06  Noam Postavsky  <npostavs@gmail.com>
38304         Fix isearch handling of C-u C-u...
38306         * lisp/isearch.el: Add `isearch-scroll' property to
38307         universal-argument-more so that `isearch-allow-scroll' will apply to it
38308         as well.
38309         (isearch-pre-command-hook): Let `isearch-allow-prefix' apply to
38310         `universal-argument-more' as well (Bug#25302).
38312 2017-01-05  Paul Eggert  <eggert@cs.ucla.edu>
38314         Shorten autogen.sh script
38316         * autogen.sh: Use a shorter script, as some 'sed' implementations
38317         mishandle long scripts.
38319 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
38321         Yet another fix for autogen.sh
38323         * autogen.sh (gnulib.mk): Make the Sed script more portable.
38325         * nt/Makefile.in (${srcdir}/gnulib.mk): Adapt the Sed command to
38326         the changes in autogen.sh.
38328 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
38330         * autogen.sh (gnulib.mk): Another attempt to fix macOS build.
38332 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
38334         Fix dependencies of nt/gnulib.mk
38336         * Makefile.in ($(srcdir)/nt/gnulib.mk): Avoid circular dependency
38337         of nt/gnulib.mk on lib/Makefile.in.
38339 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
38341         Unbreak macOS build
38343         * autogen.sh (gnulib.mk): Don't use non-portable extensions of GNU
38344         Sed.
38346 2017-01-05  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
38348         Fix term.el handling of ^Z-sequences spanning chunks
38350         Bash will after each command send ?\032 and the current directory "/tmp"
38351         to inform term.el.  Bash output is buffered in 4096 bytes chunks.  If a
38352         command outputs roughly 4096 bytes then the end of the first chunk will
38353         be "/tm" (Bug#13350).
38355         * lisp/term.el (term-emulate-terminal): Change the regexp to find the
38356         end of the ?\032 sequence to use \n instead of $, the latter can match
38357         end of string as well.
38359 2017-01-05  Mark Oteiza  <mvoteiza@udel.edu>
38361         Turn on lexical-binding in mb-depth.el
38363         * lisp/mb-depth.el: Turn on lexical-binding.
38364         (minibuffer-depth-setup): Bind things used multiple times.
38366 2017-01-04  Alan Third  <alan@idiocy.org>
38368         Revert "Rework NS event handling (bug#25265)"
38370         This reverts commit e0e5b0f4a4ce1d19ee0240c514dedd873d4165dc.
38372 2017-01-04  Glenn Morris  <rgm@gnu.org>
38374         Update remaining copyright years with admin.el M-x set-copyright
38376         * etc/refcards/ru-refcard.tex (cyear): Set to 2017.
38378 2017-01-04  Glenn Morris  <rgm@gnu.org>
38380         * lisp/ffap.el (ffap-lax-url): Bump :version after recent change.
38382 2017-01-04  Paul Eggert  <eggert@cs.ucla.edu>
38384         Port recent autogen.sh changes to Darwin
38386         Problem reported by Sam Steingold (Bug#25347).
38387         * autogen.sh: Don't assume 'sed -f-' reads a script from stdin, as
38388         POSIX does not require it and it does not work on Darwin.
38390 2017-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
38392         Avoid add-to-list on local variables
38394         * lisp/gnus/nnir.el: Use lexical-binding and cl-lib.
38395         (nnir-retrieve-headers): Use pcase.
38396         (nnir-search-thread): Avoid add-to-list on local variables.
38398         * lisp/gnus/smime.el: Use lexical-binding and cl-lib.
38399         (smime-verify-region): Avoid add-to-list on local variables.
38401         * lisp/mail/undigest.el: Use lexical-binding and cl-lib.
38402         (rmail-digest-parse-mime, rmail-digest-rfc1153)
38403         (rmail-digest-parse-rfc934): Avoid add-to-list on local variable.
38405         * lisp/net/ldap.el (ldap-search): Move init into declaration.
38407         * lisp/net/newst-backend.el (newsticker--cache-add):
38408         Avoid add-to-list on local variables; Simplify code with `assq'.
38410         * lisp/net/zeroconf.el: Use lexical-binding and cl-lib.
38411         (dbus-debug): Remove declaration, unused.
38412         (zeroconf-service-add-hook, zeroconf-service-remove-hook)
38413         (zeroconf-service-browser-handler, zeroconf-publish-service):
38414         Avoid add-to-list and *-hook on local variables.
38416         * lisp/org/org-archive.el (org-all-archive-files):
38417         * lisp/org/org-agenda.el (org-agenda-get-restriction-and-command):
38418         Avoid add-to-list on local variables.
38420         * lisp/org/ox-publish.el (org-publish--run-functions): New function.
38421         (org-publish-projects): Use it to avoid run-hooks on a local variable.
38422         (org-publish-cache-file-needs-publishing): Avoid add-to-list on
38423         local variables.
38425         * lisp/progmodes/ada-prj.el: Use setq instead of (set '...).
38426         (ada-prj-load-from-file): Avoid add-to-list on local variables.
38428         * lisp/progmodes/ada-xref.el (ada-initialize-runtime-library): Simplify.
38429         (ada-gnat-parse-gpr, ada-parse-prj-file-1)
38430         (ada-xref-find-in-modified-ali): Avoid add-to-list on local variables.
38432         * lisp/progmodes/idlw-shell.el (idlwave-shell-update-bp-overlays):
38433         Avoid add-to-list on local variables.
38435 2017-01-04  Mark Oteiza  <mvoteiza@udel.edu>
38437         Turn on lexical-binding in md4.el
38439         * lisp/md4.el: Turn on lexical-binding.
38440         * test/lisp/md4-tests.el: New file.
38442 2017-01-03  Stefan Merten  <stefan@merten-home.de>
38444         Lots of refactorings and a few minor improvements.
38446         User visible improvements and changes:
38447         * Improve and debug `rst-forward-section` and `rst-backward-section`.
38448         * Auto-enumeration may be used with all styles for list insertion.
38449         * Improve and debug `rst-toc-insert`.
38450         * Adapt change in Emacs to use customization group `text` instead of `wp`.
38451         * Bind `n` and `p` in `rst-toc-mode`.
38452         * `z` in `toc-mode` returns to the previous window configuration.
38453         * Require Emacs version >= 24.1.
38455         Lots of refactorings including:
38456         * Silence byte compiler.
38457         * Use lexical binding.
38458         * Use `cl-lib`.
38459         * Add tests and raise test coverage.
38461 2017-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
38463         (cl-defstruct): Improve error message for slots w/o value (bug#25312)
38465         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't signal an error but
38466         emit a warning for those coders who forgot to put a default value in
38467         their slot.
38469 2017-01-03  Philipp Stephani  <p.stephani2@gmail.com>
38471         Small patch for ffap.el
38473         * lisp/ffap.el (ffap-alist): Document that ffap sets the match data
38474         while walking 'ffap-alist'.
38476 2017-01-03  Eli Zaretskii  <eliz@gnu.org>
38478         Generate nt/gnulib.mk from lib/gnulib.mk
38480         This was proposed by Paul Eggert <eggert@cs.ucla.edu>,
38481         with the purpose of avoiding manual maintenance of
38482         nt/gnulib.mk.
38484         * nt/gnulib-modules-to-delete.cfg: New file.
38485         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
38486         (am__v_GEN_1): New variables.
38487         (${srcdir}/gnulib.mk): Rules to generate gnulib.mk from
38488         lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg.
38490         * make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of
38491         files to link.
38492         * configure.ac (GNULIB_MK): Compute the value according to $opsys.
38493         * autogen.sh: Create nt/gnulib.mk if it doesn't exist, before
38494         running autoreconf.
38495         * Makefile.in (gnulib_mk): New variable.
38496         ($(srcdir)/nt/gnulib.mk): Rule to produce it.
38497         (AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file
38498         name.
38499         * .gitignore: Add nt/gnulib.mk.
38501         * src/w32.c (acl_errno_valid): Implement it here, as we no longer
38502         build the acl-permissions module from Gnulib.
38504 2017-01-03  Noam Postavsky  <npostavs@gmail.com>
38506         Handle multibyte chars spanning chunks in term.el
38508         * lisp/term.el (term-terminal-undecoded-bytes): New variable.
38509         (term-mode): Make it buffer local.  Don't make `term-terminal-parameter'
38510         buffer-local twice.
38511         (term-emulate-terminal): Check for bytes of incompletely decoded
38512         characters, and save them until the next call when they can be fully
38513         decoded (Bug#25288).
38515 2017-01-03  Michael Albinus  <michael.albinus@gmx.de>
38517         Finish work on filenotify-tests.el
38519         * test/lisp/filenotify-tests.el (file-notify--test-monitors):
38520         New variable.
38521         (file-notify--test-cleanup, file-notify--test-monitor): Use it.
38522         (file-notify--test-read-event, file-notify-test02-events)
38523         (file-notify-test04-file-validity): Handle "gvfs-monitor-dir.exe".
38524         (file-notify-test03-autorevert)
38525         (file-notify-test08-watched-file-in-watched-dir):
38526         Set `file-notify--test-desc' for proper work of
38527         `file-notify--test-monitor'.  (Bug#21804)
38529 2017-01-02  Michael Albinus  <michael.albinus@gmx.de>
38531         Check also for "gvfs-monitor-dir.exe" in Tramp
38533         * lisp/net/tramp-sh.el (tramp-get-remote-gvfs-monitor-dir): Check also
38534         for "gvfs-monitor-dir.exe".
38536 2017-01-02  Eli Zaretskii  <eliz@gnu.org>
38538         Fix compilation --without-x
38540         * src/composite.c (autocmp_chars) [HAVE_WINDOW_SYSTEM]: Call
38541         font_range only if it is compiled in.  (Bug#25334)
38543 2017-01-02  Sašo Živanović  <saso.zivanovic@guest.arnes.si>
38545         Fix RefTeX to show table of contents for dtx files (tiny change)
38547         * lisp/textmodes/reftex.el (reftex-compile-variables): Change the
38548           section regexp so that it accepts lines starting with the comment
38549           character. (tiny change)
38550         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file): Filter
38551           gathered toc entries, accepting a commented entry if and only if the
38552           source file is a ".dtx" file. (tiny change)
38554 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
38556         Remove mistakenly-added files
38558         Problem reported by Glenn Morris in:
38559         https://lists.gnu.org/r/emacs-devel/2017-01/msg00008.html
38560         * lisp/gnus/gnus-ems.el, lisp/gnus/gnus-sync.el:
38561         * lisp/gnus/messcompat.el, lisp/nxml/nxml-glyph.el:
38562         * lisp/nxml/nxml-uchnm.el, lisp/obsolete/awk-mode.el:
38563         * lisp/obsolete/iso-acc.el, lisp/obsolete/iso-insert.el:
38564         * lisp/obsolete/iso-swed.el, lisp/obsolete/resume.el:
38565         * lisp/obsolete/scribe.el, lisp/obsolete/spell.el:
38566         * lisp/obsolete/swedish.el, lisp/obsolete/sym-comp.el:
38567         Remove files that were added by mistake during a merge.
38569 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
38571         Warn about incomplete untarring of link files
38573         The current tar-mode doesn't really support unpacking symlinks, it
38574         simply creates an empty file of the same name.
38576         * lisp/tar-mode.el (tar--describe-as-link): New function extracted from
38577         `tar--check-descriptor'.
38578         (tar-untar-buffer): Use it to warn about imperfectly untarred link
38579         files.
38581 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
38583         Remove sh-mode's skeleton-end-hook
38585         * lisp/progmodes/sh-script.el (sh-mode): Remove local setting of
38586         `skeleton-end-hook', `skeleton-insert' already does `newline-and-indent'
38587         and also respects `skeleton-end-newline' (Bug#16634).
38589 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
38591         * nt/gnulib.mk (stdint.h): Update to match lib/gnulib.mk here.
38593 2017-01-01  Mark Oteiza  <mvoteiza@udel.edu>
38595         Add term/tmux.el
38597         Since tmux version 2.1, new tmux terminfos are shipped due to oddities
38598         with xterm and screen terminfos.  This is simply a duplication of
38599         term/screen.el with screen -> tmux.
38600         * lisp/term/tmux.el: New file.
38602 2017-01-01  Philipp Stephani  <phst@google.com>
38604         Fix encoding of JSON surrogate pairs
38606         JSON requires that such pairs be treated as UTF-16 surrogate pairs, not
38607         individual code points; cf. Bug #24784.
38609         * lisp/json.el (json-read-escaped-char): Fix decoding of surrogate
38610         pairs.
38611         (json--decode-utf-16-surrogates): New defun.
38613         * test/lisp/json-tests.el (test-json-read-string): Add test for
38614         surrogate pairs.
38616 2017-01-01  Michael Albinus  <michael.albinus@gmx.de>
38618         Remove tramp-gw.el, which was synced from emacs-25 by accident
38620 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
38622         Do not use Gnulib’s m4/wint_t.m4.
38624         * admin/merge-gnulib: Remove m4/wint_t.m4 when merging.
38625         Fix typo so that warn-on-use.m4 is removed too.
38626         * configure.ac (gt_TYPE_WINT_T): New macro, replacing Gnulib’s.
38627         * m4/wint_t.m4: Remove.
38629 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
38631         Merge from gnulib, continued
38633         * m4/wint_t.m4: New file, copied from gnulib.
38635 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
38637         Update copyright year to 2017 in master
38639         Run admin/update-copyright in the master branch.  This fixes files
38640         that were not already fixed in the emacs-25 branch before it was
38641         merged here.
38643 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
38645         Remove test/automated detritus from merge
38647 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
38649         Merge from gnulib
38651         This incorporates:
38652         2016-12-19 stdint: Fix WINT_MAX to match wint_t on mingw
38653         2016-12-18 getopt: Fix link error for users of getopt() in <unistd.h>
38654         2016-12-17 getlogin: Port to newer mingw
38655         2016-12-17 stdint: Fix WINT_MAX to match wint_t on MSVC
38656         2016-12-17 Avoid redefinition errors on MSVC
38657         * lib/getopt.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/unistd.in.h:
38658         * m4/stdint.m4, m4/unistd_h.m4:
38659         Copy from gnulib.
38660         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
38661         Plus, this commit updates the indenting on copyright notices to
38662         match that of gnulib.
38664 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
38666         Merge from origin/emacs-25
38668         2e2a806 Fix copyright years by hand
38669         5badc81 Update copyright year to 2017
38671 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
38673         Merge from origin/emacs-25
38675         665be69 ; Update ChangeLog.2 and AUTHORS files
38677         # Conflicts:
38678         #       etc/AUTHORS
38680 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
38682         Merge from origin/emacs-25
38684         697167b ; Improve wording of previous change in variables.texi
38685         d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v...
38686         8b71826 Don't modify minibuffer variables globally
38687         5b5e036 Revert to pre-25.1 behavior in ffap
38688         19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
38689         3ace730 Attempt to fix 64-bit AIX build
38690         f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
38691         c04ac8a Document that variable binding order is unspecified
38692         272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
38693         08de101 Fix M-x hints on Mac port
38694         86a297a Work around reporting a dpi change in apply_xft_settings
38695         cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change
38696         9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't m...
38697         88cdf14 Improve skeleton docstrings
38699 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
38701         Merge from origin/emacs-25
38703         4179238 Improve documentation of 'w32-scroll-lock-modifier'
38705 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
38707         Merge from origin/emacs-25
38709         9adb101 Document 'describe-fontset'
38710         229315c ; Add missing symbol quoting.
38711         3d94931 Repair desktop restoration on text terminals
38712         43022f9 Ignore forward-sexp-function in js-mode indentation code
38713         b19fb49 Improve documentation of 'define-coding-system'
38714         467768f Fix Bug#25162
38715         6db78ae Fix a typo in define-abbrev-table
38716         5f7d906 Bump makeinfo requirement from 4.7 to 4.13
38717         442e2f6 Fixes related to select-enable-clipboard
38718         e4ac450 Define struct predicate before acccesors
38719         08decbd Doc fix for vc-git
38720         5531e75 Further improve make-dist checking
38721         953bf67 Improve previous make-dist change
38722         129645a Make make-dist --snapshot do some sanity checks
38724         # Conflicts:
38725         #       lisp/menu-bar.el
38727 2017-01-01  Alan Mackenzie  <acm@muc.de>
38729         Give eval-and-compile a correct edebug spec.  Fixes bug #16184 properly.
38731         * lisp/emacs-lisp/edebug.el (edebug_offset_indices): Revert abortive commit
38732         from Thu Dec 29 09:22:36 2016 +0000 which didn't really fix the bug.
38734         * lisp/emacs-lisp/byte-run.el (eval-and-compile): Change the edebug spec from
38735         t to (&rest def-form).
38737 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
38739         Fix copyright years by hand
38741         These are dates that admin/update-copyright did not update, or
38742         updated incorrectly.
38744 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
38746         Update copyright year to 2017
38748         Run admin/update-copyright.
38750 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
38752         Clarify internal_catch etc.
38754         The recent change to internal_catch and friends relied on some
38755         confusion I introduced to the code in 2013.  Attempt to fix
38756         the confusion by clarifying the code instead.  This saves an
38757         instruction and a load dependency in the typical case.
38758         * src/eval.c (internal_catch, internal_condition_case)
38759         (internal_condition_case_1, internal_condition_case_2)
38760         (internal_condition_case_n): Undo the previous change.  Instead,
38761         use use ‘c’ rather than ‘handlerlist’ in the typical case.
38762         Also, use ‘eassert’ rather than ‘clobbered_eassert’ when possible.
38764 2016-12-31  Ken Brown  <kbrown@cornell.edu>
38766         Further improve filenotify-tests.el
38768         * test/lisp/filenotify-tests.el
38769         (file-notify--test-read-event): Adapt to file monitors of type
38770         GFamFileMonitor, which occur on Cygwin.
38771         (file-notify--test-monitor): Update doc string.
38773 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
38775         * src/xdisp.c (string_from_display_spec): Simplify.
38777 2016-12-31  Alan Third  <alan@idiocy.org>
38779         Rework NS event handling (bug#25265)
38781         * src/nsterm.m (unwind_apploopnr): Remove.
38782         (ns_read_socket): Remove references to apploopnr.  Make processing the
38783         NS event loop conditional on being in the main thread.
38784         (ns_select): Remove references to apploopnr.  Remove all fd_handler
38785         related stuff.  Check if there are events waiting on the NS event
38786         queue rather than running the event loop.  Remove unused variables and
38787         code.
38788         (fd_handler): Remove.
38789         (ns_term_init): Remove creation of fd_handler thread.
38790         (hold_event, EmacsApp:sendEvent, EmacsView:mouseMoved,
38791         EmacsView:windowDidExpose): Remove send_appdefined.
38792         (ns_send_appdefined): Always check the event queue for
38793         applicationDefined events rather than relying on send_appdefined var.
38794         * src/nsterm.h: Remove reference to fd_handler method.
38796 2016-12-31  Philipp Stephani  <phst@google.com>
38798         Checkdoc: use syntax functions instead of regex
38800         In checkdoc.el, get rid of the error-prone regex to find definition
38801         forms, and use existing syntax-based navigation functions instead.
38802         This fixes a corner case with one-argument `defvar' forms.
38804         * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): New function.
38805         (checkdoc-next-docstring, checkdoc-defun): Use it.
38806         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--next-docstring):
38807         Add unit test.
38809 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
38811         Don't define NOMINMAX on MS-Windows
38813         * src/callproc.c (NOMINMAX) [WINDOWSNT]: Don't define.  This is no
38814         longer needed with the current sources and MinGW headers, while
38815         defining NOMINMAX causes an annoying compiler warning.
38817 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
38819         Simplify code in eval.c that calls 'setjmp'
38821         * src/eval.c (internal_catch, internal_condition_case)
38822         (internal_condition_case_1, internal_condition_case_2)
38823         (internal_condition_case_n): Factor out the common tail of the
38824         functions.
38826 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
38828         Simplify code in 'string_from_display_spec'
38830         * src/xdisp.c (string_from_display_spec): Eliminate a redundant
38831         test before the loop.
38833 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
38835         Serialize random number generation on MS-Windows
38837         * src/w32.c (rand_as183): New function.
38838         (random): Use it instead of MS runtime's 'rand'.  This avoids
38839         producing separate and identical random series in each Lisp
38840         thread.
38841         (srandom): Modify to supply 3 seed values to 'rand_as183'.
38843 2016-12-31  Michael Albinus  <michael.albinus@gmx.de>
38845         * src/gfilenotify.c (Fgfile_monitor_name): Return interned symbol.
38847 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
38849         Don't call xg_select for a NextStep build.
38851         NextStep builds use glib but don't use xg_select.
38853         * src/process.c (wait_reading_process_output): Don't call xg_select
38854         for a NextStep build.
38856 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
38858         Increase the obarray size.
38860         In a typical GNU/Linux/X11 build, we wind up with over 15k symbols by
38861         the time we've started.  The old obarray size ensured an average chain
38862         length of 10 or more.
38864         * src/lread.c (OBARRAY_SIZE): Increase to 15121.
38866 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
38868         Initialize thread support for Xlib.
38870         * src/xterm.c (x_initialize) [THREADS_ENABLED]: Call XInitThreads
38871         before doing anything else with X.
38873 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
38875         Rename primary_thread to main_thread
38877         This avoids the confusion of using two different phrases "main thread"
38878         and "primary thread" internally to mean the same thing.  See:
38879         https://lists.gnu.org/r/emacs-devel/2016-12/msg01142.html
38880         * src/thread.c (main_thread): Rename from primary_thread,
38881         since the new name no longer clashes with main_thread_id
38882         and Emacs internals normally call this the "main thread".
38883         (init_main_thread): Rename from init_primary_thread.
38884         (main_thread_p): Rename from primary_thread_p.
38885         All uses changed.
38887 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
38889         Rename main_thread to main_thread_id and simplify
38891         * src/emacs-module.c: Include syssignal.h, for main_thread_id.
38892         [HAVE_PTHREAD]: Do not include pthread.h.
38893         (main_thread): Remove.  All uses replaced by main_thread_id,
38894         or by dwMainThreadId on NT.  Since the HAVE_PTHREAD code is now using
38895         the main_thread_id established by sysdep.c, there is no need for a
38896         separate copy of the main thread ID here.
38897         (module_init): Remove.  All uses removed.
38898         * src/sysdep.c (main_thread_id) [HAVE_PTHREAD]:
38899         Rename from main_thread.  All uses changed.  Now extern.
38901 2016-12-30  Michael Albinus  <michael.albinus@gmx.de>
38903         * src/gfilenotify.c (Fgfile_monitor_name): Return a symbol.
38905 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
38907         * src/sysdep.c (deliver_process_signal): Improve comment.
38909 2016-12-30  Alan Mackenzie  <acm@muc.de>
38911         CC Mode: Fix the fontification of a spuriously recognized enum member.
38913         The "enum" was in an argument list, but triggered the fontification of a
38914         following identifier in the function block as though it were in an enum
38915         declaration.
38917         * lisp/progmodes/cc-fonts.el (c-font-lock-enum-body): New function.
38918         (c-basic-matchers-after): Replace the inline stanza for enum elements with a
38919         call to c-font-lock-enum-body.
38921         * lisp/progmodes/cc-langs.el (c-enum-clause-introduction-re): New language
38922         variable.
38924 2016-12-30  Nicolas Petton  <nicolas@petton.fr>
38926         Bump Emacs version to 25.1.91
38928         * README:
38929         * configure.ac:
38930         * msdos/sed2v2.inp:
38931         * nt/README.W32: Bump Emacs version.
38932         * lisp/ldefs-boot.el: Update.
38934 2016-12-30  Eli Zaretskii  <eliz@gnu.org>
38936         Attempt to fix crashes with threads in GTK builds
38938         * src/xgselect.c (xg_select): Call pselect via thread_select, not
38939         directly, to avoid running Lisp (via unblock_input) when more than
38940         one thread could be running.  (Bug#25247)
38941         * src/process.c (wait_reading_process_output) [HAVE_GLIB]: Call
38942         xg_select directly instead of through thread_select.
38943         * src/xgselect.h (xg_select): Last 2 arguments are no longer
38944         'const', for consistency with thread_select.
38946 2016-12-30  Arash Esbati  <arash.esbati@gmail.com>
38948         Add entry for biblatex
38950         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
38951         entry for biblatex macros.
38953 2016-12-30  Alan Mackenzie  <acm@muc.de>
38955         Backport: Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
38957         The ambiguity was whether INITVALUE is evaluated when it's not going to be
38958         used to set SYMBOL's value.
38960         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
38962         (cherry picked from commit 8295e97f18490a535d1188a3daf0b0fd1bf4fa0d)
38964 2016-12-30  Tino Calancha  <tino.calancha@gmail.com>
38966         ffap-string-at-point: Limit max length of active region
38968         Prevents that 'ffap-guesser' waste time checking large strings
38969         which are likely not valid candidates (Bug#25243).
38970         * lisp/ffap.el (ffap-max-region-length): New variable.
38971         (ffap-string-at-point): Use it.
38972         * test/lisp/ffap-tests.el: New test suite.
38973         (ffap-tests-25243): Add test for this bug.
38975 2016-12-30  Thien-Thi Nguyen  <ttn@gnu.org>
38977         last-chance: Also ignore NEWS files + typo fixes
38979         * admin/last-chance.el: Fix typo in copyright notice.
38980         (last-chance-uninteresting-regexps): Add entry to match NEWS files.
38981         (last-chance-cleanup): Fix typo in docstring.
38983 2016-12-29  Mike Kupfer  <mkupfer@alum.berkeley.edu>
38985         * lisp/mh-e/mh-e.el (mh-fetch-x-image-url): Fix a docstring typo.
38987 2016-12-29  Alan Mackenzie  <acm@muc.de>
38989         Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
38991         The ambiguity was whether INITVALUE is evaluated when it's not going to be
38992         used to set SYMBOL's value.
38994         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
38996 2016-12-29  Michael Albinus  <michael.albinus@gmx.de>
38998         Improve filenotify-tests.el
39000         * src/inotify.c (Finotify_valid_p):
39001         * src/kqueue.c (Fkqueue_valid_p):
39002         * src/w32notify.c (Fw32notify_valid_p):
39003         * src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
39004         (Fgfile_monitor_name): New defun.
39005         (syms_of_gfilenotify): Declare Sgfile_monitor_name.
39007         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
39008         New defun, derived from `file-notify--test-read-event-timeout'.
39009         Replace all calls of `read-event' by this.
39010         (file-notify--test-timeout): Fix docstring.
39011         (file-notify--test-monitor): New defun.
39012         (file-notify--deftest-remote): Do not bind
39013         `file-notify--test-read-event-timeout' anymore.
39014         (file-notify-test00-availability): Print also monitor, if existent.
39015         (file-notify--test-with-events): Add an additional
39016         `file-notify--test-read-event' call, in order to get it work
39017         after `file-notify-add-watch'.  Remove special timeout for cygwin.
39018         (file-notify-test02-events): Make a better check for cygwin.
39019         (file-notify-test06-many-events): Improve event list for cygwin.
39020         (file-notify-test08-watched-file-in-watched-dir): Add cygwin case.
39022 2016-12-29  Alan Mackenzie  <acm@muc.de>
39024         Partially correct fontification of "(b*3)", and the like, in C++ Mode
39026         This problem is caused by the fundamental ambiguity in C++ between
39027         argument declarations and initialization clauses.
39029         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): If we have an open
39030         paren preceded by an arithmetic operator, we give this the context nil, not
39031         'arglist.
39033         * lisp/progmodes/cc-langs.el (c-arithmetic-operators, c-arithmetic-op-regexp):
39034         New lang consts and vars.
39036 2016-12-29  Alan Mackenzie  <acm@muc.de>
39038         Initialize edebug-offset-indices to a cons, not nil.  Fixes bug #16184.
39040         This is because there are times when this variable is changed by setcar before
39041         an atom is pushed onto it by debug-enter.  This happens, for example, whilst
39042         instrumenting c-font-lock-declarations in .../lisp/progmodes/cc-fonts.el.
39044         * lisp/emacs-lisp/edebug.el (edebug-offset-indices): initialize to '(0).
39046 2016-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
39048         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
39050         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
39051         Cherry picked from commit e6161f648903d821865b9610b3b6aa0f82a5dcb7.
39053 2016-12-27  Michael Albinus  <michael.albinus@gmx.de>
39055         Release Tramp 2.3.1
39057         * doc/misc/trampver.texi:
39058         * lisp/net/trampver.el: Change version to "2.3.1".
39060         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it to
39061         `eshell-mode-hook' but `eshell-first-time-mode-hook'.
39063         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
39064         (tramp-compat-file-name-quote)
39065         (tramp-compat-file-name-unquote): Embed them in `eval-and-compile'.
39067 2016-12-27  Paul Eggert  <eggert@cs.ucla.edu>
39069         Simplify prog1 implementation
39071         Inspired by a suggestion from Chris Gregory in:
39072         https://lists.gnu.org/r/emacs-devel/2016-12/msg00965.html
39073         On my platform, this generates exactly the same machine insns.
39074         * src/eval.c (prog_ignore): Rename from unwind_body, since
39075         it’s more general than that.  All callers changed.
39076         (Fprog1): Simplify by using prog_ignore.
39077         (Fwhile): Clarify by using prog_ignore.
39079 2016-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
39081         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
39083         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
39085 2016-12-27  Mark Oteiza  <mvoteiza@udel.edu>
39087         Remove a use of lexical-let
39089         * lisp/gnus/message.el (message-completion-function): Just use let,
39090         since the file now uses lexical-binding.
39092 2016-12-27  Ken Brown  <kbrown@cornell.edu>
39094         Improve filenotify-tests.el on Cygwin (Bug #21804)
39096         * test/lisp/filenotify-tests.el [CYGWIN]
39097         (file-notify--test-read-event-timeout): Increase.
39098         (file-notify--test-with-events): Add delay before executing body.
39099         (file-notify-test02-events, file-notify-test04-file-validity):
39100         Adjust expected results.
39102 2016-12-27  Eli Zaretskii  <eliz@gnu.org>
39104         Fix expand-file-name on DOS_NT systems when /: escaping is used
39106         * src/fileio.c (Fexpand_file_name) [DOS_NT]: Don't expand "~" in
39107         file names escaped by "/:".  Don't recursively expand
39108         default-directory escaped with "/:" which is not followed by a
39109         drive spec.  (Bug#25183)
39111 2016-12-27  Bake Timmons  <65pandas@gmail.com>
39113         Fix `mail-sources' value of `(group)' in Gnus manual (bug#25275)
39115         * doc/misc/gnus.texi (Mail Source Specifiers):
39116         Replace wrong `mail-sources' value of `(group)' in Gnus manual with
39117         the correct `((group))' value.  (bug#25275) (tiny change)
39119 2016-12-27  Bake Timmons  <65pandas@gmail.com>
39121         Fix bug in customizing `mail-sources' variable (bug#25274)
39123         * lisp/gnus/mail-source.el (mail-sources): Use list instead of cons
39124         for lone argument. (bug#25274) (tiny change)
39126 2016-12-26  Philipp Stephani  <phst@google.com>
39128         Checkdoc: Don't require a space before an arg list
39130         See Bug#24998.
39132         * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-regexp): Don't require a
39133         space before a argument list.
39134         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--bug-24998):
39135         Add unit test.
39137 2016-12-26  Eli Zaretskii  <eliz@gnu.org>
39139         Document 'default-toplevel-value' and 'set-default-toplevel-value'
39141         * doc/lispref/variables.texi (Default Value): Document
39142         'default-toplevel-value' and 'set-default-toplevel-value'.
39144 2016-12-25  Michihito Shigemura  <m_shigemura@shigemk2.com>  (tiny change)
39146         Add zshrc and zshenv detection to sh-mode (bug#25217)
39148         * lisp/progmodes/sh-script.el (sh-mode): Add zsh string-match
39150 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
39152         Fix typo in lisp.h reordering patch
39154         * src/lisp.h (XUNTAG) [!USE_LSB_TAG]: Remove duplicate defn.
39155         Reported by Eli Zaretskii (Bug#25128#19).
39157 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
39159         regex.h now includes sys/types.h
39161         * src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
39162         Do not include sys/types.h; no longer needed.
39163         * src/regex.h: Include <sys/types.h>, as that's what Gnulib and
39164         glibc regex.h does, and POSIX has blessed this since 2008.
39166 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
39168         Reorder lisp.h to declare types before using them
39170         This puts basic functions for types to be after the corresponding
39171         type definitions.  This is a more-common programming style in C,
39172         and will make it easier to port Emacs to gcc
39173         -fcheck-pointer-bounds, since the functions now have access to the
39174         corresponding types' sizes.  This patch does not change the code;
39175         it just moves declarations and definitions and removes
39176         no-longer-needed forward declarations (Bug#25128).
39177         * src/buffer.c, src/data.c, src/image.c:
39178         Include process.h, for PROCESSP.
39179         * src/buffer.h (BUFFERP, CHECK_BUFFER, XBUFFER):
39180         * src/process.h (PROCESSP, CHECK_PROCESS, XPROCESS):
39181         * src/termhooks.h (TERMINALP, XTERMINAL):
39182         * src/window.h (WINDOWP, CHECK_WINDOW, XWINDOW):
39183         * src/thread.h (THREADP, CHECK_THREAD, XTHREAD, MUTEXP, CHECK_MUTEX)
39184         (XMUTEX, CONDVARP, CHECK_CONDVAR, XCONDVAR):
39185         Move here from lisp.h.
39186         * src/intervals.h: Include buffer.h, for BUFFERP.
39187         Include lisp.h, for Lisp_Object.
39188         * src/lisp.h: Reorder declarations and definitions as described
39189         above.  Move thread includes to be later, so that they can use the
39190         reordered definitions.  Move some symbols to other headers (noted
39191         elsewhere).  Remove forward decls that are no longer needed.
39192         * src/thread.h: Include systhread.h here, not in lisp.h,
39193         since lisp.h itself does not need systhread.h.
39195 2016-12-25  Leo Liu  <sdl.web@gmail.com>
39197         Don't modify minibuffer variables globally
39199         * lisp/files.el (cd): Use setq-local instead.  (Bug#25260)
39201 2016-12-25  Dima Kogan  <dima@secretsauce.net>
39203         diff-mode auto-refines only after a successful motion
39205         Prior to this patch (if enabled) auto-refinement would kick in after all
39206         hunk navigation commands, even if the motion failed.  This would result
39207         in a situation where the hunk navigation would signal an error and beep,
39208         but yet still accomplish potentially useful work, by auto-refining.
39209         This patch moves the auto-refinement code to only run when a motion was
39210         successful
39212         * lisp/vc/diff-mode.el (diff--internal-hunk-next,
39213           diff--internal-hunk-prev): Removed auto-refinement-triggering code
39214         * lisp/vc/diff-mode.el (diff--wrap-navigation): Added
39215           auto-refinement-triggering code
39217 2016-12-25  Dima Kogan  <dima@secretsauce.net>
39219         diff-mode is able to better handle file headers
39221         This fixes a regression introduced in
39223           https://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085
39225         This bug was filed in
39227           https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25105
39229         Patches generated from a VCS such as git contain a patch message at the
39230         start, and diff-mode is now once-again able to properly able to ignore
39231         this message when issuing navigation commands around the message.
39233         * lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): More
39234           thoroughly ignore the header when looking for a beginning of file
39235           diffs.
39237 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
39239         Use libpng-config --ldflags, not --libs
39241         Problem reported by James K. Lowden (Bug#25268).
39242         * configure.ac (LIBPNG): Pass --ldflags, not --libs, to libpng-config.
39244 2016-12-24  Eli Zaretskii  <eliz@gnu.org>
39246         Revert to pre-25.1 behavior in ffap
39248         * lisp/ffap.el (ffap-lax-url): Change the default to t, to produce
39249         the same behavior as in Emacs 24.x.  (Bug#25264)
39250         Explain the trade-offs of customizing this in the doc string.
39252 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
39254         * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
39256 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
39258         Remove redundant `save-match-data' in whitespace.el
39260         * lisp/whitespace.el (whitespace-cleanup, whitespace-cleanup-region):
39261         (whitespace-report-region): Remove redundant `save-match-data' calls.
39263 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
39265         Fix whitespace eob cleanup
39267         * lisp/whitespace.el (whitespace-empty-at-eob-regexp): Match any number
39268         of empty lines at end of buffer.
39269         * test/lisp/whitespace-tests.el (whitespace-cleanup-eob): New test.
39270         (whitespace-tests--cleanup-string): New helper function for tests.
39272 2016-12-24  Hong Xu  <hong@topbug.net>
39274         Fix timezone detection of parse-iso8601-time-string
39276         * lisp/calendar/parse-time.el (parse-iso8601-time-string): Fix timezone
39277         parsing.  Add a doc string.  (Bug#25086)
39278         * src/editfns.c (Fdecode-time): Doc fix.
39279         * doc/misc/emacs-mime.texi (time-date): Add an example for
39280         parse-iso8601-time-string.
39281         * test/lisp/calendar/parse-time-tests.el (parse-time-tests): Add
39282         tests for parse-iso8601-time-string.
39284 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
39286         Simplify exec_byte_code via moving decls etc.
39288         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
39289         initializers into decls, and by omitting some unnecessary changes
39290         to ‘top’.
39292 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
39294         Remove interpreter’s byte stack
39296         This improves performance overall on my benchmark on x86-64,
39297         since the interpreted program-counter resides in a machine
39298         register rather than in RAM.
39299         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
39300         is no longer a byte stack to decode.
39301         * src/bytecode.c (struct byte_stack, byte_stack_list)
39302         (relocate_byte_stack): Remove.  All uses removed.
39303         (FETCH): Simplify now that pc is now local (typically, in a
39304         register) and no longer needs to be relocated.
39305         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
39306         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
39307         (exec_byte_code): Allocate a copy of the function’s bytecode,
39308         so that there is no problem if GC moves it.
39309         * src/lisp.h (struct handler): Remove byte_stack member.
39310         All uses removed.
39311         * src/thread.c (unmark_threads): Remove.  All uses removed.
39312         * src/thread.h (struct thread_state): Remove m_byte_stack_list member.
39313         All uses removed.  m_stack_bottom is now the first non-Lisp field.
39315 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
39317         BYTE_CODE_SAFE typo fix
39319         * src/bytecode.c (FETCH): Depend on the value of BYTE_CODE_SAFE,
39320         not on whether it is defined.
39322 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
39324         BYTE_CODE_SAFE cleanups
39326         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove; no longer needed.
39327         (struct byte_stack) [BYTE_MAINTAIN_TOP]:
39328         Remove unused members ‘top’ and ‘bottom’.
39329         (exec_byte_code): Nest inside { } to avoid GCC warning about
39330         jumping over declaration when compiled with -DBYTE_CODE_SAFE.
39332 2016-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
39334         last-chance: new utility lib for dangling deterrence
39336         * admin/last-chance.el: New file.
39338 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
39340         Use max_align_t instead of void *
39342         * src/thread.c (run_thread): Don’t assume void * is aligned enough.
39344 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
39346         Attempt to fix 64-bit AIX build
39348         * src/unexaix.c (make_hdr, copy_text_and_data, write_segment): Fix
39349         type-casts that assumed 32-bit pointers.  (Bug#25141)
39351 2016-12-23  Philipp Stephani  <phst@google.com>
39353         Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
39355         * doc/misc/ediff.texi (Hooks): Clarify usage of 'ediff-cleanup-hook'
39357 2016-12-23  Philipp Stephani  <phst@google.com>
39359         Document that variable binding order is unspecified
39361         * doc/lispref/variables.texi (Local Variables):
39362         * doc/misc/cl.texi (Modify Macros): Document that binding order in 'let' and
39363         'cl-letf' is unspecified.
39365 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
39367         Prevent infloops in redisplay due to truncate-lines and overlays
39369         * src/xdisp.c (hscroll_window_tree): Avoid inflooping in
39370         redisplay_window when a screen line ends in an overlay string with
39371         a newline.  (Bug#25246)
39373 2016-12-23  Philipp Stephani  <phst@google.com>
39375         Treat incomplete integer literals as errors
39377         See Bug#25120.
39379         * src/lread.c (read_integer): Treat incomplete integer literals as errors.
39380         * test/src/lread-tests.el (lread-empty-int-literal): New unit test for
39381         incomplete integer literals.
39383 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
39385         * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
39387 2016-12-23  Stefan Monnier  <monnier@IRO.UMontreal.CA>
39389         Fix M-x hints on Mac port
39391         * lisp/simple.el (execute-extended-command--shorter): Call
39392         input-pending-p to trigger input processing on some systems, such
39393         as Mac port.  (Bug#23002)
39395 2016-12-23  Michael Albinus  <michael.albinus@gmx.de>
39397         * test/lisp/net/tramp-tests.el (tramp--test-check-files): Make it robust.
39399 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
39401         Avoid aborts due to unaligned byte stack of threads
39403         * src/thread.c (run_thread): Make sure the pointers to thread byte
39404         stack are properly aligned.  (Bug#25247)
39406 2016-12-22  Paul Eggert  <eggert@cs.ucla.edu>
39408         Pacify --enable-gcc-warnings
39410         * src/charset.c (load_charset_map):
39411         * src/coding.c (decode_coding_object):
39412         * src/frame.c (make_frame):
39413         * src/window.c (Frecenter):
39414         Mark locals with UNINIT to silence false alarms from
39415         -Wmaybe-uninitialized.
39416         * src/lisp.h (SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD)
39417         (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD):
39418         Check and assume that values are nonnull.  This pacifies
39419         -Wmaybe-uninitialized in Fmake_variable_buffer_local and
39420         Fmake_local_variable.
39422 2016-12-22  Eli Zaretskii  <eliz@gnu.org>
39424         Fix last change with thread marking under GC_CHECK_MARKED_OBJECTS
39426         * src/thread.c (primary_thread_p): New function.
39427         * src/alloc.c (mark_object): Use 'primary_thread_p' to bypass tests
39428         meant for thread objects allocated dynamically.
39429         * src/thread.h (primary_thread_p): Add prototype.
39431 2016-12-22  Martin Rudalics  <rudalics@gmx.at>
39433         Work around reporting a dpi change in apply_xft_settings
39435         * src/xsettings.c (apply_xft_settings): Don't report a change
39436         when dpi settings do not differ substantially.
39438 2016-12-22  Noam Postavsky  <npostavs@gmail.com>
39440         Use completion-at-point in verilog-mode
39442         There were some functions in verilog-mode that implemented in-buffer
39443         completion, but this needlessly duplicates completion-at-point
39444         functionality, and the popup window management had problems
39445         (see Bug #23842).  We need to keep them for backwards compatibility with
39446         older emacs versions, but use completion-at-point if available.
39448         * lisp/progmodes/verilog-mode.el (verilog-toggle-completions): Mark as
39449         obsolete if completion-cycle-threshold is available.
39450         (verilog-mode-map, verilog-menu): Bind completion-at-point and
39451         completion-help-at-point in preference to verilog-complete-word and
39452         verilog-show-completions, respectively.
39453         (verilog-mode): Add verilog-completion-at-point to
39454         completion-at-point-functions.
39455         (verilog-completion-at-point): New function.
39456         (verilog-show-completions, verilog-complete-word): Use it to avoid code
39457         duplication.
39459 2016-12-21  Reuben Thomas  <rrt@sc3d.org>
39461         Keep default CASECHARS/NOT-CASECHARS for ispell built-in dictionaries
39463         * lisp/textmodes/ispell.el (ispell-set-spellchecker-params): Do not
39464         override CASECHARS and NOT-CASECHARS.  The ispell dictionaries
39465         retain their hardwired values, and all other dictionaries are given
39466         sensible defaults.
39468 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
39470         * lisp/textmodes/tex-mode.el (tex-compile-commands): Add luatex
39471         and xetex commands.
39473 2016-12-21  Eli Zaretskii  <eliz@gnu.org>
39475         Fix aborts in GC under GC_CHECK_MARKED_OBJECTS
39477         * src/alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Don't abort
39478         for thread objects.  They are marked via the all_threads list, and
39479         therefore don't need to be inserted into the red-black tree, so
39480         mem_find will never find them.  Reported by Daniel Colascione
39481         <dancol@dancol.org> in
39482         https://lists.gnu.org/r/emacs-devel/2016-12/msg00817.html.
39484 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
39486         * src/data.c (Fmake_variable_frame_local): Remove
39488         * src/lisp.h (struct Lisp_Buffer_Local_Value): Remove `frame_local'.
39490         * src/data.c (swap_in_symval_forwarding, set_internal)
39491         (set_symbol_trapped_write, make_blv, Fmake_variable_buffer_local)
39492         (Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
39493         Don't pay attention to ->frame_local any more.
39494         (syms_of_data): Remove Qtrapping_frame_local and don't defsubr
39495         Smake_variable_frame_local.
39497         * etc/NEWS (Incompatible Lisp Changes in Emacs 26.1): Announce removal
39498         of make-variable-frame-local.
39500         * lisp/help-fns.el (describe-variable): Don't handle the now impossible
39501         frame-local case.
39503         * lisp/subr.el (make-variable-frame-local): Remove obsolescence data.
39505         * src/frame.c (store_frame_param):
39506         * src/eval.c (specbind): Don't pay attention to ->frame_local any more.
39508         * src/widget.c (first_frame_p): Remove, unused.
39510 2016-12-21  Paul Eggert  <eggert@cs.ucla.edu>
39512         Port dumping better to WSL
39514         Problem reported by Angelo Graziosi in:
39515         https://lists.gnu.org/r/emacs-devel/2016-12/msg00822.html
39516         * src/sysdep.c (disable_address_randomization):
39517         Detect buggy platforms where 'personality' always returns 0.
39519 2016-12-21  Michael Albinus  <michael.albinus@gmx.de>
39521         Remove gateway methods in Tramp
39523         * doc/misc/tramp.texi (Top, Configuration): Remove section
39524         `Gateway methods', insert section `Firewalls' in menu.
39525         (History): Gateways are removed now.
39526         (Gateway methods): Remove section.
39527         (Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
39528         (Firewalls): New section.
39530         * etc/NEWS: Gateway methods in Tramp have been removed.
39532         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
39533         (tramp-file-name-port, tramp-accept-process-output): Simplify.
39535         * lisp/net/tramp-gw.el: Remove.
39537         * lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
39538         (tramp-gw-socks-method): Remove declarations.
39539         (tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
39540         Remove `tramp-gw-args' and `tramp-default-port'.  (Bug#18967)
39541         (tramp-do-copy-or-rename-file-out-of-band)
39542         (tramp-compute-multi-hops, tramp-maybe-open-connection):
39543         Remove gateway support.
39545         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
39546         Remove gateway tests.
39548 2016-12-20  Alan Mackenzie  <acm@muc.de>
39550         Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't merge to trunk.
39552         lisp/progmodes/cc-defs.el: Amend the version number.
39553         etc/NEWS: Add an item explaining the change.
39555 2016-12-20  Tino Calancha  <tino.calancha@gmail.com>
39557         files-test-read-file-in-: Delete temporary dir on exit
39559         * test/lisp/files-tests.el (files-test-read-file-in-~):
39560         Create subdir inside dir.
39562 2016-12-20  Christopher Genovese  <genovese@cmu.edu>
39564         ibuffer: New filters and commands
39566         Add several new filters and improve documentation.
39567         See discussion on:
39568         https://lists.gnu.org/r/emacs-devel/2016-11/msg00399.html
39569         * lisp/ibuf-ext.el: Add paragraph to file commentary.
39570         (ibuffer-saved-filters, ibuffer-filtering-qualifiers)
39571         (ibuffer-filter-groups): Update doc string.
39572         (ibuffer-unary-operand): Add new function that transparently
39573         handles 'not' formats for compound filters.
39574         (ibuffer-included-in-filter-p): Handle 'not' fully; update doc string.
39575         (ibuffer-included-in-filter-p-1): Handle 'and' compound filters.
39576         (ibuffer-decompose-filter): Handle 'and' as well,
39577         and handle 'not' consistently with other uses.
39578         (ibuffer-and-filter): New defun analogous to 'ibuffer-or-filter'.
39579         (ibuffer--or-and-filter): New defun.
39580         (ibuffer-or-filter, ibuffer-and-filter): Use it.
39581         (ibuffer-format-qualifier): Handle 'and' filters as well.
39582         (ibuffer-filter-by-basename, ibuffer-filter-by-file-extension)
39583         (ibuffer-filter-by-directory, ibuffer-filter-by-starred-name)
39584         (ibuffer-filter-by-modified, ibuffer-filter-by-visiting-file):
39585         Add new pre-defined filters.
39586         (ibuffer-filter-chosen-by-completion): Add new interactive command
39587         for easily choosing a filter from the descriptions.
39588         * lisp/ibuffer.el (ibuffer-mode-map):
39589         Bind ibuffer-filter-by-basename, ibuffer-filter-by-file-extension,
39590         ibuffer-filter-by-starred-name, ibuffer-filter-by-modified,
39591         ibuffer-filter-by-visiting-file to '/b', '/.', '/*', '/i', '/v'
39592         respectively; bind 'ibuffer-or-filter', 'ibuffer-and-filter',
39593         'ibuffer-pop-filter' ,'ibuffer-pop-filter-group' and
39594         'ibuffer-filter-disable' to '/|', '/&', '/<up>', '/S-<up>'
39595         and '/ DEL' respectively.
39596         * test/lisp/ibuffer-tests.el (ibuffer-autoload): Add appropriate
39597         skip specification.
39598         Add menu entries for the new filters.
39599         (ibuffer-filter-inclusion-1, ibuffer-filter-inclusion-2
39600         ibuffer-filter-inclusion-3, ibuffer-filter-inclusion-4
39601         ibuffer-filter-inclusion-5, ibuffer-filter-inclusion-6
39602         ibuffer-filter-inclusion-7, ibuffer-filter-inclusion-8
39603         ibuffer-decompose-filter, ibuffer-and-filter
39604         ibuffer-or-filter): Add new tests; they are skipped unless
39605         ibuf-ext is loaded.
39607 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
39609         Update NEWS
39611         * etc/NEWS (Image-Dired): New section.
39613 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
39615         Recognize graphicsmagick in image-dired
39617         * lisp/image-dired.el (image-dired-cmd-create-thumbnail-program):
39618         (image-dired-cmd-create-thumbnail-options):
39619         (image-dired-cmd-create-temp-image-program):
39620         (image-dired-cmd-create-temp-image-options):
39621         (image-dired-cmd-create-standard-thumbnail-options):
39622         (image-dired-cmd-rotate-thumbnail-program):
39623         (image-dired-cmd-rotate-thumbnail-options): Account for existence of
39624         gm(1) executable.
39626 2016-12-20  Noam Postavsky  <npostavs@gmail.com>
39628         Improve skeleton docstrings
39630         * lisp/skeleton.el (skeleton-end-newline): Remove mention of
39631         `skeleton-end-hook', its default code was moved into `skeleton-insert'.
39632         (skeleton-insert): Mention `skeleton-end-newline' and move reference to
39633         `skeleton-end-hook' above the explanation of skeleton syntax.
39635 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
39637         Implement asynchronous thumbnail generation in image-dired
39639         Additionally, all FOO-options defcustoms that were in fact shell command
39640         strings have been converted to argument lists.  Another method for
39641         shrinking PNG thumbs with optipng(1) has been added.
39642         * lisp/image-dired.el: Remove TODO item in commentary.
39643         (image-dired-cmd-create-thumbnail-options):
39644         (image-dired-cmd-create-temp-image-options):
39645         (image-dired-cmd-rotate-thumbnail-options):
39646         (image-dired-cmd-rotate-original-options):
39647         (image-dired-cmd-write-exif-data-options):
39648         (image-dired-cmd-read-exif-data-options): Convert to argument lists.
39649         (image-dired-cmd-pngnq-program, image-dired-cmd-pngcrush-program):
39650         Change string type to file.
39651         (image-dired-cmd-create-standard-thumbnail-command): Remove.
39652         (image-dired-cmd-pngnq-options):
39653         (image-dired-cmd-create-standard-thumbnail-options):
39654         (image-dired-cmd-optipng-program, image-dired-cmd-optipng-options):
39655         New defcustoms.
39656         (image-dired-queue, image-dired-queue-active-jobs):
39657         (image-dired-queue-active-limit): New variables.
39658         (image-dired-pngnq-thumb, image-dired-pngcrush-thumb):
39659         (image-dired-optipng-thumb): New functions.
39660         (image-dired-create-thumb-1): Renamed from image-dired-create-thumb.
39661         Use start-process instead of call-process.  Set file modes.  Trigger
39662         PNG file optimization in process sentinel.
39663         (image-dired-thumb-queue-run, image-dired-create-thumb): New functions.
39664         (image-dired-display-thumbs):
39665         (image-dired-create-thumbs): Don't expect call-process return value.
39666         (image-dired-display-image, image-dired-rotate-thumbnail): Use
39667         start-process instead of call-process.
39668         (image-dired-rotate-original, image-dired-set-exif-data):
39669         (image-dired-get-exif-data): Adapt to arguments being an arg list.
39671 2016-12-19  Andreas Schwab  <schwab@linux-m68k.org>
39673         Protect change of window's buffer in vertical-motion against unwinds (bug#25209)
39675         * src/indent.c (restore_window_buffer): New function.
39676         (Fvertical_motion): Use it to restore window's buffer.
39678 2016-12-19  Glenn Morris  <rgm@gnu.org>
39680         Improve default load-path for uninstalled CANNOT_DUMP builds
39682         * src/lread.c (load_path_default) [CANNOT_DUMP]:
39683         Use build load-path if we seem to be running uninstalled.  (Bug#24974)
39684         I think this became an issue several years ago when we stopped
39685         using EMACSLOADPATH in the Makefiles; however this change should
39686         improve the CANNOT_DUMP uninstalled case in general.
39688 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
39690         Improve documentation of 'w32-scroll-lock-modifier'
39692         * doc/emacs/msdos.texi (Windows Keyboard): Document how to set up
39693         w32-scroll-lock-modifier so that Scroll Lock toggles the LED.
39695         * src/w32fns.c (syms_of_w32fns) <w32-scroll-lock-modifier>: Doc
39696         fix.  (Bug#25204)
39698 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
39700         Document 'describe-fontset'
39702         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
39703         (Bug#25216)
39705 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
39707         Document 'describe-fontset'
39709         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
39710         (Bug#25216)
39712 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
39714         Fix crashes upon C-g on Posix TTY frames
39716         * src/thread.h (struct thread_state): New member not_holding_lock.
39717         (maybe_reacquire_global_lock): Add prototype.
39718         * src/thread.c: Include syssignal.h.
39719         (maybe_reacquire_global_lock): New function.
39720         (really_call_select): Set the not_holding_lock member of the
39721         thread state before releasing the lock, and rest it after
39722         re-acquiring the lock when the select function returns.  Block
39723         SIGINT while doing this to make sure we are not interrupted on TTY
39724         frames.
39725         * src/sysdep.c (block_interrupt_signal, restore_signal_mask): New
39726         functions.
39727         * src/syssignal.h (block_interrupt_signal, restore_signal_mask):
39728         Add prototypes.
39729         * src/keyboard.c (read_char) [THREADS_ENABLED]: Call
39730         maybe_reacquire_global_lock.  (Bug#25178)
39732 2016-12-19  Sam Steingold  <sds@gnu.org>
39734         avoid Eager macro-expansion failure: (void-function string-to-list)
39736         * lisp/loadup.el [ns]: "ucs-normalize" uses `string-to-list' which is defined
39737           in "mule-util", so we have to load "mule-util" before "ucs-normalize",
39738           otherwise I get "Eager macro-expansion failure" on "make bootstrap"
39740 2016-12-19  Michael Albinus  <michael.albinus@gmx.de>
39742         Fix Bug#24980
39744         * lisp/ido.el (ido-add-virtual-buffers-to-list):
39745         Suppress Tramp invocation.  (Bug#24980)
39747 2016-12-18  Philipp Stephani  <phst@google.com>
39749         Add a new compile error regexp for Clang includes
39751         Clang uses a slight variation of GCC's include format, causing includes
39752         to be treated as warnings instead of informational messages.  Use a new
39753         regular expression instead.
39755         * lisp/progmodes/compile.el
39756         (compilation-error-regexp-alist-alist): New element
39757         `clang-include' for Clang-style "included from" lines.
39758         * test/lisp/progmodes/compile-tests.el
39759         (compile-tests--test-regexps-data): Add unit test.
39761 2016-12-18  Alan Third  <alan@idiocy.org>
39763         Reinstate ispell character offset (bug#25219)
39765         * lisp/textmodes/ispell.el (ispell-process-line): insert -1 where
39766         ispell-offset used to be.
39768 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
39770         Bind new image-mode scroll commands in image-dired
39772         * lisp/image-dired.el (image-dired-display-image-mode-map): Add bindings
39773         to new image-mode commands.
39775 2016-12-18  Noam Postavsky  <npostavs@gmail.com>
39777         Fix rx-any with range with ?\] and ?-
39779         * lisp/emacs-lisp/rx.el: Make sure not to produce a circular
39780         list (Bug#25123).
39781         * test/lisp/emacs-lisp/rx-tests.el (rx-char-any): New test.
39783 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
39785         Use floor of mtime instead of rounding for thumb property
39787         This seems to be the correct thing to do, at least more in line with
39788         what at least one other implementation does.  Anything using
39789         gnome-desktop [0] effectively does the same, as
39790         gnome_desktop_thumbnail_is_valid applies atol(3) to mtime for
39791         comparison and time_t on GNU/Linux is a signed int.
39792         [0] https://git.gnome.org/browse/gnome-desktop/
39793         * lisp/image-dired.el (image-dired-create-thumb): Use floor here.
39795 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
39797         Fix spelling mistake in private defun name (Bug#25218)
39799         lisp/textmodes/flyspell.el (flyspell-ajust-cursor-point): Rename to
39800         `flyspell-adjust-cursor-point'.
39802 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
39804         Remove XEmacs support from flyspell.el (Bug#25218)
39806         lisp/textmodes/flyspell.el (flyspell-prog-mode, flyspell-mode-on):
39807         (flyspell-word, flyspell-delete-region-overlays):
39808         (flyspell-correct-word-before-point): Remove XEmacs support.
39809         (flyspell-xemacs-popup): Remove XEmacs-specific defun.
39811 2016-12-17  Michael Albinus  <michael.albinus@gmx.de>
39813         More tests for Tramp
39815         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle quoted
39816         file names.
39818         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Quote file
39819         name properly.
39821         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
39822         Mark quoted file name as absolute.  (Bug#25183)
39823         (tramp--test-windows-nt-and-batch)
39824         (tramp--test-windows-nt-and-pscp-psftp-p): New defuns.
39825         (tramp--test-windows-nt-or-smb-p): Rename from
39826         `tramp--test-smb-windows-nt-p'.  Adapt callees.
39827         (tramp--test-check-files): Improve checks for environment variables.
39828         (tramp-test33-special-characters)
39829         (tramp-test33-special-characters-with-stat)
39830         (tramp-test33-special-characters-with-perl)
39831         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
39832         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
39833         (tramp-test34-utf8-with-ls): Add more checks for skip.
39835 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
39837         Fix comments
39839         * src/thread.h (struct thread_state): Fix comments.
39840         * src/process.c (wait_reading_process_output): Fix a typo in
39841         commentary.
39843 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
39845         Repair desktop restoration on text terminals
39847         * lisp/desktop.el (desktop-restoring-frameset-p): Test for the GUI
39848         frame here, instead of in desktop-restoring-frameset.  That's
39849         because desktop-read wants to know whether frameset will actually
39850         be restored, and has fallback procedures up its sleeve when it
39851         won't be; these fallbacks need to be invoked when the frameset is
39852         not going to be restored.  (Bug#24298)
39854 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
39856         Fix crashes on MS-Windows during dumping
39858         * src/unexw32.c (get_section_info): Make extra_bss_size be the
39859         maximum of extra_bss_size and extra_bss_size_static.  This avoids
39860         computing the size of the output file smaller than it actually
39861         needs to be, which then causes copy_executable_and_dump_data to
39862         write beyond the requested size of the file mapping, thus relying
39863         on the OS roundup to page boundary to save us from ourselves.  See
39864         https://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
39865         for the details.
39867         * lib/stdio-impl.h: Revert the workaround fix of not including
39868         errno.h for MinGW.
39870 2016-12-17  Dmitry Gutov  <dgutov@yandex.ru>
39872         Ignore forward-sexp-function in js-mode indentation code
39874         * lisp/progmodes/js.el (js--multi-line-declaration-indentation)
39875         (js--maybe-goto-declaration-keyword-end):
39876         Bind forward-sexp-function to nil (bug#25215).
39878 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
39880         Be more selective clearing the image cache
39882         * lisp/image-dired.el (image-dired-create-thumbs):
39883         (image-dired-rotate-thumbnail, image-dired-refresh-thumb): Only clear
39884         the current thumbnail file from the image cache.
39886 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
39888         Unbreak the MinGW build
39890         * lib/stdio-impl.h [__MINGW32__]: Don't include errno.h.  Without
39891         this, temacs crashes while dumping.
39893 2016-12-16  Nicolas Petton  <nicolas@petton.fr>
39895         Make seq-into return the sequence when no conversion needed
39897         * lisp/emacs-lisp/seq.el (seq-into): Do not convert the sequence when
39898           no conversion is needed.
39899         * test/lisp/emacs-lisp/seq-tests.el (test-seq-into-and-identity): Add
39900           a regression test checking for identity.
39902 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
39904         Improve documentation of 'define-coding-system'
39906         * lisp/international/mule.el (define-coding-system): Warn against
39907         possible infinite recursion in pre-write-conversion and
39908         post-read-conversion functions.  (Bug#25203)
39910 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
39912         New commands image-scroll-left and image-scroll-right
39914         * etc/NEWS: Mention them.
39915         * lisp/image-mode.el (image-scroll-left, image-scroll-right): New
39916         functions.
39918 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
39920         More image-dired refactoring
39922         * lisp/image-dired.el (image-dired-thumbnail-mode):
39923         (image-dired-display-image-mode): Add :group 'image-dired so
39924         customize-mode works.
39925         (image-dired-display-image): Rearrange.
39926         (image-dired-copy-with-exif-file-name): This map is for side effect.
39927         (image-dired-dired-edit-comment-and-tags): Just use #'identity.
39929 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
39931         * lisp/image-dired.el: Turn on lexical-binding.
39933 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
39935         Teach image-dired to also generate large thumbs
39937         * lisp/image-dired.el (image-dired-thumbnail-storage): Add
39938         standard-large option.
39939         (image-dired-thumb-size): Add condition for standard-large storage.
39940         (image-dired-insert-thumbnail): Check for new option.  Change
39941         thumbnail path conditionally.
39942         (image-dired-thumb-size): New function.
39943         (image-dired-create-thumb, image-dired-line-up-dynamic): Use it.
39945 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
39947         Merge from gnulib
39949         This incorporates:
39950         2016-12-14 xalloc-oversized: check for PTRDIFF_MAX too
39951         2016-12-12 fpending: port to native Windows with MSVC
39952         * .gitignore: Do not ignore lib/stdio-impl.h.
39953         * lib/fpending.c, lib/xalloc-oversized.h, m4/fpending.m4:
39954         Copy from gnulib.
39955         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
39956         * lib/stdio-impl.h:
39957         New file, copied from gnulib.
39958         * nt/gnulib.mk (EXTRA_DIST): Add stdio-impl.h.
39960 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
39962         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
39963         Append newline.
39965 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
39967         Don't abuse princ and spam messages
39969         * lisp/image-dired.el (image-dired-format-properties-string): Nix princ.
39970         (image-dired-display-thumb-properties):
39971         (image-dired-dired-display-properties): Nix princ.  Bind
39972         message-log-max to nil.
39974 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
39976         Inherit things from special-mode and image-mode
39978         * lisp/image-dired.el: Require image-mode library.
39979         (image-dired-thumbnail-mode-map): Remove superfluous binding.
39980         (image-dired-display-image-mode-map): Remove superfluous binding.
39981         Add movement remaps from image-mode-map.
39982         (image-dired-thumbnail-mode): Derive from special-mode.
39983         (image-dired-display-image-mode): Derive from special-mode. Call
39984         image-mode-setup-winprops.
39986 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
39988         Fix some image-dired customization types
39990         * lisp/image-dired.el (image-dired): Add info link to defgroup.
39991         (image-dired-dir, image-dired-gallery-dir): Set type to directory.
39992         (image-dired-db-file, image-dired-temp-image-file):
39993         (image-dired-cmd-create-thumbnail-program):
39994         (image-dired-cmd-create-temp-image-program):
39995         (image-dired-cmd-rotate-thumbnail-program):
39996         (image-dired-cmd-rotate-original-program):
39997         (image-dired-temp-rotate-image-file):
39998         (image-dired-cmd-write-exif-data-program):
39999         (image-dired-cmd-read-exif-data-program): Set type to file.
40000         (image-dired-create-thumb, image-dired-line-up-dynamic): Check storage
40001         type at runtime, since setting image-dired-thumb-size does not
40002         automatically set image-dired-thumb-width and image-dired-thumb-height.
40004 2016-12-15  Eli Zaretskii  <eliz@gnu.org>
40006         Prevent crashes in xg_select due to concurrency
40008         * src/xgselect.c (xg_select): Don't call Glib functions that use
40009         'context' if we failed to acquire it.  This means some other
40010         thread owns the context, in which case both using the context and
40011         calling block_input/unblock_input will step on that thread's toes
40012         and eventually lead to crashes.  (Bug#25172)
40014 2016-12-15  Nicolas Petton  <nicolas@petton.fr>
40016         Fix circular list handling in seq-mapn
40018         * lisp/emacs-lisp/seq.el (seq-mapn): Do not copy list arguments.
40019         * test/lisp/emacs-lisp/seq-tests.el (test-seq-mapn-circular-lists):
40020           Add a regression test.
40022 2016-12-15  Michael Albinus  <michael.albinus@gmx.de>
40024         Check in tramp-tests.el, that environment variables are set correctly
40026         * test/lisp/net/tramp-tests.el (tramp--test-check-files):
40027         Check also, that environment variables are set correctly.
40029 2016-12-15  Dominique Quatravaux  <dominique.quatravaux@epfl.ch>  (tiny change)
40031         Protect environment variables with double quotes in Tramp
40033         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
40034         Protect environment variables with double quotes.
40036 2016-12-15  Tino Calancha  <tino.calancha@gmail.com>
40038         * lisp/ibuf-macs.el (define-ibuffer-filter): Wrap ,@body in a progn.
40040 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
40042         * lisp/image-dired.el (image-dired-create-thumb): Create parent directories.
40044 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
40046         * lisp/image-mode.el (image-mode-winprops-alist): Add docstring.
40048 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
40050         Recognize pngnq or pngnq-s9
40052         * lisp/image-dired.el (image-dired-cmd-pngnq-program): Also consider
40053         pngnq-s9 as a possible executable.
40055 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
40057         Update standard image-dired thumbnail location
40059         * lisp/image-dired.el (image-dired-thumb-name): Conform to the latest
40060         standard: consider XDG_CACHE_HOME, falling back on ~/.cache.
40062 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
40064         Reset window scroll when displaying an image
40066         When viewing a large image full size and scrolling, for instance, to
40067         the lower right corner, then selecting a much smaller image in the
40068         thumbnail buffer, the window stays scrolled so the new image is out of
40069         the window.  One must scroll back to the "origin" to view the new
40070         displayed image, or just kill the image-dired-display-image buffer and
40071         try again.  This fixes the issue.
40072         * lisp/image-dired.el (image-dired-display-window-width):
40073         (image-dired-display-window-height): Operate on a window as argument.
40074         (image-dired-display-image): Bind (image-dired-display-window) and use
40075         it. Set window vscroll and hscroll to zero when refreshing the
40076         buffer's contents.
40078 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
40080         More image-dired polish
40082         * lisp/image-dired.el (image-dired-file-name-at-point): New function.
40083         (image-dired-thumbnail-mode, image-dired-display-image-mode): Disable
40084         undo list. Add image-dired-file-name-at-point to
40085         file-name-at-point-functions to facilitate find-file and friends.
40086         (image-dired-thumbnail-display-external):
40087         (image-dired-dired-display-external): Use start-process instead, to
40088         avoid needlessly blocking and using a shell.
40090 2016-12-13  Phillip Lord  <phillip.lord@russet.org.uk>
40092         Replace ldefs-boot with a much smaller file
40094          * Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
40095            (bootstrap): Depend on bootstrap-build.
40096          * admin/ldefs-clean.el: New file.
40097          * lisp/Makefile.in (compile-first): Depend on loaddefs.el
40098          * lisp/ldefs-boot.el: Remove.
40099          * lisp/ldefs-boot-auto.el: New file.
40100          * lisp/ldefs-boot-manual.el: New file.
40101          * lisp/loadup.el: Load ldefs-boot-manual.el.
40102          * src/emacs.c (generating_ldefs_boot): New variable.
40103            (main): Check whether we are generating ldefs.
40104          * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
40105            requested.
40106          * src/lisp.h (generating_ldefs_boot): New variable.
40107          * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
40108            lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
40109            lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
40110            ldefs-boot.
40111          * admin/update_autogen: Alter mechanism for ldefs-boot generation.
40113 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40115         Remove support for aspell < 0.60 (from 2004)
40117         lisp/textmodes/ispell.el (ispell-check-version): Require Aspell 0.60.
40118         (ispell-aspell-dictionary-alist): Remove check that we have Aspell 0.60.
40120 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40122         Minor docstring and comment fixes to ispell.el
40124         lisp/textmodes/ispell.el (ispell-aspell-dictionary-alist): Mention
40125         ispell-aspell-dictionary-alist, not ispell-dictionary-alist.
40126         (ispell-set-spellchecker-params): Change double-single quotes to
40127         single single quotes in comment.
40129 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40131         Remove unused variable
40133         * lisp/textmodes/ispell.el (current-ispell-directory): Remove.
40135 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40137         Remove XEmacs-specific ispell-with-no-warnings
40139         * lisp/textmodes/ispell.el (ispell-with-no-warnings): Remove this
40140         defmacro, needed only for XEmacs.
40141         (ispell-command-loop, ispell-message): Use with-no-warnings directly.
40143 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40145         Remove meaningless defconst ispell-version
40147         * lisp/textmodes/ispell.el (ispell-version): Since ispell.el is now
40148         firmly part of Emacs, and the version hasn’t changed since 2003, and
40149         isn’t used anywhere, remove it.  3rd-party code can better use the
40150         Emacs version, or feature or function checks.
40151         (ispell-check-version): No longer report ispell.el version.
40153 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40155         Remove boundp test for always-bound symbol
40157         * lisp/textmodes/ispell.el (ispell-message): mail-yank-prefix is
40158         defvar’d at the top of the file, so remove a test to see if it is
40159         bound.
40161 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40163         Remove support for ispell < 3.1.12
40165         * lisp/textmodes/ispell.el (ispell-offset): Remove.
40166         (ispell-check-version): Require ispell >= 3.1.12, released in 1994.
40167         (ispell-process-line): No longer use ispell-offset.
40169 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40171         Remove unused constant
40173         * lisp/textmodes/ispell.el (ispell-required-version): Remove.
40175 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40177         Remove support for old versions of supercite and GNUS from ispell.el
40179         * lisp/textmodes/ispell.el (ispell-message): Require supercite >= 3.0
40180         and GNUS >= 5.  Not exactly the bleeding edge!
40182 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40184         Remove remaining mentions of XEmacs from ispell.el
40186         * lisp/textmodes/ispell.el (ispell-valid-dictionary-list):
40187         (ispell-add-per-file-word-list): Remove mentions of XEmacs from
40188         comments.
40190 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40192         Remove XEmacs-specific minibuffer handling code from ispell.el
40194         * lisp/textmodes/ispell.el (ispell-init-process): Assume we are not in
40195         XEmacs.
40197 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40199         Remove XEmacs-specific horizontal scrollbar handling in ispell.el
40201         * lisp/textmodes/ispell.el (ispell-command-loop): Remove
40202         XEmacs-specific code.
40204 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40206         Remove XEmacs-specific code dealing with enable-multibyte-characters
40208         * lisp/textmodes/ispell.el (ispell-decode-string):
40209         (ispell-init-process):  Remove XEmacs-specific guard.
40211 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40213         Remove XEmacs-specific code from ispell.el
40215         * lisp/textmodes/ispell.el (ispell-menu-xemacs): Remove
40216         (ispell-menu-map-needed): Remove XEmacs-specific check.
40217         (ispell-word): Remove XEmacs-specific extent code.
40218         (ispell-init-process): Remove XEmacs workaround for local add-hook.
40219         Assume we have set-process-query-on-exit-flag.
40220         (ispell-kill-ispell, ispell-change-dictionary): Remove XEmacs
40221         workaround for called-interactively-p.
40223 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40225         Remove some commented-out code
40227         lisp/textmodes/ispell.el (ispell-process)
40228         ispell-valid-dictionary-list): Remove commented-out code.
40230 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40232         Remove XEmacs and old Emacs highlighting code
40234         * lisp/textmodes/ispell.el
40235         (ispell-highlight-spelling-error-xemacs): Remove.
40236         (ispell-highlight-spelling-error): Assume display-color-p exists.
40238 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40240         Assume Emacs supports [:alpha:] in regexps
40242         * lisp/textmodes/ispell.el (ispell-emacs-alpha-regexp): Remove.
40243         (ispell-set-spellchecker-params): Remove tests of
40244         ispell-emacs-alpha-regexp.
40246 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40248         Remove some XEmacs-specific code from ispell.el
40250         * lisp/textmodes/ispell.el: Remove XEmacs menubar setup.
40251         (ispell-int-char): Remove.
40253 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40255         Generalize over-specific documentation
40257         * lisp/textmodes/ispell.el (ispell-personal-dictionary): Rather than
40258         document precise personal wordlist filenames for only two supported
40259         spelling checkers, simply say that the default personal dictionary
40260         depends on the chosen spelling checker.  The user can check the
40261         spelling checker’s documentation if necessary.  This is simpler, and
40262         works for other supported (and future, or unknown) spelling checkers.
40264 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40266         Remove tests for built-in functions
40268         * lisp/textmodes/ispell.el (buffer-substring-no-properties): Remove
40269         back-up definition.
40270         (ispell-add-per-file-word-list): Remove tests for comment-padright and
40271         comment-normalize-vars.
40273 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40275         Remove unused ispell-looking-back
40277         * lisp/textmodes/ispell.el (ispell-looking-back): Remove unused alias.
40279 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40281         Assume we have version<= for checking ispell version
40283         * lisp/textmodes/ispell.el (ispell-check-minver): Remove.
40284         (ispell-check-version): Use version<= directly.
40286 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
40288         Remove ispell.el pre-GNU Emacs comments
40290         * lisp/textmodes/ispell.el (Commentary): Remove original maintainer
40291           details, as Emacs version, bug report address and so forth should be
40292           used instead for this version.  Remove in-line change history; use
40293           git instead.
40295 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
40297         More small fixes for image-dired
40299         * lisp/image-dired.el: Fix commentary to refer to correct Emacs manual
40300         node.
40301         (image-dired--with-db-file): Add declare forms.
40302         (image-dired-hidden-p): Rewrite with cl-loop.  It's not necessary to
40303         run through the whole list.
40305 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
40307         Remove image-dired-kill-buffer-and-window
40309         This breaks window layout, especially when quitting a
40310         image-dired-display-image-mode buffer.
40311         * lisp/image-dired.el (image-dired-thumbnail-mode-map):
40312         (image-dired-display-image-mode-map): Replace in keymap and menu items
40313         bindings to image-dired-kill-buffer-and-window with quit-window.
40314         (image-dired-kill-buffer-and-window): Remove.
40316 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
40318         Replace image-dired-setup-dired-keybindings with a minor mode
40320         * lisp/image-dired.el (image-dired-thumbnail-mode): Fix docstring to
40321         remove mention of nonexistent image-dired-dired and to refer to the
40322         new minor mode.
40323         (image-dired-minor-mode-map): New keymap assimilated from
40324         image-dired-setup-dired-keybindings.  In the future, the keymap parent
40325         should be removed, and perhaps also the duplicate bindings that
40326         already exist in dired-mode-map.
40327         (image-dired-setup-dired-keybindings): Remove.  Replace with an
40328         obsolete function alias.
40329         (image-dired-minor-mode): New minor mode, assuming the role of
40330         image-dired-setup-dired-keybindings.
40332 2016-12-13  Paul Eggert  <eggert@cs.ucla.edu>
40334         * test/src/regex-resources/PTESTS: Convert to UTF-8.
40336 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
40338         Clarify thread-signal semantics
40340         * doc/lispref/threads.texi (Basic Thread Functions): Explain that the
40341         thread will be signaled as soon as possible.
40343 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
40345         Clean up var watcher disabling on thread switching
40347         * src/data.c (Fset_default): Move code into new C level function,
40348         `set_default_internal'.
40349         (set_default_internal): New function, like `Fset_default' but also takes
40350         additional bindflag parameter.
40351         (set_internal): Only call `notify_variable_watchers' if bindflag is not
40352         SET_INTERNAL_THREAD_SWITCH.
40353         * src/eval.c (do_specbind, do_one_unbind): Add bindflag parameter,
40354         passed on to set_internal and set_default_internal.  Adjust callers.
40355         (rebind_for_thread_switch, unbind_for_thread_switch): Pass
40356         SET_INTERNAL_THREAD_SWITCH to do_specbind, do_one_unbind instead of
40357         temporarily adjusting symbol's trapped_write field.
40359 2016-12-13  Glenn Morris  <rgm@gnu.org>
40361         Minor fix for define-derived-mode
40363         * lisp/emacs-lisp/derived.el (define-derived-mode):
40364         Do not let eg eval-defun reset the values of syntax or abbrev tables,
40365         since they might have been defined externally.  (Bug#16160)
40367 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
40369         * build-aux/git-hooks/pre-commit: Add whitespace comment.
40371 2016-12-12  Clément Pit--Claudel  <clement.pitclaudel@live.com>
40373         Move backtrace to ELisp using a new mapbacktrace primitive
40375         * src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
40376         (Fmapbacktrace, Fbacktrace_frame_internal): New functions.
40377         (get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.
40379         * lisp/subr.el (backtrace--print-frame): New function.
40380         (backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
40381         (backtrace-frame): Reimplement using `backtrace-frame--internal'.
40383         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
40384         `mapbacktrace' instead of searching for "(debug" in the output of
40385         `backtrace'.
40387         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
40388         (subr-test-backtrace-integration-test): New tests.
40390         * doc/lispref/debugging.texi (Internals of Debugger): Document
40391         `mapbacktrace' and missing argument BASE of `backtrace-frame'.
40393 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
40395         Use C99 syntax for font drivers
40397         Problem reported by Daniel Colascione in:
40398         https://lists.gnu.org/r/emacs-devel/2016-12/msg00515.html
40399         * src/ftcrfont.c (ftcrfont_driver):
40400         * src/ftfont.c (ftfont_driver):
40401         * src/ftxfont.c (ftxfont_driver):
40402         * src/macfont.m (macfont_driver):
40403         * src/nsfont.m (nsfont_driver):
40404         * src/xfont.c (xfont_driver):
40405         * src/xftfont.c (xftfont_driver):
40406         Use C99 syntax, not the old GNU C syntax.
40408 2016-12-12  Glenn Morris  <rgm@gnu.org>
40410         Obsolete gs.el
40412         * lisp/gs.el: Move to lisp/obsolete.  (Bug#1524)
40413         * doc/lispref/display.texi (Image Formats): Remove postscript.
40414         (PostScript Images): Remove section.
40415         * doc/lispref/elisp.texi: Update menu.
40417 2016-12-12  Glenn Morris  <rgm@gnu.org>
40419         Un-revert recent Ffset change
40421         * src/data.c (Ffset): Reinstate the check for "nil".
40423 2016-12-12  Glenn Morris  <rgm@gnu.org>
40425         Minor advice.el fix
40427         * lisp/emacs-lisp/advice.el (ad-preactivate-advice):
40428         Avoid setting the function definition of nil.
40429         This was happening during bootstrap of org-compat.el,
40430         apparently due to eager macro expansion of code behind
40431         a (featurep 'xemacs) test.
40433 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
40435         Make etags-tests work in out-of-tree builds
40437         * test/lisp/progmodes/etags-tests.el (etags-bug-158)
40438         (etags-bug-23164): Make them work in an out-of-tree build.
40439         Reported by Ken Brown <kbrown@cornell.edu>.
40441 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
40443         Avoid crashing if a new thread is signaled right away
40445         * src/thread.c (post_acquire_global_lock): Don't raise the pending
40446         signal if the thread's handlers were not yet set up, as that will
40447         cause Emacs to exit with a fatal error.  This can happen if a
40448         thread is signaled as soon as make-thread returns, before the new
40449         thread had an opportunity to acquire the global lock, set up the
40450         handlers, and call the thread function.
40452         * test/src/thread-tests.el (thread-signal-early): New test.
40454 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
40456         Fix point motion in cloned buffers
40458         * src/thread.c (post_acquire_global_lock): Call
40459         set_buffer_internal_2 instead of tricking set_buffer_internal_1
40460         into resetting the current buffer even if it didn't change.  This
40461         avoids bug#25165, caused by failing to record the modified values
40462         of point and mark, because current_buffer was set to NULL.  Also,
40463         don't bother re-setting the buffer if there was no thread switch,
40464         as that just wastes cycles.
40465         * src/buffer.c (set_buffer_internal_2): New function, with most of
40466         the body of set_buffer_internal_1, but without the test for B
40467         being identical to the current buffer.
40468         (set_buffer_internal_1): Call set_buffer_internal_2 if B is not
40469         identical to the current buffer.
40470         * src/buffer.h (set_buffer_internal_2): Add prototype.
40472         * test/src/thread-tests.el (thread-sticky-point): New test.
40474 2016-12-12  Michael Albinus  <michael.albinus@gmx.de>
40476         Further improvements in Tramp's file name unquoting
40478         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
40479         (tramp-adb-handle-write-region): Unquote localname.
40480         (tramp-adb-handle-copy-file): Implement direct copy on remote device.
40481         (tramp-adb-handle-rename-file): Quote arguments, add "-f" to force.
40483         * lisp/net/tramp.el (tramp-file-name-unquote-localname): New defun.
40484         (tramp-handle-file-name-case-insensitive-p):
40485         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-file-attributes)
40486         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
40487         (tramp-gvfs-maybe-open-connection):
40488         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
40489         * lisp/net/tramp-smb.el (tramp-smb-get-share)
40490         (tramp-smb-get-localname): Use it.
40492         * test/lisp/net/tramp-tests.el (tramp--test-docker-p): New defun.
40493         (tramp--test-special-characters, tramp-test34-utf8)
40494         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
40495         (tramp-test34-utf8-with-ls): Use it.
40497 2016-12-12  Martin Rudalics  <rudalics@gmx.at>
40499         Strengthen conditions for resizing sibling windows (Bug#25169)
40501         * lisp/window.el (window-resize, delete-window): Resize other siblings
40502         only if `window-combination-resize' equals t (Bug#25169).
40504 2016-12-12  Noam Postavsky  <npostavs@gmail.com>
40506         Quote filenames containing '~' in prompts
40508         When in a directory named '~', the default value given by
40509         `read-file-name' should be quoted by prepending '/:', in order to
40510         prevent it from being interpreted as referring to the $HOME
40511         directory (Bug#16984).
40513         * lisp/minibuffer.el (minibuffer-maybe-quote-filename): New function.
40514         (completion--sifn-requote, read-file-name-default): Use it instead of
40515         `minibuffer--double-dollars'.
40516         * test/lisp/files-tests.el (files-test-read-file-in-~): Test it.
40518 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
40520         Undo part of last change
40522         * src/thread.h:
40523         * src/keyboard.c:
40524         * src/keyboard.h: Undo part of last change:
40525         input_available_clear_time is again a global variable.
40527 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
40529         Avoid aborts when a thread signals an error
40531         * src/thread.h (struct thread_state): Add members
40532         m_waiting_for_input and m_input_available_clear_time.
40533         (waiting_for_input, input_available_clear_time): New macros.
40534         * src/keyboard.c (waiting_for_input, input_available_clear_time):
40535         Remove; they are now macros that reference the current thread.
40536         (Bug#25171)
40537         * src/w32select.c: Don't include keyboard.h.
40539         * test/src/thread-tests.el (thread-errors): New test.
40541 2016-12-11  Philipp Stephani  <phst@google.com>
40543         Clean up compile-tests.el
40545         Switch to lexical binding.  Make checkdoc happy.
40547         * test/lisp/progmodes/compile-tests.el (compile--test-error-line)
40548         (compile-test-error-regexps): Instead of checking a single Boolean
40549         value, use `should' for each attribute of the message to be compared.
40550         (compile-tests--test-regexps-data): Document sixth list element
40551         TYPE.
40553 2016-12-11  Michael Albinus  <michael.albinus@gmx.de>
40555         Fix Bug#25162
40557         * doc/emacs/files.texi (Reverting): Document
40558         auto-revert-remote-files and auto-revert-verbose.
40560         * lisp/autorevert.el (auto-revert-verbose, auto-revert-mode)
40561         (auto-revert-tail-mode, global-auto-revert-mode): Fix docstring.
40563 2016-12-11  Glenn Morris  <rgm@gnu.org>
40565         Fix a typo in define-abbrev-table
40567         * lisp/abbrev.el (define-abbrev-table): Fix typo in docstring handling.
40569 2016-12-11  Glenn Morris  <rgm@gnu.org>
40571         Improve previous cperl-mode change
40573         * lisp/progmodes/cperl-mode.el (cperl-mode-abbrev-table):
40574         Improve previous change.
40576 2016-12-11  Glenn Morris  <rgm@gnu.org>
40578         Mark default cperl abbrevs as system ones
40580         * lisp/progmodes/cperl-mode.el (cperl-mode):
40581         Mark our abbrevs as system ones.  (Bug#10934)
40583 2016-12-11  Glenn Morris  <rgm@gnu.org>
40585         Revert earlier Ffset change
40587         * src/data.c (Ffset): Allow nil again, since it caused
40588         eager macro-expansion failures.
40590 2016-12-11  Glenn Morris  <rgm@gnu.org>
40592         Tweaks for message bogus address detection
40594         * lisp/gnus/message.el (message-bogus-recipient-p):
40595         Do not require "@", since some mailers deliver to local addresses
40596         without one.  (Bug#23054)
40597         Move "@.*@" from here...
40598         (message-bogus-addresses): ...to here, so it can be customized.
40600 2016-12-11  Glenn Morris  <rgm@gnu.org>
40602         Do not allow nil to be defined as a function
40604         * lisp/emacs-lisp/byte-run.el (defun):
40605         * src/data.c (Ffset): Do not allow "nil".  (Bug#25110)
40607 2016-12-11  Glenn Morris  <rgm@gnu.org>
40609         Bump makeinfo requirement from 4.7 to 4.13
40611         * configure.ac: Bump makeinfo version requirement from 4.7 to 4.13.
40612         We need at least 4.8, and that may be buggy, so go for the last
40613         of the 4 series, which is 8 years old.  (Bug#25108)
40615 2016-12-11  Glenn Morris  <rgm@gnu.org>
40617         Fixes related to select-enable-clipboard
40619         * lisp/menu-bar.el (clipboard-yank, clipboard-kill-ring-save)
40620         (clipboard-kill-region):
40621         * lisp/eshell/esh-io.el (eshell-virtual-targets)
40622         (eshell-clipboard-append):
40623         Replace option gui-select-enable-clipboard with
40624         select-enable-clipboard; renamed October 2014.  (Bug#25145)
40626 2016-12-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
40628         Add some sanity checking of defun arglist
40630         * lisp/emacs-lisp/byte-run.el (defun):
40631         Check for malformed argument lists.  (Bug#15715)
40633 2016-12-11  Matt Armstrong  <marmstrong@google.com>  (tiny change)
40635         Minor shell-mode fix for zsh
40637         * lisp/shell.el (shell-mode): Prevent shell-dirstack-query
40638         becoming confused by zsh abbreviations.  (Bug#24632)
40640 2016-12-10  Noam Postavsky  <npostavs@gmail.com>
40642         Define struct predicate before acccesors
40644         The accessor functions use the predicate function, which causes problems
40645         when reloading after unload-feature: the compiler-macro property is
40646         still present on the predicate symbol, and the compiler fails to find
40647         the definition when trying to inline it into the accessor
40648         function (Bug#25088).
40650         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Move predicate definition
40651         before field accessor definitions.
40653 2016-12-10  Andreas Schwab  <schwab@linux-m68k.org>
40655         * Makefile.in (install-etc): Don't prepend $(DESTDIR) to commands in
40656         system unit file.
40658 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
40660         Support concurrency in Emacs Lisp
40662         Merge branch 'test-concurrency'
40664         * src/thread.c:
40665         * src/thread.h:
40666         * src/systhread.c:
40667         * src/systhread.h: New files.
40668         * src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use
40669         xnmalloc unconditionally.
40670         * src/window.c (struct save_window_data): Rename current_buffer to
40671         f_current_buffer.
40672         * src/w32proc.c (sys_select): Change the function signature to
40673         closer fit 'pselect' on Posix hosts.
40674         * src/search.c:
40675         * src/regex.h: Convert some globals to macros that reference
40676         thread-specific values.
40677         * src/process.c (pset_thread, add_non_keyboard_read_fd)
40678         (add_process_read_fd, add_non_blocking_write_fd)
40679         (recompute_input_desc, compute_input_wait_mask)
40680         (compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
40681         (compute_write_mask, clear_waiting_thread_info)
40682         (update_processes_for_thread_death, Fset_process_thread)
40683         (Fprocess_thread): New functions.
40684         (enum fd_bits): New enumeration.
40685         (fd_callback_data): Add 'thread' and 'waiting_thread', rename
40686         'condition' to 'flags'.
40687         (set_process_filter_masks, create_process, create_pty)
40688         (Fmake_serial_process, finish_after_tls_connection)
40689         (connect_network_socket, deactivate_process)
40690         (server_accept_connection, wait_reading_process_output)
40691         (Fcontinue_process, Fstop_process, keyboard_bit_set)
40692         (add_timer_wait_descriptor, add_keyboard_wait_descriptor)
40693         (delete_keyboard_wait_descriptor): Use the new functions instead
40694         of manipulating fd flags and masks directly.
40695         (syms_of_process): Defsubr the new primitives.
40696         * src/print.c (print_object): Print threads, mutexes, and
40697         conditional variables.
40698         * src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX,
40699         and PVEC_CONDVAR.
40700         (XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP)
40701         (CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions.
40702         (XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros.
40703         (struct handler): Add back byte_stack.  Rename lisp_eval_depth to
40704         f_lisp_eval_depth.
40705         * src/eval.c (specpdl_kind, specpdl_arg, do_specbind)
40706         (rebind_for_thread_switch, do_one_unbind)
40707         (unbind_for_thread_switch): New functions.
40708         (init_eval): 'handlerlist' is not malloc'ed.
40709         (specbind): Call do_specbind.
40710         (unbind_to): Call do_one_unbind.
40711         (mark_specpdl): Accept 2 arguments.
40712         (mark_specpdl): Mark the saved value in a let-binding.
40713         * src/emacs.c (main): Call init_threads_once, init_threads, and
40714         syms_of_threads.
40715         * src/data.c (Ftype_of): Support thread, mutex, and condvar
40716         objects.
40717         (Fthreadp, Fmutexp, Fcondition_variable_p): New functions.
40718         (syms_of_data): DEFSYM and defsubr new symbols and primitives.
40719         * src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE)
40720         (BYTE_CODE_QUIT): Add back.
40721         (exec_byte_code): Add back byte stack manipulation.
40722         * src/alloc.c (cleanup_vector): Handle threads, mutexes, and
40723         conditional variables.
40724         (mark_stack): Now extern; accept additional argument 'bottom'.
40725         (flush_stack_call_func): New function.
40726         (garbage_collect_1): Call mark_threads and unmark_threads.  Don't
40727         mark handlers.
40728         * src/.gdbinit (xbytecode): Add back.
40730         * test/src/thread-tests.el: New tests.
40731         * test/src/data-tests.el (binding-test-manual)
40732         (binding-test-setq-default, binding-test-makunbound)
40733         (binding-test-defvar-bool, binding-test-defvar-int)
40734         (binding-test-set-constant-t, binding-test-set-constant-nil)
40735         (binding-test-set-constant-keyword)
40736         (binding-test-set-constant-nil): New tests.
40738         * doc/lispref/processes.texi (Processes and Threads): New
40739         subsection.
40740         * doc/lispref/threads.texi: New file
40741         * doc/lispref/elisp.texi (Top): Include it.
40742         * doc/lispref/objects.texi (Thread Type, Mutex Type)
40743         (Condition Variable Type): New subsections.
40744         (Type Predicates): Add thread-related predicates.
40745         * doc/lispref/objects.texi (Editing Types):
40746         * doc/lispref/elisp.texi (Top): Update higher-level menus.
40748         * etc/NEWS: Mention concurrency features.
40750 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
40752         Fix error messages in thread.c
40754         * src/thread.c (lisp_mutex_unlock, Fcondition_wait)
40755         (Fcondition_notify, Fthread_join): Fix error messages.
40757 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
40759         Improve doc strings in thread.c
40761         * src/thread.c (Fmake_condition_variable, Fcondition_wait)
40762         (Fcondition_notify, Fcondition_mutex, Fcondition_name, Fmake_thread)
40763         (Fthread_join, Fall_threads): Doc fixes.
40765 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
40767         Fix building with check-lisp-object-type
40769         * src/thread.c (mark_one_thread): Use NILP to compare with
40770         m_saved_last_thing_searched, which is a Lisp object.  Reported by
40771         Andreas Politz <politza@hochschule-trier.de>.
40773 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
40775         Documentation and commentary improvements
40777         * src/lisp.h:
40778         * src/regex.c:
40779         * src/xgselect.c (xg_select): Improve commentary and formatting.
40781         * doc/lispref/objects.texi (Thread Type, Mutex Type)
40782         (Condition Variable Type): New subsections.
40783         (Type Predicates): Add thread-related predicates.
40784         * doc/lispref/objects.texi (Editing Types):
40785         * doc/lispref/elisp.texi (Top): Update higher-level menus.
40787 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
40789         Fix further problems with quoted file names in Tramp
40791         * lisp/net/tramp.el (tramp-quoted-name-p, tramp-quote-name)
40792         (tramp-unquote-name): Move defsubst ...
40793         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
40794         (tramp-compat-file-name-quote)
40795         (tramp-compat-file-name-unquote): ... here. Adapt callees.
40797         * lisp/net/tramp-cache.el (tramp-flush-file-property)
40798         (tramp-flush-directory-property):
40799         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name):
40800         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
40801         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
40802         (tramp-smb-handle-substitute-in-file-name)
40803         (tramp-smb-get-share, tramp-smb-get-localname): Handle quoted files.
40805 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
40807         *src/sysdep.c: Fix a comment.
40809 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
40811         Fix compilation error on Fedora 24
40813         * src/sysdep.c [HAVE_H_ERRNO]: Remove declaration of h_errno.
40814         Reported by Paul Eggert <eggert@cs.ucla.edu>.
40816 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
40818         Fix compilation warnings due to prototype of thread_select
40820         * src/thread.h <int select_func>: Make the 5th and 6th arguments
40821         be 'const'.
40822         * src/process.c [WINDOWSNT]:
40823         * src/w32proc.c: Make the 5th and 6th argument to sys_select be
40824         'const'.
40826 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
40828         Fix compilation on Debian GNU/Linux
40830         * src/thread.h: Include sys/types.h, for ssize_t that regex.h
40831         uses.  Reported by Robert Marshall <robert.marshall@codethink.co.uk>.
40833 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
40835         Fix subtle errors with let-binding of localized variables
40837         * src/eval.c (do_specbind): Don't require a "symbol" that is
40838         actually a cons cell, in order to call set-default, as there are
40839         no longer such bindings.  This makes do_specbind work like the
40840         pre-concurrency implementation in specbind for bindings of
40841         forwarded symbols.  Use specpdl_kind to access the type of the
40842         binding.
40843         (specpdl_kind): New function.
40845 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
40847         Document file-name-quote, file-name-unquote and file-name-quoted-p
40849         * doc/lispref/files.texi (File Name Expansion):
40850         * etc/NEWS: Mention file-name-quote, file-name-unquote and
40851         file-name-quoted-p.
40853         * lisp/files.el (file-name-non-special): Revert using
40854         file-name-quote, file-name-unquote and file-name-quoted-p.
40856 2016-12-09  Noam Postavsky  <npostavs@gmail.com>
40858         Fix bad quoting of python-shell-interpreter
40860         `python-shell-calculate-command' was using `shell-quote-argument' as if
40861         it was generating a shell command, but its callers don't pass the result
40862         to a shell, and they expect to parse it with `split-string-and-unquote'.
40863         This caused problems depending on the flavor of shell quoting in
40864         effect (Bug#25025).
40866         * lisp/progmodes/python.el (python-shell-calculate-command): Use
40867         `combine-and-quote-strings' to quote the interpreter, so that it can be
40868         parsed by `python-shell-make-comint' successfully using
40869         `split-string-and-unquote'.
40871 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
40873         * src/lisp.h (struct terminal): Remove unnecessary forward decl.
40875 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
40877         Make read1 more reentrant
40879         This is needed if ‘read’ is called soon after startup, before the
40880         Unicode tables have been set up, and it reads a \N escape and
40881         needs to look up a value the Unicode tables, a lookup that in turn
40882         calls read1 recursively.  Although this change doesn’t make ‘read’
40883         fully reentrant, it’s good enough to handle this case.
40884         * src/lread.c (read_buffer_size, read_buffer): Remove static vars.
40885         (grow_read_buffer): Revamp to use locals, not statics, and to
40886         record memory allocation un the specpdl.  All callers changed.
40887         (read1): Start with a stack-based buffer, and use the heap
40888         only if the stack buffer is too small.  Use unbind_to to
40889         free any heap buffer allocated.  Use bool for boolean.
40890         Redo symbol loop so that only one call to grow_read_buffer
40891         is needed.
40892         (init_obarray): Remove no-longer-needed initialization.
40894 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
40896         Fix compilation warnings
40898         * src/thread.c (Fmake_thread): Call emacs_abort, to avoid
40899         compilation warning.
40901 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
40903         Fix unlikely substitute-command-keys memory leak
40905         * src/doc.c (Fsubstitute_command_keys):
40906         Free buffer when unwinding.
40908 2016-12-08  Michael Albinus  <michael.albinus@gmx.de>
40910         Add file-name-quoted-p, file-name-quote, file-name-unquote
40912         * lisp/files.el (file-name-quoted-p, file-name-quote)
40913         (file-name-unquote): New defsubst.
40914         (find-file--read-only, find-file-noselect)
40915         (file-name-non-special): Use them.
40917 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
40919         Add a NEWS entry.
40921 2016-12-08  Glenn Morris  <rgm@gnu.org>
40923         Minor fix for symbol-file
40925         * lisp/subr.el (symbol-file): Avoid false matches with "require"
40926         elements in load-history.  (Bug#25109)
40928 2016-12-08  Glenn Morris  <rgm@gnu.org>
40930         Doc fix for vc-git
40932         * lisp/vc/vc-git.el (vc-git-region-history): Add a doc string.
40934 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
40936         Fix Bug#24962
40938         * lisp/buff-menu.el (list-buffers--refresh):
40939         List buffers with name starting with " " if they visit a file.
40940         * test/lisp/buff-menu-tests.el (buff-menu-24962):
40941         Update test result as pass.
40943 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
40945         ediff-fixup-patch-map: Improve prompt
40947         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
40948         Make clear in the prompt when we are applying a multi patch.
40950 2016-12-08  Glenn Morris  <rgm@gnu.org>
40952         Retain message logging in map-y-or-n-p
40954         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
40955         Stop disabling logging to Messages buffer.  (Bug#13326)
40957 2016-12-08  Glenn Morris  <rgm@gnu.org>
40959         Doc fix for recent change
40961         * lisp/simple.el (region-modifiable-p): Doc fix.
40963 2016-12-08  Glenn Morris  <rgm@gnu.org>
40965         Quieten make-dist default operation
40967         * make-dist: Add --verbose option.  Default to quieter operation.
40969 2016-12-08  Glenn Morris  <rgm@gnu.org>
40971         Further improve make-dist checking
40973         * make-dist: Print status messages when checking.
40975 2016-12-08  Glenn Morris  <rgm@gnu.org>
40977         Improve previous make-dist change
40979         * make-dist: Let make check the info files more thoroughly.
40981 2016-12-08  Glenn Morris  <rgm@gnu.org>
40983         Make make-dist --snapshot do some sanity checks
40985         * make-dist: Snapshot mode no longer disables checks.
40986         Checks now includes checks for freshness.  (Bug#25084)
40987         Checks now exits with an error if problems were found.
40989 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
40991         Fix regression introduced by commit 7b1e97f
40993         * lisp/ibuf-ext.el (ibuffer-decompose-filter): Use cdr instead
40994         of cadr; required after commit 20f5a5b.
40996 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
40998         Put post-25 ChangeLog entries into ChangeLog.3
41000         * ChangeLog.2: Copy from emacs-25 branch.
41001         * ChangeLog.3: New file, with changes only in master.
41002         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump from 2 to 3.
41004 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
41006         Fix network streams.
41008         The original code messed up flags in fd_callback_data[], and also
41009         didn't call add_process_read_fd for process-related file descriptors.
41011 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
41013         Minimize spurious diffs from master.
41015 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
41017         Fix the test suite
41019         * test/automated/bindings.el: Contents moved to
41020         test/src/data-tests.el.
41021         * test/automated/threads.el: Moved to test/src/thread-tests.el.
41023 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
41025         Fix a typo in bytecode.c.
41027 2016-12-05  Eli Zaretskii  <eliz@gnu.org>
41029         Fix compilation problems.
41031         Fix merged code in process.c and eval.c.
41033 2016-12-04  Eli Zaretskii  <eliz@gnu.org>
41035         Merge branch 'concurrency'
41037         Conflicts (resolved):
41038                 configure.ac
41039                 src/Makefile.in
41040                 src/alloc.c
41041                 src/bytecode.c
41042                 src/emacs.c
41043                 src/eval.c
41044                 src/lisp.h
41045                 src/process.c
41046                 src/regex.c
41047                 src/regex.h
41049 2015-11-02  Eli Zaretskii  <eliz@gnu.org>
41051         Fix the MS-Windows build
41053         * src/thread.h [WINDOWSNT]: Include sys/socket.h.
41055         * src/sysselect.h: Don't define fd_set and FD_* macros for
41056         MS-Windows here.
41057         * src/w32.h: Define them here.
41059         * src/process.h (sys_select): Declare prototype.
41061         * src/sysdep.c:
41062         * src/process.c:
41063         * src/filelock.c:
41064         * src/emacs.c:
41065         * src/callproc.c: Move inclusion of sys/select.h after lisp.h.
41066         * nt/inc/socket.h: Include w32.h instead of sysselect.h
41068 2015-11-01  Ken Raeburn  <raeburn@raeburn.org>
41070         merge from trunk
41072 2013-10-19  Barry O'Reilly  <gundaetiapo@gmail.com>
41074         * src/eval.c (unbind_for_thread_switch): Fix iteration over the
41075         specpdl stack.
41077 2013-10-18  Tom Tromey  <tromey@redhat.com>
41079         change condition-variablep to condition-variable-p
41081 2013-09-01  Eli Zaretskii  <eliz@gnu.org>
41083         Fix crashes when unbind_for_thread_switch signals an error.
41085          src/eval.c (unbind_for_thread_switch): Accept a 'struct
41086          thread_state *' argument and use specpdl_ptr and specpdl of that
41087          thread.  Fixes crashes if find_symbol_value signals an error.
41088          src/thread.c (post_acquire_global_lock): Update current_thread
41089          before calling unbind_for_thread_switch.  Pass the previous thread
41090          to unbind_for_thread_switch.
41092 2013-08-31  Eli Zaretskii  <eliz@gnu.org>
41094         Improve MS-Windows implementation of threads.
41096          src/systhread.c (sys_cond_init): Set the 'initialized' member to
41097          true only if initialization is successful.  Initialize wait_count
41098          and wait_count_lock.
41099          (sys_cond_wait, sys_cond_signal, sys_cond_broadcast): If
41100          'initialized' is false, do nothing.
41101          (sys_cond_wait): Fix the implementation to avoid the "missed
41102          wakeup" bug: count the waiting threads, and reset the broadcast
41103          event once the last thread was released.
41104          (sys_cond_signal, sys_cond_broadcast): Use SetEvent instead of
41105          PulseEvent.  Don't signal the event if no threads are waiting.
41106          (sys_cond_destroy): Only close non-NULL handles.
41107          (sys_thread_create): Return zero if unsuccessful, 1 if successful.
41108          src/systhread.h (w32thread_cond_t): New member 'initialized'.
41109          Rename waiters_count and waiters_count_lock to wait_count and
41110          wait_count_lock, respectively.
41112 2013-08-30  Eli Zaretskii  <eliz@gnu.org>
41114         Enable thread support in the MS-Windows build.
41116          src/systhread.h (w32thread_critsect, w32thread_cond_t, sys_mutex_t)
41117          (sys_cond_t, sys_thread_t) [WINDOWSNT]: New data types.
41118          src/systhread.c (sys_mutex_init, sys_mutex_lock, sys_mutex_unlock)
41119          (sys_mutex_destroy, sys_cond_init, sys_cond_wait)
41120          (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy)
41121          (sys_thread_self, sys_thread_equal, w32_beginthread_wrapper)
41122          (sys_thread_create, sys_thread_yield) [WINDOWSNT]: New functions.
41124          configure.ac (THREADS_ENABLED): Enable threads for MinGW, even
41125          if pthreads is not available.
41127 2013-08-27  Tom Tromey  <tromey@redhat.com>
41129         use condition-notify in the docs, not condition-signal
41131         zap until-condition docs
41133         zap until-condition
41135         rename thread-blocker to thread--blocker
41137         remove binding_symbol
41139         fix style of threadp, mutexp, and condition-variable-p
41141         make thread_check_current_buffer return bool
41143         add a comment before flush_stack_call_func
41145         fix whitespace_regexp warning
41147 2013-08-26  Eli Zaretskii  <eliz@gnu.org>
41149         Fix MS-Windows build.
41151          src/callproc.c:
41152          src/emacs.c:
41153          src/filelock.c:
41154          src/process.c:
41155          src/sysdep.c:
41156          src/w32.c: Reshuffle Windows-specific headers to avoid errors with
41157          redefinition of fd_set etc.
41158          src/process.c: Don't use num_pending_connects when
41159          NON_BLOCKING_CONNECT is not defined.
41160          src/sysselect.h: Move definitions of FD_* macros and of SELECT_TYPE
41161          here from w32.h.
41162          src/w32proc.c (sys_select): Adjust the argument types to what
41163          thread.h expects.
41165          nt/inc/sys/socket.h: Include stdint.h.  Include sysselect.h instead
41166          of w32.h.
41168 2013-08-26  Tom Tromey  <tromey@redhat.com>
41170         use record_unwind_protect_void, avoid warning
41172         implement --enable-threads and a thread-less mode
41174 2013-08-25  Tom Tromey  <tromey@redhat.com>
41176         merge from trunk
41178 2013-08-20  Tom Tromey  <tromey@redhat.com>
41180         fix up some merge errors in process.c
41182         remove a dead function
41183         clean up a fixme I added in create_pty during the merge
41185 2013-08-20  Tom Tromey  <tromey@redhat.com>
41187         merge from trunk
41189 2013-07-26  Tom Tromey  <tromey@redhat.com>
41191         merge from trunk
41193 2013-07-13  Tom Tromey  <tromey@redhat.com>
41195         Merge from trunk
41197 2013-07-12  Tom Tromey  <tromey@redhat.com>
41199         Use thread_alive_p in a couple more spots
41201 2013-07-07  Tom Tromey  <tromey@redhat.com>
41203         fix xfree bug in run_thread
41205         this fixes run_thread to account for the dummy slot
41206         in specpdl
41208 2013-07-07  Tom Tromey  <tromey@redhat.com>
41210         merge from trunk
41212         this merges frmo trunk and fixes various build issues.
41213         this needed a few ugly tweaks.
41214         this hangs in "make check" now
41216 2013-07-06  Tom Tromey  <tromey@redhat.com>
41218         add assertion to flush_stack_call_func
41220         functions called via flush_stack_call_func are assumed
41221         to return with the global lock held again, and with
41222         current_thread reset.  this assertion verifies part of this
41224 2013-07-06  Tom Tromey  <tromey@redhat.com>
41226         call init_primary_thread from init_threads
41228 2013-07-05  Tom Tromey  <tromey@redhat.com>
41230         avoid SAFE_ALLOCA
41232         avoid SAFE_ALLOCA in xgselect.c.
41233         in this code it is just as easy to always use malloc;
41234         and it avoids thread-switching problems, as the safe-alloca
41235         stuff implicitly refers to the current thread
41237 2013-07-05  Tom Tromey  <tromey@redhat.com>
41239         avoid current_thread sometimes
41241         this tweaks thread.c to use 'self' instead of current_thread
41242         in a couple spots.  this is clearer and more robust
41244 2013-07-05  Tom Tromey  <tromey@redhat.com>
41246         initialize saved_value
41248         initialize the saved_value field in all needed cases
41249         also, add an assertion to do_one_unbind
41251 2013-07-04  Tom Tromey  <tromey@redhat.com>
41253         fix buglet in test case
41255 2013-07-04  Tom Tromey  <tromey@redhat.com>
41257         unlink thread later
41259         unlink thread from global list later
41260         also remove some unnecessary destruction code
41262 2013-07-04  Tom Tromey  <tromey@redhat.com>
41264         introduce thread_alive_p macro
41266         This introduces the thread_alive_p macro and changes
41267         thread-alive-p to use it.  This is a minor cleanup.
41268         It also changes all-threads to ignore dead threads.
41270 2013-07-03  Tom Tromey  <tromey@redhat.com>
41272         Don't call unbind_for_thread_switch in run_thread
41274         This removes the call to unbind_for_thread_switch from run_thread.
41275         This isn't necessary because acquire_global_lock does it properly.
41277 2013-07-03  Tom Tromey  <tromey@redhat.com>
41279         remove unused field from struct thread_state
41281         Fix a comment.
41283 2013-06-13  Tom Tromey  <tromey@redhat.com>
41285         merge from trunk
41287 2013-06-06  Tom Tromey  <tromey@redhat.com>
41289         fix a few latent issues in the thread patch
41291         * we called unbind_for_thread_switch unconditionally, but this
41292           is wrong if the previous thread exited
41293         * likewise, exiting a thread should clear current_thread
41294         * redundant assignment in run_thread
41295         * clean up init_threads - no need to re-init the primary thread
41297         This patch still sometimes causes weird hangs in "make check".
41298         However, I think that is a kernel bug, since Emacs enters the zombie
41299         state but its parent process hangs in wait.  This shouldn't happen.
41301 2013-06-04  Tom Tromey  <tromey@redhat.com>
41303         update eval.c to make it build again after the merge
41305 2013-06-03  Tom Tromey  <tromey@redhat.com>
41307         merge from trunk; clean up some issues
41309 2013-03-18  Tom Tromey  <tromey@redhat.com>
41311         don't let kill-buffer kill a buffer if it is current in any thread
41313 2013-03-18  Tom Tromey  <tromey@redhat.com>
41315         fix process bugs
41317         Fix some process-related bugs, mostly thinkos from the conversion to
41318         recording fd state as flags.
41319         This now passes the test suite without hanging.
41321 2013-03-17  Tom Tromey  <tromey@redhat.com>
41323         merge from trunk
41325 2013-03-08  Tom Tromey  <tromey@redhat.com>
41327         merge from trunk
41329 2013-01-16  Tom Tromey  <tromey@redhat.com>
41331         merge from trunk
41333 2013-01-06  Tom Tromey  <tromey@redhat.com>
41335         merge from trunk
41337 2012-12-23  Tom Tromey  <tromey@redhat.com>
41339         mention let bindings and lack of other ways to rewind
41341 2012-12-17  Tom Tromey  <tromey@redhat.com>
41343         Remove bit accidentally left over from the merge
41345         merge from trunk
41347 2012-09-04  Tom Tromey  <tromey@redhat.com>
41349         merge from trunk
41351         link from thread docs to match data
41353 2012-08-27  Tom Tromey  <tromey@redhat.com>
41355         cannot thread-join the current thread
41357         fix test suite for condition-variable-p name change
41359         add tests for variable bindings
41361 2012-08-25  Tom Tromey  <tromey@redhat.com>
41363         minor update to thread-join docs
41365 2012-08-24  Tom Tromey  <tromey@redhat.com>
41367         minor documentation updates
41369 2012-08-23  Tom Tromey  <tromey@redhat.com>
41371         document until-condition
41373         first draft of threads documentation
41375         rename condition-variablep to condition-variable-p
41377         document process-thread and set-process-thread
41379 2012-08-20  Tom Tromey  <tromey@redhat.com>
41381         pass the thread name to the OS if possible
41383         use prctl to pass the thread name to the OS, if possible
41385 2012-08-20  Tom Tromey  <tromey@redhat.com>
41387         add convenience macros with-mutex and until-condition
41389         with-mutex is a safe way to run some code with a mutex held.
41390         until-condition is a safe way to wait on a condition variable.
41392 2012-08-20  Tom Tromey  <tromey@redhat.com>
41394         Merge from trunk
41396 2012-08-19  Tom Tromey  <tromey@redhat.com>
41398         another docstring fixlet
41400         minor docstring fixup
41402         add condition-mutex and condition-name
41404         ensure name of a thread is a string
41406         ensure name of a mutex is a string
41408         use NILP
41410 2012-08-19  Tom Tromey  <tromey@redhat.com>
41412         condition variables
41414         This implements condition variables for elisp.
41415         This needs more tests.
41417 2012-08-19  Tom Tromey  <tromey@redhat.com>
41419         comment fixes
41421 2012-08-19  Tom Tromey  <tromey@redhat.com>
41423         refactor systhread.h
41425         This refactors systhread.h to move the notion of a "lisp mutex"
41426         into thread.c.  This lets us make make the global lock and
41427         post_acquire_global_lock static.
41429 2012-08-17  Tom Tromey  <tromey@redhat.com>
41431         write docstrings for the thread functions
41433         declare unbind_for_thread_switch and rebind_for_thread_switch in lisp.h
41435 2012-08-15  Tom Tromey  <tromey@redhat.com>
41437         add test case for I/O switching
41439 2012-08-15  Tom Tromey  <tromey@redhat.com>
41441         process changes
41443         This changes wait_reading_process_output to handle threads better.  It
41444         introduces a wrapper for select that releases the global lock, and it
41445         ensures that only a single thread can select a given file descriptor
41446         at a time.
41448         This also adds the thread-locking feature to processes.  By default a
41449         process can only have its output accepted by the thread that created
41450         it.  This can be changed using set-process-thread.  (If the thread
41451         exits, the process is again available for waiting by any thread.)
41453         Note that thread-signal will not currently interrupt a thread blocked
41454         on select.  I'll fix this later.
41456 2012-08-15  Tom Tromey  <tromey@redhat.com>
41458         Prepare process.c for threads by not having global select masks.
41459         The next step is to make it so selects can choose fds by thread.
41461 2012-08-15  Tom Tromey  <tromey@redhat.com>
41463         fix a latent bug in process.c
41465         * src/process.c (wait_reading_process_output): Check Writeok bits,
41466         not write_mask.
41468 2012-08-15  Tom Tromey  <tromey@redhat.com>
41470         This adds thread-blocker, a function to examine what a thread is
41471         blocked on.  I thought this would be another nice debugging addition.
41473         This adds names to mutexes.  This seemed like a nice debugging
41474         extension.
41476         This adds some tests of the threading code.
41478 2012-08-15  Tom Tromey  <tromey@redhat.com>
41480         This supplies the mutex implementation for Emacs Lisp.
41482         A lisp mutex is implemented using a condition variable, so that we can
41483         interrupt a mutex-lock operation by calling thread-signal on the
41484         blocking thread.  I did things this way because pthread_mutex_lock
41485         can't readily be interrupted.
41487 2012-08-15  Tom Tromey  <tromey@redhat.com>
41489         This adds most of the thread features visible to emacs lisp.
41491         I roughly followed the Bordeaux threads API:
41493         http://trac.common-lisp.net/bordeaux-threads/wiki/ApiDocumentation
41495         ... but not identically.  In particular I chose not to implement
41496         interrupt-thread or destroy-thread, but instead a thread-signaling
41497         approach.
41499         I'm still undecided about *default-special-bindings* (which I did not
41500         implement).  I think it would be more emacs-like to capture the let
41501         bindings at make-thread time, but IIRC Stefan didn't like this idea
41502         the first time around.
41504         There are one or two semantics issues pointed out in the patch where I
41505         could use some advice.
41507 2012-08-15  Tom Tromey  <tromey@redhat.com>
41509         This turns thread_state into a pseudovector and updates various bits
41510         of Emacs to cope.
41512 2012-08-15  Tom Tromey  <tromey@redhat.com>
41514         This introduces some new functions to handle the specpdl.  The basic
41515         idea is that when a thread loses the interpreter lock, it will unbind
41516         the bindings it has put in place.  Then when a thread acquires the
41517         lock, it will restore its bindings.
41519         This code reuses an existing empty slot in struct specbinding to store
41520         the current value when the thread is "swapped out".
41522         This approach performs worse than my previously planned approach.
41523         However, it was one I could implement with minimal time and
41524         brainpower.  I hope that perhaps someone else could improve the code
41525         once it is in.
41527 2012-08-15  Tom Tromey  <tromey@redhat.com>
41529         This introduces the low-level system threading support.  It also adds
41530         the global lock.  The low-level support is a bit over-eager, in that
41531         even at the end of the present series, it will not all be used.  I
41532         think thiat is ok since I plan to use it all eventually -- in
41533         particular for the emacs lisp mutex implementation.
41535         I've only implemented the pthreads-based version.  I think it should
41536         be relatively clear how to port this to other systems, though.
41538         I'd also like to do a "no threads" port that will turn most things
41539         into no-ops, and have thread-creation fail.  I was thinking perhaps
41540         I'd make a future (provide 'threads) conditional on threads actually
41541         working.
41543         One other minor enhancement available here is to make it possible to
41544         set the name of the new thread at the OS layer.  That way gdb, e.g.,
41545         could display thread names.
41547 2012-08-15  Tom Tromey  <tromey@redhat.com>
41549         This parameterizes the GC a bit to make it thread-ready.
41551         The basic idea is that whenever a thread "exits lisp" -- that is,
41552         releases the global lock in favor of another thread -- it must save
41553         its stack boundaries in the thread object.  This way the boundaries
41554         are always available for marking.  This is the purpose of
41555         flush_stack_call_func.
41557         I haven't tested this under all the possible GC configurations.
41558         There is a new FIXME in a spot that i didn't convert.
41560         Arguably all_threads should go in the previous patch.
41562 2012-08-15  Tom Tromey  <tromey@redhat.com>
41564         This introduces a thread-state object and moves various C globals
41565         there.  It also introduces #defines for these globals to avoid a
41566         monster patch.
41568         The #defines mean that this patch also has to rename a few fields
41569         whose names clash with the defines.
41571         There is currently just a single "thread"; so this patch does not
41572         impact Emacs behavior in any significant way.
41574 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
41576         Merge from origin/emacs-25
41578         eeecac7 Fix minor quoting problems in doc strings
41580 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
41582         Merge from origin/emacs-25
41584         35ce3fb Don't assume window-point and point are the same
41586 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
41588         Merge from origin/emacs-25
41590         ba2847f ; * lisp/vc/ediff-util.el (ediff-janitor): Fix last change.  ...
41591         8b43f97 * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
41592         c20035c ; * doc/emacs/programs.texi (Man Page): Fix last change.
41593         93d8346 Improve indexing of 'man'
41595 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
41597         Merge from origin/emacs-25
41599         d31298d Fix documentation of `window-combination-resize'
41600         2086f4c Typo fixes in elisp manual
41602 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
41604         Merge from origin/emacs-25
41606         3980903 ; Update ChangeLog.2, etc/AUTHORS and ldef-boot.el for Emacs ...
41607         5878abf Fix 'expand-file-name' during startup on MS-Windows
41609 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
41611         Merge from origin/emacs-25
41613         9a857b9 * admin/authors.el (authors-renamed-files-alist): Addition.
41614         6d27423 Tweak refcard note about documentation location
41615         e46a134 Improve treatment of Fortran's "class is"
41617 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
41619         Merge from origin/emacs-25
41621         93c0f51 Handle TeX comments when making new paragraph
41622         e0884f1 Restore keystroke echo in 'C-q'
41623         a6213ce Improve documentation of 'current-word'
41624         0828126 Fix a typo in an Eshell defcustom
41625         2e361c7 Minor copyedits of electric-pair-mode
41626         7499ee8 ; Minor copyedit in the Emacs manual
41627         45b652b Fix documentation of 'invocation-directory'
41628         7f43d7c * admin/authors.el (authors-aliases): Add an entry.
41629         ba48880 ; Fix pl-refcard.tex
41631 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
41633         Merge from origin/emacs-25
41635         7287e96 ; * src/lread.c (openp): Correct an inaccuracy in commentary.
41637 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
41639         Merge from origin/emacs-25
41641         3d63b48 Update ChangeLog files and authors.el
41642         9d30264 Fix menu bindings of Dired 'A' and 'Q' commands
41643         a725592 Avoid errors in shr-pixel-column due to dedicated windows
41644         3138598 Update format-time-string documentation
41646 2016-12-07  Sam Steingold  <sds@gnu.org>
41648         delete-trailing-whitespace: handle read-only text in buffer
41650         * lisp/simple.el (region-modifiable-p): New function.
41651         (delete-trailing-whitespace): Use it to avoid trying to delete read-only text.
41653 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
41655         Fix minor quoting problems in doc strings
41657 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
41659         Fix --enable-gcc-warnings --with-ns on Fedora
41661         * src/Makefile.in (NON_OBJC_CFLAGS): New macro.
41662         (ALL_OBJC_CFLAGS): Use it.
41663         (EMACS_CFLAGS): New macro, with most of the old ALL_CFLAGS.
41664         (ALL_CFLAGS, ALL_OBJC_FLAGS): Use it.
41666 2016-12-07  Michael Albinus  <michael.albinus@gmx.de>
41668         Fix problems in quoting Tramp file names
41670         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Add also hop to result.
41671         (tramp-unquote-shell-quote-argument): New defun.
41672         (tramp-shell-quote-argument):
41673         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
41674         (tramp-make-copy-program-file-name):
41675         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
41676         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
41677         (tramp-smb-shell-quote-argument): Use it.
41679 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
41681         ibuffer-map-deletion-lines: Re-included it
41683         It was deleted in previous commit, but it's referenced
41684         by the macro 'define-ibuffer-op'.
41685         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Reinclude it.
41687 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
41689         ibuffer-unmark-all: simplify code
41691         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Delete it.
41692         (ibuffer-unmark-all): Simplify code.
41694 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
41696         define-ibuffer-filter: Discard wrong filters
41698         * lisp/ibuf-macs.el (define-ibuffer-filter): Do not store
41699         in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042).
41700         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test.
41702 2016-12-07  Philipp Stephani  <p.stephani2@gmail.com>
41704         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
41706         so that it matches the actual implementation.
41707         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
41709 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
41711         ibuffer-decompose-filter-group avoid unwanted side effects
41713         * lisp/ibuf-ext.el (ibuffer-delete-alist): Remove it.
41714         (ibuffer-remove-alist): New defun; it supersedes 'ibuffer-delete-alist'.
41715         All callers changed (Bug#25058).
41716         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25058): Add test.
41718 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
41720         ibuffer-unmark-backward: Unmark the region when is active
41722         * lisp/ibuffer.el (ibuffer-unmark-backward):
41723         Use 'ibuffer-get-region-and-prefix'; call 'ibuffer-unmark-forward'
41724         with the region boundary as the first 2 arguments (Bug#24987).
41726 2016-12-07  Nicolas Petton  <nicolas@petton.fr>
41728         Docstring improvement for seq-some (bug#25129)
41730         * lisp/emacs-lisp/seq.el (seq-some): Make the docstring less confusing
41731           regarding the returned value.
41733 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
41735         dired-unmark-backward: Unmark the region when is active
41737         * lisp/dired.el (dired-unmark-backward): Call 'dired-unmark' with
41738         a non-nil second argument (Bug#24986).
41740 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
41742         New test file for ediff
41744         Fix previous commit.
41745         * test/lisp/vc/ediff-ptch-tests.el: New test.
41747 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
41749         ediff-context-diff-label-regexp: Detect the end of second file
41751         * lisp/vc/ediff-ptch.el (ediff-context-diff-label-regexp): Skip
41752         '\n' in file names (Bug#25010).
41753         * test/lisp/vc/ediff-ptch-tests.el: New file.
41754         (ibuffer-test-bug25010): Add test for Bug#25010.
41756 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
41758         ibuffer-decompose-filter: Avoid side effects on error
41760         * lisp/ibuf-ext.el (ibuffer-decompose-filter):
41761         Update 'ibuffer-filtering-qualifiers' only if there is no error (Bug#24997).
41762         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997):
41763         Update test result as pass.
41765 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
41767         ibuffer: compare marks with EQ
41769         * lisp/ibuffer.el:
41770         (ibuffer-update-title-and-summary)
41771         (ibuffer-redisplay-current)
41772         (ibuffer-buffer-name-face, ibuffer-unmark-all)
41773         (ibuffer-count-deletion-lines, ibuffer-buffer-names-with-mark):
41774         Use 'eq' instead of 'char-equal' when comparing mark characters
41775         (Bug#25000).
41776         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000):
41777         Update test result as pass.
41779 2016-12-07  Christopher Genovese  <genovese@cmu.edu>
41781         ibuffer-saved-filters: Remove extra nesting level
41783         Fix Bug#25049.
41784         * lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra
41785         nesting level; add transparent setter to adjust old-format values;
41786         update doc string.
41787         (ibuffer-save-filters): Remove extra level of nesting
41788         in ibuffer-saved-filters values when saving new filters.
41789         (ibuffer-old-saved-filters-warning): New variable with
41790         clickable message with repair options to be displayed
41791         as a warning if 'ibuffer-repair-saved-filters' detects
41792         a format mismatch.
41793         (ibuffer-repair-saved-filters): Add new command to check and
41794         repair saved filters format.
41795         (ibuffer-included-in-filter-p, ibuffer-decompose-filter):
41796         Change access of saved filter data (cadr->cdr) to account
41797         for reduced nesting.
41798         * test/lisp/ibuffer-tests.el (ibuffer-save-filters):
41799         New test; check that filters are saved in the proper format.
41801 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
41803         Clean out some IRIX cruft
41805         * etc/MACHINES: Remove obsolete discussion of IRIX.
41806         * src/process.c (allocate_pty) [__sgi]: Remove SGI-specific code.
41807         (create_process) [HAVE_PTYS]: Don't worry about IRIX.
41808         * src/syntax.c (scan_sexps_forward): Remove obsolete comment.
41809         * src/unexelf.c [__sgi]: Don't include <syms.h>.
41810         (unexec) [__sgi]: Remove SGI-specific code.
41812 2016-12-06  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
41814         Simplify FUNCTIONP implementation
41816         * src/bytecode.c (exec_byte_code):
41817         * src/image.c (parse_image_spec):
41818         Prefer FUNCTIONP (x) to !NILP (Ffunctionp (x)).
41819         * src/eval.c (FUNCTIONP): Move here ...
41820         * src/lisp.h: ... from here.  No longer inline, as that
41821         bloats the text and does not help speed (at least on my platform).
41822         (functionp): Remove this name, since callers use FUNCTIONP.
41824 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
41826         Don't assume window-point and point are the same
41828         The function `cursor-sensor--detect' calls `bobp' to decide whether to
41829         check properties at (1- (window-point)).  However, (window-point) may be
41830         at beginning of buffer, even if (point) is not.  In this case an
41831         `args-out-of-range' error will be signaled (Bug#25104).
41833         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the
41834         value of (window-point) against (point-min), rather than (bobp) to
41835         decide if (1- (window-point)) is accessible.
41837 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
41839         Give test-completion's PREDICATE the hashtable key
41841         For hashtable entries with symbol keys, `test-completion' would convert
41842         the key to a string before calling PREDICATE, unlike `try-completion'
41843         and `all-completions'.
41845         * src/minibuf.c (Ftest_completion): Pass original key from hashtable.
41847 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
41849         Give test-completion's PREDICATE full alist entry
41851         Since 2016-06-26 "Fix test-completion with completion-regexp-list", when
41852         calling test-completion with an alist collection, the predicate was
41853         recieving the string value instead of the alist entry (Bug#24966).
41855         * src/minibuf.c (Ftest_completion): Don't modify the found element, just
41856         test STRING against `completion-regexp-list'.
41857         * test/src/minibuf-tests.el: New tests for `try-completion',
41858         `all-completions', and `test-completion'.
41860 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
41862         Fix ert-tests when running compiled
41864         * test/lisp/emacs-lisp/ert-tests.el (ert-test-deftest): Don't test for
41865         specific macroexpansion, just check result of evaluation.
41866         (ert-test-record-backtrace): Don't hardcode representation of closure in
41867         expected backtrace, this lets the test succeed even when the test code
41868         is compiled.
41870         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Also pass
41871         `byte-compile-macro-environment' to `macroexpand', this allows the
41872         `should' macro to properly handle macroexpansion of macros that were
41873         defined in the same file when it's being compiled (Bug #17851).
41875 2016-12-06  Glenn Morris  <rgm@gnu.org>
41877         Make "g" in vc push/pull buffers re-push/pull
41879         * lisp/vc/vc-bzr.el (vc-bzr--pushpull):
41880         * lisp/vc/vc-git.el (vc-git--pushpull):
41881         * lisp/vc/vc-hg.el (vc-hg--pushpull):
41882         Set compile-command so that "g" works.  (Bug#11446)
41884 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
41886         Change two _Noreturn functions to return void
41888         This is a bit clearer than _Noreturn functions that (do not)
41889         return a non-void type.
41890         * src/callproc.c (call_process) [MSDOS]:
41891         Use 'status' local to record status.
41892         (child_setup): Return CHILD_SETUP_TYPE.
41893         * src/data.c, src/lisp.h (wrong_type_argument): Return void.
41894         All callers changed.
41895         * src/lisp.h (CHILD_SETUP_TYPE): New macro.
41897 2016-12-05  Paul Eggert  <eggert@cs.ucla.edu>
41899         Fix GPG bug introduced by Oct file-missing change
41901         Problem with visiting nonexistent .gpg file
41902         reported by Herbert J Skuhra.
41903         * lisp/epa-file.el (epa-file--find-file-not-found-function):
41904         (epa-file-insert-file-contents, epa-file-write-region):
41905         Signal file-missing or file-error instead of epa-error.
41907 2016-12-05  Glenn Morris  <rgm@gnu.org>
41909         Tweak recent flymake change
41911         * lisp/progmodes/flymake.el (flymake-report-fatal-status):
41912         Avoid double message when flymake-log-level >= 0.
41913         * doc/misc/flymake.texi (Customizable variables):
41914         No longer mention flymake-gui-warnings-enabled.
41916 2016-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
41918         Make TAB and M-TAB run widget-forward and widget-backward (bug#25091)
41920         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Avoid `shr-next-link'
41921         and `shr-previous-link' so TAB and M-TAB run `widget-forward' and
41922         `widget-backward' instead (bug#25091).
41924 2016-12-05  Michael Albinus  <michael.albinus@gmx.de>
41926         Remove compat code in Tramp
41928         * lisp/net/tramp.el (tramp-parse-time-months): Remove.
41930         * lisp/net/tramp-compat.el (top): Require parse-time.
41932         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
41933         Use `parse-time-months'.
41935 2016-12-05  Martin Rudalics  <rudalics@gmx.at>
41937         Don't try to split side windows in ibuffer (Bug#25115)
41939         * lisp/ibuffer.el (ibuffer-confirm-operation-on): Don't try to
41940         split a side window (Bug#25115).
41942 2016-12-04  Paul Eggert  <eggert@cs.ucla.edu>
41944         * src/lisp.h: Update comment to kick -Og down the road.
41946 2016-12-04  Mark Oteiza  <mvoteiza@udel.edu>
41948         More image-dired refactoring
41950         * lisp/image-dired.el: Remove TODO comment. This appears to have been
41951         implemented in 5d7433a "image-dired: Signal an error before calling a
41952         missing executable".
41953         (image-dired-cmd-create-standard-thumbnail-command): Use %p specifier.
41954         Add :version.
41955         (image-dired-display-thumbs, image-dired-create-thumbs): Use dolist and
41956         when. Remove superfluous call to image-dired-thumb-name. Move single nil
41957         binding and setq into dolist form.
41959 2016-12-04  Michael Albinus  <michael.albinus@gmx.de>
41961         Implement quoting the local part of a remote file name
41963         * doc/emacs/files.texi (Quoted File Names):
41964         * etc/NEWS: Mention quoting the local part of a remote file name.
41966         * lisp/net/tramp.el (tramp-dissect-file-name): Check with
41967         `tramp-tramp-file-p'.
41968         (tramp-quoted-name-p, tramp-quote-name, tramp-unquote-name):
41969         New defsubst.
41970         (tramp-handle-substitute-in-file-name)
41971         (tramp-handle-make-auto-save-file-name): Handle quoted files.
41972         (tramp-shell-quote-argument): Unquote argument.
41974         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
41975         Handle quoted files.
41977         * test/lisp/net/tramp-tests.el (tramp--test-expensive-test): New defvar.
41978         (tramp--test-make-temp-name): New argument QUOTED.
41979         (tramp-test01-file-name-syntax)
41980         (tramp-test02-file-name-dissect)
41981         (tramp-test04-substitute-in-file-name)
41982         (tramp-test05-expand-file-name, tramp-test07-file-exists-p)
41983         (tramp-test08-file-local-copy)
41984         (tramp-test09-insert-file-contents)
41985         (tramp-test10-write-region, tramp-test11-copy-file)
41986         (tramp-test12-rename-file, tramp-test13-make-directory)
41987         (tramp-test14-delete-directory, tramp-test15-copy-directory)
41988         (tramp-test16-directory-files)
41989         (tramp-test17-insert-directory)
41990         (tramp-test18-file-attributes)
41991         (tramp-test19-directory-files-and-attributes)
41992         (tramp-test20-file-modes, tramp-test21-file-links)
41993         (tramp-test22-file-times, tramp-test23-visited-file-modtime)
41994         (tramp-test24-file-name-completion, tramp-test25-load)
41995         (tramp-test26-process-file, tramp-test27-start-file-process)
41996         (tramp-test28-shell-command, tramp-test30-vc-registered)
41997         (tramp-test31-make-auto-save-file-name)
41998         (tramp--test-check-files)
41999         (tramp-test35-asynchronous-requests): Test also quoted file names.
42000         (tramp--test-shell-command-to-string-asynchronously): Rename.
42001         (tramp-test29-environment-variables): Use it.
42003 2016-12-04  Tino Calancha  <tino.calancha@gmail.com>
42005         Fix typo in dired-omit-case-fold-p
42007         * lisp/dired-x.el (dired-omit-case-fold-p):
42008         Write 'file-name-case-insensitive-p' instead of
42009         'file-name-case-sensitive-p'.
42010         Add declaration of 'file-name-case-insensitive-p'.
42012 2016-12-04  Simen Heggestøyl  <simenheg@gmail.com>
42014         Add HTML5 attributes for the input element
42016         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 attributes
42017         for the input element.
42019 2016-12-03  Glenn Morris  <rgm@gnu.org>
42021         Obsolete sc-load-hook in favor of eval-after-load
42023         * lisp/mail/supercite.el (sc-load-hook): Make obsolete.
42024         * doc/misc/sc.texi (Getting Connected, Filling Cited Text):
42025         No longer mention sc-load-hook.
42027 2016-12-03  Glenn Morris  <rgm@gnu.org>
42029         Obsolete calendar-load-hook in favor of eval-after-load
42031         * lisp/calendar/calendar.el (calendar-load-hook): Make obsolete.
42032         (calendar): Doc fix - no longer mention calendar-load-hook.
42033         * doc/emacs/cal-xtra.texi (Calendar Customizing):
42034         No longer mention calendar-load-hook.
42035         * doc/lispintro/emacs-lisp-intro.texi (X11 Colors):
42036         Replace calendar-load-hook in example with with-eval-after-load.
42038 2016-12-03  Glenn Morris  <rgm@gnu.org>
42040         Fix markup in read-multiple-choice doc (Bug#25102)
42042         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Doc fix.
42044 2016-12-03  Glenn Morris  <rgm@gnu.org>
42046         Stop flymake using dialog boxes for errors (Bug#16622)
42048         * lisp/progmodes/flymake.el (flymake-gui-warnings-enabled):
42049         Mark as obsolete.
42050         (flymake-display-warning): Turn into an obsolete alias.
42051         (flymake-report-fatal-status): Just use message for a warning that
42052         was formerly displayed by default.
42054 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
42056         Clean up keymap and menu code in image-dired
42058         A function to populate these maps is not necessary, just define the maps
42059         once and for all.
42060         * lisp/image-dired.el (image-dired-show-all-from-dir): Make prompt
42061         clearer and in the spirit of dired's.
42062         (image-dired-define-display-image-mode-keymap):
42063         (image-dired-define-thumbnail-mode-keymap): Remove.
42064         (image-dired-thumbnail-mode-map):
42065         (image-dired-thumbnail-mode-line-up-map):
42066         (image-dired-thumbnail-mode-tag-map): Assimilate all define-key and mode
42067         menu code from the aforementioned removed functions.  Reorder so that
42068         the definitions are inherited properly.
42069         (image-dired-display-current-image-sized): Fix erroneous message.
42070         (image-dired-thumbnail-mode):
42071         (image-dired-display-image-mode): Remove defunct call.
42073 2016-12-03  Michael Albinus  <michael.albinus@gmx.de>
42075         Mention `file-name-case-insensitive-p' as magic file name
42077         * doc/lispref/files.texi (Magic File Names):
42078         Mention `file-name-case-insensitive-p'.
42080         * doc/lispref/variables.texi (Connection Local Variables):
42081         Fix typo.
42083 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
42085         Clean up uses of cl-foo in image-dired
42087         Both instances here are just emulating cl-find-if.
42088         * lisp/image-dired.el: Use cl-lib at compile time.
42089         (image-dired-dired-toggle-marked-thumbs): Don't need let* at the top.
42090         Replace the cl-foo instances with equivalent cl-loops.
42092 2016-12-03  Eli Zaretskii  <eliz@gnu.org>
42094         Avoid compilation warnings in nt/*.c files
42096         * nt/cmdproxy.c (fail, vfprintf, fprintf, printf, warn)
42097         (console_event_handler): Add prototypes.
42098         (canon_filename, skip_space, skip_nonspace, get_next_token)
42099         (batch_file_p, search_dir, make_absolute, try_dequote_cmdline)
42100         (spawn, get_env_size): Now static.
42101         * nt/ddeclient.c (DdeCallback): Provide prototype.
42102         * nt/addpm.c (DdeCallback): Provide prototype.
42103         (add_registry): Now static.
42105 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
42107         Display window before calculating width
42109         * lisp/image-dired.el (image-dired-display-thumbs): Display the buffer
42110         before calling image-dired-line-up and friends, which in turn calculate
42111         the window width. Otherwise, the thumbnail layout will be wrong in
42112         a side-by-side split.
42114 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
42116         Use pop-to-buffer-same-window
42118         * lisp/image-dired.el (image-dired-dired-with-window-configuration):
42119         (image-dired-dired-edit-comment-and-tags): Instead of switch-to-buffer,
42120         use pop-to-buffer-same-window cf. Bug#22244.
42121         (image-dired-forward-image, image-dired-backward-image): Ignore unused.
42123 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
42125         Document watchpoints
42127         * doc/lispref/debugging.texi (Variable Debugging):
42128         * doc/lispref/variables.texi (Watching Variables): New section.
42129         * etc/NEWS: Add entry for watchpoints
42131 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
42133         Add tests for watchpoints
42135         * test/src/data-tests.el (data-tests-variable-watchers):
42136         (data-tests-local-variable-watchers): New tests.
42138 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
42140         Ensure redisplay using variable watcher
42142         This replaces looking up the variable name in redisplay--variables when
42143         setting it.
42145         * lisp/frame.el: Replace redisplay--variables with add-variable-watcher
42146         calls.
42147         * src/xdisp.c (Fset_buffer_redisplay): Rename from maybe_set_redisplay,
42148         set the redisplay flag unconditionally.
42149         (Vredisplay__variables): Remove it.
42150         * src/data.c (set_internal): Remove maybe_set_redisplay call.
42152 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
42154         Add function to trigger debugger on variable write
42156         * lisp/emacs-lisp/debug.el (debug-on-variable-change):
42157         (debug--variable-list):
42158         (cancel-debug-on-variable-change): New functions.
42159         (debugger-setup-buffer): Add watchpoint clause.
42161 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
42163         Show watchpoints when describing variables
42165         * src/data.c (Fget_variable_watchers): New function.
42166         * lisp/help-fns.el (describe-variable): Use it to detect watching
42167         functions.
42169 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
42171         Add lisp watchpoints
42173         This allows calling a function whenever a symbol-value is changed.
42175         * src/lisp.h (lisp_h_SYMBOL_TRAPPED_WRITE_P):
42176         (SYMBOL_TRAPPED_WRITE_P): New function/macro.
42177         (lisp_h_SYMBOL_CONSTANT_P): Check for SYMBOL_NOWRITE specifically.
42178         (enum symbol_trapped_write): New enumeration.
42179         (struct Lisp_Symbol): Rename field constant to trapped_write.
42180         (make_symbol_constant): New function.
42182         * src/data.c (Fadd_variable_watcher, Fremove_variable_watcher):
42183         (set_symbol_trapped_write, restore_symbol_trapped_write):
42184         (harmonize_variable_watchers, notify_variable_watchers): New functions.
42186         * src/data.c (Fset_default): Call `notify_variable_watchers' for trapped
42187         symbols.
42188         (set_internal): Change bool argument BIND to 3-value enum and call
42189         `notify_variable_watchers' for trapped symbols.
42191         * src/data.c (syms_of_data):
42192         * src/data.c (syms_of_data):
42193         * src/font.c (syms_of_font):
42194         * src/lread.c (intern_sym, init_obarray):
42195         * src/buffer.c (syms_of_buffer): Use make_symbol_constant.
42197         * src/alloc.c (init_symbol):
42198         * src/bytecode.c (exec_byte_code): Use SYMBOL_TRAPPED_WRITE_P.
42199         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
42200         (Fmake_variable_frame_local):
42201         * src/eval.c (Fdefvaralias, specbind): Refer to Lisp_Symbol's
42202         trapped_write instead of constant.
42203         (Ffuncall): Move subr calling code into separate function.
42204         (funcall_subr): New function.
42206 2016-12-02  Glenn Morris  <rgm@gnu.org>
42208         Starting doc of user options with "*" is long obsolete
42210         * lisp/battery.el (battery-upower-device): Doc fix.
42212 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
42214         Fix bug#25087
42216         * etc/themes/manoj-dark-theme.el: Fix two typos.
42218         (cherry picked from commit 66d6e7e9ecf5e481f8c2c3a4f88411f66c869a6e)
42220 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
42222         Fix docstrings to have a complete sentence in first line
42224         * lisp/dired-x.el (dired-omit-case-fold, dired-omit-case-fold-p): Fix
42225         docstrings.
42227 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
42229         Remove obsolete comments and commented code from dired-x.el
42231         * lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
42232         1997 answer about whether dired-mark-sexp is used.
42233         * lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
42234         commented out since before dired-x.el was added to RCS in 1994.
42236 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
42238         Remove pre-customize dired-x.el documentation
42240         * lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
42241         use dired-x from .emacs.  It is now fully customizable.
42242         * lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
42243         how to set this custom variable in .emacs.  It should be customized.
42245 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
42247         Allow files to be matched case-sensitively in dired-x
42249         * lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which
42250         controls case folding for matching the regex (Bug#18716).
42251         (dired-omit-case-fold): New variable.  Defaults to `t' on case-sensitive
42252         systems, `nil' otherwise.
42253         (dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold.
42254         * doc/misc/dired-x.texi, etc/NEWS: Document dired-omit-case-fold.
42256 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
42258         Add support for curly quotation marks to electric-pair-mode
42260         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
42261         entries for left/right single/double quotation marks, from
42262         electric-quote-chars. Note that this is safe for single quotation marks,
42263         unlike with the ASCII apostrophe, since, although the right quotation
42264         mark can be used as an apostrophe, it is the left quotation mark that is
42265         typed to get a pair (Bug#24901).
42267 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
42269         Fix bug#25087
42271         * etc/themes/manoj-dark-theme.el: Fix two typos.
42273 2016-12-02  Michael Albinus  <michael.albinus@gmx.de>
42275         Handle quoted file names in Tramp
42277         * lisp/net/tramp.el (tramp-file-name-handler): Handle also the
42278         case the file name is quoted.  This is not trapped by the
42279         reassigned `tramp-file-name-regexp' anymore.
42281 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
42283         * lisp/battery.el: Add 'battery-upower' -- very fast battery status.
42285 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
42287         Support for rawrgb images using imagemagick
42289         * src/image.c (imagemagick_load_image): Set wand size before loading
42290         blob when ':width' and ':height' are provided.
42292         * lisp/image.el (image-format-suffixes): Add 'image/x-rgb'.
42294 2016-12-02  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
42296         Fix 'sql-connect' on first invocation
42298         * lisp/progmodes/sql.el (sql-connect): Reorder code which sets
42299         param-var.  (Bug#19452)
42301 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
42303         * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
42305 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
42307         Improve indexing of 'man'
42309         * doc/emacs/programs.texi (Man Page): Index 'man', not
42310         'manual-entry', as the latter is an alias for the former.
42311         Suggested by Hong Xu <hong@topbug.net>.  (Bug#25033)
42313 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
42315         Port to Sun C 5.14
42317         Backport from master.  Sun C 5.14 supports C11 but not GCC
42318         extensions, and so refuses to compile Emacs without this patch.
42319         * src/alloc.c (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on
42320         size_t, as in general this macro is restricted to signed types.
42322 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
42324         Fix type typo on Solaris
42326         * src/sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
42327         Fix type mismatch, caught by --enable-check-lisp-object-type.
42329 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
42331         Merge from gnulib
42333         This incorporates:
42334         2016-11-27 md4,md5,sha*: tune for recent glibc _STRING_INLINE_unaligned
42335         2016-11-21 snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
42336         * build-aux/snippet/c++defs.h:
42337         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
42338         Copy from gnulib.
42340 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
42342         Make struct font_drivers read-only
42344         This simplifies the code a bit, and makes the structs more
42345         shareable and less likely to become corrupt.
42346         * src/alloc.c (cleanup_vector):
42347         * src/font.c (valid_font_driver, font_prepare_cache)
42348         (font_finish_cache, font_get_cache, font_clear_cache)
42349         (register_font_driver, font_update_drivers):
42350         * src/font.h (struct font, struct font_driver_list)
42351         (valid_font_driver):
42352         struct font_drivers are now const.
42353         * src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c:
42354         Omit no-longer-necessary decls.
42355         * src/ftcrfont.c (syms_of_ftcrfont):
42356         * src/ftxfont.c (syms_of_ftxfont):
42357         * src/xftfont.c (syms_of_xftfont):
42358         Omit no-longer-necessary initialization code.
42359         * src/ftcrfont.c (ftcrfont_driver):
42360         * src/ftfont.c (ftfont_driver):
42361         * src/ftxfont.c (ftxfont_driver):
42362         * src/macfont.m (macfont_driver):
42363         * src/nsfont.m (nsfont_driver):
42364         * src/xfont.c (xfont_driver):
42365         * src/xftfont.c (xftfont_driver):
42366         Use C99-style initializer for ease of maintenance, and make it const.
42367         * src/ftcrfont.c, src/ftxfont.c, src/xftfont.c:
42368         Refer to functions like ftfont_text_extents directly.
42369         * src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family)
42370         (ftfont_has_char, ftfont_encode_char, ftfont_text_extents)
42371         (ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability)
42372         (ftfont_variation_glyphs, ftfont_filter_properties)
42373         (ftfont_combining_capability):
42374         * src/xfont.c (xfont_get_cache):
42375         Now extern, so that other modules’ struct font_drivers can use
42376         them directly.
42377         * src/macfont.m (macfont_descriptor_entity):
42378         * src/nsfont.m (nsfont_open):
42379         Use constant directly; this is clearer.
42381 2016-12-01  Richard Stallman  <rms@gnu.org>
42383         Fix mail-combine-fields
42385         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
42386         avoid losing our place in the search loop.
42388         (cherry picked from commit 5fbba6cceaf843cfca449eb000a0a65243b61808)
42390 2016-12-01  Helmut Eller  <eller.helmut@gmail.com>
42392         Forth related improvements for etags
42394         Generate correct tags names for things like "(foo)".
42395         Previously "(foo" created.
42397         Fix a bug where a tag for "-bar" was created when encountering things
42398         like "create-bar".
42400         Recognize more words from the Forth-2012 Standard.
42402         * lib-src/etags.c (Forth_words): Check for whitespace after defining
42403         words.  Create tag with make_tag instead of get_tag to avoid notiname
42404         which isn't appropriate for Forth.
42406         * test/manual/etags/forth-src/test-forth.fth: Add some test cases.
42407         * test/manual/etags/ETAGS.good_1:
42408         * test/manual/etags/ETAGS.good_2:
42409         * test/manual/etags/ETAGS.good_3:
42410         * test/manual/etags/ETAGS.good_4:
42411         * test/manual/etags/ETAGS.good_5:
42412         * test/manual/etags/ETAGS.good_6:
42413         * test/manual/etags/CTAGS.good: Adapt to the changes in etags.c and
42414         new test cases.
42416 2016-12-01  Eli Zaretskii  <eliz@gnu.org>
42418         Fix bugs with buffer-local tags tables
42420         * lisp/progmodes/etags.el (visit-tags-table): After
42421         'visit-tags-table-buffer' returns, retrieve the value of
42422         'tags-file-name' from the buffer we started in.  Force
42423         recomputation of 'tags-completion-table' next time it is used,
42424         since the list of tags table has changed.
42425         (visit-tags-table-buffer): Accept an additional optional argument
42426         CBUF, the buffer in which to start processing, and switch to that
42427         buffer if CBUF is non-nil.  All callers changed to supply a
42428         non-nil CBUF when they call 'visit-tags-table-buffer' in a loop.
42429         Doc fix.
42430         (tags-completion-table): Accept an optional argument, the buffer
42431         for which to build 'tags-completion-table', and build that
42432         buffer's completion table.
42433         (tags-lazy-completion-table): Pass the current buffer to
42434         'tags-completion-table'.
42435         (tags-file-name): Don't say in the doc string that setting this
42436         variable directly is enough; say that 'visit-tags-table' should be
42437         used for that.  (Bug#158)  (Bug#17326)  (Bug#23164)
42439         * doc/emacs/maintaining.texi (Select Tags Table): Delete the
42440         advice to set 'tags-file-name' directly.
42442         * test/lisp/progmodes/etags-tests.el: New tests.
42444 2016-12-01  Martin Rudalics  <rudalics@gmx.at>
42446         Fix documentation of `window-combination-resize'
42448         * src/window.c (Vwindow_combination_resize): Fix doc-string.
42449         * doc/lispref/windows.texi (Recombining Windows): Fix
42450         documentation of `window-combination-resize'.
42452 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
42454         * src/lisp.h (LISP_INITIALLY_ZERO): Remove.
42456         All uses replaced by LISPSYM_INITIALLY.
42458 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
42460         Make Cairo safer for --enable-gcc-warnings
42462         * src/image.c (xcolor_to_argb32, pbm_load, jpeg_load_body, gif_load):
42463         Avoid overflow warnings about ‘0xff << 24’.
42464         (xpm_load, gif_load): Avoid unnecessary casts.
42465         (gif_load): Fewer ifdefs.
42467 2016-11-30  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
42469         Fix Condition in kbd_buffer_store_buffered_event (bug#19547).
42471         * src/keyboard.c (kbd_buffer_store_buffered_event): Should be NILP and not
42472         !NILP.
42474 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
42476         Fix previous commit
42478         * lisp/vc/diff-mode.el (diff-refine-hunk): Make sure to go to beginning
42479         of hunk before calling `diff-hunk-style'.
42481 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
42483         * lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable.
42485 2016-11-29  Glenn Morris  <rgm@gnu.org>
42487         Use archive-mode for .cbr files
42489         * lisp/files.el (auto-mode-alist): Add cbr.  (Bug#24994)
42491 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
42493         Pacify Sun C 5.14
42495         * src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED,
42496         SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT
42497         into this enum rather than into an anonymous enum.  This avoids
42498         diagnostics from Sun C 5.14 and is a bit clearer anyway.
42500 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
42502         Adjust lwlib to recent config.h change
42504         * lwlib/lwlib-Xaw.c: Include <stdlib.h> for 'abort' (Bug#24506).
42506 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
42508         * src/eval.c (clobbered_eassert): Check E's syntax.
42510 2016-11-29  Michael Albinus  <michael.albinus@gmx.de>
42512         Improve user retrieval from auth-source in Tramp
42514         * lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd):
42515         Use user for auth-source request only in case it exists.
42517 2016-11-29  Katsumi Yamaoka  <yamaoka@jpl.org>
42519         shr.el: Don't render a normal table twice
42521         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
42522         Don't render a table if it is called for the first time,
42523         IOW, recognize it to never be invalid (bug#25051).
42525 2016-11-29  Bogdan Creanga  <bogdan.creanga@gmail.com>  (tiny change)
42527         Typo fixes in elisp manual
42529         * doc/lispref/sequences.texi: Add missing '4' in result (Bug#25047).
42530         * doc/lispref/strings.texi (Text Comparison): Avoid duplicate
42531         definitions of 'string-prefix-p' and 'string-suffix-p'.
42532         * doc/lispref/symbols.texi (Definitions): Pluralize 'definitions'.
42534 2016-11-28  Dima Kogan  <Dmitriy.Kogan@jpl.nasa.gov>
42536         Improve diff-mode navigation/manipulation
42538         This is Bug #17544.
42540         Navigation and use of diff buffers had several annoying corner cases
42541         that this patch fixes.  These corner cases were largely due to
42542         inconsistent treatment of file headers.  Say you have a diff such as
42543         this:
42545          --- aaa
42546          +++ bbb
42547          @@ -52,7 +52,7 @@
42548          hunk1
42549          @@ -74,7 +74,7 @@
42550          hunk2
42551          --- ccc
42552          +++ ddd
42553          @@ -608,6 +608,6 @@
42554          hunk3
42555          @@ -654,7 +654,7 @@
42556          hunk4
42558         The file headers here are the '---' and '+++' lines.  With the point on
42559         such a line, hunk operations would sometimes refer to the next hunk and
42560         sometimes to the previous hunk.  Most of the time it would be the
42561         previous hunk, which is not what the user would expect.  This patch
42562         consistently treats such headers as the next hunk.  So with this patch,
42563         if the point is on the '--- ccc' line, the point is seen as referring to
42564         hunk3.
42566         Specific behaviors this fixes are:
42568         1. It should be possible to place the point in the middle of a diff
42569         buffer, and press M-k repeatedly to kill hunks in the order they appear
42570         in the buffer.  With the point on hunk1, M-k M-k would kill hunk1 then
42571         hunk2.  With the point on hunk3, it would kill hunk3 then hunk4; this is
42572         fine.  However, with the point on hunk2, it'd kill hunk2 then hunk1.
42573         This is fixed by this patch.
42575         2. Similarly, it should be possible to apply hunks in order.  Previously
42576         with the point at the start, C-c C-a would apply the hunk1, then move
42577         the point to the first @@ header, and thus C-c C-a would try to apply
42578         the same hunk again.
42580         * lisp/vc/diff-mode.el (diff--wrap-navigation): New function to add better
42581         navigation logic to diff-{hunk,file}-{next,prev}.
42582         (diff-hunk-next, diff-hunk-prev):
42583         (diff-file-next, diff-file-prev): Better navigation logic if
42584         skip-hunk-start is true, which happens when called interactively.
42585         (diff-bounds-of-hunk, diff-find-source-location):
42586         (diff-apply-hunk, diff-current-defun, diff-refine-hunk): Small tweaks to
42587         improve hunk navigation.
42589 2016-11-28  Noam Postavsky  <npostavs@gmail.com>
42591         Upcase Path and ComSpec in process-environment
42593         Since 2016-07-18 "Keep w32 environment settings internal only", the
42594         upcasing of environment variables "Path" and "ComSpec" occurred after
42595         initializing process-environment.  This meant that Lisp code trying to
42596         override "PATH" environment had no effect (Bug #24956).
42598         * src/w32.c (init_environment): Upcase the "Path" and "ComSpec" entries
42599         in Vprocess_environment.
42601 2016-11-28  Philipp Stephani  <phst@google.com>
42603         Guard terminal parameter in XTerm mouse mode
42605         It has been observed (in the HTerm terminal emulator) that the
42606         event stored in the 'xterm-mouse-last-down' terminal parameter gets
42607         overwritten during a mouse drag operation, causing Emacs to attempt to
42608         synthesize the non-existing <drag-mouse-0> event.  Copy the event into
42609         the terminal parameter to protect against such modifications.
42611         * lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
42612         of input event list.
42614 2016-11-28  Paul Eggert  <eggert@cs.ucla.edu>
42616         Fix template for module functions
42618         Reported by Syohei YOSHIDA (Bug#24932).
42619         * modules/modhelp.py (TEMPLATES):
42620         c_func’s 2nd arg is ptrdiff_t, not int.
42622 2016-11-27  Paul Eggert  <eggert@cs.ucla.edu>
42624         Pacify gcc -Wswitch.
42626         * src/keyboard.c (kbd_buffer_store_buffered_event):
42627         Move initialization into default case.
42629 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
42631         Reuse already existing lisp symbols for ignore_event (bug#19547).
42633         * lisp/subr.el (while-no-input-ignore-events): Use them instead.
42634         * src/keyboard.c (kbd_buffer_store_buffered_event):
42635         Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT,
42636         and make-frame-visible for DEICONIFY_EVENT.
42637         (syms_of_keyboard): Remove unneeded symbols.
42639 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
42641         Allow configuring which event throw-on-input should ignore (bug#19547).
42643         * src/keyboard.c (kbd_buffer_store_buffered_event):
42644         Translate event to corresponding symbol from `while-no-input-ignore-events`
42645         and check them with Fmemq.
42646         (syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events`
42647         and its symbols.
42649         * lisp/subr.el (while-no-input-ignore-events): Add default values.
42651         * doc/lispref/commands.texi (Event Input Misc):
42652         Document while-no-input-ignore-events.
42653         * etc/NEWS: Same.
42655 2016-11-26  Tino Calancha  <tino.calancha@gmail.com>
42657         ash, lsh avoid code duplication
42659         See discussion in:
42660         https://lists.gnu.org/r/emacs-devel/2016-11/msg00469.html
42661         * src/data.c (ash_lsh_impl): New function.
42662         (ash, lsh): Use it.
42664 2016-11-26  Simen Heggestøyl  <simenheg@gmail.com>
42666         Add will change module to CSS property list
42668         * lisp/textmodes/css-mode.el (css-property-alist)
42669         (css-value-class-alist): Add new property and value class from CSS
42670         Will Change Module.
42672 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
42674         Don't access pointers to freed storage in regex.c
42676         Remove __BOUNDED_POINTERS__ code, which does not work with
42677         -fcheck-pointer-bound and which has undefined behavior anyway.
42678         Problem found when trying to port to gcc -fcheck-pointer-bounds.
42679         (This code was removed from glibc and gnulib regex.c many years ago.)
42680         * src/regex.c (ELSE_EXTEND_BUFFER_HIGH_BOUND): Remove.
42681         (EXTEND_BUFFER): Use a more-portable approach that avoids
42682         undefined behavior due to inspecting pointers to freed storage.
42684 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
42686         Port build to gcc -fcheck-pointer-bounds
42688         This does not let Emacs run, just build.
42689         * lib-src/etags.c (main):
42690         * lib-src/profile.c (main):
42691         Use return, not exit.
42692         * src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]:
42693         Do not define, as -fcheck-pointer-bounds is incompatible with taking
42694         addresses of labels.
42695         * src/menu.c (Fx_popup_dialog): Use eassume, not eassert,
42696         to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.
42698 2016-11-25  Tino Calancha  <tino.calancha@gmail.com>
42700         * lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop.
42702 2016-11-25  Simen Heggestøyl  <simenheg@gmail.com>
42704         * lisp/rot13.el: Use lexical-binding
42706 2016-11-25  Mark Oteiza  <mvoteiza@udel.edu>
42708         Add "using" to cl-loop debug spec (Bug#24750)
42710         * lisp/emacs-lisp/cl-macs.el (cl-loop): Add element to account for
42711         "using" hash table clause.
42713 2016-11-25  Hong Xu  <hong@topbug.net>  (tiny change)
42715         Allow user control of progress messages in cpp.el
42717         * lisp/progmodes/cpp.el (cpp-message-min-time-interval): New defcustom.
42718         (cpp-progress-time): Use 'cpp-message-min-time-interval'.  Improve
42719         the doc string.
42720         (cpp-highlight-buffer): Use 'cpp-progress-message' instead of
42721         'message' to print messages.  (Bug#24861)
42723 2016-11-25  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
42725         New input method 'polish-prefix'
42727         * lisp/leim/quail/latin-pre.el ("polish-prefix"): New input
42728         method.  (Bug#24967)
42730         * etc/NEWS: Mention the new input method.
42732 2016-11-25  Damien Cassou  <damien@cassou.me>
42734         * lisp/isearch.el: Add 'provide'.  (Bug#25026)
42736 2016-11-25  Philippe Vaucher  <philippe.vaucher@gmail.com>
42738         Add missing 'provide's in preloaded packages
42740         * lisp/composite.el:
42741         * lisp/replace.el:
42742         * lisp/textmodes/text-mode.el: Add provide statement.  (Bug#24985)
42744 2016-11-24  Alan Mackenzie  <acm@muc.de>
42746         Handle correctly an (undocumented) bare mode in hack-local-variables.
42748         lisp/files.el (hack-local-variables-prop-line): When a file's first line
42749         contains only a mode specification without the string "mode:", return the mode
42750         symbol only when `handle-mode' is t.
42752 2016-11-23  Dima Kogan  <dima@secretsauce.net>
42754         Clarify ediff-directories prompt
42756         * lisp/vc/ediff-mult.el (ediff-filegroup-action):
42757         * lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions,
42758         ediff-directories3, ediff-merge-directories,
42759         ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions,
42760         ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for
42761         filename filter in interactive ediff. The new message makes it clear what is
42762         being filtered
42764 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
42766         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997.
42768 2016-11-23  Ulf Jasper  <ulf.jasper@web.de>
42770         Fix Bug#24199.
42772         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote
42773           bracket in doc string (make checkdoc happy).
42774           (icalendar-import-buffer),
42775           (icalendar-import-buffer),
42776           (icalendar--convert-ical-to-diary),
42777           (icalendar--add-diary-entry): Rename argument diary-file to
42778           diary-filename (make checkdoc happy).
42779           (icalendar--convert-recurring-to-diary): Take care of byday-clause
42780           in monthly recurring events.  Actually fix Bug#24199.
42782         * test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New.
42784 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
42786         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000.
42788 2016-11-22  Philipp Stephani  <phst@google.com>
42790         Comint: new user option for C-c M-r and C-c M-s
42792         This option allows the user to specify where to place point after these
42793         commands.
42795         * lisp/comint.el (comint-move-point-for-matching-input): New user option.
42796         (comint-previous-matching-input-from-input): Use user option.
42798 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
42800         Add tramp-eshell-directory-change to eshell-first-time-mode-hook
42802         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to
42803         `eshell-first-time-mode-hook'.
42805 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
42807         Dump also connection local variables in Tramp bug reports
42809         * lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
42810         Dump also connection local variables.
42812 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
42814         Make sure elided long buffer names have ellipses added (Bug#24972)
42816         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the
42817         string concat, and chop "strvar" less the width of the ellipsis.
42818         (ibuffer-compile-make-substring-form): Add space as padding, to fix
42819         off-by-one in alignment.
42821 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
42823         Buffer-menu-no-header: Detect a fake header
42825         * lisp/buff-menu.el (Buffer-menu-no-header): Use
42826         'tabulated-list-header-overlay-p' (Bug#24855).
42828 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
42830         buff-menu: Add command to unmark all buffers
42832         Bind 'U' in buff-menu, bs and electric-buff-menu to commands
42833         to unmark all buffers (Bug#24880).
42834         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p):
42835         New predicate; return non-nil if tabulated-list has a fake header.
42836         * lisp/buff-menu.el (Buffer-menu-unmark-all-buffers):
42837         New command; remove all flags that use a particular mark from all the lines.
42838         Bind it to 'M-DEL'.
42839         (Buffer-menu-unmark-all):
42840         New command; remove all flags from all the lines.  Bind it to 'U'.
42841         (Buffer-menu-marker-char, Buffer-menu-del-char): New variables.
42842         (Buffer-menu-delete, Buffer-menu-mark): Use them.
42843         (Buffer-menu-mode-map): Update menus.
42844         (Buffer-menu-mode): Update mode doc.
42845         * lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands.
42846         (bs-mode-map): Bind them to 'U' and '<backspace>' respectively.
42847         (bs-mode): Update mode doc.
42848         * lisp/ebuff-menu.el (electric-buffer-menu-mode-map):
42849         Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers
42850         to 'M-DEL'.
42851         (bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current):
42852         Use point instead of cursor in doc string.
42853         (electric-buffer-list): Update mode doc.
42854         * doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all
42855         and Buffer-menu-unmark-all-buffers.
42857 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
42859         Revert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure."
42861         This reverts commit 10efaf718c5258af0ba62077cf4e2aaf9fb90227.
42863 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
42865         Port htmlfontify to cl-lib
42867         * lisp/htmlfontify.el: (hfy-box-to-border-assoc, hfy-box-to-style):
42868         (hfy-decor, hfy-face-to-style-i, hfy-face-at, hfy-merge-adjacent-spans):
42869         (hfy-fontify-buffer, htmlfontify-string, hfy-mark-tag-names): Replace
42870         instances of cl aliases with their cl-lib counterparts.
42872 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
42874         * lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure.
42876 2016-11-21  Paul Eggert  <eggert@cs.ucla.edu>
42878         Fix another CANNOT_DUMP problem
42880         Reported by Robert Pluim in:
42881         https://lists.gnu.org/r/emacs-devel/2016-11/msg00468.html
42882         * src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
42883         * src/lisp.h: ... to here.
42885 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
42887         Add further consideration to string-width (Bug#24972)
42889         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form):
42890         (ibuffer-compile-make-substring-form): Use truncate-string-to-width.
42892 2016-11-21  Katsumi Yamaoka  <yamaoka@jpl.org>
42894         Don't collect strings existing out of <tr>...</tr>
42896         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
42897         Don't collect strings existing out of <tr>...</tr> to avoid
42898         duplication with what `shr-tag-table' renders.
42900 2016-11-20  Katsumi Yamaoka  <yamaoka@jpl.org>
42902         * lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change
42903         the last commit.
42905 2016-11-20  Mike Kupfer  <m.kupfer@acm.org>
42907         Add a variable to pass additional options to rcvstore
42909         * lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable.
42910         (gnus-summary-save-in-folder): Include gnus-rcvstore-options in
42911         the arguments that are passed to rcvstore.
42913         cf. <nntp://news.gmane.org/gmane.emacs.gnus.general/87263>
42914         and followups, i.e., ding mailing list.
42916 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
42918         Fix undefined refs on some GNU/Linux hosts
42920         Problem reported by Ken Raeburn in:
42921         https://lists.gnu.org/r/emacs-devel/2016-11/msg00463.html
42922         * src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is
42923         not needed in the CANNOT_UNDUMP case.  All uses removed.  This
42924         removes unwanted references to my_endbss and my_endbss_static,
42925         which are not optimized away on some platforms.
42927 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
42929         Make CANNOT_DUMP work better on GNU/Linux
42931         Clean up some of the bitrot affecting the CANNOT_DUMP code.  This
42932         lets the build succeed again, and fixes the testing framework so
42933         that most test cases now pass.  About twenty test cases still
42934         fail, though, and we still have Bug#24974.
42935         * configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
42936         (SYSTEM_MALLOC): Now true if CANNOT_DUMP.  There should no longer
42937         be any point to messing with a private memory allocator unless
42938         Emacs is dumping.
42939         * src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
42940         * src/image.c (reset_image_types):
42941         * src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
42942         Do not define if CANNOT_DUMP.
42943         * src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
42944         (daemon_pipe) [!WINDOWSNT]: Now static.
42945         * test/Makefile.in (mostlyclean): Remove *.tmp files.
42946         (make-test-deps.mk): Elide CANNOT_DUMP chatter.
42948 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
42950         * src/xdisp.c (block_buffer_flips, unblock_buffer_flips): Now static.
42952 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
42954         Pacify --enable-gcc-warnings CANNOT_DUMP=yes
42956         * src/editfns.c (dump_tz_string) [CANNOT_DUMP || !HAVE_TZSET]:
42957         Do not define.  If defining, do it in a smaller scope.
42959 2016-11-20  Mark Oteiza  <mvoteiza@udel.edu>
42961         * lisp/ibuffer.el (ibuffer-compile-format): Use string-width instead of length
42963 2016-11-20  Eli Zaretskii  <eliz@gnu.org>
42965         Fix redrawing non-selected frame after resize on MS-Windows
42967         * src/xdisp.c (redisplay_internal): If all the frames were
42968         successfully updated, reset the "garbaged" flag of each frame, to
42969         make sure it doesn't stay set.
42971         * src/w32term.c (w32_read_socket): Don't clear the frame if it's
42972         "garbaged", since expose_frame won't redraw the foreground then.
42973         (Bug#24642)
42975 2016-11-20  Michael Albinus  <michael.albinus@gmx.de>
42977         Add file-local-name
42979         * doc/lispref/files.texi (Magic File Names): Add `file-local-name'.
42980         (Unique File Names): Use it.
42982         * etc/NEWS: Mention `file-local-name'.
42984         * lisp/files.el (file-local-name): New defun.
42985         (file-expand-wildcards):
42986         * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
42987         * lisp/eshell/esh-ext.el (eshell-remote-command):
42988         * lisp/eshell/esh-proc.el (eshell-gather-process-output):
42989         * lisp/org/ob-core.el (org-babel-local-file-name):
42990         * lisp/progmodes/gud.el (gud-common-init, gud-format-command):
42991         * lisp/progmodes/python.el (python-shell-send-file):
42992         * lisp/shell.el (shell):
42993         * lisp/vc/ediff-diff.el (ediff-same-file-contents):
42994         * lisp/vc/vc-git.el (vc-git-checkin): Use it.
42996 2016-11-20  Tino Calancha  <tino.calancha@gmail.com>
42998         * lisp/ibuffer.el (ibuffer-formats): Mention locked column in doc string.
43000 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
43002         * src/editfns.c (format-time-string): Mention %q in doc string.
43004 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
43006         Document format-time-string %q
43008         * doc/lispref/os.texi (Time Parsing):
43009         * etc/NEWS: Document new %q functionality taken from gnulib.
43011 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
43013         Merge from gnulib
43015         This incorporates:
43016         2016-11-15 sys_time: add gnulib::timeval for C++
43017         2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode
43018         2016-11-13 strftime: don't use __THROW
43019         2016-11-12 strftime: tune %q
43020         2016-11-12 Merge strftime.c changes from glibc
43021         2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection
43022         2016-11-05 strftime,strptime: support %q to represent the quarter
43024         The glibc changes in turn incorporate the following strftime.c changes:
43025         2015-10-20 Convert misc function definitions to prototype style
43026         2015-09-26 [BZ #18985] out of range data to strftime() causes segfault
43027         2010-01-09 Add support for XPG7 testing
43028         2009-10-30 Implement Burmese language locale for Myanmar
43029         2008-06-13 [BZ #6612] pass reference to tzset_called around
43030         2007-10-16 [BZ #5184] Add tzset_called argument
43032         * build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h:
43033         * m4/manywarnings.m4: Copy from gnulib.
43035 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
43037         Merge from origin/emacs-25
43039         07f45d7 ; Spelling fix
43040         1a210f0 * admin/release-process: Update versions and blocking bug num...
43041         36bafc9 Improve documentation of functions that accept time values
43043         # Conflicts:
43044         #       admin/release-process
43045         #       src/editfns.c
43047 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
43049         Merge from origin/emacs-25
43051         4af5981 Add a comment in generated refcards about the source
43052         ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
43053         4887e7c js-mode: Fix indent problem after a regexp
43054         e992ac0 Fix sluggish display of symbols in UTF-8 language environment
43055         1fc101b Don't confuse how Texinfo outputs @var with the input
43056         91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
43057         f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
43058         5b0cddd More fixes in copyright notices in etc/refcards/
43059         f994c20 Update copyright text in refcards
43060         9ad2ae7 Fix Outline command names
43061         26c3554 Send text received by bracketed paste to process
43062         db0b58d Correct the statement about programming modes always running ...
43063         78aece4 Improve documentation of 'occur'
43064         eb364fd Do call debugger on failed cl-assert
43065         3ef4ee8 Avoid infloop in python
43066         8da810f Don't refer to obsolete FEATURE-unload-hook
43067         4f478ca Improve documentation of dabbrevs
43068         7272e5d * lisp/chistory.el (list-command-history): Doc fix.  (Bug#24890)
43069         89b7482 * lisp/simple.el (set-mark-command): Doc fix.  (Bug#24890)
43070         3b199f7 Improve documentation of some Help commands
43071         93d3a0e Fix documentation of yes-or-no prompts
43072         af04919 Fix documentation of partial completion style
43073         ed80184 Fix documentation of the mode line on emacsclient frames
43074         e6be855 Fix description of 'C-z' in User manual
43075         16f7007 Improve and clarify documentation of Outline Mode
43076         31d93aa Add Emacs version number to nt/README.W32
43077         0b6b815 Fix python-mode hideshow regexp
43078         dc152c5 Modernize usage of 'macOS' in doc and comments
43079         84c5343 Prefer comments /* like this */ in C code
43080         bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
43081         3ef86fd Clarify documentation of face attribute functions
43082         de51d59 ; * nt/README.W32: Minor copyedits.
43083         db436e9 Don't call debug on failed cl-assert
43085         # Conflicts:
43086         #       doc/emacs/cmdargs.texi
43087         #       etc/NEWS
43088         #       etc/PROBLEMS
43089         #       lisp/auth-source.el
43090         #       lisp/net/tramp-sh.el
43092 2016-11-19  Mark Oteiza  <mvoteiza@udel.edu>
43094         Port RefTeX to cl-lib
43096         * lisp/textmodes/reftex-auc.el:
43097         * lisp/textmodes/reftex-cite.el: Use cl-lib.
43098         (reftex-do-citation, reftex-create-bibtex-file): Substitute cl-lib
43099         macros.
43100         * lisp/textmodes/reftex-dcr.el: Use cl-lib.
43101         (reftex-view-regexp-match): Substitute cl-lib macro.
43102         * lisp/textmodes/reftex-global.el: Use cl-lib.
43103         (reftex-find-duplicate-labels, reftex-renumber-simple-labels):
43104         (reftex-translate): Substitute cl-lib macros.
43105         * lisp/textmodes/reftex-index.el: Use cl-lib.
43106         (reftex-index, reftex-index-select-tag, reftex-index-mode-map):
43107         (reftex-index-next-phrase, reftex-index-phrases-info):
43108         (reftex-query-index-phrase): Substitute cl-lib macros.
43109         * lisp/textmodes/reftex-parse.el: Use cl-lib.
43110         (reftex-parse-from-file, reftex-where-am-I, reftex-what-macro):
43111         (reftex-nth-arg, reftex-init-section-numbers, reftex-section-number):
43112         Substitute cl-lib macros.
43113         * lisp/textmodes/reftex-ref.el: Use cl-lib.
43114         (reftex-uniquify-label, reftex-offer-label-menu): Substitute cl-lib
43115         macros.
43116         * lisp/textmodes/reftex-sel.el: Use cl-lib.
43117         (reftex-select-shared-map): Set keymap parent to special-mode-map.
43118         Flatten loop and remove digits and hyphen definitions from the map.
43119         (reftex-select-label-mode-map):
43120         (reftex-select-bib-mode-map): Use cl-lib macro, and flatten other loop.
43121         (reftex-insert-docstruct, reftex-select-unmark): Use cl-lib macros.
43122         * lisp/textmodes/reftex-vars.el (reftex-vref-is-default): Use
43123         cl-pushnew.
43124         * lisp/textmodes/reftex.el: Use cl-lib.
43125         (reftex-docstruct-symbol): Use cl-incf.
43126         (reftex-ref-style-toggle): Replace add-to-list with append.
43127         (reftex-compile-variables): Use cl-lib macros, and functions with
43128         compiler macros. cl-first is just an alias.
43129         (reftex-parse-args, reftex-scanning-info-available-p):
43130         (reftex-select-external-document, reftex-get-file-buffer-force): Use
43131         cl-lib macros.
43132         (reftex-isearch-minor-mode): Replace add-to-list with append.
43134 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
43136         ibuffer-exchange-filters: Simplify code
43138         * lisp/ibuf-ext.el (ibuffer-exchange-filters): Use cl-rotatef.
43140 2016-11-19  Eli Zaretskii  <eliz@gnu.org>
43142         Implement getrlimit and setrlimit for MS-Windows
43144         * src/w32heap.c (getrlimit, setrlimit): New functions.
43145         Include w32.h.
43146         * src/emacs.c (main): Use 'rlim_t', not 'long', for values that
43147         should be compatible with 'struct rlimit' members.
43149         * nt/inc/sys/resource.h: New header file.
43151         * nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit):
43152         Set to "yes".
43154 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
43156         Move key mappings into reftex-mode-map defvar
43158         * lisp/textmodes/reftex.el (reftex-mode-map): Assimilate top-level
43159         key mappings.
43160         (reftex-reset-mode): Just use dolist.
43162 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
43164         Derive reftex-index-mode from special-mode
43166         * lisp/textmodes/reftex-index.el (reftex-index-mode-map): Flatten
43167         loop.  Remove digit keys and hyphen, as reftex-index-mode is derived
43168         from special-mode now.
43169         (reftex-index-mode): Derive from special-mode.
43170         (reftex-index-phrases-mode-map): Flatten loop. Fix erroneous docstring.
43172 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
43174         Clean up reftex-toc-mode-map
43176         * lisp/textmodes/reftex-toc.el: Remove cl.
43177         (reftex-toc-mode-map): Flatten loop.  Remove mapping digit keys and
43178         hyphen, as reftex-toc-mode is derived from special-mode nowadays.
43180 2016-11-18  Philipp Stephani  <phst@google.com>
43182         Prevent dubious argument lists
43184         See Bug#24912 and Bug#24913.
43186         * src/eval.c (funcall_lambda): Detect more dubious argument lists.
43187         * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Detect
43188         more dubious argument lists.
43189         * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): Add unit
43190         test.
43192 2016-11-18  Tino Calancha  <tino.calancha@gmail.com>
43194         Add test suite for buff-menu.el
43196         * test/lisp/buff-menu-tests.el: New file.
43197         (buff-menu-24962): Add test for Bug#24962.
43199 2016-11-18  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
43201         Add cyrillic-tuvan input method
43203         * lisp/leim/quail/cyrillic.el ("cyrillic-tuvan"): New input
43204         method.  (Bug#24942)
43206         * etc/NEWS: Mention addition of 'cyrillic-tuvan' input method.
43208 2016-11-18  Alexander Gramiak  <agrambot@gmail.com>
43210         Extend 'indent-relative' when its arg is non-nil
43212         * lisp/indent.el (indent-relative-maybe): New obsolete alias.
43213         (indent-relative-first-indent-point): Renamed from
43214         'indent-relative-maybe'.
43215         (indent-relative): Now accepts an additional optional argument.
43216         The first argument was renamed to FIRST-ONLY.  Doc fix.  Support
43217         the additional arg.  (Bug#24766)
43219 2016-11-17  Dmitry Gutov  <dgutov@yandex.ru>
43221         Add example for bug#24854
43223         * test/manual/indent/js.js: Add example for bug#24854.
43225 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
43227         Port registry.el the rest of the way to cl-lib
43229         This file already is using cl-lib functions at runtime; eieio ultimately
43230         loads cl-lib, which explains why doing so wasn't an issue.
43231         * lisp/registry.el: Require cl-lib.
43232         (registry-db, registry--match, registry-search, registry-delete):
43233         (registry-insert, registry-reindex): Replace cl macros with cl-lib ones.
43234         (registry-collect-prune-candidates): Replace cl function with cl-lib one.
43236 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
43238         Fix arglist in python.el (Bug#24762)
43240         * lisp/progmodes/python.el: Remove unneeded second args.
43241         (python-define-auxiliary-skeleton): DOC arg should be &optional.
43243 2016-11-17  Simen Heggestøyl  <simenheg@gmail.com>
43245         Add tests for rot13.el
43247         * lisp/rot13.el (rot13): Docstring correction.
43249         * test/lisp/rot13-tests.el: New file with tests for rot13.el.
43251 2016-11-17  Michael Albinus  <michael.albinus@gmx.de>
43253         Fix Bug#24947 (Tramp + ido)
43255         * lisp/ido.el (ido-read-internal): Prevent eager Tramp connection.
43257         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
43258         Run remote tests only if a connection is established only.  (Bug#24947)
43260 2016-11-16  Ken Brown  <kbrown@cornell.edu>
43262         Unbreak the build on Darwin (Bug#24957)
43264         * src/fileio.c (file_name_case_insensitive_p) [DARWIN_OS]: Fix
43265         mistakes in recent commit.
43267 2016-11-16  Nicolas Petton  <nicolas@petton.fr>
43269         Do not use map.el in seq-tests.el
43271         * test/lisp/emacs-lisp/seq-tests.el: Do not use map.el.  map.el was
43272         introduced in Emacs 25.1, but seq.el is also available in GNU ELPA for
43273         Emacs 24.5.
43275 2016-11-16  Tino Calancha  <tino.calancha@gmail.com>
43277         Update parameter :version to 26.1 in several defcustom
43279         Following defcustom where added or modified for 25.2 release.
43280         In fact all these changes belong to 26.1 release.
43281         * lisp/battery.el (battery-linux-sysfs-regexp)
43282         * lisp/comint.el (comint-password-prompt-regexp)
43283         * lisp/dired.el (dired-always-read-filesystem)
43284         * lisp/image.el (image-scaling-factor)
43285         * lisp/ibuf-ext.el (ibuffer-never-search-content-name)
43286         (ibuffer-never-search-content-mode)
43287         * lisp/mouse.el (mouse-select-region-move-to-beginning)
43288         * lisp/net/net-utils.el (iwconfig-program, iwconfig-program-options)
43289         (netstat-program, route-program, route-program-options)
43290         * lisp/net/sieve-manage.el (sieve-manage-default-stream)
43291         * lisp/progmodes/grep.el (grep-save-buffers)
43292         * lisp/vc/add-log.el (change-log-directory-files)
43293         * lisp/url/url-vars.el (url-user-agent)
43294         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles)
43295         (vc-hg-use-file-version-for-mode-line-version)
43296         (vc-hg-parse-hg-data-structures)
43297         * lisp/wdired.el (wdired-create-parent-directories)
43298         * lisp/faces.el (homoglyph, nobreak-hyphen, read-multiple-choice-face)
43299         * lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
43300         (gnus-button-url-regexp)
43301         * lisp/window.el (switch-to-buffer-preserve-window-point)
43302         * lisp/ibuffer.el (ibuffer-formats, ibuffer-locked-char)
43303         (ibuffer-locked-buffer)
43304         * lisp/textmodes/flyspell.el (flyspell-sort-corrections-function)
43305         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break)
43306         * lisp/gnus/message.el (message-user-fqdn)
43307         * lisp/simple.el (shell-command-dont-erase-buffer)
43308         (extended-command-suggest-shorter)
43309         * lisp/net/shr.el (shr-use-fonts)
43310         * lisp/files.el (mounted-file-systems, kill-emacs-query-functions)
43312 2016-11-15  Glenn Morris  <rgm@gnu.org>
43314         Add --new-daemon, which runs in the foreground and does not fork
43316         This is intended for modern init systems such as systemd,
43317         which manage many of the traditional aspects of daemon behavior
43318         themselves.  (Bug#2677)
43319         * src/emacs.c (daemon_type): New integer.
43320         (usage, standard_args): Add --old-daemon and --new-daemon.
43321         (main): Handle --old-daemon and --new-daemon arguments.
43322         Restrict all the forking and complicated daemon stuff to old-daemon.
43323         (Fdaemon_initialized): Handle new-style daemon.
43324         * src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]:
43325         Replace daemon_pipe with daemon_type.
43326         * doc/emacs/cmdargs.texi (Initial Options):
43327         * doc/emacs/glossary.texi (Glossary):
43328         * doc/emacs/misc.texi (Emacs Server):
43329         * doc/lispref/display.texi (Window Systems):
43330         * doc/lispref/os.texi (Startup Summary): Related doc updates.
43331         * etc/NEWS: Mention this.
43332         * etc/emacs.service: Use Type=simple and --new-daemon.
43334 2016-11-15  Glenn Morris  <rgm@gnu.org>
43336         * src/emacs.c (usage_message): Mention named daemon.  (Bug#24949)
43337         * doc/man/emacs.1.in: Likewise.
43339 2016-11-15  Ken Brown  <kbrown@cornell.edu>
43341         Simplify case-insensitivity checks on Mac OS X
43343         * src/fileio.c (file_name_case_insensitive_p): Try skipping the
43344         Darwin code and instead using pathconf with _PC_CASE_SENSITIVE.
43345         Leave in two alternatives conditionally compiled based on
43346         DARWIN_OS_CASE_SENSITIVE_FIXME in case pathconf doesn't work.
43348         * etc/PROBLEMS: Mention the possible problem with pathconf on
43349         Mac OS X.
43351 2016-11-15  Glenn Morris  <rgm@gnu.org>
43353         * src/emacs.c (sort_args): Warn about multiple matches.
43355 2016-11-15  Michael Albinus  <michael.albinus@gmx.de>
43357         Implement file name handler for `file-name-case-insensitive-p'
43359         * doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p'
43360         is also applicable for remote hosts.
43362         * lisp/net/tramp.el (tramp-methods): Improve docstring.
43363         (tramp-file-name-for-operation): Add `file-name-case-insensitive-p'.
43364         (tramp-handle-file-name-case-insensitive-p): New defun.
43366         * lisp/net/tramp-smb.el (tramp-methods) <smb>:
43367         Add `tramp-case-insensitive' entry.
43369         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
43370         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
43371         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
43372         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
43373         <file-name-case-insensitive-p>: Add handler.  (Bug#22300, Bug#24441)
43375 2016-11-15  Mark Oteiza  <mvoteiza@udel.edu>
43377         Nix more uses of default-FOO variables (Bug#24946)
43379         * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
43380         Check for header-line-format instead.
43381         * lisp/emulation/viper.el (viper-load-custom-file): Reference
43382         major-mode instead.
43383         * lisp/mail/feedmail.el (feedmail-fill-to-cc-fill-column): Use
43384         fill-column instead.
43386 2016-11-15  Simen Heggestøyl  <simenheg@gmail.com>
43388         Complete the name of PostgreSQL databases
43390         * lisp/progmodes/sql.el (sql-postgres-login-params): Complete database
43391         name.
43392         (sql-postgres-list-databases): New function returning a list of
43393         available PostgreSQL databases.
43395         * test/lisp/progmodes/sql-tests.el: New file with tests for sql.el.
43397 2016-11-14  Sam Steingold  <sds@gnu.org>
43399         add `vc-git-print-log-follow' and use it in `vc-git-print-log'
43401         When `vc-git-print-log-follow' is true and all files are
43402         non-directory, pass "--follow" to "git log".
43403         This works around bug#8756 and bug#16422.
43405 2016-11-14  Sam Steingold  <sds@gnu.org>
43407         `toggle-truncate-lines' obsoletes `gnus-summary-toggle-truncation'
43409         vc-git-print-log: pass "--follow" to "log" to handle renamed files
43411 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
43413         Revert "Improve case-insensitive checks (Bug#24441)"
43415         This reverts commit 2f5e0b1bf7b0ac4f450847db34d599a072020600.
43416         I see no reason for removing code, documentation, and comments
43417         in the original commit.
43419 2016-11-14  Wilson Snyder  <wsnyder@wsnyder.org>
43421         Update verilog-mode.el
43423         * lisp/progmodes/verilog-mode.el (verilog-read-decls)
43424         (verilog-calc-1): Fix "default clocking" indentation and
43425         preventing AUTOs from working, bug1084.  Reported by Alan Morgan.
43426         (verilog-diff-report): Fix `verilog-diff-report'
43427         not returning bad status on differences, bug1087.  Reported by
43428         Eric Jackowski.
43429         (verilog-auto-inst-param-value)
43430         (verilog-auto-inst-param-value-type, verilog-read-sub-decls)
43431         (verilog-read-sub-decls-expr, verilog-read-sub-decls-gate)
43432         (verilog-read-sub-decls-line, verilog-read-sub-decls-sig)
43433         (verilog-read-sub-decls-type): When
43434         `verilog-auto-inst-param-value-type' is set, which is now the
43435         default, AUTOINPUT etc will now substitute parameter types from
43436         submodules, bug1061.  Reported by Brad Dobbie.
43437         (verilog-auto-reset, verilog-backward-case-item)
43438         (verilog-extended-case-re, verilog-read-always-signals-recurse):
43439         Fix indentation of randcase, bug1072. Reported by David Rogoff.
43440         (verilog-read-sub-decls-expr)
43441         (verilog-sig-multidim-string): Fix AUTOINST ordering of dimensions
43442         in generated comments, bug1057. Reported by Kaushal Modi.
43443         (verilog-auto-wire-comment, verilog-insert-definition):
43444         Add `verilog-auto-wire-comment' to suppress wire comments. Reported by
43445         Eric Jackowski.
43446         (verilog-extended-complete-re): Fix indentation
43447         of class static functions, bug1053. Reported by Gregory
43448         Czajkowski.
43449         (verilog-module-filenames): Support tramp for
43450         finding verilog modules. Reported by Nevada Sanchez.
43452 2016-11-14  Paul Eggert  <eggert@cs.ucla.edu>
43454         Improve case-insensitive checks (Bug#24441)
43456         * doc/lispref/files.texi (Truenames): Simplify documentation,
43457         to avoid giving too much platform-specific information that
43458         may not be accurate anyway.
43459         * src/fileio.c (file_name_case_insensitive_p): Use pathconf with
43460         _PC_CASE_SENSITIVE if _PC_CASE_INSENSITIVE is not available.
43461         Otherwise if one approach fails (e.g., with errno == EINVAL), fall
43462         back on an alternative rather than returning false.  Try skipping
43463         the Darwin code, as it (1) no longer seems to be needed and (2)
43464         does not seem to match the Apple documentation.  Leave in two
43465         alternatives conditionally compiled based on
43466         DARWIN_OS_CASE_SENSITIVE_FIXME in case (1) or (2) is incorrect.
43468 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
43470         Fix documentation changes of connection-local variables
43472         * etc/NEWS: Fix last change.
43473         * doc/lispref/variables.texi (Connection Local Variables): Minor fixes.
43474         * doc/lispref/elisp.texi (Top): Update the master menu.
43476 2016-11-14  Michael Albinus  <michael.albinus@gmx.de>
43478         Implement connection-local variables
43480         * doc/lispref/variables.texi (Connection Local Variables): New section.
43482         * etc/NEWS: Mention connection-local variables.
43484         * lisp/files-x.el (enable-connection-local-variables)
43485         (connection-local-variables-alist, connection-local-class-alist)
43486         (connection-local-criteria-alist): New defvars.
43487         (connection-local-get-classes)
43488         (connection-local-get-class-variables): New defsubst.
43489         (connection-local-set-classes)
43490         (connection-local-set-class-variables)
43491         (hack-connection-local-variables)
43492         (hack-connection-local-variables-apply): New defuns.
43493         (with-connection-local-classes): New defmacro.
43495         * lisp/net/tramp.el (tramp-set-connection-local-variables): New defun.
43497         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
43498         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
43499         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
43500         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it.
43502         * test/lisp/files-x-tests.el: New file.
43504 2016-11-14  Tino Calancha  <tino.calancha@gmail.com>
43506         tabulated-list: extend truncation into next align-right column
43508         See discussion on:
43509         https://lists.gnu.org/r/emacs-devel/2016-10/msg01101.html
43510         * lisp/emacs-lisp/tabulated-list.el
43511         (tabulated-list--near-rows): New variable.
43512         (tabulated-list-print, tabulated-list-set-col): Use it.
43513         (tabulated-list--col-local-max-widths): New defsubst.
43514         (tabulated-list-print-col): Use it.  If the next column is
43515         align-right, and has some space left then don't truncate to width,
43516         use some of the available space from the next column.
43518 2016-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>
43520         * lisp/net/shr.el (shr-collect-extra-strings-in-table): Fix indentation.
43522         * lisp/net/shr.el (shr-tag-table): Avoid duplication of images.
43523         (shr-collect-extra-strings-in-table): Render images as well.
43525 2016-11-13  Ken Brown  <kbrown@cornell.edu>
43527         Use the new 'file-name-case-insensitive-p' function
43529         * lisp/international/mule.el (auto-coding-alist-lookup):
43530         * lisp/files.el (file-truename):
43531         (abbreviate-file-name, set-auto-mode, file-relative-name):
43532         * lisp/emacs-lisp/package.el (package-untar-buffer): Use
43533         'file-name-case-insensitive-p' instead of 'system-type' to test
43534         case-insensitivity.
43536 2016-11-13  Glenn Morris  <rgm@gnu.org>
43538         Include a systemd user unit file.  (Bug#16507)
43540         * etc/emacs.service: New file.
43541         * doc/emacs/misc.texi (Emacs Server): Mention systemcl --user.
43542         * Makefile.in (libdir): New, set by configure.
43543         (systemdunitdir): New variable.
43544         (install-etc, uninstall): Handle the emacs.service file.
43546 2016-11-13  Paul Eggert  <eggert@cs.ucla.edu>
43548         Port --enable-gcc-warnings to Ubuntu 16.10
43550         * src/gmalloc.c: Include <stdlib.h>, so it declares
43551         hybrid_aligned_alloc (the definiens of the aligned_alloc macro),
43552         so that GCC doesn't complain that hybrid_aligned_alloc is
43553         defined without being declared.
43555 2016-11-13  Ken Brown  <kbrown@cornell.edu>
43557         Silence tramp warning
43559         * lisp/net/tramp.el (tramp-file-name-for-operation): Add
43560         'file-name-case-insensitive-p' as a known file primitive.
43561         (Bug#24936)
43563 2016-11-12  Ken Brown  <kbrown@cornell.edu>
43565         Check case-sensitivity when renaming files
43567         * src/fileio.c (file_name_case_insensitive_p)
43568         (Ffile_name_case_insensitive_p):  New functions.
43569         (Frename_file): Allow renames that simply change case when the
43570         FILE argument is on a case-insensitive filesystem.  (Bug#24441)
43572         * lisp/dired-aux.el (dired-do-create-files): Use
43573         'file-name-case-insensitive-p' instead of 'system-type' to check
43574         for case-insensitivity.  (Bug#24441)
43576         * doc/lispref/files.texi (Truenames): Document
43577         'file-name-case-insensitive-p'.
43579 2016-11-12  Ken Brown  <kbrown@cornell.edu>
43581         Unbreak the build on Cygwin
43583         * configure.ac (system_malloc) [CYGWIN]: Unset.
43585 2016-11-11  Mark Oteiza  <mvoteiza@udel.edu>
43587         Update chart.el
43589         * lisp/emacs-lisp/chart.el (chart-mode): Derive from special-mode.
43590         (chart-draw): Wrap in with-silent-modifications.  Instead of inserting a
43591         fixed number of newlines, use window-height.
43592         (chart-bar):
43593         (chart-trim): Use dolist.
43594         (chart-file-count): The previous implementation was buggy and missed
43595         extensions.  Use file-name-extension instead to detect file extensions.
43596         Also use dolist and cl-incf to reduce verbosity.
43598 2016-11-11  Katsumi Yamaoka  <yamaoka@jpl.org>
43600         * lisp/net/shr.el (shr--preferred-image): Add CR to whitespace regexps.
43601         (shr-collect-extra-strings-in-table):
43602         Render extra tables in an invalid html as well.
43604 2016-11-10  Katsumi Yamaoka  <yamaoka@jpl.org>
43606         * lisp/net/shr.el (shr--preferred-image): Ignore whitespace (bug#24893).
43608 2016-11-09  Eli Zaretskii  <eliz@gnu.org>
43610         Resurrect 'memory-limit' on MS-Windows
43612         * nt/mingw-cfg.site (ac_cv_func_sbrk): Set to "yes", otherwise
43613         'memory-limit' will produce a trivial and useless result on Windows.
43615 2016-11-09  Mark Oteiza  <mvoteiza@udel.edu>
43617         Update quickurl.el
43619         * lisp/net/quickurl.el (quickurl-format-function):
43620         (quickurl-sort-function): Use named function.
43621         (quickurl-list-mode-map): Remove lines that are extraneous now that the
43622         parent mode is special-mode.
43623         (quickurl-format-url, quickurl-sort-urls): New functions.
43624         (quickurl-read, quickurl): Use defun, as no cl-defun feature appears to
43625         be used.
43626         (quickurl-list-mode): Derive from special-mode.  Nix setting
43627         buffer-read-only: special-mode does that.
43628         (quickurl-list-populate-buffer): Use dolist instead.
43629         (quickurl-list-quit): Use quit-window.  It looks like this was written
43630         before the quit-window rewrite.  quit-window is very useful now.
43632 2016-11-09  Michael Albinus  <michael.albinus@gmx.de>
43634         Refine multi-hop specs in Tramp
43636         * lisp/net/tramp.el (tramp-tramp-file-p): Suppress "/:" and "/c:".
43638         * test/lisp/net/tramp-tests.el
43639         (tramp-test01-file-name-syntax): Multi-hop specs don't need a
43640         method.  "/h:" is allowed on non MS Windows.
43642 2016-11-08  Daniel Colascione  <dancol@dancol.org>
43644         Avoid infloop in python
43646         Fix bug#24905
43648         * lisp/progmodes/python.el (python-info-docstring-p): Improve
43649         infloop avoidance: replace (bobp) with generic test for
43650         forward progress.
43651         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add
43652         test for bug#24905
43654 2016-11-08  Daniel Colascione  <dancol@dancol.org>
43656         Make gnus/message.el work correctly under lexical binding
43658         * lisp/gnus/message.el (message-send-mail): Rename `arg' to
43659         `_' to shut up the byte compiler.
43660         (sha1-maximum-internal-length, smtpmail-smtp-server)
43661         (smtpmail-smtp-service): add missing defvars
43663 2016-11-08  Michael Albinus  <michael.albinus@gmx.de>
43665         Fix Bug#24889
43667         * lisp/net/tramp.el (tramp-file-name-regexp): Make it a
43668         defvar.  Fix docstring.
43669         (tramp-completion-file-name-handler-alist): Fix docstring.
43670         (tramp-register-file-name-handlers): Reassign
43671         `tramp-file-name-regexp' to the car of
43672         `tramp-file-name-structure'.  (Bug#24889)
43674 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
43676         Port to FreeBSD 11 AMD
43678         Problem reported by Ashish Shukla (Bug#24892).  I tested
43679         this on FreeBSD 11 x86-64 with HAVE_SBRK manually undefined.
43680         * configure.ac (system_malloc): Set to 'yes' if there is no sbrk.
43681         (sbrk): Check whether it exists.
43682         * src/alloc.c (my_heap_start) [!GNU_LINUX]:
43683         Do not define, since this function is now used only on GNU/Linux,
43684         and sbrk might not exist on other platforms.
43685         (malloc_initialize_hook) [!GNU_LINUX]:
43686         Do not call my_heap_start, since its side effect will never be used.
43687         (Fmemory_limit) [!HAVE_SBRK]: Do not call sbrk.
43688         * src/unexelf.c (unexec) [!HAVE_SBRK]: Assume that nothing like
43689         sbrk exists.
43691 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
43693         Port emacsclient to FreeBSD 11 etc.
43695         * lib-src/emacsclient.c: Include <string.h>.  This is needed on
43696         platforms like FreeBSD 11 that use code involving strlen etc., and
43697         because <config.h> no longer includes string.h.
43699 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
43701         Prescribe history for read-regexp in query-replace
43703         In the fix for bug#24580, the history argument for read-regexp was
43704         removed erroneously; read-regexp's history argument defaults to
43705         regexp-history, not minibuffer-history.
43706         * lisp/replace.el (query-replace-read-from): Tell read-regexp to use
43707         minibuffer-history.  Fixes bug#24873.
43709 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
43711         Remove obsolete default-FOO variables
43713         * etc/NEWS: Indicate the removed variables.
43714         * lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
43715         * lisp/subr.el (default-mode-line-format, default-header-line-format):
43716         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
43717         (default-truncate-lines, default-left-margin, default-tab-width):
43718         (default-case-fold-search, default-left-margin-width):
43719         (default-right-margin-width, default-left-fringe-width):
43720         (default-right-fringe-width, default-fringes-outside-margins):
43721         (default-scroll-bar-width, default-vertical-scroll-bar):
43722         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
43723         (default-fringe-indicator-alist, default-fringe-cursor-alist):
43724         (default-scroll-up-aggressively, default-scroll-down-aggressively):
43725         (default-fill-column, default-cursor-type):
43726         (default-cursor-in-non-selected-windows):
43727         (default-buffer-file-coding-system, default-major-mode):
43728         (default-enable-multibyte-characters): Remove obsolete declarations.
43729         * src/buffer.c (default-mode-line-format, default-header-line-format):
43730         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
43731         (default-truncate-lines, default-left-margin, default-tab-width):
43732         (default-case-fold-search, default-left-margin-width):
43733         (default-right-margin-width, default-left-fringe-width):
43734         (default-right-fringe-width, default-fringes-outside-margins):
43735         (default-scroll-bar-width, default-vertical-scroll-bar):
43736         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
43737         (default-fringe-indicator-alist, default-fringe-cursor-alist):
43738         (default-scroll-up-aggressively, default-scroll-down-aggressively):
43739         (default-fill-column, default-cursor-type):
43740         (default-cursor-in-non-selected-windows):
43741         (default-buffer-file-coding-system, default-major-mode):
43742         (default-enable-multibyte-characters): Remove.
43743         * src/fileio.c (choose_write_coding_system): Fix comment.
43744         * src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.
43746 2016-11-07  Eli Zaretskii  <eliz@gnu.org>
43748         Improve the tutorial
43750         * etc/tutorials/TUTORIAL: Minor copyedits.  (Bug#24890)
43751         * etc/tutorials/TUTORIAL.he: Follow suit.
43753 2016-11-06  Paul Eggert  <eggert@cs.ucla.edu>
43755         Restore file descriptor limit in subprocesses
43757         Problem reported by Philipp Stephani (Bug#24869).
43758         * src/callproc.c (child_setup) [!DOS_NT]:
43759         Call restore_nofile_limit in the child.
43760         * src/process.c (nofile_limit) [HAVE_SETRLIMIT]: New static var.
43761         (restore_nofile_limit): New function.
43762         (init_process_emacs) [HAVE_SETRLIMIT]: Set the new var.
43764 2016-11-06  Mark Oteiza  <mvoteiza@udel.edu>
43766         Remove some subr.el functions obsoleted in 22.1
43768         * etc/NEWS: Document removed functions.  Also mention the "face"
43769         variables that have been removed recently.
43770         * lisp/subr.el (window-dot, set-window-dot, read-input, show-buffer):
43771         (eval-current-buffer, string-to-int, insert-string, makehash): Remove.
43773 2016-11-05  Paul Eggert  <eggert@cs.ucla.edu>
43775         Prefer comments /* like this */ in C code
43777 2016-11-05  Johan Bockgård  <bojohan@gnu.org>
43779         * lisp/subr.el (copy-tree): Handle vector in cdr. (Bug#24876)
43781 2016-11-05  Nick Terrell  <nickrterrell@gmail.com>  (tiny change)
43783         Support zstd compressed files
43785         * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Add
43786         zstd compression info: <http://facebook.github.io/zstd/>.
43787         (jka-compr-mode-alist-additions): Handle .tzst suffix for zstd
43788         compressed tar archives.  (Bug#24853)
43790 2016-11-05  Eli Zaretskii  <eliz@gnu.org>
43792         Enlarge DUMPED_HEAP_SIZE
43794         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]:
43795         Enlarge to 21MB.  Reported by Richard Copley <rcopley@gmail.com>.
43797 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
43799         Update from gnulib
43801         This incorporates:
43802         2016-11-03 intprops: port to older XL C
43803         * lib/intprops.h: Copy from gnulib.
43805 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
43807         Merge from origin/emacs-25
43809         acae275 ; Spelling fixes
43810         d8fac73 Update README for precompiled windows Emacs.
43811         23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks
43812         f708cb2 Clarify doc string of 'transpose-sexps'
43813         cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab'
43814         bdc89eb Improve documentation of 'font-lock-remove-keywords'
43815         4a0c590 Fix documentation of the command summary key
43816         0221b7a Mark relocation workarounds with REL_ALLOC
43818 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
43820         Merge from origin/emacs-25
43822         dbb3410 python.el: Fix detection of native completion in Python 3 (bu...
43823         91c97b6 * Makefile.in (install-arch-indep): Skip etc/refcards/emacsve...
43824         9c1cb8d * lisp/subr.el (set-transient-map): Exit for unbound events (...
43825         9c247d2 Update category-table for Chinese characters
43826         43986d1 Inhibit buffer relocation during regex searches
43827         fee4cef Revert fixes to allocation of regex matching
43829 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
43831         Fix references to long obsoleted functions/aliases
43833         * doc/lispintro/emacs-lisp-intro.texi (Miscellaneous):
43834         * doc/misc/cl.texi (Conditionals):
43835         * doc/misc/speedbar.texi (Major Display Modes): Use string-to-number,
43836         not string-to-int.
43837         * lisp/emulation/viper.el (viper-go-away): Use major-mode, not
43838         default-major-mode.
43839         * lisp/textmodes/reftex-toc.el (reftex-toc-visit-location): show-window
43840         here is not a function call, but shorten the binding names anyways.
43841         Also, use pop-to-buffer-same-window instead of switch-to-buffer cf
43842         Bug#22244.
43843         * lisp/textmodes/sgml-mode.el (html-tag-alist): Use read-string, not
43844         read-input.
43846 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
43848         * lisp/emacs-lisp/pcase.el (pcase-dolist): Add a docstring.
43850 2016-11-04  Katsumi Yamaoka  <yamaoka@jpl.org>
43852         * lisp/net/shr.el (shr-collect-extra-strings-in-table) New function
43853         that gathers extra strings in an invalid html.  (bug#24831)
43854         (shr-tag-table): Use it.
43856 2016-11-04  Vasilij Schneidermann  <v.schneidermann@gmail.com>
43858         Add 'x-ctrl-keysym' support on X window system
43860         * src/xterm.c (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
43861         Support 'x-ctrl-keysym'.
43862         (syms_of_xterm): DEFSYM "ctrl" and put a proper modifier-value
43863         property on it.
43864         <x-ctrl-keysym>: New DEFVAR_LISP.
43865         <x-alt-keysym, x-hyper-keysym, x-meta-keysym, x-super-keysym>: Doc
43866         fix.  (Bug#24822)
43868         * etc/NEWS: Mention the addition of 'x-ctrl-keysym'.
43870         * doc/lispref/os.texi (X11 Keysyms): Document 'x-ctrl-keysym'.
43872 2016-11-04  Alexander Gramiak  <agrambot@gmail.com>
43874         Improve autoload error reporting
43876         * src/eval.c (Fautoload_do_load): Include the absolute file name
43877         in the error message.
43879 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
43881         Stop force parameter of whitespace-report-region having global effect
43883         * lisp/whitespace.el (whitespace-report-region): Force parameter
43884         previously changed whitespace-style globally.  Fix this, and use
43885         whitespace-active-style, to take account of any changes the user may
43886         have made.  Simplify the documentation: the force parameter simply
43887         forces all classes of whitespace problem to be considered.
43888         (Bug#24745)
43890 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
43892         Document use of `tab-width'
43894         * lisp/whitespace.el: When talking about `8 or more spaces', mention
43895         `tab-width' instead of 8.  (Bug#24745)
43897 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
43899         Make whitespace-report-region respect current settings
43901         * lisp/whitespace.el (whitespace-report-region): Make it respect
43902         whitespace-style, including any additions made by the force parameter.
43903         This means that the function does not return t unless a whitespace
43904         problem that the user cares about is reported.  (Bug#24745)
43906 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
43908         Fix whitespace-space-after-tab-regexp
43910         * lisp/whitespace.el (whitespace-space-after-tab-regexp)
43911         (whitespace-regexp): Match all the spaces after tabs for highlighting,
43912         not just the first tab-width.  Fix whitespace-space-after-tab::space
43913         version so that it requires at least tab-width spaces, not just 1.
43914         (Bug#24745)
43916 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
43918         Remove duplicate documentation
43920         * lisp/whitespace.el: Remove duplicate documentation from the Commentary
43921           section which duplicate and in some places contradict (due to being
43922           out of date) the docstrings (Bug#24745).
43924 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
43926         Fix bob/eob checks
43928         * lisp/whitespace.el (whitespace-empty-at-bob-regexp)
43929         (whitespace-empty-at-eob-regexp, whitespace-cleanup): Make `empty' checks
43930         work at beginning & end of buffer in whitespace-report-region, and only
43931         there (i.e. they will never match in regions that don't include the
43932         start or end of the buffer).  (Bug#24745)
43934 2016-11-03  Tino Calancha  <tino.calancha@gmail.com>
43936         (thing-at-point 'list) return nil if no list at point
43938         * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point):
43939         Check first if we are at the beginning of a top-level sexp (Bug#24627).
43940         If point is inside a comment or string, look for a list out of the
43941         comment/string.
43942         Escape '[' in doc string.
43943         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): Update
43944         expected test result as pass.
43946 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
43948         Remove antlr face aliases obsoleted in 22.1
43950         * lisp/progmodes/antlr-mode.el: Remove obsolete aliases
43951         (antlr-default-face, antlr-keyword-face, antlr-syntax-face):
43952         (antlr-ruledef-face, antlr-tokendef-face, antlr-ruleref-face):
43953         (antlr-tokenref-face, antlr-literal-face):
43954         (antlr-literal-face): Remove.
43955         (antlr-font-lock-additional-keywords): Use face symbols instead.
43957 2016-11-02  Daniel Colascione  <dancol@dancol.org>
43959         Revert "Disable bracketed paste in a terminal in char mode"
43961         This change causes regressions, and besides, disabling BPM frame-wide
43962         for the sake of one buffer is the wrong solution.
43964         This reverts commit cf566b46a6cf85c6d54d0b0db80e32ed6ae8d1ca.
43966 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
43968         Revert change to eww-suggest-uris
43970         The introduced append is ugly and can yield '(nil); doing delq on it
43971         would be hacks on hacks.
43972         * lisp/net/eww.el: Require cl-lib at run time.
43973         (eww-suggest-uris): Restore eww-current-url, reverting previous change.
43974         (eww): Remove erroneous append.
43975         (eww-open-in-new-buffer): Check if the return from eww-suggested-uris is
43976         equal to eww-current-url, which is nil anyways if we are not in an EWW
43977         buffer.
43979 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
43981         Add eww-open-in-new-buffer to EWW
43983         * doc/misc/eww.texi (Basic): Document new command and key.
43984         * etc/NEWS: Mention new key and its purpose.
43985         * lisp/net/eww.el (eww-suggest-uris): Remove eww-current-url.
43986         (eww): Append (eww-current-url) to the prompt defaults.
43987         (eww-open-in-new-buffer): New command.
43988         (eww-mode-map): Bind it and add a menu item.
43990 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
43992         Migrate auth-source to cl-lib
43994         * lisp/auth-source.el: Use cl-lib.
43995         (auth-source-read-char-choice, auth-source-backend-parse-parameters):
43996         (auth-source-search): Replace cl calls with cl-lib ones.
43997         (auth-source-netrc-cache):
43998         (auth-source-forget+): Use cl-do-symbols instead.
43999         (auth-source-specmatchp, auth-source-netrc-parse):
44000         (auth-source-netrc-search, auth-source-netrc-create):
44001         (auth-source-netrc-saver, auth-source-secrets-listify-pattern):
44002         (auth-source-secrets-search, auth-source-secrets-create):
44003         (auth-source-macos-keychain-search, auth-source--decode-octal-string):
44004         (auth-source-macos-keychain-search-items, auth-source-plstore-search):
44005         (auth-source-plstore-create): Replace cl calls with cl-lib ones.
44007 2016-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
44009         Don't segfault on timed-out TLS connections
44011         * src/process.c (finish_after_tls_connection): Check that the
44012         file descriptor is still alive before proceeding (bug#24811).
44013         Also clean up the code slightly.
44015 2016-11-01  Eli Zaretskii  <eliz@gnu.org>
44017         Support 'TARGETS' in clipboard selections on MS-Windows
44019         * src/w32select.c (Fw32_selection_targets): New function.
44021         * lisp/term/w32-win.el (w32--get-selection): Call
44022         'w32-selection-targets' to obtain the list of data formats
44023         available in the clipboard.
44025 2016-11-01  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
44027         Fix documentation for 'eudc-options-file'
44029         * doc/misc/eudc.texi (The Server Hotlist): Update the default
44030         value of 'eudc-options-file'.
44032 2016-11-01  Tibor Csögör  <tibi@tiborius.net>
44034         Fix documentation of 'eudc-inline-expansion-format'
44036         * doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of
44037         'eudc-inline-expansion-format'. (Bug#24840)
44039 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
44041         Turn on lexical-binding in some more libs
44043         * lisp/calendar/icalendar.el:
44044         * lisp/emacs-lisp/regexp-opt.el:
44045         * lisp/emacs-lisp/timer.el:
44046         * lisp/gnus/message.el:
44047         * lisp/hex-util.el: Turn on lexical-binding.
44049 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
44051         Turn on lexical-binding in some net libs
44053         * lisp/net/dbus.el: Turn on lexical-binding.
44054         (dbus-list-hash-table, dbus-list-known-names):
44055         (dbus-introspect-get-node-names, dbus-introspect-get-interface-names):
44056         (dbus-introspect-get-method-names, dbus-introspect-get-signal-names):
44057         (dbus-introspect-get-property-names):
44058         (dbus-introspect-get-argument-names, dbus-get-all-properties):
44059         (dbus-property-handler, dbus-get-all-managed-objects):
44060         (dbus-managed-object-handler): Replace add-to-list with push. Add
44061         nreverse in some places where the APPEND argument of add-to-list was
44062         used.
44063         * lisp/net/network-stream.el: Turn on lexical-binding.
44064         * lisp/net/newsticker.el: Turn on lexical-binding.
44065         * lisp/net/shr.el: Turn on lexical-binding.
44066         (shr-make-placeholder-image): Remove unused variable binding.
44067         (shr-inspect-table): Replace ignored bindings with underscore.
44069 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
44071         Turn on lexical-binding in some url libs
44073         * lisp/url/url-auth.el:
44074         * lisp/url/url-expand.el:
44075         * lisp/url/url-future.el:
44076         * lisp/url/url-parse.el:
44077         * lisp/url/url-util.el: Turn on lexical-binding.
44079 2016-10-31  Johan Bockgård  <bojohan@gnu.org>
44081         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Fix debug spec
44083         (Bug#24733)
44085 2016-10-30  Alan Mackenzie  <acm@muc.de>
44087         Handle chars of syntax word which are also flagged as comment delimiters
44089         src/syntax.c (scan_sexps_forward): When chars of syntax word are also flagged
44090         as the start/end of two char comment delimiters, recognize a comment delimiter
44091         in preference to a portion of a word.  This fixes bug #24767.
44093 2016-10-29  Daniel Colascione  <dancol@dancol.org>
44095         Speed up initialization by preferring /dev/urandom to GnuTLS
44097         * src/sysdep.c (init_random): Try /dev/urandom before GnuTLS.
44099 2016-10-29  José L. Doménech  <domenechjosel@gmail.com>
44101         Quote file names in dired compression commands
44103         * lisp/dired-aux.el (dired-do-compress-to): Change the string
44104         used as shell command for compression by quoting the filenames
44105         used for input and output (Bug #24620).
44107 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
44109         Avoid errors in posn-at-point for large images
44111         * src/keyboard.c (Fposn_at_point): If pos-visible-in-window-p
44112         returns a 6-member list for a partially visible glyph, pass the
44113         sum of Y and RTOP to posn-at-x-y, since that's where the visible
44114         portion of that glyph begins on display.  (Bug#24804)  (Bug#21832)
44115         (Bug#23809)
44117 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
44119         Unbreak MS-Windows build
44121         * src/w32term.c (XCreateGC): Second argument is now HWND, and its
44122         name is "wignore".
44123         (x_set_cursor_gc, x_set_mouse_face_gc)
44124         (x_draw_glyph_string_background, x_draw_glyph_string_bg_rect)
44125         (x_draw_image_glyph_string, x_draw_stretch_glyph_string): Don't
44126         use s->window, which doesn't exist anymore.
44128         * src/w32term.h (XCreateGC): Adjust prototype.
44130 2016-10-28  Daniel Colascione  <dancol@dancol.org>
44132         Add double-buffering support to reduce flicker
44134         * src/dispextern.h (struct glyph_string): Remove window member
44135         (block_buffer_flips, unblock_buffer_flips)
44136         (buffer_flipping_blocked_p): Declare.
44138         * src/xterm.h (struct x_display_info): New member supports_xdbe.
44139         (struct x_output): New members draw_desc and need_buffer_flip.
44140         (FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE)
44141         (FRAME_X_DOUBLE_BUFFERED_P)
44142         (FRAME_X_NEED_BUFFER_FLIP): New macros.
44143         (set_up_x_back_buffer, tear_down_x_back_buffer)
44144         (initial_set_up_x_back_buffer): Declare.
44146         * src/xterm.c: Include Xdbe.h.
44147         (x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle)
44148         (x_draw_vertical_window_border, x_update_end)
44149         (x_setup_relief_color, x_draw_relief_rect)
44150         (x_draw_fringe_bitmap, x_shift_glyphs_for_insert)
44151         (x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use
44152         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
44153         variables appropriately; substitute calls to XClearArea with
44154         x_clear_area, which DTRT for double buffering.
44155         (x_clear_window, x_clear_area): In double-buffering mode, use
44156         rect-drawing X functions instead of XClearWindow and
44157         XClearArea, which always operate on the front buffer.
44158         (show_back_buffer): New function.
44159         (XTframe_up_to_date): Call show_back_buffer when done.
44160         (x_clear_frame, x_clear_frame_area): Remove obsolete calls to
44161         gtk_widget_queue_draw to refresh scroll bars; scroll bars are
44162         now independent X windows.
44163         (handle_one_xevent): Call font_drop_xrender_surfaces when
44164         XftDraw might need regenerating; perform buffer flip when
44165         responding to Expose events; issue front-buffer clearing
44166         commands as stopgap while we wait for redisplay.
44167         Call flush_dirty_back_buffers.
44168         (x_make_frame_visible): Un-bitrot comment; move XSETFRAME
44169         earlier in function.
44170         (x_free_frame_resources): Call tear_down_x_back_buffer when
44171         destroying frame.
44172         (x_term_init): Attempt to initialize double buffer extension.
44173         (x_flip_and_flush): New function.
44174         (x_redisplay_interface): Point to x_flip_and_flush instead of
44175         x_flip directly.
44176         (flush_dirty_back_buffers): New function.
44177         (x_create_terminal): Register buffer_flipping_unblocked_hook.
44179         * src/xftfont.c (xftfont_drop_xrender_surfaces): Use
44180         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
44181         (xftfont_draw): Call x_mark_frame_dirty.
44182         (xftfont_drop_xrender_surfaces): New function.
44183         (syms_of_xftfont): Register it.
44185         * src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of
44186         FRAME_X_WINDOW.
44188         * src/xfns.c: Include Xdbe.h.
44189         (x_set_inhibit_double_buffering, set_up_x_back_buffer)
44190         (Fx_double_buffered_p): New functions.
44191         (x_window): Call initial_set_up_x_back_buffer.
44192         (x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
44193         (Fx_create_frame): Configure `inhibit-double-buffering'
44194         frame parameter.
44195         (x_create_tip_frame): Call initial_set_up_x_back_buffer.
44196         (x_frame_parm_handlers): Register
44197         x_set_inhibit_double_buffering.
44198         (syms_of_xfns): Register Sx_double_buffered_p.
44199         (x_mark_frame_dirty): Define.
44201         * src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of
44202         FRAME_X_WINDOW.
44204         * src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use
44205         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
44206         (redisplay_internal): Restart redisplay if a frame is garbaged
44207         during updating; explain why. Block buffer flips
44208         during redisplay.
44209         (redisplay_preserve_echo_area): Block buffer flip during call
44210         to redisplay_internal.
44211         (buffer_flip_blocked_depth): New variable.
44212         (block_buffer_flips, unblock_buffer_flips)
44213         (buffer_flipping_blocked_p): New functions.
44214         (init_glyph_string): Stop setting window member of struct
44215         glyph_string.
44217         * src/w32fns.c (w32_frame_parm_handlers): Add placeholder for
44218         x_set_inhibit_double_buffering.
44220         * src/termhooks.h (struct terminal): Add
44221         buffer_flipping_unblocked_hook.
44223         * src/nsfns.m (ns_frame_parm_handlers): Add placeholder for
44224         x_set_inhibit_double_buffering.
44226         * src/image.c (x_create_bitmap_from_data)
44227         (x_create_bitmap_from_file, x_create_x_image_and_pixmap)
44228         (Create_Pixmap_From_Bitmap_Data)
44229         (x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use
44230         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
44231         variables appropriately.
44233         * src/gtkutil.c: Include Xdbe.h.
44234         (xg_get_widget_from_map): Forward declare.
44235         (xg_clear_under_internal_border): Remove obsolete calls to
44236         refresh scroll bars.
44237         (xg_create_frame_widgets): Call initial_set_up_x_back_buffer.
44238         (xg_free_frame_widgets): Call tear_down_x_back_buffer; reset
44239         FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the
44240         same reason.
44241         (xg_set_background_color): Set scroll bar background colors.
44242         (xg_finish_scroll_bar_creation): New function with common
44243         logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force
44244         scroll bars to be real X11 windows.
44245         (xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call
44246         xg_finish_scroll_bar_creation.
44247         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
44248         Remove obsolete calls to refresh scroll bars; fix comments.
44250         * src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap,
44251         (ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of
44252         FRAME_X_WINDOW.
44254         * src/frame.c (frame_parms): Add table entry for new
44255         `inhibit-double-buffering' frame parameter
44256         (syms_of_frame): Register Qinhibit_double_buffering.
44258         * src/font.h (struct font_driver): Add new `flush_frame_caches' hook.
44259         (font_drop_xrender_surfaces): Declare.
44261         * src/font.c (font_drop_xrender_surfaces): New function.
44263         * src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute.
44265         * etc/NEWS: Mention use of double buffering
44267         * doc/lispref/frames.texi (Management Parameters): Document
44268         `inhibit-double-buffering' frame parameters.
44269         (Visibility of Frames): Document `x-double-buffered-p'.
44271         * configure.ac: Check for the X double buffer extension
44273 2016-10-28  Michael Albinus  <michael.albinus@gmx.de>
44275         Improve result of `auth-source-search' in Tramp
44277         * lisp/net/tramp.el (tramp-read-passwd): Require :secret and
44278         :user in result of `auth-source-search'.
44280 2016-10-27  Mark Oteiza  <mvoteiza@udel.edu>
44282         Fix avl-tree alias docstrings
44284         * lisp/emacs-lisp/avl-tree.el (avl-tree--node-branch):
44285         (avl-tree-stack-p, avl-tree-create):
44286         (avl-tree-compare-function): Add calling convention to docstrings.
44288 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
44290         Update from gnulib
44292         This incorporates:
44293         2016-10-16 qsort_r: Fix macrology for platforms that lack the function.
44294         2016-10-13 stdint: port SIZE_MAX to glibc s390
44295         2016-10-11 maint: remove stray space after "." in AC_DEFINE comment.
44296         * lib/gnulib.mk: Regenerate.
44297         * lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4:
44298         * m4/utimes.m4: Copy from gnulib.
44300 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
44302         electric-quote-chars fixups
44304         * lisp/electric.el (electric-quote-chars): Check types and safety
44305         more carefully.
44306         (electric-quote-post-self-insert-function): Use more-mnemonic locals.
44307         Omit no-longer-necessary runtime error diagnostic.
44309 2016-10-27  Göktuğ Kayaalp  <self@gkayaalp.com>
44311         New user variable 'electric-quote-chars'
44313         * doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
44314         * lisp/electric.el (electric-quote-chars): New defcustom.
44315         (electric-quote-post-self-insert-function): Use it.
44317 2016-10-27  Tino Calancha  <tino.calancha@gmail.com>
44319         Add more tests for Bug#24627
44321         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627):
44322         Add tests for 'list-at-point'.
44324 2016-10-26  Filipp Gunbin  <fgunbin@fastmail.fm>
44326         * lisp/shell.el (shell--unquote&requote-argument): Match data misuse
44328         * lisp/shell.el (shell--unquote&requote-argument): Fix
44329         off-by-one thinko.  Don't use match data after a failed string-match.
44331 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
44333         * src/xwidget.c (webkit_js_to_lisp): Now static.
44335 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
44337         xwidget: Map "previous-line" and "next-line" to scroll
44339         * lisp/xwidget.el: Map "previous-line" and "next-line" to scrolling
44340         procedures.
44342 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
44344         xwidget: Bind "beginning-of-buffer" and "end-of-buffer"
44346         * lisp/xwidget.el: Rebind "beginning-of-buffer" and "end-of-buffer" to
44347         "xwidget-webkit-scroll-top" and "xwidget-webkit-scroll-bottom",
44348         respectively.
44349         (xwidget-webkit-scroll-top,
44350         xwidget-webkit-scroll-bottom): New procedures.
44352 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
44354         Implement zoom for WebKit widget.
44356         * src/xwidget.c (xwidget-webkit-zoom): New procedure.
44357         * lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively.
44358         (xwidget-webkit-zoom): Declare procedure.
44359         (xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures.
44361 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
44363         Dynamically resize WebKit widget.
44365         * lisp/xwidget.el (xwidget-webkit-auto-adjust-size,
44366         xwidget-webkit-adjust-size-in-frame): New procedures.
44367         (xwidget-webkit-new-session): Remove hint to resize widget with `a'.
44368         (xwidget-webkit-adjust-size-dispatch): Resize current webkit widget.
44369         (xwidget-webkit-adjust-size-to-window): Make non-interactive,
44370         add widget and window as arguments.
44371         (xwidget-webkit-callback): Use xwidget-webkit-adjust-size-to-window.
44373 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
44375         Let initial WebKit view fill window
44377         * lisp/xwidget.el (xwidget-webkit-new-session): Change default size of
44378         WebKit widget to window size.
44380 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
44382         xwidget: Remove title hack.
44384         * src/xwidget.c (xwidget-webkit-get-title): Remove procedure.
44385         * lisp/xwidget.el (xwidget-webkit-get-title,
44386         xwidget-webkit-execute-script-rv): Remove procedures.
44388 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
44390         xwidget: Get URL asynchronously.
44392         * lisp/xwidget.el (xwidget-webkit-current-url): Kill URL in callback.
44394 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
44396         xwidget: Get selection with asynchronous JavaScript
44398         * lisp/xwidget.el (xwidget-webkit-get-selection): Add PROC argument to
44399         process selection.
44400         (xwidget-webkit-copy-selection-as-kill): Kill selection in callback.
44402 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
44404         xwidget: Add function to find element by CSS selector
44406         * lisp/xwidget.el (xwidget-webkit-show-element): New procedure.
44408 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
44410         xwidget: Simplify functions to scroll to elements
44412         * lisp/xwidget.el (xwidget-webkit-show-named-element,
44413         xwidget-webkit-show-id-element,
44414         xwidget-webkit-show-id-or-named-element): Simplify functions by
44415         scrolling exclusively with JavaScript.
44417 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
44419         xwidget: Get title via asynchronous JavaScript.
44421         * lisp/xwidget.el (xwidget-webkit-callback): Get document title
44422         asynchronously.
44424 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
44426         xwidget: Do not use `xwidget-execute-script-rv' to insert string
44428         * lisp/xwidget.el (xwidget-webkit-insert-string): Obtain JavaScript
44429         return value via callback instead of using
44430         `xwidget-webkit-execute-script-rv'.
44432 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
44434         Remove scrolled window container around WebKit widget
44436         The WebKit widget can scroll on its own and does not need to wrapped
44437         with a scrolled window container.
44439         * src/xwidget.h: Remove struct member widgetscrolledwindow_osr.
44440         * src/xwidget.c: Remove widgetscrolledwindow_osr.
44441         (xwidget-set-adjustment): Remove.
44442         (xwidget-resize): Resize Webkit widget last.
44443         * lisp/xwidget.el (xwidget-set-adjustment): Remove.
44444         (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down,
44445         xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
44446         Implement scrolling via JavaScript.
44448 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
44450         xwidget: Pass JavaScript return value to optional callback procedure
44452         * lisp/xwidget.el (xwidget-webkit-execute-script): Accept optional
44453         callback argument.
44454         (xwidget-webkit-callback): Handle "javascript-callback" event type.
44455         * src/xwidget.c (xwidget-webkit-execute-script): Accept optional
44456         argument FUN, a Lisp procedure to execute on the JavaScript return
44457         value.
44458         (store_xwidget_js_callback_event, webkit_javascript_finished_cb,
44459         webkit_js_to_lisp): New procedures.
44461 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
44463         xwidget: Use WebKit2 API
44465         * configure.ac: Check for webkit2gtk-4.0.
44466         * src/xwidget.c: Adjust to use WebKit2 API.
44467         * lisp/xwidget.el (xwidget-webkit-callback): Adjust matches for
44468         `xwidget-event-type'.
44470 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
44472         Merge from origin/emacs-25
44474         4c3f738 Comment for bug#24793
44476 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
44478         Merge from origin/emacs-25
44480         96ac0c3 Yet another fix for using pointers into buffer text
44481         1047496 Another fix for using pointer to buffer text
44482         3121992 Fix Bug#24478
44484 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
44486         Merge from origin/emacs-25
44488         ee04aed Fix handling of buffer relocation in regex.c functions
44489         71ca4f6 Avoid relocating buffers while libxml2 reads its text
44490         1b3fc8a ; Remove redundant code in gmalloc.c
44491         9afea93 Attempt to catch reads from a buffer that is relocated
44493 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
44495         Minor fix in the documentation of seq-random-elt
44497         * doc/lispref/sequences.texi (Sequence Functions): Remove false
44498           sentence.
44500 2016-10-25  Eli Zaretskii  <eliz@gnu.org>
44502         Minor copyedits in documentation of 'seq-random-elt'
44504         * doc/lispref/sequences.texi (Sequence Functions): Fix markup in
44505         last change.  Use 2 spaces between sentences.
44507 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
44509         * lisp/emacs-lisp/seq.el (seq-random-elt): Fix docstring.
44511 2016-10-25  Damien Cassou  <damien@cassou.me>
44513         Add seq-random-elt to seq.el
44515         * lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a
44516           random element from it's sequence parameter.
44518         * test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all
44519           test-seq-random-elt-return-nil): Test the new function
44521         * doc/lispref/sequences.texi: Document the new function
44523 2016-10-24  Ken Brown  <kbrown@cornell.edu>
44525         * configure.ac: Stop using mmap for buffers on Cygwin.
44527 2016-10-24  Nicolas Petton  <nicolas@petton.fr>
44529         * lisp/emacs-lisp/seq.el (seq-let): Fix debug spec (Bug#24738)
44531 2016-10-24  Karl Chen  <Karl.Chen@quarl.org>
44533         Don't prompt user when killing Flymake processes
44535         * lisp/progmodes/flymake.el (flymake-start-syntax-check-process):
44536         Don’t prompt the user when killing Flymake processes.
44538         * doc/misc/flymake.texi (Starting the syntax check process):
44539         Document new behavior.
44541 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
44543         * src/regex.c (re_search_2): Use UNINIT, not IF_LINT.
44545         This finishes the merge of the recent emacs-25 regex changes into
44546         master.
44548 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
44550         Merge from origin/emacs-25
44552         50fa7d6 ;* src/w32heap.c: Fix typo and wording of the comments.
44553         6f1325e electric-quote mode no longer worries about coding
44554         c2a1792 * src/regex.c (re_search_2): Make new code safe for -Wjump-mi...
44555         f6134bb Port to GCC 6.2.1 + --enable-gcc-warnings
44556         b2ba630 Explain how to debug emacsclient lisp errors
44557         9da53e2 Let describe-function work for lambda again
44558         5c2da93 Fix kill-line's docstring
44559         ad66b3f Fix handling of allocation in regex matching
44560         5a26c9b * lisp/electric.el (electric-quote-mode): Improve doc (Bug#24...
44561         3877c91 vc-region-history: Search just on lines intersecting the region
44562         8988327 Fix documentation of 'alist-get'
44563         b6998ea * src/regex.h (re_match_object): Improve commentary.
44565         # Conflicts:
44566         #       etc/NEWS
44567         #       lisp/help-fns.el
44569 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
44571         Merge from origin/emacs-25
44573         8ad0d7d ; Fix quoting in etc/NEWS
44574         6b9dee1 Change Tramp version to "2.2.13.25.2"
44575         62f2684 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): F...
44576         b2f32e4 Don't scan compiled module files for autoloads
44577         9a758b4 Fix Bug#24698
44578         baa8ba4 * lisp/subr.el (start-process): Doc fix.  (Bug#24693)
44579         e535ca4 Fix display of vc-dir CVS file statuses in subdirectories
44580         12da149 Update URL of MS-Windows optional DLLs
44581         2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
44582         a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)...
44583         b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f...
44584         cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (B...
44586         # Conflicts:
44587         #       doc/misc/trampver.texi
44588         #       etc/NEWS
44589         #       lisp/net/tramp-sh.el
44590         #       lisp/net/trampver.el
44592 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
44594         Merge from origin/emacs-25
44596         b73f466 * lisp/cus-start.el (exec-path): Handle nil elements.  (Bug#2...
44597         55ebb70 Catch the imenu-unavailable error in sh-mode completion table
44598         993acb5 ; Minor fix for last change in characters.el
44599         30c4bb5 More char-width fixes
44600         4eb4463 Fix char-width-table values for some Emoji
44601         528997d Keep point when switching from and to *terminal* buffer
44602         2130005 * INSTALL: Use correct Emacs release number 25.
44603         10835b1 Avoid crashes due to objects read with the #n=object form
44604         4de671d Improve doc string of 'completion-at-point-functions'
44605         ceb46f0 Fix crash in evaluating functions
44606         d8374c4 * src/filelock.c (current_lock_owner): Update comment.
44608 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
44610         Merge from origin/emacs-25
44612         2deb20c Port last_marked change to full-program optimizers
44613         27eb668 Adapt GDB scripts to '--enable-check-lisp-object-type' builds
44614         dac64e3 Avoid optimizing out the last_marked[] array
44616 2016-10-22  Noam Postavsky  <npostavs@gmail.com>
44618         Avoid infinite hscrolling in redisplay
44620         * src/xdisp.c (redisplay_internal): Add a counter to avoid horizontal
44621         scrolling (e.g., caused by pre-redisplay-functions) triggering infinite
44622         redisplay (Bug #24633).
44624 2016-10-22  Michael Albinus  <michael.albinus@gmx.de>
44626         Fix error codes in Tramp
44628         * lisp/net/tramp-compat.el (tramp-compat-user-error): New defsubst,
44629         taken from tramp.el.
44630         (tramp-file-missing): New defconst.
44632         * lisp/net/tramp.el (tramp-user-error): Remove it.
44633         (tramp-check-proper-method-and-host)
44634         (tramp-dissect-file-name, tramp-debug-message)
44635         (tramp-handle-shell-command):
44636         * lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
44637         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
44638         Use `tramp-compat-user-error'.
44640         * lisp/net/tramp.el (tramp-handle-insert-file-contents)
44641         (tramp-handle-load):
44642         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
44643         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy)
44644         * lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
44645         * lisp/net/tramp-smb.el (tramp-smb-handle-file-local-copy):
44646         Use `tramp-file-missing'.  (Bug#24714)
44648         * lisp/net/tramp-sh.el (tramp-sh-handle-add-name-to-file):
44649         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
44650         Use `file-already-exists'.
44652 2016-10-22  Jorgen Schaefer  <contact@jorgenschaefer.de>
44654         Autoload all commands from misc.el
44656         Only two of the commands there were autoloaded, one of which is an
44657         easter egg.
44658         * lisp/misc.el (copy-from-above-command):
44659         * lisp/misc.el (zap-up-to-char):
44660         * lisp/misc.el (mark-beginning-of-buffer):
44661         * lisp/misc.el (mark-end-of-buffer):
44662         * lisp/misc.el (upcase-char):
44663         * lisp/misc.el (forward-to-word):
44664         * lisp/misc.el (backward-to-word):
44665         Add autoload cookie.
44667 2016-10-22  Martin Rudalics  <rudalics@gmx.at>
44669         On terminal frames ignore minibuffer frame parameter (Bug#24758)
44671         * src/frame.c (Fmake_terminal_frame): Don't complain when the
44672         caller asks for a deviant minibuffer setting (Bug#24758).
44674 2016-10-21  Paul Eggert  <eggert@cs.ucla.edu>
44676         New error file-missing
44678         This fixes a recently-introduced bug in delete-directory,
44679         where the code assumes the C locale when determining
44680         whether a file-error corresponds to a missing file (Bug#24714).
44681         * doc/lispref/errors.texi (Standard Errors):
44682         * doc/lispref/files.texi (Changing Files):
44683         * etc/NEWS:
44684         Document this.
44685         * doc/lispref/loading.texi (How Programs Do Loading):
44686         Say "a file-error" rather than "the error file-error" since
44687         it might be a file-missing now.
44688         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
44689         * lisp/epa-file.el (epa-file--find-file-not-found-function):
44690         (epa-file-insert-file-contents, epa-file-write-region):
44691         * lisp/ffap.el (find-file-at-point, dired-at-point):
44692         * lisp/jka-compr.el (jka-compr-insert-file-contents)
44693         (jka-compr-insert-file-contents):
44694         * lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
44695         (ange-ftp-insert-file-contents, ange-ftp-copy-file-internal):
44696         * lisp/progmodes/etags.el (visit-tags-table):
44697         * lisp/url/url-handlers.el (url-copy-file):
44698         * src/fileio.c (report_file_errno):
44699         Signal file-missing if appropriate.
44700         * lisp/epa-file.el (epa-file-insert-file-contents):
44701         * lisp/jka-compr.el (jka-compr-insert-file-contents):
44702         Don't assume file-error is a leaf in the error hierarchy.
44703         * lisp/files.el (files--force):
44704         * lisp/gnus/nnmaildir.el (nnmaildir--enoent-p):
44705         * lisp/jka-compr.el (jka-compr-insert-file-contents):
44706         Use file-missing to detect whether the file is missing.
44707         * lisp/url/url-handlers.el (url-copy-file):
44708         Signal file-already-exists if appropriate.
44709         * src/fileio.c (syms_of_fileio): Define file-missing.
44711         2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
44713 2016-10-21  Mark Oteiza  <mvoteiza@udel.edu>
44715         Teach browse-url to open man page urls
44717         * lisp/net/browse-url.el (browse-url-man-function): New custom option.
44718         (browse-url): Add a condition to catch links matching "^man:".
44719         (browse-url-man): New function.
44721 2016-10-21  Eli Zaretskii  <eliz@gnu.org>
44723         Improve fontification of footnote references in Info buffers
44725         * lisp/info.el (Info-fontify-node): Don't fontify random numbers
44726         in parentheses as if they were footnote references.  See
44727         https://lists.gnu.org/r/bug-texinfo/2016-10/msg00007.html
44728         for the details.
44730 2016-10-20  Philipp Stephani  <phst@google.com>
44732         Minor fixes to cc-mode-tests.el
44734         See Bug#24747.
44736         * test/lisp/progmodes/cc-mode-tests.el: Rename from cc-mode.el; fix typo in
44737         file-local variable; add comments to make checkdoc happy.
44739 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
44741         * etc/NEWS: Fix typos.  Remove entries backported to Emacs 25.2.
44743 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
44745         Document, how to suppress iTerm2 shell integration in Tramp
44747         * doc/misc/tramp.texi (Frequently Asked Questions):
44748         Suppress iTerm2 shell integration.
44750 2016-10-20  Tino Calancha  <tino.calancha@gmail.com>
44752         cl-seq: Remove max limit on input sequence length
44754         * lisp/emacs-lisp/cl-seq.el (cl-fill, cl-replace, cl-delete)
44755         (cl--position, cl-nsubstitute, cl-substitute, cl-remove):
44756         Remove limit on maximum length for the input sequence
44757         (#Bug24264).
44758         * test/lisp/emacs-lisp/cl-seq-tests.el: Update test expected result as passed.
44760 2016-10-19  Mark Oteiza  <mvoteiza@udel.edu>
44762         Derive dig-mode from special-mode
44764         * lisp/net/dig.el: Remove unused cl dependency.  Remove top level
44765         mode-class assignment.
44766         (dig-mode-map): Unmap g, as dig has no notion of reverting the buffer.
44767         (dig-mode): Derive from special-mode.
44768         (dig-exit): Use quit-window instead.
44769         (dig): Use pop-to-buffer-same-window.  Remove redundant assignments.
44770         (query-dig): Use pop-to-buffer-same-window.
44772 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
44774         cl-defstruct: Fix debug spec and check of slot options
44776         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Improve checking of slot
44777         option syntax.  Fix debug spec.  (Bug#24700)
44779 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
44781         isearch: Fix bug in defstruct syntax
44783         * lisp/isearch.el (isearch--state): Use correct form of defstruct slot
44784         options.  (Bug#24685)
44786 2016-10-18  Mark Oteiza  <mvoteiza@udel.edu>
44788         Add an option for eshell-input-filter
44790         * etc/NEWS: Document changes.
44791         * lisp/eshell/em-hist.el (eshell-input-filter): Set value to function
44792         symbol.  Change type to a radio for choosing functions.  Refer to both
44793         new functions.
44794         (eshell-input-filter-default): New function.  Same body as the previous
44795         value of eshell-input-filter.
44796         (eshell-input-filter-initial-space): New function.
44798 2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
44800         delete-directory no longer errors when racing
44802         Problem reported by Glenn Morris for package-test.el (Bug#24714).
44803         * doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this.
44804         * lisp/files.el (files--force): New function.
44805         (delete-directory): Use it to avoid error in this case.
44807 2016-10-17  Yuri Khan  <yuri.v.khan@gmail.com>  (tiny change)
44809         Support Shift selection in nxml-mode commands
44811         * lisp/nxml/nxml-mode.el (nxml-forward-balanced-item)
44812         (nxml-up-element, nxml-backward-up-element, nxml-down-element)
44813         (nxml-backward-down-element, nxml-forward-element)
44814         (nxml-backward-element, nxml-forward-paragraph)
44815         (nxml-backward-paragraph): Use "^p" as the interactive spec, to
44816         support shift-selection.
44818 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
44820         Simplify some loops and cons
44822         * lisp/net/mailcap.el: Replace cl with cl-lib.
44823         (mailcap--get-user-mime-data, mailcap--set-user-mime-data):
44824         (mailcap-parse-mailcaps, mailcap-parse-mailcap-extras):
44825         (mailcap-possible-viewers): Use push and dolist where possible.
44826         (mailcap-viewer-passes-test): Remove unused binding.
44827         (mailcap-add-mailcap-entry): Use push.
44828         (mailcap-mime-info): Remove unused binding.  Use push.
44829         (mailcap-parse-mimetypes): Use dolist.
44831 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
44833         Turn on lexical-binding in auth-source
44835         * lisp/auth-source.el: Turn on lexical-binding.
44836         (auth-source-netrc-parse, auth-source-netrc-normalize):
44837         (auth-source-token-passphrase-callback-function):
44838         (auth-source-netrc-create, auth-source-secrets-search):
44839         (auth-source-macos-keychain-search-items):
44840         (auth-source-plstore-search): Use let instead of lexical-let.
44842 2016-10-17  Martin Rudalics  <rudalics@gmx.at>
44844         Fix frame focus redirection with shared minibuffer windows (Bug#24500)
44846         * src/frame.c (do_switch_frame): Redirect frame focus also when
44847         the frame switched to has its minibuffer window on the selected
44848         frame.
44849         * src/window.c (candidate_window_p): To qualify as candidate
44850         it's not sufficient for the window's frame to just share the
44851         minibuffer window - it must be active as well.
44853 2016-10-17  Eli Zaretskii  <eliz@gnu.org>
44855         Fix time-related data types in 2 editfns.c functions
44857         * src/editfns.c (format_time_string, Fcurrent_time_zone): Pass a
44858         pointer to 'time_t' value to 'emacs_localtime_rz' and 'gmtime_r',
44859         instead of relying on struct timespec's 'tv_sec' member to be of
44860         compatible type.
44862 2016-10-16  Martin Rudalics  <rudalics@gmx.at>
44864         Document atomic windows in Elisp manual (Bug#18170)
44866         * lisp/window.el (display-buffer-in-atom-window): If no `side'
44867         alist entry was specified, use `below' as the doc tells.
44868         * doc/lispref/elisp.texi (Atomic Windows): Add menu entry.
44869         * doc/lispref/windows.texi (Atomic Windows): New section.
44870         (Window Parameters): Update reference.
44872 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44874         New face homoglyph
44876         Suggested by Eli Zaretskii, from a feature request by
44877         Alan Mackenzie (Bug#24468).
44878         * doc/emacs/display.texi (Standard Faces, Text Display):
44879         * etc/NEWS: Document this.
44880         * etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el:
44881         * etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el:
44882         * etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el:
44883         * etc/themes/wombat-theme.el:
44884         Customize homoglyph to be the same as escape-glyph.
44885         * lisp/cus-theme.el (custom-theme--listed-faces):
44886         Add homoglyph.
44887         * lisp/faces.el (homoglyph): New face.
44888         * lisp/startup.el (startup--setup-quote-display): Use it.
44890 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44892         Port to Ubuntu 16.10, which needs gcc -nopie
44894         * configure.ac (emacs_cv_prog_cc_no_pie): Rename from
44895         emacs_cv_prog_cc_nopie.  All usages changed.  Check for -no-pie in
44896         preference to -nopie (Bug#24682).
44898 2016-10-16  Michael Albinus  <michael.albinus@gmx.de>
44900         Fix bug#24665 in Tramp
44902         * doc/misc/tramp.texi (External methods): Do not confuse
44903         method names.  (Bug#24665)
44905 2016-10-15  Sam Steingold  <sds@gnu.org>
44907         use full time objects (lists) instead of floats when possible
44909         * lisp/midnight.el (midnight-buffer-display-time): Remove
44910         (clean-buffer-list): Use float time only for time comparison
44912 2016-10-15  Sam Steingold  <sds@gnu.org>
44914         Save and restore buffer-display-time
44916         * lisp/desktop.el (desktop-locals-to-save): Add `buffer-display-time'
44917         (desktop-read): Set `desktop-file-modtime' before loading the desktop file
44918         (desktop-create-buffer): Adjust `buffer-display-time' for the downtime
44920 2016-10-15  Philipp Stephani  <phst@google.com>
44922         Disable bracketed paste in a terminal in char mode
44924         In char mode, a terminal doesn't accept bracketed paste events,
44925         therefore we should disable them; see Bug#24639.  To decouple the XTerm
44926         management from term.el, introduce a per-buffer setting to disable
44927         bracketed paste for that buffer.  If bracketed paste is inhiited for at
44928         least one buffer in a terminal, it is disabled for the whole terminal.
44930         * lisp/term/xterm.el (xterm-inhibit-bracketed-paste-mode): New mode to
44931         inhibit XTerm bracketed paste per buffer.
44932         (xterm--buffer-terminals, xterm--update-bracketed-paste)
44933         (xterm--bracketed-paste-possible, xterm--is-xterm): New helper
44934         functions.
44935         (xterm--init-bracketed-paste-mode): Remove unused helper
44936         function.
44937         (terminal-init-xterm): Update bracketed paste status when
44938         initializing an XTerm and on window configuration change.
44940         * lisp/term.el (term-char-mode, term-line-mode): Inhibit XTerm
44941         bracketed paste in char mode.
44943 2016-10-15  Dima Kogan  <dima@secretsauce.net>
44945         Undo the effect of CapsLock when other modifiers are present
44947         * src/keyboard.c (make_lispy_event): Effectively undo the effect
44948         of CapsLock if any modifiers other than Shift are present in a key.
44949         (Bug#24456)
44951 2016-10-15  Simen Heggestøyl  <simenheg@gmail.com>
44953         Add tests for foreign completions in CSS mode
44955         * test/lisp/textmodes/css-mode-tests.el
44956         (css-test-foreign-completions): New test for
44957         `css--foreign-completions'.
44958         (css-test-complete-selector-tag): Rename test.
44959         (css-test-complete-selector-class): New test testing completion of
44960         class names in selectors.
44961         (css-test-complete-selector-id): New test testing completion of IDs in
44962         selectors.
44964 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
44966         Cosmetic change to last mm-url change
44968         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
44969         Tweak last change slightly for more readability.
44971 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
44973         Fix problem with submitting binary data via HTTP forms
44975         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
44976         Document the parameters, clean up the code, and make uploading
44977         binary data really work (which it didn't if the binary bits
44978         were in the last part of the data).
44980 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
44982         * lisp/time.el (display-time-string-forms): Fix custom type.
44984 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
44986         Derive Man and WoMan modes from special-mode
44988         * lisp/man.el (Man-mode-map): Set parent to map composed from both
44989         button-buffer-map and special-mode-map.  Remove redundant bindings.
44990         Fix menu to refer to the quit-window command.
44991         (Man-mode): Derive from special-mode.  Fix docstring.  Remove redundant
44992         buffer-read-only binding.
44993         (Man-quit): Remove.
44994         * lisp/woman.el (woman-really-find-file): Use setq-local.
44995         (woman-mode-map): Refer to woman-mode in docstring.
44996         (woman-mode): Derive from special-mode.  Document woman-mode-map in
44997         docstring.  Use setq-local where possible; imenu-generic-expression is
44998         already buffer-local.
44999         (woman-negative-vertical-space): Replace unused binding with _.
45001 2016-10-13  Philipp Stephani  <phst@google.com>
45003         Fix crash in evaluating functions
45005         See Bug#24673
45007         * src/eval.c (funcall_lambda): Fix crash for bogus functions such
45008         as (closure).
45010         * test/src/eval-tests.el (eval-tests--bug24673): Add test.
45012 2016-10-13  Tino Calancha  <tino.calancha@gmail.com>
45014         Add test for Bug#24627
45016         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): New test.
45018 2016-10-12  Eli Zaretskii  <eliz@gnu.org>
45020         * lib-src/etags.c (invalidate_nodes): Remove a redundant nullp test.
45022 2016-10-11  Paul Eggert  <eggert@cs.ucla.edu>
45024         Work around Samba bug with ':' in symlink contents
45026         * src/filelock.c (current_lock_owner): When reading the contents
45027         of a lock, treat the UTF-8 for U+F022 as if it were ':' (Bug#24656).
45029 2016-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
45031         If autoloads buffer is unchanged, mark it as such (bug#23692)
45033         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
45034         If autoloads buffer is unchanged, mark it as such (bug#23692).
45036 2016-10-11  Michael Albinus  <michael.albinus@gmx.de>
45038         Use "26.1" version string in Tramp, fix some comments
45040         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
45041         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
45042         Use "26.1" version string.
45044 2016-10-10  Tino Calancha  <tino.calancha@gmail.com>
45046         form-at-point work for all kind of THINGS
45048         * lisp/thingatpt.el (form-at-point):
45049         Use thing-at-point--read-from-whole-string only if thing-at-point
45050         returns a string (Bug#24605).
45052 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
45054         Fix compilation warnings on MS-Windows
45056         * src/w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Remove
45057         definitions of these macros, which seem to be unneeded and cause
45058         compiler warnings.
45059         * src/fileio.c (NOMINMAX): Avoid compiler warnings about unused
45060         macros.
45061         * src/firstfile.c (dummy_main_reference): Rename from 'dummy' and
45062         make it external, to avoid compiler warning.
45064 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
45066         Spelling and clarity fixes
45068 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
45070         Merge from origin/emacs-25
45072         4f406e9 CC Mode manual: remove reference to former Emacs variable las...
45073         44e402e Allow to disable compaction of font caches
45074         4ff4b66 Allow selection of font for symbols as in Emacs 24.x
45075         c03d44b ; Fix last commit
45076         d4be4f3 ; Fix indexing in lispref manual
45077         ed399f2 ; Minor improvement in documentation of generators
45078         197a6bc Fix horizontal scrolling during Isearch
45079         3566644 Fix infloop in redisplay due to truncated lines and invisible...
45081         # Conflicts:
45082         #       etc/NEWS
45084 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
45086         Merge from origin/emacs-25
45088         c4a5e7e Improve documentation of 'menu-bar-open'
45090 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
45092         Merge from origin/emacs-25
45094         4b347fe Clarify that doc fixes are okay in feature freeze
45095         01669ad Avoid crashes when setting the cursor
45096         f2144ee Restore 'command-debug-status' functionality
45097         ec6e4b9 ; Minor addition to CONTRIBUTE
45099 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
45101         Merge from origin/emacs-25
45103         74b4f13 Document nil args of compare-buffer-substrings
45104         9fc81bc * doc/misc/message.texi (Bcc Warning): Fix markup.
45105         95baa25 * doc/misc/message.texi (Bcc Warning): Document mml-secure-sa...
45107 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
45109         Merge from origin/emacs-25
45111         f1247f0 * lisp/frame.el (blink-cursor-delay): Doc fix.  (Bug#24372)
45112         ace7f14 * lisp/gnus/gnus-art.el (gnus-button-handle-library): Fix typo.
45113         bbf1ffd Regexp Functions doc minor fixes
45115 2016-10-08  Philipp Stephani  <phst@google.com>
45117         Don’t consider nested let-alist forms
45119         See Bug#24641.
45121         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Don’t
45122         consider symbols in nested ‘let-alist’ forms.
45124         * test/lisp/emacs-lisp/let-alist-tests.el
45125         (let-alist--deep-dot-search--nested): Add a unit test.
45127 2016-10-08  Alain Schneble  <a.s@realize.ch>
45129         Support SIGTRAP in kill emulation on Windows
45131         * src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to
45132         'DebugBreakProcess' to cause a breakpoint exception to occur in the
45133         specified process.  On Windows versions prior to Windows XP that do
45134         not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP
45135         (as opposed to EINVAL before this change).
45136         * src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer
45137         and global variable to track state of run-time dynamic linking of this
45138         function.
45140         * etc/NEWS: Add entry to document that 'signal-process' now supports
45141         SIGTRAP.
45143 2016-10-08  Eli Zaretskii  <eliz@gnu.org>
45145         Deprecate 'wp' group and introduce a new group 'text'
45147         * lisp/textmodes/tildify.el (tildify):
45148         * lisp/textmodes/text-mode.el (text-mode-hook):
45149         * lisp/textmodes/table.el (table):
45150         * lisp/textmodes/rst.el (rst):
45151         * lisp/textmodes/refer.el (refer):
45152         * lisp/textmodes/refbib.el (refbib):
45153         * lisp/textmodes/picture.el (picture):
45154         * lisp/textmodes/nroff-mode.el (nroff):
45155         * lisp/textmodes/enriched.el (enriched):
45156         * lisp/textmodes/bib-mode.el (bib):
45157         * lisp/progmodes/ebnf2ps.el (ebnf2ps):
45158         * lisp/nxml/rng-valid.el (relax-ng):
45159         * lisp/view.el (view):
45160         * lisp/ps-print.el (ps-print):
45161         * lisp/printing.el (printing):
45162         * lisp/outline.el (outlines):
45163         * lisp/lpr.el (lpr):
45164         * lisp/delim-col.el (columns): Use 'text' group instead of 'wp'.
45165         * lisp/cus-edit.el (wp): Remove the "text" tag.
45166         (text): New defgroup, inherits from the deprecated 'wp'.
45167         (outlines): Remove, in favor of the definition in outline.el.
45168         (tex): Inherit from 'text'.
45169         Suggested by Drew Adams <drew.adams@oracle.com>.  (Bug#24549)
45171 2016-10-08  Laimonas Vėbra  <laimonas.vebra@yahoo.com>  (tiny change)
45173         Extend dictionary and library-directory handling for Ispell
45175         * lisp/textmodes/ispell.el (ispell-check-version): Allow
45176         overriding LIBDIR via the variable defined by LIBRARYVAR (usually
45177         ISPELL_DICTDIR).
45178         (ispell-valid-dictionary-list): If the -d option to Ispell
45179         specifies an absolute file name, use that regardless of
45180         ispell-library-directory.  (Bug#24439)
45182 2016-10-07  Tassilo Horn  <tsdh@gnu.org>
45184         Fix unescaped \begin{...} in docstring
45186         * lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib): Fix unescaped
45187         \begin{...} in docstring.
45189 2016-10-06  Noah Friedman  <friedman@splode.com>
45191         Update comment.
45193 2016-10-06  Eli Zaretskii  <eliz@gnu.org>
45195         Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2
45197         * nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
45198         defining to avoid redefinition warnings.
45200         * nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
45201         inclusion of sys/stat.h from the system headers, which could then
45202         lead to compilation errors due to redefinition of 'struct stat'
45203         etc.  This is needed because latest versions of MinGW runtime
45204         include sys/stat.h from wchar.h.
45206         * src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
45207         redefine to 4 to avoid conflict between 2 definitions of
45208         MemoryBarrier.  (Bug#24613)
45210 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
45212         * lisp/url/url-parse.el (url-generic-parse-url): Unquote macro URL argument.
45214 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
45216         Autoload entry point testcover-start
45218         * lisp/emacs-lisp/testcover.el: Add autoload cookie for
45219         testcover-start.
45221 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
45223         Bump version of ntlm.el to 2.1.0
45225         * lisp/net/ntlm.el: Bump version to 2.1.0.
45227 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
45229         lisp/net/ntlm.el: Fix comment and docstring formatting
45231 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
45233         lisp/net/ntlm.el: Match Mozilla Type 1 and 3 message behavior
45235         * lisp/net/ntlm.el (ntlm-build-auth-request): Only set
45236         "negotiate domain supplied" bit when a domain is supplied.  Do
45237         not set "negotiate workstation supplied" bit.
45238         (ntlm-build-auth-response): Set domain to empty string by
45239         default.  Set workstation name to "WORKSTATION".  Set flags to
45240         logical and of Type 1 and Type 2 message flags.  Remove four
45241         trailing 0 bytes.  Always set LM response.  Hard-code domain
45242         offset.  Reorder buffer fields.
45244 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
45246         Document return value of `display-buffer-in-side-window'
45248         * doc/lispref/windows.texi (Displaying Buffers in Side Windows):
45249         * lisp/window.el (display-buffer-in-side-window): Describe
45250         return value of `display-buffer-in-side-window'.
45252 2016-10-05  Eli Zaretskii  <eliz@gnu.org>
45254         Improve wording in side windows documentation
45256         * doc/lispref/windows.texi (Displaying Buffers in Side Windows)
45257         (Side Window Options and Functions)
45258         (Frame Layouts with Side Windows): Minor wording improvements.
45260 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
45262         Document and fix some bugs with side windows
45264         Add a documentation for side windows and fix some bugs
45265         found when testing their behavior.  Also add a new window
45266         parameter `no-delete-other-window', a new `display-buffer'
45267         alist member called `window-parameters', and functions to
45268         toggle and reverse side windows on a frame.  Add new function
45269         `window-swap-states' to exchange states of two live windows.
45271         * lisp/window.el (display-buffer-in-atom-window): Use
45272         `split-window-no-error'.
45273         (window-sides-vertical): Maybe change layouts when setting this
45274         variable.
45275         (window-sides-reversed): New option.
45276         (window-sides-slots): Rewrite doc-string and help echoes.
45277         (window-sides-shown): New buffer-local variable set when showing
45278         a buffer in a side window.
45279         (window--sides-inhibit-check): New variable.
45280         (window--sides-reverse-on-frame-p, window-toggle-side-windows)
45281         (window--sides-reverse-all, window--sides-reverse-frame)
45282         (window--sides-reverse-side, window--sides-reverse)
45283         (window--sides-verticalize-frame, window--sides-verticalize)
45284         (window--sides-check-failed): New functions.
45285         (window--side-window-p): Remove function.
45286         (window--major-non-side-window): Rename to `window-main-window',
45287         adjust callers, rewrite doc-string.
45288         (window--major-side-window): Rename to
45289         `window--make-major-side-window-next-to', adjust caller, fix
45290         doc-string.
45291         (display-buffer-in-major-side-window): Rename to
45292         `window--make-major-side-window', adjust
45293         caller, rewrite doc-string.  Make `window-side' and
45294         `window-slot' parameters persistent (Bug#23858).  Don't set
45295         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
45296         (delete-side-window): Remove function.
45297         (display-buffer-in-side-window): Fix doc-string.  Don't set
45298         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
45299         (window--side-check): Rename to window--sides-check.  Rewrite
45300         completely.  Adjust caller.
45301         (window-resize-no-error): Don't describe PIXELWISE argument.
45302         (adjust-window-trailing-edge): Fix bug that disallowed
45303         re-enlarging windows that were too small.
45304         (window-deletable-p): Don't tell that a minibuffer window on a
45305         non-minibuffer-only frame can be deleted.  Fix doc-string.
45306         (delete-window): Handle deleting a side window here (the
45307         `delete-window' parameter is no more set for side windows).
45308         (delete-other-windows): Handle ‘no-delete-other-window'
45309         parameter. Don't treat side windows separately (see discussion
45310         of Bug#24368) but keep optimization that makes the main window
45311         the root window of its frame.
45312         (switch-to-prev-buffer, switch-to-next-buffer): Handle side
45313         windows and buffers shown in side windows separately.
45314         (split-window-no-error): New function.
45315         (window--state-get-1): Use right buffer when storing window
45316         point and start positions and WRITABLE is nil (Bug#24368).
45317         (window--state-put-1): Fix handling of `window-combination-limit'.
45318         Use `split-window-no-error'.
45319         (window--state-put-2): Try to restore windows with preserved
45320         size to their original size.  Fix bug where a fixed window's width
45321         was not preserved.
45322         (window-state-put): When reducing an internal window to a live
45323         one, don't choose a side window.
45324         (window-swap-states): New function.
45325         (window-splittable-p): Don't call `window--side-window-p'.
45326         (window--display-buffer): Handle `window-parameters' ALIST entry.
45327         Minor rewrite.
45328         (display-buffer): Mention `window-parameters' entry in
45329         doc-string.
45330         (display-buffer-at-bottom): Call `split-window-no-error'.
45332         * doc/lispref/elisp.texi (Top): New section "Side Windows".
45333         * doc/lispref/windows.texi (Deleting Windows): Fix descriptions
45334         of `delete-window' and `delete-other-windows' wrt window
45335         parameters and side windows.
45336         (Display Action Functions): Mention `window-parameters' ALIST
45337         entry.
45338         (Side Windows): New section (Bug#18170).
45339         (Window Configurations): Describe new function `window-swap-states'.
45340         (Window Parameters): Say that functions may behave specially when
45341         their homonymous window parameter has been set.  Mention new
45342         parameter `no-delete-other-window'.  Add cross reference for
45343         `window-side' and `window-slot' parameters.
45345 2016-10-04  John Wiegley  <johnw@newartisans.com>
45347         Add documentation note from Alex
45349 2016-10-04  Mark Oteiza  <mvoteiza@udel.edu>
45351         Avoid dynamic binding on a symbol
45353         Instead, bind history in the default minibuffer-history.
45354         Fixes bug#24580.
45355         * lisp/replace.el (query-replace-read-from): Let-bind
45356         minibuffer-history.  Change read-regexp and read-from-minibuffer's
45357         HISTORY arguments to nil so that they use minibuffer-history.
45359 2016-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
45361         * src/fileio.c (Finsert_file_contents): Fix hook handling (bug#24340)
45363         * src/fileio.c (Finsert_file_contents): Run before-change-hooks before
45364         deleting the old buffer content.
45365         * src/lisp.h (del_range_byte):
45366         * src/insdel.c (del_range_byte): Drop the last argument.
45367         * src/fns.c (Fbase64_encode_region): Adjust accordingly.
45369 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
45371         Ibuffer: 'w' and 'B' default to buffer at current line
45373         See discussion in:
45374         https://lists.gnu.org/r/emacs-devel/2016-09/msg00384.html
45375         * lisp/ibuffer.el (ibuffer--near-buffers): New defun;
45376         return buffers near current line.
45377         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): Use it.
45378         Add argument ARG; if a non-zero integer, return next ARG buffers.
45379         Otherwise return the marked buffers.
45380         If there are not marked buffers, return buffer at current line
45381         without prompting the user.
45382         Use ibuffer-get-marked-buffers instead of ibuffer-map-marked-lines.
45383         Append to kill ring when last command was a kill-region.
45384         (ibuffer-copy-filename-as-kill): Idem.
45385         Simplify the code.
45386         Use ibuffer-buffer-file-name instead of buffer-file-name to
45387         include buffers in Dired mode.
45389 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
45391         dired-mark-extension: Unmark if called with C-u prefix
45393         See discussion in #Bug2518 and:
45394         https://lists.gnu.org/r/emacs-devel/2016-09/msg00711.html
45395         * lisp/dired-x.el (dired-mark-extension):
45396         Update interactive calls: a prefix arg C-u unmark files;
45397         a prefix C-u C-u prompt for MARKER-CHAR and mark files with it.
45398         (dired-mark-sexp):
45399         Show in the prompt that we are unmarking if called with a prefix argument.
45400         * doc/misc/dired-x.texi (Advanced Mark Commands):
45401         Update documentation for 'dired-mark-extension'.
45403 2016-10-02  Karl Fogel  <kfogel@red-bean.com>
45405         Document yank behavior in the right place
45407         * lisp/simple.el (yank): Document the handling of the
45408         `yank-handled-properties' and `yank-excluded-properties' variables,
45409         and the `yank-handler' text property.
45410         (yank-pop): Refer to `yank' now (bug#286)
45412         * lisp/subr.el (insert-for-yank): Refer to `yank' now.
45413         (insert-for-yank-1): Refer to `insert-for-yank' now.
45415         See this thread for discussion:
45417           https://lists.gnu.org/r/emacs-devel/2016-09/threads.html#00329
45418           From: Karl Fogel
45419           To: Emacs Devel
45420           Subject: Question about intended behavior of 'insert-for-yank-1'.
45421           Date: Mon, 12 Sep 2016 00:17:14 -0500
45422           Message-ID: <874m5lr92d.fsf@red-bean.com>
45424 2016-10-02  Philipp Stephani  <phst@google.com>
45426         Restart blink cursor timers on interval changes
45428         This prevents surprising behavior when timer interval customizations are
45429         only applied whenever the timers happen to be restarted (see Bug#24372).
45431         * lisp/frame.el (blink-cursor--start-idle-timer)
45432         (blink-cursor--start-timer): New functions.
45433         (blink-cursor-start, blink-cursor-check, blink-cursor-mode): Use
45434         the new helper functions.
45435         (blink-cursor-delay, blink-cursor-interval): Restart timers when
45436         the value is changed.
45438 2016-10-01  Philipp Stephani  <phst@google.com>
45440         Use a simple keyword for a non-nil argument
45442         The second argument of `run-with-idle-timer' is Boolean, i.e. only nil
45443         and non-nil values are distinguished.  Passing a number here is
45444         confusing.  Pass a descriptive symbol instead.
45446         * lisp/frame.el (blink-cursor-mode, blink-cursor-check): Use
45447         :repeat symbol instead of number for second argument of
45448         `run-with-idle-timer'
45450 2016-10-01  Philipp Stephani  <phst@google.com>
45452         Make querying to kill processes customizable
45454         Introduce a new customization option, `confirm-kill-processes', that
45455         users can set to nil if they don't want Emacs to nag them about killing
45456         processes.
45458         * lisp/files.el (confirm-kill-processes): New customization option.
45459         (save-buffers-kill-emacs): Use customization option.
45461         * test/lisp/files-tests.el
45462         (files-test--save-buffers-kill-emacs--confirm-kill-processes): Add
45463         test for new customization option.
45465         * doc/emacs/entering.texi (Exiting): Document new user option.
45467         * doc/lispref/processes.texi (Query Before Exit): Document new
45468         user option.
45470         * etc/NEWS: Document new user option.
45472 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
45474         Set :version of 'debugger-stack-frame-as-list'
45476         * lisp/cus-start.el (debugger-stack-frame-as-list): Give value to
45477         the ':version' attribute.
45479 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
45481         Bump Emacs version to 26.0.50
45483         * README:
45484         * configure.ac:
45485         * etc/NEWS:
45486         * etc/refcards/ru-refcard.tex:
45487         * msdos/sed2v2.inp:
45488         * src/msdos.c: Increment Emacs version to 26.0.50.
45489         * etc/NEWS.25: New file, copied from etc/NEWS with post-25.1 stuff
45490         moved to etc/NEWS.
45492 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
45494         Avoid compilation warning on MinGW
45496         * src/w32.c: Include string.h, needed for the prototype of
45497         'strerror', shadowed by 'sys_strerror'.  This avoids a compiler
45498         warning about "no previous prototype".  The string.h header
45499         must be included after ms-w32.h, but before "#undef strerror".
45501 2016-09-30  Alan Third  <alan@idiocy.org>
45503         Fix compatibility with macOS 10.12 pmset (bug#24537)
45505         * lisp/battery.el (battery-pmset): Recognize and ignore battery id if
45506         present in output.
45508 2016-09-30  Paul Eggert  <eggert@cs.ucla.edu>
45510         Limit <config.h>’s includes
45512         This follows up on recent problems with the fact that config.h
45513         includes stdlib.h etc.; some files need to include stdlib.h later.
45514         config.h generally should limit itself to includes that are
45515         universally safe; outside of MS-Windows, only stdbool.h makes
45516         the cut among the files currently included.  So, move the
45517         other includes to just the files that need them (Bug#24506).
45518         * configure.ac (config_opsysfile): Remove, as this generic hook
45519         is no longer needed.
45520         * lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
45521         * src/w32proc.c (_GNU_SOURCE):
45522         Remove, as it’s OK for config.h to do this now.
45523         * src/conf_post.h: Include <ms-w32.h>, instead of the generic
45524         config_opsysfile, for simplicity as this old way of configuring is
45525         now done only for the MS-Windows port.  Do not include <ms-w32.h>
45526         if DEFER_MS_W32_H, for the benefit of the few files that want its
45527         effects later.  Do not include <alloca.h>, <string.h>, or
45528         <stdlib.h>.  Other files modified to include these headers as
45529         needed, or to not include headers that are no longer needed.
45530         * src/lisp.h: Include <alloca.h> and <string.h> here, since
45531         some of the inline functions need them.
45532         * src/regex.c: Include <alloca.h> if not emacs.  (If emacs,
45533         we can rely on SAFE_ALLOCA.)  There is no longer any need to
45534         worry about HAVE_ALLOCA_H.
45535         * src/unexmacosx.c: Rely on config.h not including stdlib.h.
45536         * src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
45537         Define before including <config.h> first, and include <ms-w32.h>
45538         after the troublesome headers.
45540 2016-09-30  Vasilij Schneidermann  <v.schneidermann@gmail.com>
45542         New user option 'debugger-stack-frame-as-list'
45544         * src/eval.c (syms_of_eval) <debugger-stack-frame-as-list>: New
45545         variable.
45546         * lisp/cus-start.el (standard): Add debugger-stack-frame-as-list.
45547         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Adjust
45548         backtrace processing for the value of debugger-stack-frame-as-list.
45549         * lisp/emacs-lisp/edebug.el (edebug-backtrace): Adjust backtrace
45550         processing for the value of debugger-stack-frame-as-list.
45551         * doc/lispref/debugging.texi (Internals of Debugger): Document
45552         debugger-stack-frame-as-list.
45553         * etc/NEWS: Mention 'debugger-stack-frame-as-list'.
45555 2016-09-30  Aurelien Aptel  <aaptel@suse.com>
45557         * src/alloc.c: call only non-null finalizers
45559 2016-09-30  Eli Zaretskii  <eliz@gnu.org>
45561         Avoid compiler warnings in image.c on MS-Windows
45563         * src/image.c (DrawText, g_type_init) [WINDOWSNT]: Avoid compiler
45564         warning about unused macros.
45566 2016-09-30  Paul Rankin  <hello@paulwrankin.com>
45568         * lisp/outline.el (outline-invisible-p): Only return `t' for
45569         the 'outline property.
45571 2016-09-29  Paul Eggert  <eggert@cs.ucla.edu>
45573         Fix problems found by static checking --with-ns
45575         This is for Fedora 24 when configured with --enable-gcc-warnings.
45576         Although it does not fix all the problems, it fixes many of them.
45577         * src/frame.c (XParseGeometry):
45578         * src/nsterm.m (mouseDown:):
45579         Mark locals with UNINIT to pacify --enable-gcc-warnings.
45580         * src/image.c (PIX_MASK_DRAW, DefaultDepthOfScreen):
45581         Remove unused macros.
45582         (slurp_file xbm_scan, xbm_read_bitmap_data, xbm_load_image)
45583         (xbm_file_p, xbm_load, xpm_scan, xpm_make_color_table_v)
45584         (xpm_put_color_table_v, xpm_get_color_table_v)
45585         (xpm_make_color_table_h, xpm_put_color_table_h)
45586         (xpm_get_color_table_h, xpm_load_image, xpm_load)
45587         (pbm_next_char, pbm_scan_number, pbm_load, svg_load)
45588         (svg_load_image):
45589         * src/nsfns.m (x_get_string_resource):
45590         * src/nsimage.m (ns_image_from_XBM):
45591         Fix pointer signedness problems.
45592         * src/image.c (xpm_load_image, x_build_heuristic_mask, pbm_load)
45593         (imagemagick_load_image): Omit unused locals.
45594         * src/nsfns.m (ns_send_types, ns_return_types, ns_drag_types)
45595         (Fx_open_connection):
45596         * src/nsfont.m (ns_antialias_threshold):
45597         Move extern decl to nsterm.h so it can be checked.
45598         * src/nsmenu.m (svcsMenu, dockMenu):
45599         Move to the only file that uses them, so they can be static.
45600         * src/nsterm.h (find_and_call_menu_selection):
45601         * src/nsterm.m (x_set_frame_alpha):
45602         Omit duplicate decls.
45603         * src/nsterm.h (ns_dump_glyphstring): Mark as EXTERNALLY_VISIBLE.
45604         * src/nsfns.m (ns_tooltip, ns_display_info_for_name)
45605         (ns_set_name_as_filename, x_set_menu_bar_lines)
45606         (x_set_tool_bar_lines, x_set_internal_border_width):
45607         * src/nsterm.m (ns_drag_types, ns_draw_text_decoration):
45608         Now static.
45609         * src/nsfns.m (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp):
45610         * src/nsterm.m (ns_free_indexed_color, ns_color_to_lisp):
45611         Remove; unused.
45612         * src/nsfont.m (ns_dump_glyphstring):
45613         * src/nsterm.m (hide_bell, ns_get_color, ns_color_to_lisp)
45614         (ns_clear_frame, keyDown:):
45615         Fix signedness problem with printf arg.
45616         * src/nsterm.h (ns_input_events, ns_finish_events):
45617         * src/nsterm.m (ns_finish_events, hide_bell):
45618         Prototype the decls.
45619         * src/nsterm.m (NSMenuDidBeginTrackingNotification):
45620         Omit unnecessary decl.
45621         (dockMenu):
45622         (mainMenu) [NS_IMPL_COCOA]: Now static, and in this file.
45623         (ns_dumpglyphs_box_or_relief, changeFont:, initFrameFromEmacs:)
45624         (toggleFullScreen:): Use FACE_FROM_ID instead of
45625         FACE_FROM_ID_OR_NULL in contexts where the caller expects the
45626         result to be non-null.
45627         (applicationShouldTerminate:): Fix misleading indentation.
45629 2016-09-28  Mark Oteiza  <mvoteiza@udel.edu>
45631         Turn on more lexical-binding
45633         * lisp/dom.el:
45634         * lisp/faces.el:
45635         * lisp/htmlfontify.el: Turn on lexical-binding.
45636         (htmlfontify-string): Use pushnew instead of add-to-list.
45637         * lisp/info-xref.el:
45638         * lisp/isearch.el:
45639         * lisp/man.el:
45640         * lisp/ps-def.el:
45641         * lisp/ps-print.el:
45642         * lisp/replace.el: Turn on lexical-binding.  Require cl-lib at compile
45643         time.
45644         (multi-occur): Use cl-pushnew instead of add-to-list.
45645         (replace-match-string-symbols): Remove unused lexical variable.
45646         (replace-search, replace-highlight): Fix argument shadowing.
45647         * lisp/sort.el:
45648         * lisp/xml.el: Turn on lexical-binding.
45649         (xml--parse-buffer): Use push instead of add-to-list.
45650         * lisp/xt-mouse.el: Turn on lexical-binding.
45652 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
45654         * admin/notes/bug-triage: Do not mention closed bugs
45656         * admin/notes/bug-triage: Do not mention closed bugs, they are
45657         suppressed by default in debbugs-{gnu,org}.
45659 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
45661         * etc/PROBLEMS: Remove problem Bug#22814, again.
45663 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
45665         Stick with debbugs-supported tags in triage
45667         * admin/notes/bug-triage: Stick to the tag "unreproducible", which
45668         debbugs supports, rather than suggesting "doneunreproducible" or
45669         "unreproducable".
45671 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
45673         Merge from origin/emacs-25
45675         9fc9988 Improve documentation of 'expand-abbrev' and wrapper hooks
45676         c14a1d4 Minor copyedits of MS-Windows installation instructions
45677         f281924 Fix display of cursor when 'blink-cursor-delay' has small value
45679         # Conflicts:
45680         #       lisp/minibuffer.el
45682 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
45684         Merge from origin/emacs-25
45686         0ae9a81 Document 'timerp'
45687         2c72c46 Improve documentation of overlay priorities
45688         f6fa160 Fix 'dired-compress-files'
45689         2b8c5f0 Update commentary of STRING_CHAR and FETCH_MULTIBYTE_CHAR
45691         # Conflicts:
45692         #       lisp/dired.el
45693         #       src/buffer.h
45694         #       src/character.h
45696 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
45698         Merge from origin/emacs-25
45700         cf9e174 Document the optional zlib library in MS-Windows builds
45701         84eb144 ; * admin/notes/unicode: Mention BidiCharacterTest.txt.
45702         73c67dd Fix tagging of DEFUN by etags
45703         ea1960b Avoid resetting track-mouse by mouse clicks
45704         505fef3 Improve nt/README.W32 instructions
45705         1229cc4 Document that desktop file overrides frame parameters
45706         f0eb70d ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 release
45708         # Conflicts:
45709         #       ChangeLog.2
45710         #       admin/notes/unicode
45711         #       lisp/ldefs-boot.el
45713 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
45715         Merge from origin/emacs-25
45717         0ffc9ce Update admin/authors.el
45718         0ad7410 Update Antinews in ELisp manual
45719         ea0f750 Fix comments on window height macros
45720         0bbdeed Fix 'url-http-create-request' when cookies are used
45721         0045998 Fix cross reference in frames.texi
45722         1392894 ; * etc/DEBUG: Minor copyedits.
45723         304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB.
45724         56bf7d7 Fix regexp-opt documentation (bug #17862)
45725         803ad6f ; Fix documentation of seq-subseq
45726         ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc...
45727         88ea396 ; Spelling fixes
45728         17197d0 Fix tags-query-replace docstring
45729         80a7f8b Clarify documentation of precision in format specs
45730         88a5052 Improve and clarify documentation of subprocesses
45731         89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247).
45733         # Conflicts:
45734         #       etc/PROBLEMS
45735         #       src/process.c
45737 2016-09-26  Michael Albinus  <michael.albinus@gmx.de>
45739         * lisp/net/tramp-compat.el (tramp-compat-funcall): Don't use `subrp'.
45741 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
45743         Fix 'dired-mark-extension' with prefix argument
45745         * lisp/dired-x.el (dired-mark-extension): Allow to specify
45746         MARKER-CHAR interactively as a string, not as a character's
45747         codepoint.  (Bug#24518)
45749         * doc/misc/dired-x.texi (Advanced Mark Commands): Document the
45750         behavior when invoked with a prefix arg.
45752 2016-09-24  Simen Heggestøyl  <simenheg@gmail.com>
45754         Support completion of classes and IDs in CSS mode
45756         * lisp/textmodes/css-mode.el (css-class-list-function): New variable
45757         holding the function to call for retrieving completions of class
45758         names.
45759         (css-id-list-function): New variable holding the function to call for
45760         retrieving completions of IDs.
45761         (css--foreign-completions): New function for retrieving completions
45762         from other buffers.
45763         (css--complete-selector): Support completing HTML class names and IDs
45764         from other buffers in addition to completing HTML tags.
45766         * lisp/textmodes/sgml-mode.el (html--buffer-classes-cache): New
45767         variable holding a cache for `html-current-buffer-classes'.
45768         (html--buffer-ids-cache): New variable holding a cache for
45769         `html-current-buffer-ids'.
45770         (html-current-buffer-classes): New function returning a list of class
45771         names used in the current buffer.
45772         (html-current-buffer-ids): New function returning a list of IDs used
45773         in the current buffer.
45774         (html-mode): Set `css-class-list-function' and `css-id-list-function'
45775         to `html-current-buffer-classes' and `html-current-buffer-ids'
45776         respectively.
45778 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
45780         Update test suite files due to removal of test/lisp/legacy
45782         * test/README: Reference file-organization.org.
45783         * test/file-organization.org: Remove the description of files in
45784         the lisp/legacy/ directory.
45786 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
45788         Incorporate syntax-tests in lisp-tests.
45790         * test/lisp/emacs-lisp/lisp-tests.el: Add tests from
45791         test/lisp/legacy/syntax-tests.el.
45792         * test/lisp/legacy/syntax-tests.el: File deleted.
45794 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
45796         Incorporate occur-tests in replace-tests
45798         * test/lisp/replace-tests.el: Add tests from
45799         test/lisp/legacy/occur-tests.el.
45800         * test/lisp/legacy/occur-tests.el: File deleted.
45802 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
45804         Incorporate lexbind-tests.el in bytecomp-test.el
45806         * test/lisp/emacs-lisp/bytecomp-tests.el: Added tests from
45807         test/lisp/legacy/lexbind-tests.el.
45808         * test/lisp/legacy/lexbind-tests.el: File deleted.
45810 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
45812         Improve integer overflow handling a bit
45814         * src/charset.c (read_hex): Use INT_LEFT_SHIFT_OVERFLOW for clarity.
45815         The machine code is the same on my platform.
45816         * src/doprnt.c (doprnt):
45817         * src/emacs-module.c (module_funcall):
45818         * src/font.c (font_intern_prop):
45819         * src/keyboard.c (Frecursion_depth):
45820         * src/lread.c (read1):
45821         Use WRAPV macros instead of checking overflow by hand.
45822         * src/editfns.c (hi_time, time_arith, decode_time_components):
45823         * src/emacs-module.c (Fmodule_load):
45824         Simplify by using FIXNUM_OVERFLOW_P.
45825         * src/emacs-module.c: Include intprops.h.
45826         * src/xdisp.c (percent99): New function.
45827         (decode_mode_spec): Use it to simplify overflow avoidance and
45828         formatting of %p and %P.
45830 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
45832         Incorporate core-elisp-tests in lisp-tests
45834         * test/lisp/emacs-lisp/lisp-tests.el: Added tests from
45835         test/lisp/legacy/core-elisp-tests.el.
45836         * test/lisp/legacy/core-elisp-tests.el: File removed.
45838 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
45840         Move coding-tests.el and decoder-test.el to their places
45842         * test/src/coding-tests.el: Added all the tests from
45843         test/lisp/legacy/decoder-tests.el.
45844         * test/lisp/legacy/decoder-tests.el: File deleted.
45846 2016-09-23  Vibhav Pant  <vibhavp@gmail.com>
45848         Use correct TYPE value for displaying error messages in (erc-display-message)
45850 2016-09-23  Eli Zaretskii  <eliz@gnu.org>
45852         Bump the version to 25.2.50
45854         * README:
45855         * configure.ac:
45856         * etc/NEWS:
45857         * msdos/sed2v2.inp: Increment the Emacs version to 25.2.50.
45859 2016-09-22  Tino Calancha  <tino.calancha@gmail.com>
45861         ibuffer-do-view-other-frame: Display each buffer in a new frame
45863         * lisp/ibuffer.el (ibuffer-do-view-1):
45864         When TYPE equals 'other-frame, then display each buffer
45865         in a new frame (Bug#24086).
45867 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
45869         Update from gnulib
45871         This incorporates:
45872         2016-09-22 stdint: port to GCC 7
45873         2016-09-22 limits-h, stdint: don't assume extensions
45874         * doc/misc/texinfo.tex, m4/limits-h.m4, m4/stdint.m4: Copy from gnulib.
45876 2016-09-22  Alan Mackenzie  <acm@muc.de>
45878         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Fix coding error
45880 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
45882         Port recent flexmember changes to NetBSD
45884         The NetBSD library supports localtime_rz directly, and without
45885         this change 'configure' omitted the flexmember test that is marked
45886         as conditional on localtime_rz.  Emacs now needs to use
45887         flexmember.m4 even when localtime_rz works.
45888         Problem reported by Thomas Klausner.
45889         * admin/merge-gnulib (GNULIB_MODULES): Add flexmember.
45890         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
45892 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
45894         * doc/misc/texinfo.tex: Copy from gnulib.
45896 2016-09-21  Michael Albinus  <michael.albinus@gmx.de>
45898         * lisp/net/tramp.el (tramp-clear-passwd): Call also `auth-source-forget'.
45900 2016-09-20  Paul Eggert  <eggert@cs.ucla.edu>
45902         Use flexmembers on IBM XL C for AIX
45904         This removes a workaround where Emacs did not use flexible
45905         array members when compiled with IBM XL C.  Instead, avoid
45906         the problem by making the aliasing issues more obvious to
45907         this compiler.
45908         * admin/merge-gnulib: Don’t remove m4/flexmember.m4.
45909         * m4/flexmember.m4: Copy from gnulib.
45910         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Remove workaround.
45911         * src/alloc.c (allocate_string_data): Rephrase to avoid aliasing
45912         problem that would otherwise mess up code generated for flexible
45913         array members by IBM XL C for AIX, V12.1.
45914         * src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Remove; now done
45915         by gnulib code.
45917 2016-09-19  Michael Albinus  <michael.albinus@gmx.de>
45919         Fix a problem with Tramp when the temporary dir isn't C:/Temp on w32
45921         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): Don't use
45922         `tramp-drop-volume-letter' any longer, it causes collateral
45923         damages.  Reported by Chris Zheng <chriszheng99@gmail.com>.
45925 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
45927         Port January __morecore changes to AIX 7.1
45929         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE, __morecore)
45930         (__after_morecore_hook):
45931         * src/ralloc.c (__morecore):
45932         Declare if DOUG_LEA_MALLOC is not defined, not if HAVE_MALLOC_H is
45933         not defined.  <malloc.h> does not declare these in AIX 7.1.
45935 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
45937         Define _GNU_SOURCE in files delaying config.h
45939         Problem reported by Richard Copley in:
45940         https://lists.gnu.org/r/emacs-devel/2016-09/msg00440.html
45941         * src/w32.c, src/w32notify.c, src/w32proc.c (_GNU_SOURCE):
45942         Define early.
45944 2016-09-17  Eli Zaretskii  <eliz@gnu.org>
45946         Update the bidi test code and data
45948         * test/manual/BidiCharacterTest.txt: Import the version from
45949         Unicode Standard 9.0.0.
45950         * test/manual/biditest.el (biditest-generate-testfile): Allow 'x'
45951         in the 4th field of the test data.
45953 2016-09-17  Tino Calancha  <tino.calancha@gmail.com>
45955         ibuffer-do-toggle-read-only: Fix unused argument
45957         * lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call
45958         'read-only-mode' with ARG when its an integer.
45959         Clarify the meaning of ARG in doc string.
45961 2016-09-17  Alan Mackenzie  <acm@muc.de>
45963         Improve accuracy of line/column numbers in byte compiler's warning messages.
45965         * lisp/emacs-lisp/bytecomp.el (byte-compile-set-symbol-position): ensure new
45966         value of byte-compile-last-position is not lower than old value.
45967         (byte-compile-function-warn): call byte-compile-set-symbol-position.
45969 2016-09-17  Michael Albinus  <michael.albinus@gmx.de>
45971         Minor Tramp tweaks
45973         * lisp/net/tramp.el (tramp-get-buffer): Reuse connection
45974         property "process-buffer" if already existing.
45975         (tramp-connectable-p): Suppress debug messages.
45977 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
45979         Define _GNU_SOURCE in unexmacosx.c
45981         Problem reported by Bob Halley in:
45982         https://lists.gnu.org/r/emacs-devel/2016-09/msg00427.html
45983         * src/unexmacosx.c (_GNU_SOURCE): Define if not already defined.
45985 2016-09-16  Alan Mackenzie  <acm@muc.de>
45987         C Mode: Fix mis-fontification of macro invocation as function declaration
45989         This happened with a macro invocation which was followed by a statement block
45990         in braces.
45992         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 11: distinguish
45993         between contexts nil and top, being less permissive in the former case.
45994         (c-just-after-func-arglist-p): call c-forward-decl-or-cast-1 with context top.
45996 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
45998         Improve the doc string of 'format'
46000         * src/editfns.c (Fformat): Fix ambiguity in the doc string's usage
46001         of a literal period.  (Bug#24407)
46003 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
46005         Improve doc strings in whitespace.el
46007         * lisp/whitespace.el (whitespace-mode, whitespace-newline-mode)
46008         (global-whitespace-mode, global-whitespace-newline-mode): Improve
46009         the doc strings.  (Bug#24413)
46011 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
46013         Improve detectability of 'next-logical-line' and 'previous-logical-line'
46015         * lisp/simple.el (next-line, previous-line): Mention
46016         'next-logical-line' and 'previous-logical-line' in the doc
46017         strings.  (Bug#24443)
46019 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
46021         Update from gnulib
46023         This incorporates:
46024         2016-09-16 extensions: fix typo in comment
46025         2016-09-16 stdio: don't redefine __USE_MINGW_ANSI_STDIO
46026         * m4/extensions.m4, m4/stdio_h.m4: Copy from gnulib.
46028 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
46030         Prefer now-standard int width macros
46032         * src/data.c (ULL_WIDTH):
46033         * src/lisp.h (EMACS_INT_WIDTH, BITS_PER_BITS_WORD):
46034         * src/lread.c (read_integer):
46035         * src/term.c (produce_glyphless_glyph):
46036         * src/xterm.c (x_send_scroll_bar_event):
46037         Use *_WIDTH macros instead of CHAR_BIT * sizeof.
46038         * src/data.c (ULL_WIDTH): Rename from BITS_PER_ULL for consistency
46039         with the *_WIDTH standard macros.  All uses changed.
46040         * src/gmalloc.c (INT_BIT): Remove.  All uses replaced with INT_WIDTH.
46041         * src/lisp.h (EMACS_INT_WIDTH): Rename from BITS_PER_EMACS_INT
46042         for consistency with the *_WIDTH standard macros.  All uses changed.
46043         (BITS_PER_CHAR): Remove; all uses replaced by CHAR_BIT.  This must
46044         be the same as CHAR_WIDTH and avoids confusion with Elisp
46045         char-width, which counts columns not bits.
46046         (BITS_PER_SHORT): Remove; all uses replaced by SHRT_WIDTH.
46047         (BITS_PER_LONG): Remove; all uses replaced by LONG_WIDTH.
46048         * src/lread.c: Do not include limits.h since CHAR_BIT is no longer
46049         used directly.
46051 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
46053         Update from gnulib
46055         This incorporates:
46056         2016-09-15 stdint: support new _WIDTH macros
46057         2016-09-15 limits-h: new module
46058         2016-09-15 sys_types: avoid glibc 2.25 warnings about major()
46059         2016-09-15 extensions: port to more ISO C TSes
46060         2016-09-13 intprops: new macro TYPE_WIDTH
46061         2016-09-13 extensions: port to recent ISO C TRs
46062         * .gitignore: Add lib/limits.h.
46063         * doc/misc/texinfo.tex, lib/ftoastr.h, lib/intprops.h:
46064         * lib/stdint.in.h, m4/extensions.m4, m4/stdint.m4, m4/stdio_h.m4:
46065         * m4/sys_types_h.m4: Copy from gnulib.
46066         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
46067         * lib/limits.in.h, m4/limits-h.m4: New files, copie from gnulib.
46068         * nt/gnulib.mk: Merge changes from lib/gnulib.mk.
46070 2016-09-15  Michael Albinus  <michael.albinus@gmx.de>
46072         Rework fixing Bug#24432
46074         * lisp/net/tramp.el (tramp-get-buffer): Set connection property
46075         "process-buffer" in order to mark connection as active.
46077         * lisp/net/tramp-cache.el (tramp-get-hash-table)
46078         (tramp-set-connection-property)
46079         (tramp-dump-connection-properties): Do not use "active" property.
46080         (tramp-list-connections): Use "process-buffer" property.
46082         * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Flush process
46083         properties prior deletion of process.
46085 2016-09-14  Johan Bockgård  <bojohan@gnu.org>
46087         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix debug spec (Bug#24430).
46089         * lisp/emacs-lisp/edebug.el (defun): Fix debug spec.
46091 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
46093         Avoid compiler warning on MS-Windows due to clone_file
46095         * src/fileio.c (clone_file): Condition on !WINDOWSNT, since the
46096         call to it is not compiled in that build, and having it defined
46097         causes compiler warnings.
46099 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
46101         Avoid aborts in GC due to abort_on_gc
46103         * src/lisp.h:
46104         * src/print.c (Fprin1_to_string):
46105         * src/eval.c (signal_or_quit):
46106         * src/alloc.c (garbage_collect_1): Remove declarations, setting,
46107         and testing the value of abort_on_gc.  It is no longer needed, and
46108         using it causes rare aborts in GC for no good reason.  (Bug#23912)
46110 2016-09-14  Michael Albinus  <michael.albinus@gmx.de>
46112         Fix Bug#24432
46114         * lisp/net/tramp-cache.el (tramp-get-hash-table): Initialize a
46115         connection as inactive.
46116         (tramp-set-connection-property): Make the connection active.
46117         (tramp-dump-connection-properties): Don't save "active" property.
46118         (tramp-list-connections): List only active connections.  (Bug#24432)
46120 2016-09-14  Lars Ingebrigtsen  <larsi@gnus.org>
46122         Don't bug out on all-whitespace URLs
46124         * lisp/net/shr.el (shr-expand-url): Don't bug out on
46125         degenerate all-whitespace URLs.
46127 2016-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
46129         sieve-manage.el: Rename sieve-manage-ignore-broken-tls
46131         * lisp/net/sieve-manage.el (sieve-manage-ignore-starttls):
46132         Rename from sieve-manage-ignore-broken-tls.  If it is set,
46133         sieve-manage will never use STARTTLS even if the server says
46134         it is capable (but may be broken).
46136 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
46138         Port to ISO/IEC TS 18661-1:2014
46140         * src/character.h (CHARACTER_WIDTH): Rename from CHAR_WIDTH.
46141         All uses changed.
46143 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
46145         dired-jump: Expand file-name before dired-goto-file call
46147         Command dired-goto-file requires its argument to be an absolute
46148         file name.  Interactively FILE-NAME is read with read-file-name,
46149         which could return an abbreviated file name (Bug#24409).
46150         * lisp/dired-x.el (dired-jump): Use expand-file-name on FILE-NAME.
46151         Clarify in doc string the meaning of arg FILE-NAME.
46153 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
46155         Add test for Bug#21454
46157         * test/lisp/legacy/files-tests.el (files-test-bug-21454): New test.
46159 2016-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>
46161         * lisp/net/sieve-manage.el (sieve-manage-ignore-broken-tls): Add :version.
46163 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
46165         sieve.el: Make the buffer to edit unmodified initially (bug#24423)
46167         * lisp/net/sieve.el (sieve-edit-script):
46168         Make the buffer to edit be not modified-p initially (bug#24423).
46170 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
46172         sieve-manage.el: Allow user to avoid STARTTLS capability test (bug#24422)
46174         * lisp/net/sieve-manage.el
46175         (sieve-manage-ignore-broken-tls): New user option.
46176         (sieve-manage-open-server):
46177         Don't test STARTTLS capability if the option is set (bug#24422).
46179 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
46181         Fix compiler thinking width and height may be unitialized in frame.c
46183         This fixes the following warning:
46185                 frame.c: In function ‘x_set_frame_parameters’:
46186                 frame.c:3329:25: error: ‘width’ may be used uninitialized in
46187                         this function [-Werror=maybe-uninitialized]
46188                        adjust_frame_size (f, width_change ? width : -1,
46189                                  ^
46191         * src/frame.c (x_set_frame_parameters): Drop width_changed and
46192         height_changed variables in favor of storing that information in
46193         width and height variables.
46195 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
46197         Fix compiler thinking tmpdir may be unitialized in emacsclient
46199         This fixes the following warning:
46201                 emacsclient.c: In function ‘set_local_socket’:
46202                 /usr/include/x86_64-linux-gnu/bits/string3.h:111:3: error:
46203                         ‘tmpdir’ may be used uninitialized in this function
46204                         [-Werror=maybe-uninitialized]
46205                    return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
46206                    ^
46207                 emacsclient.c:1197:17: note: ‘tmpdir’ was declared here
46208                      const char *tmpdir;
46210         * lib-src/emacsclient.c (set_local_socket): Get rid of use_tmpdir
46211         variable and instead use tmpdir being non-NULL as sign that it should
46212         be used.
46214 2016-09-12  Tino Calancha  <tino.calancha@gmail.com>
46216         image-dired: Signal an error before calling a missing executable
46218         Reverts commit ca473907
46219         Add a defun to check if an executable exists, and call it
46220         on each function using an external program: when the executable
46221         is not available signal an error.
46222         See discussion on:
46223         https://lists.gnu.org/r/emacs-devel/2016-09/msg00135.html
46224         * lisp/image-dired.el (image-dired--check-executable-exists): New defun.
46225         Throw and error when the executable arg is missing.
46226         (image-dired-display-image, image-dired-rotate-thumbnail)
46227         (image-dired-rotate-original, image-dired-set-exif-data)
46228         (image-dired-get-exif-data):
46229         Use it.
46231 2016-09-12  Eli Zaretskii  <eliz@gnu.org>
46233         Fix daemon shutdown when emacs-kill-hooks ask questions
46235         * lisp/server.el (server-start): Put the server's kill-emacs-hook
46236         last, to allow other hooks to have a frame to interact with the
46237         user.  (Bug#24326)
46239 2016-09-12  Paul Eggert  <eggert@cs.ucla.edu>
46241         * src/casefiddle.c (casify_word): Simplify.
46243         * src/casefiddle.c (casify_word): Return Qnil.
46245 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
46247         Refactor common code in {upcase,downcase,capitalize}-word functions
46249         * src/casefiddle.c (operate_on_word): Removed in favor of…
46250         (casify_word) …new function which does what operate_on_word did plus
46251         what all of the common code from *-word functions.
46252         (upcase-word, downcase-word, capitalize-word): Move code common between
46253         those functions (pretty much the whole body of those functions) into
46254         casify_word and use that instead of now deleted operate_on_word.
46256 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
46258         * doc/lispref/files.texi: Remove @vindex.
46260 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
46262         Remove unnecessary ref to coreutils manual
46264         * doc/lispref/files.texi: Document write-region-inhibit-fsync.
46266 2016-09-11  Alan Mackenzie  <acm@muc.de>
46268         Correctly fontify C++ direct initializations with parens inside functions
46270         Or, more clearly, when something looks like a function declaration and it's
46271         inside a function, fontify it as a direct initialization.
46273         For this purpose, introduce a "brace stack" for each buffer, where an entry on
46274         the brace stack states how deeply nested a particular position is inside
46275         braces inside a "top level", which includes classes and namespaces.
46277         Also introduce a new "context", "top", with which c-font-lock-declarations
46278         signals to c-forward-decl-or-cast-1 that point is at the top level.
46280         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): add
46281         c-truncate-bs-cache.
46282         (c-flat-decl-block-kwds, c-brace-stack-thing-key, c-brace-stack-no-semi-key)
46283         (c-type-decl-operator-prefix-key): new language constants/variables.
46285         * lisp/progmodes/cc-engine.el (c-bs-interval, c-bs-cache, c-bs-cache-limit)
46286         (c-bs-prev-pos, c-bs-prev-stack): New mostly local variables for the brace
46287         stack cache.
46288         (c-init-bs-cache, c-truncate-bs-cache, c-truncate-bs-cache, c-brace-stack-at)
46289         (c-bs-at-toplevel-p): New functions which manipulate the brace stack (cache).
46290         (c-find-decl-prefix-search): Keep track of whether we're at top level.
46291         (c-find-decl-spots): New local variable cfd-top-level which records what it
46292         says.  On calling cfd-fun, pass cfd-top-level as an additional argument.
46293         (c-forward-declarator): Add new element DECORATED to the result list.  Set it
46294         to non-nil when a match for c-type-decl-operator-prefix-key is found.
46295         (c-forward-decl-or-cast-1): Handle the newly introduced context "top".
46296         Introduce "CASE 9.5", which recognizes direct initializations.
46298         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
46299         (c-font-lock-enum-tail, c-font-lock-cut-off-declarators)
46300         (c-font-lock-enclosing-decls, c-simple-decl-matchers, c-basic-matchers-after):
46301         Add appropriate `not-top' argument to calls to c-font-lock-declarators.
46302         (c-font-lock-declarators): Additional parameter `not-top'.  Use not-top to
46303         participate in the decision whether to fontify an identifier as a function or
46304         a variable.
46305         (c-font-lock-declarations): The internal lambda function takes an additional
46306         argument `toplev' from c-find-decl-spots, which it uses in determining the
46307         "context" of a declaration.  Add appropriate `not-top' argument to calls to
46308         c-font-lock-declarators.
46309         (c-font-lock-objc-methods): Add extra parameter to internal lambda function,
46310         like for c-font-lock-declarators.
46312         * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the brace stack
46313         cache.
46315 2016-09-11  Eli Zaretskii  <eliz@gnu.org>
46317         Avoid signaling errors when computing "Stop" in GDB menu
46319         * lisp/progmodes/gdb-mi.el (gdb-show-stop-p): Don't assume
46320         'gdb-running-threads-count' must have a numeric value.
46321         (Bug#24414)
46323 2016-09-11  Philipp Stephani  <phst@google.com>
46325         Stop calling ‘byte-compile-log-warning’
46327         For errors, use ‘byte-compile-report-error’ instead so that the error
46328         is registered and causes compilation to fail (Bug#24359).
46330         For warnings, use ‘byte-compile-warn’ instead so that
46331         ‘byte-compile-error-on-warn’ is honored (Bug#24360).
46333         * lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled)
46334         (macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of
46335         ‘byte-compile-log-warning’.
46337         * lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf)
46338         (byte-compile-setq, byte-compile-funcall): Use
46339         ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’.
46340         (byte-compile-log-warning): Convert comment to documentation
46341         string.  Explain that the function shouldn’t be called directly.
46342         (byte-compile-report-error): Add optional FILL argument.
46344         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
46345         (cconv--analyze-function, cconv-analyze-form): Use
46346         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
46348         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use
46349         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
46351         * lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead
46352         of ‘byte-compile-log-warning’.
46353         (do-after-load-evaluation): Use ‘byte-compile-warn’ instead of
46354         ‘byte-compile-log-warning’.
46356 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
46358         * etc/NEWS: Remove comment lost in emacs-25 merge.
46360 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
46362         Document file synchronization issues
46364         * doc/lispref/files.texi (Files and Storage): New section.
46366 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
46368         copy-file now uses GNU/Linux file cloning
46370         From a suggestion by Kieran Colford (see Bug#23904).
46371         * configure.ac: Check for linux/fs.h.
46372         * src/fileio.c [HAVE_LINUX_FS_H]: Include sys/ioctl.h and linux/fs.h.
46373         (clone_file): New function.
46374         (Fcopy_file): Use it.
46376 2016-09-10  Alan Third  <alan@idiocy.org>
46378         Invert y coord of NS image files (bug#7847)
46380         * src/nsterm.m (ns_dumpglyphs_image): Invert y co-ordinate of the image
46381         when compositing.
46383 2016-09-10  Noam Postavsky  <npostavs@gmail.com>
46385         Don't require isearch-update before isearch-done
46387         It is useful to be able to call `isearch-done' unconditionally to
46388         ensure a non-isearching state.
46390         * lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
46391         is a live buffer before using it (Bug #21091).
46392         * test/lisp/isearch-tests.el (isearch--test-done): Test it.
46394 2016-09-09  Simen Heggestøyl  <simenheg@gmail.com>
46396         * lisp/emacs-lisp/ring.el: Use lexical-binding
46398         * lisp/emacs-lisp/ring.el (ring-elements): Don't use the RESULT
46399         argument of `dotimes' when the iteration variable isn't referred by
46400         it.
46401         (ring-member): Don't pass nil as the RESULT argument of `dotimes'
46402         since it's the default.
46404 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
46406         Split regex character class test into smaller chunks
46408         Having one test for all character classes it is not always trivial to
46409         determine which class is failing.  This happens when failure is caused
46410         by ‘(should (equal (point) (point-max)))’ not being met.
46412         With per-character class tests, it is immidiatelly obvious which test
46413         causes issues plus tests for all classes are run even if some of them
46414         fail.
46416         * test/src/regex-tests.el (regex-character-classes): Delete and split
46417         into…
46418         (regex-tests-alnum-character-class, regex-tests-alpha-character-class,
46419         regex-tests-ascii-character-class, regex-tests-blank-character-class,
46420         regex-tests-cntrl-character-class, regex-tests-digit-character-class,
46421         regex-tests-graph-character-class, regex-tests-lower-character-class,
46422         regex-tests-multibyte-character-class,
46423         regex-tests-nonascii-character-class,
46424         regex-tests-print-character-class, regex-tests-punct-character-class,
46425         regex-tests-space-character-class,
46426         regex-tests-unibyte-character-class,
46427         regex-tests-upper-character-class, regex-tests-word-character-class,
46428         regex-tests-xdigit-character-class): …new tests.
46430 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
46432         Don’t allocate char-table’s extra slots in regexp-out-charset
46434         * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Do not use
46435         'case-table as charmap char-table’s property.  The function has nothing
46436         to do with casing and in addition using 'case-table causes unnecessary
46437         extra slots to be allocated which ‘regexp-opt-charset’ does not use.
46439 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
46441         Remove dead loop iterations in regex.c
46443         RE_CHAR_TO_MULTIBYTE(c) yields c for ASCII characters and a byte8
46444         character for c ≥ 0x80.  Furthermore, CHAR_BYTE8_P(c) is true only
46445         for byte8 characters.  This means that
46447                 c = RE_CHAR_TO_MULTIBYTE (ch);
46448                 if (! CHAR_BYTE8_P (c) && re_iswctype (c, cc))
46450         is equivalent to:
46452                 c = c;
46453                 if (! false && re_iswctype (c, cc))
46455         for 0 ⪬ c < 0x80, and
46457                 c = BYTE8_TO_CHAR (c);
46458                 if (! true && re_iswctype (c, cc))
46460         for 0x80 ⪬ c < 0x100.  In other words, the loop never executes for
46461         c ≥ 0x80 and RE_CHAR_TO_MULTIBYTE call is unnecessary for c < 0x80.
46463         * src/regex.c (regex_compile): Simplyfy a for loop by eliminating
46464         dead iterations and unnecessary macro calls.
46466 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
46468         Replace decimalnump with alphanumericp
46470         decimalnump was used in regex.c only in ISALNUM macro which ored it with
46471         alphabeticp.  Because both of those functions require Unicode general
46472         category lookup, this resulted in unnecessary lookups (if alphabeticp
46473         return false decimalp had to perform another lookup).  Drop decimalnump
46474         in favor of alphanumericp which combines decimelnump with alphabeticp.
46476         * src/character.c (decimalnump): Remove in favor of…
46477         (alphanumericp): …new function.
46479         * src/regex.c (ISALNUM): Use alphanumericp.
46481 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
46483         Remove inaccurate comment in regex.c
46485         * src/regex.c (regex_compile): Remove comment indicating that wctype of
46486         some character classes may be negative.  All wctypes are in fact
46487         non-negative.
46489 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
46491         STRING_CHAR does not unify characters; update documentation
46493         * src/character.h (STRING_CHAR): Update doc.
46494         * src/buffer.h (FETCH_MULTIBYTE_CHAR): Update doc.  While at it, change
46495         the function to use BYTE_POS_ADDR instead of open-coding it.
46497 2016-09-08  Simen Heggestøyl  <simenheg@gmail.com>
46499         Add tests for ring.el
46501         * test/lisp/emacs-lisp/ring-tests.el: New file with tests for ring.el.
46503 2016-09-07  Martin Rudalics  <rudalics@gmx.at>
46505         New file test/src/marker-tests.el
46507 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
46509         Port flexible array members to GCC + valgrind
46511         These changes are needed to conform to the C standard's rule for
46512         allocating structs containing flexible array members.  C11 says
46513         that malloc (offsetof (struct s, m) + n) does not suffice to
46514         allocate a struct with an n-byte tail; instead, malloc’s arg
46515         should be rounded up to the nearest multiple of alignof (struct s).
46516         Although this is arguably a defect in C11, gcc -O2 + valgrind
46517         sometimes complains when this rule is violated, and when debugging
46518         it’s better to keep valgrind happy.
46519         For details please see the thread containing the message at:
46520         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00416.html
46521         * lib-src/ebrowse.c, src/alloc.c, src/image.c, src/process.c:
46522         Include flexmember.h.
46523         * lib-src/ebrowse.c (add_sym, add_member, make_namespace)
46524         (register_namespace_alias):
46525         * src/alloc.c (SDATA_SIZE, allocate_string_data):
46526         * src/image.c (xpm_cache_color, imagemagick_create_cache):
46527         * src/process.c (Fmake_network_process):
46528         Use FLEXSIZEOF instead of offsetof and addition.
46529         * src/alloc.c (SDATA_SIZE, vector_alignment):
46530         Use FLEXALIGNOF instead of sizeof (ptrdiff_t).
46531         * src/lisp.h (ALIGNOF_STRUCT_LISP_VECTOR):
46532         Remove, as alloc.c can now calculate this on its own.
46534 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
46536         Update from gnulib
46538         This incorporates:
46539         2016-09-07 flexmember: new macro FLEXALIGNOF
46540         2016-09-07 flexmember: port better to GCC + valgrind
46541         2016-08-18 Port modules to use getprogname explicitly
46542         2016-09-02 manywarnings: add -fno-common
46543         * admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don’t avoid flexmember,
46544         since time_rz now uses part of it.  Instead, remove m4/flexmember.m4.
46545         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Define away,
46546         since Emacs assumes C99 and therefore removes m4/flexmember.m4.
46547         * lib/euidaccess.c, lib/group-member.c, lib/time_rz.c:
46548         * m4/manywarnings.m4: Copy from gnulib.
46549         * lib/flexmember.h: New file, from gnulib.
46550         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
46552 2016-09-07  Noam Postavsky  <npostavs@gmail.com>
46554         Don't --load directories
46556         * lisp/startup.el (command-line-1): Only pass expanded FILENAME argument
46557         of --load when it refers to a normal file, since `load' doesn't handle
46558         directories (Bug #16406).
46560 2016-09-07  Peder O. Klingenberg  <peder@klingenberg.no>
46562         Avoid error in icalendar--read-element
46564         * lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex
46565         stack overflow by not using regex to extract values from calendar
46566         events. (Bug#24315)
46568 2016-09-07  Kaushal Modi  <kaushal.modi@gmail.com>
46570         Fix back-white <-> black-white typo
46572         * lisp/ps-print.el (ps-begin-job): back-white -> black-white (Bug#24308)
46574 2016-09-07  Alan Third  <alan@idiocy.org>
46576         Fix cursor at bottom left of rectangle (bug#24364)
46578         * lisp/rect.el (rectangle--col-pos): Don't assume point at EOL doesn't
46579         require rectangle--point-crutches to be set.
46581 2016-09-07  Eli Zaretskii  <eliz@gnu.org>
46583         Fix documentation of convert-standard-filename on MS-Windows
46585         * lisp/files.el (convert-standard-filename): Doc fix.  (Bug#24387)
46587         * etc/NEWS: Suggest a way for mirroring slashes where previously
46588         'convert-standard-filename' was used.
46590 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
46592         Use DEV_TTY more consistently
46594         * src/conf_post.h (DEV_TTY): Move from here ...
46595         * src/keyboard.c, src/keyboard.h: ... to here, as it doesn’t need
46596         to be visible everywhere.  Make it a constant.
46597         * src/keyboard.c (handle_interrupt, Fset_quit_char):
46598         * src/process.c (create_process): Prefer DEV_TTY to "/dev/tty".
46600 2016-09-06  Eli Zaretskii  <eliz@gnu.org>
46602         Avoid assertion violations when using marker positions
46604         * src/intervals.c (set_point_from_marker): If MARKER comes from
46605         another buffer, recalculate its byte position before using it to
46606         set point.
46607         * src/marker.c (set_marker_internal): If POSITION is a marker from
46608         another buffer, recalculate its byte position before using it.
46609         (Bug#24368)
46611 2016-09-06  Alan Mackenzie  <acm@muc.de>
46613         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix coding bug
46615 2016-09-06  Alan Mackenzie  <acm@muc.de>
46617         New options for handling of literals in c-syntactic-re-search-forward
46619         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): `noerror' can
46620         be given the values `before-literal' and `after-literal', so that when a
46621         search fails, and the `bound' is inside a literal, point is left respectively
46622         before or after that literal.
46624 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
46626         Avoid assertion violations when scrolling narrowed buffer
46628         * src/window.c (window_scroll_pixel_based):
46629         * src/xdisp.c (pos_visible_p): Don't allow simulated redisplay to
46630         start outside the accessible portion of the buffer.  This avoids
46631         assertion violations when some Lisp narrows the buffer to less
46632         than the current window, and then attempts to scroll the buffer.
46634 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
46636         Treat SIGINT correctly in GUI sessions on MS-Windows
46638         * src/w32proc.c (sys_signal): Don't reject SIGINT, as it is
46639         supported by MS runtime.
46640         * src/term.c (DEV_TTY): Move from here ...
46641         * src/conf_post.h (DEV_TTY): ... to here.  Separate definitions
46642         for WINDOWSNT and for the rest.
46643         * src/keyboard.c (handle_interrupt_signal): Use DEV_TTY instead of
46644         a literal "/dev/tty".
46646         * etc/NEWS: Mention the behavior change.
46648 2016-09-04  Alan Third  <alan@idiocy.org>
46650         Fix synthetic bold on macOS retina displays
46652         * src/macfont.m (macfont_draw): Multiply the synthetic bold scaling
46653         factor by the OS window backing scale factor.
46655 2016-09-04  Tino Calancha  <tino.calancha@gmail.com>
46657         image-dired: Report when a necessary executable is not found
46659         See discussion on:
46660         https://lists.gnu.org/r/emacs-devel/2016-08/msg00552.html
46661         * lisp/image-dired.el (image-dired-cmd-rotate-original-program)
46662         (image-dired-cmd-create-thumbnail-program)
46663         (image-dired-cmd-create-temp-image-program)
46664         (image-dired-cmd-rotate-thumbnail-program)
46665         (image-dired-cmd-write-exif-data-program)
46666         (image-dired-cmd-read-exif-data-program):
46667         Use executable-find to set the default value of this option.
46668         (image-dired-cmd-rotate-original-program): Idem.
46669         Search for program 'convert' if 'jpegtran' is not available.
46670         (image-dired-cmd-rotate-original-options):
46671         Set the default value consistent with the executable in
46672         image-dired-cmd-rotate-original-program.
46673         (image-dired-create-thumb, image-dired-display-image)
46674         (image-dired-rotate-thumbnail, image-dired-rotate-original)
46675         (image-dired-set-exif-data, image-dired-get-exif-data):
46676         Throw and error when the executable used in the function is missing.
46677         (image-dired-next-line, image-dired-previous-line):
46678         Use 'forward-line'.
46680 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
46682         image-type-from-file-name: Perform a case insensitive match
46684         Fix Bug#24317
46685         * lisp/image.el (image-type-from-file-name): Bind case-fold-search
46686         to a non-nil value to force a case insensitive match.
46687         * lisp/image-dired.el (image-dired-rotate-original):
46688         Use image-type (Bug#24317).
46689         (image-dired-get-exif-file-name): Idem.
46690         Set 'no-exif-data-found' and 'data' in same setq call.
46691         Use file-attribute-modification-time.
46693 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
46695         image-increase-size: Fix non-interactive calls
46697         * lisp/image.el (image-increase-size, image-decrease-size):
46698         Compute a floating point division.
46699         Problem reported in:
46700         https://lists.gnu.org/r/emacs-devel/2016-09/msg00067.html
46702 2016-09-03  Robert Cochran  <robert-git@cochranmail.com>
46704         Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.el
46706         Passing the prefix argument as the 3rd argument to 'call-interactively'
46707         causes the prefix argument to be interpreted as events, which is not
46708         only wrong, but also causes a type error, as 'current-prefix-arg' can
46709         never be a vector as 'call-interactively' expects.  'call-interactively'
46710         automatically passes its prefix argument to the called function, so just
46711         do that, eliminating faulty behavior.
46713         * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell):
46714         (checkdoc-ispell-current-buffer):
46715         (checkdoc-ispell-interactive):
46716         (checkdoc-ispell-message-text):
46717         (checkdoc-ispell-start):
46718         (checkdoc-ispell-continue):
46719         (checkdoc-ispell-comments):
46720         (checkdoc-ispell-defun):
46721         Do not pass 'current-prefix-arg' to 'call-interactively' as an event
46722         vector; merely allow it to propagate forward to the interactive call.
46724 2016-09-03  Richard Stallman  <rms@gnu.org>
46726         Fix mail-combine-fields
46728         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
46729         avoid losing our place in the search loop.
46731 2016-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>
46733         Check actual contents before promting about changed file
46735         * lisp/userlock.el (userlock--check-content-unchanged)
46736         (userlock--ask-user-about-supersession-threat): New functions.
46737         * src/filelock.c (lock_file): Use them to avoid spurious prompting.
46738         * doc/lispref/buffers.texi (Modification Time): Update doc of
46739         ask-user-about-supersession-threat.
46741 2016-09-02  Michael Albinus  <michael.albinus@gmx.de>
46743         Make a reference to fakecygpty in the Tramp manual
46745         * doc/misc/tramp.texi (Windows setup hints): Make a reference to
46746         fakecygpty on the Emacs Wiki.
46747         (Frequently Asked Questions): Fix url.
46749 2016-09-01  Paul Eggert  <eggert@cs.ucla.edu>
46751         Don’t create fd >= FD_SETSIZE
46753         This avoids a potential crash if too many subprocesses (Bug#24325).
46754         * src/process.c [HAVE_SETRLIMIT]: Include <sys/resource.h>.
46755         (init_process_emacs): If ulimit -n is greater than FD_SETSIZE,
46756         set it to FD_SETSIZE.
46758 2016-09-01  Alan Mackenzie  <acm@muc.de>
46760         Fix c-declaration-limits to return correct limits in all cases.
46762         This function is the guts of c-indent-defun and c-mark-function.
46764         In particular, when c-defun-tactic is nil, return a correct value rather than
46765         always nil, and when it's 'go-outward, go through an intricate algorithm to
46766         determine the requisite narrowing before the "top-level" defuns go to work.
46768         * lisp/progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): Enhance
46769         to take additional optional parameter LEVEL, saying how many enclosing levels
46770         of decl-block to narrow to.
46771         (c-declaration-limits): Introduce algorithm to determine narrowing.  Use
46772         c-where-wrt-to-brace-block to determine whether to go back to BOD to determine
46773         lower bound.
46775 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
46777         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make commentary more accurate.
46779 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
46781         Avoid compiler warnings with MinGW64 GCC 6
46783         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make the prototype match
46784         the GCC 6 builtin, to avoid warnings.  For more details, see
46785         https://lists.gnu.org/r/emacs-devel/2016-08/msg00721.html.
46787 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
46789         Fix over-substitution of quotes on error
46791         Problem reported by Tino Calancha in:
46792         https://lists.gnu.org/r/emacs-devel/2016-09/msg00000.html
46793         * src/print.c (print_error_message):
46794         Substitute quotes in errmsg only when gotten from a property.
46796 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
46798         Improve testing of etags
46800         * test/manual/etags/y-src/cccp.c:
46801         * test/manual/etags/y-src/parse.c: Correct #line directives to
46802         allow testing invalidate_nodes in etags.c.
46803         * test/manual/etags/ETAGS.good_1:
46804         * test/manual/etags/ETAGS.good_2:
46805         * test/manual/etags/ETAGS.good_3:
46806         * test/manual/etags/ETAGS.good_4:
46807         * test/manual/etags/ETAGS.good_5:
46808         * test/manual/etags/ETAGS.good_6:
46809         * test/manual/etags/CTAGS.good: Adapt to changes in test files.
46811 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
46813         * lib-src/etags.c (invalidate_nodes): Fix another thinko.
46815 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
46817         Fix etags problems found by static checking
46819         * lib-src/etags.c (invalidate_nodes, put_entry):
46820         Remove now-unnecessary tests for null pointers.  Simplify.
46821         (put_entries): Rewrite to avoid GCC 6.2 warning about
46822         dereferencing null pointer.
46824 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
46826         Fix a thinko in etags.c
46828         * lib-src/etags.c (invalidate_nodes): Don't try to dereference
46829         a null pointer.
46831 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
46833         Avoid recursive calls in etags
46835         * lib-src/etags.c (stack_entry): New struct.
46836         (push_node, pop_node, put_entry): New functions.
46837         (free_tree, add_node, invalidate_nodes, put_entries): Re-implement
46838         in a non-recursive way, to avoid stack overflow.  (Bug#5847)
46840 2016-08-31  Leo Liu  <sdl.web@gmail.com>
46842         Add 451 to url-http-codes
46844         * lisp/url/url-http.el (url-http-codes): Add 451.
46846 2016-08-30  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
46848         * src/editfns.c (Fformat_message): Fix doc to match current behavior.
46850 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
46852         Minor doc quoting fixes
46854         * doc/misc/htmlfontify.texi (Interactive):
46855         * lisp/htmlfontify.el (htmlfontify-buffer):
46856         Spell out character names, for clarity.  The old doc string
46857         generated the *Help* text ‘^L ([FF]) or ¤ (244)’, where ‘[FF]’
46858         stands for a form feed character; this was confusing.
46859         * lisp/electric.el (electric-quote-mode):
46860         * src/doc.c (syms_of_doc):
46861         * src/editfns.c (Fformat_message):
46862         Remove no-longer-necessary ‘\=’s in doc strings.
46864 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
46866         Update from gnulib
46868         This incorporates:
46869         2016-08-30 intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
46870         2016-08-29 xalloc-oversized.h: port change to GCC 6.2.0
46871         2016-08-29 intprops.h: port recent changes to GCC 6.2.0
46872         2016-08-29 intprops.h: use __typeof__ with GCC 7
46873         2016-08-29 intprops.h, xalloc-oversized.h: work with gcc 7
46874         2016-08-24 intprops: fix paren typo on old platforms
46875         2016-08-24 intprops: port to OpenVMS
46876         * lib/intprops.h, lib/xalloc-oversized.h: Copy from gnulib.
46878 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
46880         Fix rules for \phi and \varphi which were reversed
46882         * lisp/leim/quail/latin-ltx.el: Special-case phi/varphi because those
46883           are reversed in ucs-names.  Also remove FIXME stating sigma/varsigma
46884           were reversed which is not true (anymore?).
46886 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
46888         Fix prettification of \phi, \varphi, and \varsigma
46890         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix
46891           prettification of \phi, \varphi, and \varsigma.
46893         Concretely, \phi's symbol was actually varphi, \varphi was missing, and
46894         \varsigma was commented out with a FIXME that it was reversed with
46895         \sigma which it was not.
46897 2016-08-30  Karl Fogel  <kfogel@red-bean.com>
46899         Use normal double quotes in TeX / LaTeX comments
46901         * lisp/textmodes/tex-mode.el (tex-insert-quote): When in a comment,
46902           default to inserting a normal double quote (") instead of TeX-style
46903           open (``) or close ('') quote marks.
46905         * etc/NEWS (TeX mode): Note the change.
46907         * test/lisp/electric-tests.el (autowrapping-7): Adjust accordingly.
46909         See this thread for discussion:
46911           https://lists.gnu.org/r/emacs-devel/2016-08/msg00611.html
46912           From: Karl Fogel <kfogel {_AT_} red-bean.com>
46913           To: Emacs Development <emacs-devel {_AT_} gnu.org>
46914           Subject: [PATCH] Have LaTeX mode use normal double quotes in comments.
46915           Date: Mon, 29 Aug 2016 14:44:12 -0500
46916           Message-ID: <87twe3icmr.fsf@red-bean.com>
46918 2016-08-30  Alan Mackenzie  <acm@muc.de>
46920         Correctly analyze C++ list initialization in member init areas.
46922         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Remove a
46923         superfluous call to c-backward-syntactic-ws.
46924         (c-looking-at-or-maybe-in-bracelist): Change calling convention, so that it
46925         reports encountering the Java "new" keyword.  Add, as an alternative, a check
46926         that we can move back over member initializations, and handle this as finding
46927         a brace block.
46928         (c-looking-at-special-brace-list, c-guess-continued-construct): Adapt to the
46929         new calling convention of c-looking-at-or-maybe-in-bracelist.
46930         (c-guess-basic-syntax, CASE 5A.3): Replace lots of inline ad-hoc code with
46931         calls to c-backward-over-enum-header and c-looking-at-or-maybe-in-bracelist,
46932         using the extra info from the value of that function to generate a
46933         topmost-into-cont element where needed (in Java).
46935         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to the new
46936         calling convention of c-looking-at-or-maybe-in-bracelist.
46938         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Adapt to the new calling
46939         convention of c-looking-at-or-maybe-in-bracelist.
46941 2016-08-30  Michael Albinus  <michael.albinus@gmx.de>
46943         Use `file-attribute-*' in Tramp
46945         * lisp/net/tramp-compat.el (tramp-compat-file-attribute-type)
46946         (tramp-compat-file-attribute-link-number)
46947         (tramp-compat-file-attribute-user-id)
46948         (tramp-compat-file-attribute-group-id)
46949         (tramp-compat-file-attribute-modification-time)
46950         (tramp-compat-file-attribute-size)
46951         (tramp-compat-file-attribute-modes): New defaliases.
46953         * lisp/net/tramp.el (tramp-handle-file-modes)
46954         (tramp-handle-file-newer-than-file-p)
46955         (tramp-handle-file-regular-p, tramp-handle-file-symlink-p)
46956         (tramp-handle-set-visited-file-modtime)
46957         (tramp-handle-verify-visited-file-modtime)
46958         (tramp-get-local-gid, tramp-check-cached-permissions):
46959         * lisp/net/tramp-adb.el (tramp-adb-handle-file-directory-p)
46960         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file):
46961         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
46962         (tramp-gvfs-handle-file-directory-p)
46963         (tramp-gvfs-handle-write-region, tramp-gvfs-get-remote-uid)
46964         (tramp-gvfs-get-remote-gid):
46965         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
46966         (tramp-sh-handle-set-visited-file-modtime)
46967         (tramp-sh-handle-verify-visited-file-modtime)
46968         (tramp-sh-handle-file-newer-than-file-p)
46969         (tramp-sh-handle-file-ownership-preserved-p)
46970         (tramp-do-copy-or-rename-file)
46971         (tramp-do-copy-or-rename-file-via-buffer)
46972         (tramp-do-copy-or-rename-file-directly)
46973         (tramp-do-copy-or-rename-file-out-of-band)
46974         (tramp-sh-handle-file-local-copy)
46975         (tramp-sh-handle-write-region):
46976         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
46977         (tramp-smb-handle-copy-file)
46978         (tramp-smb-handle-file-directory-p)
46979         (tramp-smb-handle-file-writable-p)
46980         (tramp-smb-handle-insert-directory): Use them.
46982 2016-08-30  Martin Rudalics  <rudalics@gmx.at>
46984         In `pop-to-buffer' handle case where `display-buffer' fails (Bug#24332)
46986         * lisp/window.el (pop-to-buffer): Don't assume that
46987         `display-buffer' has supplied a window (Bug#24332).
46988         Rename BUFFER argument to BUFFER-OR-NAME.
46989         * doc/lispref/windows.texi (Switching Buffers): Fix
46990         `pop-to-buffer' documentation.
46992 2016-08-29  Alan Third  <alan@idiocy.org>
46994         Clarify docstrings
46996         * src/nsterm.m: Clarified that ns-x-modifier variables require a symbol.
46998 2016-08-29  Michael Albinus  <michael.albinus@gmx.de>
47000         Use `process-live-p' in Tramp
47002         * lisp/net/tramp-compat.el (tramp-compat-process-live-p): New defun.
47004         * lisp/net/tramp.el (tramp-connectable-p, tramp-handle-file-remote-p)
47005         (tramp-handle-file-notify-valid-p)
47006         (tramp-action-process-alive, tramp-action-out-of-band)
47007         (tramp-wait-for-regexp):
47008         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
47009         (tramp-adb-maybe-open-connection):
47010         * lisp/net/tramp-cache.el (tramp-get-connection-property):
47011         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
47012         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
47013         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
47014         * lisp/net/tramp-sh.el (tramp-process-sentinel)
47015         (tramp-sh-handle-file-notify-add-watch)
47016         (tramp-maybe-open-connection):
47017         * lisp/net/tramp-smb.el (tramp-smb-action-with-tar)
47018         (tramp-smb-handle-copy-directory, tramp-smb-action-get-acl)
47019         (tramp-smb-handle-process-file, tramp-smb-action-set-acl)
47020         (tramp-smb-get-cifs-capabilities)
47021         (tramp-smb-get-stat-capability)
47022         (tramp-smb-maybe-open-connection, tramp-smb-wait-for-output)
47023         (tramp-smb-kill-winexe-function): Use it.
47025 2016-08-29  Eli Zaretskii  <eliz@gnu.org>
47027         Avoid crashes for invalid value of key modifiers
47029         * src/keyboard.c (parse_solitary_modifier): If the argument SYMBOL
47030         is not a symbol, don't try to recognize it.  See
47031         https://lists.gnu.org/r/emacs-devel/2016-08/msg00502.html
47032         for the details.
47034         * test/src/keymap-tests.el (keymap-where-is-internal-test): New
47035         test, for testing the above fix.
47037 2016-08-29  Oleh Krehel  <ohwoeowho@gmail.com>
47039         Make dired-do-compress understand files with spaces in them
47041         * lisp/dired-aux.el (dired-compress-file): Add `shell-quote-argument'
47042           and `literal' flag to `replace-regexp-in-string'.
47044 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47046         * INSTALL.REPO: Suggest Texinfo 4.13 or later.
47048 2016-08-28  Simen Heggestøyl  <simenheg@gmail.com>
47050         Add tests for dom.el
47052         * test/lisp/dom-tests.el: New file with tests for dom.el.
47054 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47056         Memory allocator alignment fixes
47058         These changes remove some assumptions about heap allocator
47059         alignment that may not be true on unusual platforms.
47060         * src/alloc.c (POWER_OF_2): New macro.
47061         (ROUNDUP): Use it.
47062         (BLOCK_ALIGN): Verify that it is a power of 2.
47063         (aligned_alloc): Check that alignment passed to posix_memalign
47064         satisfies POSIX restrictions.
47065         (lisp_align_malloc): Check that size passed to aligned_alloc
47066         satisfies C11 restrictions.
47067         (MALLOC_IS_GC_ALIGNED): Check that GCALIGNMENT is 8, since the
47068         code has not been verified to work with other GCALIGNMENT values
47069         and the ice is thin here.  On GNU/Linux, malloc can return a value
47070         that is a multiple of 8 but not 16, even though __alignof__
47071         (max_align_t) is 16.  See:
47072         https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01902.html
47073         (lmalloc) [USE_ALIGNED_ALLOC]: Use aligned_alloc only if size
47074         is a multiple of alignment, since C11 says the behavior is
47075         undefined otherwise.
47076         (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on size_t, as in
47077         general this macro is restricted to signed types.  Remove
47078         assertion that the result is a multiple of GCALIGNMENT, as that
47079         need not be true.
47081 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47083         Pacify --enable-gcc-warnings for lib-src/pop.c
47085         * lib-src/pop.c: Include c-ctype.h.
47086         (socket_connection): Pacify --enable-gcc-warnings by rewriting to
47087         avoid 'if (v = E) ...'.  Use c_tolower, instead of a combination
47088         of the (undeclared) isupper and tolower.  Fix pointer constness
47089         problem.
47091 2016-08-27  Alan Mackenzie  <acm@muc.de>
47093         Handle the C++ "identifiers" "final" and "override" correctly.
47095         This fixes bug #24319, allowing destructors affixed with these identifiers to
47096         be correctly fontified.
47098         * lisp/progmodes/cc-engine.el (c-forward-type, c-forward-decl-or-cast-1):
47099         After reaching the "end" of a type expression, skip over any occurrences of
47100         c-type-decl-suffix-ws-ids-key.
47102         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "override" and
47103         "final" from the C++ value.
47104         (c-type-decl-suffix-ws-ids-kwds, c-type-decl-suffix-ws-ids-key): New lang
47105         constants/variables for "final" and "override".
47107 2016-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
47109         * lisp/textmodes/page-ext.el (pages-directory-mode): Use special-mode.
47111 2016-08-27  Alan Mackenzie  <acm@muc.de>
47113         Handle template delimiters in C++ member init constructs.
47115         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Add
47116         handling for "<....>"s.
47118 2016-08-26  Eli Zaretskii  <eliz@gnu.org>
47120         Fix etags test suite messed up by merges from emacs-25
47122         * test/manual/etags/go-src/test.go:
47123         * test/manual/etags/go-src/test1.go: Move from test/etags/.
47124         * test/manual/etags/ruby-src/test1.ru: Replace test1.ruby.
47125         * test/etags/: Directory deleted.
47127 2016-08-26  Simen Heggestøyl  <simenheg@gmail.com>
47129         Add "supports" to list of CSS at-rules
47131         * lisp/textmodes/css-mode.el (css-at-ids): Add "supports" at-rule.
47133 2016-08-26  Michael Albinus  <michael.albinus@gmx.de>
47135         * lisp/net/tramp-sh.el (tramp-get-remote-perl): Perform a basic check.
47137         (Bug#22478)
47139 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
47141         Rename option to shell-command-dont-erase-buffer
47143         Suggested by Clément Pit--Claudel in:
47144         https://lists.gnu.org/r/emacs-devel/2016-08/msg00487.html
47145         * lisp/simple.el (shell-command-dont-erase-buffer):
47146         (shell-command--save-pos-or-erase):
47147         (shell-command--set-point-after-cmd):
47148         (shell-command-on-region):
47149         * doc/emacs/misc.texi (shell-command-dont-erase-buffer):
47150         * etc/NEWS (Changes in Emacs 25.2):
47151         Rename from shell-command-not-erase-buffer.
47153 2016-08-25  Alan Mackenzie  <acm@muc.de>
47155         Fix an infinite loop in C++ Mode when we have "{ .... [ .... }"
47157         * lisp/progmodes/cc-fonts.el (c-font-lock-c++-lambda-captures): In the inner
47158         `while' form's condition, check for "\\s)" rather than merely "\\]", so that
47159         the loop won't hang at a "terminating" paren of a different type (due to the
47160         c-syntactic-re-search-forward at the end of the loop stopping at such
47161         characters).
47163 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
47165         call-shell-region: New defun
47167         Suggested by Stefan Monnier in Bug#22679.
47168         * lisp/subr.el (call-shell-region): New defun; execute a command
47169         in an inferior shell with the buffer region as input.
47170         * lisp/simple.el (shell-command-on-region): Use it.
47171         * lisp/gnus/message.el (message-do-fcc): Idem.
47172         * doc/lispref/processes.texi: Document call-shell-region in the manual.
47173         ;* etc/NEWS: Add entry for this new function.
47175 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
47177         In ‘clone-indirect-buffer’ fix argument mixup (Bug#24306)
47179         * lisp/simple.el (clone-indirect-buffer): Add value for ACTION
47180         argument in `pop-to-buffer' call (Bug#24306).
47182 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
47184         Some fixes around `delete-other-frames' and `next-frame'
47186         * src/frame.c (Fdelete_frame): Clarify doc-string.
47187         * lisp/frame.el (delete-other-frames): Delete other frames on
47188         FRAME's terminal instead of the current terminal.  Delete
47189         non-minibuffer-only surrogate frames too.  See
47190         https://lists.gnu.org/r/emacs-devel/2016-08/msg00467.html
47191         * doc/lispref/frames.texi (Deleting Frames): Minor fixes for
47192         docs of `delete-frame' and `frame-live-p'.  Add entry for
47193         `delete-other-frames'.
47194         (Finding All Frames): Fix doc of `next-frame'.
47196 2016-08-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47198         Find message.el thumbnail toggling
47200         * lisp/gnus/message.el (message-toggle-image-thumbnails):
47201         Don't infloop when toggling thumbnails.
47203 2016-08-24  Alan Third  <alan@idiocy.org>
47205         Fix macOS 12 deprecation notices
47207         * src/nsterm.h: Add #defines to allow older versions of macOS to use the
47208         new constant names.
47209         * src/nsmenu.m: Replace old constant names with
47210         new.
47211         (fillWithWidgetValue): Remove calls to deprecated
47212         setMenuChangedMessagesEnabled.
47213         * src/nsterm.m: Replace old constant names with new.
47214         * src/nsfns.m: Replace old constant names with new.
47216 2016-08-23  Alan Mackenzie  <acm@muc.de>
47218         Analyze and fontify correctly a C++ `enum' with colon, but lacking a tag.
47220         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for "enum"
47221         directly preceding the colon, and handle it.
47223 2016-08-23  Noah Friedman  <friedman@splode.com>
47225         * src/xfns.c (Fx_change_window_property): Modify previous change.
47226         Instead of forcing format to 8 for strings, check that the length of
47227         the string is appropriate for whatever format given.
47228         (Fx_window_property_attributes): If prop isn't found on frame's inner window,
47229         try its outer window.  This mimics the behavior of Fx_window_property.
47231 2016-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
47233         Fix invalid image rotations
47235         * lisp/image.el (image-rotate): Limit rotation to 360 degrees.
47237 2016-08-23  Tino Calancha  <tino.calancha@gmail.com>
47239         call-process instead of call-process-region with empty region
47241         * lisp/calc/calc-graph.el (calc-graph-show-tty):
47242         Use call-process and shell-command-switch.
47244 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
47246         Merge from origin/emacs-25
47248         927afa1 ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 RC2
47249         6bf83b5 * etc/AUTHORS: Update the AUTHORS file
47250         73cbb81 ; ChangeLog spelling fixes
47251         9b99772 Some assorted documentation clarifications
47252         37d4723 Improve commentary in src/character.h
47253         5ccd593 ; Fix typo in /etc/NEWS
47254         96e3d16 * etc/NEWS: Mention the change in json-encode-string.
47255         2e524034 ; * etc/NEWS: Mention incompatible change in url-http-create...
47256         2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
47257         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
47259         # Conflicts:
47260         #       ChangeLog.2
47261         #       lisp/ldefs-boot.el
47263 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
47265         Merge from origin/emacs-25
47267         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
47269 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
47271         Merge from origin/emacs-25
47273         8c2946e In NEWS describe new handling of window margins (Bug#24193)
47274         0cee66c Facultatively ignore margins when splitting and resizing wind...
47275         8d68147 Document CATEGORY arg to modify-category-entry
47276         8342e74 Document char-script-table's effect on word motion
47277         e9ff485 Further fix for 'url-http-create-request' and multibyte strings
47278         0695235 Fix docstring of eval-expression
47279         98b01dd Clarify when 'cursor' property is in effect
47280         75f1882 Convert the remaining strings to unibyte before concatenating
47281         d2db5dd Fix bug with handling the bidi cache
47282         ccd0e92 * doc/lispref/text.texi (Change Hooks): Minor copyedits.
47283         f785ff4 Clarify documentation of before/after-change-functions
47284         3c9cb57 Document use of vectors in keymaps
47286         # Conflicts:
47287         #       src/xdisp.c
47289 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
47291         Handle remote file names in gdb-mi.el
47293         * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer):
47294         If `default-directory' is remote, full file names are adapted
47295         accordingly.  (Bug#23608)
47297 2016-08-22  Eli Zaretskii  <eliz@gnu.org>
47299         Display mini-window resized even when there are several frames
47301         * src/xdisp.c (x_consider_frame_title): Bind inhibit-redisplay to
47302         t to avoid resizing back the mini-window as result of considering
47303         the title of other frames.  (Bug#24285)
47304         (redisplay_window): No need to bind inhibit-redisplay here.
47306 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
47308         Explain gdb warning on remote hosts
47310         * doc/misc/tramp.texi (Remote processes): Explain gdb warning
47311         on remote hosts.  (Bug#4604, Bug#6360, Bug#622569)
47313 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
47315         Fix (next-frame nil t) crash (Bug#24281)
47317         * src/frame.c (candidate_frame): Check minibuf argument before
47318         comparing it to zero (Bug#24281).
47320 2016-08-21  Noah Friedman  <friedman@splode.com>
47322         Fix interpretation of signed vs unsigned values when retrieving X
47323         Window properties, and make sure the full value is returned when not
47324         parsed.
47326         New subr to export type and format information about X Window
47327         properties to lisp.
47329         * src/xselect.c (selection_data_to_lisp_data): Treat any data as
47330         unsigned unless its actual type is INTEGER.
47331         CARDINALs, in particular, are unsigned.
47333         * src/xfns.c (Fx_change_window_property): If value is a string, ignore
47334         any provided format and force to 8.
47335         (x_window_property_intern): If returning value as a string, the length
47336         is actual_size times the actual format of each element, which is not
47337         necessarily bytes.
47338         (Fx_window_property_attributes): New subr.
47339         (syms_of_xfns): Declare it.
47341 2016-08-21  Noam Postavsky  <npostavs@gmail.com>
47343         Improve error when installing non-package dirs
47345         * lisp/emacs-lisp/package.el (package-dir-info): Throw meaningful error
47346         when no file with package info is found (Bug #19851).
47348 2016-08-21  Alan Mackenzie  <acm@muc.de>
47350         Adapt CC Mode for C++11 uniform initialization.
47352         For fontification, introduce a new "context", 'non-decl, to be used for
47353         brace
47354         lists; also a new value for the property 'c-type, called 'c-not-decl.
47356         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): Check that
47357         an ostensible symbol we're going to move over isn't a keyword.
47358         (c-forward-decl-or-cast-1): CASE 1: Where we have two consecutive identifiers
47359         (hence a declaration), and an unmatched open paren, perform
47360         c-fdoc-shift-type-backwards to recognize the partial construct correctly.
47361         Whilst checking a type decl expression, check for and handle C++11's "copy
47362         initialization", where we have <type>(<constant>).  Recognize
47363         <id><id>(... (where the paren is unclosed) as a declaration.
47364         (c-looking-at-or-maybe-in-bracelist): New function, extracted from
47365         c-inside-bracelist-p.  Recognize as bracelists "{"s which are preceded by
47366         valid tokens other than "=".  Recognize a bracelist when preceded by a
47367         template declaration.
47368         (c-inside-bracelist-p): Call c-looking-at-or-maybe-in-bracelist in place of
47369         much inline code.
47370         (c-looking-at-inexpr-block): Amend so that it won't wrongly recognize an
47371         initialization starting "({" as an in-expression block, by checking for
47372         semicolons, as opposed to commas, separating elements inside it.
47373         (c-guess-continued-construct): (CASE B-2): Recognize a brace-list-open by
47374         calling c-looking-at-or-maybe-in-bracelist rather than checking for a
47375         preceding "=".  (CASE B-5): New code to recognize new construct "return {
47376         ...}".
47377         (c-guess-basic-syntax): (CASE 5A.3): Additionally recognize a "{" preceded by
47378         "return", or "{" preceded by <type><identifier> as a bracelist.
47380         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize brace
47381         lists, giving them `context' 'non-decl.  Pass over elements of one by regexp
47382         search for "," rather than calling c-forward-decl-or-cast-1.
47384         * lisp/progmodes/cc-langs.el (c-return-kwds, c-return-key): New lang
47385         constants/variables to recognize "return".
47386         (c-pre-id-bracelist-key): New lang constant/variable to recognize tokens
47387         which, when preceding an identifier followed by a brace, signify the brace as
47388         a bracelist.
47390         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When searching outwards for
47391         the start of a "local" declaration, move out from an enclosing brace when
47392         that is the start of a brace list.
47394 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
47396         Update from gnulib
47398         This incorporates:
47399         2016-08-17 maint: preprocessor changes to support z/OS
47400         2016-08-17 string: rename to avoid '__string'
47401         * doc/misc/texinfo.tex, lib/alloca.in.h, lib/string.in.h:
47402         Copy from gnulib.
47404 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
47406         Minor text-quoting-style fixes
47408         * src/charset.c (check_iso_charset_parameter):
47409         * src/frame.c (store_frame_param):
47410         * src/xselect.c (x_fill_property_data):
47411         Use grave accent for left single quote in ‘error’ format strings.
47413 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
47415         Fix semantics of 'minibuffer' frame parameter
47417         The 'minibuffer' frame parameter is now t for a normal frame
47418         (a frame with a root window plus a minibuffer window) and the
47419         frame's minibuffer window for a minibuffer-less frame (a frame
47420         whose minibuffer window is on another frame).  See also:
47421         https://lists.gnu.org/r/emacs-devel/2016-07/msg01259.html
47423         * src/frame.c (make_frame, make_frame_without_minibuffer)
47424         (make_minibuffer_frame): When assigning the frame's minibuffer
47425         window also store corresponding 'minibuffer' frame parameter.
47426         (store_frame_param): Move the 'minibuffer' parameter checks to
47427         the beginning so we can silently override the value before it
47428         gets stored in the parameter alist.  Fix error handling.
47429         (Fframe_parameters): Return value of 'minibuffer' parameter
47430         unmodified.
47432         * lisp/frameset.el (frameset-filter-minibuffer): When the cdr of
47433         the parameter is a minibuffer window, save (minibuffer . nil)
47434         instead of (minibuffer . t).
47435         (frameset--reuse-frame): To find a non-minibuffer-only frame
47436         look out for a frame whose 'minibuffer' parameter is t instead
47437         of that frame's minibuffer window.
47438         (frameset-minibufferless-first-p): To find a minibuffer-less
47439         frame look out for a frame whose 'minibuffer' parameter is a
47440         window instead of nil.
47442 2016-08-20  Alan Mackenzie  <acm@muc.de>
47444         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Resolve overelaborate "nil"
47446 2016-08-20  Alan Mackenzie  <acm@muc.de>
47448         In c-\(go-\)?-\(up-\|down-\)?list-\(forward\|backward\) check limit isn't nil
47450         Check the limit both at macro expansion time (for a hard coded nil) and at run
47451         time in the generated code.  Tidy up these macros generally.
47453         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Check `limit' is present and
47454         not identically nil before generating a narrow-to-region call.  Generate code
47455         to check `limit' is not nil at run time.
47456         (c-go-list-forward, c-go-list-backward): Remove the generation of redundant
47457         narrow-to-region, instead calling c-safe-scan-lists directly.
47458         (c-go-up-list-forward, c-go-up-list-backward, c-go-down-list-forward)
47459         (c-go-down-list-backward): Invoke the corresponding macros without the "go-"
47460         to determine the destination position instead of generating a redundant
47461         narrow-to-region.
47463 2016-08-19  Robert Cochran  <robert-git@cochranmail.com>
47465         * lisp/emacs-lisp/map.el (map--dispatch): Fix docstring
47467         The docstring referenced a non-existant parameter, as well as a
47468         parameter that has been renamed since the docstring was written. Fix
47469         both errors, fixing (Bug#24182).
47471 2016-08-19  Alan Mackenzie  <acm@muc.de>
47473         Amend hack-local-variables-prop-line not always to return any mode on line 1.
47475         This fixes bug #24266.
47477         * lisp/files.el (hack-local-variables-prop-line): Change the name of the
47478         parameter mode-only to handle-mode.  Change its meaning, such that it being
47479         set to a value non-nil and not t removes any mode parameter from the result
47480         list.  Leave its values nil and t with the same meanings they had.
47481         (hack-local-variables): Call hack-local-variables-prop-line appropriately.
47483 2016-08-19  Daiki Ueno  <ueno@gnu.org>
47485         Improve doc string of epg-*-program
47487         * lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program):
47488         Suggest to use Customize when setting.  (Bug#24229)
47490 2016-08-19  Tino Calancha  <tino.calancha@gmail.com>
47492         Add tests for Bug#24264
47494         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
47495         Add test for Bug#24264.
47496         (cl-seq-fill-test, cl-seq-replace-test)
47497         (cl-seq-remove-test ,cl-seq-delete-test)
47498         (cl-seq-remove-duplicates-test, cl-seq-substitute-test)
47499         (cl-seq-nsubstitute-test, cl-seq-position-test)
47500         (cl-seq-count-test, cl-seq-mismatch-test)
47501         (cl-seq-search-test, cl-seq-test-bug24264):
47502         Add tests for all functions in the file; test all keywords.
47504 2016-08-18  Johan Bockgård  <bojohan@gnu.org>
47506         Fix bug in --eval reply message from server
47508         * lisp/server.el (server-reply-print): Fix check for truncated quote
47509         sequence at end of message. Problem reported in:
47510         https://lists.gnu.org/r/emacs-devel/2016-08/msg00101.html
47512 2016-08-18  Eli Zaretskii  <eliz@gnu.org>
47514         Add tests for 'substitute-command-keys'
47516         * test/src/doc-tests.el (doc-test-substitute-command-keys): New
47517         tests.
47519 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
47521         lisp/textmodes/table.el (table-generate-source): Fix completing-read call
47523         Doesn't make sense to pass '(("html") ("latex") ("cals")) to
47524         `completing-read'.
47526 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
47528         lisp/dired-aux.el (dired-compress-file-suffixes): Add entry for tgz
47530         The previous behavior resulted in a "tgz" -> "tar" -> "tgz" loop,
47531         without any files being extracted.
47533 2016-08-18  Andreas Politz  <politza@hochschule-trier.de>
47535         Don't let window start override window point in `window-state-put' (Bug#24240)
47537         * lisp/window.el (window--state-put-2): Set 'noforce argument
47538         when restoring a window's start position.  This avoids that the
47539         effect of `set-window-point' gets overidden by that of
47540         `set-window-start' (Bug#24240).
47542 2016-08-17  Alan Mackenzie  <acm@muc.de>
47544         Fontify constructs following "::" in C++ argument lists correctly - part 2.
47546         This fixes bug #24246.
47548         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Put a
47549         `save-match-data' around the new `looking-at' introduced by the previous CC
47550         Mode patch this evening.
47552 2016-08-17  Alan Mackenzie  <acm@muc.de>
47554         Fontify constructs following "::" in C++ argument lists correctly.
47556         This fixes bug #24246.
47558         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): In the "pseudo
47559         match" loop, test a found string for a match with c-opt-identifier-concat-key
47560         (e.g. with "::").
47562 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
47564         * src/doc.c (Fsubstitute_command_keys): Clarify GC comments.
47566 2016-08-17  K. Handa  <handa@gnu.org>
47568         Fix hz encoding and decoding (bug#23814)
47570         * lisp/language/china-util.el (decode-hz-region): Pay
47571         attention to "~~}" sequence at the end of Chinese character
47572         range.
47573         (hz-category-table): New variable.
47574         (encode-hz-region): Convert non-encodable characters to
47575         \u... and \U...  Preserve ESC on ecoding.  Put
47576         `chinese-gb2312' `charset' text property in advance to force
47577         iso-2022-encoding to select chinese-gb2312 designation.
47579 2016-08-17  Tino Calancha  <tino.calancha@gmail.com>
47581         file-attribute-collect: New defun
47583         * lisp/files.el (file-attribute-collect):
47584         Return a sublist of the attributes returned by 'file-attributes'.
47585         Suggested by Ted Zlatanov in:
47587         https://lists.gnu.org/r/emacs-devel/2016-07/msg01195.html
47589 2016-08-17  Michael Albinus  <michael.albinus@gmx.de>
47591         Fix Bug#24203
47593         * lisp/comint.el (comint-password-prompt-regexp): Relax regexp.  (Bug#24203)
47595 2016-08-16  Karl Fogel  <kfogel@red-bean.com>
47597         Improve doc string.
47599         * src/fileio.c (Ffile_name_as_directory): Be precise about the
47600         conditions under which a slash is appended.
47602 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
47604         Omit substitute-command-keys code no longer needed
47606         * src/doc.c (Fsubstitute_command_keys):
47607         Remove duplicate initializations.
47609 2016-08-16  Tino Calancha  <tino.calancha@gmail.com>
47611         Allow not erase output buffer in shell commands
47613         * lisp/simple.el (shell-command-not-erase-buffer): New option to allow
47614         not erasing the output buffer between shell commands.  Defaults to nil.
47615         (shell-command-on-region): Use it.
47616         (shell-command--save-pos-or-erase): New defun; store a buffer position
47617         if 'shell-command-not-erase-buffer' is non-nil; otherwise
47618         erase the output buffer of the shell command.
47619         (shell-command, shell-command-on-region): Use it.
47620         (shell-command--set-point-after-cmd): New defun;
47621         if 'shell-command-not-erase-buffer' is non-nil, set point
47622         in the output buffer to the position in 'shell-command-saved-pos'.
47623         (shell-command-sentinel, shell-command-on-region): Use it.
47624         * doc/emacs/misc.texi (shell-command-not-erase-buffer):
47625         Document this feature in the manual.
47626         See discussion on:
47627         https://lists.gnu.org/r/emacs-devel/2016-07/msg00610.html
47629 2016-08-16  Michael Albinus  <michael.albinus@gmx.de>
47631         Rearrange Tramp manual title page
47633         * doc/misc/tramp.texi: Move @insertcopying out of the title
47634         page.  Do not use @ifnottex anymore.
47636 2016-08-15  Glenn Morris  <rgm@gnu.org>
47638         * doc/misc/tramp.texi: Adapt 2016-08-14 change for makeinfo 4.
47640 2016-08-15  Alan Mackenzie  <acm@muc.de>
47642         Fix minor bug in c-syntactic-re-search-forward.
47644         Bug was: when NOERROR is neither nil nor t, BOUND is non-nil, PAREN-LEVEL is
47645         non-nil, and the first internal search attempt fails, point wrongly ends up at
47646         BOUND, rather than just before the next closing paren.
47648         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Guard against
47649         the above situation.
47651 2016-08-15  Alan Mackenzie  <acm@muc.de>
47653         Handle C++11 lambda functions.
47655         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): Enhance also to
47656         handle C++ lambda functions.
47657         (c-looking-at-c++-lambda-capture-list): New function.
47659         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize the
47660         parameter list of a lambda function and set `context' and
47661         `c-restricted-<>-arglists' suitably for it.
47662         (c-font-lock-c++-lambda-captures): New function.
47663         (c-complex-decl-matchers): Insert c-font-lock-c++-lambda-captures into it.
47665         * lisp/progmodes/cc-langs.el (c-pre-lambda-tokens, c-pre-lambda-tokens-re):
47666         New language constants/variables.
47667         (c-paren-nontype-kwds): Include "noexcept" in the C++ value.
47669         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Handle being in a C++ lambda
47670         function capture list.
47672 2016-08-15  Michael Albinus  <michael.albinus@gmx.de>
47674         Fix stale cache problem in Tramp
47676         * lisp/net/tramp-cache.el (tramp-get-connection-property):
47677         Check, that a process as key is still running.  (Bug#22478)
47679 2016-08-14  Paul Eggert  <eggert@cs.ucla.edu>
47681         * doc/misc/tramp.texi (Configuration): Fix @xref typo.
47683 2016-08-14  Eli Zaretskii  <eliz@gnu.org>
47685         Another fix for scroll-conservatively and overlay strings
47687         * src/xdisp.c (redisplay_window): Handle also the case where the
47688         calculated window-start point has an overlay string touching it.
47689         (Bug#24179)
47691 2016-08-14  Michael Albinus  <michael.albinus@gmx.de>
47693         Improve handling of defcustoms in tramp
47695         * doc/misc/tramp.texi: Protect all multi-line examples by
47696         @group ... @end group.  Use proper `custom-set-variables'
47697         examples.  Use consequently @option for user options.  Remove
47698         superfluous @cindex and @vindex entries.
47699         (Top): Remove reference to outdated mail archives.
47700         (Configuration): Tune references.
47701         (Default Method): Make `tramp-default-method' and
47702         `tramp-default-method-alist' a @defopt.
47703         (Default User): Make `tramp-default-user' and
47704         `tramp-default-user-alist' a @defopt.
47705         (Default Host): Make `tramp-default-host' and
47706         `tramp-default-host-alist' a @defopt.
47708         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
47709         (tramp-backup-directory-alist, tramp-auto-save-directory)
47710         (tramp-encoding-shell, tramp-encoding-command-switch)
47711         (tramp-encoding-command-interactive, tramp-default-method)
47712         (tramp-default-method-alist, tramp-default-user)
47713         (tramp-default-user-alist, tramp-default-host)
47714         (tramp-default-host-alist, tramp-default-proxies-alist)
47715         (tramp-save-ad-hoc-proxies)
47716         (tramp-restricted-shell-hosts-alist)
47717         (tramp-local-end-of-line, tramp-rsh-end-of-line)
47718         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
47719         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
47720         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
47721         (tramp-terminal-prompt-regexp)
47722         (tramp-operation-not-permitted-regexp)
47723         (tramp-copy-failed-regexp, tramp-process-alive-regexp)
47724         (tramp-syntax, tramp-chunksize)
47725         (tramp-process-connection-type, tramp-connection-timeout)
47726         (tramp-connection-min-time-diff)
47727         (tramp-completion-reread-directory-timeout):
47728         * lisp/net/tramp-adb.el (tramp-adb-program)
47729         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
47730         * lisp/net/tramp-cache.el (tramp-connection-properties)
47731         (tramp-persistency-file-name):
47732         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
47733         (tramp-gvfs-zeroconf-domain)
47734         (tramp-bluez-discover-devices-timeout):
47735         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
47736         (tramp-copy-size-limit, tramp-terminal-type)
47737         (tramp-histfile-override)
47738         (tramp-use-ssh-controlmaster-options, tramp-remote-path)
47739         (tramp-remote-process-environment, tramp-sh-extra-args):
47740         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
47741         (tramp-smb-conf, tramp-smb-winexe-program)
47742         (tramp-smb-winexe-shell-command)
47743         (tramp-smb-winexe-shell-command-switch): Add :require 'tramp.
47745 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
47747         Minor text-quoting-style fixes
47749         * lisp/cus-edit.el (custom-buffer-create-internal):
47750         * lisp/recentf.el (recentf-edit-list):
47751         Follow text-quoting-style preference when quoting in UI strings.
47752         * src/doc.c (Fsubstitute_command_keys): Don’t say that curved
47753         quotes are substituted for, as this is no longer true.
47755 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
47757         Fix substitute-command-keys unibyte, alloc bugs
47759         * src/doc.c (Fsubstitute_command_keys): Fix some problems with
47760         unibyte strings and with buffer allocation.  Make strings
47761         multibyte, to avoid problems with unibyte strings that are not
47762         valid UTF-8 (Bug#24206).  Redo buffer allocation so that it is
47763         O(N), not O(N**2).  Avoid going past the end of the input string
47764         when given invalid input.  Avoid some unlikely problems in
47765         accessing the wrong storage after a GC.
47767 2016-08-13  Joakim Jalap  <joakim.jalap@fastmail.com>
47769         Fix "C-u" when an input method is active
47771         * lisp/international/quail.el (quail-input-method): Defer to the
47772         input method iff 'overriding-terminal-local-map' is
47773         'universal-argument-map' and the given key has no binding there.
47774         (Bug#22958)
47776 2016-08-13  Martin Rudalics  <rudalics@gmx.at>
47778         Fix docs on `display-buffer-below-selected' (Bug#24213)
47780         * lisp/window.el (display-buffer-below-selected): Fix
47781         doc-string (Bug#24213).
47782         * doc/lispref/windows.texi (Display Action Functions): Fix
47783         documentation of `display-buffer-below-selected'.
47785 2016-08-12  Tino Calancha  <tino.calancha@gmail.com>
47787         cl-fill: Rename arguments to cl-seq and cl-item
47789         * lisp/emacs-lisp/cl-seq.el (cl-fill):
47790         Rename arguments to 'cl-seq' and 'cl-item' as elsewhere.
47792 2016-08-12  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
47794         Fix display.texi typo
47796         * doc/lispref/display.texi (Faces): Fix typo.
47798 2016-08-11  Paul Eggert  <eggert@cs.ucla.edu>
47800         Fix process leak with make-network-process
47802         This problem was introduced by the recent async changes (Bug#23808).
47803         * src/process.c (Fmake_process): Move USE_SAFE_ALLOCA later,
47804         so that it follows the start_process_unwind unwind-protect.
47805         Set pid to -1 while the process is being created.
47806         (start_process_unwind): Omit unnecessary emacs_abort test.
47807         (connect_network_socket): Simplify use of counts.  Unwind
47808         bind_polling_period a bit earlier, so that a remove_process
47809         unwind-protect can be added when needed; this is the heart of
47810         the fix.  Undo the unwind-protect just before returning.
47812 2016-08-11  Eli Zaretskii  <eliz@gnu.org>
47814         Avoid annoying re-scroll when buffer has many overlay strings
47816         * src/xdisp.c (redisplay_window): Add better recovery from a
47817         situation where window-start is on buffer position which has a
47818         before-string that includes newlines, with the result that point
47819         is not visible in the window, because the display engine starts
47820         displaying with the before-string.  (Bug#24179)
47822 2016-08-10  Paul Eggert  <eggert@cs.ucla.edu>
47824         Omit unnecessary process initialization
47826         * src/process.c (make_process, Fmake_process)
47827         (Fmake_pipe_process, Fmake_serial_process)
47828         (Fmake_network_process, server_accept_connection):
47829         Omit unnecessary initialization of already-cleared storage.
47831 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
47833         cl-delete-duplicates: Parse :if to have cl-if bound
47835         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
47836         We need also to parse keyword :if, otherwise cl-if
47837         is unbound.
47838         This reverts commit:
47839         68fdbeb917b80e29e0b15506f18f7ed41d8ffdfd
47841 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
47843         cl-delete-duplicates: do not parse :if keyword
47845         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
47846         Parse only the supported keywords.
47848 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
47850         Add compatibility layer for `temporary-file-directory-function'
47852         * lisp/net/tramp-compat.el
47853         (tramp-compat-temporary-file-directory-function): New defalias.
47855         * lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it.
47857         * test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file):
47858         Skip for older Emacs versions.
47860 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
47862         * lisp/comint.el (comint-password-prompt-regexp): Add "PEM" for OpenVPN.
47864         (Bug#24059)
47866 2016-08-10  Vincent Belaïche  <vincentb1@users.sourceforge.net>
47868         Handle nil cell value in compiled printer functions.
47870         * doc/misc/ses.texi (Quick Tutorial): Minor clarification about the
47871         ses-range `!' modifier.
47872         (More on cell printing): Fix this that the fallback printer is
47873         `ses-prin1', not "%S".  That makes a difference for any cell value for
47874         which "%S" would insert a backslash characters.
47876         * lisp/ses.el (ses-local-printer-compile): Handle the nil cell value
47877         --- contrary to emacs-25 branches ses-call-printer does not handle
47878         prior to calling a function printer.  Not doing this would still work
47879         because the compiled function would throw and error and SES would in
47880         the end resort to the ses-prin1 fallback, however this way would not
47881         be in line with the raison d'être of compiling printer which is speed.
47883 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
47885         Turn on lexical-binding in json.el
47887         Measuring with (benchmark-run 100 (json-read-file "foobar.json"))
47888         showed 12-31% reduction in execution time.
47889         * lisp/json.el: Turn on lexical-binding.
47891 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
47893         Nudge WoMan toward lexical-binding
47895         * lisp/woman.el (woman-parse-man.conf, woman-manpath-add-locales):
47896         Use cl-pushnew instead of add-to-list.
47897         (woman-justify-list): Rename to woman-justify-styles.
47898         (woman-justify-styles): New array.
47899         (woman-justify, woman-decode-region, woman2-ad, woman2-na): Use it.
47900         (woman-cached-data): Use cl-pushnew instead of add-to-list.
47902 2016-08-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
47904         Apply changes from commits 3c97b0f758 and 8a38e948b0 to master branch.
47906         Here follows the logs from the two commits which I apply to master.
47908         commit 3c97b0f7589e06aeb1ab0147f0ee32974c32926d
47909         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
47910         Date:   Fri Jul 29 13:44:14 2016 +0200
47912         Fix ses-delete-blanks to delete only blanks + documentation.
47914         * doc/misc/ses.texi (Quick Tutorial): Mention the '!'
47915         'ses-range' modifier as an alternative to 'ses+'.
47916         (Advanced Features): Add a refernce to node 'Nonrelocatable
47917         references' concerning function 'ses-rename-cell'.
47918         (Standard formula functions): Mention the '!' 'ses-range'
47919         modifier as an alternative to 'ses-delete-blanks'.
47920         (More on cell printing): Fix fallback printer
47921         definition.  Minor editorial formatting changes.
47922         (Nonrelocatable references): Document the use of
47923         'ses-rename-cell' as a better way to make cell reference
47924         non-relocatable.
47925         (The data area): Document the presence of local printer
47926         definitions in the data area.
47928         * lisp/ses.el (ses-delete-blanks): Do not remove
47929         *error*.  Any error in an argument should propagate into the
47930         using formula rather than being silently hidden !
47932         commit 8a38e948b039516e70176ebe20c5349e2ade6ac5
47933         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
47934         Date:   Thu Jul 28 19:49:37 2016 +0200
47936         Fix local printer set to left aligned string formatter.
47938         * lisp/ses.el (ses-local-printer-compile): Add missing case
47939         for left-aligned string formatter.
47941 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
47943         * .dir-locals.el (c-noise-macro-names): Remove NONVOLATILE.
47945 2016-08-09  Stefan Monnier  <monnier@iro.umontreal.ca>
47947         * lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing
47949         Change the code which detects and circumvents the case where one of the
47950         variables used in λ-lifting is shadowed, so that it also works when the
47951         shadowing comes before the λ-lifted function (bug#24171).
47953         (cconv--remap-llv): New function, extracted from cconv-convert.
47954         (cconv-convert): Use it, but differently for `let' and `let*'.
47956 2016-08-09  Alan Mackenzie  <acm@muc.de>
47958         CC Mode: check for and fix missing call to before_change_functions.
47960         Fixes bug #24094 and bug #24074.
47962         This can happen with `revert-buffer' or sometimes `find-file', when the file
47963         is already in a buffer, but the file has been changed outside of Emacs.
47965         * lisp/progmodes/cc-mode.el (c-after-change): When we detect a missing
47966         invocation of c-before-change-functions, we assume the changed region is the
47967         entire buffer, and call c-before-change explicitly before proceding.
47969 2016-08-09  Alan Mackenzie  <acm@muc.de>
47971         Make c-deprepertize-CPP work on deletion/insertion of "s.  Fixes bug #24132.
47973         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Rewrite function.
47975 2016-08-09  Michael Albinus  <michael.albinus@gmx.de>
47977         Support $ENV in Tramp
47979         * doc/misc/tramp.texi (Remote processes): Explain setting $ENV.
47981         * etc/NEWS: Explain the "ENV" environment variable in
47982         `tramp-remote-process-environment'.
47984         * lisp/net/tramp-sh.el (tramp-remote-process-environment): Add "ENV=''".
47985         (tramp-open-shell): Read $ENV value from
47986         `tramp-remote-process-environment'.
47987         (tramp-open-connection-setup-interactive-shell): Set values in
47988         proper order.
47990 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
47992         Simplify exec_byte_code via moving decls etc.
47994         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
47995         initializers into decls, and by omitting some unnecessary
47996         changes to ‘top’.  This improves performance a bit on x86-64,
47997         as it happens.
47999 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48001         Remove interpreter’s byte stack
48003         This improves performance overall on my benchmark on x86-64,
48004         since the interpreted program-counter resides in a machine
48005         register rather than in RAM.
48006         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
48007         is no longer a byte stack to decode.
48008         * src/bytecode.c (struct byte_stack, byte_stack_list)
48009         (relocate_byte_stack): Remove.  All uses removed.
48010         (FETCH): Simplify now that pc is now local (typically, in a
48011         register) and no longer needs to be relocated.
48012         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
48013         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
48014         (exec_byte_code): Allocate a copy of the function’s bytecode,
48015         so that there is no problem if GC moves it.
48016         * src/lisp.h (struct handler): Remove byte_stack member.
48017         All uses removed.
48018         (SAFE_ALLOCA_LISP_EXTRA): New macro, a generalization of
48019         SAFE_ALLOCA_LISP.
48020         (SAFE_ALLOCA_LISP): Use it.
48022 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48024         Remove arbitrary limit on bytecode maxdepth
48026         * src/bytecode.c (exec_byte_code): Remove MAX_ALLOCA-based limit
48027         on bytecode maxdepth, by using SAFE_ALLOCA_LISP instead of alloca.
48029 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48031         Tune bytecode quitting
48033         * src/bytecode.c (BYTE_CODE_QUIT): Check for GC, too.  Do the
48034         check only once every 256 times.  This should be good enough, and
48035         improves performance significantly on x86-64 as branch-prediction
48036         typically assumes checking will not be done so the instruction
48037         pipeline stays fuller.
48038         (exec_byte_code): Set up the quit counter.  Don’t call maybe_gc
48039         directly, as BYTE_CODE_QUIT does that now.
48041 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48043         Simplify BYTE_CODE_SAFE checking
48045         * src/bytecode.c (BYTE_CODE_SAFE): Default to false, so that it
48046         can be used outside #if.  All uses of ‘defined BYTE_CODE_SAFE’
48047         changed to ‘BYTE_CODE_SAFE’.  Use BYTE_CODE_SAFE in plain
48048         expressions instead of #if expressions when this is easy.
48049         (struct byte_stack) [BYTE_CODE_SAFE]: Remove member ‘bottom’,
48050         as it is no longer needed.
48051         (exec_byte_code): Omit #if BYTE_CODE_SAFE when this is easy.
48052         Simplify stack-overflow checking when BYTE_CODE_SAFE.
48054 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48056         Get BYTE_CODE_METER working again
48058         BYTE_CODE_METER hasn’t worked since 2013, and nobody seems to have
48059         noticed.  Perhaps we should remove it?
48060         * src/bytecode.c (METER_2) [BYTE_CODE_METER]:
48061         Use *aref_addr instead of AREF, since it needs to be an lvalue.
48063 2016-08-08  Eli Zaretskii  <eliz@gnu.org>
48065         Fix cursor position under scroll-conservatively and overlay strings
48067         * src/xdisp.c (try_scrolling): Handle the case where the last
48068         visible screen line of a window displays a before- or after-string
48069         that takes up the whole screen line, and therefore there's no
48070         place to display the cursor, even though the window does seem to
48071         include the position of point.  (Bug#24179)
48073 2016-08-08  Michael Albinus  <michael.albinus@gmx.de>
48075         * lisp/files.el (file-ownership-preserved-p): Fix docstring.  (Bug#23998)
48077 2016-08-07  Paul Eggert  <eggert@cs.ucla.edu>
48079         Tune interpretation of integer arglist descriptor
48081         * src/bytecode.c (exec_byte_code):
48082         Simplify and tune when INTEGERP (args_template).
48084 2016-08-07  Noam Postavsky  <npostavs@gmail.com>
48086         Fix debugging of string-match-p errors
48088         * src/eval.c (call_debugger): Bind inhibit-changing-match-data to nil so
48089         that debugger code that needs to do regexp match won't break
48090         (Bug #23949, Bug #24166, Bug#16294).
48092 2016-08-07  Michael Albinus  <michael.albinus@gmx.de>
48094         Add `make-nearby-temp-file' and `temporary-file-directory'
48096         * doc/lispref/files.texi (Unique File Names):
48097         Introduce `make-nearby-temp-file' and `temporary-file-directory'.
48098         (Magic File Names): Mention `make-nearby-temp-file' and
48099         `temporary-file-directory'.
48101         * etc/NEWS (provided): Mention `make-nearby-temp-file' and
48102         `temporary-file-directory'.
48104         * lisp/files.el (mounted-file-systems): New defcustom.
48105         (temporary-file-directory, make-nearby-temp-file): New defuns.
48106         (normal-backup-enable-predicate): Fix docstring.
48108         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
48109         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
48110         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
48111         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
48112         <make-nearby-temp-file, temporary-file-directory>: Add handler.
48114         * lisp/net/tramp.el (tramp-file-name-for-operation):
48115         Add `make-nearby-temp-file' and `temporary-file-directory'.
48116         (tramp-get-remote-tmpdir): Remove compatibility code.
48117         (tramp-handle-temporary-file-directory)
48118         (tramp-handle-make-nearby-temp-file): New defuns.
48120         * lisp/org/ob-core.el (org-babel-local-file-name):
48121         * lisp/progmodes/gud.el (gud-common-init):
48122         * lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.
48124         * lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.
48126         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
48127         Check `tramp--test-enabled'.
48128         (tramp-test18-file-attributes): Add tests for
48129         `file-ownership-preserved-p'.
48130         (tramp-test27-start-file-process, tramp-test28-shell-command):
48131         Reduce timeouts in `accept-process-output'.
48132         (tramp-test--shell-command-to-string-asynchronously): Add timeout.
48133         (tramp-test29-environment-variables): Remove additional sleep calls.
48134         (tramp-test32-make-nearby-temp-file): New test.
48135         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
48136         (tramp-test33-special-characters)
48137         (tramp-test33-special-characters-with-stat)
48138         (tramp-test33-special-characters-with-perl)
48139         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
48140         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
48141         (tramp-test34-utf8-with-ls)
48142         (tramp-test35-asynchronous-requests)
48143         (tramp-test36-recursive-load, tramp-test37-unload): Rename.
48144         (tramp--test-ftp-p): Simplify check.
48145         (tramp--test-sh-p): New defun.
48146         (tramp-test20-file-modes, tramp-test22-file-times)
48147         (tramp-test26-process-file, tramp-test27-start-file-process)
48148         (tramp-test28-shell-command)
48149         (tramp-test29-environment-variables)
48150         (tramp-test30-vc-registered)
48151         (tramp-test33-special-characters-with-stat)
48152         (tramp-test33-special-characters-with-perl)
48153         (tramp-test33-special-characters-with-ls)
48154         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
48155         (tramp-test34-utf8-with-ls)
48156         (tramp-test35-asynchronous-requests): Use it.
48158 2016-08-06  Michael Albinus  <michael.albinus@gmx.de>
48160         Add missing dcstrings in Tramp, remove chec for obsolee methods
48162         * lisp/net/tramp.el (tramp-progress-reporter-update)
48163         (tramp-unload-file-name-handlers, tramp-get-local-uid)
48164         (tramp-get-local-gid, tramp-get-local-locale):
48165         * lisp/net/tramp-adb.el (tramp-adb-ls-date-regexp)
48166         (tramp-adb-ls-toolbox-regexp, tramp-adb-get-ls-command):
48167         * lisp/net/tramp-compat.el (tramp-compat-funcall):
48168         * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
48169         * lisp/net/tramp-gw.el (tramp-gw-process-filter):
48170         * lisp/net/tramp-sh.el (tramp-get-remote-path)
48171         (tramp-get-remote-locale, tramp-get-ls-command)
48172         (tramp-get-ls-command-with-dired)
48173         (tramp-get-ls-command-with-quoting-style)
48174         (tramp-get-ls-command-with-w-option)
48175         (tramp-get-test-nt-command, tramp-get-file-exists-command)
48176         (tramp-get-remote-ln, tramp-get-remote-perl)
48177         (tramp-get-remote-stat, tramp-get-remote-readlink)
48178         (tramp-get-remote-trash, tramp-get-remote-touch)
48179         (tramp-get-remote-gvfs-monitor-dir)
48180         (tramp-get-remote-inotifywait, tramp-get-remote-id)
48181         (tramp-get-remote-uid-with-id)
48182         (tramp-get-remote-uid-with-perl, tramp-get-remote-python)
48183         (tramp-get-remote-uid-with-python, tramp-get-remote-uid)
48184         (tramp-get-remote-gid-with-id)
48185         (tramp-get-remote-gid-with-perl)
48186         (tramp-get-remote-gid-with-python, tramp-get-remote-gid)
48187         (tramp-get-env-with-u-option): Add missing docstrings.
48189         * lisp/net/tramp.el (tramp-obsolete-methods)
48190         (tramp-warned-obsolete-methods): Remove.
48191         (tramp-find-method): Do not check for obsolete methods any longer.
48193 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
48195         Make sh-mode always use p-s-lookup-properties
48197         This lets functions which rely on syntax-propertize for parsing
48198         work correctly even before font lock has a chance to run.
48200         * lisp/progmodes/sh-script.el (sh-set-shell): Set
48201         parse-sexp-lookup-properties unconditionally (Bug #4920).
48203 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
48205         Fix cl-assert with atomp FORM, non-nil SHOW-ARGS
48207         * lisp/emacs-lisp/cl-macs.el (cl-assert): Don't require that FORM is a
48208         list when showing its (non-existent) arguments (Bug #18587).
48210 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
48212         Don't delete selection after indent-rigidly
48214         * lisp/indent.el (indent-rigidly): Pass `deactivate-mark' as the ON-EXIT
48215         function to `set-transient-map', this prevents `delete-selection-mode'
48216         from deleting the text that was just indented (Bug #20408).
48218 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
48220         Fix byte-compile of interactive closures
48222         * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Put
48223         bindings after docstring and `interactive' form, if any (Bug #24122).
48225 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
48227         Error if --eval arg has text beyond 1 expression
48229         * lisp/startup.el (command-line-1): If --eval argument has more data
48230         than constitutes a single Lisp expression, signal an error (Bug #23159).
48232 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
48234         Fix quoted lambda warning from lexical-let
48236         * lisp/emacs-lisp/cl.el (cl--function-convert): Quote the inner lambda
48237         with `function', not `quote' (Bug #11357).
48239 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
48241         Make emerge always use shell-quote-argument
48243         * lisp/vc/emerge.el (emerge-metachars): Obsolete.
48244         (emerge-protect-metachars): Delete.
48245         (emerge-make-diff-list, emerge-make-diff3-list): Replace all calls to
48246         `emerge-protect-metachars' with `shell-quote-argument' so that shell
48247         quoting is done the same on all system types (Bug #6136).  Also shell
48248         quote `emerge-diff-program' and `emerge-diff3-program'.
48250 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
48252         Fix 'dired-diff' when backup file is in another directory
48254         * lisp/dired-aux.el (dired-diff): Clarify the doc string wrt how
48255         the default for FILE is computed, especially when backup files
48256         are involved.  Support backup files in another directory.
48257         Don't suggest the default FILE if it doesn't exist.  (Bug#24089)
48259 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
48261         Fix the 'T' command in Dired with non_ASCII file names
48263         * lisp/dired-aux.el (dired-do-chxxx): Bind coding-system-for-write
48264         to correctly encode file names passed to the invoked PROGRAM.
48265         (Bug#24162)
48267 2016-08-05  Noam Postavsky  <npostavs@gmail.com>
48269         * lisp/files.el (version-control): Drop :group vc (Bug #14687)
48271 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
48273         Merge from origin/emacs-25
48275         d841a03 ; Spelling fix
48276         a6ae479 Post AppDefined events from the main thread ONLY (bug#23934)
48277         d35d398 Update to the AUTHORS file for Bob Weiner
48278         4d2f4df Revert "Fix local printer set to left aligned string formatter."
48279         cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + documen...
48280         f7ceb8e Revert "Fix English."
48281         baa7abd Improve doc strings of 'gud-gdb' and 'gdb'
48282         aa4271a Fix doc string of 'minibuffer-message-timeout'
48283         b275cc7 Fix English.
48284         3c97b0f Fix ses-delete-blanks to delete only blanks + documentation.
48285         272391f profiler: document prefix arg for tree expansion
48286         442cc39 Clarify usage of eshell-visual-options
48287         b443c3c Fix comment in files-in-below-directory
48288         8a38e94 Fix local printer set to left aligned string formatter.
48289         0f0b191 ; Fix typos in NEWS
48290         6bdf687 ; * etc/NEWS: Remove temporary marks
48292 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
48294         Merge from origin/emacs-25
48296         d08afa1 * etc/AUTHORS: Update the AUTHORS file
48297         2668500 ;; * ChangeLog.2: ChangeLog update.
48298         7acfaea ; ChangeLog fixes
48299         97d28b4 * admin/authors.el (authors-valid-file-names): Addition.
48300         9ab52f6 * admin/authors.el: Additions.
48301         0e646c7 Warn about Cairo-related problems
48302         bc4c07f Don't let completion break `declare' handling
48303         66f95e0 Adjust match data before calling after-change-funs
48304         52cf0d5 Do not show string-rectangle preview if minibuffer is empty
48305         6a3d031 * etc/PROBLEMS: Add entry about selection problems under Plas...
48307         # Conflicts:
48308         #       ChangeLog.2
48309         #       src/lisp.h
48311 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
48313         Merge from origin/emacs-25
48315         9a41cd1 ; Fix typo
48316         9356fe2 Expand FIXME near definition of fboundp
48317         219b39f kill-rectangle should mention killed-rectangle
48318         59fa4c3 Avoid assertion violations in nhexl-mode
48320 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
48322         Merge from origin/emacs-25
48324         9ba51ed Document buffer-swap-text+save-excursion interaction
48325         452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug...
48326         248d5dd Include cl-generic in package--builtin-versions (bug#22817)
48327         8f5a8b6 Improve timing in `tramp-test29-environment-variables'
48328         05ba7a0 Add test for handling environment variables in Tramp
48329         e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st...
48330         5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo.  (Bug#23913)
48331         90f2169 ; Spelling fixes
48332         069fc05 Improve documentation of search functions
48333         0a0144a Delete environment variables in Tramp when needed
48334         f624671 Add "New in Emacs 25" section to the FAQ
48335         658daf9 Fix 'vertical-motion' in non-interactive sessions
48336         686b520 Fix memory leak in imagemagick-types
48337         4069b71 Update ELisp manual to match 'string-collate-equalp' doc string
48338         1b2d6a6 Clarify docstring of find-feature-regexp
48339         aac62a6 Add details to cl-lib defining macros' docstrings
48340         d6aa4da Clarify doc string of 'save-buffer'
48341         03bcf11 Un-confuse doc string of 'string-collate-equalp'
48342         c53135b Clarify documentation of 'mouse-on-link-p'
48344         # Conflicts:
48345         #       lisp/emacs-lisp/eieio-core.el
48347 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
48349         Merge from origin/emacs-25
48351         6f285d9 Amend last addition to etc/PROBLEMS
48352         7067890 * etc/PROBLEMS: Mention GTK+ problem with unexpected frame wi...
48354 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
48356         Merge from origin/emacs-25
48358         d4c6774 Fix missing point information in undo
48359         3a9d629 Avoid crashes when buffer modification hooks clobber match data
48360         178b2f5 Note combine-and-quote-strings doesn't shell quote
48361         dec7567 Explain when package-initialize isn't called
48362         113d1e2 Fix escaping in sh-indent-after-continuation docstr
48363         80e2044 ; * etc/NEWS: Improve previous change.
48364         5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars.
48365         38f4b8e Clarify the documentation of back-references in replacements
48367 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
48369         Merge from origin/emacs-25
48371         850ba44 Clarify lexical binding with symbol args behavior
48372         f981b31 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.
48373         68fc964 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.  (Bug#23...
48374         21110af Avoid assertion violations when rendering some fonts
48375         6192b6c Document more details of package activation
48376         272ddc6 Fixup warning message regarding HOME a bit more
48377         43206d6 * lisp/leim/quail/indian.el ("bengali-probhat"): Change indic...
48378         d41f7ff Fix input method "probhat" for Bengali
48379         c150a64 ; Fix typo in commit before last
48380         ebf0472 Add to elisp-completion-at-point's docstring
48381         fd9fad0 Give more helpful warning about setting HOME
48382         ea6b01d ; * lisp/term.el (term-mode): FIXME comment about bidi reorde...
48384         # Conflicts:
48385         #       lisp/term.el
48387 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
48389         Merge from origin/emacs-25
48391         26d4da0 New input method "probhat" for Bengali
48392         4f445bf ; Spelling fix
48393         f403f03 ; Fix typo
48395 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
48397         Spelling and minor grammar fixes
48399         * test/file-organization.org: Rename from test/file-organisation.org.
48401 2016-08-04  Alan Mackenzie  <acm@muc.de>
48403         Widen in certain low level CC Mode functions.  This fixes bug #24148.
48405         * lisp/progmodes/cc-engine.el (c-state-semi-pp-to-literal)
48406         (c-state-full-pp-to-literal): Widen around the functionality.
48407         (c-parse-ps-state-below): Correct the order of save-excursion and
48408         save-restriction.
48410 2016-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
48412         Fix Bug#24149
48414         * lisp/subr.el (set-transient-map): Don't wait if MAP not present in
48415         overriding-terminal-local-map.  (Bug#24149)
48417 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
48419         Update from gnulib
48421         This incorporates:
48422         2016-07-03 mktime: call tzset as per POSIX
48423         * doc/misc/texinfo.tex, lib/mktime.c, m4/mktime.m4:
48424         Copy from gnulib.
48426 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
48428         Fix GnuTLS includes
48430         * src/gnutls.c [HAVE_GNUTLS]: Don’t include gnutls/gnutls.h
48431         a second time; although it doesn’t hurt, it’s not needed.
48432         * src/sysdep.c [!HAVE_GNUTLS]: Don’t include gnutls/crypto.h,
48433         as it may not be available.  Problem reported by Glenn Morris in:
48434         https://lists.gnu.org/r/emacs-devel/2016-08/msg00100.html
48436 2016-08-03  Michal Nazarewicz  <mina86@mina86.com>
48438         Fix accessing regex-resources in out-of-tree test runs in regex-tests
48440         [82a487d: Fix reading of regex-resources in regex-tests] attempted to
48441         fix regex-tests failing when run from the source tree (i.e. via make)
48442         by hard-coding path to regex-resources directory relative to the test
48443         directory.
48445         This fixed runs from the tree but broke the test when run using other
48446         methods.
48448         Fix by trying ‘load-file-name’ or ‘buffer-file-name’, whichever is set.
48450         * test/src/regex-tests.el (regex-tests--resources-dir): New variable
48451         storing path to the regex-resources directory.
48452         (regex-tests-generic-line): Use aforementioned variable.
48454 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
48456         Simplify by assuming GnuTLS 2.12.2 or later
48458         * src/gnutls.c (gnutls_certificate_details):
48459         * src/sysdep.c: Assume GnuTLS 2.12.2 or later.
48461 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
48463         Port to systems lacking GNUTLS_NONBLOCK
48465         Problem reported by Colin Baxter in:
48466         https://lists.gnu.org/r/emacs-devel/2016-08/msg00096.html
48467         * src/gnutls.c (Fgnutls_boot): Don’t assume GNUTLS_NONBLOCK is defined.
48469 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
48471         Fix non-blocking GnuTLS with slow connection
48473         Although the problem is reported for OS X (Bug#23982), it seems to
48474         be possible on other POSIXish platforms.
48475         * src/gnutls.c (emacs_gnutls_nonblock_errno) [!WINDOWSNT]:
48476         New function.
48477         (emacs_gnutls_handshake) [!WINDOWSNT]:
48478         Use it as the errno function, if non-blocking.
48479         (Fgnutls_boot): Use GNUTLS_NONBLOCK if non-blocking.
48481 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
48483         Require GnuTLS 2.12.2 or later
48485         * configure.ac, etc/NEWS: Require GnuTLS 2.12.2 or later,
48486         instead of merely 2.6.6 or later (Bug#23982#20).
48487         * src/gnutls.c (init_gnutls_functions, emacs_gnutls_handshake)
48488         [WINDOWSNT]: Don’t bother with gnutls_check_version or
48489         gnutls_transport_set_lowat, as they are no longer needed now that
48490         we require gnutls 2.12.2 or later.
48492 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
48494         * src/window.c (sanitize_window_sizes): Remove unused arg `frame'
48496         * src/window.h (sanitize_window_sizes): Adjust prototype.
48497         * src/frame.c (adjust_frame_size): Adjust calls.
48499 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
48501         Fix (mapcar F S) crash when F alters S’s length
48503         * src/fns.c (mapcar1): Return number of elements computed,
48504         which can be less than LENI if the function alters the list.
48505         All callers changed.  (Bug#24118)
48507 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
48509         Port window changes to --enable-gcc-warnings
48511         * src/window.c (sanitize_window_sizes): Return void.
48512         This pacifies GCC, and no caller uses the return value anyway.
48514 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
48516         * src/window.c: Fix bootstrap failure due to window.el changes
48518         (sanitize_window_sizes): Adjust to new calling convention of
48519         window--sanitize-window-sizes and only call it if defined.
48520         (Fwindow__sanitize_window_sizes): Remove.
48521         (syms_of_window): Don't defsubr it.
48523 2016-08-02  Michael Albinus  <michael.albinus@gmx.de>
48525         Fix Bug#23883
48527         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
48528         Call `process-actions' with adapted position.  The connection
48529         buffer might have been cleaned up already.  (Bug#23883)
48531 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
48533         Port regex changes to strict ISO C
48535         * src/regex.c (regex_compile): Redo casts.
48537 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
48539         * lisp/window.el: Use lexical-binding
48541         (window--min-size-ignore-p): Remove unused arg `horizontal'.
48542         (window--sanitize-window-sizes): Remove unused arg `frame'.
48543         (window-edges): Remove unused vars left-off and right-off.
48544         (display-buffer-reuse-mode-window): Remove unused var `frame?'.
48545         Avoid extraneous setq and do a bit of CSE.
48546         (fit-frame-to-buffer): Remove unused vars `window', `fit-width',
48547         and `toolbar-extra-height'.
48548         (window-adjust-process-window-size): Remove unused arg `process'.
48550 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
48552         Fix unused lexical variable
48554         This fixes the following warning:
48556             In toplevel form:
48557             src/regex-tests.el:416:1:Warning: Unused lexical variable ‘newline’
48559         * test/src/regex-tests.el (regex-tests-BOOST): Remove unused lexical
48560         variable.
48562 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
48564         Remove unused STREQ macro
48566         This fixes the following compilation warning:
48568             regex.c:516:0: warning: macro "STREQ" is not used [-Wunused-macros]
48569              #define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
48570              ^
48572         * src/regex.c (STREQ): Remove unused macro.  It should have been removed
48573         in a [4538a5e: Refactor regex character class parsing in [:name:]]
48574         commit but was mistakenly left out.
48576 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
48578         * lisp/emacs-lisp/cl-generic.el: Fix problems introduced by new
48579         load-history format
48581         * lisp/emacs-lisp/cl-generic.el (cl--generic-load-hist-format): New function.
48582         (cl-generic-define-method, cl--generic-describe): Use it.
48583         (cl--generic-search-method): Adjust for new format.
48585         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
48586         * test/lisp/progmodes/elisp-mode-tests.el:
48587         Use cl--generic-load-hist-format rather than hard-coding cl-generic's
48588         internal format.
48590 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
48592         Hardcode regex syntax to remove dead code handling different syntax
48594         Emacs only ever uses its own regex syntax so support for other syntaxes
48595         is never used.  Hardcode the syntax so that the compilar can detect such
48596         dead code and remove it from compiled code.
48598         The only exception is RE_NO_POSIX_BACKTRACKING which can be separatelly
48599         specified.  Handle this separatelly with a function argument (replacing
48600         now unnecessary syntax argument).
48602         With this patchset, size of Emacs binary on x86_64 machine is reduced by
48603         around 60 kB:
48605                 new-sizes:-rwx------ 3 mpn eng 30254720 Jul 27 23:31 src/emacs
48606                 old-sizes:-rwx------ 3 mpn eng 30314828 Jul 27 23:29 src/emacs
48608         * src/regex.h (re_pattern_buffer): Don’t define syntax field #ifdef emacs.
48609         (re_compile_pattern): Replace syntax with posix_backtracking argument.
48611         * src/regex.c (print_compiled_pattern): Don’t print syntax #ifdef emacs.
48612         (regex_compile): #ifdef emacs, replace syntax argument with
48613         posix_backtracking which is now used instead of testing for
48614         RE_NO_POSIX_BACKTRACKING syntax.
48615         (re_match_2_internal): Don’t access bufp->syntax #ifndef emacs.
48616         (re_compile_pattern): Replace syntax with posix_backtracking argument.
48618         * src/search.c (compile_pattern_1): Pass boolean posix_backtracking
48619         instead of syntax to re_compile_pattern.
48621 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
48623         Get rid of re_set_whitespace_regexp
48625         * src/regex.h (re_set_whitespace_regexp): Delete.
48626         (re_compile_pattern): Add whitespace_regexp argument #ifdef emacs.
48628         * src/regex.c (re_set_whitespace_regexp, whitespace_regexp): Delete.
48629         (regex_compile): Add whitespace_regexp argument #ifdef emacs and wrap
48630         whitespace_regexp-related code in an #ifdef emacs so it’s compiled out
48631         unless building Emacs.
48632         (re_compile_pattern): Pass whitespace_regexp argument to regex_compile
48634         * src/search.c (compile_pattern_1): Don’t use re_set_whitespace_regexp,
48635         pass the regex as argument to re_compile_pattern instead.
48637 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
48639         Get rid of re_set_syntax
48641         Instead of using a global variable for storing regex syntax, pass it
48642         to re_compile_pattern.  This is only enabled when compiling Emacs (i.e.
48643         ‘#ifdef emacs’).
48645         * src/regex.h (re_set_syntax): Declare only #ifndef emacs.
48646         (re_compile_pattern): Now takes syntax argument #ifdef emacs.
48648         * src/regex.c (re_syntax_options): Define only #ifndef emacs.
48649         (re_compile_pattern): Use the new syntax argument #ifdef emacs.
48651         * src/search.c (compile_pattern_1): Don’t use re_set_syntax and
48652         instead pass syntax to re_compile_pattern directly.
48654 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
48656         Remove dead opcodes in regex bytecode
48658         There is no way to specify before_dot and after_dot opcodes in a regex
48659         so code handling those ends up being dead.  Remove it.
48661         * src/regex.c (print_partial_compiled_pattern, regex_compile,
48662         analyze_first, re_match_2_internal): Remove handling and references to
48663         before_dot and after_dot opcodes.
48665 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
48667         Refactor regex character class parsing in [:name:]
48669         re_wctype function is used in three separate places and in all of
48670         those places almost exact code extracting the name from [:name:]
48671         surrounds it.  Furthermore, re_wctype requires a NUL-terminated
48672         string, so the name of the character class is copied to a temporary
48673         buffer.
48675         The code duplication and unnecessary memory copying can be avoided by
48676         pushing the responsibility of parsing the whole [:name:] sequence to
48677         the function.
48679         Furthermore, since now the function has access to the length of the
48680         character class name (since it’s doing the parsing), it can take
48681         advantage of that information in skipping some string comparisons and
48682         using a constant-length memcmp instead of strcmp which needs to take
48683         care of NUL bytes.
48685         * src/regex.c (re_wctype): Delete function.  Replace it with:
48686         (re_wctype_parse): New function which parses a whole [:name:] string
48687         and returns a RECC_* constant or -1 if the string is not of [:name:]
48688         format.
48689         (regex_compile): Use re_wctype_parse.
48690         * src/syntax.c (skip_chars): Use re_wctype_parse.
48692 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
48694         Split regex glibc test cases into separet tests
48696         * test/src/regex-tests.el (regex-tests): Remove and split into multiple
48697         tests cases.
48698         (regex-tests-glbic-BOOST, regex-tests-glibc-PCRE,
48699         regex-tests-glibc-PTESTS, regex-tests-glibc-TESTS): New test cases split
48700         from ‘regex-tests’.
48702 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
48704         Don’t (require 'cl)
48706         * test/src/regex-tests.el: Don’t (require 'cl).
48707         (regex-tests-PCRE): s/loop/cl-loop/
48709 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
48711         Fix reading of regex-resources in regex-tests
48713         * test/src/regex-tests.el (regex-tests-generic-line): Referring to
48714         ‘buffer-file-name’ does not work when running the test from command
48715         line, i.e. via make, which results in (wrong-type-argument stringp nil)
48716         failures.  Replace it with hard-coded path.
48717         (regex-tests-BOOST, regex-tests-PCRE, regex-tests-PTESTS-whitelist,
48718         regex-tests-TESTS-whitelist): ‘regex-tests-generic-line’ now  includes
48719         the ‘regex-resources’ path component so the tests don’t need to specify
48720         it explicitly.
48722 2016-08-02  Dima Kogan  <dima@secretsauce.net>
48724         Added driver for the regex tests
48726         * test/src/regex-tests.el (regex-tests): Test executing glibc tests
48727         cases.
48729         [mina86@mina86.com: merged test with existing file]
48731 2016-08-02  Dima Kogan  <dima@secretsauce.net>
48733         New regex tests imported from glibc 2.21
48735         * test/src/regex-resources/BOOST.tests:
48736         * test/src/regex-resources/PCRE.tests:
48737         * test/src/regex-resources/PTESTS:
48738         * test/src/regex-resources/TESTS:
48739         New test data files
48741         [mina86@mina86.com: Moved files from test/src/regex/* to test/src/*.]
48743 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
48745         Fix use-after-close in connect_network_socket
48747         * src/process.c (connect_network_socket):
48748         Reverse sense of previous fix.  Problem reported by Ken Brown in:
48749         https://lists.gnu.org/r/emacs-devel/2016-08/msg00004.html
48751 2016-08-01  Glenn Morris  <rgm@gnu.org>
48753         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
48754         Respect autoload-timestamps for "actual autoloads are elsewhere" case.
48756 2016-07-31  Stefan Merten  <stefan@merten-home.de>
48758         * lisp/textmodes/rst.el: Major refactoring, minor changes, minor fixes
48760         (rst-Ado, rst-Hdr, rst-Ttl, rst-Stn): Introduce classes
48761         representing reStructuredText section header concepts.
48762         (rst-mode-map, rst-new-preferred-hdr)
48763         (rst-update-section, rst-classify-adornment)
48764         (rst-ttl-at-point, rst-all-ttls-cache)
48765         (rst-hdr-hierarchy-cache, rst-reset-section-caches)
48766         (rst-all-ttls, rst-infer-hdr-hierarchy, rst-hdr-hierarchy)
48767         (rst-all-ttls-with-level, rst-get-previous-hdr)
48768         (rst-adornment-complete-p, rst-next-hdr, rst-adjust)
48769         (rst-adjust-section, rst-promote-region)
48770         (rst-display-hdr-hierarchy, rst-straighten-sections)
48771         (rst-all-stn, rst-remaining-stn, rst-toc-insert)
48772         (rst-toc-insert-node, rst-toc-node, rst-toc)
48773         (rst-forward-section, rst-adornment-level)
48774         (rst-font-lock-handle-adornment-pre-match-form)
48775         (rst-imenu-convert-cell, rst-imenu-create-index): Refactor
48776         using classes.
48777         (rst-compare-adornments, rst-get-adornment-match): Remove
48778         functions now in classes.
48779         (rst-re-alist-def, rst-toc-mode)
48780         (rst-font-lock-extend-region-extend): Minor improvements.
48781         (rst-mode, rst-compile): Use `setq-local'.
48782         (rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
48783         (rst-official-version, rst-official-cvs-rev)
48784         (rst-package-emacs-version-alist): Maintain version tags.
48786 2016-07-30  Martin Rudalics  <rudalics@gmx.at>
48788         Fix calculation of tool bar width reported by `frame-geometry' (Bug#24107)
48790         * src/w32fns.c (Fw32_frame_geometry): Fix calculation of tool
48791         bar width (Bug#24107).  Reindent.
48792         * src/xfns.c (frame_geometry): Fix calculation of tool bar
48793         width on non-GTK builds.
48795 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
48797         Fix region display while dragging mouse
48799         * lisp/mouse.el (mouse-drag-track): Reset deactivate-mark in the
48800         buffer of the drag event, to allow mark to be set and the region
48801         be shown as we drag the mouse.  (Bug#24030)
48803 2016-07-30  Tino Calancha  <tino.calancha@gmail.com>
48805         Copy just non-empty strings to kill-ring
48807         * lisp/dired.el (dired-copy-filename-as-kill):
48808         Do not change the kill ring when the string is empty (Bug#24103).
48810 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
48812         Avoid warnings about undo list while decoding
48814         * src/coding.c (coding_restore_undo_list): New function.
48815         (decode_coding_gap, decode_coding_object): Temporarily set the
48816         buffer's undo list to t, to avoid warnings when decoding changes
48817         the buffer many times, e.g. due to post-read-conversion.  Use
48818         coding_restore_undo_list to make sure the undo list is restored.
48819         (Bug#23813)
48821 2016-07-28  Noam Postavsky  <npostavs@gmail.com>
48823         profiler: Add mouse-1 binding for tree expansion
48825         (profiler-report-mode-map): Add mouse-1 binding for
48826         profiler-report-toggle-entry (Bug #13455).
48828 2016-07-28  Vincent Belaïche  <vincentb1@users.sourceforge.net>
48830         Enable addition of local printers from a mode hook.
48832         * doc/misc/ses.texi (Printer functions): Split the node into 5
48833         sub-nodes + add some extra documentation.
48834         (Various kinds of printer functions): Make an itemization to
48835         disintguish better the 3 types of printers, give an example of
48836         lambda printer definition.
48837         (Standard printer functions): Add documentation for ses-prin1
48838         printer function.
48839         (Local printer functions): Add documentation for creating
48840         local printers programmatically from a hook.
48841         (Writing a lambda printer function): Add documentation about
48842         anti-stackoverflow precautions to take when you call the
48843         standard printer functions from inside a local printer.
48845         * lisp/ses.el (ses-standard-printer-functions): Add ses-prin1
48846         among standard printer function, and update docstring
48847         accordingly.
48848         (ses-call-printer, ses-export-tab): Call `ses-prin1' instead
48849         of prin1-to-string.
48850         (ses-define-local-printer): Add definition to arguments so
48851         that a local printer can be defined programmatically from a
48852         mode hook.  Make docstring more substantial.  Use completing
48853         read for local printer name input.  Plus some minor
48854         optimization.
48855         (ses-define-if-new-local-printer): New defsubst.
48856         (ses-center, ses-center-span, ses-dashfill)
48857         (ses-dashfill-span, ses-tildefill-span): Allow to pass printer
48858         as an optional argument to superseed column printer/default
48859         spreadsheet printer.
48860         (ses-prin1): New defun.
48862 2016-07-27  Ted Zlatanov  <tzz@lifelogs.com>
48864         Prompt to save gnus-cloud-method.
48866         Since `gnus-cloud-method' is a defcustom, when it's set, we should
48867         prompt the user to save it, so the customization is not lost on
48868         restart.
48870         * lisp/gnus/gnus-srvr.el (gnus-server-toggle-cloud-method-server):
48871         Prompt to save the customization of `gnus-cloud-method'.
48873 2016-07-27  Ken Brown  <kbrown@cornell.edu>
48875         Fix dired-test-bug22694
48877         * test/lisp/dired-tests.el (dired-test-bug22694): Delete the
48878         "bug22694" directory, if it exists, before running the test.  It
48879         might be left over from a previous aborted run of the test.
48881 2016-07-27  Michal Nazarewicz  <mina86@mina86.com>
48883         Fix ‘is multibyte’ test regex.c’s mutually_exclusive_p (bug#24020)
48885         * src/regex.c (mutually_exclusive_p): Fix how whether character is
48886         unibyte is tested when calling execute_charset function.  This bug has
48887         been introduced by [6dc6b00: Fix ‘[[:cc:]]*literal’ regex failing to
48888         match ‘literal’] which dropped a call to IS_REAL_ASCII (c) macro.
48889         Reinstitute it.
48891 2016-07-27  Tino Calancha  <tino.calancha@gmail.com>
48893         Remove hook when disabling ibuffer-auto-mode
48895         * lisp/ibuf-ext.el (ibuffer-auto-mode):
48896         Remove 'ibuffer-auto-update-changed' from 'post-command-hook'.
48898 2016-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
48900         * lisp/subr.el (cancel-change-group): Reset cell in case of error
48902         Since the setcdr/setcdr is supposed to be temporary, use unwind-protect
48903         to make sure we properly undo the temporary change even in case of error.
48905 2016-07-26  Eli Zaretskii  <eliz@gnu.org>
48907         Avoid segfaults in compute_motion
48909         * src/indent.c (compute_motion): Don't turn on and don't use the
48910         width cache unless the buffer's width-table is non-nil.  This
48911         avoids segfaults because code that uses the width cache assumes
48912         the width-table exists.  (Bug#24064)
48914 2016-07-26  Nicolas Petton  <nicolas@petton.fr>
48916         Do not sharp-quote lambdas
48918         * lisp/progmodes/sql.el: Remove sharp-quotes in lambdas.
48920 2016-07-25  Ted Zlatanov  <tzz@lifelogs.com>
48922         * lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Fix
48923         'base64-gzip encoding.
48925 2016-07-25  Andrew Hyatt  <ahyatt@gmail.com>
48927         Add warning to format-alist docs.
48929         */doc/lispref/files.texi (format-alist) Change documentation for
48930         format-alist to warn against file modifications when formatting, which
48931         leads to incorrect results.  (Bug#5440)
48933         Changes suggested by Eli.
48935 2016-07-25  Katsumi Yamaoka  <yamaoka@jpl.org>
48937         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
48938         Preserve key bindings that shr adds (bug#23964).
48940 2016-07-25  Michal Nazarewicz  <mina86@mina86.com>
48942         Fix ‘[[:cc:]]*literal’ regex failing to match ‘literal’ (bug#24020)
48944         The regex engine tries to optimize Kleene star by avoiding backtracking
48945         when it can detect that star’s operand cannot match what follows it in
48946         the pattern.
48948         For example, when ‘[[:alpha:]]*1’ tries to match a ‘foo’, the engine
48949         will test the longest match for ‘[[:alpha:]]*’, namely ’foo’ which is
48950         the entire string.  Literal digit one still present in the pattern will
48951         however not match the remaining empty string.
48953         Normally, backtracking would be performed trying a shorter match for the
48954         character class (namely ‘fo’ leaving ‘o’ in the string), but since the
48955         engine knows whatever would be put back into the string cannot possibly
48956         match literal digit one so no backtracking will be attempted.
48958         In the regexes of the form ‘[[:CC:]]*X’, the optimization can be applied
48959         if the character class CC does not match character X.  In the above
48960         example, this holds because digit one is not in alpha character class.
48962         This test is performed by mutually_exclusive_p function but it did not
48963         check class bits of a charset opcode.  This resulted in an assumption
48964         that character classes do not match multibyte characters.  For example,
48965         it would incorrectly conclude that [[:alpha:]] doesn’t match ‘ż’.
48967         This, in turn, led to the aforementioned Kleene star optimization being
48968         incorrectly applied in patterns such as ‘[[:graph:]]*☠’ (which should
48969         match ‘☠’ but doesn’t as can be tested by executing
48970             (string-match-p "[[:graph:]]*☠" "☠")
48971         which should return 0 but instead yields nil.
48973         This issue affects any class witch matches multibyte characters, i.e.
48974         if ‘[[:cc:]]’ matches a multibyte character X then ‘[[:cc:]]*X’ will
48975         fail to match ‘X’.
48977         * src/regex.c (executing_charset): A new function for executing the
48978         charset and charset_not opcodes.  It performs check on the character
48979         taking into consideration existing bitmap, range table and class bits.
48980         It also advances the pointer in the regex bytecode past the parsed
48981         opcode.
48982         (CHARSET_LOOKUP_RANGE_TABLE_RAW, CHARSET_LOOKUP_RANGE_TABLE): Removed.
48983         Code now included in executing_charset.
48984         (mutually_exclusive_p, re_match_2_internal): Changed to take advantage
48985         of executing_charset function.
48987         * test/src/regex-tests.el: New file with tests for the character class
48988         matching.
48990 2016-07-25  Nicolas Petton  <nicolas@petton.fr>
48992         Fix auto-reverting image-mode buffer (bug#21598)
48994         When auto-reverting an image buffer, `image-mode' is not called since
48995         `revert-buffer' is called with `preserve-modes' set to non-nil.
48997         * lisp/image-mode.el (image-after-revert-hook): Check if there is an
48998         image display property for the current buffer before updating it.
49000 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
49002         ‘signal’ no longer returns
49004         Although for decades ‘signal’ has been documented to not return,
49005         a corner case in the Lisp debugger causes ‘signal’ to return.
49006         Remove the corner case and adjust Emacs internals accordingly.
49007         An alternative would be to document the corner case, but this
49008         would complicate the Lisp API unnecessarily.  (Bug#24047)
49009         * src/eval.c (signal_or_quit): New function, with most of the
49010         old contents of Fsignal.
49011         (quit): New function, which uses signal_or_quit and which
49012         might return.  All keyboard-based callers of Fsignal (Qquit,
49013         Qnil) changed to use this new function instead.
49014         (Fsignal): Use signal_or_quit.  Now _Noreturn.  All callers
49015         changed.
49016         (xsignal): Move to lisp.h.
49017         * src/lisp.h (xsignal): Now an inline function, as it's now
49018         just an alias for Fsignal.
49020 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
49022         Require libgnutls unless --with-gnutls=no
49024         * configure.ac: Report an error if the gnutls library is missing,
49025         unless --with-gnutls=no is specified.
49027 2016-07-23  Alan Mackenzie  <acm@muc.de>
49029         Fontify C++ parameter packs.
49031         This fixes debbugs #23610.
49033         * lisp/progmodes/cc-langs.el (c-pack-ops, c-pack-key): New
49034         c-lang-defconsts/defvars.
49035         (c-type-decl-prefix-key): Add "..." and "&&" into the C++ version.
49037         * lisp/progmodes/cc-engine.el (c-forward-type): Handle matches of c-pack-key.
49039 2016-07-23  Alan Mackenzie  <acm@muc.de>
49041         Java Mode: Handle strings as case labels correctly.
49043         This fixes debbugs #23901.
49045         * lisp/progmodes/cc-langs.el (c-nonlabel-token-key): Remove "\"" from the
49046         Java value.
49048 2016-07-22  Kaushal Modi  <kaushal.modi@gmail.com>
49050         Avoid repeated warnings while restoring desktop
49052         * lisp/desktop.el (desktop-restore-file-buffer): Do not print warnings
49053         when files are being opened during desktop restore.
49055 2016-07-22  Eli Zaretskii  <eliz@gnu.org>
49057         Fix compilation warning in the MinGW build
49059         * nt/inc/ms-w32.h: Include stdint.h.
49060         (_execvp, execve): Provide prototypes.
49062         * lib-src/emacsclient.c [WINDOWSNT]: Remove prototype for execvp,
49063         it is now in nt/inc/ms-w32.h.
49064         * lib-src/ntlib.c (getppid): Avoid compiler warnings due to format
49065         mismatch.
49066         (sys_ctime): Remove, not used.
49068 2016-07-22  Lars Ingebrigtsen  <larsi@gnus.org>
49070         Move read-multiple-choice to subr-x.el
49072         * lisp/faces.el (read-multiple-choice-face): Fix doc string.
49074         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here
49075         from subr.el.
49077         * lisp/gnus/message.el (subr-x): Ditto.
49079         * lisp/net/nsm.el: Require subr-x for read-multiple-choice.
49081         read-multiple-choice doesn't need to be in the dumped Emacs, so move
49082         it to a less central file.
49084 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
49086         Update define-ibuffer-op doc string
49088         * lisp/ibuf-macs.el (define-ibuffer-op):
49089         Mention that BODY is evaluated with 'buf' bound to the actual
49090         marked buffer being processed.
49092 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
49094         Update define-ibuffer-op doc string
49096         * lisp/ibuf-macs.el (define-ibuffer-op): Document arg COMPLEX
49097         instead of refer the reader to the source code.
49098         Document arg BODY.
49100 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
49102         Fix shell-command[-on-region] doc strings
49104         * lisp/simple.el (shell-command, shell-command-on-region):
49105         Drop the sentence saying that the command may delete the buffer
49106         '*Shell Command Output*': the command never delete such
49107         buffer (Bug#23936).
49109 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
49111         ;Revert ";Partially revert 2649105a"
49113         This reverts commit b7651649c2b1321a0c510116c1ac2442599d9a2e.
49115 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
49117         ;Partially revert 2649105a
49119         * lisp/textmodes/tex-mode.el (tex-common-initialization): Use
49120         setq-local to modify prettify-symbols-compose-predicate.
49122 2016-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
49124         * src/bytecode.c: Fix compilation with BYTE_CODE_SAFE
49126         (struct byte_stack): Re-add `bottom'.
49127         (exec_byte_code): Initialize it.
49129 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
49131         Ibuffer: Use default output buffer for shell commands
49133         * lisp/ibuf-ext.el (shell-command-pipe): Insert the output in buffer
49134         '*Shell Command Output*', as command 'shell-command-file'.
49136 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
49138         Fix failing test
49140         * test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in):
49141         Enable Font Lock mode in order to initialize
49142         'char-property-alias-alist' (Bug#23954).
49144 2016-07-21  Paul Eggert  <eggert@cs.ucla.edu>
49146         Fix use-after-close in connect_network_socket
49148         * src/process.c (connect_network_socket): Don’t use
49149         external_sock_fd after closing it.  Problem found by Coverity Scan.
49151 2016-07-21  Katsumi Yamaoka  <yamaoka@jpl.org>
49153         * lisp/net/shr.el (shr-fill-line):
49154         Preserve text properties in folded lines (bug#24034).
49156 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
49158         Fix lifetime bug in tzlookup
49160         * src/editfns.c (tzlookup): Fix storage lifetime bug when
49161         INTEGERP (zone) && settz.  Problem found by Coverity Scan.
49163 2016-07-20  Lars Ingebrigtsen  <larsi@gnus.org>
49165         Fix shr.el/image build problem
49167         (Bug#24035)
49169         * lisp/net/shr.el: Require image, since some builds seem to
49170         break without it (bug#24035).
49172 2016-07-20  Ted Zlatanov  <tzz@lifelogs.com>
49174         Bring the Gnus Cloud package into working order.
49176         * lisp/gnus/gnus-sync.el: Removed in favor of gnus-cloud.el.
49178         * lisp/gnus/gnus-cloud.el: Autoload EPG functions. Change storage format to
49179         simplify non-file data.
49180         (gnus-cloud-storage-method): New defcustom to support nil, Base64,
49181         Base64+gzip, or EPG encoding on the Gnus Cloud IMAP server. Defaults to
49182         EPG if that's available, Base64+gzip otherwise.
49183         (gnus-cloud-interactive): New defcustom to make Gnus Cloud operations
49184         interactive, defaults to enabled.
49185         (gnus-cloud-group-name): New variable for the Gnus Cloud group name.
49186         (gnus-cloud-make-chunk): Tag with "Gnus-Cloud-Version" instead of just
49187         "Version".
49188         (gnus-cloud-insert-data): Simplify and support :newsrc-data entries.
49189         (gnus-cloud-encode-data, gnus-cloud-decode-data): Support various
49190         storage methods as per gnus-cloud-storage-method.
49191         (gnus-cloud-parse-chunk): Look for "Gnus-Cloud-Version" marker.
49192         (gnus-cloud-parse-version-1): Fix parsing loop bug. Handle :newsrc-data
49193         entries.
49194         (gnus-cloud-update-all): Handle :newsrc-data entries and dispatch to
49195         file and data handlers.
49196         (gnus-cloud-update-newsrc-data): New function to handle :newrsc-data
49197         entries.
49198         (gnus-cloud-update-file): Rework to support gnus-cloud-interactive and
49199         be more careful.
49200         (gnus-cloud-delete-file): Remove; merged into gnus-cloud-update-file.
49201         (gnus-cloud-file-covered-p, gnus-cloud-all-files)
49202         (gnus-cloud-files-to-upload, gnus-cloud-ensure-cloud-group)
49203         (gnus-cloud-add-timestamps, gnus-cloud-available-chunks)
49204         (gnus-cloud-prune-old-chunks): Fix indentation.
49205         (gnus-cloud-timestamp): New function to make a standard Gnus Cloud
49206         timestamp.
49207         (gnus-cloud-file-new-p): Use it.
49208         (gnus-cloud-upload-all-data): Add interactive convenience function to
49209         upload all data.
49210         (gnus-cloud-upload-data): Make interactive; collect files and newsrc
49211         data separately; refresh Gnus Cloud group after insert.
49212         (gnus-cloud-download-all-data): Add interactive convenience function to
49213         download all data.
49214         (gnus-cloud-download-data): Rework to support "Gnus-Cloud-Version"
49215         marker and different storage methods.
49216         (gnus-cloud-host-server-p): New function to check if a server is the
49217         Gnus Cloud host.
49218         (gnus-cloud-collect-full-newsrc): Tag entries with :newsrc-data.
49219         (gnus-cloud-host-acceptable-method-p): New function so
49220         other code can check if a server method can host the Gnus cloud.
49221         (gnus-cloud-storage-method): Use 'radio instead of 'choice for better UI.
49222         (gnus-cloud-method): Make this a defcustom and note how to set it.
49224         * lisp/gnus/gnus-group.el (gnus-group-cloud-map): Add Gnus Cloud autoloaded
49225         keybindings under the `~' prefix.
49227         * lisp/gnus/gnus-srvr.el (gnus-server-mode-map, gnus-server-make-menu-bar)
49228         (gnus-server-cloud, gnus-server-cloud-host)
49229         (gnus-server-font-lock-keywords, gnus-server-insert-server-line)
49230         (gnus-server-toggle-cloud-method-server): Support Gnus Cloud
49231         synchronized servers and synchronization host server toggling (`i' and
49232         `I') and visual display.
49233         (gnus-server-toggle-cloud-method-server): Use
49234         gnus-cloud-host-acceptable-method-p.
49235         (gnus-server-toggle-cloud-method-server): Use custom-set-variables to
49236         set the gnus-cloud-method. Ask the user if it's OK to upload the data
49237         right now.
49239         * doc/misc/gnus.texi: Document Gnus Cloud package.
49241 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
49243         Remove CHECK_FRAME_FONT cruft from bytecode.c
49245         * src/bytecode.c [CHECK_FRAME_FONT]: Do not include frame.h, xterm.h.
49246         Remove some old ‘#if 0’ code.
49248 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
49250         Work around GCC bug 54561 in a better way
49252         The new approach is less selective, but also less intrusive on C code.
49253         * src/bytecode.c, src/image.c, src/keyboard.c: Ignore -Wclobbered.
49254         * src/conf_post.h (NONVOLATILE): Remove.  All uses removed.
49256 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
49258         Fix port to glibc 2.24 (pre-release) + ppc64
49260         * src/callproc.c (child_setup): Use emacs_exec_file
49261         so that ASLR is enabled in the child process.
49262         * src/emacs.c: Move some personality details into sys/sysdep.c.
49263         Do not include <sys/personality.h>.
49264         (main): Disable ASLR earlier, so that we don’t chdir twice.
49265         * src/lisp.h (disable_address_randomization): New decl.
49266         * src/sysdep.c (disable_address_randomization)
49267         [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Move personality details
49268         here from emacs.c.
49269         (emacs_exec_file): New function.
49271 2016-07-19  Alan Third  <alan@idiocy.org>
49273         Prevent bar cursor overwriting next glyph (bug#16856)
49275         * src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width
49276         before setting final size.
49278 2016-07-19  Eli Zaretskii  <eliz@gnu.org>
49280         Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil
49282         * src/insdel.c (adjust_markers_bytepos): New function.
49283         * src/lisp.h (adjust_markers_bytepos): Add prototype.
49284         * src/insdel.c (replace_range, replace_range_2):
49285         * src/editfns.c (Ftranspose_regions): Call
49286         adjust_markers_bytepos.  (Bug#5131)
49288         * test/src/editfns-tests.el (transpose-test-reverse-word)
49289         (transpose-test-get-byte-positions): New functions.
49290         (transpose-ascii-regions-test)
49291         (transpose-nonascii-regions-test-1)
49292         (transpose-nonascii-regions-test-2): New tests.
49294 2016-07-19  Katsumi Yamaoka  <yamaoka@jpl.org>
49296         Make gif animation work (bug#24004)
49298         * lisp/image.el (image-animate-timeout): Fix the logic that tests if
49299         an animation is too big (bug#24004).
49301 2016-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
49303         * lisp/simple.el (undo-amalgamate-change-group): New function
49305         * lisp/emulation/viper-cmd.el (viper-adjust-undo): Use it.
49306         (viper-set-complex-command-for-undo): Save current state with
49307         prepare-change-group.
49308         * lisp/emulation/viper-init.el (viper-undo-needs-adjustment)
49309         (viper-buffer-undo-list-mark): Remove.
49311 2016-07-18  Noam Postavsky  <npostavs@gmail.com>
49313         Keep w32 environment settings internal only
49315         * src/emacs.c (main) [WINDOWSNT]: Move init_environment calls after the
49316         set_initial_environment call.  This prevents Emacs' modifications to the
49317         environment from contaminating Vprocess_environment and
49318         Vinitial_environment (Bug #10980).
49319         * src/callproc.c (getenv_internal) [WINDOWSNT]: Consult Emacs' internal
49320         environment in as a fallback to Vprocess_environment.
49321         * test/src/callproc-tests.el (initial-environment-preserved): New Test.
49323 2016-07-18  Nicolas Petton  <nicolas@petton.fr>
49325         Better documentation for cl-reduce (bug#24014)
49327         * lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means.
49329 2016-07-17  Alan Third  <alan@idiocy.org>
49331         Remove separate pool for popup dialogs (bug#23856)
49333         * src/nsmenu.m (pop_down_menu, ns_popup_dialog): Remove references to
49334         autorelease pool and Popdown_data struct.
49336 2016-07-17  Mark Oteiza  <mvoteiza@udel.edu>
49338         Use eldoc-documentation-functions
49340         * lisp/hexl.el (hexl-mode):
49341         * lisp/ielm.el (inferior-emacs-lisp-mode):
49342         * lisp/progmodes/cfengine.el (cfengine3-mode):
49343         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
49344         * lisp/progmodes/octave.el (octave-mode, inferior-octave-mode):
49345         * lisp/progmodes/python.el (python-mode):
49346         * lisp/simple.el (read--expression): Add buffer-locally to hook
49347         eldoc-documentation-functions.
49349 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
49351         Optimize ucs-normalize.el compilation
49353         * lisp/international/ucs-normalize.el (ucs-normalize-combining-chars-regexp):
49354         (quick-check-list-to-regexp): Use regexp-opt-charset instead of
49355         regexp-opt.
49356         * lisp/international/ucs-normalize.el (quick-check-list): Reuse a single
49357         temp buffer for the whole loop.
49359 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
49361         Add tests for ucs-normalize.el
49363         Some tests are marked as expected to fail.
49365         * test/lisp/international/ucs-normalize-tests.el: New tests.
49366         * admin/unidata/NormalizationTest.txt: Add data for tests.
49367         * admin/unidata/README: Add URL for NormalizationTest.txt.
49368         * admin/notes/unicode: Add note about running (and updating the data
49369         for) the new tests.  Remove note about normalization being unsupported.
49371 2016-07-16  Alan Third  <alan@idiocy.org>
49373         Fix cursor display (bug#23993)
49375         * src/xdisp.c (get_phys_cursor_geometry): Fix invalid C operator.
49377 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
49379         Stop worrying about Alliant in bytecode.c
49381         * src/bytecode.c (PUSH): Remove workaround for long-obsolete compiler.
49383 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
49385         Remove BYTE_MAINTAIN_TOP
49387         It is no longer needed now that we assume GC_MARK_STACK ==
49388         GC_MAKE_GCPROS_NOOPS.
49389         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove.
49390         All uses removed, and code simplified accordingly.
49391         (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Remove, since they
49392         are always no-ops now.  All uses removed.
49393         (MAYBE_GC): Remove.  All uses replaced by maybe_gc,
49394         since it is now equivalent.
49396 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
49398         Remove now-inaccurate bytecode comments
49400         * src/bytecode.c: Remove comments that are no longer accurate.
49401         Most of these are actually old ChangeLog entries.
49403 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
49405         Port to glibc 2.24 (pre-release) + ppc64
49407         Inspired by a suggestion by Florian Weimer in:
49408         https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
49409         * configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE):
49410         Rename from HAVE_PERSONALITY_LINUX32, and check for
49411         ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32.
49412         All uses changed.
49413         * src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]:
49414         Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the
49415         flag ourselves.  Just set that flag, rather than also setting the
49416         persona.  When doing it, avoid functions like putenv that may
49417         allocate memory.
49419 2016-07-14  Mark Oteiza  <mvoteiza@udel.edu>
49421         Revert "Add a couple cells to lisp-prettify-symbols-alist"
49423         This reverts commit bdda4855c635ecf4135e23321bdba023e9ae65c9.
49425 2016-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
49427         * lisp/simple.el (shell-command): Add save-match-data comment
49429 2016-07-14  Alan Mackenzie  <acm@muc.de>
49431         CC Mode: correct incorrect invocation of parse-partial-sexp.
49433         Fixes bug #23944.
49435         * lisp/progmodes/cc-engine.el (c-literal-limits): make the sixth argument of
49436         an invocation of parse-partial-sexp 'syntax-table, not the fourth.
49438 2016-07-14  Andreas Schwab  <schwab@suse.de>
49440         Fix configure summary for hybrid malloc configurations
49442         * configure.ac ("$hybrid_malloc" = yes): Set GNU_MALLOC to no,
49443         parenthesize value of GNU_MALLOC_reason.
49445 2016-07-14  Stephen Berman  <stephen.berman@gmx.net>
49447         Fix delete-duplicate-lines
49449         * lisp/sort.el (delete-duplicate-lines): Delete duplicate
49450         first line when operating backward (bug#23863).
49452 2016-07-14  Andreas Schwab  <schwab@suse.de>
49454         Remove unused SHEAP_OBJ
49456         * Makefile.in (base_obj): Remove $(SHEAP_OBJ).
49458 2016-07-13  Katsumi Yamaoka  <yamaoka@jpl.org>
49460         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
49461         Use shr-image-map instead of shr-map (bug#23964).
49463 2016-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
49465         * lisp/mouse.el (mouse): Consolidate group definition here
49467         * lisp/cus-edit.el (mouse): Remove both group definitions.
49469 2016-07-13  Chris Feng  <chris.w.feng@gmail.com>
49471         Include versioned preloaded libraries in `package--builtin-versions'
49473         * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Do not
49474         exclude preloaded libraries or remove entries generated for them.
49475         (autoload-generate-file-autoloads): Do not generate autoload
49476         statements for preloaded libraries.
49478 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
49480         Omit unnecessary #includes from xwidget.c
49482         * src/xwidget.c: Remove #include directives that are not needed.
49483         Also, don’t conditionalize #includes on HAVE_X_WINDOWS, since this
49484         file is compiled only if the X interface is available.
49486 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
49488         Port xwidget.c to GCC 6 with --enable-gcc-warnings
49490         * src/xwidget.c (x_draw_xwidget_glyph_string, xwidget_end_redisplay):
49491         Adjust to pacify GCC.  Add a couple of FIXME comments, suggesting
49492         possible bugs found by GCC.
49494 2016-07-12  Tino Calancha  <tino.calancha@gmail.com>
49496         Escape meta chars in commands processed by shell
49498         * lisp/progmodes/grep.el (grep-compute-defaults): Quote braces
49499         in all commands to be passed to a shell (Bug#23959).
49501 2016-07-12  John Wiegley  <johnw@newartisans.com>
49503         Revert "Cleanup tooltips"
49505         This reverts commit 20038f8ab75dd1551412a43cd58520c483c22921.
49507         I am reverting this change because it was applied without prior discussion
49508         on emacs-devel, and has been found to break the NS port.  It needs more
49509         testing and review before it should be applied here.
49511 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
49513         * lisp/emacs-lisp/cl-macs.el (cl--prog): New function
49515         (cl-prog, cl-prog*): New macros.
49517 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
49519         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic
49521         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic.
49522         (cl--generic-make-defmethod-docstring): New function for that.
49523         (cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly.
49524         (cl-generic-define-method, cl--generic-describe): Change `load-history'
49525         format of cl-defmethods, so as not to confused methods with equal
49526         specializers but different qualifiers.
49527         * lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings.
49529 2016-07-12  Eli Zaretskii  <eliz@gnu.org>
49531         Don't install keyboard hook when debugged on MS-Windows
49533         * src/w32fns.c (setup_w32_kbdhook): Don't install the keyboard
49534         hook if we are being debugged.  This avoids hosing the debugger,
49535         because the hook is global, and is called in the context of the
49536         thread which installed it, and that thread is stopped when GDB has
49537         control.  Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
49539 2016-07-12  Alan Mackenzie  <acm@muc.de>
49541         Amend CC Mode to handle big C++ raw strings correctly.
49543         Problems were caused by such a string spanning jit-lock chunks, and by a flaw
49544         in the +-500 bytes boundaries imposed for macros.
49546         * lisp/progmodes/cc-mode.el (c-extend-region-for-CPP): Check the +-500 byte
49547         macro boundaries here.
49548         (c-extend-font-lock-region-for-macros): Remove the check on the +-500 byte
49549         lower boundary.  Fix the check on the upper boundary.
49551         * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Handle the starting
49552         point already being within a raw string.
49554         * lisp/progmodes/cc-engine.el (c-raw-string-pos)
49555         (c-depropertize-raw-strings-in-region, c-after-change-re-mark-raw-strings):
49556         Modify regexp element "\\{,16\\}" to "\\{0,16\\}" for greater compatibility
49557         with other Emacsen.
49559 2016-07-12  Stephen Berman  <stephen.berman@gmx.net>
49561         * lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group.
49563 2016-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
49565         Cleanup tooltips
49567         * src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls.
49568         * src/frame.h (struct frame): New bitfield to indicate tooltip frame.
49569         (FRAME_TOOLTIP_P): New macro.
49570         * src/frame.c (make_frame): Mark new frame as regular frame by default.
49571         (Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P.
49572         (syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer'
49573         and 'Qtooltip_parameters' instead.
49574         * src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl.
49575         * src/gtkutil.c (xg_hide_tip): New function.
49576         (xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed.
49577         * src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip.
49578         * src/nsfns.m (toplevel): Remove 'tip_frame' leftover.
49579         * src/w32fns.c (unwind_create_tip_frame): Remove.
49580         (w32_display_monitor_attributes_list)
49581         (w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P.
49582         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
49583         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
49584         as a tooltip frame and record it using appropriate display info.
49585         (x_hide_tooltip): Add frame arg.
49586         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
49587         base frame parameters, store tooltip hide timer among tooltip frame
49588         parameters.
49589         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
49590         (syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize
49591         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
49592         * src/w32term.c (w32_read_socket): Extract tooltip window id from
49593         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
49594         (x_new_font): Use FRAME_TOOLTIP_P.
49595         (x_free_frame_resources): Reset pointer to tooltip frame.
49596         * src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'.
49597         * src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars):
49598         Use FRAME_TOOLTIP_P.
49599         * src/xfns.c (x_make_monitor_attribute_list)
49600         (Fx_display_monitor_attributes_list): Likewise.
49601         (unwind_create_tip_frame): Remove.
49602         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
49603         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
49604         as a tooltip frame and record it using appropriate display info.
49605         (x_hide_tooltip): Add frame arg.
49606         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
49607         base frame parameters, store tooltip hide timer among tooltip frame
49608         parameters.  To hide GTK system tooltip, use timeout hooked into GTK
49609         event loop.
49610         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
49611         (syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize
49612         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
49613         * src/xterm.c (handle_one_xevent): Extract tooltip window id from
49614         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
49615         (x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P.
49616         (x_free_frame_resources): Reset pointer to tooltip frame.
49617         * src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'.
49618         (struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'.
49620 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
49622         * src/fns.c (syms_of_fns): Leave `features' lexically scoped
49624 2016-07-11  Mario Lang  <mlang@delysid.org>
49626         Test mapcan
49628         * test/src/fns-tests.el (fns-tests-mapcan): New test.
49630 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
49632         Prevent to apply funcall on t
49634         * lisp/vc/ediff-util.el (ediff-really-quit): Ignore the global part of
49635         'ediff-after-quit-hook-internal' hook (Bug#23933).
49637 2016-07-11  Tino Calancha  <tino.calancha@gmail.com>
49639         Ignore angle mode while simplifying units
49641         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
49642         Ignore value of 'calc-angle-mode' when 'math-simplifying-units'
49643         is non-nil (Bug#23889).
49644         * lisp/calc/calc-math.el (math-to-radians, math-from-radians)
49645         (math-from-radians-2, math-to-radians-2): Idem.
49647 2016-07-11  Eli Zaretskii  <eliz@gnu.org>
49649         Fix display of composed characters
49651         * src/xdisp.c (x_produce_glyphs): Fix off-by-one error in
49652         iteration through composition glyphs.  (Bug#23938)
49654 2016-07-11  Paul Eggert  <eggert@cs.ucla.edu>
49656         Fix composition bug caused by off-by-1 typo
49658         * src/xdisp.c (x_produce_glyphs): Fix off-by-one typo when
49659         computing composition glyph (Bug#23938).
49661 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
49663         Dired always read file system
49665         * lisp/dired.el (dired-always-read-filesystem): Add new option.
49666         (dired-mark-files-containing-regexp): Use it (Bug#22694).
49667         * doc/emacs/dired.texi: Mention it in the manual.
49668         * test/lisp/dired-tests.el (dired-test-bug22694): Add test.
49669         ;* etc/NEWS: Add entry for this change.
49671 2016-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
49673         * src/macfont.m (mac_font_shape): Make sure that total_advance is increasing.
49675 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
49677         Avoid 'unused var' 'not left unused var' warnings
49679         * lisp/ibuffer.el (ibuffer-locked-buffer-p): Remove unused var 'char'.
49680         Rename used var '_buffer' to 'cbuffer'.
49682         * lisp/ibuf-ext.el (ibuffer-unmark-all): Rename used var '_mark'
49683         to cmark'.
49685 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
49687         * lisp/simple.el (shell-command, shell-command-on-region): Fix doc strings
49689 2016-07-10  Michael Albinus  <michael.albinus@gmx.de>
49691         Add a note how to use `tramp-own-remote-path'
49693         * doc/misc/tramp.texi (Inline methods, External methods)
49694         (Remote shell setup, Android shell setup)
49695         (Frequently Asked Questions, Frequently Asked Questions):
49696         Use @command and @samp consequently.
49697         (Remote programs): The remote shell must support the -l
49698         argument, in order to use `tramp-own-remote-path'.  (Bug#23914)
49700 2016-07-10  Alan Third  <alan@idiocy.org>
49702         Remove App Nap setting from Info.plist (bug#22993)
49704         * nextstep/templates/Info.plist.in: Remove LSAppNapIsDisabled key since
49705         it doesn't actually disable app nap.
49707 2016-07-09  Mario Lang  <mlang@delysid.org>
49709         An efficient built-in mapcan
49711         A built-in version of `mapcan' avoids consing up (and GC'ing) the
49712         intermediate list.
49714         * src/fns.c (Fmapcan): New built-in.
49715         (syms_of_fns): Define.
49717         * lisp/emacs-lisp/cl.el (mapcan): Remove defalias.
49719         * lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
49720         if only one sequence is provided.
49722         * lisp/progmodes/hideif.el (hif-delimit):
49723         * lisp/dired-aux.el (dired-do-find-regexp):
49724         * lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
49725         `cl-mapcan'.
49727         * lisp/woman.el (eval-when-compile): Require 'cl-lib only when
49728         compiling.
49730         * lisp/mouse.el (mouse-buffer-menu-map):
49731         * lisp/net/pop3.el (pop3-uidl-dele):
49732         * lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
49733         * lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
49734         * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
49735         * lisp/gnus/nnmail.el (nnmail-split-it):
49736         * lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
49737         * lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
49738         * lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.
49740 2016-07-09  Tino Calancha  <tino.calancha@gmail.com>
49742         Detect aliases to built-in functions
49744         * lisp/help-fns.el (describe-function-1): Check for aliases
49745         defined with (defalias alias (symbol-function built-in)) (Bug#23887).
49747         * test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as
49748         failing this test.
49750 2016-07-09  Michael Albinus  <michael.albinus@gmx.de>
49752         Avoid recursive detection of remote uid and gid in tramp-gvfs.el
49754         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress):
49755         New variable.
49756         (tramp-gvfs-maybe-open-connection): Use it.
49758         * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
49759         Reorder test.
49761 2016-07-09  Jürgen Hötzel  <juergen@archlinux.org>
49763         Wrap around error in coreutil's ls
49765         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Add switch
49766         "--quoting-style=literal" if remote host supports quoting style.
49767         Recent versions of coreutils changed default quoting style to
49768         "--quoting=shell-escape".
49770 2016-07-09  Eli Zaretskii  <eliz@gnu.org>
49772         Minor tweaks of copying text properties when padding strings
49774         * src/editfns.c (styled_format): Don't include padding on the left
49775         in the properties at the beginning of the string.  (Bug#23897)
49777         * test/src/editfns-tests.el (format-properties): Add tests for
49778         faces when the string is padded on the left or on the right.
49780 2016-07-08  Mario Lang  <mlang@delysid.org>
49782         No need to require the same feature twice.
49784         * lisp/dired-aux.el (require 'cl-lib): Remove.
49786 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
49788         Turn on lexical binding
49790         * lisp/net/secrets.el (secrets-collection-handler): Use cl-pushnew.
49791         (secrets-search-items, secrets-create-item): Use append.
49792         (secrets-show-secrets): Remove unused binding.
49793         (secrets-expand-item, secrets-tree-widget-after-toggle-function):
49794         Ignore unused arguments.
49796 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
49798         Derive secrets-mode from special-mode
49800         * lisp/net/secrets.el: Remove top-level secrets-mode hack.
49801         (secrets-mode-map): New variable.  Add key bindings to n and p for
49802         navigating lines.
49803         (secrets-mode): Derive from special-mode.  Remove keymap code and
49804         initialization code.  Do not record undo information.  Make
49805         secrets-show-collections the local revert-buffer-function.
49806         (secrets-show-collections): Change signature to satisfy revert-buffer.
49808 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
49810         Add a couple cells to lisp-prettify-symbols-alist
49812         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add
49813         "sqrt" and "not".
49815 2016-07-08  Michael Albinus  <michael.albinus@gmx.de>
49817         Detect remote uid and gid in tramp-gvfs.el
49819         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
49820         (tramp-gvfs-handler-mounted-unmounted)
49821         (tramp-gvfs-connection-mounted-p):
49822         Make "default-location" a connection property.
49823         (tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid): New defuns.
49824         (tramp-gvfs-maybe-open-connection): Use them.
49826 2016-07-08  Eli Zaretskii  <eliz@gnu.org>
49828         Yet another fix for copying properties by 'format'
49830         * src/textprop.c (extend_property_ranges): Accept an additional
49831         argument OLD_END, and only extend the end of a property range if
49832         its original end is at OLD_END; all the other ranges are left
49833         intact.  (Bug#23897)
49834         * src/editfns.c (styled_format): Pass the original length of the
49835         string to 'extend_property_ranges'.
49836         * src/intervals.h (extend_property_ranges): Adjust prototype.
49838         * test/src/editfns-tests.el (format-properties): Add tests for
49839         bug#23897.
49841 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
49843         Allow selecting region with mouse to move point to beginning
49845         * etc/NEWS: Mention new user option
49846         `mouse-select-region-move-to-beginning'.
49848         * doc/emacs/frames.texi (Mouse Commands): Add cross-reference
49849         to the following.
49850         (Word and Line Mouse): Describe how double-clicking mouse-1 to
49851         activate region and `mouse-select-region-move-to-beginning'
49852         affect point.
49854         * lisp/mouse.el (mouse-select-region-move-to-beginning): New defcustom.
49855         (mouse-set-point): Use it.  (Bug#23478)
49857 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
49859         Fix menu bar breakage
49861         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Use backquoting
49862         to prevent void variable errors, and fix typo (bug#23918).
49864 2016-07-08  Tino Calancha  <tino.calancha@gmail.com>
49866         Copy buffer names to kill ring
49868         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): New command.
49869         * lisp/ibuffer.el (ibuffer-mode-map): Bound it to 'B'.
49870         ;* etc/NEWS: Add entry for this new feature.
49872 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
49874         Remove just input mark
49876         * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove
49877         just MARK.
49879 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
49881         Ibuffer change marks
49883         * lisp/ibuffer.el (ibuffer-change-marks): New command.
49884         (ibuffer-mode-map): Bind it to '* c'.
49885         (ibuffer-mode-groups-popup): Update menus.
49886         (ibuffer-mode): Update mode doc.
49888 2016-07-07  Alan Third  <alan@idiocy.org>
49890         Prevent NS event loop being re-entered (bug#11049)
49892         * src/nsterm.m (ns_read_socket, ns_select): Return -1 if already
49893         in event loop instead of aborting.
49895 2016-07-07  Alan Third  <alan@idiocy.org>
49897         Fix some deprecated functions
49899         * src/nsterm.m (firstRectForCharacterRange): In OS X >10.6 replace
49900         convertBaseToScreen with convertRectToScreen.
49901         * src/nsmenu.m (ns_update_menubar): Remove attachedMenu, deprecated in
49902         OS X 10.2, and always seems to return nil.
49904 2016-07-07  Aaron Jensen  <aaronjensen@gmail.com>  (tiny change)
49906         Disable App Nap (bug#22993)
49908         * nextstep/templates/Info.plist.in: Insert AppNap disable code.
49910 2016-07-07  Michael Albinus  <michael.albinus@gmx.de>
49912         Fix an error in Tramp for rsync
49914         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
49915         Make it work for "rsync".
49916         (tramp-make-copy-program-file-name): Apply `directory-file-name'.
49918 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
49920         Ibuffer: Mark locked buffers
49922         * lisp/ibuf-ext.el (ibuffer-locked-buffer-p): New defun.
49923         (ibuffer-mark-by-locked): New command.
49924         (ibuffer-mode-map): Bind it to '% L'; update menus.
49925         (ibuffer-mode): Update mode doc.
49926         ;* etc/NEWS: Add NEWS entry for these changes and previous two commits.
49928 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
49930         * lisp/ibuffer.el: Add face for locked buffers
49932         * lisp/ibuffer.el: Add mark for locked buffers
49934         ;* etc/NEWS (Ibuffer): Update entry according with last commit
49936 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
49938         Remove duplicate binding
49940         * lisp/ibuffer.el (ibuffer-mode-map): 'ibuffer-mark-by-content-regexp'
49941         just bound to '% g'.
49942         As suggested in:
49943         https://lists.gnu.org/r/emacs-devel/2016-07/msg00165.html
49945 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
49947         Ibuffer: Drop needless binding
49949         * lisp/ibuffer.el (ibuffer-mark-interactive): 'inhibit-read-only'
49950         already bound to 't' inside 'ibuffer-set-mark'.
49952 2016-07-07  Phillip Lord  <phillip.lord@russet.org.uk>
49954         Run tests from non-byte compiled files
49956         * test/Makefile.in: Eval non-byte-compiled files for tests.
49958 2016-07-06  Mark Oteiza  <mvoteiza@udel.edu>
49960         Replace eldoc-documentation-function with a hook
49962         * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): New hook.
49963         (eldoc-documentation-function): Make into obsolete alias.
49964         (eldoc-echo-area-use-multiline-p, eldoc-highlight-function-argument):
49965         (eldoc-argument-case, global-eldoc-mode): Update docstrings.
49966         (eldoc-print-current-symbol-info): Use run-hook-with-args-until-success
49967         on eldoc-documentation-functions.
49968         (eldoc-supported-p): New function.
49969         (eldoc-mode, global-eldoc-mode, eldoc-schedule-timer): Use eldoc-supported-p.
49970         * etc/NEWS: Mention eldoc-documentation-functions.
49971         * doc/lispref/modes.texi: Update reference.
49973 2016-07-06  Simen Heggestøyl  <simenheg@gmail.com>
49975         Complete "initial" and "unset" in CSS mode
49977         * lisp/textmodes/css-mode.el (css--complete-property-value): Make
49978         "initial" and "unset" completion candidates for all CSS properties,
49979         just like "inherit".
49981         * test/lisp/textmodes/css-mode-tests.el
49982         (css-test-complete-property-value): Update test to reflect the above
49983         change.
49985 2016-07-06  Michael Albinus  <michael.albinus@gmx.de>
49987         * lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec): Fix typo.
49989 2016-07-06  Paul Eggert  <eggert@cs.ucla.edu>
49991         Simplify rfc1345.el a bit
49993         * lisp/leim/quail/rfc1345.el: Omit commented-out codes for ASCII
49994         that would no longer parse.  Replace control characters with
49995         escapes in character constants.  Omit unnecessary \ after ?.
49996         This does not change behavior.
49998 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
50000         Prefer 'frame-parameter' where it is expected to be a bit faster
50002         * lisp/international/mule-diag.el (mule-diag):
50003         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu):
50004         * lisp/mouse.el (mouse-drag-line, font-menu-add-default):
50005         * lisp/scroll-bar.el (toggle-scroll-bar, toggle-horizontal-scroll-bar):
50006         * lisp/faces.el (x-resolve-font-name): Use 'frame-parameter'.
50008 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
50010         Reduce consing caused by vertical motion commands
50012         * src/frame.c (Fframe_parameter): Avoid call to Fframe_parameters for the
50013         parameters frequently requested by calls to 'next-line' and 'previous-line'.
50015 2016-07-05  Michael Albinus  <michael.albinus@gmx.de>
50017         Make all Tramp tests pass for "gdrive" method
50019         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
50020         * lisp/net/tramp-compat.el (tramp-compat-copy-directory)
50021         (tramp-compat-delete-directory):
50022         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
50023         Use `directory-files-no-dot-files-regexp'.
50025         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted)
50026         (tramp-gvfs-send-command): Call `tramp-flush-file-property' in
50027         case of problems.
50029         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
50030         Adapt docstring.
50031         (tramp-test14-delete-directory): Make further tests.
50033 2016-07-05  Eli Zaretskii  <eliz@gnu.org>
50035         Fix redisplay with window-start on continuation lines
50037         * src/xdisp.c (pos_visible_p): Return false if the window starts
50038         after CHARPOS.
50039         (compute_window_start_on_continuation_line): Don't return
50040         window-start position that is after point in the buffer, as the
50041         callers don't expect this to happen, and will generally display an
50042         empty window with the cursor in its middle.  (Bug#23871)
50044 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
50046         Add :expected-result :failed for unfixed bug test
50048         * test/lisp/help-fns-tests.el (help-fns-test-bug23887):
50050 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
50052         * test/lisp/help-fns-tests.el: Add several tests for 'describe-function'.
50054 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
50056         Don’t create unnecessary marker in ‘delete-trailing-whitespace’
50058         * lisp/simple.el (delete-trailing-whitespace): If END argument is nil,
50059         there is no need for the end-marker to be created.
50061 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
50063         Simplify ‘delete-trailing-whitespace’ by not treating \n as whitespace
50065         * lisp/simple.el (delete-trailing-whitespace): Set newline’s character
50066         syntax to non-whitespace so that ‘\s-’ regular expression does not match
50067         it.
50069         This simplifies the loop slightly since a simple ‘\s-+$’ can be used and
50070         as a consequence ‘line-beginning-position’ function does not need to be
50071         called any longer.
50073         Furthermore, when newline has whitespace syntax, ‘\s-$’ regular
50074         expression ends up matching empty lins since ‘\s-’ matches newline
50075         characetr of proceeding line.  This leads to needless loop iterations.
50077         Since previous change to ‘delete-trailing-whitespace’ already introduced
50078         ‘with-syntax-table’, take advantage of it and also overwrite newline’s
50079         character syntax.
50081 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
50083         Make ‘delete-trailing-whitespace’ delete spaces after form feed
50085         * lisp/simple.el (delete-trailing-whitespace): Treat form fead as
50086         a non-whitespace character (regradless of whether it’s character syntax
50087         is whitespace) and delete any whitespace following it instead of leaving
50088         lines with form feeds completely unchanged.  I.e. a line like "\f " will
50089         now became "\f".
50091 2016-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
50093         Cleanup XEditRes hack
50095         * configure.ac [USE_X_TOOLKIT]: Define X_TOOLKIT_EDITRES if
50096         _XEditResCheckMessages is declared in X11/Xmu/Editres.h and may be
50097         linked with -lXmu.  This should work with any non-ancient Xmu library.
50098         * src/xfns.c (toplevel): Remove old cruft.
50099         (x_window) [USE_X_TOOLKIT]: Use X_TOOLKIT_EDITRES.
50100         * src/xterm.c (toplevel): Remove old cruft.
50101         (handle_one_xevent): Use X_TOOLKIT_EDITRES.
50102         * src/xterm.h (toplevel): Include X11/Xmu/Editres.h if X_TOOLKIT_EDITRES.
50104 2016-07-04  Michael Albinus  <michael.albinus@gmx.de>
50106         Add Google Drive support to Tramp
50108         * doc/misc/tramp.texi: Add `gdrive' method.
50110         * doc/misc/trampver.texi:
50111         * lisp/net/trampver.el: Change version to "2.3.1-pre".
50113         * etc/NEWS: Add Tramp connection method "gdrive".
50115         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods) <gdrive>: Add.
50116         (tramp-default-user-alist, tramp-default-host-alist): Add rule
50117         for "gdrive".
50118         (tramp-gvfs-file-attributes): Add "name", remove "standard::icon".
50119         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Simplify regexp.
50120         (tramp-gvfs-get-directory-attributes): Improve loop.  Use
50121         "standard::display-name" as file name, if available.
50122         (tramp-gvfs-handle-file-name-all-completions): Simplify.
50123         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
50124         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
50125         Map between "gdrive" and "google-drive".
50127         * lisp/net/tramp.el (tramp-call-process): Do not signal error.
50129         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
50130         Do not enable `tramp-message-show-message'.
50131         (tramp-test13-make-directory, tramp-test14-delete-directory):
50132         Do not specify error type.
50134 2016-07-04  Tino Calancha  <tino.calancha@gmail.com>
50136         Calc: Update mode line after change mode
50138         * lisp/calc/calc-ext.el (calc-change-mode): Call 'calc-set-mode-line'.
50140 2016-07-03  Mark Oteiza  <mvoteiza@udel.edu>
50142         * lisp/simple.el (save-mark-and-excursion): Add declare forms.
50144 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
50146         Re-fix open-network-stream responsiveness
50148         Problem reported by Christer Ekholm (Bug#23864).
50149         * src/process.c (wait_reading_process_output): Further fix for
50150         typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu when
50151         wait == INFINITY and got_output_end_time is invalid.  See:
50152         https://bugs.gnu.org/23864#20
50154 2016-07-03  Alan Mackenzie  <acm@muc.de>
50156         Remove redundant forms from CC Mode for faster fontification
50158         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove four arms of
50159         the "main" cond form in the function, which have been redundant since the
50160         extraction of c-font-lock-cut-off-declarators from the function on
50161         2016-06-15/16.
50163 2016-07-03  Alan Mackenzie  <acm@muc.de>
50165         Speed up CC Mode fontification with less accurate functions extending region
50167         * lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators)
50168         (c-font-lock-enclosing-decls)
50169         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Replace invocations of
50170         c-beginning-of-decl-1 with less accurate invocations of
50171         c-syntactic-skip-backwards to speed up fontification.
50173 2016-07-03  Tino Calancha  <tino.calancha@gmail.com>
50175         Ibuffer: unmark all buffers without confirmation
50177         * lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680).
50178         (ibuffer-mouse-popup-menu): Use it.
50179         (ibuffer-mode): Update mode doc.
50180         (ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'.
50181         Rebind 'ibuffer-do-replace-regexp' to 'r'.
50183 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
50185         Fix open-network-stream responsiveness
50187         Problem reported by Constantin Kulikov (Bug#23684).
50188         * src/process.c (wait_reading_process_output):
50189         Fix typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu
50190         when wait == INFINITY and got_output_end_time is invalid.
50191         In this case the code should break, not continue.
50193 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
50195         Ibuffer: Mark buffers by content
50197         * lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): New command.
50198         (ibuffer-never-search-content-name): New option.
50199         (ibuffer-never-search-content-mode): Idem.
50200         (ibuffer-mark-by-content-regexp): Use them (Bug#23734).
50202         * lisp/ibuffer.el (ibuffer-mode-map): Bind new command to '% c' and '% g'.
50203         (ibuffer-mode): Update mode documentation.
50205 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
50207         ibuffer-copy-filename-as-kill verbosity increase
50209         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill):
50210         Use shorter name, result, for a local bound var.
50211         Show the string result in the echo area.
50213 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
50215         Fix cursor positioning on TTY frames after stretch glyph
50217         * src/term.c (append_glyph, append_composite_glyph)
50218         (append_glyphless_glyph): Set the avoid_cursor_p and multibyte_p
50219         members of the produced 'struct glyph'.  Fixes cursor positioning
50220         on the first character after a stretch glyph produced from
50221         line-prefix, wrap-prefix, etc. on TTY frames.
50223 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
50225         Fix vertical-movement in buffers with wrap-prefix
50227         * src/indent.c (Fvertical_motion): Zero the current_y coordinate
50228         whenever we zero the vpos vertical position of the iterator.
50229         * src/xdisp.c (move_it_in_display_line_to): Handle line-prefix and
50230         wrap-prefix regardless of whether the current Y coordinate is
50231         inside the window dimensions.  (Bug#23879)
50233 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
50235         Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL
50237         * src/dispextern.h (FACE_FROM_ID_OR_NULL): Renamed from
50238         FACE_OPT_FROM_ID; all callers changed.
50239         * src/xdisp.c (extend_face_to_end_of_line): Call FACE_FROM_ID, not
50240         FACE_FROM_ID_OR_NULL, as the resulting face is immediately
50241         dereferenced.
50242         (fill_gstring_glyph_string): Call FACE_FROM_ID, not
50243         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
50244         when the glyph string is drawn.
50245         (BUILD_COMPOSITE_GLYPH_STRING): Call FACE_FROM_ID, not
50246         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
50247         in fill_composite_glyph_string.
50248         (calc_line_height_property): Call FACE_FROM_ID_OR_NULL rather that
50249         FACE_FROM_ID, since the function and its caller can cope with that
50250         situation.  Conflate 3 tests of missing face or font into just
50251         one.
50252         * src/xfaces.c (Fx_list_fonts, Fface_font, lookup_face): Call
50253         FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since these
50254         functions can cope with that situation.
50255         (lookup_derived_face): Don't call FACE_FROM_ID if the result will
50256         not be used.
50257         * src/w32console.c (w32_face_attributes): Remove redundant 'eassert'.
50259 2016-07-01  Mark Oteiza  <mvoteiza@udel.edu>
50261         * lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote.
50263 2016-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
50265         * lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace
50267         i.e. rename from auto-source--symbol-keyword.
50269 2016-07-01  Dmitry Antipov  <dmantipov@yandex.ru>
50271         Avoid yet another possible NULL pointer dereference found by GCC 6.1.1
50273         * lwlib/lwlib.c (lw_get_all_values): Always check the value returned by
50274         get_widget_info.
50276 2016-06-30  Alan Mackenzie  <acm@muc.de>
50278         CC Mode: truncate the semi-nonlit cache when applying syntax-table to a quote
50280         This applies to applying or removing syntax-table text properties in raw
50281         strings which affect the stringiness of a piece of text.  This fixes the
50282         bug
50283         reported in
50284         https://lists.gnu.org/r/emacs-devel/2016-06/msg00695.html.
50286         * lisp/progmodes/cc-engine.el (c-truncate-semi-nonlit-pos-cache): new
50287         defsubst.
50288         (c-invalidate-state-cache-1): Call new function in place of inline
50289         manipulation.
50290         (c-depropertize-raw-string, c-propertize-raw-string-opener): truncate the
50291         semi-nonlit cache when pertinent syntax-table text properties get applied to
50292         the text.
50294 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
50296         Minor tweaks to openp
50298         * src/lread.c (openp): Move invariant code out of the loop
50299         and thus avoid redundant calls to memcpy.  Adjust comments.
50301 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
50303         Simplify handling of frame parameters
50305         * src/frame.c (x_set_frame_parameters): Avoid extra loop processing
50306         foreground color, background color and font parameters.  Adjust
50307         comments.
50309 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
50311         Cleanup around mature character manipulation functions
50313         * lisp/international/mule-diag.el (decode-codepage-char): Remove.
50315         * lisp/ldefs-boot.el (toplevel): Adjust accordingly.
50317         * lisp/subr.el (toplevel): Do not advertise calling conventions
50318         for 'decode-char' and 'encode-char'.
50320         * src/charset.c (Fdecode_char, Fencode_char): Remove unused 3rd arg.
50322 2016-06-29  Alan Mackenzie  <acm@muc.de>
50324         Fix C-M-a in a C function finding the start of a macro preceding it.
50326         Also amend some pertinent documentation.  This fixes bug #23818.
50328         * lisp/progmodes/cc-engine.el (c-beginning-of-decl-1): Also check for a
50329         virtual semicolon at a place where we check for other types of statement ends.
50331         * lisp/progmodes/cc-vars.el (c-macro-nacmes-with-semicolon): Remove from the
50332         doc string the bit saying that the variable is a prototype and liable to
50333         change.
50335         * doc/misc/cc-mode.texi (Macros with ;): Enhance, stating that configuring
50336         macros with semicolon can prevent C-M-a missing the beginning of defun.
50338 2016-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
50340         Avoid possible NULL pointer dereference found by GCC 6.1.1
50342         * src/xfns.c (x_get_monitor_attributes_xrandr): Always check
50343         the value returned by XRRGetOutputInfo.
50345 2016-06-28  Tino Calancha  <tino.calancha@gmail.com>
50347         Dired recognize dirs when file size in human units
50349         * lisp/dired.el (dired-re-inode-size): Update 'dired-re-inode-size'
50350         to match when Dired displays the allocated file size column
50351         in human readable units (Bug#22255).
50353 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
50355         Fix breakage from previous change
50357         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
50358         * lisp/vc/log-view.el (log-view-font-lock-keywords): Quote face.
50360 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
50362         Fix breakage from previous change.
50364         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords): Quote face.
50366 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
50368         Add tests for copying properties by 'format'
50370         * test/src/editfns-tests.el (format-properties): New test.
50372 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
50374         Fix copying properties in 'format' when it produces padding
50376         * src/textprop.c (extend_property_ranges): Correct range extension
50377         when the new end is beyond the old end.  (Bug#23859)
50379 2016-06-27  Alan Third  <alan@idiocy.org>
50381         Enable dividers in NS (bug#22973)
50383         src/nsfns.m: Add color settings functions to ns_frame_park_handlers.
50384         src/nsterm.m (ns_draw_window_divider): ns_focus has to go before the
50385         attempt to set the color.
50386         src/nsterm.m (ns_draw_vertical_window_border): This had the same bug as
50387         above, although I didn't see any errors.
50389 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50391         Fix the prefix action of shr-copy-url
50393         * lisp/net/shr.el (shr-copy-url): Make the command really copy
50394         the image url if given a prefix.
50396 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50398         New functions svg-text and svg-remove
50400         * doc/lispref/display.texi (SVG Images): Document svg-remove.
50402         * doc/lispref/display.texi (SVG Images): Document svg-text.
50404         * lisp/svg.el (svg-remove): New function.
50405         (svg-text): New function.
50407 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50409         Add new function dom-remove-node
50411         * doc/lispref/text.texi (Document Object Model): Document
50412         dom-remove-node.
50414         * lisp/dom.el (dom-remove-node): New function.
50416 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
50418         Add a new function `svg-embed'
50420         * doc/lispref/display.texi (SVG Images): Document `svg-embed'.
50422         * lisp/svg.el (svg-embed): New function.
50423         (svg--image-data): Ditto.
50425 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
50427         * lisp/descr-text.el (describe-char-unicode-data): Fix copy/paste errors.
50429 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
50431         Fix 'move-to-window-line' when EOB is on last screen line
50433         * src/window.c (displayed_window_lines): Fix an off-by-one error
50434         when the bottom of the last display line is exactly at window's
50435         last pixel.  Remove kludgey fix for TTY frames that is no longer
50436         needed.  (Bug#15760)
50437         (Fmove_to_window_line): Doc fix.
50439         * doc/lispref/positions.texi (Screen Lines): Clarify and make more
50440         accurate the documentation of 'move-to-window-line'.
50442 2016-06-27  Alan Mackenzie  <acm@muc.de>
50444         Amend a cache so that typing into C++ raw strings has no undue delay.
50446         Also amend the code so that low-level searches to the end of literals are done
50447         only when these positions get used.
50449         * lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use the new
50450         c-literal-start instead of c-literal-limit.
50451         (c-state-semi-nonlit-pos-cache): Change the structure of this cache, such that
50452         it stores details of the literal at a point, rather than merely points outside
50453         of literals.
50454         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
50455         (c-cache-to-parse-ps-state, c-parse-ps-state-to-cache, c-ps-state-cache-pos)
50456         (c-parse-ps-state-below, c-literal-start): New functions.
50457         (c-state-semi-safe-place): Removed.
50458         (c-in-literal): Use c-state-semi-pp-to-literal, so as not to scan to its end.
50459         (c-literal-limits, c-determine-limit-get-base): consequential amendments.
50460         (c-find-decl-spots, c-before-change-check-<>-operators, c-raw-string-pos)
50461         (c-guess-basic-syntax (CASE 2)): Avoid needless scans to end of literals.
50463         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Avoid needless scans
50464         to end of literals.
50466         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Avoid needless scans to end of
50467         literals.
50469         * lisp/progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun)
50470         (c-defun-name, c-declaration-limits): Avoid needless scans to end of literals.
50472 2016-06-26  Dmitry Gutov  <dgutov@yandex.ru>
50474         Also handle escaping when string begins with a quote
50476         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
50477         Handle quoting of the first character in the string.
50479         * test/lisp/progmodes/ruby-mode-tests.el
50480         (ruby-toggle-string-quotes-quotes-correctly): Update.
50482 2016-06-26  Sriram Thaiyar  <sriram.thaiyar@gmail.com>  (tiny change)
50484         Fix quote escaping in ruby-toggle-string-quotes
50486         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
50487         Change logic to quote based on the current quote of the string.
50489         * test/lisp/progmodes/ruby-mode-tests.el
50490         (ruby-toggle-string-quotes-quotes-correctly): Add test.
50492 2016-06-26  Noam Postavsky  <npostavs@gmail.com>
50494         Fix test-completion with completion-regexp-list
50496         * src/minibuf.c (Ftest_completion): Handle alist COLLECTION with non-nil
50497         completion-regexp-list (Bug #23533).
50499 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
50501         Try other addresses when connecting to multihomed
50503         Problem reported by Juliusz Chroboczek (Bug#17976)
50504         and by Artur Malabarba (Bug#23620).
50505         Patch from a suggestion by Andreas Schwab in:
50506         https://bugs.gnu.org/17976#39
50507         This patch is for non-MS-Windows platforms.
50508         I don't know the situation on MS-Windows.
50509         * src/process.c (connecting_status):
50510         New function, for (connect . ADDRINFOS).
50511         (connect_network_socket, check_for_dns, wait_for_socket_fds)
50512         (wait_while_connecting, wait_reading_process_output, status_notify):
50513         Use it.
50514         (decode_status, Fmake_network_process):
50515         Support (connect . ADDRINFOS) status.
50516         (connect_network_socket) [!WINDOWSNT]:
50517         If the connection failed and there are other addresses to try, do not
50518         signal an error; instead, loop around to try the next address.
50519         (wait_reading_process_output): Advance to the next address
50520         if there are multiple addresses and the first remaining address
50521         failed.
50522         * src/process.h (struct Lisp_Process.status): Adjust comment
50523         to describe (connect . ADDRINFOS).
50525 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
50527         Fix GNUC_PREREQ for GCC 2.8.1 etc.
50529         Problem reported by Eli Zaretskii in:
50530         https://lists.gnu.org/r/emacs-devel/2016-06/msg00608.html
50531         * src/conf_post.h (GNUC_PREREQ): Port to GCC versions like GCC
50532         2.8.1 (1998), which come before GCC 3.0 and which have nonzero
50533         patchlevel numbers.
50535 2016-06-26  Eli Zaretskii  <eliz@gnu.org>
50537         Don't set 'bidi-paragraph-direction' in 'ansi-term'
50539         * lisp/term.el (ansi-term): Remove unnecessary setting of
50540         'bidi-paragraph-direction'.  The underlying problem is solved in
50541         bidi.c by changing the regexps that define the paragraph beginning
50542         and end.  (Bug#20611)
50544 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
50546         Sync with Tramp 2.3.0
50548         * doc/misc/trampver.texi:
50549         * lisp/net/trampver.el: Change version to "2.3.0".
50551 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
50553         Fix GNUC_PREREQ off-by-1 typo
50555         Problem reported by Martin Rudalics in:
50556         https://lists.gnu.org/r/emacs-devel/2016-06/msg00587.html
50557         * src/conf_post.h (GNUC_PREREQ) [__GNUC_PATCHLEVEL__]:
50558         Fix < vs <= typo.
50560 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
50562         Fix some oddities in Tramp's rsync and smb methods
50564         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-p" and
50565         "-s" arguments.
50566         (tramp-do-copy-or-rename-file-out-of-band):
50567         Call `file-name-directory' also for remote NEWNAME.
50569         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
50570         Do not skip for tramp-smb.el.  Test als COPY-CONTENTS case.
50571         (tramp-test24-file-name-completion): Improve check for
50572         hostname completion.
50573         (tramp--test-rsync-p): New defun.
50574         (tramp-test31-special-characters)
50575         (tramp-test31-special-characters-with-stat)
50576         (tramp-test31-special-characters-with-perl)
50577         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
50578         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
50579         (tramp-test32-utf8-with-ls): Skip for "rsync".
50581         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
50582         Check also for CIFS capabilities.
50584 2016-06-26  Ury Marshak  <ury.marshak@gmail.com>  (tiny change)
50586         Fix FRAME_INTERNAL_BORDER_WIDTH use (Bug#23841)
50588         * src/nsfns.m (x_set_internal_border_width): Replace assignments to
50589         FRAME_INTERNAL_BORDER_WIDTH.
50591 2016-06-25  Leo Liu  <sdl.web@gmail.com>
50593         Deprecations (bug#23850)
50595         * lisp/subr.el (string-to-unibyte, string-as-unibyte,
50596         string-to-multibyte, string-as-multibyte): Make obsolete.
50598 2016-06-25  Tino Calancha  <tino.calancha@gmail.com>
50600         Do not prompt twice to save a buffer
50602         * lisp/hilit-chg.el (highlight-markup-buffers): (Bug#23824).
50604 2016-06-25  Alan Third  <alan@idiocy.org>
50606         Move text line right when in box (bug#23755)
50608         * src/nsterm.m (ns_draw_glyph_string_foreground): Create to take
50609         CHAR_GLYPH specific code and move glyphs right if within a box.
50610         (ns_draw_glyph_string): Move CHAR_GLYPH specific code into above
50611         function.
50613 2016-06-25  Paul Eggert  <eggert@cs.ucla.edu>
50615         Merge from origin/emacs-25
50617         0377fe2 ; Spelling fixes
50618         f253695 Update docs for `customize-mode'
50619         4395aaa Fix documentation of 'assoc-string' and 'compare-strings'
50620         ab0ebb9 ; Only load .elc file in tests.
50621         a98aa02 Error on multibyte characters in HTTP request
50622         ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th...
50623         8297331 ; Revert "Ensure undo-boundary after insert-file-contents."
50624         dc5e65b Unset GIT_DIR when calling Git commands
50625         6cdd8f7 Ensure undo-boundary after insert-file-contents.
50626         4793f5f Clarify documentation of 'line-spacing' and 'line-height'
50627         5f37572 Fix removal of variables from process-environment
50628         e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file...
50629         db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add...
50631         # Conflicts:
50632         #       doc/lispref/modes.texi
50633         #       lisp/gnus/mm-decode.el
50635 2016-06-25  Mark Oteiza  <mvoteiza@udel.edu>
50637         Teach net-utils more iproute2 and nl80211 tools
50639         * lisp/net/net-utils.el (iwconfig-program): Add iw(8).
50640         (iwconfig-program-options): Add "dev" argument for iw.  Another useful
50641         option is "phy"; beyond that one needs to know the interface name.
50642         (netstat-program): Add ss(8).
50643         (route-program): Add ip(8).
50644         (route-program-options): Add "route" argument for ip.
50646 2016-06-24  Leo Liu  <sdl.web@gmail.com>
50648         Use use-region-p in prolog.el
50650         * lisp/progmodes/prolog.el (region-exists-p): Remove.
50651         * lisp/progmodes/prolog.el (prolog-edit-menu-runtime,
50652         prolog-edit-menu-insert-move): Use use-region-p.
50654 2016-06-24  Leo Liu  <sdl.web@gmail.com>
50656         Remove compatibility with Emacs 24.3 in octave-mode
50658         * lisp/progmodes/octave.el: Clean up and remove compatibility with
50659         Emacs 24.3.
50661 2016-06-24  Alan Mackenzie  <acm@muc.de>
50663         Ensure hack-local-variables is run in a fundamental mode buffer.
50665         This fixes bug #23827.
50667         * src/buffer.c (set-buffer-major-mode): Run `fundamental-mode' when the buffer
50668         gets set to that mode, so that `run-mode-hooks', and thus
50669         `hack-local-variables' get run.
50671 2016-06-24  Tino Calancha  <tino.calancha@gmail.com>
50673         Fix caller to ediff-setup
50675         * lisp/hilit-chg.el (hilit-chg-get-diff-info): #Bug23820.
50677 2016-06-24  Alan Mackenzie  <acm@muc.de>
50679         Implement ' separators in C++ integer literals.
50681         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): insert
50682         c-before-after-change-digit-quote into the C++ value.
50683         (c-before-font-lock-functions): Insert c-depropertize-new-text into the values
50684         for all languages.  Insert c-before-after-change-digit-quote into the C++
50685         value.
50687         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Wrap the function in
50688         c-save-buffer-state.
50689         (c-depropertize-new-text, c-before-after-change-digit-quote): New functions.
50691 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
50693         Update from gnulib
50695         This incorporates:
50696         2016-06-24 intprops: port better to GCC 7
50697         2016-06-13 xalloc-oversized: port to GCC 7; fewer warnings
50698         * doc/misc/texinfo.tex, lib/xalloc-oversized.h, lib/intprops.h:
50699         Copy from gnulib.
50701 2016-06-24  Martin Rudalics  <rudalics@gmx.at>
50703         Remove two uses of 'min' in Fwindow_text_pixel_size
50705         * src/xdisp.c (Fwindow_text_pixel_size): Don't use 'min' since
50706         it calls move_it_to twice.  Suggested by Eli Zaretskii.
50708 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
50710         Clarify intent of FACE_FROM_ID and IMAGE_FROM_ID
50712         * src/dispextern.h (FACE_OPT_FROM_ID): Don’t use FACE_FROM_ID,
50713         since it is intended to be used only when it returns a non-null
50714         pointer, and here the pointer might be null.
50715         (IMAGE_OPT_FROM_ID): Don’t use IMAGE_FROM_ID, for similar reasons.
50717 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
50719         Remove some more face aliases obsoleted in 22.1
50721         * lisp/eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face,
50722         eshell-ls-executable-face, eshell-ls-readonly-face,
50723         eshell-ls-unreadable-face, eshell-ls-special-face,
50724         eshell-ls-missing-face, eshell-ls-archive-face, eshell-ls-backup-face,
50725         eshell-ls-product-face, eshell-ls-clutter-face): Remove.
50726         * lisp/isearch.el (isearch-lazy-highlight-face, lazy-highlight-face): Remove.
50727         (isearch-lazy-highlight-update): Use face symbol.
50728         * lisp/net/sieve-mode.el (sieve-control-commands-face,
50729         sieve-action-commands-face, sieve-test-commands-face,
50730         sieve-tagged-arguments-face): Remove.
50731         (sieve-font-lock-keywords): Use non-obsolete faces.
50732         * lisp/progmodes/sh-script.el (sh-heredoc-face): Remove.
50733         (sh-get-indent-info, sh-prev-line): Use face symbol.
50734         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
50735         Use non-obsolete face.
50736         (tex-math-face, tex-verbatim-face): Remove.
50737         (tex-font-lock-syntactic-face-function): Use face symbols.
50739 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
50741         Remove some face aliases obsoleted in 22.1
50743         * lisp/faces.el (modeline-inactive, modeline-highlight, modeline-buffer-id):
50744         * lisp/hilit-chg.el (highlight-changes-face, highlight-changes-delete-face):
50745         * lisp/info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face,
50746         Info-title-4-face, info-menu-5):
50747         * lisp/obsolete/old-whitespace.el (whitespace-highlight-face):
50748         * lisp/paren.el (show-paren-match-face, show-paren-mismatch-face):
50749         * lisp/progmodes/make-mode.el (makefile-space-face):
50750         * lisp/textmodes/texinfo.el (texinfo-heading-face): Remove.
50751         (texinfo-font-lock-keywords): Use texinfo-heading face.
50752         * lisp/vc/add-log.el (change-log-date-face, change-log-name-face,
50753         change-log-email-face, change-log-file-face, change-log-list-face,
50754         change-log-conditionals-face, change-log-function-face,
50755         change-log-acknowledgement-face):
50756         * lisp/vc/diff-mode.el (diff-header-face, diff-file-header-face,
50757         diff-index-face, diff-hunk-header-face, diff-removed-face, diff-added-face,
50758         diff-changed-face, diff-function-face, diff-context-face,
50759         diff-nonexistent-face): Remove.
50760         (diff-use-changed-face, diff-font-lock-keywords): Use non-obsolete face
50761         symbols.
50762         (diff-hunk-file-names): Fix comment.
50763         (diff-refine-change): Remove.
50764         (diff-refine-removed, diff-refine-added, diff-refine-hunk): Use
50765         non-obsolete face.
50766         * lisp/vc/log-view.el (log-view-file-face, log-view-message-face): Remove.
50767         (log-view-font-lock-keywords): Use non-obsolete face names.
50768         * lisp/vc/pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face,
50769         cvs-handled-face, cvs-need-action-face, cvs-marked-face, cvs-msg-face):
50770         * lisp/wid-edit.el (widget-documentation-face, widget-button-face,
50771         widget-field-face, widget-single-line-field-face, widget-inactive-face,
50772         widget-button-pressed-face):
50773         * lisp/woman.el (woman-italic-face, woman-bold-face, woman-unknown-face,
50774         woman-addition-face): Remove.
50776 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
50778         * lisp/international/characters.el (standard-case-table): Improve last change.
50780 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
50782         Improve results of 'upcase' for characters with title-case
50784         * lisp/international/characters.el (standard-case-table): Swap the
50785         order of some lines, to have 'upcase' return the upper-case
50786         variant, not the title-case, for some characters whose lower-case
50787         map to the same codepoints.  (Bug#23833)
50789 2016-06-23  Alan Mackenzie  <acm@muc.de>
50791         Make typing into incomplete C++ raw strings work, and make it work fast enough
50793         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-state-pp-to-literal):
50794         Put `save-match-data' around calls to `looking-at' to enable the use of the
50795         match data in higher level functions.
50797         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations)
50798         (c-font-lock-cut-off-declarators): Use `limit' rather than `(point-max)' as a
50799         limit to speed up handling of C++ raw strings.
50801 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
50803         Fix handling of LWINDOW key on MS-Windows
50805         * src/w32fns.c (funhook): Correct a typo which broke handling of
50806         the LWINDOW key.  (Bug#23830)
50808 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
50810         Update Unicode data files from Unicode 9.0.0
50812         * admin/unidata/copyright.html:
50813         * admin/unidata/BidiBrackets.txt:
50814         * admin/unidata/UnicodeData.txt: Update from Unicode 9.0.0, just
50815         released.
50817 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
50819         Fix test for whether the '.el' file is newer than '.elc'
50821         * src/lread.c (Fload): Don't overwrite the last character of the
50822         file name in FOUND with 'c', unless the file name ended in ".elc"
50823         to begin with.  Don't treat empty files as byte-compiled.  See
50824         https://lists.gnu.org/r/emacs-devel/2016-06/msg00463.html
50825         for more details of the problem this caused.
50827 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
50829         Fix 'insert-file-contents' when REPLACE is non-nil
50831         * src/fileio.c (maybe_move_gap): New function to move the gap to
50832         the end of a buffer, if it isn't there already.
50833         (Finsert_file_contents): Call 'maybe_move_gap' before using
50834         conversion_buffer's text as a C 'char' array.  (Bug#23659)
50835         * src/coding.c (decode_eol): Compute the byte increment before
50836         calling del_range_2, because the latter can invalidate the pointer
50837         to buffer text.
50839 2016-06-22  Ken Brown  <kbrown@cornell.edu>
50841         Avoid compiler warning
50843         * src/w32fns.c (Fx_show_tip): Don’t jump over auto initialization.
50845 2016-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
50847         * lisp/emacs-lisp/syntax.el (syntax-propertize): Flush extended region.
50849 2016-06-22  Ken Brown  <kbrown@cornell.edu>
50851         Fix last change to FRAME_INTERNAL_BORDER_WIDTH
50853         * src/w32fns.c (x_set_internal_border_width): Don’t use
50854         FRAME_INTERNAL_BORDER_WIDTH(), which is now a function call, as an
50855         lvalue.
50857 2016-06-21  Paul Eggert  <eggert@cs.ucla.edu>
50859         Improve --without-x GCC pacification
50861         * src/composite.c (autocmp_chars):
50862         * src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]:
50863         Use simpler ((void) 0) for no-op expression returning void.
50864         * src/dispextern.h [HAVE_WINDOW_SYSTEM]:
50865         Include fontset.h, for face_for_char.
50866         (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR):
50867         Now inline functions instead of macros.  This avoids the need for
50868         all those casts to void.
50869         (FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg.
50870         All uses changed.
50871         * src/frame.c (Ficonify_frame, Fset_frame_position):
50872         * src/xdisp.c (Fmove_point_visually, show_mouse_face):
50873         * src/xdisp.c (note_mode_line_or_margin_highlight)
50874         (note_mouse_highlight):
50875         Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should
50876         now work either way without generating warnings.
50877         * src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function.
50878         (window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h.
50879         (decode_window_system_frame): Use check_window_system instead of
50880         rolling the code ourself.  Return needed only if HAVE_WINDOW_SYSTEM.
50881         (decode_window_system_frame, check_window_system):
50882         Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one.
50883         * src/frame.c (Ficonify_frame, Fset_frame_position):
50884         * src/xdisp.c (show_mouse_face, define_frame_cursor1)
50885         (note_mouse_highlight):
50886         Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef;
50887         this is a better way to pacify GCC.
50888         * src/xdisp.c (x_set_left_fringe, x_set_right_fringe)
50889         (x_set_right_divider_width, x_set_bottom_divider_width):
50890         * src/xfns.c (x_set_internal_border_width):
50891         Don’t use what are now function calls as lvalues.
50892         * src/frame.h (WINDOW_SYSTEM_RETURN): New macro.
50893         (decode_window_system_frame, check_window_system):
50894         Use it, to avoid the need for duplicate declarations.
50895         (window_system_available): Now an inline function.
50896         (display_available): New decl.
50897         (frame_dimension): New inline function.
50898         (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
50899         (FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH)
50900         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
50901         (FRAME_BOTTOM_DIVIDER_WIDTH):
50902         Use it, to avoid the need for duplicate definitions.
50903         Now inline functions instead of macros.
50904         * src/gnutls.c (gnutls_log_function2i): Remove.
50905         * src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly.
50906         This avoids complaints about gnutls_log_function2i being defined
50907         and not used on older platforms that do not need to call GNUTLS_LOG2i.
50908         * src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro.
50909         * src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id =
50910         expr’ to ‘type id; id = expr’, as this would suppress valid
50911         jump-misses-init diagnostics.  Let’s find a better way to address
50912         the problem.
50913         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE):
50914         Define only if needed.
50915         * src/xdisp.c (handle_single_display_spec):
50916         Simplify fringe_bitmap computation.
50917         (define_frame_cursor1): Do nothing unless in a window system.
50918         All callers changed and simplified.
50919         * src/xfaces.c (realize_default_face):
50920         Use a simpler way to pacify GCC when a return value is not used
50921         on some platforms.
50923 2016-06-21  Phillip Lord  <phillip.lord@russet.org.uk>
50925         Ensure undo-boundary after all commands
50927         * lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after
50928           every command whether it (apparently) changes the buffer or not.
50930         See Bug#23785 for discussion.
50932 2016-06-21  Eli Zaretskii  <eliz@gnu.org>
50934         Fix vertical layout calculations when newline has line-height property
50936         * src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
50937         'constrain_row_ascent_descent_p' flag after processing the
50938         newline, similar to what 'display_line' does.  Without this, the
50939         flag remains set once set by x_produce_glyphs, and causes the
50940         vertical layout calculations to go awry, because Emacs thinks the
50941         screen lines have zero height.  (Bug#23850)
50943 2016-06-20  Ken Brown  <kbrown@cornell.edu>
50945         Fix compiler warnings in Cygwin-w32 build
50947         * src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while
50948         loop to avoid compiler warnings about empty body of 'if'
50949         statement.
50951         * src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused
50952         macro.
50953         (x_create_bitmap_from_data): Declare 'frame'.
50954         (x_create_bitmap_from_file): Don't declare unused variable
50955         'dpyinfo'.
50957         * src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to
50958         prevent "jump-misses-init" compiler warnings.
50960         * src/w32fns.c (check_w32_winkey_state): Define and use only if
50961         WINDOWSNT.
50962         (Fx_show_tip): Declare 'f'.
50963         (Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE.
50964         (w32_strerror): Use format specifier %d for sprintf argument of
50965         type int.
50966         (emacs_abort): Cast sprintf argument of type DWORD to unsigned
50967         int, and use format specifier %x, for compatibility with Cygwin.
50968         (unicode_append_menu) [NTGUI_UNICODE]:
50969         * src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info)
50970         (set_menu_item_info, unicode_append_menu)
50971         (unicode_message_box):
50972         * src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as
50973         functions rather than macros to avoid "address will always
50974         evaluate as true" compiler warnings.
50976         * src/w32font.c (w32_to_x_charset): Use format specifier %d for
50977         sprintf argument of type int.
50979         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast
50980         sprintf argument of type int to unsigned int to match %X format
50981         specifier.
50982         (w32_scroll_bar_handle_click):
50983         (w32_horizontal_scroll_bar_handle_click): Declare 'f'.
50985         * src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused
50986         argument.
50988 2016-06-20  Ken Brown  <kbrown@cornell.edu>
50990         Fix compiler warnings in no-window-system-build
50992         * src/composite.c (autocmp_chars): Declare and set 'f' only if
50993         HAVE_WINDOW_SYSTEM.
50995         * src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
50996         (FACE_FOR_CHAR): Explicitly discard unused arguments.
50998         * src/font.c (font_open_entity): Declare 'min_width' where it is
50999         first set, and only if HAVE_WINDOW_SYSTEM.
51001         * src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
51002         Define _Noreturn version to avoid "suggest attribute noreturn"
51003         compiler warning.
51004         (check_window_system): Declare as _Noreturn.
51005         (Ficonify_frame):
51006         (Fset_frame_position): Don’t declare and set 'f'.
51008         * src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
51009         (check_window_system):  Add _Noreturn prototypes.
51010         (FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
51011         (FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
51012         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
51013         (FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.
51015         * src/xdisp.c (handle_single_display_spec): Declare
51016         'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
51017         (append_space_for_newline): Declare 'g' where it is first set.
51018         (Fmove_point_visually): Declare and set 'target_is_eol_p' only if
51019         HAVE_WINDOW_SYSTEM.
51020         (show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
51021         if HAVE_WINDOW_SYSTEM.
51022         (note_mode_line_or_margin_highlight):
51023         (note_mouse_highlight): Declare and set 'cursor' and 'pointer'
51024         only if HAVE_WINDOW_SYSTEM.
51026         * src/xfaces.c (realize_default_face): Declare and set 'face' only
51027         if HAVE_X_WINDOWS.  Remove redundant #ifdef.
51029 2016-06-20  Michael Albinus  <michael.albinus@gmx.de>
51031         Weaken test conditions in filenotify-tests.el
51033         * test/lisp/filenotify-tests.el (file-notify--test-with-events):
51034         Fix thinko in test.
51035         (file-notify-test02-events, file-notify-test04-file-validity)
51036         (file-notify-test07-backup)
51037         (file-notify-test08-watched-file-in-watched-dir): Make test
51038         conditions more weak.  (Bug#23618)
51040 2016-06-19  Paul Eggert  <eggert@cs.ucla.edu>
51042         Minor ABLOCKS_BUSY cleanups in alloc.c
51044         * src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash
51045         with member ‘abase’ in definiens.
51046         (lisp_align_malloc, lisp_align_free): Use bool for boolean.
51047         Avoid compiler warning with fewer casts.
51048         (lisp_align_free): Check busy-field values; this can help the
51049         compiler a bit when optimizing, too.
51051 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
51053         ASCII-fy coding-system-for-read used for Git commands
51055         * lisp/vc/vc-git.el (vc-git--asciify-coding-system):
51056         New function.
51057         (vc-git-diff, vc-git-annotate-command): Use it.
51059 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
51061         Prohibit multibyte characters in url-http-data
51063         It didn't work anyway, but this makes any such errors more obvious
51064         by catching them earlier.
51066         * lisp/url/url-http.el (url-http-create-request):
51067         Use string-to-unibyte (bug#23750).
51069 2016-06-19  Eli Zaretskii  <eliz@gnu.org>
51071         Fix setting a range of char-table slots in a singular case
51073         * src/chartab.c (char_table_set_range): Start the loop from the
51074         first character of the block to which FROM belongs.  (Bug#23797)
51076         * test/src/chartab-tests.el: New test file.
51078 2016-06-19  Alan Mackenzie  <acm@muc.de>
51080         Fix CC Mode fontification problem apparent in test file decls-6.cc.
51082         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Recognize
51083         "bar (gnu);" as a declarator only when the construct is directly inside a
51084         class (etc.) called "bar".
51085         (c-directly-in-class-called-p): New function.
51087 2016-06-19  Alan Mackenzie  <acm@muc.de>
51089         c-renarrow-state-cache: take care when new point is inside old brace pair.
51091         Also add display of point-min to the c-parse-state debugging output.
51093         * lisp/progmodes/cc-engine.el (c-renarrow-state-cache): When the new
51094         point is inside an old recorded brace pair, clear the cache.
51095         (c-debug-parse-state): Output the value of point-min.
51097 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
51099         Rename ALIGN to pointer_align
51101         * src/alloc.c (pointer_align): Rename from ALIGN.
51102         This fixes Bug#23764 in a simpler way.
51104 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
51106         Merge from origin/emacs-25
51108         d1efbaf Fix documentation of completion functions
51109         65c96cc Clarify documentation of 'font-lock-maximum-decoration'
51110         2ad3d01 * doc/misc/cl.texi (Usage): Add some more details.
51111         b49cb0a Fbackward_prefix_chars: stay within buffer bounds
51113 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
51115         Merge from origin/emacs-25
51117         2317c61 Fix last todo-mode change
51118         5d4d8a3 Improve last todo-mode fix
51119         d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
51120         27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD.  (Bug#23...
51121         f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
51122         e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
51123         d308aa1 Minor grammar fix (bug#23746)
51124         20de667 Doc fixes for grammar and typos (bug#23746)
51125         a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
51126         27f440e Add cross-reference to ELisp manual
51127         10802d8 ; make change-history-commit
51128         4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
51129         12e009e Restore initial undo boundary with viper
51130         291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
51131         6921f4a Fix dbus crash on 32-bit Cygwin
51133 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
51135         Merge from origin/emacs-25
51137         9ae514a * etc/AUTHORS: Update the AUTHORS file
51138         3ca428e add entries to authors.el
51139         66d556b Fix eldoc-related freezes in python mode
51140         d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
51141         27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
51142         a813487 Fix undo boundary in recursive edit (Bug#23632)
51143         1f85b7c Doc fixes re alist-get.  (Bug#23548)
51144         ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
51145         56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
51146         4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
51147         a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
51148         601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.
51150 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
51152         * lisp/emacs-lisp/map.el (map-contains-key): Better docstring
51154 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
51156         Fix seq-contains
51158         Make sure seq-contains return the element of the sequence instead of t.
51160         * lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
51161         * test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
51163 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
51165         Add new function map-do
51167         * lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New
51168           functions.
51169         * test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do.
51171 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
51173         Add seq-do-indexed
51175         * lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
51176         * test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.
51178 2016-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
51180         map.el (map-merge*): Use `map-into' at beginning rather than end
51182         * lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map,
51183         and don't use of an intermediate alist.
51184         (map-merge-with): Same, plus use `cl-callf' to try and avoid performing
51185         3 lookups per inner iteration.
51187 2016-06-16  Mark Oteiza  <mvoteiza@udel.edu>
51189         * lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version.
51191 2016-06-15  Alan Mackenzie  <acm@muc.de>
51193         Speed up CC Mode's font locking by taking some code out of a hot loop.
51195         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove code which
51196         tests for bare declarators.
51197         (c-font-lock-cut-off-declarators): New function.
51198         (c-complex-decl-matchers): insert c-font-lock-cut-off-declarators.
51200 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
51202         Automatically find vars and functions via definition-prefixes
51204         * lisp/help-fns.el (help-definition-prefixes): New var and function.
51205         (help--loaded-p, help--load-prefixes, help--symbol-completion-table):
51206         New functions.
51207         (describe-function, describe-variable): Use them.
51209         * lisp/emacs-lisp/radix-tree.el (radix-tree--prefixes)
51210         (radix-tree-prefixes, radix-tree-from-map): New functions.
51212 2016-06-15  Michal Nazarewicz  <mina86@mina86.com>
51214         Automatically detect whether .h file is C or C++
51216         * lisp/progmodes/cc-mode.el (c-or-c++-mode): A new function which
51217         analyzes contents of the buffer to determine whether it looks like C++
51218         source code and based on that enables c-mode or c++-mode.
51219         (c-or-c++-mode--regexp): Regular expression which, when matches
51220         a buffer, signals file is C++.
51222 2016-06-15  Alan Mackenzie  <acm@muc.de>
51224         Parse compound identifiers in C++ member initialization lists.
51226         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): New function.
51227         (c-back-over-member-initializer-braces, c-back-over-list-of-member-inits)
51228         (c-back-over-member-initializers): Call c-back-over-compound-identifier rather
51229         than c-simple-skip-symbol-backward.
51231 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
51233         Advertize set-keymap-parent as replacement for copy-keymap
51235         * doc/lispref/keymaps.texi (Creating Keymaps):
51236         * src/keymap.c (Fcopy_keymap): Advertize set-keymap-parent as replacement.
51238 2016-06-15  Ted Zlatanov  <tzz@lifelogs.com>
51240         * lisp/generic-x.el (ansible-inventory-generic-mode): Warn if
51241         value is missing
51243 2016-06-15  Tim Chambers  <tbc@alum.mit.edu>  (tiny change)
51245         Add new ansible-inventory-generic-mode (Bug#23762)
51247         * lisp/generic-x.el (ansible-inventory-generic-mode): Add new mode.
51249 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
51251         Fix ifdef-vs-if typo with RANDR13_LIBRARY
51253         * src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
51254         This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
51255         https://lists.gnu.org/r/emacs-devel/2016-06/msg00198.html
51257 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
51259         Port to platforms where char * has top bit set
51261         This fixes a five-year-old FIXME comment.  Although I don’t know
51262         of a platform where this is a problem in practice, better safe
51263         than sorry.
51264         * src/doc.c (Fdocumentation): If SUBRP, simply use doc as integer,
51265         as it is now an integer, not char *.
51266         (store_function_docstring): Offset is now EMACS_INT, not ptrdiff_t;
51267         this is a file offset and EMACS_INT is better if --with-wide-int.
51268         If SUBRP, simply store the offset rather than negating it and
51269         converting it to char *.
51270         * src/lisp.h (struct Lisp_Subr.doc): Now EMACS_INT, not char *.
51272 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
51274         Remove recursion from store_function_docstring
51276         * src/doc.c (store_function_docstring):
51277         Refactor to avoid the need for C-level recursion.
51279 2016-06-14  Ken Brown  <kbrown@cornell.edu>
51281         Remove system-specific -I switch from Cygwin-w32 build
51283         Suggested by Eli Zaretskii in discussion of bug#18302.
51285         * src/image.c [HAVE_NTGUI]: Remove the unused macro
51286         PIXEL_ALREADY_TYPEDEFED.  On Cygwin, include "noX/xpm.h" instead of
51287         "X11/xpm.h".
51289         * configure.ac [CYGWIN && HAVE_W32]: Change the xpm test to use
51290         "noX/xpm.h".  Don't add a -I switch to CPPFLAGS.
51292 2016-06-14  Noam Postavsky  <npostavs@gmail.com>
51294         Make python.el work in Emacs 24
51296         * lisp/progmodes/python.el: Bump version.
51297         (python-define-auxiliary-skeleton): Only use format-message if
51298         fbound (Bug#23126).
51300 2016-06-13  Ken Brown  <kbrown@cornell.edu>
51302         Avoid compiler warning
51304         * src/w32fns.c (deliver_wm_chars): Add 'const' to declaration of
51305         'type_CtrlAlt'.
51307 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
51309         Call tzset after setting TZ
51311         * src/editfns.c (tzlookup): Call tzset after setting TZ, so that
51312         the setting change propagates into Emacs local time (Bug#23600).
51313         (emacs_setenv_TZ): Clarify comments.
51315 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
51317         Update texinfo.tex
51319         * doc/misc/texinfo.tex: Update from gnulib.
51321 2016-06-12  Paul Eggert  <eggert@cs.ucla.edu>
51323         New macro GNUC_PREREQ for GCC version
51325         * src/conf_post.h (GNUC_PREREQ): New macro.
51326         Change uses of __GNUC_MINOR__ and __GNUC_PATCHLEVEL__ to use this
51327         macro instead, for clarity and consistency.
51328         (PRINTF_ARCHETYPE): New macro.  Define it to __gnu_printf__ only
51329         if glibc, since non-GNU platforms don’t necessarily support GNU
51330         printf formats.
51331         (ATTRIBUTE_FORMAT_PRINTF): Use it.
51333 2016-06-12  Nicolas Petton  <nicolas@petton.fr>
51335         * lisp/emacs-lisp/seq.el (seq-drop): Better list implementation
51337 2016-06-12  Eli Zaretskii  <eliz@gnu.org>
51339         Fix printf-related compilation warnings on MinGW
51341         * src/conf_post.h (ATTRIBUTE_FORMAT_PRINTF) [__MINGW32__]: Use
51342         '__ms_printf__', not '__gnu_printf__', as the latter is not what
51343         MS 'printf' supports, and causes bogus compilation warnings.
51344         * src/lisp.h (pI) [__MINGW32__]: Define to "I64", as MS 'printf'
51345         doesn't support the "ll" modifier.
51347 2016-06-11  Paul Eggert  <eggert@cs.ucla.edu>
51349         emacs_strerror cleanups
51351         * src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h;
51352         no longer needed, now that emacs_strerror is declared by lisp.h.
51353         * src/coding.c (emacs_strerror): Remove; moved to emacs.c.
51354         * src/coding.h (emacs_strerror) [emacs]: Remove decl; moved
51355         to lisp.h.
51356         * src/emacs.c (emacs_strerror): Move here from coding.c.  Do not
51357         convert result string; this is now the caller’s responsibility,
51358         as some need conversion and others don’t.
51359         * src/fileio.c (report_file_errno, report_file_notify_error):
51360         Use emacs_strerror rather than rolling it ourselves.
51361         * src/lisp.h (emacs_strerror): Move decl here from coding.h.
51362         * src/lread.c (dir_warning): Just call emacs_strerror rather than
51363         both strerror and emacs_strerror.  Convert its result from
51364         locale-coding-system, since it no longer does that conversion.
51365         * src/sound.c (sound_perror):
51366         * src/sysdep.c (emacs_perror, str_collate):
51367         Use emacs_strerror, not strerror.
51369 2016-06-10  David Reitter  <david.reitter@gmail.com>
51371         Prevent compiler warning for unused arguments
51373         * lisp/international/ucs-normalize.el
51374         (ucs-normalize-hfs-nfd-pre-write-conversion):
51375         Prevent compiler warning for unused arguments, add coment.
51377 2016-06-10  Paul Eggert  <eggert@cs.ucla.edu>
51379         Catch malloc_get_state, malloc_set_state failure
51381         This should help insulate Emacs better from configuration screwups.
51382         Future versions of the GNU C library are planned to deprecate
51383         these functions, but will continue to support them in
51384         already-built-and-dumped Emacs executables.
51385         * src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
51386         Abort if malloc_set_state fails.
51387         (alloc_unexec_pre) [DOUG_LEA_MALLOC]:
51388         Report malloc_get_state failure, and exit.
51390 2016-06-10  Eli Zaretskii  <eliz@gnu.org>
51392         Show returned value after gdb-mi "finish" command
51394         * lisp/progmodes/gdb-mi.el (gdb-stopped): Display the expected
51395         "Value returned" message in response to "finish", when not
51396         produced by GDB/MI.  (Bug#23720)
51398 2016-06-10  David Reitter  <david.reitter@gmail.com>
51400         Simplify pre-write-conversion for utf-8-hfs coding system
51402         * lisp/international/ucs-normalize.el
51403         (ucs-normalize-hfs-nfd-pre-write-conversion): Refactor.
51405         May address an issue where Emacs consumed large amounts of CPU
51406         because of neverending toolbar updating (which was caused
51407         by, but also called this function).
51409 2016-06-09  Martin Rudalics  <rudalics@gmx.at>
51411         Revert "Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2"
51413         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
51414         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
51415         Monnier.  (Bug#19185, Bug#20398)
51417         This reverts commit 72166f2f3dba18f1217c666574032f5a0351ed65.
51419         That commit did more harm than good (Bug#23571).
51421 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
51423         Port __builtin_assume_aligned to Sun C 5.13
51425         * src/conf_post.h (__builtin_assume_aligned):
51426         Fix typo: the extra arg did not conform to C99.
51428 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
51430         Prefer getsockopt to getpeername on non-MS-Windows
51432         * admin/CPP-DEFINES: Remove HAVE_GETPEERNAME.
51433         * configure.ac: Don’t check for getpeername.
51434         * src/process.c (wait_reading_process_output) [!WINDOWSNT]:
51435         Use getsockopt even if not GNU/Linux, as the platforms where
51436         getsockopt used to hang are no doubt long dead.
51438 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
51440         Fix XFASTINT of non-fixnum in process status
51442         * src/process.c (decode_status): 3rd arg is now Lisp_Object *,
51443         not int *, and is not decoded.  All uses changed.
51444         (status_message): Do not assume ‘failed’ code is an integer.
51445         * src/process.h: Document codes better.
51447 2016-06-09  Glenn Morris  <rgm@gnu.org>
51449         Make messcompat.el obsolete.
51451         * lisp/obsolete/messcompat.el: Move here from lisp/gnus.
51452         * doc/misc/message.texi (Compatibility): Remove section.
51454 2016-06-09  Glenn Morris  <rgm@gnu.org>
51456         Leading "*" in the doc of defvars is long obsolete.
51458         * lisp/plstore.el (plstore-encrypt-to):
51459         * lisp/cedet/semantic/lex-spp.el
51460         (semantic-lex-spp-macro-max-length-to-save):
51461         * lisp/cedet/semantic/symref.el (semantic-symref-tool):
51462         * lisp/cedet/semantic/bovine/el.el
51463         (semantic-elisp-store-documentation-in-tag):
51464         * lisp/cedet/semantic/wisent/comp.el (wisent-verbose-flag)
51465         (wisent-expected-conflicts):
51466         * lisp/cedet/semantic/wisent/wisent.el (wisent-parse-verbose-flag):
51467         * lisp/gnus/gnus-agent.el (gnus-category-menu-hook):
51468         * lisp/gnus/gnus-group.el (gnus-group-listing-limit):
51469         * lisp/gnus/gnus-srvr.el (gnus-server-menu-hook)
51470         (gnus-browse-menu-hook):
51471         * lisp/gnus/message.el (message-shoot-gnksa-feet):
51472         * lisp/gnus/mm-decode.el (mm-path-name-rewrite-functions):
51473         * lisp/gnus/mm-util.el (mm-extra-numeric-entities):
51474         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
51475         * lisp/gnus/mml.el (mml-generate-multipart-alist):
51476         * lisp/gnus/nndraft.el (nndraft-required-headers):
51477         * lisp/gnus/nnheader.el (nnheader-max-head-length)
51478         (nnheader-head-chop-length, nnheader-file-name-translation-alist)
51479         (nnheader-directory-separator-character)
51480         (nnheader-pathname-coding-system):
51481         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system)
51482         (nnmail-active-file-coding-system):
51483         * lisp/gnus/nnrss.el (nnrss-file-coding-system):
51484         * lisp/gnus/nntp.el (nntp-record-commands):
51485         * lisp/gnus/score-mode.el (gnus-score-edit-done-hook)
51486         (gnus-score-mode-hook, gnus-score-menu-hook):
51487         * lisp/mail/rfc2047.el (rfc2047-header-encoding-alist)
51488         (rfc2047-allow-irregular-q-encoded-words)
51489         (rfc2047-allow-incomplete-encoded-text):
51490         * lisp/mh-e/mh-alias.el (mh-alias-system-aliases):
51491         * lisp/mh-e/mh-e.el (mh-mail-header-separator, mh-x-mailer-string):
51492         * lisp/mh-e/mh-scan.el (mh-scan-format-mh, mh-scan-format-nmh):
51493         * lisp/net/pop3.el (pop3-password):
51494         * lisp/play/animate.el (animate-n-steps):
51495         * lisp/progmodes/cc-vars.el (c-old-style-variable-behavior):
51496         Convert from defvar with leading * to defcustom.
51499         * lisp/emulation/viper-init.el (viper-heading-end):
51500         * lisp/gnus/mm-url.el (mm-url-html-entities):
51501         * lisp/gnus/nnmaildir.el (nnmaildir-article-file-name):
51502         * lisp/mh-e/mh-e.el (mh-invisible-header-fields-compiled):
51503         * lisp/net/tramp-adb.el (tramp-adb-method): Remove leading * from doc.
51505         * lisp/gnus/messcompat.el: Mark (pointless) file not for compilation.
51506         (message-from-style, message-interactive, message-indentation-spaces)
51507         (message-signature, message-signature-file):
51508         Remove settings that match the defaults.
51509         (message-setup-hook, message-mode-hook, message-default-headers)
51510         (message-send-hook, message-send-mail-function):
51511         Just use setq rather than redefining.
51513         * lisp/gnus/nnrss.el (nnrss):
51514         * lisp/mail/rfc2047.el (rfc2047):
51515         * lisp/play/animate.el (animate): New custom groups.
51517 2016-06-09  Glenn Morris  <rgm@gnu.org>
51519         Remove obsolete leading * from defcustom, defface doc strings.
51521         * lisp/cedet/ede/linux.el, lisp/cedet/ede/project-am.el:
51522         * lisp/cedet/ede/simple.el, lisp/cedet/semantic/bovine/c.el:
51523         * lisp/cedet/semantic/complete.el, lisp/cedet/semantic/db.el:
51524         * lisp/cedet/semantic/decorate/include.el:
51525         * lisp/cedet/semantic/decorate/mode.el, lisp/cedet/semantic/format.el:
51526         * lisp/cedet/semantic/ia.el, lisp/cedet/semantic/idle.el:
51527         * lisp/cedet/semantic/imenu.el, lisp/cedet/semantic/lex-spp.el:
51528         * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/sb.el:
51529         * lisp/cedet/srecode/fields.el, lisp/ecomplete.el:
51530         * lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
51531         * lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
51532         * lisp/gnus/gnus-cite.el, lisp/gnus/gnus-delay.el:
51533         * lisp/gnus/gnus-diary.el, lisp/gnus/gnus-dup.el:
51534         * lisp/gnus/gnus-fun.el, lisp/gnus/gnus-group.el:
51535         * lisp/gnus/gnus-kill.el, lisp/gnus/gnus-msg.el:
51536         * lisp/gnus/gnus-picon.el, lisp/gnus/gnus-salt.el:
51537         * lisp/gnus/gnus-score.el, lisp/gnus/gnus-start.el:
51538         * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
51539         * lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
51540         * lisp/gnus/gnus.el, lisp/gnus/mail-source.el, lisp/gnus/message.el:
51541         * lisp/gnus/mm-url.el, lisp/gnus/mm-uu.el, lisp/gnus/mml.el:
51542         * lisp/gnus/nndiary.el, lisp/gnus/nnir.el, lisp/gnus/nnmail.el:
51543         * lisp/gnus/smiley.el, lisp/gnus/smime.el, lisp/mail/mail-extr.el:
51544         * lisp/mh-e/mh-e.el, lisp/net/mailcap.el, lisp/net/pop3.el:
51545         * lisp/net/starttls.el, lisp/progmodes/cc-vars.el:
51546         * lisp/progmodes/cperl-mode.el, test/manual/cedet/tests/test.el:
51547         Remove obsolete leading * from defcustom, defface doc strings.
51549 2016-06-09  Eli Zaretskii  <eliz@gnu.org>
51551         Fix copying text properties by 'format'
51553         * src/editfns.c (styled_format): Fix copying text properties from
51554         the format specification to the produced string representation.
51555         (Bug#23730)
51556         (Fformat) Doc fix.
51558         * doc/lispref/strings.texi (Formatting Strings): Document that
51559         text properties from the format specifiers are also copied to the
51560         produced string.
51562 2016-06-09  Alan Mackenzie  <acm@muc.de>
51564         Handle C++ raw strings.
51566         * lisp/progmodes/cc-engine.el (c-raw-string-pos, c-depropertize-raw-string)
51567         (c-depropertize-raw-strings-in-region,
51568         c-before-change-check-raw-strings)
51569         (c-propertize-raw-string-opener, c-after-change-re-mark-raw-strings): New
51570         functions.
51572         * lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Insert a clause for
51573         c-font-lock-raw-strings.
51574         (c-font-lock-raw-strings): New function.
51576         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Insert
51577         c-before-change-check-raw-strings into the C++ value, and c-depropertize-CPP
51578         into the values for C, C++, and Objective C.
51579         (c-before-font-lock-functions): Insert c-after-change-re-mark-raw-strings into
51580         the C++ value.
51582         * lisp/progmodes/cc-mode.el (c-old-BEG, c-old-END): New variables.
51583         (c-depropertize-CPP): New function, extracted from
51584         c-neutralize-syntax-in-and-mark-CPP.
51585         (c-neutralize-syntax-in-and-mark-CPP): Remove the call to
51586         c-clear-char-property-with-value for 'syntax-table value '(1) at the beginning
51587         of the function.
51588         (c-after-change): Set c-old-BEG and c-old-END to the current values of
51589         c-new-BEG and c-new-END.
51591 2016-06-09  Daiki Ueno  <ueno@gnu.org>
51593         epg: don't use obsolete function
51595         * lisp/epg.el (epg-sign-string, epg-encrypt-string): Remove
51596         redundant configuration check, which is now done in
51597         `epg-make-context'.
51599 2016-06-09  Daiki Ueno  <ueno@gnu.org>
51601         epg: don't start pinentry if it is useless
51603         * lisp/epg.el (epg--start): Don't start pinentry server if the
51604         session is non-interactive or pinentry-mode is set.
51606 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
51608         Replace IF_LINT by NONVOLATILE and UNINIT
51610         Inspired by a suggestion from RMS in: https://bugs.gnu.org/23640#58
51611         * .dir-locals.el (c-mode): Adjust to macro changes.
51612         * src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640).
51613         (IF_LINT): Remove.  All uses replaced by the new macros.
51615 2016-06-08  Michal Nazarewicz  <mina86@mina86.com>
51617         Remove ‘ert-with-function-mocked’ macro in favor of ‘cl-letf’ macro
51619         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro
51620         in favor of ‘cl-letf’ macro which is more generic.  All existing
51621         uses are migrated accordingly.  The macro has not been included in
51622         an official release yet so it should be fine to delete it.
51624 2016-06-08  Glenn Morris  <rgm@gnu.org>
51626         * test/lisp/emacs-lisp/package-tests.el
51627         (package-test-update-archives-async): Try re-enabling on hydra.
51629 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
51631         * src/fileio.c (auto_save_error): Omit unused local.
51633 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
51635         Simplify overflow check via INT_SUBTRACT_WRAPV
51637         * src/editfns.c (check_tm_member): Simplify integer overflow check.
51639 2016-06-07  Glenn Morris  <rgm@gnu.org>
51641         Try to avoid hangs and stray procs in network-stream-tests.  (Bug#23560)
51643         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv4-wait)
51644         (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait):
51645         Ensure gnutls-serv process gets killed.
51646         (echo-server-nowait, connect-to-tls-ipv4-nowait):
51647         Limit the amount of time we might wait.
51649 2016-06-07  Glenn Morris  <rgm@gnu.org>
51651         Reduce allout.el's pollution of the namespace.
51653         * lisp/allout.el (allout-set-regexp): Rename from set-allout-regexp.
51654         Keep old name as obsolete alias.
51655         (allout-produce-mode-menubar-entries, allout-nullify-prefix-data)
51656         (allout-solicit-char-in-string)
51657         (allout-count-trailing-whitespace-region, allout-regexp-sans-escapes):
51658         Rename to add an "allout-" prefix.
51660 2016-06-07  Glenn Morris  <rgm@gnu.org>
51662         * configure.ac (emacs_config_features): Add CANNOT_DUMP.
51664 2016-06-07  Glenn Morris  <rgm@gnu.org>
51666         Misc small webjump updates.
51668         * lisp/net/webjump.el (webjump): Add custom group.
51669         (webjump-sample-sites): Make it a constant.
51670         Remove explicit, old list of GNU ftp mirrors.
51671         (webjump-state-to-postal-alist): Make it a constant.
51672         (webjump-sites): Make it a defcustom.
51673         (webjump-to-iwin): Update for changed remote service.
51675 2016-06-07  Glenn Morris  <rgm@gnu.org>
51677         Do not hard-code port for package test server.  (Bug#23708)
51679         * test/lisp/emacs-lisp/package-resources/package-test-server.py:
51680         Do not hard-code port.
51681         * test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async):
51682         Update for the above change.
51684 2016-06-07  Tino Calancha  <f92capac@gmail.com>
51686         * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (Bug#23617)
51688 2016-06-07  Glenn Morris  <rgm@gnu.org>
51690         * src/fileio.c (auto_save_error): Use display-warning.  (Bug#23703)
51692 2016-06-07  Tino Calancha  <f92capac@gmail.com>
51694         * lisp/ibuf-ext.el (ibuffer-do-shell-command-file):
51695         Fix non-file-visiting-buffer case.  (Bug#22678)
51697 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
51699         Port --enable-gcc-warnings to clang 3.7.0
51701         * configure.ac: Add -Wno-tautological-compare to avoid bogus
51702         warnings about 0 <= rlim.rlim_max.  Remove flags that no longer
51703         seem to be needed, at least in Fedora 23 x86-64.
51705 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
51707         Use __builtin_assume_aligned on untagged Lisp vals
51709         * src/conf_post.h (__has_builtin, __builtin_assume_aligned):
51710         New macros, for compilers not already defining them.
51711         (__has_builtin___builtin_assume_aligned): New macro.
51712         * src/lisp.h (lisp_h_XUNTAG): Use __builtin_assume_aligned.
51713         This shrinks text space by 0.2% on x86-64 with GCC 6.1.
51715 2016-06-07  Glenn Morris  <rgm@gnu.org>
51717         * lisp/help-fns.el (describe-function-1): Avoid reporting advised
51718         aliases as the type of their targets.
51720 2016-06-07  Tino Calancha  <f92capac@gmail.com>
51722         * lisp/simple.el (process-menu-mode, list-processes--refresh):
51723         Include PID.  (Bug#21725)
51725 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
51727         Merge from origin/emacs-25
51729         6e3adf8 Fix crash in syntax.c after GC
51730         973ce5a Improve squiggly heredoc support in non-SMIE Ruby mode
51731         9d5cceb Fix doc string quoting
51732         0b33a23 Fix mouse dragging of vertical dividers with scroll bars on l...
51733         a5d05f4 * etc/PROBLEMS: Mention the link-time problems on FreeBSD 11.
51735 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
51737         Merge from origin/emacs-25
51739         604f656 * test/automated/viper-tests.el (viper-test-undo-kmacro): Del...
51740         20eb531 * lisp/mail/footnote.el (footnote-mode): Fix doc typo.
51741         a7a2244 * doc/misc/smtpmail.texi (Encryption): Fix 2012-12-22 typo.
51742         07bd972 * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): Fix...
51744 2016-06-06  Paul Eggert  <eggert@cs.ucla.edu>
51746         Use standard Unicode names for Thai, Lao
51748         * lisp/language/lao-util.el, lisp/language/thai-util.el:
51749         Don’t override standard Unicode character name (Bug#23698).
51751 2016-06-06  Glenn Morris  <rgm@gnu.org>
51753         * lisp/man.el (Man-reference-regexp, Man-default-man-entry):
51754         Handle U+2010 hyphen at eol, as used when LANG=en_US.utf8.
51756 2016-06-06  Michael Albinus  <michael.albinus@gmx.de>
51758         Some fixes in filenotify-tests.el for cygwin
51760         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
51761         Reintroduce value for cygwin, it's needed on slow systems.
51762         (file-notify--wait-for-events): Move up definition.
51763         (file-notify--test-no-descriptors): Use `file-notify--wait-for-events'.
51764         (file-notify--test-with-events-check, file-notify--test-with-events)
51765         (file-notify-test08-watched-file-in-watched-dir):
51766         Use :random rather than `random.
51767         (file-notify-test06-many-events): Do not skip for cygwin.
51769 2016-06-05  Juri Linkov  <juri@linkov.net>
51771         * src/casefiddle.c (Fupcase_region): Add arg ‘region-noncontiguous-p’.
51773         If non-nil, operate on multiple chunks.  (Bug#23655)
51775         * src/search.c (Freplace_match): Use Qnil for new arg of Fupcase_region.
51777 2016-06-05  Juri Linkov  <juri@linkov.net>
51779         * lisp/wdired.el (wdired-next-line, wdired-previous-line): Add "^"
51781         to interactive spec to handle shift-selection.  (Bug#23642)
51783 2016-06-05  Michael Albinus  <michael.albinus@gmx.de>
51785         Improve robustness of filenotify-tests.el (Bug#23618)
51787         * test/lisp/filenotify-tests.el (file-notify--test-no-descriptors)
51788         (file-notify--test-no-descriptors-explainer)
51789         (file-notify--test-cleanup-p): New defuns.
51790         (file-notify--test-cleanup): Don't check for
51791         `file-notify--test-event' anymore, that's done in
51792         `file-notify--test-no-descriptors'.
51793         (file-notify--test-with-events-check)
51794         (file-notify--test-with-events): Handle the `random' marker.
51795         (file-notify--test-with-events-explainer): Improve readability.
51796         (file-notify-test00-availability)
51797         (file-notify-test01-add-watch, file-notify-test02-events)
51798         (file-notify-test03-autorevert)
51799         (file-notify-test04-file-validity)
51800         (file-notify-test05-dir-validity)
51801         (file-notify-test06-many-events, file-notify-test07-backup)
51802         (file-notify-test08-watched-file-in-watched-dir)
51803         (file-notify-test09-sufficient-resources): Check also
51804         `file-notify--test-cleanup-p'.
51805         (file-notify-test04-file-validity)
51806         (file-notify-test05-dir-validity): Use `ignore' as handler.
51807         (file-notify-test05-dir-validity)
51808         (file-notify-test06-many-events): Delete directory finally.
51809         (file-notify-test08-watched-file-in-watched-dir): Add `random' marker.
51811 2016-06-05  Stephen Berman  <stephen.berman@gmx.net>
51813         man.el: Fix links on hyphenated words (bug#23647)
51815         * lisp/man.el (Man-bgproc-sentinel): Make links work on
51816         hyphenated words.
51818 2016-06-05  K. Handa  <handa@gnu.org>
51820         Add category 'j' to more characters.
51822         * lisp/international/characters.el: Add category 'j' (Japanese)
51823         to characters in japanese-jisx0213.2004-1.
51825 2016-06-04  Tino Calancha  <f92capac@gmail.com>
51827         isearch-edit-string resumes multi isearches
51829         * lisp/isearch.el (with-isearch-suspended): Remember and restore
51830         multi-isearch variables.  (Bug#21663)
51832 2016-06-04  Eli Zaretskii  <eliz@gnu.org>
51834         Fix Eshell display when RTL characters are involved
51836         * lisp/eshell/esh-mode.el (eshell-mode): Set
51837         'bidi-paragraph-direction' to 'left-to-right'.  (Bug#23652)
51839 2016-06-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
51841         Make ses-jump with completing input.
51843         * lisp/ses.el (ses-jump): Make symbol input completing against list of
51844           named cells.
51846 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
51848         Port angle-bracket TZ settings to MS-Windows
51850         * doc/lispref/os.texi (Time Zone Rules): Document MS-Windows
51851         lack of support for numeric time zone abbreviations.
51852         * src/w32.c (sys_putenv): Convert angle-bracket TZ syntax
51853         to MS-compatible syntax if possible, and to "ZZZ" otherwise.
51854         Problem reported by Kazuhiro Ito (Bug#23600).
51856 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
51858         Avoid delving into Git internals for version
51860         * lisp/loadup.el (exec-path): Set it to nil later, so that
51861         emacs-repository-get-version can invoke git commands in the PATH.
51862         * lisp/version.el (emacs-repository--version-git-1): Remove.
51863         (emacs-repository-get-version): Let Git do it rather than
51864         delving into Git internals.
51866 2016-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
51868         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Expand less
51870 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
51872         Fix emacs-repository-get-version with packed .git
51874         * lisp/version.el (emacs-repository-get-version):
51875         Parse .git/packed-refs if it exists.
51876         Problem reported by Martin Rudalics in:
51877         https://lists.gnu.org/r/emacs-devel/2016-05/msg00554.html
51879 2016-06-01  Michael Albinus  <michael.albinus@gmx.de>
51881         Minor change in tramp.texi
51883         * doc/misc/tramp.texi (Password handling): Do not discuss
51884         anymore how to get password-cache.el.  It is bundled with
51885         Emacs.
51887 2016-06-01  Alan Mackenzie  <acm@muc.de>
51889         Correct fontification and indentation of C++'s "constexpr" expressions
51891         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "constexpr".
51892         (c-modifier-kwds): Add "constexpr".
51894 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
51896         Cosmetic change to kinsoku-eol.  (tiny change)
51898         * lisp/international/kinsoku.el (kinsoku-eol): Make the
51899         order of characters match with the comments.
51901 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
51903         Add HIRAGANA ITERATION MARK to japanese-kana-table.  (tiny change)
51905         * lisp/language/japan-util.el (japanese-kana-table): Add an
51906         entry for HIRAGANA ITERATION MARK (U+309D).
51907         (japanese-alpha-numeric-table): Fix docstring.
51909 2016-05-31  K. Handa  <handa@gnu.org>
51911         Fix incomplete handling of translation table in a coding system.
51913         * src/coding.c (get_translation): New arg NCHARS.  Even if TRANS
51914         is an alist, return a character or a vector of character.
51915         (produce_chars): Adjust for the above change.
51916         (consume_chars): Likewise.
51918 2016-05-31  Michael Albinus  <michael.albinus@gmx.de>
51920         Improve robustness for out-of-band copy in Tramp
51922         * lisp/net/tramp-adb.el (tramp-adb-execute-adb-command)
51923         * lisp/net/tramp-cmds.el (tramp-append-tramp-buffers)
51924         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
51925         Cosmetic changes.
51927         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
51928         Use local `default-directory'.  Simplify command to send.
51929         Don't check return code, this was already done in
51930         `tramp-process-actions'.
51931         (tramp-get-inline-coding): Don't set `default-directory'.
51933         * lisp/net/tramp.el (tramp-action-out-of-band):
51934         Throw `out-of-band-failed'.
51935         (tramp-process-actions): Handle `out-of-band-failed'.
51936         (tramp-call-process, tramp-call-process-region):
51937         Use local `default-directory'.
51939 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
51941         Merge from origin/emacs-25
51943         788c9b6 ; Spelling fix
51944         25c4a30 * lisp/recentf.el (recentf-dialog-mode-map): Remove follow-li...
51945         0992ec3 Correct cl-flet usage (Bug#22317)
51946         50caae3 Release MH-E manual version 8.6
51947         602bb40 Update MH-E's documentation about HTML renderers
51948         89018f0 Fx the we->the typo
51949         845ee57 Restore frames into the current display by default
51950         ee28b4c * lisp/recentf.el (recentf-open-files-item): Quick fix for (b...
51951         01c3cd1 etc/TODO: Remove out-of-place issue
51952         5e18486 Clarify doc string of 'file-name-sans-extension'
51953         bffda22 Fix the MSDOS build
51954         f907f98 * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Ca...
51955         1a2ffd0 * src/dired.c (Ffile_name_all_completions): Doc fix.  (Bug#23...
51956         f7ffc4b Fix infloop in 'number-sequence'
51957         4ab2673 ; Spelling and punctuation fixes in comments
51958         71c152e * lisp/emacs-lisp/find-func.el (find-function-library):
51960 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
51962         * lisp/emacs-lisp/autoload.el: Use radix-tree.
51964          (autoload--make-defs-autoload): Rewrite.
51965         (autoload--split-prefixes-1): Remove.
51966         (autoload-def-prefixes-max-entries): Rename from
51967         autoload-defs-autoload-max-size.
51968         (autoload-popular-prefixes): Remove.
51969         (autoload-def-prefixes-max-length): New const.
51971         * lisp/emacs-lisp/radix-tree.el: New file.
51973 2016-05-30  Ken Brown  <kbrown@cornell.edu>
51975         * src/conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Increase.
51977 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
51979         Omit IF_LINT code that no longer seems needed
51981         Nowadays GCC is smarter, or the Emacs code has mutated, or both,
51982         and now is as good a time as any to remove uses of IF_LINT that
51983         now seem to be unnecessary.
51984         * lib-src/emacsclient.c (set_local_socket):
51985         * lib-src/movemail.c (main) [MAIL_USE_MAILLOCK && HAVE_TOUCHLOCK]:
51986         * src/buffer.c (fix_start_end_in_overlays, fix_overlays_before):
51987         * src/casefiddle.c (casify_region):
51988         * src/charset.c (load_charset_map):
51989         * src/coding.c (decode_coding_object, encode_coding_object):
51990         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable)
51991         (cons_to_unsigned, cons_to_signed):
51992         * src/frame.c (make_frame, x_set_frame_parameters):
51993         * src/keyboard.c (read_event_from_main_queue):
51994         * src/regex.c (regex_compile):
51995         * src/syntax.c (back_comment):
51996         * src/window.c (Frecenter):
51997         * src/xfaces.c (Fx_list_fonts):
51998         Remove IF_LINT that no longer seems necessary.
51999         * src/image.c (png_load_body, jpeg_load_body): Simplify use of IF_LINT.
52000         * src/keyboard.c (read_char): Use IF_LINT (volatile) rather than
52001         a pragma dance to pacify GCC -Wclobbered.
52002         * src/xdisp.c (x_produce_glyphs): Rewrite to avoid need for IF_LINT.
52004         * src/xterm.c (x_connection_closed): Now _Noreturn, which should
52005         mean we do not need IF_LINT any more.
52006         (x_io_error_quitter): Now _Noreturn.  Put an 'assume (false)’
52007         at the end, to forestall warnings from older compilers.
52009 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
52011         Port --enable-gcc-warnings to Cygwin, FreeBSD
52013         These platforms have a bug where _Noreturn is empty when 'lint' is
52014         defined.  Problem reported by Ken Brown (Bug#23640).
52015         * configure.ac (GCC_LINT): Rename from 'lint'.
52016         * src/conf_post.h (IF_LINT): Use GCC_LINT, not just 'lint’.
52018 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
52020         Update from gnulib
52022         This incorporates:
52023         2016-05-30 Use GCC_LINT, not lint
52024         2016-05-29 secure_getenv: Port to many more platforms.
52025         * doc/misc/texinfo.tex, lib/secure_getenv.c, lib/verify.h:
52026         * m4/secure_getenv.m4: Copy from gnulib.
52028 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
52030         * lisp/emacs-lisp/pcase.el: Undo last change's spurious changes
52032         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Add `atom'.
52034 2016-05-30  Ken Brown  <kbrown@cornell.edu>
52036         * src/regex.c (IF_LINT): Remove; it’s in conf_post.h
52038 2016-05-30  Michael Albinus  <michael.albinus@gmx.de>
52040         Fix Bug#23631 for Tramp
52042         * lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions)
52043         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions)
52044         * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
52045         Fix caching problems.
52047         * lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions): Simplify.
52049         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
52050         Move duplicate deletion ...
52051         (tramp-smb-handle-file-name-all-completions): ... here.
52053         * lisp/net/tramp.el (tramp-handle-file-name-completion):
52054         Handle `completion-ignored-extensions'.  (Bug#23631)
52056         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
52057         Test also `completion-regexp-list' and `completion-ignored-extensions'.
52059 2016-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
52061         * lisp/wid-edit.el (link): Remove :follow-link property (bug#22434)
52063         * lisp/recentf.el (recentf-dialog-mode-map): Remove unecessary mapping.
52065 2016-05-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52067         Fix up remainder of the mml property change
52069         * lisp/gnus/message.el (message-send-mail): Use the renamed
52070         mml-buffer-substring-no-properties-except-some function.
52071         (message-send-news): Ditto.
52073 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
52075         Allow preserving EXIF rotations when sending HTML messages
52077         * lisp/gnus/mml.el (mml--possibly-alter-image): Allow image
52078         rotation if you have exiftool installed and the image format
52079         supports it.
52080         (mml-expand-html-into-multipart-related): Use it.
52081         (mml-buffer-substring-no-properties-except-some): Renamed and
52082         copy display properties, too.
52084 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
52086         Make message-toggle-image-thumbnails work better
52088         * lisp/gnus/message.el (message-toggle-image-thumbnails): Use
52089         `insert-image' instead of `put-image' to make it possible to
52090         edit the resulting text in a sensible manner.
52092 2016-05-29  Alan Mackenzie  <acm@muc.de>
52094         Rationalize the use of c-new-BEG and c-new-END in CC Mode.
52096         Remove the now redundant c-old-BOM and c-old-EOM.
52098         * lisp/progmodes/cc-engine.el (c-macro-cache-syntactic): Change and simplify
52099         meaning.
52100         (c-macro-cache-no-comment): New variable.
52101         (c-invalidate-macro-cache, c-beginning-of-macro, c-end-of-macro): incorporate
52102         the new c-macro-cache-no-comment.
52103         (c-syntactic-end-of-macro): Make better use of c-macro-cache-syntactic.
52104         (c-no-comment-end-of-macro): New function.
52106         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
52107         c-extend-font-lock-region-for-macros to C/C++/ObjC value.
52109         * lisp/progmodes/cc-mode.el (c-old-BOM, c-old-EOM): Remove.
52110         (c-extend-region-for-CPP): Put results in c-new-BEG/END rather than
52111         c-old-BOM/EOM.
52112         (c-extend-font-lock-region-for-macros): Simplify meaning, no longer returning
52113         a cons for the new region, since the function is now called as an after-change
52114         function.  No longer adjust c-new-END for the length of inserted/deleted
52115         text.  Move the size restrictions on macros to here from
52116         c-neutralize-syntax-in-and-mark-CPP.
52117         (c-neutralize-syntax-in-and-mark-CPP): No longer adjust c-new-BEG/END here.
52118         Use c-no-comment-end-of-macro rather than c-syntactic-end-of-macro to find the
52119         upper boundary to "neutralize" syntactically obtrusive characters.
52120         (c-change-expand-fl-region): Don't set c-new-END to next BOL when already at
52121         one.
52123 2016-05-28  Ken Brown  <kbrown@cornell.edu>
52125         Avoid compiler warnings
52127         * src/cygw32.c (chdir_to_default_directory): Use "void" as
52128         argument list.  Use SSDATA instead of SDATA.
52130         * src/unexcw.c (fixup_executable): Use %td as format specifier for
52131         argument of type ptrdiff_t.  Use %zu for argument of type size_t.
52133 2016-05-28  Eli Zaretskii  <eliz@gnu.org>
52135         Fix 'next-line' and 'previous-line' during keyboard macro
52137         * lisp/simple.el (line-move-visual): Handle the case when point
52138         moves outside of the visible portion of the buffer while executing
52139         a keyboard macro.  (Bug#13452)  (Bug#23551)  (Bug#23555)
52141 2016-05-28  Alan Mackenzie  <acm@muc.de>
52143         C++ Mode: attribute in class declaration fouls up indentation.  Fix!
52145         * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Add code to skip
52146         back over noise clauses and attribute clauses.
52148         * lisp/progmodes/cc-langs.el (c-paren-nontype-key): New language variable.
52150 2016-05-28  Ken Olum  <kdo@cosmos.phy.tufts.edu>
52152         Prevent locked-file errors in Rmail
52154         * lisp/mail/rmail.el (rmail-get-new-mail-1): Lock file before
52155         calling 'rmail-insert-inbox-text'.  Unlock if
52156         'rmail-insert-inbox-text' doesn't modify buffer.
52157         (rmail-insert-inbox-text): Remove lock-checking code.  (Bug#17706)
52159 2016-05-28  Michael Albinus  <michael.albinus@gmx.de>
52161         Sync with Tramp repository.
52163         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
52164         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process)
52165         * lisp/net/tramp-smb.el (tramp-smb-handle-start-file-process):
52166         Create BUFFER if it doesn't exist.  Reported by Nikolay
52167         Kudryavtsev <nikolay.kudryavtsev@gmail.com>.
52169         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
52170         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp)
52171         (tramp-gvfs-file-attributes-with-gvfs-info-regexp): New defconst.
52172         (tramp-gvfs-get-directory-attributes)
52173         (tramp-gvfs-get-root-attributes)
52174         (tramp-gvfs-get-file-attributes): New defun.
52175         (tramp-gvfs-handle-file-attributes)
52176         (tramp-gvfs-handle-file-name-all-completions): Use them.
52177         (tramp-gvfs-handle-file-directory-p): Use `file-truename'.
52178         (tramp-gvfs-maybe-open-connection): Set :noquery flag for process.
52179         (tramp-gvfs-send-command): Add locale settings to `process-environment'.
52180         (top): Suppress D-Bus error messages during zeroconf initialization.
52182         * lisp/net/tramp.el (tramp-unknown-id-string)
52183         (tramp-unknown-id-integer): New defconst.
52184         (tramp-check-cached-permissions)
52185         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes)
52186         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
52187         (tramp-convert-file-attributes, tramp-get-remote-uid)
52188         (tramp-get-remote-gid): Use them.
52190         * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
52191         Rename from `tramp-color-escape-sequence-regexp'.
52192         (tramp-sh-handle-insert-directory)
52193         (tramp-convert-file-attributes): Adapt callees.
52194         (tramp-device-escape-sequence-regexp): New defconst.
52195         (tramp-wait-for-output): Use it.  Reported by Matthías Páll
52196         Gissurarson <icetritlo@gmail.com>.
52198         * lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
52199         Simplify.
52201         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
52202         (tramp-test28-shell-command):
52203         Use `tramp-display-escape-sequence-regexp'.
52205 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
52207         Don’t document declare-function internals
52209         Suggested by Stefan Monnier in:
52210         https://lists.gnu.org/r/emacs-devel/2016-05/msg00618.html
52211         * doc/lispref/functions.texi (Declaring Functions):
52212         * lisp/subr.el (declare-function):
52213         * lisp/emacs-lisp/bytecomp.el:
52214         (byte-compile-macroexpand-declare-function):
52215         Document as (fn file &optional arglist fileonly)
52216         even though it is really (fn file &rest args).
52218 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
52220         * src/puresize.h (BASE_PURESIZE): Increase it some more.
52222 2016-05-27  Glenn Morris  <rgm@gnu.org>
52224         * src/puresize.h (BASE_PURESIZE): Increase it by a little bit.
52226         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Tweak previous to
52227         avoid build failure.
52229 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
52231         Port to platforms where rlim_max < 0
52233         * src/emacs.c (main): Do not treat a negative rlim_max as a limit;
52234         this can happen if a special value like RLIM_INFINITY is negative.
52236 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
52238         Robustify stack-size calculation
52240         * src/emacs.c: Include getpagesize.h.
52241         (main): Check for integer overflow when computing stack size.
52242         Round new rlim_cur to pagesize boundary on all platforms, as this
52243         is easy and would have prevented Bug#23622.  If setrlimit
52244         fails, use current limit to determine re_max_failures.
52246 2016-05-27  Ken Brown  <kbrown@cornell.edu>
52248         Adjust filenotify-tests on Cygwin
52250         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
52251         Remove special case for Cygwin.
52252         (file-notify-test07-backup): Update expected results on Cygwin.
52254 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
52256         Improve define-function omitted-arg documentation
52258         * doc/lispref/functions.texi (Declaring Functions):
52259         * lisp/subr.el (declare-function):
52260         Be clearer when documenting omitted args for define-function.
52262 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
52264         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add docstring to accessors.
52266 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
52268         * lisp/subr.el (definition-prefixes): Expand docstring
52270         * lisp/emacs-lisp/autoload.el (autoload--split-prefixes):
52271         Remove unused function.
52273 2016-05-27  Phillip Lord  <phillip.lord@russet.org.uk>
52275         Fix broken viper deactivation
52277         * lisp/emulation/viper.el (viper--deactivate-advice-list): Destructure
52278           args to advice-remove.
52279           (viper--advice-add): Use cons not list.
52281         Addresses bug#23625
52283 2016-05-27  Mark Oteiza  <mvoteiza@udel.edu>
52285         Preserve buffer point in windows by default (Bug#4041).
52287         * doc/lispref/windows.texi: Mention new default.
52288         * etc/NEWS: Mention new default.
52289         * lisp/window.el (switch-to-buffer-preserve-window-point): Default to t.
52291 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
52293         Fix byte-compiler pacification for declare-function
52295         Problem reported by Michael Heerdegen in:
52296         https://lists.gnu.org/r/emacs-devel/2016-05/msg00590.html
52297         * lisp/emacs-lisp/bytecomp.el:
52298         (byte-compile-macroexpand-declare-function):
52299         Revert signature to previous value.
52300         * lisp/subr.el (declare-function): Change signature to
52301         match the reverted signature used in the byte compiler.
52303 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
52305         Update texinfo.tex
52307         This fixes Bug#23611 in a different (and presumably better) way.
52308         * doc/misc/texinfo.tex: Update from gnulib.
52310 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
52312         Pacify 'make check-declare'
52314 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
52316         Repair damage from emacs-25 merge
52318         * test/lisp/character-fold-tests.el:
52319         Remove, as it was renamed to test/lisp/char-fold-tests.el.
52320         * test/lisp/emulation/viper-tests.el:
52321         Rename from test/automated/viper-tests.el.
52323 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
52325         Merge from origin/emacs-25
52327         c3489d0 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w3...
52328         a4d882c Correct old cell name unbinding when renaming cell.
52329         6c12c53 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
52330         0be6725 Document problem: slow screen refresh on missing font.
52331         853b9b9 * admin/admin.el (add-release-logs): Basic check of existing ...
52332         5fa80cf * build-aux/gitlog-to-emacslog: Handle empty generated Change...
52333         3c79e51 * admin/admin.el (add-release-logs): Generate ChangeLog if ne...
52334         42275df * doc/misc/texinfo.tex: Revert previous change (Bug#23611).
52335         3f4a9d9 * admin/authors.el (authors): First update the ChangeLog.
52336         897fb6f ; 'Changes from the pre-25.1 API' copyedits
52337         825ca25 Rename vc-stay-local back to vc-cvs-stay-local
52338         4efb3e8 * doc/emacs/files.texi (Comparing Files): * doc/emacs/trouble...
52339         b995d1e * doc/misc/eww.texi (Advanced): Fix xref.
52340         2e589c0 Fix cross-references between manuals
52341         f3d2ded * doc/misc/vhdl-mode.texi (Sample Init File): Rename node to ...
52342         906c810 ; * admin/release-process: Move etc/HISTORY from here... ; * ...
52343         bea1b65 * admin/admin.el (add-release-logs): Also update etc/HISTORY.
52344         503e752 ; * CONTRIBUTE: Fix a typo.
52345         fbfd478 Avoid aborting due to errors in arguments of 'set-face-attrib...
52346         bdfbe6d ; * admin/release-process: Copyedits.
52347         44a6aed ; * test/automated/data-tests.el: Standardize license notice.
52348         c33ed39 ; * test/automated/viper-tests.el: Standardize license notice.
52349         df4a14b Add automated test for viper-tests.el
52350         c0139e3 Fix viper undo breakage from undo-boundary changes
52351         920d76c Fix reference to obsolete fn ps-eval-switch
52352         18a9bc1 Do not trash symlinks to init file
52353         2671179 Don't print the "decomposition" line for control chars in wha...
52354         869092c Bring back xterm pasting with middle mouse
52355         5ab0830 Provide workaround for xftfont rendering problem
52356         c9f7ec7 * lisp/desktop.el: Disable restore frameset if in non-graphic...
52357         30989a0 Mention GTK+ problems in etc/PROBLEMS
52358         421e3c4 * lisp/emacs-lisp/package.el (package-refresh-contents):
52359         dadfc30 Revert "epg: Add a way to detect gpg1 executable for tests"
52360         e41a5cb Avoid errors with Czech and Slovak input methods
52361         d4ae6d7 epg: Add a way to detect gpg1 executable for tests
52362         ebc3a94 * lisp/emacs-lisp/package.el: Fix free variable warnings.
52363         6e71295 * lisp/emacs-lisp/package.el (package--with-response-buffer):
52364         c45d9f6 Improve documentation of 'server-name'
52365         3b5e38c Modernize ASLR advice in etc/PROBLEMS
52366         1fe1e0a * lisp/char-fold.el: Rename from character-fold.el.
52368 2016-05-26  Eli Zaretskii  <eliz@gnu.org>
52370         Avoid byte-compiler warnings due to 'declare-function'
52372         * lisp/w32-fns.el (set-message-beep, w32-get-locale-info)
52373         (w32-get-valid-locale-ids):
52374         * lisp/progmodes/js.el (ido-mode): Specify arglist in
52375         'declare-function' forms, to avoid byte-compiler warnings.
52377 2016-05-26  Glenn Morris  <rgm@gnu.org>
52379         * lisp/info.el (Info-default-directory-list): Don't check /share,info.
52381         No-one puts info pages there.  If /share does exist, it's likely to
52382         contain remote file systems where access could be slow.
52384 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
52386         Merge from origin/emacs-25
52388         2d76405 etc/AUTHORS: Update the AUTHORS file
52390 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
52392         Merge from origin/emacs-25
52394         06cb28f Fix bug#23462: Crash when iconifying frame on OS X.
52396 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
52398         Merge from origin/emacs-25
52400         939eb75 Fix bug in default setting of 'ps-paper-type'
52402 2016-05-26  Glenn Morris  <rgm@gnu.org>
52404         * lisp/info.el (Info-default-directory-list): Remove obsolete suffixes.
52406 2016-05-26  Michael Albinus  <michael.albinus@gmx.de>
52408         Fix Bug#23614.
52410         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
52411         Let-bind `process-coding-system-alist' in order to suppress
52412         the value for "cmdproxy".
52414         * lisp/net/tramp.el (tramp-encoding-shell):
52415         `w32-shell-name' is a function.
52416         (tramp-encoding-command-switch)
52417         (tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'.
52419         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
52420         Suppress some tests on MS Windows.  (Bug#23614)
52422 2016-05-26  Stephen Berman  <stephen.berman@gmx.net>
52424         hl-line.el: Fix flickering of highlighted line (bug#23510)
52426         * lisp/hl-line.el (hl-line-maybe-unhighlight)
52427         (global-hl-line-highlight-all)
52428         (global-hl-line-maybe-unhighlight): New functions.
52429         (hl-line-overlay-buffer): New variable.
52430         (hl-line-mode): Use it.  Replace hl-line-unhighlight on
52431         pre-command-hook by hl-line-maybe-unhighlight on
52432         post-command-hook, to prevent hl-line from flickering.
52433         Adjust document string.
52434         (global-hl-line-mode): Use global-hl-line-highlight-all to
52435         simultaneously highlight the current line in all live windows.
52436         Replace global-hl-line-unhighlight on pre-command-hook by
52437         global-hl-line-maybe-unhighlight on post-command-hook, to
52438         prevent global-hl-line from flickering.  Remove
52439         global-hl-line-unhighlight from change-major-mode-hook on
52440         disabling the mode.  Adjust document string.
52442 2016-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
52444         Make autoloads populate a new definition-prefixes table
52446         * lisp/subr.el (definition-prefixes): New hash table.
52447         (register-definition-prefixes): New function.
52449         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): New var.
52450         (autoload--split-prefixes-1, autoload--split-prefixes)
52451         (autoload--make-defs-autoload): New functions.
52452         (autoload-defs-autoload-max-size, autoload-popular-prefixes): New vars.
52453         (autoload-generate-file-autoloads): Obey autoload-compute-prefixes.
52454         (update-directory-autoloads): Don't touch loaddefs.el if the set of
52455         autoloads hasn't changed (i.e. if only the timestamp would change).
52457         * lisp/loadup.el: Purify definition-prefixes.
52459         * lisp/w32-fns.el: Keep name space clean.
52460         (w32-set-default-process-coding-system): Rename from
52461         set-default-process-coding-system.
52462         (w32-set-system-coding-system): Rename from set-w32-system-coding-system.
52464 2016-05-24  Ken Brown  <kbrown@cornell.edu>
52466         Allow network-stream-tests to work for out-of-tree builds
52468         * test/lisp/net/network-stream-tests.el
52469         (network-stream-tests--datadir): New defconst.
52470         (make-tls-server): Use it.
52472 2016-05-24  Ken Brown  <kbrown@cornell.edu>
52474         Fix failing echo-server-nowait test
52476         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
52477         Specify IPv4 for the client, to match the family of the server.
52478         (Bug#23606)
52480 2016-05-24  Ken Brown  <kbrown@cornell.edu>
52482         Allow shr-tests to work for out-of-tree builds
52484         * test/lisp/net/shr-tests.el (shr-tests--datadir): New defconst.
52485         (shr-test, rendering): Use it.
52487 2016-05-24  Ken Brown  <kbrown@cornell.edu>
52489         Update allowable arguments for open-network-stream
52491         * src/coding.c (Ffind_operation_coding_system): Allow t as a
52492         target for open-network-stream.  (Bug #23540)
52494 2016-05-24  Dmitry Gutov  <dgutov@yandex.ru>
52496         Make js-mode's syntax highlighting work again
52498         * lisp/progmodes/js.el (js-mode): Fix the assigned
52499         font-lock-defaults value (bug#23603).
52501 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
52503         * lisp/progmodes/cc-mode.el: Add minor comments
52505         (c-change-expand-fl-region): Mark args as unused.
52507 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
52509         * lisp/url/url-http.el: Use lexical-binding
52511         (url-http-simple-after-change-function): Use buffer-size rather than `nd'.
52512         (url-http-wait-for-headers-change-function): Remove unused var
52513         `content-length'.
52514         (url-http): Remove unused vars `host' and `port'.
52516 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
52518         * lisp/widget.el (define-widget): Use `declare' (which does work now).
52520         (widget-plist-member): Mark as obsolete.
52522 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
52524         * lisp/image.el: Use lexical-binding
52526         (image-scaling-factor, imagemagick-types-inhibit)
52527         (imagemagick-enabled-types): Remove redundant :group.
52528         (image--get-image): Apply de-Morgan and use car-safe.
52529         (image-compute-scaling-factor): Use the argument.
52531 2016-05-23  Glenn Morris  <rgm@gnu.org>
52533         * lisp/image.el (image--get-image): Remove nonsensical code.
52535         * lisp/image.el (image--get-image): Avoid requiring a library for
52536         one trivial operation.
52538 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
52540         Don’t use only last protocol from getaddrinfo
52542         Problem reported by Ken Brown in:
52543         https://lists.gnu.org/r/emacs-devel/2016-05/msg00483.html
52544         * src/process.c (conv_addrinfo_to_lisp): New function.
52545         (connect_network_socket): Arg is now a list of addrinfos, not
52546         merely IP addresses.  All uses changed.  Use protocol from
52547         each addrinfo.
52548         (Fmake_network_process): Accumulate protocols into addrinfos
52549         rather than just using the last one found.
52550         (check_for_dns): Accumulate protocols here, too.
52551         * src/process.h (struct Lisp_Process): Remove ai_protocol;
52552         no longer needed.
52554 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
52556         Fix seq requirement that broke bootstrap
52558         * lisp/image.el (image--get-image): Require seq here, not at the
52559         top level, to avoid ‘(require seq) while preparing to dump’ while
52560         bootstrapping.  Suggested by Tino Calancha in:
52561         https://lists.gnu.org/r/emacs-devel/2016-05/msg00477.html
52563 2016-05-22  Nicolas Petton  <nicolas@petton.fr>
52565         Add missing dependencies to seq.el
52567         * lisp/emacs-lisp/find-func.el:
52568         * lisp/ibuffer.el:
52569         * lisp/image.el: Require seq.
52571 2016-05-22  Alp Aker  <alp@food52.com>
52573         * src/process.c (SOCK_NONBLOCK): Fix typo.
52575 2016-05-22  Etienne Prud’homme  <e.e.f.prudhomme@gmail.com>
52577         Add completion of colors in CSS mode
52579         * lisp/textmodes/css-mode.el (css-value-class-alist): Add CSS colors
52580         from "CSS Color Module Level 3".
52582         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
52583         Update test.
52585 2016-05-21  Paul Eggert  <eggert@cs.ucla.edu>
52587         Prefer SOCK_NONBLOCK to O_NONBLOCK
52589         * src/process.c (SOCK_NONBLOCK): Define to 0 if not already defined.
52590         (connect_network_socket): Create the socket with SOCK_NONBLOCK, to
52591         avoid an fcntl with O_NONBLOCK if SOCK_NONBLOCK works.  Put the
52592         SOCK_DGRAM check a bit later, to keep the logic cleaner, as
52593         the order does not matter here.
52595 2016-05-21  Alan Third  <alan@idiocy.org>
52597         Fix bug#16856, cursor leaves garbage in fringe on OS X.
52599         * src/nsterm.m (ns_draw_window_cursor): Prevent the cursor from
52600         being drawn outside the text area.
52602 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
52604         Fix compiler warnings in the MinGW build
52606         * configure.ac [mingw32]: Don't add -Wpointer-sign, and add
52607         -Wno-pointer-sign, to keep the noise level down.
52609         * nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable
52610         -Wredundant-decls, as that produces a lot of noise due to
52611         redeclaration of time-related functions by gnulib.
52612         * nt/runemacs.c (set_user_model_id): Fix argument type of
52613         'SetCurrentProcessExplicitAppUserModelID'.
52615         * src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't
52616         declare 'dpyinfo', as it is unused.
52617         (xpm_load): Fix warnings about pointer signedness.
52618         * src/w32proc.c (IsValidLocale, init_winsock): Remove redundant
52619         prototypes.
52620         (sys_spawnve): Avoid warnings about discarding 'const' qualifier.
52621         (sys_select): Provide prototype.
52622         (g_b_init_compare_string_w): Move declaration to file scope.
52623         * src/w32heap.c (dumped_data_commit): Now static.
52624         (FREEABLE_P): Avoid warnings about pointer comparison with integer.
52625         (mmap_realloc): Cast to 'char *' for arithmetics on void pointers.
52626         * src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr)
52627         (evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear):
52628         Provide prototypes.
52629         * src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove
52630         redundant prototypes.
52631         (w32_get_internal_run_time, map_w32_filename): Provide prototype.
52632         (init_environment, sys_ctime): Avoid warnings about discarding
52633         'const' qualifier.
52634         Include utimens.h.
52635         (sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir)
52636         (sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock)
52637         (sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide
52638         prototypes.
52639         (sys_rename_replace): Use %d to avoid compiler warnings.
52640         (_wsa_errlist): Make the message text 'const char *', to avoid
52641         compilation warnings.
52642         (dynlib_reset_last_error): Move prototype to file scope.
52643         (w32_get_resource): First argument is now 'const char *'.
52644         * src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype.
52645         (otf_features): Second argument is no 'const char *'.
52646         * src/w32term.c (free_frame_menubar, x_wm_set_size_hint)
52647         (x_set_window_size): Remove redundant prototypes.
52648         (XChangeGC, XGetGCValues, w32_draw_underwave)
52649         (w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave)
52650         (x_calc_absolute_position, x_destroy_window): Now static.
52651         (menubar_selection_callback): Move prototype to file scope.
52652         * src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant
52653         declaration.
52654         (w32_to_x_charset): Fix warnings about discarding 'const' qualifier.
52655         (w32font_full_name): Fix warnings about implicit conversion of
52656         'float' to 'double'.
52657         * src/w32reg.c (w32_get_rdb_resource): Fix warnings about
52658         discarding 'const' qualifier.
52659         * src/w32menu.c (syms_of_w32menu, globals_of_w32menu)
52660         (set_frame_menubar): Remove redundant prototypes.
52661         (menubar_selection_callback, w32_menu_display_help): Provide
52662         prototypes.
52663         (simple_dialog_show): Avoid warnings about discarding 'const'
52664         qualifier.
52665         * src/w32fns.c (syms_of_w32fns, globals_of_w32fns)
52666         (free_frame_menubar, w32_strerror, x_set_menu_bar_lines)
52667         (x_set_tool_bar_lines, x_set_internal_border_width): Remove
52668         redundant prototypes.
52669         (current_popup_menu): Remove redundant declaration.
52670         (colormap_t): Member 'name' is now 'const char *'.
52671         (add_system_logical_colors_to_map): Fix signed/unsigned warnings.
52672         (x_decode_color, x_set_border_pixel)
52673         (x_clear_under_internal_border, x_set_name, hook_w32_key)
52674         (reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now
52675         static.
52676         (w32_load_cursor, w32_key_to_modifier, map_keypad_keys)
52677         (w32_msg_worker, w32_last_error): Provide prototypes.
52678         (funhook, lookup_vk_code): Avoid warnings about missing
52679         parentheses.
52680         (x_default_font_parameter, Fw32_notification_notify): Avoid
52681         warnings about discarding 'const' qualifier.
52682         (Fx_create_frame): Avoid warnings about empty body of 'else'.
52683         (x_screen_planes): Ifdef away unused function.
52684         (Fx_show_tip): Remove unused variables.
52685         (Fw32_battery_status): Avoid warnings about implicit promotion
52686         from float to double.
52687         (Fw32_notification_notify): Initialize 'timeout'.
52688         * src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only
52689         define the TIMER_SETTIME_RUNNING value if it will be used.
52690         * src/w32notify.c (send_notifications): Ifdef away an empty if
52691         clause.  Remove unused variable.
52692         (watch_end, watch_completion): Provide prototypes.
52693         * src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused.
52694         * src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix
52695         warning with pointer signedness.
52696         * src/gnutls.c (gnutls_x509_crt_get_signature)
52697         (gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and
52698         don't load them from the GnuTLS library, as they are no longer
52699         used.
52700         * src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't
52701         define, as it's unused.
52702         * src/unexw32.c (open_input_file, open_output_file)
52703         (close_file_data): Remove redundant prototypes.
52704         (_start): provide prototype.
52705         (mainCRTStartup): Move prototype to file level.
52706         (find_section): Use type-cast to shut up compiler warnings.
52707         (offset_to_section, relocate_offset): Now static.
52708         (find_section): First argument is now a 'const char *'.
52709         (offset_to_section): Ifdef away, as it's unused.
52710         * src/w32heap.h (find_section): Adjust prototype.
52711         * src/dynlib.c (dynlib_reset_last_error): Provide prototype.
52712         * src/dired.c (directory_files_internal_w32_unwind): Avoid
52713         warnings about missing prototypes.
52714         (is_slow_fs) [WINDOWSNT]: Provide prototype at file level.
52715         (directory_files_internal) [WINDOWSNT]: Fix warnings about pointer
52716         signedness.
52717         * src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]:
52718         Fix warnings about pointer signedness.
52719         * src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's
52720         unused.
52721         * src/sysdep.c (_getpid): Remove redundant prototype.
52722         (sys_subshell) [DOS_NT]: Don't define 'status', it's unused.
52723         [!MSDOS]: Don't define 'st', it's unused.
52724         (init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused.
52725         (str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness.
52726         * src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define
52727         n_to_read, as it is not used.
52728         (MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused.
52729         * src/w32font.h (syms_of_w32font): Remove redundant prototype.
52730         * src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro.
52731         * src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are
52732         not used by DOS_NT builds, to avoid compiler warnings.
52733         * src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant
52734         declaration.
52735         * src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut
52736         up compiler warnings.
52737         * src/w32term.h (x_set_window_size, x_get_focus_frame)
52738         (x_make_frame_visible, x_make_frame_invisible, x_iconify_frame)
52739         (x_set_frame_alpha, x_activate_menubar, x_bitmap_icon)
52740         (x_free_frame_resources, x_real_positions)
52741         (display_x_get_resource): Remove redundant prototypes.
52743         * lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp)
52744         (sys_rename, gettimeofday): Provide prototypes.
52745         * lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant
52746         declarations.
52747         * lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'.
52748         (xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname)
52749         (close_winsock, initialize_sockets, w32_set_user_model_id)
52750         (w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add
52751         prototypes.
52752         (w32_get_resource) [WINDOWSNT]: Fix a warning about signedness
52753         difference.
52754         (w32_set_user_model_id): Update prototype of
52755         SetCurrentProcessExplicitAppUserModelID to avoid compiler
52756         warnings.
52757         (start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to
52758         shut up compiler warnings.
52759         * lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro.
52761 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
52763         Fix 'vertical-motion' and 'posn-at-point' under 'visual-line-mode'
52765         * src/xdisp.c (move_it_in_display_line_to): Don't assume we can
52766         wrap on a whitespace character if it's followed by another
52767         whitespace character.  When returning under WORD_WRAP for a screen
52768         line that is continued, restore to wrap point when atpos/atx
52769         position would be displayed on the next screen line due to
52770         line-wrap.  (Bug#23570)
52772 2016-05-21  Puneeth Chaganti  <punchagan@muse-amuse.in>
52774         * lisp/svg.el (svg-create): Fix a typo: xmlsn -> xmlns.  (Bug#23589)
52776 2016-05-20  Andrew Hyatt  <ahyatt@gmail.com>
52778         Added tests for dos unibyte decoding.
52780         The underlying bug was previously fixed by Eli Zaretskii in commit
52781         c8109d9c4057d8cac79e2c139758cadd410e7446.
52783 2016-05-20  Philipp Stephani  <phst@google.com>
52785         Fix handling of ‘mouse-on-link-p’.
52787         If ‘mouse-on-link-p’ returns a string or vector, the first element
52788         is to be used as new event.  Translation to ‘mouse-2’ should only
52789         happen if the return value is not a string or vector.  See
52790         docstring of ‘mouse-on-link-p’ and Bug#23288.
52792         * lisp/mouse.el (mouse--down-1-maybe-follows-link): Process return
52793         value of ‘mouse-on-link-p’ according to documentation.
52795         * test/lisp/mouse-tests.el (bug23288-use-return-value)
52796         (bug23288-translate-to-mouse-2): Tests for Bug#23288.
52798 2016-05-20  Daiki Ueno  <ueno@gnu.org>
52800         epg: Add a way to detect gpg1 executable for tests
52802         Fixes bug#23561.
52804         * test/automated/epg-tests.el
52805         (epg-tests-program-alist-for-passphrase-callback): New
52806         constant.
52807         (epg-tests-find-usable-gpg-configuration): New function,
52808         renamed from `epg-tests-gpg-usable'.  All callers changed.
52809         (epg-tests-gpg-usable): Remove.
52811         * lisp/epg-config.el (epg-config--program-alist): Factor out
52812         constructor element to...
52813         (epg-config--configuration-constructor-alist): ...here.
52814         (epg-find-configuration): Rename FORCE argument to NO-CACHE,
52815         and add PROGRAM-ALIST argument.
52817 2016-05-19  Mark Oteiza  <mvoteiza@udel.edu>
52819         Put point at beginning of display-time-world buffer.
52821         If display-time-world decides to popup vertically from the bottom of the
52822         frame and scroll-margin is nonzero, the top of the buffer contents are
52823         hidden due to scroll.
52824         * lisp/time.el (display-time-world-display): Move point to point-min
52825         after inserting contents.
52827 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
52829         Allow null entries in face and image cache
52831         Problem reported by Tino Calancha (Bug#23580).
52832         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID):
52833         Don’t assume that the result is non-null.
52834         * src/xdisp.c (fill_image_glyph_string):
52835         Restore check that image pointer is non-null.
52837 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
52839         Fix flyspell highlighting
52841         Problem reported by Jim Meyering (Bug#23575).
52842         * src/xdisp.c (extend_face_to_end_of_line):
52843         Fix typo in previous change.
52845 2016-05-18  Eli Zaretskii  <eliz@gnu.org>
52847         * lisp/server.el (server-name): Add autoload cookie.  (Bug#23576)
52849 2016-05-18  Sam Steingold  <sds@gnu.org>
52851         python-describe-at-point: add and bind
52853 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
52855         ‘make check-declare’ now chatters less
52857         * etc/NEWS: Document this.
52858         * lisp/emacs-lisp/check-declare.el (check-declare-locate):
52859         Return relative names, not absolute.
52860         (check-declare-scan, check-declare-verify, check-declare-warn)
52861         (check-declare-file, check-declare-directory):
52862         Generate less chatter.  Use relative file names rather than
52863         absolute.  Don’t give up on computing a good file name for a
52864         diagnostic merely because the function name was bad.  Make
52865         malformed declarations more noticeable.  Don’t warn about
52866         "ext:..." declarations if check-declare-ext-errors is nil.
52867         (check-declare-errmsg): Remove.
52868         (check-declare-warn): New optional arg LINE.
52869         (check-declare-files): Put status into mode line rather than
52870         chattering.
52872 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
52874         Pacify byte-compiler for byte-compile-macroexpand-declare-function
52876         * lisp/emacs-lisp/bytecomp.el: Change signature of
52877         byte-compile-macroexpand-declare-function to match that of
52878         declare-function.
52880 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
52882         Pacify byte-compiler for with-wrapper-hook
52884         * lisp/subr.el (subr--with-wrapper-hook-no-warnings):
52885         New macro, split out from with-wrapper-hook.
52886         * lisp/abbrev.el (abbrev--default-expand):
52887         * lisp/minibuffer.el (completion--in-region):
52888         * lisp/simple.el (buffer-substring--filter):
52889         * lisp/subr.el (with-wrapper-hook):
52890         Use it.
52892 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
52894         Pacify byte-compiler in lisp/url
52896         * lisp/url/url-misc.el, lisp/url/url-file.el (mm-disable-multibyte):
52897         Add decl.
52899 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
52901         Port --enable-gcc-warnings to GCC 6.1
52903         * configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2.
52904         * lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE):
52905         Omit test whether pointer plus a constant equals a null pointer.
52906         * src/alloc.c (compact_small_strings):
52907         Avoid pointer arithmetic on null pointers.
52908         * src/alloc.c (mark_face_cache):
52909         * src/fontset.c (free_realized_fontsets, Fset_fontset_font):
52910         * src/fringe.c (draw_fringe_bitmap_1)
52911         (Fset_fringe_bitmap_face):
52912         * src/macfont.m (macfont_draw):
52913         * src/msdos.c (IT_set_face, IT_clear_screen):
52914         * src/nsfont.m (nsfont_draw):
52915         * src/nsterm.h (FRAME_DEFAULT_FACE):
52916         * src/nsterm.m (ns_draw_window_cursor)
52917         (ns_draw_vertical_window_border, ns_draw_window_divider)
52918         (ns_dumpglyphs_box_or_relief)
52919         (ns_maybe_dumpglyphs_background, ns_dumpglyphs_image)
52920         (ns_dumpglyphs_stretch):
52921         * src/w32term.c (w32_draw_vertical_window_border)
52922         (w32_draw_window_divider, x_set_mouse_face_gc):
52923         * src/xdisp.c (estimate_mode_line_height, init_iterator)
52924         (handle_face_prop, handle_single_display_spec, pop_it)
52925         (CHAR_COMPOSED_P, get_next_display_element)
52926         (next_element_from_display_vector, extend_face_to_end_of_line)
52927         (fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING):
52928         * src/xfaces.c (Finternal_merge_in_global_face, Fface_font)
52929         (lookup_named_face):
52930         * src/xterm.c (x_draw_vertical_window_border)
52931         (x_draw_window_divider, x_set_mouse_face_gc):
52932         Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null.
52933         * src/xterm.c (try_window_id):
52934         Redo loop to convince GCC 6.1 that it is null pointer safe.
52935         (x_color_cells):
52936         Use eassume as necessary to pacify GCC 6.1.
52937         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null.
52938         (FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old
52939         behavior of the non-_OPT macro, to be used when the result
52940         might be a null pointer.
52941         * src/dispnew.c (buffer_posn_from_coords, marginal_area_string)
52942         [HAVE_WINDOW_SYSTEM]:
52943         * src/intervals.h (INTERVAL_WRITABLE_P):
52944         * src/term.c (turn_off_face):
52945         * src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string)
52946         (produce_image_glyph, produce_xwidget_glyph):
52947         * src/xfaces.c (lookup_named_face):
52948         Remove unnecessary test for null pointer.
52949         * src/keyboard.c (read_char): Suppress bogus -Wclobbered warning.
52950         * src/process.c (would_block): New function.
52951         (server_accept_connection, wait_reading_process_output, send_process):
52952         Use it.
52953         * src/xdisp.c (get_window_cursor_type, note_mouse_highlight):
52954         Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result
52955         might be null.
52957 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
52959         Sync from gnulib
52961         This incorporates:
52962         2016-05-17 manywarnings: update for GCC 6.1
52963         2016-05-13 intdiv0, memmem, nocrash, strcasestr, strstr: no exit
52964         * m4/manywarnings.m4, m4/nocrash.m4: Copy from gnulib.
52966 2016-05-16  Glenn Morris  <rgm@gnu.org>
52968         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
52969         Include more details on hydra.
52971 2016-05-16  Alan Mackenzie  <acm@muc.de>
52973         Tidy up redundant code in cc-vars.el caused by mistake in emacs-25 -> master
52975 2016-05-16  Alan Mackenzie  <acm@muc.de>
52977         Fix spurious fontification of "for (; a * b;)" in CC Mode.
52979         This fixes bug #7918 (again).
52981         * lisp/progmodes/cc-engine.el (c-delq-from-dotted-list): New function.
52982         (c-forward-decl-or-cast-1): Return a 4 element list in place of the previous
52983         cons cell - additionally, return a flag indicating whether the declaration
52984         parsed might have been an expression, and the position of the type identifier
52985         in the said declaration.
52987         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): When
52988         c-forward-decl-or-cast-1 has indicated it might have parsed an expression,
52989         check for it being a spurious declaration in a "for" statement.
52991 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
52993         Pacify ‘make check-declare’
52995         * lisp/cedet/srecode/insert.el (data-debug-new-buffer)
52996         (data-debug-insert-stuff-list, data-debug-insert-thing):
52997         * lisp/emulation/viper-ex.el (viper-change-state-to-vi)
52998         (viper-change-state-to-emacs):
52999         * lisp/emulation/viper-macs.el (viper-change-state-to-vi):
53000         * lisp/org/ob-asymptote.el (orgtbl-to-generic):
53001         * lisp/org/ob-awk.el (orgtbl-to-generic):
53002         * lisp/org/ob-core.el (org-edit-src-code, orgtbl-to-generic):
53003         * lisp/org/ob-emacs-lisp.el (orgtbl-to-generic):
53004         * lisp/org/ob-exp.el (org-element-context):
53005         * lisp/org/ob-gnuplot.el (org-time-string-to-time)
53006         (orgtbl-to-generic):
53007         * lisp/org/ob-haskell.el (org-export-to-file):
53008         * lisp/org/ob-latex.el (org-create-formula-image)
53009         (org-latex-compile):
53010         * lisp/org/ob-python.el (run-python):
53011         * lisp/org/ob-sh.el (orgtbl-to-generic):
53012         * lisp/org/ob-tangle.el (org-link-escape, org-back-to-heading):
53013         * lisp/org/org-colview.el (org-agenda-redo):
53014         * lisp/org/org-feed.el (url-retrieve-synchronously):
53015         * lisp/org/org-info.el (Info-find-node):
53016         * lisp/org/org-list.el (org-previous-line-empty-p):
53017         * lisp/org/org-macs.el (org-string-match-p):
53018         * lisp/org/org.el (org-beamer-mode):
53019         Fix prototype to match current definition.
53020         * lisp/emacs-lisp/advice.el (function-called-at-point):
53021         * lisp/progmodes/prolog.el (compilation-shell-minor-mode):
53022         Fix typo: extra '.
53023         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
53024         Insert ,' to pacify check-declare.
53025         * lisp/org/ob-comint.el (tramp-flush-directory-property):
53026         * lisp/org/ob-tangle.el (org-babel-update-block-body):
53027         * lisp/org/org-bibtex.el (org-babel-trim):
53028         * lisp/org/org-pcomplete.el (org-export-backend-options):
53029         * lisp/org/org-protocol.el (org-publish-get-project-from-filename):
53030         Fix file name in declare-function.
53031         * lisp/org/ob-comint.el (with-parsed-tramp-file-name)
53032         * lisp/org/ob-core.el (with-parsed-tramp-file-name):
53033         * lisp/org/org.el (org-beamer-mode):
53034         * lisp/url/url-http.el (gnutls-negotiate):
53035         Append ‘t’ to declare-function, since the declaration isn’t a defun.
53036         * lisp/org/ob-core.el (show-all):
53037         Declare outline-show-all instead, since it is the
53038         non-obsolete version of this function.
53039         (org-save-outline-visibility): Remove; not needed.
53040         * lisp/org/ob-scheme.el (run-geiser, geiser-mode)
53041         (geiser-eval-region, geiser-repl-exit):
53042         * lisp/org/ox-org.el (htmlize-buffer):
53043         Prepend "ext:" to file name, since it is not part of Emacs.
53044         * lisp/org/ob-sh.el (org-babel-comint-in-buffer)
53045         * lisp/org/org-gnus.el (nnimap-group-overview-filename):
53046         Remove decl, since function was removed.
53047         * lisp/org/ob-sh.el (org-babel-comint-with-output):
53048         * lisp/org/org-macro.el (org-with-wide-buffer):
53049         Omit unnecessary (and mismatching) decl.
53050         * lisp/org/org-agenda.el (calendar-absolute-from-iso):
53051         * lisp/org/org-clock.el (calendar-iso-to-absolute):
53052         Declare calendar-iso-to-absolute instead, since it is the
53053         non-obsolete version of this function.
53054         * lisp/org/org-compat.el (w32-focus-frame):
53055         Remove decl, since function is now obsolete.
53057 2016-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
53059         :max-width/height fixes for shr after the scaling changes
53061         * lisp/net/shr.el (shr-rescale-image): Ensure that we respect
53062         max-width and max-height even after the scaling changes done
53063         earlier this year.
53065 2016-05-14  Eli Zaretskii  <eliz@gnu.org>
53067         Fix reading minibuffer input in viper-mode
53069         * lisp/emulation/viper-cmd.el (viper-read-string-with-history):
53070         Restore an assignment to viper-initial that got lost when
53071         viper-cmd.el was switched to lexical-binding.  (Bug#23536)
53073 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53075         Port autogen.sh to Git 2.4
53077         Problem reported by Michael Brand in:
53078         https://lists.gnu.org/r/emacs-devel/2016-05/msg00367.html
53079         * autogen.sh (git_config): Don't assume that git rev-parse
53080         groks --git-common-dir.
53082 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53084         Merge from origin/emacs-25
53086         6de0715 Properly reject malformed or empty package sigs
53087         edae7d9 Remove buggy non-native image scrolling
53089 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53091         Improve display of tex-verbatim and Info quoted
53093         Problem reported by Glenn Morris (Bug#19889).
53094         * doc/emacs/display.texi (Standard Faces):
53095         * doc/lispref/display.texi (Basic Faces):
53096         * etc/NEWS: Mention fixed-pitch-serif.
53097         * lisp/faces.el (face-font-family-alternatives):
53098         New family alias Monospace Serif.
53099         (fixed-pitch-serif): New face, which uses the new family.
53100         * lisp/info.el (Info-quoted):
53101         * lisp/textmodes/tex-mode.el (tex-verbatim): Use the new face.
53102         * test/lisp/legacy/font-parse-tests.el (font-parse-tests--data):
53103         Add test case for Monospace Serif.
53105 2016-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
53107         * lisp/net/sieve-mode.el: Handle the text:... notation
53109         Get rid of redundant :group keywords.
53110         (sieve-mode-syntax-table): Move initialization into declaration.
53111         (sieve-syntax-propertize, sieve-syntax-propertize-text): New functions.
53112         (sieve-mode): Use them.
53114 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53116         Tweak check-declare-directory performance
53118         * lisp/emacs-lisp/check-declare.el (check-declare-directory):
53119         Use ‘find ... -exec ... +’ for speed.
53121 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53123         Sync from gnulib
53125         This incorporates a spelling fix, plus:
53126         2016-05-09 Fix undefined behavior in gettext.h
53127         * lib/gettext.h, lib/mktime.c:
53128         Copy from gnulib.
53130 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53132         Merge from origin/emacs-25
53134         9c2a1a2 * doc/misc/texinfo.tex: Sync from gnulib.
53135         66cd4d8 * lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al...
53136         1a5a05c Do not mistake colon at the end of regexp for slash symbol
53137         4c5a00b Make package-install-from-buffer not move point
53138         9596ea1 ; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion"
53139         f79c352 Redo the fix for bug#21839
53140         8d2f78c Don't treat JS spread as contination method call
53142 2016-05-12  Chris Feng  <chris.w.feng@gmail.com>
53144         Correct server/client address
53146         * src/process.c (Fmake_network_process): :local is for servers and :remote
53147         is for clients.
53149 2016-05-12  Ken Brown  <kbrown@cornell.edu>
53151         Autosave buffers on logout if HAVE_NTGUI
53153         * src/w32fns.c (w32_wnd_proc): Pass a WM_ENDSESSION message on to
53154         w32_read_socket.
53156         * src/w32term.c (w32_read_socket): Create an event of type
53157         END_SESSION_EVENT if a WM_ENDSESSION message is received.
53159         * src/termhooks.h [HAVE_NTGUI]: New event kind END_SESSION_EVENT.
53161         * src/keyboard.c [HAVE_NTGUI] (syms_of_keyboard): New symbol
53162         `end-session'.
53163         (kbd_buffer_get_event): Return an end-session event if an event of
53164         type END_SESSION_EVENT is read.
53165         (keys_of_keyboard): Bind the end-session event to kill-emacs in
53166         special-event-map.  (Bug#23483)
53168 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
53170         * lisp/cedet/semantic/{db-el,symref}.el: Mark unused vars
53172         * lisp/cedet/semantic/db-el.el: Use _ to mark unused vars.
53173         (object-print): Use cl-call-next-method instead of call-next-method.
53174         * lisp/cedet/semantic/symref.el: Use _ to mark unused vars.
53176 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
53178         * lisp/cedet/semantic: Silence some warnings
53180         * lisp/cedet/semantic/db-el.el (emacs-lisp-mode)
53181         (semanticdb-get-database-tables): Use make-instance to silence warnings.
53183         * lisp/cedet/semantic/symref.el: Require semantic/find since we use
53184         some macros from there.  Silence compilation warnings:
53185         Replace initargs with slot names in oref/oset.
53186         Move `SYMREF TOOLS' section earlier so definitions precede their use.
53188 2016-05-12  Lars Ingebrigtsen  <larsi@gnus.org>
53190         Support srcset in <img>
53192         * lisp/net/shr.el (shr--preferred-image): Allow <img> tags
53193         with srcset specifiers (bug#23459).
53195 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
53197         Do not autoload some functions of tramp.el
53199         * lisp/net/tramp.el (tramp-completion-file-name-handler):
53200         Autoload a shortened version of this function, avoid recursive load.
53201         (tramp-completion-file-name-handler-alist)
53202         (tramp-completion-mode-p)
53203         (tramp-completion-handle-expand-file-name)
53204         (tramp-completion-handle-file-name-all-completions)
53205         (tramp-completion-handle-file-name-completion): Do not autoload.
53207 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
53209         Avoid recursive load of tramp.el
53211         * lisp/net/tramp.el (tramp-completion-file-name-handler):
53212         Autoload a shortened version of this function, avoid recursive load.
53214 2016-05-11  Michael Albinus  <michael.albinus@gmx.de>
53216         Fix a problem of tramp-tests on hydra.
53218         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
53219         Nullify `tramp-default-method' due to hydra.
53221 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
53223         Pacify byte-compiler in lisp/vc
53225         * lisp/vc/vc-bzr.el, lisp/vc/vc-cvs.el, lisp/vc/vc-hg.el:
53226         * lisp/vc/vc-rcs.el, lisp/vc/vc-src.el:
53227         Declare functions defined elsewhere, to forestall “might not
53228         be defined at runtime” warnings.
53230 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
53232         Merge from origin/emacs-25
53234         d0d9f55 Allow newlines inside cl function arglists
53235         963541a Publicize cl--generic-all-functions
53236         3c581d5 ; Fix typo
53237         e58f900 Add some "safe-local-variable" declarations for compatibility...
53239 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
53241         'text-quoting-style' now affects only ` and '
53243         Change 'text-quoting-style' so that it no longer affects
53244         formatting of curved quotes in format arguments to functions like
53245         'message'.  In particular, when this variable's value is 'grave',
53246         all quotes in formats are output as-is.
53247         * doc/lispref/help.texi (Keys in Documentation):
53248         * doc/lispref/strings.texi (Formatting Strings):
53249         * doc/lispref/tips.texi (Documentation Tips):
53250         * etc/NEWS:
53251         * src/doc.c (syms_of_doc): Document this.
53252         * lisp/help-fns.el (describe-function-1):
53253         * src/doc.c (text_quoting_style, Fsubstitute_command_keys)
53254         (syms_of_doc):
53255         * src/editfns.c (styled_format): Omit now-unnecessary code.
53256         * src/lisp.h (LEAVE_QUOTING_STYLE): Remove.
53258 2016-05-10  Alan Mackenzie  <acm@muc.de>
53260         Revert "Fix spurious fontification of "for (; a * b;)" in CC Mode."
53262         This reverts commit 89d1776b81ab552192ee41f13ce84ff86bda4556.  It is
53263         being reverted because it slowed down CC Mode's fontification too much
53264         (factor ~3).  It was the fix to bug #7918.
53266 2016-05-09  Lars Ingebrigtsen  <larsi@gnus.org>
53268         Move "Recent messages" earlier in report-emacs-bug
53270         * lisp/mail/emacsbug.el (report-emacs-bug): Move the "Recent
53271         messages" part earlier so that users can see it and remove it
53272         if they want.
53274 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
53276         Pacify byte compiler in tramp.el
53278         * lisp/net/tramp.el (tramp-time-diff): Use `tramp-compat-funcall'.
53280 2016-05-09  Paul Eggert  <eggert@cs.ucla.edu>
53282         Merge from origin/emacs-25
53284         3b47898 Fix doc string in `insert'
53285         b479dea * doc/misc/emacs-mime.texi (time-date): Document now-builtins...
53286         cd27f73 Say 'All results processed' at the end
53287         4ffec91 Document automatic adjustment of process' logical window dime...
53288         dc66271 ; Fix typos and stylistic glitches in NEWS
53290 2016-05-09  Alan Mackenzie  <acm@muc.de>
53292         CC Mode now uses the new :after-hook feature of define-derived-mode
53294         It now runs internal variable setting functions after the mode hooks, no
53295         longer runs the mode hooks twice, and declares the configuration variables for
53296         noise macros and macros with semicolons as safe variables (when given suitable
53297         arguments).
53299         Fixes bug #16759 and bug #23476.
53301         * .dir-locals.el: Put the c-noise-macros-with-paren-names setting
53302         back into the C Mode value.
53304         * lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to
53305         c-make-macro-with-semi-re.
53306         (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move
53307         c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate)
53308         and c-update-modeline into the :after-hook form.  Remove the explicit settings
53309         of the syntax table, the abbreviation table and the local key map, since they
53310         duplicate forms generated by define-derived-mode.  Remove the explicit
53311         invocation of each mode's mode hook, since they duplicate ones generated by
53312         define-derived-mode.
53314         * lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
53315         functions.
53316         (c-noise-macro-names, c-noise-macro-with-parens-names): give the
53317         save-local-variable property c-string-list-p.
53318         (c-macro-names-with-semicolon): give the save-local-variable property
53319         c-string-or-string-list-p.
53321         * doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not
53322         necessary to call the regexp generating functions after setting the pertinent
53323         configuration values in a mode hook.
53325 2016-05-09  Dmitry Gutov  <dgutov@yandex.ru>
53327         Fix the jit-lock-fontify-now test names
53329         * test/lisp/jit-lock-tests.el
53330         (jit-lock-fontify-now-mends-the-gaps)
53331         (jit-lock-fontify-now-does-not-refontify-unnecessarily):
53332         Fix the test names.
53334 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
53336         Extend completion candidates in tramp.el
53338         * lisp/net/tramp.el (tramp-parse-default-user-host): New defun.
53339         (tramp-get-completion-function): Use it.
53341 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
53343         Revert e2f785991d0c696fbb2bc2f331f888d979b8da82 for tramp.el
53345         * lisp/net/tramp.el (tramp-time-diff): Revert previous change due to backwards
53346         compatibility.
53348 2016-05-08  Dmitry Gutov  <dgutov@yandex.ru>
53350         Emulate interactive mode
53352         * test/lisp/jit-lock-tests.el (jit-lock-tests--setup-buffer)
53353         (jit-lock-does-not-refontify-unnecessarily):
53354         Bind noninteractive to nil (bug#23278).
53356 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
53358         Simplify now that float-time etc. are built-in
53360         This was prompted by warnings about calls to now-obsolete functions.
53361         * lisp/calendar/time-date.el (encode-time-value):
53362         Use setq rather than a recursive call, to avoid a warning
53363         about calling this obsolete function.
53364         * lisp/calendar/time-date.el (encode-time-value)
53365         (with-decoded-time-value, time-to-seconds, time-to-number-of-days):
53366         * lisp/erc/erc.el (erc-emacs-time-to-erc-time):
53367         * lisp/net/rcirc.el (rcirc-float-time):
53368         * lisp/org/org-compat.el (org-float-time):
53369         Simplify now that time-add and float-time are now built-in.
53370         * lisp/calendar/time-date.el (time-add, time-subtract, time-less-p):
53371         * lisp/net/newst-backend.el (time-add):
53372         * lisp/org/org.el (time-subtract):
53373         Remove backward-compatibility definitions; they are now built-in.
53374         * lisp/calendar/timeclock.el (timeclock-time-to-seconds)
53375         (timeclock-seconds-to-time):
53376         * lisp/net/rcirc.el (rcirc-float-time):
53377         * lisp/org/org-compat.el (org-float-time):
53378         Now obsolete, since callers can just use float-time and
53379         seconds-to-time.  All uses changed.
53380         * lisp/emacs-lisp/ert.el (ert-results-pop-to-timings):
53381         * lisp/gnus/gnus-art.el (article-lapsed-string):
53382         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
53383         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
53384         * lisp/gnus/nndiary.el (nndiary-compute-reminders):
53385         * lisp/net/tramp.el (tramp-time-diff):
53386         * lisp/org/org-clock.el (org-clock-timestamps-change):
53387         Prefer the time-subtract builtin to the subtract-time alias.
53388         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
53389         * test/lisp/character-fold-tests.el (character-fold--speed-test):
53390         Prefer the float-time builtin to the time-to-seconds alias.
53391         * lisp/org/org-agenda.el, lisp/org/org-clock.el, lisp/org/org-list.el:
53392         * lisp/org/org-timer.el, lisp/org/org.el:
53393         Adjust to org-float-time deprecation.
53395 2016-05-08  Alan Mackenzie  <acm@muc.de>
53397         Add :after-hook facility to define-derived-mode.
53399         This allow a form to be evaluated _after_ a major mode's hooks have been run.
53400         It is needed to solve some problems in CC Mode, including bug #16759 and
53401         bug #23476.
53403         * lisp/emacs-lisp/derived.el (define-derived-mode): introduce the new argument
53404         `:after-hook', and generate the requisite code for it.
53405         (derived-mode-make-docstring): Take account of the possibility of :after-hook.
53407         * lisp/subr.el (delayed-after-hook-forms): New variable.
53408         (run-mode-hooks): As the last thing evaluate the forms in
53409         delayed-after-hook-forms.
53411         * doc/lispref/modes.texi (Derived Modes): Document :after-hook.
53412         (Mode Hooks): Document the new feature in run-mode-hooks.
53414         * etc/NEWS: Note the new feature.
53416 2016-05-08  Michael Albinus  <michael.albinus@gmx.de>
53418         Fix recursive load of tramp.elc
53420         * lisp/net/tramp.el (tramp-completion-file-name-handler):
53421         Check also for `tramp-completion-mode-p'.
53422         (tramp-completion-mode, tramp-completion-mode-p): Autoload them.
53424 2016-05-07  Paul Eggert  <eggert@cs.ucla.edu>
53426         Prefer grep -E/-F to egrep/fgrep
53428         POSIX marked egrep and fgrep as legacy apps in SUSv2 (1997) and
53429         withdrew them in SUSv3 (2001), and these days grep -E and grep -F
53430         are probably more portable.
53431         * lib-src/etags.c (main):
53432         * lisp/eshell/em-unix.el (eshell-grep, eshell/egrep)
53433         (eshell/fgrep):
53434         * lisp/cedet/semantic/symref.el (semantic-symref-find-text):
53435         * lisp/eshell/esh-var.el (eshell-apply-indices):
53436         * lisp/progmodes/ada-xref.el (ada-xref-search-with-egrep)
53437         (ada-find-in-src-path):
53438         * lisp/textmodes/ispell.el (ispell-grep-command):
53439         (ispell-lookup-words):
53440         Use or document grep -E and grep -F instead of egrep and fgrep.
53441         * lisp/textmodes/ispell.el (ispell-grep-options):
53442         Use -Ei on all platforms, not just MS-Windows.
53444 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
53446         Avoid unnecessary work if a chunk is empty
53448         * lisp/jit-lock.el (jit-lock-fontify-now): Avoid unnecessary work
53449         if a chunk is empty (bug#23278).
53451 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
53453         * test/lisp/jit-lock-tests.el: New file.
53455 2016-05-07  Michael Albinus  <michael.albinus@gmx.de>
53457         Continue to fix Bug#10085
53459         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist)
53460         <expand-file-name>: Add handler.
53461         (tramp-completion-handle-expand-file-name): New defun.
53462         (tramp-handle-file-name-as-directory): Handle completion mode case.
53464         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
53465         Fix test.
53466         (tramp-test24-file-name-completion): Extend test.
53468 2016-05-07  Alan Mackenzie  <acm@muc.de>
53470         Revert change 8e4595a... due to annoyance it causes the development team.
53472         Change 8e4595a438fe85dd109756886cdeaeea2e665afb from 2016-04-30 17:28:24
53473         +0000 was an enhancement to .dir-locals to allow correct fontification
53474         of certain macro constructs.
53476         * .dir-locals.el: Remove the two forms for C Mode dealing with noise macros.
53478 2016-05-07  Alan Mackenzie  <acm@muc.de>
53480         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): Give it a version number.
53482 2016-05-07  Simen Heggestøyl  <simenheg@gmail.com>
53484         Add tests for CSS mode completion
53486         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values)
53487         (css-test-property-values-no-duplicates)
53488         (css-test-value-class-lookup): Use `seq-sort'.
53489         (css-mode-tests--completions): New helper function for retrieving CSS
53490         completions.
53491         (css-test-complete-bang-rule, scss-test-complete-bang-rule)
53492         (css-test-complete-property-value, css-test-complete-pseudo-class)
53493         (css-test-complete-pseudo-element, css-test-complete-at-rule)
53494         (scss-test-complete-at-rule, css-test-complete-property)
53495         (css-test-complete-selector, css-test-complete-nested-selector)
53496         (scss-test-complete-nested-selector): New tests.
53498 2016-05-06  Alan Mackenzie  <acm@muc.de>
53500         Add an option in Edebug to prevent pauses after `h', 'f', and `o'.
53502         Requested by Paul Pogonyshev.  Also add in documentation for Edebug config
53503         variables which was missing.
53505         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): New customizable option.
53506         (edebug--display-1): Test edebug-sit-on-break before pausing 1 second.
53508         * doc/lispref/edebug.texi (Jumping): Document the effect of the new option.
53509         (Edebug Options): Document the new option.  Also add documentation for
53510         edebug-eval-macro-args, edebug-print-length, edebug-print-level,
53511         edebug-print-circle, edebug-sit-for-seconds.
53513         * etc/NEWS: Note the new feature.
53515 2016-05-07  Jorgen Schaefer  <contact@jorgenschaefer.de>
53517         scheme.el: Turn literal tabs into \t
53519         * lisp/progmodes/scheme.el: The last change to turn tabs into spaces
53520         also caught some literal tabs in character classes. Fix this by
53521         adding \t to those classes.
53523 2016-05-07  Tino Calancha  <f92capac@gmail.com>
53525         Make 'backtab' work in table-mode on text terminals
53527         * lisp/textmodes/table.el (table-cell-bindings): Bind 'backtab'
53528         explicitly.  (Bug#23456)
53530 2016-05-07  Eli Zaretskii  <eliz@gnu.org>
53532         Try to speed-up display of many all-blank lines
53534         * src/bidi.c (bidi_initialize): Use anchored regexps for
53535         paragraph start and paragraph separator sequences.  (Bug#23457)
53537 2016-05-06  Alan Mackenzie  <acm@muc.de>
53539         Correct hack-local-variables change from Thu May 5 11:05:49 2016 +0000
53541         Prevent hack-local-variables being called from the fundamental-mode mode call
53542         early in normal-mode.  This fixes bug #23460 and bug #23463.
53544         * lisp/files.el (normal-mode) Replace call to fundamental-mode with calls to
53545         the things it calls, with the exception of hack-local-variables.
53547         * etc/NEWS: Add an entry to note the calling of hack-local-variables at each
53548         major mode initialization.
53550 2016-05-06  Paul Eggert  <eggert@cs.ucla.edu>
53552         Port xref-tests to master branch
53554         Also, add a test to make this problem less likely in the future.
53555         * test/Makefile.in (check-no-automated-subdir): New rule.
53556         (check, check-expensive, check-maybe): Depend on it.
53557         * test/automated/data/xref/file1.txt: Rename to ...
53558         * test/data/xref/file1.txt: ... here.
53559         * test/automated/data/xref/file2.txt: Rename to ...
53560         * test/data/xref/file2.txt: ... here.
53561         * test/automated/xref-tests.el: Rename to ...
53562         * test/lisp/progmodes/xref-tests.el: ... here.
53563         (xref-tests-data-dir): Use EMACS_TEST_DIRECTORY.
53565 2016-05-05  Paul Eggert  <eggert@cs.ucla.edu>
53567         Merge from origin/emacs-25
53569         50650cb Doc fixes for fclist and grep
53570         5e814e0 Minor doc fixes for quoting
53571         3347a73 `nreverse' the marker pairs list
53572         1a4127d Use save-excursion in xref-location-marker more
53573         ab3ba91 shell-quote-argument DIR when appropriate
53574         922c7a3 Rework xref-query-replace-in-results
53575         3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w...
53576         0932b94 Fix todo-mode bug involving archived items (bug#23447)
53577         e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432)
53578         adc80b7 ; * test/automated/xref-tests.el: Add copyright and license.
53579         4d8fd9c Handle "empty line" regexp in xref searches
53580         f559b37 Add tests for xref-collect-matches
53581         6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc...
53582         6f82d8e Clear buffer-undo-list when showing xrefs
53583         c68a091 Note the quote translation in `message' in section "incompati...
53584         52f86a7 * etc/NEWS: Mention (message "%s" (format ...)).
53585         93703c5 (Common Keywords): Correct what missing :group means
53586         79e5800 Improve documentation of Dired's 'A' and 'Q' commands
53587         2ea2a2f Doc fixes for quoting
53588         8544b98 posnp doc clarification
53589         805204f Mention what a missing :group does
53590         ec554d7 Fix documentation of dired-aux search/replace commands
53592 2016-05-05  Simen Heggestøyl  <simenheg@gmail.com>
53594         Support completion of HTML tags in CSS selectors
53596         * lisp/textmodes/css-mode.el (css--html-tags): New variable holding a
53597         list of HTML tags for completion.
53598         (css--nested-selectors-allowed): New variable for determining whether
53599         nested selectors are allowed in the current mode.
53600         (css--complete-selector): New function for completing part of a CSS
53601         selector.
53602         (css-completion-at-point): Support completion of selectors.
53603         (scss-mode): Allow nested selectors.
53605 2016-05-05  Lars Ingebrigtsen  <larsi@gnus.org>
53607         Make `R' in eww work more reliably
53609         * lisp/net/eww.el (eww-score-readability): Protect against
53610         null children.
53612 2016-05-05  Alan Mackenzie  <acm@muc.de>
53614         Call hack-local-variables from major modes rather than from file visiting
53616         This prevents file/directory local variables from being lost when the major
53617         mode is set or changed.
53619         This fixes bug #15577 and bug #23407.
53621         * lisp/files.el (normal-mode): Call `hack-local-variables' when the major mode
53622         function hasn't already done so.
53623         (hack-local-variables): Rename parameter `mode-only' to `handle-mode', make
53624         its previous non-nil setting be t, and introduce the following action for a
53625         non-nil non-t value: apply all settings apart from `mode'.
53627         * lisp/subr.el (run-mode-hooks): call `hack-local-variables' for buffers
53628         which are visiting files.
53630         * doc/emacs/custom.texi (File Variables): Note that setting a major mode also
53631         sets file variables.
53632         (Directory Variables): Note that `mode', `eval', and `unibyte' can be set as
53633         dir local variables, but `coding' can't.
53635         * doc/lispref/modes.texi (Major Mode Conventions): Say that `run-mode-hooks'
53636         also calls `hack-local-variables'.
53637         (Auto Major Mode): Say that `find-file' no longer runs `hack-local-variables',
53638         as from 25.2.  Remove vagueness from `normal-mode' and `set-auto-mode' by
53639         saying that the mode IS SET, not merely "selected" or "chosen".
53640         (Mode Hooks): Document change to `run-mode-hooks'.
53642         * doc/lispref/variables.texi (File Local Variables): Document change to
53643         `hack-local-variables'.
53645 2016-05-05  Michael Albinus  <michael.albinus@gmx.de>
53647         tramp-sh.el: Work around a stat bug
53649         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Do not use
53650         stat versions which produce shell quoted output.  See also
53651         coreutils Bug#23422.
53653 2016-05-04  Noam Postavsky  <npostavs@gmail.com>
53655         Fix autogen.sh for separate worktrees
53657         * autogen.sh: Use the $hooks variable in the $sample_hooks loop, instead
53658         of assuming .git/hooks is a directory.
53660 2016-05-04  Alan Mackenzie  <acm@muc.de>
53662         Allow `text-quoting-style' to be `leave', i.e. no translation of quotes.
53664         * lisp/help-fns.el (describe-function-1): Don't set coding system to UTF-8
53665         when text-quoting-style is `leave'.
53667         * src/lisp.h (enum text_quoting_style): Add identifier LEAVE_QUOTING_STYLE.
53669         * src/doc.c (syms_of_doc): New symbol "leave".  Amend doc string of
53670         `text_quoting_style'.
53671         (text_quoting_style): Handle `leave' by returning LEAVE_QUOTING_STYLE.
53672         (Fsubstitute_command_keys): Don't translate quotes when quoting_style is
53673         LEAVE_QUOTING_STYLE.
53675         * src/editfns.c (styled_format): Set quoting_style to -1 when
53676         text-quoting-style is `leave'.
53678 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
53680         * lisp/emulation/viper.el:
53681         * lisp/emulation/viper-cmd.el: Use lexical-binding.
53682         (viper-change-state-to-vi, viper-change-state-to-emacs): Allow dummy
53683         args, for use in advice-add.
53684         (viper--init-message): Rename from init-message.
53685         (viper-minibuffer-standard-hook): Adjust accordingly.
53686         (viper-undo): Remove unused var `modified'.
53687         (viper-read-string-with-history, viper-set-searchstyle-toggling-macros):
53688         Don't use dynamic vars as args.
53689         (viper-submit-report): Clarify use of dynamic vars.
53691         * lisp/emulation/viper.el: Use lexical-binding and nadvice.
53692         Remove redundant :group keywords.  Group the (if viper-mode) at top-level.
53693         Use add-function rather than a `(lambda ...).
53694         (viper--advice-list): New var.
53695         (viper--advice-add, viper--deactivate-advice-list): New funs.
53696         (viper-go-away, viper-set-hooks, viper-non-hook-settings): Use them.
53697         (viper-non-hook-settings): Don't hook into find-file any more.
53699 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
53701         * lisp/vc/ediff-util.el: Use lexical-binding.
53703         * lisp/progmodes/js.el (js-syntax-propertize): Recognize shebang line.
53705 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
53707         Add an animation sanity check
53709         * lisp/image.el (image-multi-frame-p): Give up on animations
53710         if it seems like they are too slow (bug#23431).
53712 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
53714         abbrev-tests.el fix
53716         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Don't check
53717         internal implementation detail.
53719 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
53721         (shr-rescale-image): Clarify logic slightly
53723         * lisp/net/shr.el (shr-rescale-image): Clarify logic slightly.
53725 2016-05-02  Martin Rudalics  <rudalics@gmx.at>
53727         Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2
53729         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
53730         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
53731         Monnier.  (Bug#19185, Bug#20398)
53733 2016-05-02  Lee Bochicchio  <lboc.home@gmail.com>
53735         Add more abbrev tests
53737         * test/lisp/abbrev-tests.el
53738         (clear-abbrev-table-test): Use `abbrev-expansion'
53739         (abbrev-table-empty-p-test, list-abbrevs-test)
53740         (prepare-abbrev-list-buffer-test, insert-abbrevs-test)
53741         (edit-abbrevs-test, define-abbrevs-test)
53742         (read-write-abbrev-file-test)
53743         (abbrev-edit-save-to-file-test): New tests (bug#23139).
53745 2016-05-02  Philipp Stephani  <p.stephani2@gmail.com>  (tiny change)
53747         Allow eval-ing named character literals
53749         * lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over
53750         named character literals.
53751         * test/lisp/progmodes/elisp-mode-tests.el
53752         (elisp--preceding-sexp--char-name): Add test for skipping over
53753         named character literals (bug#23354).
53755 2016-05-02  Aaron Conole  <aconole@redhat.com>
53757         Call va_end in boot_error
53759         * src/gnutls.c (boot_error): A recent change added a function
53760         to signal an error or return an error code. That function uses
53761         a variadic argument list to populate an error message
53762         string. However, it missed calling va_end after using the
53763         variadic argument list.
53765           Copyright-paperwork-exempt: yes
53767 2016-05-02  Aaron Conole  <aconole@bytheb.org>
53769         Fix the call to set_network_coding_system
53771         * src/process.c (Fmake_network_process): A recent commit
53772         modified the set_network_socket_coding_system function to take
53773         arguments host, service, and name. However, those arguments
53774         appear to be swapped.
53776           Copyright-paperwork-exempt: yes
53778 2016-05-02  Lars Ingebrigtsen  <larsi@gnus.org>
53780         Revert "alas, a map can have only one parent"
53782         This reverts commit d05806fda1cbba2db112bc783597fbe9d27175b2.
53784         This had already been fixed by using `make-composed-map'.  And
53785         we don't want image-map to inherit from special-mode-map, anyway.
53787 2016-05-02  Paul Eggert  <eggert@cs.ucla.edu>
53789         Merge from origin/emacs-25
53791         bf21c84 Fix quoting problem in cc-engine debug message
53792         8f36614 Add electric-quote-string unit test
53793         6280531 Don’t electrically quote ‘'’ in Python
53794         fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits
53796 2016-05-02  Sam Steingold  <sds@gnu.org>
53798         alas, a map can have only one parent
53800         * lisp/image-mode.el (image-model-map): Cannot have two parents.
53801         * lisp/image.el (image-map): Inherit from `special-mode-map'.
53803 2016-05-02  Michael Albinus  <michael.albinus@gmx.de>
53805         Fix Bug#10085
53807         * lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
53808         Add optional arguments OPERATION and COMPETION.  Handle
53809         `file-name-as-directory', `file-name-directory' and
53810         `file-name-nondirectory' also in completion mode.
53811         (tramp-file-name-handler): Use it.  (Bug#10085)
53813         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
53814         Extend test.
53816 2016-05-01  Martin Rudalics  <rudalics@gmx.at>
53818         * src/minibuf.c (read_minibuf): Use CONSP instead of Fconsp.
53820 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53822         Tweak .gitignore
53824         * .gitignore: Remove leim/changed.misc, leim/changed.tit,
53825         as these files are no longer created.  Add gmon.out, for
53826         -pg profiling.  Sort.
53828 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53830         Sync from gnulib
53832         This incorporates:
53833         2016-05-01 mktime: port to stricter signed overflow checking
53834         2016-05-01 mktime: speed up DEBUG_MKTIME benchmarks
53835         2016-05-01 mktime: resurrect DEBUG_MKTIME testing
53836         2016-05-01 mktime: simplify DEBUG_MKTIME
53837         2016-05-01 Port mktime_internal offset to unsigned time_t
53838         2016-04-27 xstrtol: prohibit monstrosities like "1bB"
53839         2016-04-13 mktime: improve integer overflow checking
53840         2016-04-13 intprops: check two's complement assumption
53841         2016-04-13 intprops, mktime, strtol: assume two's complement
53842         * lib/intprops.h, lib/mktime-internal.h, lib/mktime.c:
53843         * lib/strtol.c, lib/timegm.c, m4/mktime.m4, m4/std-gnu11.m4:
53844         Copy from gnulib.
53846 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53848         Merge from origin/emacs-25
53850         c695fb3 ; Spelling fixes
53851         03750c0 * doc/misc/texinfo.tex: Sync from gnulib.
53852         42fed3b * lisp/isearch.el (isearch-forward-symbol-at-point): Add isea...
53854 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53856         Merge from origin/emacs-25
53858         d8affa3 Use ‘T *restrict’ proto, not ‘T[restrict]’
53859         d38d2a8 Fix documentation of 'url-retrieve-synchronously'
53860         586b213 * lisp/url/url.el (url-retrieve-synchronously): Doc fix.  (Bu...
53862         # Conflicts:
53863         #       doc/misc/url.texi
53864         #       lisp/url/url.el
53866 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53868         Merge from origin/emacs-25
53870         16e5e8e Fix last change to isearch-update (bug#23406)
53871         b755d98 Autoload cursor-sensor-inhibit (bug#23406)
53872         b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call
53873         86aa409 Followup for last commit in the user manual
53874         7004459 Improve doc string of 'set-goal-column'
53875         ccdaf04 Fix the MSDOS build
53876         ffe701c Remove \= from format string (bug#18190)
53877         1c58fa1 Fix variable-pitch font on MS-Windows
53878         c6077bf Restore follow-scroll-up/down to scrolling by the combined si...
53879         b671e21 Revert unneeded change which harms syntactic parsing.  This f...
53880         48b24c9 Correct indentation of ids in a C++ enum after a protection k...
53881         5c3534f * lisp/window.el (window--process-window-list): No-op if no p...
53882         734fb3a Port dumping to NetBSD with PaX
53883         0255a70 Don't mistake `for' inside a function for a part of array com...
53885         # Conflicts:
53886         #       src/Makefile.in
53888 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53890         Merge from origin/emacs-25
53892         71fb0e0 Improve last change to vc-git-mode-line-string
53893         6858e77 Todo mode doc bug fix
53894         e55d0db Fix revision calculation in vc-git-mode-line-string
53895         ca87b34 ; Fix errant revert ccb75d7
53896         40bfebe Add Python 3.5 keyword "await"
53897         fa7886a Add new keywords of Python 3.5
53898         ccb75d7 Partially revert previous change.
53899         8ee168a ; * etc/NEWS: Update entry about color fonts on OS X with a w...
53900         b09ca27 Say why text-quoting-style is not a user option
53902 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
53904         Merge from origin/emacs-25
53906         5a952eb Don't mention ~/.emacs.bmk literally in doc strings
53907         c338cf3 * etc/NEWS: Explain why multicolor font display is disabled o...
53908         c30d1b4 Port to Ubuntu 16.04 --enable-gcc-warnings
53910 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
53912         Mention the `find-library-name' changes
53914 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
53916         Fix text in menu in minor-mode-menu-from-indicator
53918         * lisp/mouse.el (minor-mode-menu-from-indicator): Don't
53919         capitalize "Off" in "Turn Off" (bug#11028).
53921 2016-05-01  David Engster  <deng@randomsample.de>
53923         gitmerge: Add cherry pick to gitmerge-skip-regexp
53925         * admin/gitmerge.el (gitmerge-skip-regexp): Add "cherry picked
53926         from commit", which is the string appended by 'git cherry-pick
53927         -x'.
53929 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
53931         Allow `global-set-key' to bind keys under the `M-o' map
53933         * lisp/subr.el (global-set-key): Allow binding keys under the
53934         `M-o' map (bug#9730).
53936 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
53938         Add `size-indication-mode' to the menu on `mouse-1' "Top"
53940         * lisp/bindings.el (mode-line-column-line-number-mode-map):
53941         Add `size-indication-mode' to the menu (bug#5727).
53943 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
53945         Allow finding libraries loaded manually outside the load-path
53947         * lisp/emacs-lisp/find-func.el (find-library--from-load-path):
53948         New function to find a library from a load path (bug#5661).
53949         (find-library-name): Use it.
53951         There are so many combinations of inputs and possibly entries in
53952         `load-history' that the code looks like an entry in a code obfuscation
53953         contest.  If anybody has a better implementation, please substitute.
53955         But remember that the input given may be foo, foo.el, foo.elc, and the
53956         entries in load-history may be foo.el, foo.elc and foo.el.gz, and we
53957         want to return only foo.el and foo.el.gz.  *phew*
53959 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
53961         Allow minibuffer prompts to use faces
53963         * doc/lispref/minibuf.texi (Text from Minibuffer): Document
53964         `minibuffer-prompt-properties' and explain how faces work in
53965         the minibuffer prompt.
53967         * src/minibuf.c (read_minibuf): If `face' is in
53968         `minibuffer-prompt-properties', apply it to the end of the
53969         face list to allow users to have their own faces on the
53970         prompts (bug#16136).
53972 2016-05-01  Peter Feigl  <peter.feigl@nexoid.at>  (tiny change)
53974         Add R7RS syntax forms to scheme.el
53976         * lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
53977         a number of special forms introduced in R7RS-small.
53978         * lisp/progmodes/scheme.el (scheme-indent-function): Same.
53980 2016-05-01  Alan Third  <alan@idiocy.org>
53982         Implement horizontal scroll bars on NS
53984         * lisp/scroll-bar.el (horizontal-scroll-bars-available-p): Remove NS
53985         check.
53986         * lisp/term/ns-win.el: Remove custom NS scroll-bar handlers and bind
53987         scroll-bar mouse clicks to standard handlers.
53988         * src/nsterm.h (EmacsScroller): Add 'horizontal' property and rename
53989         pixel_height to pixel_length.
53990         * src/nsterm.m (x_set_window_size): Remove left-hand scroll-bar code. It
53991         caused scroll-bars to be over-drawn and the best working solution
53992         appears to be complete removal.
53993         (ns_set_horizontal_scroll_bar): Rewrite to handle horizontal scrollers
53994         correctly.
53995         (ns_set_vertical_scroll_bar): Set width to actual scroller width.
53996         (setFrame): Handle horizontal case.
53997         (dealloc): Handle horizontal case.
53998         (judge): Handle horizontal case.
53999         (setPosition): Rename pixel_height to pixel_length.
54000         (sendScrollEventAtLoc): Handle horizontal case.
54001         (mouseDown): Handle horizontal case and general tidy up of code.
54002         (mouseDragged): Handle horizontal case. Call sendScrollEventAtLoc with
54003         absolute pixel size instead of ratio.
54004         * src/window.h: Remove NS check.
54006 2016-05-01  Michael Albinus  <michael.albinus@gmx.de>
54008         tramp.texi: Revert last change due to backward compatibility
54010 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
54012         Fix the buffer-count patch (Bug#23394)
54014         * src/buffer.c (Fgenerate_new_buffer_name): Increment count just
54015         once each time through the loop.  Reported by Lars Ingebrigtsen in:
54016         https://lists.gnu.org/r/emacs-devel/2016-04/msg00918.html
54018 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54020         cua-prefix-override-inhibit-delay doc fix
54022         * lisp/emulation/cua-base.el
54023         (cua-prefix-override-inhibit-delay): Typo fix in doc string
54024         (bug#23401).
54026 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
54028         Fix generate-new-buffer-name increment typo
54030         Problem reported by Chaitanya Koparkar (Bug#23394).
54031         * src/buffer.c (Fgenerate_new_buffer_name): Increment count when
54032         generating a new buffer.  This fixes a typo I introduced in
54033         2014-04-05T00:04:58Z!eggert@cs.ucla.edu.
54035 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54037         global-eldoc-mode doc fix
54039         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Be more
54040         specific about what "applicable" means (bug#23071).
54042 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54044         Make the legend in describe-categories a link
54046         * lisp/help-fns.el (describe-categories): Make the "see
54047         bottom" text a link (bug#22227).
54049 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54051         normal-top-level-add-subdirs-to-load-path doc fix
54053         * lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
54054         Doc fix (bug#21962).
54056 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54058         isearch-search-fun-function doc tweak
54060         * lisp/isearch.el (isearch-search-fun-function): Mention what
54061         the STRING parameter is (bug#21552).
54063 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54065         Fill some imenu--index-alist doc lines
54067         * lisp/imenu.el (imenu--index-alist): Fill some doc lines (bug#21269).
54069 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54071         Make describe-variable look up the variable in the current buffer
54073         * lisp/help-fns.el (describe-variable): Get the variable
54074         definition in the buffer we were called from (in case it only
54075         exists there) (bug#21252).
54077 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54079         Fmarker_position doc string clarification
54081         * src/marker.c (Fmarker_position): Clarify the doc string
54082         (bug#21231).
54084 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54086         Further define-obsolete-* doc fixups
54088         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
54089         Fix up last change.
54090         (define-obsolete-variable-alias): Ditto.
54092 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54094         Describe WHEN in all the define-obsolete- macros
54096         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
54097         Say more verbosely what WHEN is (bug#21225).
54098         (define-obsolete-function-alias): Describe the WHEN parameter.
54099         (define-obsolete-variable-alias): Ditto.
54101 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54103         Mention with-silent-modifications in the lispref manual
54105         * doc/lispref/text.texi (Changing Properties): Document
54106         with-silent-modifications (bug#21171).
54108 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54110         with-silent-modifications doc clarification
54112         * lisp/subr.el (with-silent-modifications): Rearrange the doc
54113         string a bit so that the most pertinent information is at the
54114         top (bug#21171).
54116 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54118         clear-visited-file-modtime doc string fix
54120         * lisp/files.el (clear-visited-file-modtime): Fix possibly
54121         confusing doc string wording (bug#21169).
54123 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54125         Document mode mode line variables
54127         * doc/lispref/modes.texi (Mode Line Variables): Document
54128         `mode-line-front-space, `mode-line-misc-info',
54129         `mode-line-end-spaces' (bug#21014).
54131 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54133         Add a cross ref to Optional Mode Line
54135         * doc/lispref/modes.texi (Mode Line Variables): Add a cross
54136         reference to the Emacs mode line node that explains things
54137         like `display-time-string' (bug#21002).
54139 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54141         Add a doc string to display-time-string
54143         * lisp/time.el: Add a doc string to `display-time-string',
54144         because it's referred to in the manual, and is too mysterious
54145         otherwise (bug#21002).
54147 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54149         custom-buffer-style doc fix
54151         * lisp/cus-edit.el (custom-buffer-style): Document the `tree'
54152         value (bug#20724).
54154 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54156         Document how to check for ImageMagick support
54158         * doc/lispref/display.texi (ImageMagick Images): Say how to
54159         check for ImageMagick support, which isn't quite obvious
54160         (bug#20702).
54162 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54164         Minor doc fix for ImageMagick/SVG builds
54166         * doc/lispref/display.texi (SVG Images): Don't imply that you
54167         have to build Emacs yourself (bug#20702).
54168         (ImageMagick Images): Ditto.
54170 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54172         Rearrange the doc of query-replace slightly
54174         * lisp/replace.el (query-replace): Move the mention of the
54175         interactive prefix arg earlier so that users can find it
54176         (bug#20654).
54178 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54180         apropos-print doc fix
54182         * lisp/apropos.el (apropos-print): Document the undocumented
54183         parameters (bug#20520).
54185 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54187         completion-table-with-predicate doc string fix
54189         * lisp/minibuffer.el (completion-table-with-predicate): t ->
54190         non-nil in the doc string (bug#20460).
54192 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54194         Fill the completion-table-with-predicate doc string
54196         * lisp/minibuffer.el (completion-table-with-predicate): Fill
54197         the doc string (bug#20460).
54199 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54201         replace-match-maybe-edit doc clarification
54203         * lisp/replace.el (replace-match-maybe-edit): Say what
54204         MATCH-DATA is (bug#20304).
54206 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54208         add-timeout doc fix
54210         * lisp/emacs-lisp/timer.el (add-timeout): Mention the return
54211         value (bug#20181).
54213 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54215         Extremely minor doc fix in Choosing Window
54217         * doc/lispref/windows.texi (Choosing Window): There's only one
54218         action alist, I think (bug#20158).
54220 2016-04-30  Alan Mackenzie  <acm@muc.de>
54222         * .dir-locals.el: Amend for correct fontification of *.[ch]
54223         containing "IF_LINT"
54225 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54227         Transform mentions of `eval-after-load' to `with-eval-after-load'
54229         * doc/lispref/loading.texi (Hooks for Loading): Update text to
54230         not mention `eval-after-load' (bug#20038).
54232 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54234         cursor-type doc fix
54236         * src/buffer.c (syms_of_buffer): Mention that cursor-type's
54237         WIDHT/HEIGHT can't exceed the frame char size (bug#19215).
54239 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54241         Add a link from Tool Bar to Images
54243         * doc/lispref/keymaps.texi (Tool Bar): Add a link to the
54244         Images node (bug#19722).
54246 2016-04-30  Alan Mackenzie  <acm@muc.de>
54248         CC Mode: Recognize a noise macro with parens after a declarator's identifier
54250         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): In the while loop
54251         following comment "Skip over type decl suffix operators." insert code also
54252         to check for noise macros with parentheses.
54254 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54256         (default-mode-line-format): More explicit obsolete info
54258         * lisp/subr.el (default-mode-line-format): Be more explicit in
54259         how default values are now handled (bug#19424).
54261 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54263         Fcompare_buffer_substrings doc string clarification
54265         * src/editfns.c (Fcompare_buffer_substrings): Extremely minor
54266         doc string clarification (bug#19255).
54268 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54270         insert-file-contents-literally doc fix
54272         * lisp/files.el (insert-file-contents-literally): Say that the
54273         parameters are explained in the other function (bug#18317).
54275 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54277         Fix custom types for cursor-in-non-selected-windows
54279         * lisp/cus-start.el (standard): Use the same custom types for
54280         cursor-in-non-selected-windows as for cursor-type (bug#19214).
54282 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54284         Doc clarification to mwheel-scroll
54286         * lisp/mwheel.el (mwheel-scroll): Mention that the restriction
54287         does not apply to Windows (bug#19209).
54289 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54291         Clarify the doc of eval-expression-print-format
54293         * lisp/simple.el (eval-expression-print-format): Doc
54294         clarification (bug#19114).
54296 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54298         (extended-command-suggest-shorter): Add a version string
54300         * lisp/simple.el (extended-command-suggest-shorter): Add a
54301         version string.
54303 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54305         Document extended-command-suggest-shorter
54307         * doc/emacs/m-x.texi (M-x): Mention
54308         extended-command-suggest-shorter (bug#19152).
54310 2016-04-30  Ivan Shmakov  <ivan@siamics.net>
54312         Add a variable to control "shorter command" suggestions
54314         * lisp/simple.el (extended-command-suggest-shorter): New variable (bug#19152).
54315         (execute-extended-command): Use it.
54317 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54319         Explictly explain that package-initialize loads the packages
54321         * lisp/emacs-lisp/package.el (package-initialize): Be explicit
54322         in saying that `package-initialize' obviates adjusting the
54323         path or requiring the packages, as this is a question that
54324         apparently comes up now and then (bug#18829).
54326 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54328         Have the doc strings of `load-path' and `require' mention each other
54330         * src/fns.c (Frequire): Mention `load-path' and fill the doc
54331         string (bug#18829).
54333         * src/lread.c (syms_of_lread): Mention that `require' uses
54334         `load-path'.
54336 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54338         Doc fix for insert-pair-alist
54340         * lisp/emacs-lisp/lisp.el (insert-pair-alist): Say what
54341         COMMAND-CHAR is (bug#18809).
54343 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54345         Move doc of backup-directory-alist to the Backup node
54347         * doc/emacs/files.texi (Backup): Move the documentation of
54348         `backup-directory-alist' here from the "Single or Numbered
54349         Backups" node, because it doesn't seem to have much to do with
54350         numbering (bug#18692).
54352 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54354         Tiny doc clarification for create-fontset-from-fontset-spec
54356         * lisp/international/fontset.el (create-fontset-from-fontset-spec):
54357         Clarify what the optional part is (bug#18686).
54359 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54361         Fill the doc string of font-lock-keywords
54363         * lisp/font-lock.el (font-lock-keywords): Fill the lines and
54364         reorganize some explanations (bug#21427).
54366 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54368         Doc fix for font-lock-remove-keywords
54370         * lisp/font-lock.el (font-lock-remove-keywords): Add a link to
54371         `font-lock-add-keywords' to describe KEYWORDS (bug#18634).
54373 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54375         Clarify whitespace-style doc string
54377         * lisp/whitespace.el (whitespace-style): Doc clarification
54378         (bug#18296).
54380 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54382         No need to test for jka-compr
54384         * lisp/vc/ediff-util.el (ediff-file-compressed-p): jka-compr
54385         is always available; no need to test (bug#18204).
54387 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54389         Doc fixed for next-error-buffer-p
54391         * lisp/simple.el (next-error-buffer-p): Clarify doc string
54392         (bug#18202).
54394 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54396         Tiny doc fix
54398         * src/fileio.c (Ffile_accessible_directory_p): Tiny doc fix
54399         (and fill) (bug#18201).
54401 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54403         Doc fix
54405         * src/keymap.c (Fdefine_prefix_command): Clarify doc string
54406         slightly (bug#18092).
54408 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54410         delsel doc touch ups
54412         * lisp/delsel.el (delete-selection-helper): Use non-nil
54413         instead of t and clarify function return values (bug#18089).
54415 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54417         Doc fixes for menu-bar.el
54419         * lisp/menu-bar.el (clipboard-kill-ring-save): Describe the
54420         REGION parameter (bug#18028).
54421         (clipboard-kill-region): Ditto.
54423 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54425         Doc fix
54427         * lisp/rect.el (delete-whitespace-rectangle): Doc fix (bug#18026).
54429 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54431         Minor doc clarification
54433         * lisp/subr.el (y-or-n-p): Document the return value from "n"
54434         (bug#18024).
54436 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54438         Fill font-lock-mode doc string
54440         * lisp/font-core.el (font-lock-mode): Fill the text to make it
54441         narrower (bug#18008).
54443 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54445         Wrap the auto-generated doc string
54447         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Wrap a
54448         string to make it less likely that we get overlong lines
54449         (bug#17999).
54451 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54453         Clarify hi-lock-find-patterns
54455         * lisp/hi-lock.el (hi-lock-find-patterns): Doc clarification
54456         (bug#17989).
54458 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54460         Warning fix in jit-lock-mode
54462         * lisp/jit-lock.el (jit-lock-mode): Don't issue a warning when
54463         turning the mode on in an indirect buffer, if this somehow has
54464         happened (bug#17738).
54466 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54468         Add a doc string to `winner-mode'
54470         * lisp/winner.el (winner-mode): Add a doc string based on the
54471         comments in the file (bug#17716).
54473 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54475         Doc fix for align-newline-and-indent
54477         * lisp/align.el (align-newline-and-indent): Mention that
54478         alignment is done by `align' (bug#17707).
54480 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54482         Cancel the eldoc timer when switching off eldoc mode
54484         * lisp/emacs-lisp/eldoc.el (eldoc-mode): Cancel the eldoc
54485         timer when switching off eldoc mode.  It will be restarted
54486         again if needed (bug#17582).
54488 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54490         Doc fix for `kbd'
54492         * lisp/subr.el (kbd): Describe more fully the format of the
54493         parameter (bug#17039).
54495 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54497         Add a sanity check to apropos-documentation-internal
54499         * lisp/apropos.el (apropos-documentation-internal): Add a
54500         sanity check to be less fragile in the presence of invalid
54501         data (bug#16725).
54503 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54505         Doc tweak
54507         * lisp/simple.el (use-empty-active-region): Doc tweak.
54508         There's only one region (bug#16513).
54510 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54512         Clarify `read-face-name' doc and tweak the code
54514         * lisp/faces.el (read-face-name): Clarify the documentation
54515         and allow a mix of faces and faces names in all cases
54516         (bug#16483).
54518 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54520         Remove ": ?" from the read-face-name prompt
54522         * lisp/faces.el (read-face-name): Remove ": ?" from the prompt
54523         to be more backwards compatible (bug#15909).
54525 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54527         Link from (emacs)Exiting to (lisp)Killing Emacs
54529         * doc/emacs/entering.texi (Exiting): Link to the lispref
54530         manual for further customizations (bug#15445).
54532 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54534         find-lisp doc touchups
54536         * lisp/find-lisp.el (find-lisp-format): Copy over the doc
54537         string (bug#15047).
54538         (find-lisp-find-files): Clarify doc.
54540 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54542         Don't have the manual claim that it lists all CL incompatibilities
54544         * doc/misc/cl.texi (Common Lisp Compatibility): The list of
54545         incompatibilities isn't exhaustive, so don't say that it is
54546         (bug#15171).
54548 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54550         Fix call of `kmacro-display'
54552         * lisp/kmacro.el (kmacro-view-ring-2nd): Fix call of
54553         `kmacro-display' (bug#15020).
54555 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
54557         Change all occurrences of "Mouse-[0-9]" to "mouse-[0-9]"
54559         * doc/emacs/*.texi: Change all occurrences of "Mouse-[0-9]" to
54560         "mouse-[0-9]".  These are case sensitive, and the keys are lower case
54561         (bug#14554).
54563 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
54565         Rename "Directory Search" menu to "Servers"
54567         * lisp/menu-bar.el (menu-bar-tools-menu): Rename "Directory
54568         Search" to "Directory Servers".  Suggested by Eli
54569         Zaretskii. (bug#14919).
54571         * lisp/net/eudc.el: Rename ditto throughout.
54573 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
54575         Remove uses of the unused to-end parameter from simple.el
54577         * lisp/simple.el (line-move-partial): Remove usages of the
54578         unused to-end parameter, and make it optional (bug#14844).
54579         (line-move): Remove use of the unused to-end parameter.
54581 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
54583         Doc fix: _ chars are automatically removed.
54585         * lisp/cus-edit.el (custom-buffer-create): _ chars are
54586         automatically removed when displaying help, so fix the last
54587         doc change.
54588         (custom-buffer-create-other-window): Ditto.
54590 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
54592         Doc string change to enable-recursive-minibuffers
54594         * src/minibuf.c (syms_of_minibuf): Mention
54595         minibuffer-depth-indicator-mode in the doc string to
54596         enable-recursive-minibuffers (bug#14147).
54598 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
54600         Fix definition of nobreak-space
54602         * lisp/faces.el (nobreak-space): The definition to
54603         nobreak-space was inadvertantly changed by the previous checkin.
54605 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
54607         Clarify the `interactive' doc string slightly
54609         * src/callint.c (Finteractive): Clarify the doc string slightly
54610           (bug#14577).
54612 2016-04-28  Drew Adams  <drew.adams@oracle.com>
54614         Make icomplete respect `completion-ignored-extensions'
54616         * lisp/icomplete.el (icomplete-completions): Heed
54617         `completion-ignored-extensions' (bug#12939).
54619 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
54621         Make ibuffer not break on newline-embedded buffer names
54623         * lisp/ibuffer.el (name): When buffer names contain newlines,
54624         quote those newlines before displaying (bug#12378).
54626 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
54628         Add a new face for non-breaking hyphen characters
54630         * doc/emacs/display.texi (Standard Faces): Mention nobreak-hyphen.
54631         (Text Display): Ditto.
54633         * lisp/faces.el (nobreak-hyphen): New face (bug#12048).
54635         * src/xdisp.c (get_next_display_element): Use it instead of
54636         the escape-glyph face.
54638         * src/xdisp.c (syms_of_xdisp): New symbil Qnobreak_hyphen.
54640 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
54642         Make a menu less ambiguous
54644         * doc/emacs/custom.texi (Key Bindings): The Modifier Keys node
54645         is about using modifier keys, not binding them (bug#10942).
54647 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
54649         Make kill-emacs-query-functions into defcustom
54651         * lisp/files.el (save-buffers-kill-terminal): Mention
54652         `save-buffers-kill-emacs' (bug#10794).
54653         (kill-emacs-query-functions): Made into a defcustom.
54655 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
54657         Have describe-variable output multi-line values better
54659         * lisp/help-fns.el (describe-variable): When printing
54660         multi-line expressions, display them prettier (bug#10723).
54662 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
54664         Clean up custom-buffer-create code slightly
54666         * lisp/cus-edit.el (custom-buffer-create-other-window): Don't
54667         pass the unused description value on (for clarity) (bug#10540).
54668         (custom-buffer-create): Ditto
54670 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
54672         Clarify some doc strings
54674         * lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
54675         Clarify doc string (bug#8693).
54676         (syntax-propertize): Clarify doc string.
54678 2016-04-28  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
54680         Fix number-at-point in lisp buffers
54682         * lisp/thingatpt.el (number-at-point): Don't say that things
54683         like ?a are numbers in lisp mode buffers (bug#8634).
54685 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
54687         Don't consider colons to be paragraphs starting chars in strings
54689         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't
54690         consider colons to start paragraphs in (doc) strings
54691         (bug#7751).
54693 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
54695         Make `undo' of `C-x r t' put point where it should be
54697         * lisp/rect.el (string-rectangle): Make `undo' of a this
54698         command put point back where it was (bug#7522).
54700 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
54702         Add some concept index entries for custom types
54704         * doc/lispref/customize.texi (Composite Types): Add concept
54705         index entries for restricted-sexp, radio and choice (bug#7385).
54707 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
54709         Mention `lisp-indent-function' in the lispref manual
54711         * doc/lispref/macros.texi (Indenting Macros): Mention
54712         `lisp-indent-function' (bug#3393).
54714 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
54716         Clarify doc string of internal compilation function
54718         * lisp/progmodes/compile.el (compilation-get-file-structure):
54719         Clarify doc string (bug#3137).
54721 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
54723         Avoid having `C-x h' mark the prompt part of the minibuffer
54725         * lisp/simple.el (mark-whole-buffer): Don't mark the prompt
54726         part of the minibuffer (bug#2589).
54728 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
54730         Allow a prefix argument to find-library to pop to a different window
54732         * lisp/emacs-lisp/find-func.el (find-library): Allow a prefix
54733         argument to pop to a different window (bug#2270).
54735 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
54737         Move the diff command to "Operate" in ibuffer
54739         * lisp/ibuffer.el (ibuffer-mode-operate-map): Move the diff
54740         command to the "Operate" menu, and remove the customization
54741         entry to make the "View" menu more logical (bug#1150).
54743 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
54745         Make the minor modes in help buffers into buttons
54747         * lisp/help.el (describe-mode): Make the minor modes into
54748         buttons to enable easier documentation traversal (bug#1149).
54750 2016-04-27  Jorgen Schaefer  <contact@jorgenschaefer.de>
54752         Add a number of Python 3 exceptions
54754         * lisp/progmodes/python.el (python-font-lock-keywords): Clean up
54755         the exception list, adding a number of new Python 3 exceptions and
54756         moving some exceptions to the Python 2 and 3 list as Python 2.7
54757         includes them.
54759 2016-04-26  Anders Lindgren  <andlind@gmail.com>
54761         Fix bug#22891: wrong terminal width when a fringe width is zero.
54763         When either fringe width is zero, Emacs reserved one column for a
54764         continuation glyph. Terminal windows does not take this into
54765         account when the frame is resized.
54767         * lisp/window.el (window-adjust-process-window-size): Use
54768         `window-max-chars-per-line' instead of `window-body-width'.
54769         * lisp/term.el (term-window-width): Remove function. (It does the
54770         same as `window-max-chars-per-line' but without recent bug fixes.)
54771         (term-mode): Use `window-max-chars-per-line' instead of
54772         `term-window-width'.
54774 2016-04-26  Simen Heggestøyl  <simenheg@gmail.com>
54776         Add completion of `calc()' in CSS mode
54778         * lisp/textmodes/css-mode.el (css-value-class-alist): Add `calc()' as
54779         a completion candidate for several value classes.
54780         (css--value-class-lookup): Return only unique results.
54782         * test/lisp/textmodes/css-mode-tests.el
54783         (css-test-property-values-no-duplicates)
54784         (css-test-value-class-lookup): Update to reflect the above changes.
54786 2016-04-26  Paul Eggert  <eggert@cs.ucla.edu>
54788         Fix socketd fd startup bug that I introduced
54790         Problem reported by Matthew Leach in:
54791         https://lists.gnu.org/r/emacs-devel/2016-04/msg00778.html
54792         * src/emacs.c (main): Indicate more clearly the coupling between
54793         the --daemon option and init_process_emacs.
54794         * src/lisp.h: Adjust to API changes.
54795         * src/process.c (set_external_socket_descriptor):
54796         Remove, replacing by ...
54797         (init_process_emacs): ... passing the socket FD here instead.
54798         All uses changed.
54800 2016-04-25  Tao Fang  <fangtao0901@gmail.com>
54802         Fix: (void-variable url-http-response-status)
54804         * lisp/url/url-http.el
54805         (url-https-proxy-after-change-function): Display the error
54806         message before doing the callback to avoid a void variable
54807         situation (bug#23290).
54809 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
54811         smtpmail would say it's done before it is
54813         * lisp/mail/smtpmail.el (smtpmail-via-smtp): Move the sending
54814         of the data end marker from here... (bug#23020).
54815         (smtpmail-send-data): ... to here, so that we don't get a
54816         "Sending done" before we've sent the final "." (which can make
54817         the SMPT server reject the email.
54819 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
54821         `url-retrieve-synchronously' now takes an optional timeout parameter
54823         * doc/misc/url.texi (Retrieving URLs): Document optional parameters.
54825         * lisp/url/url.el (url-retrieve-synchronously): Allow passing
54826         in a timeout parameter (bug#22940).
54828 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
54830         Include "Retype" as a comint password prompt
54832         * lisp/comint.el (comint-password-prompt-regexp): Include
54833         "Retype" to catch "Retype password for [account]:" from the
54834         "pass" utility (bug#22942).
54836 2016-04-25  Alan Mackenzie  <acm@muc.de>
54838         Fix spurious fontification of "for (; a * b;)" in CC Mode.
54840         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Check for being
54841         inside the parens of a for statement and after a semicolon near the beginning
54842         of the lambda form.
54844 2016-04-25  Paul Eggert  <eggert@cs.ucla.edu>
54846         New function ‘char-from-name’
54848         This also fixes the mishandling of "\N{CJK COMPATIBILITY
54849         IDEOGRAPH-F900}", "\N{VARIATION SELECTOR-1}", etc.
54850         Problem reported by Eli Zaretskii in:
54851         https://lists.gnu.org/r/emacs-devel/2016-04/msg00614.html
54852         * doc/lispref/nonascii.texi (Character Codes), etc/NEWS: Document this.
54853         * lisp/international/mule-cmds.el (char-from-name): New function.
54854         (read-char-by-name): Use it.  Document that "BED" is treated as
54855         a name, not as a hexadecimal number.  Reject out-of-range integers,
54856         floating-point numbers, and strings with trailing junk.
54857         * src/lread.c (character_name_to_code): Call char-from-name
54858         instead of inspecting ucs-names directly, so that we handle
54859         computed names like "VARIATION SELECTOR-1".  Do not use an auto
54860         string, since char-from-name might GC.
54861         * test/src/lread-tests.el: Add tests for new behavior, and
54862         fix some old tests that were wrong.
54864 2016-04-25  Alan Mackenzie  <acm@muc.de>
54866         c-forward-<>-arglist no longer directly applies face properties in Java Mode.
54868         This allows the calling of c-restore-<>-properties from c-common-init without
54869         the test suite giving spurious errors.
54871         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove the form that
54872         sets face properties.
54873         (c-forward-<>-arglist-recur): Reformulate the bit that handles types inside
54874         template brackets using c-inside-<>-type-key.  Don't bind
54875         c-record-type-identifiers or c-record-found-types around the recursive call,
54876         allowing positions of found types to flow back to the caller.
54878         * lisp/progmodes/cc-langs.el (c-inside-<>-type-kwds, c-inside-<>-type-key):
54879         new lang consts/var.
54881         * lisp/progmodes/cc-mode.el (c-common-init): Don't remove
54882         c-restore-<>-properties from the list of functions called at mode
54883         initialization.
54885 2016-04-25  Jun Hao  <jun_hao@aol.com>
54887         Pass in port only if provided by caller in the OS X keychain
54889         * lisp/auth-source.el (auth-source-macos-keychain-search): Pass in
54890         port only if provided (bug#23374).
54892 2016-04-25  Alan Mackenzie  <acm@muc.de>
54894         Add fontification for a C declaration which looks like a function call.
54896         For example, "t1 *fn (t2 *b);".
54898         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add new variable
54899         at-decl-start, setting it to whether the putative decl starts immediately
54900         after ; or { or }.  Accept such a construct as a decl when at-decl-start is
54901         non-nil.
54903         * lisp/progmodes/cc-langs.el (c-pre-start-tokens): New language variable.
54905 2016-04-25  Eli Zaretskii  <eliz@gnu.org>
54907         Don't mirror slashes in convert-standard-filename on MS-Windows
54909         * lisp/w32-fns.el (w32-convert-standard-filename): Don't mirror
54910         slashes into backslashes.  This avoids producing ugly file names,
54911         and is deemed no longer necessary, and should certainly be
54912         unrelated to which shell is in use.
54914 2016-04-24  Dmitry Gutov  <dgutov@yandex.ru>
54916         Revert the disputed VC change and update the tests
54918         * lisp/vc/vc-hooks.el (vc-working-revision):
54919         Remove the previous change.
54920         (vc-state): Same.  And update the old, incorrect comment about
54921         unregistered files
54922         (https://lists.gnu.org/r/emacs-devel/2016-04/msg00526.html).
54924         * test/lisp/vc/vc-tests.el (vc-test--state): Remove the check
54925         calling `vc-state' on default-directory (VC state is undefined
54926         for directories).  Check that `vc-state' returns nil where it
54927         returned `unregistered' before.  Remove all checks comparing
54928         invocations with the backend passed in explictly and without.
54929         (vc-test--working-revision): Remove all checks comparing
54930         invocations with the backend passed in explictly and without.
54931         Update comments, and add a new one.
54933 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
54935         * etc/NEWS: Grammar and punctuation improvements.
54937 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
54939         Merge from origin/emacs-25
54941         9daf1cf * etc/NEWS: Improve wording of vc-git-log-output-coding-syste...
54942         0cd2e92 Don't kill ~/ if it's the top level directory
54943         4f40f5f describe-char: fix insert char documentation
54944         87ee542 (vc-git-mode-line-string): Don't use `replace-regexp-in-string'
54946 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
54948         Merge from origin/emacs-25
54950         960f90d * etc/AUTHORS: Update the AUTHORS file
54951         b21e9d4 * admin/update_autogen: Use #!/usr/bin/env bash
54953 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
54955         Merge from origin/emacs-25
54957         78f9af7 ; ChangeLog fixes
54958         162e549 * admin/authors.el (authors-ignored-files): Additions.
54959         2b31a0c In x_set_window_size restore do_pending_window_change calls
54960         401857e Fix Alt-modified keys on some European MS-Windows keyboards
54961         a77cf24 Document 'help-go-forward'
54962         1ba947f Revert "Allow to customize names of executables used by grep.el"
54963         570e0fa Revert "Don't use 'find-program'"
54964         645f4ef Revert "Use 'grep-find-program' in check-declare.el"
54965         aa03257 Clarify documentation of 'dired-mark-files-containing-regexp'
54966         ce0d8c7 Make tmm-menubar work in correct order again
54967         b8d5a8f Remove the Meta-CVS VC backend
54969 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
54971         Don't let `css--property-values' return duplicates
54973         * lisp/textmodes/css-mode.el (css--property-values): Don't return
54974         duplicate values.
54976         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
54977         Take the above into account.
54978         (css-test-property-values-no-duplicates): Test that duplicates aren't
54979         returned by `css--property-values'.
54981 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
54983         Call `make-composed-keymap' correctly
54985         * lisp/image-mode.el (image-mode-map): Call
54986         `make-composed-keymap' correctly.
54988 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
54990         Use `make-composed-keymap' instead of copying the keymap
54992         * lisp/image-mode.el (image-mode-map): Use
54993         `make-composed-keymap' instead of copying the keymap.
54995 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
54997         Make `q' etc work in image mode again
54999         * lisp/image-mode.el (image-mode-map): Restore
55000         special-mode-map as the parent keymap of image-mode-map (bug#23167).
55002 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55004         Fix typo in last url.texi checkin
55006 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55008         Make STARTTLS error messages better
55010         * lisp/net/network-stream.el (network-stream-open-starttls):
55011         Output a better error message when TLS negotiation fails while
55012         doing STARTTLS (bug#23027).
55014 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55016         Encode the shr tests files with trailing white space
55018 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
55020         Cache results of `css--property-values'
55022         * lisp/textmodes/css-mode.el (css--property-values): Cache computed
55023         values.
55025         * test/lisp/textmodes/css-mode-tests.el (css-test-property-value-cache):
55026         New regression test for the above.
55028 2016-04-24  Michael Albinus  <michael.albinus@gmx.de>
55030         Some improvements in vc
55032         * lisp/vc/vc-hooks.el (vc-state, vc-working-revision):
55033         Check, whether FILE is registered.
55035         * lisp/vc/vc-rcs.el (vc-rcs-checkout-model): Return `locking'
55036         for nonexistent files.
55038         * test/lisp/vc/vc-tests.el (w32-application-type): Declare.
55039         (vc-test--revision-granularity-function)
55040         (vc-test--unregister-function): Use `vc-call-backend'.
55041         (vc-test--run-maybe-unsupported-function): New defmacro.
55042         (vc-test--register, vc-test--state, vc-test--working-revision)
55043         (vc-test--checkout-model): Use it.  Fix also expected results.
55044         (vc-test-src02-state, vc-test-rcs04-checkout-model): They pass now.
55046 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55048         Document the nil/default values of url-user-agent
55050         * doc/misc/url.texi (Customization): Document the nil/default
55051         values of url-user-agent.
55053 2016-04-24  Clément Pit--Claudel  <clement.pit@gmail.com>
55055         Compute User-Agent dynamically in url-http
55057         * lisp/url/url-http.el (url-http-user-agent-string): Compute
55058         User-Agent string dynamically.
55059         (url-http--user-agent-default-string): New function.
55061         * lisp/url/url-vars.el (url-privacy-level): Allow `emacs' in list
55062         of information not to send.
55063         (url-user-agent): Add nil and `default' options; do not
55064         pre-compute value.
55066 2016-04-24  Jun Hao  <jun_hao@aol.com>
55068         Handle auth-source items with special characters on OS X
55070         * lisp/auth-source.el
55071         (auth-source-macos-keychain-search-items): Handle keychain
55072         output correctly when has special chararcters (bug#22824).
55074 2016-04-24  Magnus Henoch  <magnus.henoch@gmail.com>
55076         Implement process-attributes for Darwin
55078         * src/sysdep.c (timeval_to_timespec, make_lisp_timeval)
55079         (system_process_attributes): Implement process-attributes
55080         for Darwin (bug#16579).
55082 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55084         Use Unicode literals instead of hex values
55086         * lisp/net/shr.el (shr-tag-bdo): Use Unicode literals instead
55087         of hex values for greater readability.
55088         (shr-tag-bdi): Ditto.
55090 2016-04-24  Steve Purcell  <steve@sanityinc.com>
55092         Allow _ characters in SQL prompts
55094         * lisp/progmodes/sql.el (sql-product-alist): Allow _
55095         characters in SQL prompts (bug#22596).
55097         Fixes issue 22596, whereby "_" is now not considered a word constituent
55098         character in sql-interactive-mode, so prompts like "foo_dev# " are not
55099         correctly detected. Rather than piggy-back on the symbol table, we
55100         explicitly match against alphanumeric chars or "_".
55102 2016-04-23  Glenn Morris  <rgm@gnu.org>
55104         When autoload-timestamps is nil, use a dummy timestamp rather than "t".
55106         * lisp/emacs-lisp/autoload.el (autoload--non-timestamp): New constant.
55107         (autoload-generate-file-autoloads, autoload-find-destination)
55108         (update-directory-autoloads): Use autoload--non-timestamp.
55110 2016-04-23  Glenn Morris  <rgm@gnu.org>
55112         * test/lisp/xt-mouse-tests.el: Move from test/automated/.
55114 2016-04-22  Jö Fahlke  <jorrit@jorrit.de>  (tiny change)
55116         Regexps for matching CMake output
55118         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add
55119         regexps for matching CMake output.
55120         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add
55121         CMake test cases.
55122         * etc/compilation.txt (CMake): Add CMake examples.
55124 2016-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
55126         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
55128         Fix docstring quotes.
55130 2016-04-21  Paul Eggert  <eggert@cs.ucla.edu>
55132         Improve character name escapes
55134         * doc/lispref/nonascii.texi (Character Properties):
55135         Avoid duplication of Unicode names.  Reformat examples to fit in
55136         narrow pages.
55137         * doc/lispref/objects.texi (General Escape Syntax):
55138         Simplify and better-organize explanation of \N{...} escapes.
55139         * src/character.h (CHAR_SURROGATE_PAIR_P): Remove; unused.
55140         (char_surrogate_p): New inline function.
55141         * src/lread.c: Do not include string.h; no longer needed.
55142         (invalid_character_name, check_scalar_value): Remove; the ideas
55143         behind these functions are now bundled into character_name_to_code.
55144         (character_name_to_code): Remove undocumented support for "CJK
55145         IDEOGRAPH-XXXX" names, as "U+XXXX" suffices.  Reject monstrosities
55146         like "\N{U+-0}" and null bytes in \N escapes.  Reject floating
55147         point in \N escapes instead of returning garbage.  Use
55148         AUTO_STRING_WITH_LEN to lessen pressure on the garbage collector.
55149         * test/src/lread-tests.el (lread-char-number, lread-char-name)
55150         (lread-string-char-number, lread-string-char-name):
55151         Test runtime behavior, not compile-time, as the test framework
55152         is not set up to test compile-time.
55153         (lread-char-surrogate-1, lread-char-surrogate-2)
55154         (lread-char-surrogate-3, lread-char-surrogate-4)
55155         (lread-string-char-number-2, lread-string-char-number-3):
55156         New tests.
55157         (lread-string-char-number-1): Rename from lread-string-char-number.
55159 2016-04-21  Philipp Stephani  <phst@google.com>
55161         Use 'ucs-names' for character name escapes
55163         * src/lread.c (invalid_character_name, check_scalar_value)
55164         (parse_code_after_prefix, character_name_to_code): New helper
55165         functions that use 'ucs-names' and parsing for CJK ideographs.
55166         (read_escape): Use helper functions.
55167         (syms_of_lread): New symbol 'ucs-names'.
55168         * test/src/lread-tests.el: New tests; fix a couple of bugs in
55169         existing tests.
55171 2016-04-21  Philipp Stephani  <phst@google.com>
55173         Minor cleanups for character name escapes
55175         * src/lread.c (init_character_names): Add missing 'void'.
55176         Remove top-level 'const'.
55177         (read_escape): Simplify loop a bit.  Remove top-level 'const'.
55179 2016-04-21  Philipp Stephani  <phst@google.com>
55181         Add documentation for character name escapes
55183 2016-04-21  Philipp Stephani  <phst@google.com>
55185         Implement named character escapes, similar to Perl
55187         * src/lread.c (init_character_names): New function.
55188         (read_escape): Read Perl-style named character escape sequences.
55189         (syms_of_lread): Initialize new variable 'character_names'.
55190         * test/src/lread-tests.el (lread-char-empty-name): Add test file
55191         for src/lread.c.
55193 2016-04-21  Fabrice Popineau  <fabrice.popineau@gmail.com>
55195         Avoid run-time dependency on libwinpthread DLL on MS-Windows
55197         * nt/mingw-cfg.site (ac_cv_search_clock_gettime)
55198         (ac_cv_func_clock_gettime, ac_cv_func_clock_settime): Force to not
55199         present, so that MinGW64 builds don't depend on libwinpthread.
55200         (Bug#22959)
55202 2016-04-21  Matthew Leach  <matthew@mattleach.net>
55204         Add LIBSYSTEMD to the list of supported features
55206         * configure.ac: Add LIBSYSTEMD to EMACS_CONFIG_FEATURES and print a
55207         message at the end of configure stating whether Emacs will be build
55208         with libsystemd support.
55210 2016-04-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
55212         Support absolute column movement in 'ansi-term'
55214         * lisp/term.el (term-handle-ansi-escape): Handle the "\E[G" sequence
55215         for absolute column movement.  (Bug#23303)
55217 2016-04-21  Jorgen Schaefer  <contact@jorgenschaefer.de>
55219         Add Python 3.5 keyword "await"
55221         * lisp/progmodes/python.el (python-font-lock-keywords): Add await as
55222         keyword.
55224 2016-04-20  Simen Heggestøyl  <simenheg@gmail.com>
55226         Add "keyframes" to list of CSS at-rules
55228         * lisp/textmodes/css-mode.el (css-at-ids): Add "keyframes" at-rule.
55230 2016-04-20  Phillip Lord  <phillip.lord@russet.org.uk>
55232         Prevent bootstrap autoload backup files
55234         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Suppress
55235         backups in newly created file.
55237         (autoload-ensure-default-file): Function split into two.
55238         (autoload-ensure-file-writeable): New function from split.
55240         (Bug#23203)
55242 2016-04-20  Paul Eggert  <eggert@penguin.cs.ucla.edu>
55244         Fix org-timestamp-change typo
55246         Problem reported by Peter Münster (Bug#23299).
55247         * lisp/org/org.el (org-timestamp-change): Fix typo that relied
55248         on undocumented behavior in ‘encode-time’.  In practice the
55249         old code used local time, so use that.
55251 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
55253         Avoid AC_PREPROC_IFELSE glitch in configure.ac
55255         Problem reported by Angelo Graziosi in:
55256         https://lists.gnu.org/r/emacs-devel/2016-04/msg00545.html
55257         * configure.ac (gl_gcc_warnings): Work around an Autoconf glitch:
55258         AC_PREPROC_IFELSE doesn’t generate a simple shell command.
55260 2016-04-19  Michael Albinus  <michael.albinus@gmx.de>
55262         autorevert: Resume with polling if file is deleted
55264         * lisp/autorevert.el: Use consistent wording in comments and
55265         docstrings.
55266         (auto-revert-mode): Add local function to `kill-buffer-hook'.
55267         (auto-revert-notify-handler): Improve handling of `stopped' event.
55269         * test/lisp/autorevert-tests.el
55270         (auto-revert-test02-auto-revert-deleted-file): New test.
55271         (auto-revert-test03-auto-revert-tail-mode)
55272         (auto-revert-test04-auto-revert-mode-dired): Rename them.
55274 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
55276         Merge from origin/emacs-25
55278         5a0cbe5 Fix Bug#23276
55279         2007e32 Sync with upstream vhdl mode v3.38.1.
55280         b6d2552 Tweak configure.ac syntax in recent module patch
55282 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
55284         Merge from origin/emacs-25
55286         ac00a92 Make sh-electric-here-document-mode accessible in sh-mode-hoo...
55287         3287f48 ; Add entry to MAINTAINERS
55288         b85981f * configure.ac (HAVE_MODULES): Exclude gnu-kfreebsd from prev...
55289         0f33284 Make use of rectangle-preview custom variable.
55290         aa0d83a Make use of rectangle-preview face.
55291         33bef6e Use 'grep-find-program' in check-declare.el
55292         a8560e5 Improve "C-h S" for cl-lib symbols
55293         52e798b Fix minor issues with removing left or right fringes
55294         d6ffd64 Speed up redisplay in ansi-term mode
55295         4ab671c Simplify 8-bit character handling by terminal for 'raw-text'
55296         f3653ec * configure.ac (HAVE_MODULES): Treat gnu like gnu-linux.  (Bu...
55297         ab849b7 Fix w32 memory-management problem when extending buffer text
55299 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
55301         Merge from origin/emacs-25
55303         32364bb substitute-command-keys keeps quotes’ text props
55304         567ab52 * src/xwidget.c (x_draw_xwidget_glyph_string): More clipping ...
55305         24b87a1 Add semantic-symref-filepattern-alist entry for lisp-interact...
55306         cc0b713 Perform xref searches without visiting unopened files
55307         5045575 Revert "Prevent bootstrap autoload backup files"
55309 2016-04-18  Philipp Stephani  <p.stephani2@gmail.com>
55311         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
55313         so that it matches the actual implementation.
55314         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
55316 2016-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
55318         * lisp/textmodes/ispell.el: Compile with lexical-binding
55320         (declare-function): Don't define any more.
55321         (ispell-check-minver, ispell-looking-back): Tweak definition so that
55322         the compiler can obviously know that it's always defined.
55323         (ispell-debug-buffer): Declare var.
55324         (ispell-hunspell-fill-dictionary-entry)
55325         (ispell-parse-hunspell-affix-file, ispell-hunspell-add-multi-dic)
55326         (ispell-find-hunspell-dictionaries, ispell-set-spellchecker-params)
55327         (ispell-command-loop): Avoid add-to-list on local variables.
55329 2016-04-17  Paul Eggert  <eggert@cs.ucla.edu>
55331         Minor fixups for external socket launching
55333         * configure.ac (HAVE_LIBSYSTEMD): Change earliest version to 222.
55334         * doc/emacs/misc.texi (Emacs Server):
55335         * etc/NEWS: Spelling and doc fixes.
55336         * src/emacs.c (main) [HAVE_LIBSYSTEMD]:
55337         Check for sd_is_socket returning positive, not zero.
55338         * src/process.c (external_sock_fd): Instead of initializing here ...
55339         (init_process_emacs): ... initialize it here, so that it does the
55340         right thing after dump/restore.
55341         (connect_network_socket): Simplify socket_to_use test.
55343 2016-04-17  Simen Heggestøyl  <simenheg@gmail.com>
55345         Add HTML5 tags to HTML mode
55347         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 tags.
55348         (html-tag-help): Add short descriptions of those tags.
55350 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55352         Finish idna->puny changes in last Message patch
55354         * lisp/gnus/message.el (message-idna-to-ascii-rhs-1): Use puny
55355         instead of idna functions.
55357 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55359         Use puny.el instead of idna.el functions in Gnus
55361         * lisp/gnus/gnus-art.el (gnus-use-idna): Default to t (since
55362         Emacs comes with IDNA support built in).
55363         (article-decode-idna-rhs): Use `puny-decode-domain' instead of
55364         `idna-to-unicode'.
55366         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message): Ditto.
55368 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55370         Mention `message-use-idna' in NEWS
55372 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55374         Default `message-use-idna' to t
55376         * lisp/gnus/message.el (message-use-idna): Default to t (since
55377         Emacs comes with puny.el now).
55379 2016-04-16  Matthew Leach  <matthew@mattleach.net>
55381         Extend battery.el to exotic power supply types
55383         * lisp/battery.el (battery-linux-sysfs-regexp): Rename from
55384         'battery--linux-sysfs-regexp' and make a defcustom. All users
55385         changed.  (Bug#23216)
55387 2016-04-16  Matthew Leach  <matthew@mattleach.net>
55389         Add external socket launching support
55391         * src/process.c (connect_network_socket): Allow a pre-allocated socket
55392         descriptor to be used if passed to Emacs, avoiding the call to
55393         'socket' and 'bind'.
55394         (Fmake_network_process): Allow users to pass ':use-external-socket' in
55395         the parameter plist to use any sockets that have been passed to Emacs.
55396         (wait_reading_process_output): Call 'socket' and 'bind' every time.
55397         (syms_of_process): New symbol ':use-external-socket'.
55398         (set_external_socket_descriptor): New function.
55399         (external_sock_fd): New variable.
55400         * src/lisp.h: (set_external_socket_descriptor): New declaration.
55401         * src/emacs.c (main): Call 'sd_listen_fds' to read the number of sockets
55402         passed and call 'set_external_socket_descriptor' to set the external
55403         socket.
55404         * src/Makefile.in: Add libsystemd library and C flags to the Emacs
55405         compilation options.
55407         * configure.ac: Add new default-on option "systemd" and check for
55408         libsystemd at configure time.
55410         * lisp/server.el (server-start): Set ':use-external-socket' to 't' when
55411         calling 'make-network-process'.
55413         * etc/NEWS: Document new socket-passing functionality and the configure
55414         option to disable systemd interaction.
55416         * doc/emacs/misc.texi (Emacs Server): Document systemd socket passing
55417         functionality and provide systemd unit examples.
55418         * doc/lispref/processes.texi (Network Processes): Document new
55419         'make-network-process' option ':use-external-socket'.
55421 2016-04-16  Matthew Leach  <matthew@mattleach.net>
55423         Don't spell-check argument of 'cref' TeX macro
55425         * lisp/textmodes/ispell.el (ispell-tex-skip-alists): Add the cref
55426         macro to skip spell-checking the cref macro argument.
55428 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
55430         Simplify use of O_BINARY
55432         * src/callproc.c (call_process):
55433         * src/fileio.c (write_region):
55434         * src/filelock.c (read_lock_data):
55435         * src/image.c (x_find_image_fd):
55436         * src/lread.c (openp):
55437         * src/sysdep.c (init_random, emacs_fopen):
55438         * src/unexcw.c (unexec):
55439         Omit unnecessary use of O_BINARY, since emacs_open now arranges
55440         that for us.
55442 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
55444         * src/indent.c (Fvertical_motion): Pacify GCC
55446         5.3.1 20160406 (Red Hat 5.3.1-6) on x86-64.
55448 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
55450         Port ‘./autogen.sh git’ to non-clones
55452         Problem reported by Angelo Graziosi in:
55453         https://lists.gnu.org/r/emacs-devel/2016-04/msg00341.html
55454         * autogen.sh (do_git): Default to false when the arg is ‘all’ but
55455         there is no ‘.git’.
55456         (git_common_dir, hooks): New vars.
55457         (git_config, tailored_hooks, sample_hooks): Use them.
55459 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
55461         Do not require that .git be a directory
55463         Problem reportyed by Phillip Lord.
55464         * admin/update_autogen, autogen.sh, build-aux/gitlog-to-emacslog:
55465         * configure.ac, make-dist:
55466         Do not require that .git be a directory, as 'git worktree' makes
55467         it a file and not a directory.
55469 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
55471         Avoid now-obsolete function gmm-format-time-string
55473         * lisp/gnus/message.el (message-insert-formatted-citation-line):
55474         Use format-time-string instead of obsolete function
55475         gmm-format-time-string.
55477 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
55479         Support OFFSET and (OFFSET ABBR) time zone rules
55481         This simplifies Gnus and VC time zone support, by letting them
55482         feed the output of ‘current-time-zone’ and ‘decode time’ to
55483         primitives that accept time zone arguments.
55484         * doc/lispref/os.texi (Time Zone Rules, Time Conversion):
55485         * etc/NEWS:
55486         * lisp/gnus/message.el (message-insert-formatted-citation-line):
55487         * lisp/org/org.el (org-timestamp-format):
55488         * src/editfns.c (Fformat_time_string, Fdecode_time):
55489         (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
55490         Document new behavior.
55491         * lisp/gnus/gmm-utils.el (gmm-format-time-string):
55492         * lisp/vc/add-log.el (add-log-iso8601-time-zone):
55493         Mark as obsolete, as it is now just an alias or narrow wrapper
55494         around format-time-string.
55495         * src/editfns.c (tzlookup): Also support integer OFFSET and
55496         list (OFFSET ABBR) as time zone rules.
55497         (Fencode_time): No longer need a special case for a cons ZONE.
55498         (Fcurrent_time_zone): If the time zone string is missing, compute
55499         it the same way the other new code does.
55501 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
55503         Merge from origin/emacs-25
55505         ca50981 Improve time zone documentation
55506         c23c965 Prevent bootstrap autoload backup files
55507         9344612 Disable multicolor fonts on OS X since they are not supported...
55508         c41ce1c Capitalize “Universal Time” in documentation
55509         10597c9 Don't use 'find-program'
55511 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
55513         Merge from origin/emacs-25
55515         b134c20 Sync with gnulib
55516         bb30fa9 Fix last change on 2016-01-02
55517         488a72f ; Spelling fixes
55518         9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3
55519         0e7bcec Avoid crashes due to unreasonably large or small text scaling
55520         85f257c Improve documentation of 'with-eval-after-load'
55521         668c7bc Improve handling of non-ASCII characters in Git log messages
55522         b570769 Remove undefined behavior in OS X dumper.
55523         97211f3 Fix clipping of xwidgets
55524         e87fbc0 Improve Lisp-level documentation of tooltips
55525         9f1786e Faces names should not end in "-face".
55526         3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings.
55527         a1f221b Comint and compile no longer set EMACS
55528         5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2...
55529         a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
55530         c93ae7a Allow to customize names of executables used by grep.el
55531         f6497c6 Set locale encoding to UTF-8 when run from OS X GUI.
55532         7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt
55533         a3f1ac2 Avoid infinite loop in 'studlify-word'
55534         f36df4b Don’t recommend obsolete EMACS env var
55535         fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...
55537 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
55539         Merge from origin/emacs-25
55541         96d9e78 Fix "Beginning of buffer" error in forward-page
55542         20686f7 Add a `transient' project type
55544 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
55546         Merge from origin/emacs-25
55548         80128a7 Fix stability confusion in sort-tests
55549         1e4aa42 Avoid describe-key error with lambdas
55550         a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag...
55551         f501116 Sync with gnulib
55552         c4963f9 Fix doc for Universal Time
55554 2016-04-10  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
55556         Fix alignement rule for CSS
55558         * lisp/align.el (align-rules-list): Support CSS properties that have
55559         multiple words.
55561 2016-04-10  Tassilo Horn  <tsdh@gnu.org>
55563         New custom option for overriding mailcap choices
55565         * lisp/net/mailcap.el (mailcap--get-user-mime-data): New function.
55566         (mailcap--set-user-mime-data): New function.
55567         (mailcap-user-mime-data): New customization option.
55568         (mailcap-select-preferred-viewer): New function.
55569         (mailcap-mime-info): Use it.
55571         * doc/misc/emacs-mime.texi (mailcap): Document `mailcap-user-mime-data'.
55573 2016-04-10  Michael Albinus  <michael.albinus@gmx.de>
55575         Fix Bug#23207
55577         * src/keyboard.c (read_char): Resume idle timers in case of
55578         dbus-event, file-notify-event and config-changed-event.
55579         Reported by Johan Claesson <johanclaesson@bredband.net>.  (Bug#23207)
55581 2016-04-09  Michael Albinus  <michael.albinus@gmx.de>
55583         Add vc-backend and vc-responsible-backend tests
55585         * lisp/vc/vc-hooks.el (vc-file-setprop, vc-file-getprop)
55586         (vc-file-clearprops): Use properties on absolute files.
55588         * test/lisp/vc/vc-tests.el (vc-test--unregister-function):
55589         Clear file properties.
55590         (vc-test--register): Add tests for `vc-backend' and
55591         `vc-responsible-backend'.  Catch other errors but `vc-not-supported'.
55592         (vc-test--state, vc-test--checkout-model): Catch other errors
55593         but `vc-not-supported'.
55594         (vc-test--working-revision): Fix test for RCS and SCCS.  Catch
55595         other errors but `vc-not-supported'.
55596         (vc-test-src02-state): Mark as an expected failure.
55598 2016-04-08  Paul Eggert  <eggert@cs.ucla.edu>
55600         Minor improvements for hash function primitives
55602         * src/fns.c (hashfn_eql): Define in terms of hashfn_equal and
55603         hashfn_eq rather than reaching inside them.
55604         (hashtest_eq, hashtest_eql, hashtest_equal):
55605         Now constants with initializers.
55606         (syms_of_fns): Omit no-longer-needed initialization.
55607         * src/lisp.h (LISPSYM_INITIALLY): New macro.
55608         (DEFINE_LISP_SYMBOL): Use it.
55610 2016-04-08  Paul Pogonyshev  <pogonyshev@gmail.com>
55612         New primitives sxhash-eq, sxhash-eql
55614         * doc/lispref/hash.texi (Defining Hash), etc/NEWS: Document this.
55615         * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
55616         Add sxhash-equal, sxhash-eq, sxhash-eql.
55617         * lisp/subr.el (sxhash): Now an alias for sxhash-equal.
55618         * src/fns.c (Fsxhash_eq, Fsxhash_eql): New functions.n
55620 2016-04-08  Eli Zaretskii  <eliz@gnu.org>
55622         Teach Dired support parallel execution of commands on MS-Windows
55624         * lisp/dired-aux.el (dired-shell-stuff-it): Support
55625         parallel-in-background execution of commands on MS-Windows.
55626         Test 'w32-shell-dos-semantics' instead of the underlying OS
55627         when determining whether addition of 'wait' is needed.
55629 2016-04-08  Tino Calancha  <f92capac@gmail.com>
55631         Make 'dired-do-shell-command' wait for all background jobs
55633         * lisp/dired-aux.el (dired-shell-stuff-it): Force POSIX shells to
55634         wait until all background jobs exit.  (Bug#23206).
55636 2016-04-07  Vivek Dasmohapatra  <vivek@etla.org>
55638         Prefer 'font-lock-face to 'face in erc where appropriate
55640         * lisp/erc/erc-button.el (erc-button-add-face): Prefer
55641         'font-lock-face to 'face where appropriate.
55642         * lisp/erc/erc-capab.el (erc-capab-identify-add-prefix)
55643         * lisp/erc/erc-dcc.el (erc-dcc-chat-parse-output)
55644         * lisp/erc/erc-goodies.el (erc-controls-propertize)
55645         * lisp/erc/erc-stamp.el (erc-format-timestamp)
55646         * lisp/erc/erc-track.el (erc-faces-in)
55647         * lisp/erc/erc.el (erc-load-irc-script-lines, erc-display-msg)
55648         (erc-display-command, erc-make-notice, erc-highlight-notice)
55649         (erc-format-my-nick, erc-format-@nick, erc-format-privmessage)
55650         (erc-display-prompt, erc-display-message-highlight)
55651         (erc-log-irc-protocol): Ditto.
55653         * test/lisp/erc/erc-track-tests.el: Converted asserts into ert
55654         tests.
55656 2016-04-06  Lele Gaifax  <lele@metapensiero.it>
55658         Add new keywords of Python 3.5
55660         Python 3.5, released in mid September 2015, introduced a few new
55661         keywords to better support asynchronous code, "async" and "await"
55662         in particular. See https://www.python.org/dev/peps/pep-0492/ for
55663         details. (Bug#21783)
55664         * lisp/progmodes/python.el (python-rx-constituents): Add async
55665         def/for/with as block-start and async def as defun.
55666         * lisp/progmodes/python.el (python-font-lock-keywords): Add async
55667         def/for/with as keyword.
55668         * test/automated/python-tests.el (python-indent-after-async-block-1,
55669         python-indent-after-async-block-2, python-indent-after-async-block-3,
55670         python-nav-beginning-of-defun-3): New tests to test indentation and
55671         navigation for the async keyword.
55673 2016-04-05  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
55675         Support completion of at-rules in SCSS mode
55677         lisp/textmodes/css-mode.el (scss-at-ids): New defconst holding
55678         SCSS-specific at-rules.
55679         (css--at-ids): New buffer-local variable holding the list of at-rules
55680         for the current mode.
55681         (css--complete-at-rule): Retrieve at-rules from `css--at-ids`.
55682         (scss-mode): Set `css--at-ids'.
55684 2016-04-05  Paul Eggert  <eggert@cs.ucla.edu>
55686         Enable GCC warnings in developer builds
55688         However, do not fail; just issue the warnings.  Add an option
55689         --enable-gcc-warnings=warn-only to configure, to implement this.
55690         * INSTALL, etc/NEWS: Document this.
55691         * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
55692         (gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option.
55693         Don’t treat --with-x-toolkit=no as a special case when configuring
55694         warnings.
55696 2016-04-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55698         Inhibit querying for the encoding of the headers when resending
55700         * lisp/gnus/message.el (message-resend): Inhibit querying for
55701         the encoding of the headers when resending.
55703 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
55705         Prefer AUTO_STRING_WITH_LEN to make_formatted_string
55707         * src/buffer.c (Fgenerate_new_buffer_name):
55708         * src/filelock.c (get_boot_time):
55709         * src/minibuf.c (get_minibuffer):
55710         * src/process.c (make_process):
55711         * src/xdisp.c (ensure_echo_area_buffers):
55712         Prefer AUTO_STRING_WITH_LEN + sprintf to make_formatted_string
55713         when either will do.
55715 2016-04-04  Tao Fang  <fangtao0901@gmail.com>
55717         Allow URL using HTTPS proxies using CONNECT
55719         * lisp/url/url-http.el (url-http-find-free-connection): Allow
55720         using proxies (bug#11788).
55721         (url-http-end-of-document-sentinel): Ditto.
55722         (url-http): The protocol may change from http to https and
55723         vice versa.
55724         (url-https-proxy-connect): Allow using CONNECT proxies for https.
55726 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
55728         New C macro AUTO_STRING_WITH_LEN
55730         Put a bit less pressure on the garbage collector by defining a
55731         macro that is like AUTO_STRING but also allows null bytes in strings,
55732         and by extending AUTO_STRING to work with any unibyte string.
55733         * src/alloc.c (verify_ascii): Remove; all uses removed.
55734         AUTO_STRING can now be used on non-ASCII unibyte strings.
55735         * src/lisp.h (AUTO_STRING): Now allows non-ASCII unibyte strings.
55736         (AUTO_STRING_WITH_LEN): New macro.
55737         * src/coding.c (from_unicode_buffer):
55738         * src/editfns.c (format_time_string):
55739         * src/emacs-module.c (module_make_string, module_format_fun_env):
55740         * src/fileio.c (Fexpand_file_name):
55741         * src/font.c (font_parse_family_registry):
55742         * src/ftfont.c (ftfont_get_charset):
55743         * src/keymap.c (silly_event_symbol_error):
55744         * src/menu.c (single_menu_item):
55745         * src/sysdep.c (system_process_attributes):
55746         Use AUTO_STRING_WITH_LEN if possible.
55747         * src/emacs-module.c (module_make_function):
55748         * src/fileio.c (report_file_errno, report_file_notify_error):
55749         * src/fns.c (Flocale_info):
55750         * src/sysdep.c (system_process_attributes):
55751         Use AUTO_STRING if possible.  This is doable more often now
55752         that AUTO_STRING works on any unibyte string.
55754 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
55756         Port redirect-debugging-output to MS-Windows
55758         Suggested by Eli Zaretskii in:
55759         https://lists.gnu.org/r/emacs-devel/2016-04/msg00037.html
55760         * src/print.c [WINDOWSNT]: Include sys/socket.h.
55761         * src/w32.c (sys_dup2): Work around problem with MS-Windows _dup2.
55763 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
55765         Port redirect-debugging-output to non-GNU/Linux
55767         Problem reported by Kylie McClain for musl in:
55768         https://lists.gnu.org/r/emacs-devel/2016-03/msg01592.html
55769         * etc/DEBUG, etc/NEWS: Mention this.
55770         * src/callproc.c (child_setup) [!MSDOS]:
55771         * src/dispnew.c (init_display):
55772         * src/emacs.c (main, Fdaemon_initialized):
55773         * src/minibuf.c (read_minibuf_noninteractive):
55774         * src/regex.c (xmalloc, xrealloc):
55775         Prefer symbolic names like STDERR_FILENO to magic numbers like 2,
55776         to make file-descriptor manipulation easier to follow.
55777         * src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed
55778         now that we make sure stdin, stdout and stderr are open.  All uses
55779         removed.
55780         (main): Make sure standard FDs are OK.  Prefer symbolic names like
55781         EXIT_FAILURE to magic numbers like 1.  Use bool for boolean.
55782         * src/lisp.h (init_standard_fds): New decl.
55783         * src/print.c (WITH_REDIRECT_DEBUGGING_OUTPUT) [GNU_LINUX]:
55784         Remove; no longer needed.
55785         (Fredirect_debugging_output): Define on all platforms, not just
55786         GNU/Linux.  Redirect file descriptor, not stream, so that the code
55787         works even if stderr is not an lvalue.  Report an error if the
55788         file arg is neither a string nor nil.
55789         (syms_of_print): Always define redirect-debugging-output.
55790         * src/sysdep.c (force_open, init_standard_fds): New functions.
55792 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
55794         Spelling fixes
55796 2016-04-03  John Wiegley  <johnw@newartisans.com>
55798         Revert "Add `r'/`l' grep command history commands"
55800         This reverts commit a32eea60ac90d367435860fe3a10bf843e6f497c.
55802 2016-04-03  John Wiegley  <johnw@newartisans.com>
55804         Revert "Restore the point in grep buffers when traversing the history"
55806         This reverts commit f7c5f79ca565d3ef3feeb1e0af5ca261f1bcf58a.
55808 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
55810         Merge from origin/emacs-25
55812         787df9d ; * src/keyboard.c (read_char): Fix typos in a comment.
55814 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
55816         Merge from origin/emacs-25
55818         b787d55 More format-time-string change fixups
55819         13c8f29 make-xwidget unused arg cleanup
55820         36e05f0 Remove unused arguments from make-xwidget
55821         1042217 Document incompatible changes in 'format-time-string'
55822         7228eb8 Improve documentation of byte-code objects
55823         0020047 Adapt calls to 'format-time-string' to changes in Emacs 25
55824         17b5152 Improve vc-diff with Git backend
55825         c28f87a (js--continued-expression-p): Special-case unary plus and minus
55826         2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary.
55827         9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem...
55828         b3b523c Avoid crashes due to insanely large columns in tabulated-list...
55829         a3daa34 Teach M-x disassemble a default argument.
55830         e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
55831         df441b3 Fix OS X specific settings in tramp-tests
55832         2244331 Finish fixing a cacheing bug in CC Mode (see 2016-03-09)
55834         # Conflicts:
55835         #       lisp/net/tramp-sh.el
55836         #       lisp/progmodes/cc-engine.el
55838 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55840         Restore the point in grep buffers when traversing the history
55842         * lisp/progmodes/grep.el (grep-process-setup): Allow moving
55843         point to a specific place after finishing the grep command.
55844         (grep-mode): Use it to restore point after traversing the history.
55845         (grep--history-point): New internal variable.
55846         (grep--save-history, grep-forward-history): Use it to restore
55847         the point.
55849 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55851         Add `r'/`l' grep command history commands
55853         * doc/emacs/building.texi (Grep Searching): Mention the
55854         `r'/`l' commands.
55856         * lisp/progmodes/grep.el (grep-forward-history): New command.
55857         (grep-backward-history): Ditto.
55858         (grep--save-buffers): New function.
55859         (grep): Use it to record the history.
55860         (grep--command-history, grep--history-inhibit)
55861         (grep--history-place): New internal variables for the grep
55862         history (bug#22627).
55864 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
55866         Fix Bug#23186, again
55868         * lisp/net/tramp.el (tramp-encoding-shell)
55869         (tramp-encoding-command-switch)
55870         (tramp-encoding-command-interactive): Check for
55871         `w32-shell-name'.  (Bug#23186)
55873 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
55875         Fix Bug#23186
55877         * lisp/net/tramp.el (tramp-encoding-command-switch)
55878         (tramp-encoding-command-interactive):
55879         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
55880         `tramp-encoding-shell' could be nil.  (Bug#23186)
55882 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
55884         Fix Bug#22145
55886         * lisp/net/tramp-cache.el (tramp-get-connection-property)
55887         (tramp-set-connection-property, tramp-connection-property-p)
55888         (tramp-flush-connection-property): Improve docstring.
55890         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
55892         * lisp/net/tramp.el (tramp-get-local-locale): New defun.
55894         * test/automated/tramp-tests.el (tramp--test-utf8):
55895         Improve settings of coding systems.  (Bug#22145)
55897 2016-04-02  John Wiegley  <johnw@newartisans.com>
55899         Merge from origin/emacs-25
55901         7c1802f * doc/lispref/text.texi (Columns): Remove a nonexistent refer...
55902         9034c50 * doc/man/emacsclient.1: Document +line:column option.
55903         06495c9 Fix rare problems with echo-area display and multiple frames
55904         f99b512 In M-%, avoid making buffer-local binding of text-property-de...
55906 2016-04-02  John Wiegley  <johnw@newartisans.com>
55908         Merge from origin/emacs-25
55910         e65c307 * src/font.c (QCuser_spec): Add missing colon to :user-spec.
55911         c8b868b Don't start the 'midnight' timer twice
55912         278c8a7 * src/xwidget.c (Fxwidget_resize): Fix inappropriate use of X...
55913         e5c17f4 Fix todo-mode category movement
55914         bc70fda * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version.
55915         cf40f38 Ignore non-nil. non-cons values of unread-command-events
55916         8ee4c52 Improve documentatuon of 'truncate-partial-width-windows'
55917         fb9a62c * src/ftfont.c (ftfont_shape_by_flt): Parenthesize as per GNU...
55918         1e1ea22 Fix 'dired-goto-file' in Dired buffers produced by find-dired
55919         3a13472 Fix map-put and map-delete for alists (Bug#23105)
55920         422c3da Minor copyedits of documentation for temporary displays
55921         90fb9b3 Add customization option for using UTF-8 coordinates in xt-mouse
55922         f14d463 Minor doc string fixes in replace.el
55923         e70ee9d Fix scrolling upwards with 'xwidget-webkit-browse-url'
55924         44782de Fix display of Indic scripts
55925         326c64f Fix splash screen display at startup
55926         7ab2a97 ; In NEWS mention new display of minibuffer completions window
55927         a1cd84c Describe temporary displays in Emacs manual
55928         5ec1056 Avoid stray As next to IDLW icons
55929         45577d5 Avoid GTK 3 crash with icons and masks
55930         e99ff6e * lisp/minibuffer.el (minibuffer-completion-help): Use fit-wi...
55931         077b78c Define make_save_ptr_ptr unconditionally
55932         20a1003 Preserve current buffer when popping up TTY menus
55933         7eba90c Improve font selection by family on MS-Windows
55934         73d213f Comint, term, and compile now set EMACS
55935         9524ec5 Ignore more merges when generating ChangeLog
55936         ad250f2 Sync with gnulib
55937         c0165ea Resurrect GNUS-NEWS autogeneration
55938         1e5327c ; Backport ChangeLog.2 fixes from master
55939         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
55940         38a43f1 Fix bug in displaying header line with a box face
55941         91e6676 Fix an Isearch var to be a string (Bug#23038)
55942         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
55943         8a35f83 Render empty <ul><li><ul> correctly
55944         d8b2ce5 Ignore invalid base64 encoded embedded images
55945         52ba24b Fix <p> and <div> newlines with or without <li> in shr
55946         b8ea08b Avoid errors in 'newline'
55947         fc3cd53 Fix Bug#23032
55948         dd2737b Adjudicate review comments in abbrevs.texi
55949         26f9c50 Fixup the "normal" matcher; highlight global var symbols, too
55950         413e73b ; Small theme additions
55951         cd950da Honor prefix arg in doc-view-next-line-or-next-page
55952         ed909c0 ; Spelling fixes
55953         6da3a6d Port to strict C99 offsetof
55954         de7601f Port to GTK with strict C11 compiler
55955         658aa2d Port to GTK with strict C99 compiler
55956         1df7173 Avoid screen artifacts with new OS X visible bell after scrol...
55957         7a2edd3 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
55958         dca240a Suppress some Tramp tests for OSX, do not merge with master
55959         9094304 * lisp/progmodes/xref.el (xref-buffer-name, xref--window): Mo...
55960         cbedfc2 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it.
55961         005ac7c * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare.
55962         9ab03f2 ; Auto-commit of loaddefs files.
55963         56df617 Address compilation warnings due to 2016-01-03 mml refactoring.
55964         a1ef911 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp i...
55965         79ae7fb * lisp/dired-x.el (dired-omit-here-always): Correct error mes...
55966         253929f * lisp/dired-x.el (dired-omit-here-always): Replace undefined...
55967         ce53389 * lisp/xml.el (xml-parse-tag-1): Replace undefined function.
55968         d6d164f Avoid segfaults due to frame image cache being absent
55969         bc7f6f6 Improve documentation of glyphless-character display
55970         6b6916e ; * src/xdisp.c (with_echo_area_buffer): Fix typos in comments.
55971         ee9a1f7 Support safe navigation operator in non-SMIE indentation code
55972         c3ed95b Move xsd:base64Binary decoding fix to debbugs.el 0.9.1
55973         2036be4 Fix Ruby's operator precedence
55974         1d686c2 (ruby-interpolation-inside-another-interpolation): New failin...
55975         7950e1d Port to clang 3.7.0 on x86-64
55976         218ae59 * test/automated/package-test.el (package-test-signed): Tweak...
55977         ba33b7c Sync with gnulib
55978         38b276d Fix startup of "emacs -nw" on systems that CANNOT_DUMP
55979         dbfbedd Do not tokenize a comment before continuation as ';'
55980         0403620 Don't misindent arguments of a method call inside continuation
55981         e6776f8 * src/keyboard.c (echo_keystrokes_p): Don't test cursor_in_ec...
55982         8475f3d ASCII-only etc/NEWS etc.
55983         5cc6919 Fix a cacheing bug, which led to inordinately slow c-beginnin...
55984         0ce37ea Fix Isearch prompt when invoked with an argument
55985         f3033d4 Fix a typo in the Emacs manual
55986         4235d2d Curved quotes in etc/NEWS etc.
55987         26b56dc Fix some single quotes in documentation
55988         80ec484 Make lisp-completion-at-point's argument optional
55989         9d463ae Tweak the left precedence of '=>'
55990         5b705bc Indent '.' relative to the first sibling expression
55991         04f5525 Make '.' associative, for easier sexp navigation
55992         ba24c99 Revert "Simplify "Visit New File" to "New File""
55994 2016-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
55996         * lisp/erc/erc-backend.el: Use lexical-binding. Silence byte-compiler
55998         Use #' to quote functions.
55999         (erc-server-delayed-reconnect): Remove unused arg `event'.
56000         (erc-process-sentinel-2): Adjust accordingly.
56001         Don't pass `err' to condition-case if we don't use it.
56002         (define-erc-response-handler): Use add-hook rather than add-to-list.
56003         (NICK): Use cl-pushnew rather than add-to-list.
56004         (331): Remove unused var `topic'.
56005         (352): Remove unused var `hopcount'.
56007 2016-04-02  Paul Pogonyshev  <pogonyshev@gmail.com>
56009         Support macros in 'func-arity'
56011         * src/eval.c (Ffunc_arity): Support Lisp macros as well.
56013 2016-04-02  Andy Moreton  <andrewjmoreton@gmail.com>
56015         Fix compilation of Cygwin w32 port
56017         * src/w32xfns.c (init_crit, delete_crit) [HAVE_W32NOTIFY]: Only
56018         initialize and free the notification set if compiling with
56019         w32notify feature.
56021 2016-04-01  Paul Eggert  <eggert@penguin.cs.ucla.edu>
56023         Fix resize incompatibility with GTK+ master
56025         Problem reported by Matthias Clasen (Bug#23144).
56026         * src/xterm.c (handle_one_xevent) [USE_GTK]:
56027         Do not call xg_frame_resized.
56029 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
56031         Fix check for subscript errors in module calls
56033         * src/emacs-module.c (check_vec_index): New function.
56034         (module_vec_set, module_vec_get): Use it instead of a
56035         not-strict-enough check.
56037 2016-03-31  Simen Heggestøyl  <simenheg@gmail.com>
56039         Support completion of bang-rules in CSS mode
56041         lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable
56042         holding the list of bang-rules for the current mode.
56043         (css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids'
56044         instead of computing them.
56045         (css--complete-bang-rule): New function for completing a bang-rule.
56046         (css-completion-at-point): Add support for completing bang-rules.
56047         (scss-font-lock-keywords): Change from a variable to a function in
56048         order to recompute `css--font-lock-keywords' when `css--bang-ids' has
56049         changed.
56050         (scss-mode): Set `css--bang-ids' and recompute font-lock keywords.
56052 2016-03-30  Simen Heggestøyl  <simenheg@gmail.com>
56054         Add HTML4 tags to HTML mode
56056         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML4 tags.
56057         (html-tag-help): Add short descriptions of those tags.
56059 2016-03-29  Paul Eggert  <eggert@cs.ucla.edu>
56061         Pacify --enable-gcc-warnings for buffer-hash etc.
56063         * src/fns.c (make_digest_string): Now static.
56064         (secure_hash): Omit unused local.
56066 2016-03-29  Oleh Krehel  <ohwoeowho@gmail.com>
56068         Add support for 7z archives
56070         * lisp/dired-aux.el (dired-compress-file-suffixes): "Z" should now
56071           also work with 7z archives.
56073         The shell command should produce a single extracted directory named
56074         after the archive's name.
56076         In case the extracted directory exists, all files will be overwritten
56077         without a prompt. This matches the expected behavior with the "tar.gz"
56078         archives.
56080 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
56082         * lisp/emacs-lisp/seq.el: Require cl-lib instead of cl-extra
56084 2016-03-29  Michael Albinus  <michael.albinus@gmx.de>
56086         Fix typo in network-stream-tests.el
56088         * test/lisp/net/network-stream-tests.el
56089         (connect-to-tls-ipv6-nowait): Fix typo.
56091 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
56093         New function seq-sort-by in seq.el
56095         * lisp/emacs-lisp/seq.el (seq-sort-by): New function.
56096         * test/lisp/emacs-lisp/seq-tests.el: New test for seq-sort-by.
56097         * doc/lispref/sequences.texi: Add documentation for seq-sort-by.
56099 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56101         Mention the `M-q' changes
56103 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56105         Have `M-q' not mark buffers are changed when they haven't
56107         * lisp/textmodes/fill.el (fill-paragraph): Use `buffer-hash'
56108         to avoid marking buffers as changed when they haven't.
56110 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56112         Add a new function `buffer-hash'
56114         * doc/lispref/text.texi (Checksum/Hash): Document `buffer-hash'.
56116         * src/fns.c (Fbuffer_hash): New function.
56117         (make_digest_string): Refactored out into its own function.
56118         (secure_hash): Use it.
56120         * test/src/fns-tests.el (fns-tests-hash-buffer): New tests.
56122 2016-03-27  Paul Eggert  <eggert@cs.ucla.edu>
56124         Rename C names to match Lisp symbols better
56126         This was inspired by commit e65c3079c65595d95749348366af9811fafff062,
56127         which fixed a bug where the C name for a symbol disagreed with the
56128         symbol name itself.  Fix other instances of disagreements that I found.
56129         Although this doesn’t fix a bug, it should make code easier to follow.
56130         The remaining disagreements are idiosyncratic: Qminus, Qplus,
56131         Qsans__serif, Qbackquote, Qcomma, Qcomma_at, Qcomma_dot.
56132         All uses changed.
56133         * src/alloc.c (QAutomatic_GC): Rename from Qautomatic_gc.
56134         * src/dbusbind.c (QCsystem): Rename from QCdbus_system_bus.
56135         (QCsession): Rename from QCdbus_session_bus.
56136         (QCtimeout): Rename from QCdbus_timeout.
56137         (QCbyte): Rename from QCdbus_type_byte.
56138         (QCboolean): Rename from QCdbus_type_boolean.
56139         (QCint16): Rename from QCdbus_type_int16.
56140         (QCuint16): Rename from QCdbus_type_uint16.
56141         (QCint32): Rename from QCdbus_type_int32.
56142         (QCuint32): Rename from QCdbus_type_uint32.
56143         (QCint64): Rename from QCdbus_type_int64.
56144         (QCuint64): Rename from QCdbus_type_uint64.
56145         (QCdouble): Rename from QCdbus_type_double.
56146         (QCstring): Rename from QCdbus_type_string.
56147         (QCobject_path): Rename from QCdbus_type_object_path.
56148         (QCsignature): Rename from QCdbus_type_signature.
56149         (QCunix_fd): Rename from QCdbus_type_unix_fd.
56150         (QCarray): Rename from QCdbus_type_array.
56151         (QCvariant): Rename from QCdbus_type_variant.
56152         (QCstruct): Rename from QCdbus_type_struct.
56153         (QCdict_entry): Rename from QCdbus_type_dict_entry.
56154         (QCserial): Rename from QCdbus_registered_serial.
56155         (QCmethod): Rename from QCdbus_registered_method.
56156         (QCsignal): Rename from QCdbus_registered_signal.
56157         * src/emacs-module.c (Qinternal__module_call):
56158         Rename from Qinternal_module_call.
56159         * src/frame.c (Qwindow__pixel_to_total):
56160         Rename from Qwindow_pixel_to_total.
56161         * src/gnutls.c (QChostname): Rename from QCgnutls_bootprop_hostname.
56162         (QCpriority): Rename from QCgnutls_bootprop_priority.
56163         (QCtrustfiles): Rename from QCgnutls_bootprop_trustfiles.
56164         (QCkeylist): Rename from QCgnutls_bootprop_keylist.
56165         (QCcrlfiles): Rename from QCgnutls_bootprop_crlfiles.
56166         (QCmin_prime_bits): Rename from QCgnutls_bootprop_min_prime_bits.
56167         (QCloglevel): Rename from QCgnutls_bootprop_loglevel.
56168         (QCcomplete_negotiation): Rename from QCgnutls_complete_negotiation.
56169         (QCverify_flags): Rename from QCgnutls_bootprop_verify_flags.
56170         (QCverify_error): Rename from QCgnutls_bootprop_verify_error.
56171         * src/w32fns.c (Qfont_parameter): Rename from Qfont_param.
56172         (Qgnutls): Rename from Qgnutls_dll.
56173         (Qlibxml2): Rename from Qlibxml2_dll.
56174         (Qzlib): Rename from Qzlib_dll.
56175         * src/w32select.c (Qutf_16le_dos): Rename from QUNICODE.
56176         * src/window.c (Qwindow__resize_root_window):
56177         Rename from Qwindow_resize_root_window.
56178         (Qwindow__resize_root_window_vertically):
56179         Rename from Qwindow_resize_root_window_vertically.
56180         (Qwindow__sanitize_window_sizes):
56181         Rename from Qwindow_sanitize_window_sizes.
56182         (Qwindow__pixel_to_total): Rename from Qwindow_pixel_to_total.
56183         * src/xdisp.c (Qredisplay_internal_xC_functionx):
56184         Rename from Qredisplay_internal.
56185         * src/xfns.c (Qfont_parameter): Rename from Qfont_param.
56186         * src/xselect.c (Q_EMACS_TMP_): Rename from QEMACS_TMP.
56188 2016-03-26  Paul Eggert  <eggert@cs.ucla.edu>
56190         func-arity minor improvements
56192         * src/bytecode.c (get_byte_code_arity): Omit unnecessary
56193         runtime test for integer argument, unless debugging.
56194         Use EMACS_INT for Emacs integers.
56195         * src/eval.c (Ffunc_arity): Omit unused locals.
56196         Avoid side effects in ‘if’ expr.
56197         (lambda_arity): Use bool for boolean, and EMACS_INT for Emacs ints.
56199 2016-03-26  John Wiegley  <johnw@newartisans.com>
56201         Restore the fix to bug#18527 from commit d6868025
56203 2016-03-26  Martin Rudalics  <rudalics@gmx.at>
56205         Safely run window size change functions
56207         * src/window.c (run_window_size_change_functions): Use
56208         safe_call1 when running a size change function.
56209         (grow_mini_window, shrink_mini_window): Report error when
56210         minibuffer window cannot be resized.
56212 2016-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
56214         Implement 'func-arity'
56216         * src/eval.c (Ffunc_arity, lambda_arity): New functions.
56217         * src/bytecode.c (get_byte_code_arity): New function.
56218         * src/lisp.h (get_byte_code_arity): Add prototype.
56220         * doc/lispref/functions.texi (What Is a Function): Document
56221         'func-arity'.
56223         * etc/NEWS: Mention 'func-arity'.
56225         * test/src/fns-tests.el (fns-tests-func-arity): New test set.
56227 2016-03-25  Alan Mackenzie  <acm@muc.de>
56229         Fix absence of c-noise-macro-name-re, etc., in languages which don't use it
56231         * lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id, c-forward-type)
56232         (c-forward-declarator, c-forward-decl-or-cast-1, c-backward-over-enum-header)
56233         (c-guess-basic-syntax): Check c-opt-cpp-prefix before `looking-at'
56234         c-noise-macro-with-parens-name-re.
56236         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): The same as for
56237         cc-engine.el.
56239         * lisp/progmodes/cc-mode.el (c-basic-common-init): Add call to
56240         `c-make-noise-macro-regexps'.
56241         (c-mode, c++-mode, objc-mode): Remove calls to `c-make-noise-macro-regexps'.
56243         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
56244         (c-noise-macro-with-re): Initialize to "\\<\\>" rather than nil.
56246 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56248         (shr-insert): Respect non-breaking space in non-<pre> text
56250         * lisp/net/shr.el (shr-insert): Respect non-breaking space in
56251         non-<pre> text.
56253 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56255         parse-times-string doc string clarification
56257         * lisp/calendar/parse-time.el (parse-time-string): Note that
56258         we accept RFC2822 strings.
56260 2016-03-25  Marcin Borkowski  <mbork@mbork.pl>
56262         Doc string fix
56264         * lisp/calendar/parse-time.el (parse-time-tokenize): Clarify
56265         doc string and clean up code.
56267 2016-03-25  Michael Albinus  <michael.albinus@gmx.de>
56269         Cleanup file notification code in Tramp
56271         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
56272         Make `events' a list of symbols for "inotifywait".
56273         (tramp-sh-gvfs-monitor-dir-process-filter): Make event a list.
56274         Call `file-notify-handle-event' for better traces.
56275         (tramp-sh-inotifywait-process-filter): Check for expected events.
56276         Call `file-notify-handle-event' for better traces.
56278 2016-03-24  Michael Albinus  <michael.albinus@gmx.de>
56280         Adapt filenotify-tests.el according latest tests
56282         * test/lisp/filenotify-tests.el (file-notify-test02-events)
56283         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
56284         Remove superfluous `read-event' calls.
56285         (file-notify-test02-events): Expect different events under MS
56286         Windows 7 and 10.
56287         (file-notify-test04-file-validity): Move `file-notify-valid-p'
56288         check up.
56290 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
56292         Merge from origin/emacs-25
56294         ad250f2 Sync with gnulib
56295         c0165ea Resurrect GNUS-NEWS autogeneration
56297         # Conflicts:
56298         #       etc/GNUS-NEWS
56299         #       lisp/Makefile.in
56301 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
56303         Merge from origin/emacs-25
56305         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
56306         38a43f1 Fix bug in displaying header line with a box face
56308 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
56310         * etc/NEWS: Use straight quotes.
56312 2016-03-23  Simen Heggestøyl  <simenheg@gmail.com>
56314         Support completion of attribute values in CSS mode
56316         * lisp/textmodes/css-mode.el (css-property-alist): New defconst
56317         holding CSS identifiers and the values they can have.
56318         (css-property-ids): Compute dynamically from `css-property-alist'.
56319         (css-value-class-alist): New defconst holding property value classes
56320         and their values.
56321         (css--property-value-cache): New variable providing a cache for
56322         `css--property-values'.
56323         (css--value-class-lookup): New function for computing a list of values
56324         in a value class.
56325         (css--property-values): New function for computing a list of possible
56326         values for a CSS property.
56327         (css--complete-property-value): New function for completing a property
56328         value.
56329         (css-completion-at-point): Add support for completing property values.
56330         * test/lisp/textmodes/css-mode-tests.el: New file.
56332 2016-03-22  Wilson Snyder  <wsnyder@wsnyder.org>
56334         Sync with verilog-mode development tree.
56336         * lisp/progmodes/verilog-mode.el (verilog-imenu-generic-expression,
56337         verilog-speedbar-initialize): Automatically add verilog-mode
56338         extensions when in speedbar mode, bug1045, bug1046.  Reported by
56339         David Shleifman.
56340         (verilog-mode-map): Move `verilog-star-comment' from M-* to C-c/ to
56341         avoid conflict with `pop-tag-mark'. Reported by Ian Perryman.
56342         (verilog-read-always-signals-recurse): Fix :: notation for
56343         auto-reset signals.  Reported by Andrew Jones.
56344         (verilog-font-lock-grouping-keywords-face): Fix highlighting of
56345         grouping keywords, bug1002. Reported by Paul Sargent.
56346         (verilog-save-font-no-change-functions): Commentary and fix
56347         pre-Emacs 21 behavior.
56349 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
56351         Compute a better commit message for merges
56353         Problem reported by David Engster in:
56354         https://lists.gnu.org/r/emacs-devel/2016-03/msg01270.html
56355         * admin/gitmerge.el (gitmerge-commit-message):
56356         Truncate the computed commit message to at most 72 characters per line.
56357         (gitmerge-maybe-resume): Don’t use "-" as the commit message for
56358         merges; use the computed commit message instead.
56360 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
56362         * admin/gitmerge.el (gitmerge-skip-regexp): Add "no need to merge".
56364 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
56366         Change do-not-merge pattern to "do not merge"
56368         This should avoid the problem we recently had with
56369         automatically-generated merge messages, while still letting people
56370         specify commits not to merge.
56371         * admin/gitmerge.el (gitmerge-skip-regexp): Add "do not merge".
56372         (gitmerge-highlight-skip-regexp): Fold case when searching
56373         for gitmerge-skip-regexp.
56375 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
56377         Merge from origin/emacs-25
56379         91e6676 Fix an Isearch var to be a string (Bug#23038)
56380         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
56382 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
56384         -
56386         -
56388 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
56390         Keep "merge" commits by default in gitmerge
56392         * admin/gitmerge.el (gitmerge-skip-regexp): Omit "merge", as it
56393         causes false positives.  See:
56394         https://lists.gnu.org/r/emacs-devel/2016-03/msg01234.html
56396 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
56398         Assume NON_BLOCKING_CONNECT (Bug#22946)
56400         * lisp/proced.el (proced-signal-list): Omit comment about
56401         obsolete systems that do not support POSIX 1003.1-2001 signals.
56402         * src/process.c (NON_BLOCKING_CONNECT): Remove, since we can now
56403         assume POSIX 1003.1-2001 or better here.  Assume it’s defined.
56404         (connect_network_socket): Assume EINPROGRESS is defined,
56405         as that’s portable too now.
56406         (Fmake_network_process): Use bool for boolean.
56408 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
56410         Fix problems caused by new implementation of sub-word mode
56412         * lisp/subr.el (forward-word-strictly, backward-word-strictly):
56413         New functions.
56414         (word-move-empty-char-table): New variable.
56416         * etc/NEWS: Mention 'forward-word-strictly' and
56417         'backward-word-strictly'.
56419         * doc/lispref/positions.texi (Word Motion): Document
56420         'find-word-boundary-function-table', 'forward-word-strictly', and
56421         'backward-word-strictly'.  (Bug#22560)
56423         * src/syntax.c (syms_of_syntax)
56424         <find-word-boundary-function-table>: Doc fix.
56426         * lisp/wdired.el (wdired-xcase-word):
56427         * lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
56428         (texinfo-copy-section-title, texinfo-start-menu-description)
56429         (texinfo-copy-menu-title, texinfo-specific-section-type)
56430         (texinfo-insert-node-lines, texinfo-copy-next-section-title):
56431         * lisp/textmodes/texinfo.el (texinfo-clone-environment)
56432         (texinfo-insert-@end):
56433         * lisp/textmodes/texinfmt.el (texinfo-format-scan)
56434         (texinfo-anchor, texinfo-multitable-widths)
56435         (texinfo-multitable-item):
56436         * lisp/textmodes/tex-mode.el (latex-env-before-change):
56437         * lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
56438         * lisp/skeleton.el (skeleton-insert):
56439         * lisp/simple.el (count-words):
56440         * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
56441         (vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
56442         (vhdl-update-sensitivity-list, vhdl-template-block)
56443         (vhdl-template-break, vhdl-template-case, vhdl-template-default)
56444         (vhdl-template-default-indent, vhdl-template-for-loop)
56445         (vhdl-template-if-then-use, vhdl-template-bare-loop)
56446         (vhdl-template-nature, vhdl-template-procedural)
56447         (vhdl-template-process, vhdl-template-selected-signal-asst)
56448         (vhdl-template-type, vhdl-template-variable)
56449         (vhdl-template-while-loop, vhdl-beginning-of-block)
56450         (vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
56451         * lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
56452         (verilog-forward-sexp, verilog-beg-of-statement)
56453         (verilog-set-auto-endcomments, verilog-backward-token)
56454         (verilog-do-indent):
56455         * lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
56456         (vera-indent-block-closing):
56457         * lisp/progmodes/simula.el (simula-context)
56458         (simula-backward-up-level, simula-forward-down-level)
56459         (simula-previous-statement, simula-next-statement)
56460         (simula-skip-comment-backward, simula-calculate-indent)
56461         (simula-find-if, simula-electric-keyword):
56462         * lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
56463         * lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
56464         (ruby-smie--forward-token, ruby-smie--backward-token)
56465         (ruby-singleton-class-p, ruby-calculate-indent)
56466         (ruby-forward-sexp, ruby-backward-sexp):
56467         * lisp/progmodes/ps-mode.el (ps-run-goto-error):
56468         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
56469         (perl-syntax-propertize-special-constructs)
56470         (perl-backward-to-start-of-continued-exp):
56471         * lisp/progmodes/pascal.el (pascal-indent-declaration):
56472         * lisp/progmodes/octave.el (octave-function-file-p):
56473         * lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
56474         * lisp/progmodes/js.el (js--forward-function-decl):
56475         * lisp/progmodes/idlwave.el (idlwave-show-begin-check)
56476         (idlwave-beginning-of-block, idlwave-end-of-block)
56477         (idlwave-block-jump-out, idlwave-determine-class):
56478         * lisp/progmodes/icon.el (icon-is-continuation-line)
56479         (icon-backward-to-start-of-continued-exp, end-of-icon-defun):
56480         * lisp/progmodes/hideif.el (hide-ifdef-define):
56481         * lisp/progmodes/f90.el (f90-change-keywords):
56482         * lisp/progmodes/cperl-mode.el (cperl-electric-pod)
56483         (cperl-linefeed, cperl-electric-terminator)
56484         (cperl-find-pods-heres, cperl-fix-line-spacing)
56485         (cperl-invert-if-unless):
56486         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
56487         * lisp/progmodes/cc-align.el (c-lineup-java-inher):
56488         * lisp/progmodes/ada-mode.el (ada-compile-goto-error)
56489         (ada-adjust-case-skeleton, ada-create-case-exception)
56490         (ada-create-case-exception-substring)
56491         (ada-case-read-exceptions-from-file, ada-after-keyword-p)
56492         (ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
56493         (ada-get-indent-if, ada-get-indent-block-start)
56494         (ada-get-indent-loop, ada-get-indent-type)
56495         (ada-search-prev-end-stmt, ada-check-defun-name)
56496         (ada-goto-decl-start, ada-goto-matching-start)
56497         (ada-goto-matching-end, ada-looking-at-semi-or)
56498         (ada-looking-at-semi-private, ada-in-paramlist-p)
56499         (ada-search-ignore-complex-boolean, ada-move-to-start)
56500         (ada-move-to-end, ada-which-function, ada-gen-treat-proc):
56501         * lisp/net/quickurl.el (quickurl-grab-url):
56502         * lisp/mail/sendmail.el (mail-do-fcc):
56503         * lisp/mail/rmail.el (rmail-resend):
56504         * lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
56505         * lisp/mail/mail-extr.el (mail-extract-address-components):
56506         * lisp/json.el (json-read-keyword):
56507         * lisp/files.el (insert-directory):
56508         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
56509         * lisp/completion.el (symbol-under-point, symbol-before-point)
56510         (symbol-before-point-for-complete, next-cdabbrev)
56511         (add-completions-from-c-buffer):
56512         * lisp/cedet/semantic/texi.el (semantic-up-context)
56513         (semantic-beginning-of-context):
56514         * lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
56515         use 'forward-word-strictly' and 'backward-word-strictly' instead
56516         of 'forward-word' and 'backward-word'.
56518         [This reapplies commit c1d32a65372c72d7de4808d620eefd3214a8e92a,
56519         which was inadvertently lost by merge commit
56520         c71e7cc113ed0d5f01aaa2e441a3e3c9fbeb9fa5.]
56522 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
56524         * etc/TODO: Minor quoting and grammar fixes.
56526         [This reapplies commit 433407d8230a8a256b26c6c7615d3921b43f59ce,
56527         which was inadvertently lost by merge commit
56528         5ab243f40e4db91586ff74b01a775a5218a1d5be.]
56530 2016-03-21  Alan Mackenzie  <acm@muc.de>
56532         Don't confuse "::" with ":" when trying to parse member initializers.
56534         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
56535         more robustly for ":" token when searching backwards for it.
56537         * lisp/progmodes/cc-langs.el (c-:$-multichar-token-regexp): New
56538         language variable.
56540         [This reapplies commit 9e5452f7166e3634f2d8e943815ed722e1672714,
56541         which was inadvertently lost by merge commit
56542         7823745acbe9b87eea2db4ef434e379fc903ec35.]
56544 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
56546         Ensure positive number of glyphs for margins of positive width
56548         * src/dispnew.c (margin_glyphs_to_reserve): Always return a
56549         positive value when a non-zero width of the marginal area was
56550         requested.  (Bug#22356)
56552         [This reapplies commit 740849fe986b62a839bce4bbf67d0036fc1be0b9,
56553         which was inadvertently lost by merge commit
56554         7823745acbe9b87eea2db4ef434e379fc903ec35.]
56556 2016-03-21  Alan Mackenzie  <acm@muc.de>
56558         In comment-dwim with style `extra-line', respect indent-tabs-mode.
56560         This fixes bug #22369.
56562         * lisp/newcomment.el (comment-make-bol-ws): New function.
56563         (comment-make-extra-lines): Use new function instead of a crude `make-string'.
56565         [This reapplies commit 016b3d5894b8c424eab262aeefc646c6cd03a70a,
56566         which was inadvertently lost by merge commit
56567         7823745acbe9b87eea2db4ef434e379fc903ec35.]
56569 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
56571         Merge doc fixes for 'random' lost in previous merge
56573         [This reapplies part of commit
56574         3ffe81e245d854a694ae1734f1b6a995bdc5e724,
56575         which was inadvertently lost by merge commit
56576         7823745acbe9b87eea2db4ef434e379fc903ec35.]
56577         (Bug#22202)
56579 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
56581         Unhide the --no-line-directive option to 'etags'
56583         * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
56584         option.  (Bug#22306)
56586         * doc/man/etags.1: Document the --no-line-directive option.
56588         [This reapplies commit fee0526a189f43e8470d78e8374bd425890fbe6f,
56589         which was inadvertently lost by merge commit
56590         7823745acbe9b87eea2db4ef434e379fc903ec35.]
56592 2016-03-21  Alan J Third  <alan@idiocy.org>  (tiny change)
56594         Fix picture-mode wrt double-width characters
56596         * lisp/textmodes/picture.el (picture-insert): Check the width of
56597         the character being replaced, not just that of the replacement.
56598         (Bug#1808)
56600         [This reapplies commit b70dba4e18514411ed38b5bbb846558158842ace,
56601         which was inadvertently lost by merge commit
56602         7823745acbe9b87eea2db4ef434e379fc903ec35.]
56604 2016-03-20  Martin Rudalics  <rudalics@gmx.at>
56606         Resurrect earlier fix of resize_frame_windows
56608         * src/window.c (resize_frame_windows): Resurrect earlier fix for
56609         calculating the number of columns of the minibuffer window which
56610         was lost in subsequent merges.
56612 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56614         Move the cert files to the data directory
56616 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56618         Further empty <li> tweaks
56620         * lisp/net/shr.el (shr-tag-li): When showing several empty
56621         <li> elements, ensure that they really get inserted on a new line.
56623 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56625         Don't remove too much white space at the end of documents
56627         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): Don't
56628         remove too much white space -- leave it on the last line (in
56629         case there's a background color).
56631 2016-03-20  Alan Mackenzie  <acm@muc.de>
56633         Amend parse-partial-sexp correctly to handle two character comment delimiters
56635         Do this by adding a new field to the parser state: the syntax of the last
56636         character scanned, should that be the first char of a (potential) two char
56637         construct, nil otherwise.
56638         This should make the parser state complete.
56639         Also document element 9 of the parser state.  Also refactor the code a bit.
56641         * src/syntax.c (struct lisp_parse_state): Add a new field.
56642         (SYNTAX_FLAGS_COMSTARTEND_FIRST): New function.
56643         (internalize_parse_state): New function, extracted from scan_sexps_forward.
56644         (back_comment): Call internalize_parse_state.
56645         (forw_comment): Return the syntax of the last character scanned to the caller
56646         when that character might be the first of a two character construct.
56647         (Fforward_comment, scan_lists): New dummy variables, passed to forw_comment.
56648         (scan_sexps_forward): Remove a redundant state parameter.  Access all `state'
56649         information via the address parameter `state'.  Remove the code which converts
56650         from external to internal form of `state'.  Access buffer contents only from
56651         `from' onwards.  Reformulate code at the top of the main loop correctly to
56652         recognize comment openers when starting in the middle of one.  Call
56653         forw_comment with extra argument (for return of syntax value of possible first
56654         char of a two char construct).
56655         (Fparse_partial_sexp): Document elements 9, 10 of the parser state in the
56656         doc string.  Clarify the doc string in general.  Call
56657         internalize_parse_state.  Take account of the new elements when consing up the
56658         output parser state.
56660         * doc/lispref/syntax.texi: (Parser State): Document element 9 and the new
56661         element 10.  Minor wording corrections (remove reference to "trivial
56662         cases").
56663         (Low Level Parsing): Minor corrections.
56665         * etc/NEWS: Note new element 10, and documentation of element 9 of parser
56666         state.
56668 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56670         Allow the shr test files to have trailing blank space.
56672         * .gitattributes: Allow the shr test files to have trailing
56673         blank space.
56675 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56677         Add tests for empty <ul><li>
56679 2016-03-20  Paul Eggert  <eggert@cs.ucla.edu>
56681         * src/alloc.c (purecopy): Use AUTO_STRING.
56683 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56685         Ignore invalid base64 encoded embedded images
56687         * lisp/net/shr.el (shr-image-from-data): Ignore invalid base64
56688         encoded embedded images (bug#22928).
56690 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56692         Render empty <ul><li><ul> correctly
56694         * lisp/net/shr.el (shr-tag-ul): Render empty <ul><li><ul>
56695         correctly (bug#22964).
56697 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56699         Fix <p> and <div> newlines with or without <li> in shr
56701         * lisp/net/shr.el (shr-ensure-newline): Respect that we're in
56702         a <li>, if we are, and don't insert newlines there.
56703         (shr-ensure-paragraph): When mixing newlines and paragraph
56704         ensurements, don't insert too many blank lines.
56705         (shr-tag-div): A <div> shouldn't introduce a paragraph, but a
56706         new line.
56708 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56710         Add more shr HTML rendering tests
56712         Add a test harness for shr HTML rendering and one test
56714 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56716         Remove code left over from when overlays were used for padding
56718         * lisp/net/shr.el (shr-previous-newline-padding-width): Remove.
56719         (shr-remove-trailing-whitespace): Ditto.
56720         (shr-insert-document): Don't call them.
56722 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56724         Remove trailing blank lines in shr
56726         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): New function.
56727         (shr-insert-document): Use it to remove trailing blank lines
56728         at the end of documents, since these never seem to be very useful.
56730 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56732         Don't bug out on nil `patch-buf' arguments
56734         * lisp/vc/ediff.el (ediff-patch-file): Don't bug out on nil
56735         `patch-buf' arguments.
56737 2016-03-20  Ernest Adrogué  <nfdisco@gmail.com>
56739         Add a Catalan language environment
56741         * lisp/international/mule-cmds.el (locale-language-names): Map locale
56742           language name `ca' to language environment `Catalan'.
56744         * lisp/language/european.el: Add definition of language
56745         environment for the Catalan language.
56747         * lisp/leim/quail/latin-pre.el: Add quail rule to the
56748         `catalan-prefix' input method to support input of middle dot
56749         characters through composition (bug#18279).
56751 2016-03-19  Paul Eggert  <eggert@cs.ucla.edu>
56753         No need to block input when reading directories
56755         * src/dired.c: Don’t include blockinput.h.
56756         (open_directory, directory_files_internal_unwind)
56757         (directory_files_internal, file_attributes):
56758         Don’t block input here, as the reasons for blocking input should
56759         no longer apply.  See blockinput.h FIXME.  (Bug#22996).
56761 2016-03-19  Oscar Fuentes  <ofv@wanadoo.es>
56763         * lisp/vc/vc-hooks.el: Fix typo
56765 2016-03-19  Fabrice Popineau  <fabrice.popineau@gmail.com>
56767         Improve w32notify notifications
56769         * src/w32notify.c (DIRWATCH_BUFFER_SIZE): New macro.
56770         (struct notification): 'terminate' is now a HANDLE.
56771         (send_notifications): Argument is now a pointer to a
56772         notification.  Don't loop waiting for the notification to be
56773         acknowledged by the main thread; instead, just add the
56774         notification to the linked list of notifications waiting to be
56775         acknowledged.
56776         (watch_end): Don't close the directory handle.
56777         (watch_completion): Allocate a new notification structure to be
56778         added to the notifications set.  Call ReadDirectoryChangesW
56779         immediately after adding the new notification, and before sending
56780         a message to the main thread about them.
56781         (watch_worker): Don't loop calling ReadDirectoryChangesW; instead,
56782         call it just once -- it will be called again in watch_completion.
56783         Loop waiting for the main thread's indication to terminate.
56784         (start_watching): Create the event to be used to indicate to the
56785         worker thread that its should terminate.
56786         (remove_watch): Indicate to the worker thread that it should
56787         terminate.
56788         * src/w32term.c (queue_notifications): Loop over all the
56789         notifications in the linked list, processing all of them in one
56790         go.
56791         * src/w32inevt.c (handle_file_notifications): Loop over all the
56792         notifications in the linked list.
56793         * src/w32xfns.c (init_crit): Initialize the linked list of file
56794         notifications.
56795         (delete_crit): Free the linked list of file notifications,
56796         including any unprocessed notifications left in it.
56797         * src/w32term.h (struct notifications_se): New struct.
56799         * test/lisp/filenotify-tests.el (file-notify-test02-events)
56800         (file-notify-test05-dir-validity): Add read-event calls to
56801         facilitate event recognition by the main thread in batch mode.
56803 2016-03-17  Sam Steingold  <sds@gnu.org>
56805         make `vc-log-operation' buffer local to allow multiple simultaneous editing
56807 2016-03-17  Glenn Morris  <rgm@gnu.org>
56809         Simplify some rococo Gnus code that loads or tests for other libraries.
56811         * lisp/gnus/gnus-art.el (gnus-treat-ansi-sequences): Simplify default.
56812         * lisp/gnus/mml-smime.el (epg): Simply require it.
56813         (mml-smime-use): Simplify the default.  Doc fix.
56814         * lisp/gnus/mml2015.el (epg-config): Require it.
56815         (mml2015-use): Simplify the default.
56816         * lisp/gnus/smime.el (password-cache): Simply require it.
56817         (password-read-and-add): Remove declaration.
56819 2016-03-16  Glenn Morris  <rgm@gnu.org>
56821         * test/lisp/dabbrev-tests.el: Merge fix: move here from test/automated.
56823 2016-03-16  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
56824             Alex Harsanyi  <AlexHarsanyi@gmail.com>
56826         Sync with soap-client repository, version 3.1.1
56828         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix error
56829         message.
56830         (soap-find-port): Delete trailing whitespace.
56831         (soap-find-operation): Fix documentation and rename parameter.
56832         (soap-find-port): Likewise.
56833         (soap-operation-arity): Likewise.
56835         * lisp/net/soap-client.el: Update copyright years.
56836         (soap-warning): Fix docstring quoting.
56837         (soap-decode-date-time): Likewise.
56838         (soap-validate-xs-simple-type): Remove tabs for indentation.
56839         * lisp/net/soap-inspect.el: Update copyright years.
56841         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Do not
56842         assume xsd:base64Binary values are UTF-8 strings.
56843         (soap-decode-xs-basic-type): Likewise.
56844         (soap-invoke): Document xsd:base64Binary handling.
56846         * lisp/net/soap-client.el (soap-find-port, soap-find-operation)
56847         (soap-operation-arity): new defuns
56848         (soap-invoke-internal): use soap-find-port, soap-find-operation.
56850 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
56852         Merge from gnulib
56854         This incorporates:
56855         2016-03-15 std-gnu11: improve clang support
56856         * m4/std-gnu11.m4: Copy from gnulib.
56858 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56860         Disable MOVE more for Dovecot
56862         * lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Also
56863         disable MOVE when expirying.
56864         (nnimap-split-incoming-mail): And when splitting mail.
56866 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56868         Don't use MOVE on Dovecot
56870         * lisp/gnus/nnimap.el (nnimap-request-move-article): Don't use
56871         MOVE on Dovecot, since it's broken in many versions.
56872         (nnimap-quirks): Mark MOVE on Dovecot as non-working.
56874 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
56876         Improve diff hunk headers when maintaining Emacs
56878         * .gitattributes: Improve diff hunk header support for makefiles,
56879         shell scripts, Ada, C, C++, Objective C, HTML, SHTML, XML, Java,
56880         Perl, PHP, Python, Ruby, and TeX, all of which are used in Emacs
56881         somewhere (sometimes just in test cases).
56882         * autogen.sh: Add regexes for makefiles and shell scripts.
56884 2016-03-12  Eli Zaretskii  <eliz@gnu.org>
56886         Update handling of <bdo> per Unicode 9.0
56888         * lisp/net/shr.el (shr-tag-bdo): Wrap in FSI..PDI as well, per
56889         Unicode 9.0 changes in UAX#9, paragraph 2.7.
56891 2016-03-11  John Wiegley  <johnw@newartisans.com>
56893         Merge from origin/emacs-25
56895         facb5e2 Update Emacs manual section related to character folding
56896         4efea8e ; * etc/DEBUG: Fix a typo.  (Bug#22984)
56897         f8df21b Update admin/notes/unicode
56898         950be68 Add symref-filepattern entries for c?perl-mode
56899         8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them.
56900         985dacf ; NEWS update for the last change in etags
56901         741a6f8 Sync with gnulib
56902         7352c6c Rework C source files to avoid ^(
56903         a589e9a By default, etags produces unqualified Perl tag names
56904         72c7438 Indent methods with keyword names correctly
56905         28532a9 Propertize character literals and special global variables
56906                 differently
56907         a7d6f39 ; Fix last change in NEWS
56908         83b2a20 Change how /etc/NEWS presents character folding
56909         b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding
56910                 off by default""
56911         711ca36 Properly handle lambda as read function (bug 22961)
56912         1b9d616 Propertize operator symbol names with symbol syntax class
56913         9b16bc2 Stop recognizing :#{} as symbol in ruby-mode
56914         366ec77 Allow using the left shift operator without spaces on both sides
56915         02bf7cc Properly handle unquoting in wdired (bug 22938)
56916         16cf469 ; Spelling fix and tighten up comment
56917         f50bc04 Allow splat operator before percent literal
56918         991c801 Don't apply the return value of goto-char as syntax class
56919         6e63b3e Guard against nested percent literals
56920         066f3bc Recognize iuwu-mod after an escaped newline
56921         6f7a57c Fix symbolic mode string conversion for s and t
56922         50b9826 Update 'ucs-names' database
56923         993b2fb Improve doc string of 'shell-command'
56924         b71c717 Make the code in movemail_strftime more general
56925         cc057e4 Speed up redisplay of binary files with long series of nulls
56926         e51b27e Remove the highlighting support for quoting 'like this' inside
56927                 Lisp docstrings
56928         b1abce1 Restore leading space in movemail pop output
56929         98b8d44 Fix bidi-paragraph-direction in Rmail view buffer
56930         dc9d837 Don't misindent computed property generator methods
56931         7923112 Fix mbox files produced by movemail on MS-Windows
56932         c45a1ca doc string file descriptor exhaustion fix
56933         265141b Fix Bug#22814
56935 2016-03-11  John Wiegley  <johnw@newartisans.com>
56937         Merge from origin/emacs-25
56939         620951f Fix previous fix of enlarge-/shrink-window
56940         2e78353 * lisp/isearch.el (isearch-define-mode-toggle): Fix toggling logic
56941         66d2717 Complete temperature units in calc-convert-temperature
56942         dbb02bf Make sure to use case-sensitive search
56943         8b01e69 Prevent infinite loop on not-well-formed xml. (Bug#16344)
56944         100346a Add the missing test case for the previous patch
56945         5aba61e Use the correct dabbrev expansion
56947 2016-03-11  Michael Albinus  <michael.albinus@gmx.de>
56949         Remove compat code in Tramp
56951         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
56952         Remove compat code.
56954 2016-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
56956         * lisp/textmodes/tex-mode.el: Complete local envs.  Use #'.
56958         Use #' for function names.
56959         (latex-complete-envnames): Include existing environments in
56960         current buffer.
56961         (latex-insert-block): Use latex-complete-envnames.
56962         (tildify-foreach-ignore-environments): Declare.
56964 2016-03-10  Alain Schneble  <a.s@realize.ch>
56966         Fix asynchronous TLS connections on MS-Windows
56968         * src/w32.c (sys_write): Don't switch the socket to blocking mode
56969         if the connection attempt is in progress.  Instead, return either
56970         EWOULDBLOCK immediately if the connection is in progress, or the
56971         error code produced by '_sys_wait_connect' if the connection
56972         failed.  Switching the socket to blocking mode was found to
56973         interfere with GnuTLS handshake.  (Bug#22789)
56975 2016-03-10  Alan Mackenzie  <acm@muc.de>
56977         Clarify the documentation of nested comments.
56979         * doc/lispref/syntax.texi (Syntax Flags): State that only comments of the same
56980         style are recognized inside nestable comments.
56981         (Low-Level Parsing): Clarify that parsing will stop after the start or end of
56982         UNNESTED comments.
56984 2016-03-10  Nicolas Richard  <youngfrog@members.fsf.org>
56986         Add new function display-buffer-reuse-mode-window
56988         * lisp/window.el (display-buffer-reuse-mode-window): New function.
56989         * doc/lispref/windows.texi (Display Action Functions): Document it.
56991 2016-03-09  Paul Eggert  <eggert@cs.ucla.edu>
56993         Minor fixes for getaddrinfo_a usage
56995         * src/process.c (Fdelete_process): Check gai_cancel return value.
56996         That way, there’s no need to invoke gai_error.  Check gai_suspend
56997         return value.
56998         (Fmake_network_process): Don’t assume gai_strerror returns a UTF-8
56999         string.  Simplify call to connect_network_socket.
57000         (check_for_dns): Avoid unnecessary initialization of local.
57002 2016-03-09  Sam Steingold  <sds@gnu.org>
57004         declare `rmail-mime-entity-truncated' and `rmail-mime-render-html-function'
57006         The former avoids a compiler warning, the latter fixes a bug whereas
57007         the variable is compiled as lexical instead of dynamic.
57009 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
57011         Pacify --enable-gcc-warnings
57013         * src/xfns.c (x_create_tip_frame): Omit unused local.
57014         (Fx_show_tip): Don’t jump over auto initialization.
57016 2016-03-07  Martin Rudalics  <rudalics@gmx.at>
57018         Optionally reuse tooltip frames instead of deleting/recreating them.
57020         * src/frame.c (tooltip_reuse_hidden_frame): New option.
57021         * src/w32fns.c (x_create_tip_frame): Remove argument TEXT.  Fix
57022         handling of dividers.
57023         (x_hide_tip): New function.
57024         (Fx_show_tip): Try to reuse old tooltip frame when
57025         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
57026         have not changed.  Insert STRING here instead of passing it to
57027         x_create_tip_frame.  Compute size of tooltip window with
57028         Fwindow_text_pixel_size.  Obey Vw32_tooltip_extra_pixels when
57029         padding tooltip window.
57030         (Fx_hide_tip): Call x_hide_tip.
57031         (Vw32_tooltip_extra_pixels): New variable.
57032         * src/xdisp.c (Fwindow_text_pixel_size): Don't return negative y
57033         value.  Fix doc-string.
57034         * src/xfns.c (x_create_tip_frame): Remove argument TEXT.  Call
57035         make_frame with mini_p argument false.
57036         (x_hide_tip): New function.
57037         (Fx_show_tip): Try to reuse old tooltip frame when
57038         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
57039         have not changed.  Insert STRING here instead of passing it to
57040         x_create_tip_frame.  Compute size of tooltip window with
57041         Fwindow_text_pixel_size.
57042         (Fx_hide_tip): Call x_hide_tip.
57043         * lisp/cus-start.el (tooltip-reuse-hidden-frame): Add
57044         customization entry.
57046 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
57048         Assume getaddrinfo in C code
57050         * admin/CPP-DEFINES, configure.ac: Remove HAVE_GETADDRINFO, HAVE_H_ERRNO.
57051         All uses removed.
57052         * doc/lispref/processes.texi (Network, Network Processes), etc/NEWS:
57053         Say that port numbers can be integer strings.
57054         * lib-src/pop.c (h_errno) [!WINDOWSNT && !HAVE_H_ERRNO]: Remove decl.
57055         (socket_connection): Assume HAVE_GETADDRINFO.
57056         * lisp/mpc.el (mpc--proc-connect):
57057         * lisp/net/network-stream.el (open-network-stream):
57058         It’s now OK to use integer strings as port numbers.
57059         * src/process.c (conv_numerical_to_lisp) [!HAVE_GETADDRINFO]: Remove.
57060         (Fmake_network_process): Assume HAVE_GETADDRINFO.
57062 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
57064         Remove support for IRIX
57066         The IRIX port wasn’t really working anyway, and the code was
57067         getting in the way of other changes (e.g., getaddrinfo fixes).
57068         IRIX’s supplier dropped support for IRIX in 2013.
57069         * admin/CPP-DEFINES:
57070         * configure.ac (opsys):
57071         * doc/lispref/os.texi (System Environment):
57072         * etc/MACHINES, etc/PROBLEMS:
57073         * lisp/find-dired.el (find-grep-options):
57074         * lisp/lpr.el (lpr-lp-system):
57075         * lisp/ls-lisp.el (ls-lisp-emulation):
57076         * lisp/mail/rmail.el (rmail-spool-directory):
57077         * lisp/net/net-utils.el (ping-program-options):
57078         * lisp/progmodes/gud.el (gud-irix-p, gud-dbx-use-stopformat-p):
57079         * lisp/progmodes/ps-mode.el (ps-mode-print-function):
57080         * src/conf_post.h [IRIX6_5]:
57081         * src/emacs.c (Vsystem_type):
57082         * src/filelock.c (get_boot_time_1):
57083         * src/process.c (process_send_signal):
57084         * src/unexelf.c (unexec):
57085         Omit IRIX-specific code and/or documentation.
57086         * configure.ac (NON_GCC_TEST_OPTIONS, IRIX6_5, PREFER_VSUSP):
57087         Remove.  All uses removed.
57088         * etc/NEWS: Document the change.
57090 2016-03-06  John Wiegley  <johnw@newartisans.com>
57092         Revert "Use colors in the VC mode lines"
57094         This reverts commit 2621c293d82c15c00d9e73a8db75d70da7d0a23b.
57096 2016-03-06  Ken Brown  <kbrown@cornell.edu>
57098         Fix Cygwin-w32 build
57100         * src/w32fns.c (funhook, setup_w32_kbdhook, remove_w32_kbdhook):
57101         Define only if WINDOWSNT, and update all uses accordingly.
57102         * src/w32term.h (check_w32_winkey_state, setup_w32_kbdhook)
57103         (remove_w32_kbdhook): Declare only if WINDOWSNT.
57104         (w32_kbdhook_active): Define as 0 if not WINDOWSNT.
57106 2016-03-06  Eli Zaretskii  <eliz@gnu.org>
57108         Unbreak the MinGW64 build
57110         * nt/inc/ms-w32.h [MINGW_W64]: Undefine HAVE_GAI_STRERROR.  See
57111         https://lists.gnu.org/r/emacs-devel/2016-03/msg00130.html
57112         for the details.  Reported by Angelo Graziosi
57113         <angelo.graziosi@alice.it>.
57115 2016-03-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57117         Don't signal errors on E_AGAIN
57119         * src/gnutls.c (Fgnutls_errorp): Qgnutls_e_again is not an
57120         error now that TLS is async.
57122 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57124         Allow making TLS negotiation blocking
57126         * lisp/net/gnutls.el (gnutls-negotiate): Make negotiation blocking.
57128         * src/gnutls.c (Fgnutls_boot): Provide a new keyword,
57129         :complete-negotiation, to specify that we want complete
57130         negotiation even if the socket is non-blocking.
57131         (gnutls_try_handshake): Complete negotiation if given that keyword.
57133         * src/process.h (L): Added gnutls_complete_negotiation_p.
57135 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57137         Don't run ipv6 test on systems without ipv6
57139         * test/lisp/net/network-stream-tests.el
57140         (connect-to-tls-ipv6-nowait): Skip on systems without ipv6.
57142 2016-03-05  Eli Zaretskii  <eliz@gnu.org>
57144         Implement getaddrinfo fallback for MS-Windows
57146         See https://lists.gnu.org/r/emacs-devel/2016-02/msg01602.html
57147         for more details.
57149         * nt/mingw-cfg.site (ac_cv_func_getaddrinfo)
57150         (ac_cv_func_gai_strerror): Set to "yes", as the configure script's
57151         test program is not smart enough to auto-detect these.
57152         * nt/inc/sys/socket.h (getaddrinfo, freeaddrinfo): Redirect to
57153         sys_getaddrinfo and sys_freeaddrinfo.  Provide prototypes for
57154         sys_getaddrinfo and sys_freeaddrinfo.
57156         * src/w32.c (init_winsock): Try loading getaddrinfo and
57157         freeaddrinfo from ws2_32.dll.
57158         (sys_getaddrinfo, sys_freeaddrinfo): New functions.
57160         * lib-src/pop.c [WINDOWSNT]: Include winsock2.h, not winsock.h,
57161         and also ws2tcpip.h.
57162         (getaddrinfo, freeaddrinfo) [WINDOWSNT]: Redirect to
57163         sys_getaddrinfo and sys_freeaddrinfo, respectively.
57164         (load_ws2, sys_getaddrinfo, sys_freeaddrinfo) [WINDOWSNT]: New
57165         functions.
57167 2016-03-04  Glenn Morris  <rgm@gnu.org>
57169         * lisp/files.el: Fix recent typo.
57171         * lisp/subr.el (read-multiple-choice): Avoid free variable.
57173         * doc/lispref/files.texi (File Attributes): Fix typo.
57175 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
57177         Make the describe-key prompts clearer
57179         * lisp/help.el (describe-key-briefly): Make the prompt clearer
57180         (bug#14854).
57181         (describe-key): Ditto.
57183 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
57185         Allow scrolling while querying multiple choice
57187         * lisp/subr.el (read-multiple-choice): Allow scrolling the
57188         buffer while querying (bug#22827).
57190 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
57192         Add accessors for `file-attributes'
57194         * doc/lispref/files.texi (File Attributes): Mention the accessors.
57196         * lisp/files.el (file-attribute-type)
57197         (file-attribute-link-number, file-attribute-user-id)
57198         (file-attribute-group-id, file-attribute-access-time)
57199         (file-attribute-modification-time)
57200         (file-attribute-change-time, file-attribute-size)
57201         (file-attribute-modes, file-attribute-inode-number)
57202         (file-attribute-device-number): New functions.
57204         * src/dired.c (Ffile_attributes): Mention the accessors (bug#22890).
57206 2016-03-04  Michael Albinus  <michael.albinus@gmx.de>
57208         Fix Bug#22814
57210         * lisp/autorevert.el (global-auto-revert-mode): Do not set
57211         `auto-revert-use-notify' to nil.
57213         * etc/NEWS: Mention this.
57215         * etc/PROBLEMS: Remove problem Bug#22814.
57217         * src/kqueue.c: Include <sys/resource.h>.
57218         (Fkqueue_add_watch): Limit the number of used file descriptors.
57219         (Bug#22814)
57221         * test/lisp/filenotify-tests.el (file-notify--test-remote-enabled)
57222         (file-notify-test00-availability, file-notify-test01-add-watch)
57223         (file-notify-test02-events, file-notify-test06-many-events):
57224         Use #' read syntax for functions.
57225         (file-notify-test05-dir-validity)
57226         (file-notify-test06-many-events): Simplify directory creation.
57227         (file-notify-test09-sufficient-ressources): New test.
57229 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
57231         Fix insertion of edited servers in the dribble file
57233         * lisp/gnus/gnus-srvr.el (gnus-server-update-server): Don't
57234         insert explicit newlines, because they're quoted (bug#22903).
57236 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
57238         Move cl-seq-tests to the right place after the merge
57240         Move cl-seq-tests to the right place after the merge
57242 2016-03-03  John Wiegley  <johnw@newartisans.com>
57244         Merge from origin/emacs-25
57246         d6f6b7d * etc/AUTHORS: Update the AUTHORS file
57247         5cf7c39 authors.el updates
57248         a26f193 ; fix changelog entries
57249         fbc85c7 ; make change-history-commit
57250         06da00c Fix Bug#22859
57251         ab30bf5 ; * src/w32proc.c: Update the commentary to sys_select.
57252         1481029 Fix reordering of bidi text in an isolate inside an override
57253         60e0596 Document c-guess-basic-syntax in the CC Mode manual.
57255 2016-03-03  John Wiegley  <johnw@newartisans.com>
57257         Merge from origin/emacs-25
57259         f5d1435 Fix targets in test/automated/Makefile.in
57261 2016-03-03  John Wiegley  <johnw@newartisans.com>
57263         Merge from origin/emacs-25
57265         b6d6304 Comment on last change to define-derived-mode
57267 2016-03-03  John Wiegley  <johnw@newartisans.com>
57269         Merge from origin/emacs-25
57271         cb1e3da Also allow setting the paragraph direction to nil
57272         bbe8a89 Made the new OS X visible bell more visible.
57274 2016-03-03  John Wiegley  <johnw@newartisans.com>
57276         Merge from origin/emacs-25
57278         aae436e Uncomment the next-error-function integration in xref
57279         5f0d096 Remove the word "valid", to avoid ambiguity
57281 2016-03-03  John Wiegley  <johnw@newartisans.com>
57283         Merge from origin/emacs-25
57285         5a44bfe Set auto-revert-use-notify to nil in global-auto-revert-mode.  (Bug#22814)
57286         0d60bfc Fix ModelSim error parsing
57288 2016-03-03  John Wiegley  <johnw@newartisans.com>
57290         Merge from origin/emacs-25
57292         b13cab6 Add a eww command to toggle paragraph direction
57293         4e46128 * nextstep/WISHLIST: Merge into etc/TODO and remove.
57294         9e078e5 Fix char signedness issue in bidi code
57295         064adf6 * lib-src/pop.c (socket_connection): Fix format string.
57296         14060a9 Avoid inflooping in thing-at-point-looking-at
57297         098d47b * lisp/emacs-lisp/derived.el (define-derived-mode): Revert
57298                 indent change.
57299         b5db8e0 etc/PROBLEMS: Mention problems with using file descriptors
57300         ec10ef9 * lisp/apropos.el (apropos-variable): Doc fix.  (Bug#22813).
57301         d2dd614 Remove unneeded workaround in xftfont.c
57302         9b7593c ; * etc/NEWS: Reflect latest changes in saveplace.
57303         fde0cd1 * lisp/saveplace.el (save-place-local-mode): New minor mode
57304         06a872b Fix redisplay on a TTY after 'make-frame'
57305         95f5a43 Make double-click-1 work with unbalanced parens in CC Mode.
57306                 Fixes bug#5560.
57307         7d206fc Input method polish-slash should not use keyboard translation
57308         8be32cf Fix an assertion
57309         040e0d6 Fix 'toggle-save-place'
57310         5244db2 * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)
57312 2016-03-03  John Wiegley  <johnw@newartisans.com>
57314         Merge from origin/emacs-25
57316         e6a3819 Update HISTORY section in readme for the NextStep interface.
57317         f67f1ed ; * doc/lispref/modes.texi (Font Lock Basics): Minor rewording.
57318         7c81a0b Improve documentation of 'save-place-mode'
57319         cab3f0a Allocate glyph matrices for the initial frame
57320         e01c72f Fix white space in last checkin
57321         370eb67 Make `insert-pair' always leave the cursor where documented
57322         b594393 etc/NEWS: Mention the new second parameter to `package-install'
57324 2016-03-03  John Wiegley  <johnw@newartisans.com>
57326         Merge from origin/emacs-25
57328         bd58c13 Improve documentation of focus-related hooks
57329         00a4720 Further improve doc string of 'disable-point-adjustment'
57330         c582def Further adaptions in file-notify-tests.el for w32notify
57331         a1585e1 Don't bug out on localized dates in gnus-icalendar
57333 2016-03-03  John Wiegley  <johnw@newartisans.com>
57335         Merge from origin/emacs-25
57337         7bc4820 Make setf for frame-height/width work again
57339 2016-03-03  John Wiegley  <johnw@newartisans.com>
57341         Merge from origin/emacs-25
57343         6620944 (cl-union): Do not ignore :test argument when lists are equal.
57344         17dd3fb Add `isearch' to `basic-faces'
57345         c1ec743 Make $, : and @ "prefix characters" in ruby-mode
57346         e72a26e Make find-tag-default-bounds more strict
57347         1bc0e0a Minor fixes in filenotify.el
57349 2016-03-02  Alain Schneble  <a.s@realize.ch>
57351         Fix issue of inserting images on some systems
57353         * lisp/net/shr.el (shr-tag-img): Construct a non-empty range
57354         to pass to shr-image-fetched, to indicate where to insert the
57355         image.  Fixes the issue introduced with commit
57356         80852f843e69b81618f29cfb9aa4b074946cb3c4
57357         (bug#22789).
57359 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
57361         Ensure TLS negotiation progress
57363         * src/gnutls.h (GNUTLS_EMACS_HANDSHAKES_LIMIT): Increase the
57364         number of retries so that we try for about a minute.
57366         * src/process.c (wait_reading_process_output): Ensure progress
57367         for DNS resolution and TLS negotiation.
57369 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
57371         emacs-module.h slight simplification
57373         * src/emacs-module.c (emacs_init_function, emacs_subr): Move here ...
57374         * src/emacs-module.h: ... from here, as they don’t need to be public.
57375         (enum emacs_arity): Remove useless enum tag.  The enum value is
57376         used in ptrdiff_t contexts.
57378         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
57380 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
57382         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
57384 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
57386         emacs-module.c simplification and tuneup
57388         * src/emacs-module.c (CHECK_USER_PTR): New function.
57389         (module_get_user_ptr, module_set_user_ptr)
57390         (module_get_user_finalizer, module_set_user_finalizer): Use it.
57391         (module_make_global_ref, module_copy_string_contents)
57392         (module_make_string, module_vec_set, module_vec_get): Omit
57393         unnecessary runtime tests.  For example, vector sizes are always
57394         fixnums, so we don’t need to test that they are in fixnum range.
57396 2016-03-02  Philipp Stephani  <phst@google.com>
57398         Use standard checks whenever possible.
57400         This is possible in all functions where we catch signals anyway.
57402         * src/emacs-module.c (module_make_global_ref, module_funcall)
57403         (module_copy_string_contents, module_make_string): Use xsignal0
57404         and CHECK macros for argument checks.
57406 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
57408         Deterministic build improvements
57410         * configure.ac (BUILD_DETAILS): Rename from DETERMINISTIC_DUMP,
57411         and negate its sense.  Use it via AC_SUBST, not AC_DEFINE,
57412         and have its value be either empty or --no-build-details.
57413         All uses changed.  Change option to --disable-build-details.
57414         * doc/emacs/cmdargs.texi (Initial Options):
57415         Document --no-build-details.
57416         * doc/lispref/internals.texi (Building Emacs):
57417         * etc/NEWS:
57418         Document --disable-build-details.
57419         * doc/lispref/intro.texi (Version Info): Say that
57420         emacs-build-time can be nil.
57421         * lisp/erc/erc-compat.el (erc-emacs-build-time):
57422         Now nil if details are omitted.
57423         * lisp/erc/erc.el (erc-cmd-SV):
57424         * lisp/version.el (emacs-build-time):
57425         Now nil if no build details.
57426         (emacs-version):
57427         Output build time only if build details.
57428         * src/Makefile.in (BUILD_DETAILS): New macro.
57429         (temacs, bootstrap-emacs): Use it.
57430         * src/emacs.c (build_details): New var.
57431         (standard_args, main): Support --no-build-details.
57432         (Vdeterministic_dump): Remove; all uses replaced
57433         by !build_details.
57434         (syms_of_emacs): Set Vbuild_details to a boolean, not
57435         to a Lisp_Object.
57436         * src/lisp.h (build_details): New decl.
57437         * src/sysdep.c (init_system_name): When !build_details,
57438         set system-name to nil, not to "elided".
57440 2016-03-02  Philipp Stephani  <phst@google.com>
57442         Remove build system name from deterministic dumps
57444         * configure.ac (DETERMINISTIC_DUMP): New configuration option.
57445         * lisp/version.el (emacs-build-time): Add a comment to make the
57446         build time deterministic if requested.
57447         (emacs-build-system): Make variable deterministic if requested.
57448         * src/emacs.c (main): Initialize `deterministic-dump' from the
57449         configuration option.
57450         (syms_of_emacs): New constant `deterministic-dump'.
57451         * src/sysdep.c (init_system_name): Use a constant
57452         if a deterministic dump is requested.
57454 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
57456         Remove buggy parse-time test
57458         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
57459         Remove the iso parse test, since it doesn't work.
57461 2016-03-01  Paul Eggert  <eggert@cs.ucla.edu>
57463         * src/syntax.c (syntax_multibyte): Omit unnecessary parens.
57465 2016-02-29  Glenn Morris  <rgm@gnu.org>
57467         * lisp/emacs-lisp/autoload.el (autoload-timestamps):
57468         Experiment with setting to nil.
57470 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
57472         Make the revert command in timer-list-mode work
57474         * lisp/emacs-lisp/timer-list.el (timer-list): Make the revert
57475         command work.
57477 2016-02-29  Glenn Morris  <rgm@gnu.org>
57479         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
57480         Fix 6-week old merge error.
57482         * lisp/emacs-lisp/autoload.el (update-file-autoloads):
57483         Ensure timestamps.
57485         * lisp/emacs-lisp/package.el (package-generate-autoloads):
57486         Disable timestamps.
57488 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
57490         Allow binding `url-mime-accept-string'
57492         * lisp/url/url-http.el (url-http): Allow binding
57493         `url-mime-accept-string' (bug#22855).
57495 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
57497         Add a NEWS entry for the colorful VC indicator
57499 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
57501         Use colors in the VC mode lines
57503         * lisp/vc/vc-hooks.el: Make the mode line faces default to
57504         using colors to more clearly tell the user what the status is.
57506 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
57508         Support <bdo> and <bdi>
57510         * lisp/net/shr.el (shr-tag-bdo): New function.
57511         (shr-tag-bdi): Ditto.
57513 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
57515         Respect <html dir=auto>
57517         * lisp/net/shr.el (shr-tag-html): Respect the "auto"
57518         directional HTML setting.
57520 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
57522         Default bidi paragraph direction to nil
57524         * lisp/net/eww.el (eww-display-html): Default bidi rendering
57525         to nil, so that possibly more Arabic web pages render
57526         correctly (bug#22786).
57527         (eww-setup-buffer): Ditto.
57529 2016-02-29  Mathias Dahl  <mathias.dahl@gmail.com>
57531         Preserve current column, going up/down in thumbnail view.
57533 2016-02-29  Alan Mackenzie  <acm@muc.de>
57535         Handle "noise" macros and compiler directives.
57537         * lisp/progmodes/cc-langs.el (c-symbol-char-key): New language variable.
57539         * lisp/progmodes/cc-vars.el (c-noise-macro-names)
57540         (c-noise-macro-with-parens-names): New customizable variables.
57541         (c-noise-macro-name-re, c-noise-macro-with-parens-name-re): New variables.
57542         (c-make-noise-macro-regexps): New function.
57544         * lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Adapt to treat
57545         members of c-noise-macro-names as whitespace.
57546         (c-forward-noise-clause): New function.
57547         (c-forward-keyword-prefixed-id, c-forward-type, c-forward-declarator)
57548         (c-forward-decl-or-cast-1, c-backward-over-enum-header)
57549         (c-guess-basic-syntax CASE 5A.3, CASE 5A.5, CASE 9A):
57550         Handle "noise clauses" in parallel with, e.g., "hangon key clauses".
57552         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): Handle "noise clauses"
57553         in parallel with "prefix-spec keywords".
57555         * lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): call
57556         c-make-noise-macro-regexps to initialize the internal variables.
57558         * doc/misc/cc-mode.texi ("Noise Macros"): New section documenting the new
57559         facilities.
57561 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
57563         Stop calling res_init
57565         Emacs shouldn’t need to call res_init any more, now that nscd or
57566         equivalent is everywhere.  On modern systems, calling res_init
57567         simply slows Emacs down.  On ancient systems lacking nscd Emacs
57568         will still work well enough with this change; it’s just that it
57569         won’t respond to changes in /etc/resolv.conf.
57570         * configure.ac (HAVE_RES_INIT): Remove.  Worry about -lresolv only
57571         when configured --with-hesiod.  Hesiod is still used; see, e.g.:
57572         https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214
57573         * src/Makefile.in (LIBRESOLV): Remove.  All uses removed.
57575 2016-02-29  Glenn Morris  <rgm@gnu.org>
57577         * lisp/progmodes/grep.el (grep-save-buffers): Fix type, tweak doc.
57579         * lisp/progmodes/grep.el (grep-save-buffers): Don't autoload defcustoms.
57581 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
57583         * src/process.c (Fdelete_process): Simplify cast.
57585 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
57587         Use the correct background color when filling nested <divs>
57589         * lisp/net/shr.el (shr-face-background): Return the first
57590         background, because that's the one that's visible (bug#22680).
57592 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
57594         Make <div> in <li> not insert extra newlines
57596         * lisp/net/shr.el (shr-tag-div): Make <div> in <li> not insert
57597         extra newlines (bug#19587).
57599 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
57601         Allow reading Gnus reports from an offline cache
57603         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
57604         Allow reading bug reports from an offline cache directory.
57606 2016-02-28  Tino Calancha  <f92capac@gmail.com>
57608         Meta + shift + Fn combos are recognized by xterm>=216.
57610         * lisp/term/xterm.el (xterm-alternatives-map): Meta + shift +
57611         Fn combos are recognized by xterm>=216 (bug#22837).
57613 2016-02-28  Simen Heggestøyl  <simenheg@gmail.com>
57615         Declare $ as an expression prefix in SCSS
57617         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
57618         expression prefix (bug#22841).
57620 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
57622         Revert "Declare $ as an expression prefix in SCSS"
57624         This reverts commit ffb33264f21e8af60b8055c47baffcf0f6c300df.
57626         Revering to fix author name.
57628 2016-02-28  Simen  <simenheg@gmail.com>
57630         Declare $ as an expression prefix in SCSS
57632         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
57633         expression prefix (bug#22841).
57635 2016-02-28  Hugh Brown  <aardvark@saintaardvarkthecarpeted.com>
57637         Save buffers before running grep commands
57639         * lisp/progmodes/grep.el (grep-ask-about-save): New variable (bug#96).
57640         (grep, lgrep, rgrep): Use it (bug#96).
57642         * doc/emacs/building.texi (Grep Searching): Document
57643         `grep-save-buffers'.
57645         * lisp/progmodes/grep.el (grep-save-buffers): Rename from
57646         `grep-ask-about-save'.
57647         (grep--save-buffers): New function.
57648         (grep, lgrep, rgrep): Use it.
57650 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
57652         Allow sorting flyspell corrections
57654         * lisp/textmodes/flyspell.el (flyspell-sort): New function (bug#2405).
57655         (flyspell-sort-corrections-functionx): New variable.
57656         (flyspell-sort-corrections-alphabetically): New function.
57657         (flyspell-notify-misspell): Use them.
57658         (flyspell-auto-correct-word): Ditto.
57659         (flyspell-emacs-popup): Ditto.
57660         (flyspell-xemacs-popup): Ditto.  Suggested by Sebastien Delafond.
57662 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
57664         Wait for async DNS to complete before freeing resources
57666         * src/process.c (Fdelete_process): Wait for async DNS to
57667         complete before freeing the data structures it needs.
57669 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
57671         * lisp/faces.el: Remove duplicated functions from previous patch.
57673 2016-02-28  Eli Zaretskii  <eliz@gnu.org>
57675         Fix TLS connections on MS-Windows
57677         * src/w32.c (sys_write): If 'send' returns with WSAENOTCONN, and
57678         this is a non-blocking socket whose connection is in progress, set
57679         errno to EWOULDBLOCK, as expected by GnuTLS and other callers.
57680         Avoid overwriting the errno value from 'send' by 'ioctlsocket'.
57681         Suggested by Alain Schneble <a.s@realize.ch>.  (Bug#22789)
57683 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
57685         Add a NEWS entry for the read-color change
57687 2016-02-27  Jan Moringen  <jan.moringen@uni-bielefeld.de>
57689         Show the face colors when completing in `read-color'
57691         * lisp/faces.el (defined-colors-with-face-attributes): New function.
57692         (readable-foreground-color, defined-colors-with-face-attributes)
57693         (readable-foreground-color): Ditto.
57694         (read-color): Use them (bug#5305).
57696 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
57698         Clean up the code in parse-time-string-chars
57700         * lisp/calendar/parse-time.el (parse-time-string-chars):
57701         Clean up the code a bit.
57703 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
57705         Add some tests for parse-time.el
57707         * test/lisp/calendar/parse-time-tests.el: New file.
57709 2016-02-27  Dima Kogan  <dima@secretsauce.net>
57711         Strip out some leading whitespace when looking at logs
57713         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): When looking
57714         at expanded git logs with `vc-print-root-log' (C-x v L, then
57715         <enter> by default), Emacs was stripping out all leading
57716         whitespace from git logs.  I now strip exactly 2 leading
57717         spaces, which retains the indentation in the logs (bug#18110).
57719 2016-02-27  Dima Kogan  <dima@secretsauce.net>
57721         Use a separate history variable for align-regexp
57723         * lisp/align.el (align-regexp-history): New variable (bug#16891).
57724         (align-regexp): Use it.
57726 2016-02-27  Phil Sung  <philbert@gmail.com>
57728         Create subdirectories automatically in wdired
57730         * lisp/wdired.el (wdired-create-parent-directories): New
57731         variable (bug#6817).
57732         (wdired-create-parentdirs): New function.
57733         (wdired-do-renames): Use it.
57734         * doc/emacs/dired.texi (Wdired): Mention
57735         `wdired-create-parent-directories'
57737 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
57739         Return the correct error values from gnutls.c
57741         * src/gnutls.c (emacs_gnutls_read): Set errno to the value
57742         expected by process.c.
57743         (gnutls_try_handshake): Set gnutls_p to true earlier to avoid
57744         possible race condition with the process.c socket polling
57745         functions.
57747 2016-02-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
57749         Don't make assumptions about mkdir.  (Bug#22822)
57751         * test/Makefile.in (MKDIR_P): New, set by configure.
57752         (%.log): Use MKDIR_P.
57754 2016-02-27  Alexander Kuleshov  <kuleshovmail@gmail.com>
57756         Support switching to hexl-mode from image-mode
57758         * lisp/image-mode.el (image-toggle-hex-display)
57759         (image-mode-to-text): New functions.
57760         (image-mode-map, image-minor-mode-map): Bind "C-c C-x" to
57761         image-toggle-hex-display.
57762         (image-mode-map): New menu item "Show as Hex".
57763         (image-mode): Update doc string and echo-area message.
57764         (image-toggle-display): Support toggle to hex.  (Bug#22453)
57766         * doc/emacs/files.texi (File Conveniences): Document
57767         'image-toggle-hex-display'.
57769 2016-02-27  Eli Zaretskii  <eliz@gnu.org>
57771         Remove unused code in coding.c
57773         * src/coding.c (decode_eol): Remove unused code that handled the
57774         case of coding->dst_object being nil.  Replace it with an
57775         assertion.
57777 2016-02-26  Aurelien Aptel  <aaptel@suse.com>
57779         * src/syntax.c: Fix result of syntax_multibyte()
57781         The ?: operator has a lower precedence than ||.
57782         Bug introduced by commit 45b683a.
57784 2016-02-26  Paul Eggert  <eggert@cs.ucla.edu>
57786         --enable-gcc-warnings now uses -Wjump-misses-init
57788         When configuring with --enable-gcc-warnings, also enable
57789         -Wjump-misses-init, as it’s confusing to use a goto to skip over
57790         an initialization.  Fix the few places in the code that run afoul
57791         of this warning.
57792         * configure.ac (WERROR_CFLAGS): Add -Wjump-misses-init.
57793         * src/doc.c (Fsubstitute_command_keys):
57794         * src/image.c (svg_load_image):
57795         * src/regex.c (re_match_2_internal):
57796         * src/xdisp.c (redisplay_internal, redisplay_window):
57797         Don’t jump over initialization.
57799 2016-02-26  Jussi Lahdenniemi  <jussi@aprikoodi.fi>
57801         Improve the register-hotkey functionality on MS-Windows
57803         * src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for
57804         keyboard hook functionality.
57805         Include w32inevt.h, basetyps.h and unknwn.h.
57806         (VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros.
57807         (kbdhook): A new struct definition.
57808         (funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key)
57809         (check_w32_winkey_state, reset_w32_kbdhook_state): New functions.
57810         (modifier_set): Call check_w32_winkey_state if a Win key was
57811         pressed and the keyboard hook is active.
57812         (w32_wnd_proc): Don't handle Win key combinations if the keyboard
57813         hook is active.  Only register/unregister the hotkeys if the
57814         keyboard hook is not active.  When WM_CREATE is received, call
57815         setup_w32_kbdhook.  When WM_DESTROY is received, call
57816         reset_w32_kbdhook_state.
57817         (lookup_vk_code): When the keyboard hook is active, map
57818         alphanumeric characters to themselves.
57819         (w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key.  Map
57820         modified keys to VK_ANY if the keyboard hook is active.  Register
57821         Alt-x and Win-x combinations.
57822         (Fw32_shell_execute): Update doc string to reflect new
57823         functionality.  Bypass the code that posts the
57824         WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active.
57825         (Fw32_unregister_hot_key): Bypass the code that posts the
57826         WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active.
57827         (syms_of_w32fns) <w32-pass-lwindow-to-system>
57828         <w32-pass-rwindow-to-system, w32-phantom-key-code>
57829         <w32-lwindow-modifier, w32-rwindow-modifier>: Update doc strings
57830         to reflect the new functionality.
57831         * src/w32console.c (initialize_w32_display): Install the low-level
57832         keyboard hook.
57833         * src/w32inevt.c (key_event): Handle Win-x combinations only if
57834         the keyboard hook is not active.  If the hook is active, use
57835         check_w32_winkey_state instead.
57836         * src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook)
57837         (check_w32_winkey_state): Add prototypes.
57838         (w32_kbdhook_active): New macro.
57840         * doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the
57841         new functionality.
57843 2016-02-25  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
57845         Add forward-sexp (and related) tests
57847         * test/lisp/emacs-lisp/lisp-tests.el: New file for testing
57848         forward-sexp and related functions (bug#22800).
57850 2016-02-25  Jan Tatarik  <jan.tatarik@gmail.com>
57852         Don't use (localized) week days in dates
57854         * lisp/gnus/gnus-icalendar.el
57855         (gnus-icalendar-event:org-timestamp): Don't use (localized)
57856         week days in the dates, because that messes up things later.
57858 2016-02-25  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
57860         Update pcomplete/find
57862         * lisp/pcmpl-gnu.el (pcomplete/find): Update to newest version
57863         (bug#10487).
57865 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
57867         Make parse-time-string-chars more efficient
57869         * lisp/calendar/parse-time.el (parse-time-string-chars): The
57870         string has already been downcase, so don't care about case
57871         (bug#18522).
57873 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
57875         Remove killed buffers from the list of Gnus buffers
57877         * lisp/gnus/gnus.el (gnus-prune-buffers): Remove killed
57878         buffers from the list of Gnus buffers (bug#18522).
57880 2016-02-25  Paul Eggert  <eggert@cs.ucla.edu>
57882         Integer overflow cleanups for ports and socklen
57884         * src/process.c (struct sockaddr_and_len, conv_sockaddr_to_lisp)
57885         (get_lisp_to_sockaddr_size, Fset_process_datagram_address)
57886         (connect_network_socket):
57887         Use ptrdiff_t, not int, for signed object sizes.
57888         This addresses only a theoretical problem, as in practice these
57889         object sizes are less than 2**31, but we might as well use the
57890         same style here as elsewhere in Emacs.
57891         (string_integer_p): Remove; all uses removed.
57892         (Fmake_network_process): Check that port number is in range.
57893         When converting an integer-string service, rely on strtol
57894         rather than rechecking the string by hand.
57895         * src/process.h, src/w32.c (conv_sockaddr_to_lisp):
57896         Adjust prototypes to match.
57898 2016-02-24  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
57900         Add pcomplete support for find
57902         * lisp/pcmpl-gnu.el (pcomplete/find): Add pcomplete support
57903         for find (bug#10487).
57905 2016-02-24  Per Starbäck  <starback@stp.lingfil.uu.se>
57907         Replace XXX acronyms with draft standard ones
57909         * lisp/international/characters.el (c1-acronyms): Replace XXX
57910         entries with the acronyms PAD, HOP, SGCI from draft DIS 10646
57911         (bug#13745).
57913 2016-02-24  Kevin Ryde  <user42@zip.com.au>
57915         Make checkdoc warn about variables described as "True"
57917         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
57918         Docstrings for variables "True...", and functions "Return
57919         true...", should usually be "non-nil" (bug#15506).
57921 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
57923         Add NEWS entry for "number string" change
57925 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
57927         Allow using "number strings" as services on non-GNU systems
57929         * src/process.c (string_integer_p): New function.
57930         (Fmake_network_process): Use it to allow connecting to
57931         services specified as "993" even when getaddrbyname isn't
57932         available.
57934 2016-02-24  Michael Albinus  <michael.albinus@gmx.de>
57936         Fix problem in tramp.texi
57938         * doc/misc/tramp.texi (File name completion): Do not use
57939         @trampfn{} for IPv6 addresses.  Somehow, it results in errors
57940         during PDF creation.
57942 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
57944         Make image commands available in image-mode
57946         * lisp/image-mode.el (image-mode-map): Inherit from
57947         `image-map' so that the usual image commands work.
57949 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
57951         Move `o' to `O' in shr-map
57953         * lisp/net/shr.el (shr-map): `shr-save-contents' has moved
57954         from `o' to `O' to avoid collisions with `image-map'.
57956 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
57958         Make setting the coding system non-blocking
57960         * src/process.c (Fset_process_filter_multibyte): Defer
57961         completing coding system setup in asynchronous processes.
57962         (Fset_process_coding_system): Ditto.
57964 2016-02-23  Gregoire Jadi  <daimrod@gmail.com>
57966         Mention `proced-toggle-auto-update' in the proced-mode doc string
57968         * lisp/proced.el (proced-mode): Mention
57969         `proced-toggle-auto-update' (bug#14341).
57971 2016-02-23  Joshua Datko  <jbdatko@gmail.com>  (tiny change)
57973         Add a fortune-message command
57975         * lisp/play/fortune.el (fortune-message): Add a command to
57976         display fortunes in the echo area (bug#14915).
57978 2016-02-23  Susanne Oberhauser  <froh@suse.com>  (tiny change)
57980         Add hideshow bindings analogous to outline mode
57982         * lisp/progmodes/hideshow.el (hs-minor-mode-map): Add bindings
57983         analogous to outline mode bindings (bug#15324).
57985 2016-02-23  Bastien Guerry  <bzg@altern.org>
57987         Allow highlighting things like @math{2^{12}}
57989         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords):
57990         Allow highlighting things like @math{2^{12}} (bug#16390).
57992 2016-02-23  Per Bothner  <per@bothner.com>
57994         Make `C-{up,down,left,right}' work in term mode
57996         * lisp/term.el (term-raw-map): Define C-{up,down,left,right}
57997         to send the same escape sequence that xterm sends.  This makes
57998         backward-word and forward-word work in readline (bug#16746).
58000 2016-02-23  Dima Kogan  <dima@secretsauce.net>
58002         Allow ff-find-other-file (etc) to work with indirect clone buffers
58004         * lisp/find-file.el (ff-buffer-file-name): New function to
58005         allow the feature to work with indirect buffers, too
58006         (bug#16904).
58007         (ff-find-the-other-file): Use it.
58008         (ff-other-file-name): Ditto.
58009         (ff-get-file-name): Ditto.
58011 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
58013         Fix error in add-change-log-entry when the entry has no newline
58015         * lisp/vc/add-log.el (add-change-log-entry): The entry in the
58016         ChangeLog may end without a new line starting with blanks.
58018 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
58020         Avoid using mm-util functoins in gravatar.el
58022         * lisp/image/gravatar.el (gravatar-retrieve): Avoid using
58023         mm-util functions.
58024         (gravatar-retrieve-synchronously): Ditto.
58026 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
58028         Move low-level library files from the lisp/gnus directory
58030         The files moved from lisp/gnus are:
58032         auth-source.el -> /
58033         compface.el -> /image
58034         ecomplete.el -> /
58035         flow-fill.el -> /mail
58036         gravatar.el -> /image
58037         gssapi.el -> /net
58038         html2text.el -> /net
58039         ietf-drums.el -> /mail
58040         mail-parse.el -> /mail
58041         mail-prsvr.el -> /mail
58042         mailcap.el -> /net
58043         plstore.el -> /
58044         pop3.el -> /net
58045         qp.el -> /mail
58046         registry.el -> /
58047         rfc1843.el -> /international
58048         rfc2045.el -> /mail
58049         rfc2047.el -> /mail
58050         rfc2231.el -> /mail
58051         rtree.el -> /
58052         sieve-manage.el -> /net
58053         sieve-mode.el -> /net
58054         sieve.el -> /net
58055         starttls.el -> /net
58056         utf7.el -> /international
58057         yenc.el -> /mail
58059 2016-02-23  Tino Calancha  <f92capac@gmail.com>
58061         Allow undoing changes while doing query-replace
58063         * doc/lispref/searching.texi (Search and Replace): Mention
58064         undo (bug#21684).
58066         * lisp/replace.el (query-replace-help): Document undo.
58067         (perform-replace): Implement undo while replacing text.
58069 2016-02-23  John F. Trudeau  <JFTrudeau@aetna.com>  (tiny change)
58071         Highlight assignments in Makefiles more correctly
58073         * lisp/progmodes/make-mode.el (makefile-macroassign-regex):
58074         Highlight assignments preceded by a TAB character correctly
58075         (bug#20787).
58077 2016-02-23  Fredrik Bergroth  <fbergroth@gmail.com>  (tiny change)
58079         Use memmove instead of memcpy on overlapping regions
58081         * src/editfns.c (Ftranspose_regions): Regions may overlap, so
58082         use memmove instead of memcpy (bug#19213).
58084 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
58086         Port to --enable-gcc-warnings sans getaddrinfo_a
58088         * src/process.c (Fmake_network_process): Add ATTRIBUTE_UNUSED
58089         to a local unused when getaddrinfo_a is missing.
58090         Resize portbuf to size needed.  Do cheap test first.
58091         Move local to block where it’s needed.
58093 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
58095         Minor cleanups for async DNS etc.
58097         * src/frame.h (FRAME_WINDOW_CONFIGURATION_CHANGED):
58098         Omit unnecessary parens.
58099         * src/gnutls.c (gnutls_try_handshake, emacs_gnutls_deinit)
58100         (gnutls_verify_boot):
58101         Use bool for boolean.
58102         (ATTRIBUTE_FORMAT_PRINTF): Add printf attribute.
58103         * src/process.c (free_dns_request, Fmake_network_process):
58104         Allocate and free async request control block all in one go.
58105         (set_network_socket_coding_system, finish_after_tls_connection)
58106         (connect_network_socket):
58107         Now static.
58108         (conv_numerical_to_lisp): 2nd arg is now int, not unsigned.
58109         (Fmake_network_process): Use list1 for brevity.
58110         (wait_for_socket_fds): 2nd arg is now const ptr.
58111         * src/process.h (struct Lisp_Process.dns_request):
58112         Now struct gaicb *, not struct gaicb **, since there was always
58113         exactly one.  All uses changed.
58114         * src/window.c, src/window.h (run_window_configuration_change_hook):
58115         Now static.
58117 2016-02-23  Carlos Pita  <carlosjosepita@gmail.com>
58119         Allow more shell script defun forms
58121         * lisp/progmodes/sh-script.el (sh-mode): Allow more shell
58122         script defun forms, like function name () {...} (bug#19754).
58124 2016-02-23  Martin Rudalics  <rudalics@gmx.at>
58126         Fix `window-configuration-change-hook' and `window-size-change-functions'
58128         (1) Run `window-configuration-change-hook' if and only if at least
58129         one window was deleted or created or shows another buffer since
58130         last redisplay.
58132         (2) Run `window-size-change-functions' if and only if at least
58133         one window changed its size since last redisplay (in a few cases
58134         `window-size-change-functions' will also run when no window
58135         changed its size).
58137         (3) Provide two functions `window-pixel-height-before-size-change'
58138         and `window-pixel-width-before-size-change' that allow to easily
58139         detect which window changed size.
58141         * src/frame.h (struct frame): New boolean member
58142         window_configuration_changed.
58143         (FRAME_WINDOW_SIZES_CHANGED): Remove macro.
58144         (FRAME_WINDOW_CONFIGURATION_CHANGED): New macro.
58145         * src/frame.c (adjust_frame_size): Don't run
58146         `window-configuration-change-hook'.
58147         * src/window.h (struct window): New fields
58148         pixel_width_before_size_change and pixel_height_before_size_change.
58149         (WINDOW_INTERNAL_P): New macro.
58150         * src/window.c (Fwindow_pixel_width_before_size_change)
58151         (Fwindow_pixel_height_before_size_change): New functions.
58152         (Fdelete_other_windows_internal, Fwindow_resize_apply)
58153         (resize_frame_windows, Fsplit_window_internal)
58154         (Fdelete_window_internal, grow_mini_window)
58155         (shrink_mini_window, Fresize_mini_window_internal): Don't call
58156         FRAME_WINDOW_SIZES_CHANGED.
58157         (window_size_changed, window_set_before_size_change_sizes)
58158         (run_window_size_change_functions): New functions.
58159         (make_window): Initialize pixel_width_before_size_change and
58160         pixel_height_before_size_change.
58161         (Fdelete_window_internal): Don't call
58162         run_window_configuration_change_hook.
58163         (struct saved_window): Add pixel_height_before_size_change and
58164         pixel_width_before_size_change.
58165         (Fset_window_configuration): Try to identify window configuration
58166         changes correctly so run_window_configuration_change_hook and
58167         run_window_size_change_functions run only if configuration and size
58168         really changed.
58169         (save_window_save): Set the pixel_height_before_size_change and
58170         pixel_width_before_size_change fields.
58171         (Vwindow_size_change_functions): Move here definition from xdisp.c.
58172         * src/xdisp.c (prepare_menu_bars, redisplay_internal): Call
58173         run_window_size_change_functions.
58174         (Vwindow_size_change_functions): Move definition to window.c.
58175         * src/xfns.c (x_set_menu_bar_lines): Don't call
58176         run_window_configuration_change_hook.
58177         * doc/lispref/windows.texi (Window Sizes): Document new
58178         functions `window-pixel-height-before-size-change' and
58179         `window-pixel-width-before-size-change'.
58180         (Window Configurations): Mention that this may trigger
58181         execution of `window-size-change-functions' although no window
58182         changed size.
58183         (Window Hooks): Update descriptions of `window-size-change-functions'
58184         and `window-configuration-change-hook'.
58186 2016-02-23  Drew Adams  <drew.adams@oracle.com>
58188         (ls-lisp-insert-directory): Make -B work
58190         * lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work
58191         (bug#20776).
58193 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
58195         Fix typo in message-setup-fill-variables
58197         * lisp/gnus/message.el (message-setup-fill-variables): Fix
58198         typo in a recent checkin that used `setq-default' instead of
58199         `setq-local' (bug#22781).
58201 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
58203         `message-dont-reply-to-names' can also be a list of regexps
58205         * lisp/gnus/message.el (message-dont-reply-to-names):
58206         `message-dont-reply-to-names' can also be a list of regexps (bug#22773).
58208 2016-02-23  Vaidheeswaran C  <vaidheeswaran.chinnaraju@gmail.com>
58210         Make buttons in header lines work
58212         * lisp/help-mode.el (help-button-action): `help-xref-button' in
58213         header line doesn't work (bug#21024).
58215 2016-02-23  Vasilij Schneidermann  <v.schneidermann@gmail.com>
58217         Place apples randomly in Snake
58219         * lisp/play/snake.el (snake-score): New variable (bug#21359).
58220         (snake-set-dot): Place the apples randomly.
58222 2016-02-23  Tino Calancha  <f92capac@gmail.com>
58224         Allow optional parameter to be nil
58226         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Allow the
58227         optional parameter to be nil (bug#21576).
58229 2016-02-23  Tino Calancha  <f92capac@gmail.com>
58231         Completely ignore buffers with no name when copying file names
58233         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Completely
58234         ignore buffers with no file name. (bug#21577).
58236 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
58238         Make spelling of "Eshell" consistent
58240         * lisp/eshell/esh-mode.el (eshell-mode): Spell it "Eshell".
58241         * lisp/eshell/eshell.el (eshell-command):
58242         Spell it "Eshell" (bug#21678).
58244 2016-02-23  Simen Heggestøyl  <simenheg@gmail.com>
58246         Allow pretty lambdas in Scheme mode
58248         * lisp/progmodes/scheme.el (scheme-mode-variables): Borrow
58249         `prettify-symbols-alist' from Lisp mode (bug#21679).
58251 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
58253         Rename lisp--prettify-symbols-alist
58255         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist):
58256         Rename from `lisp--prettify-symbols-alist' since we're going
58257         to use it in Scheme mode, too.
58258         (lisp-mode-variables): Use it.
58260 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>  (tiny change)
58262         Remove spurious newline in package list
58264         * lisp/emacs-lisp/package.el (describe-package-1): Remove
58265         spurious newline (bug#21706).
58267 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
58269         Revert "Remove spurious newline in package list"
58271         This reverts commit fad14c289d36a2c61e0fd34105ebb1f62c80d71d.
58273 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>
58275         Remove spurious newline in package list
58277         * lisp/emacs-lisp/package.el (describe-package-1): Remove
58278         spurious newline (bug#21706).
58280 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
58282         Keep the position in the process buffer when deleting processes
58284         * lisp/simple.el (process-menu-delete-process): Keep the
58285         position in the buffer after killing a process (bug#21759).
58287 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
58289         Require that the buffer that we're trying to patch exist
58291         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
58292         buffer that we're trying to patch exist (bug#21852).
58294 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
58296         Require that the buffer that we're trying to patch exist
58298         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
58299         buffer that we're trying to patch exist (bug#21852).
58301 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
58303         Be more verbose when changing frame mode in ediff
58305         * lisp/vc/ediff-util.el (ediff-toggle-multiframe): Say what
58306         mode we toggled to (bug#21853).
58308 2016-02-22  Łukasz Stelmach  <stlman@poczta.fm>
58310         Encode header strings before printing
58312         * lisp/ps-print.el (ps-generate-header-line): Encode the
58313         header strings to avoid problems with non-ASCII headers
58314         (bug#22611).
58316 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
58318         Test message-strip-subject-trailing-was
58320         * test/lisp/gnus/message-tests.el (message-strip-subject-trailing-was):
58321         New test (bug#22632).
58323 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
58325         Make use of the `ert-with-function-mocked' macro
58327         * test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
58328         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9781): Use
58329         `ert-with-function-mocked' instead of implementing the fragile
58330         `unwind-protect' logic openly.
58332 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
58334         message-strip-subject-trailing-was: Refactor
58336         * lisp/gnus/message.el (message-strip-subject-trailing-was): Refactor
58337         the function replacing sequence of `if' calls with a mixture of `or'
58338         and `and' calls instead.  This makes it shorter and containing less
58339         internal state thus easier to follow.
58341 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
58343         ert-with-function-mocked: New macro
58345         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): New macro which
58346         allows evaluating code while particular function is replaced with
58347         a mock.  The original definition of said function is restored once the
58348         macro finishes.
58350 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
58352         Move Gnus functions frm rfc1843 to new file gnus-rfc1843
58354         * lisp/gnus/gnus-rfc1843.el: New file for Gnus/rfc1843
58355         interface functions.
58357         * lisp/gnus/gnus-rfc1843.el: Move all Gnus-specifig functions to
58358         gnus-rfc1843.
58360 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
58362         Don't use mm-util functions in qp.el
58364         * lisp/gnus/qp.el (quoted-printable-decode-region): Don't use
58365         mm-util functions.
58366         (quoted-printable-encode-string): Ditto.
58367         (quoted-printable-encode-region): Ditto.
58369 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
58371         Don't require mm-util
58373         * lisp/mail/ietf-drums.el (mm-util): Don't require.
58375 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
58377         Remove Gnus functions from auth-source.el
58379         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
58380         Remove usage of Gnus utility function.
58381         (mm-util, gnus-util): Don't require.
58383 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
58385         Allow deleting all non-matching cookies
58387         * lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow
58388         keeping matching cookies (bug#22720).
58390 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
58392         Make (setf (image-property ...)) return VALUE
58394         * lisp/image.el (image--set-property): Return VALUE, not IMAGE.
58396 2016-02-22  John Wiegley  <johnw@newartisans.com>
58398         Merge from origin/emacs-25
58400         a9c48d5 Additional fixes for file notification
58401         6bd9d69 Fix documentation of 'global-disable-point-adjustment'
58402         8c22ac9 ; Spelling fix
58403         2975784 Set file modes of pinentry socket for extra safety
58404         2667b3e Clarify GnuPG version compatibility chapter
58405         5e34c36 Revert "Change the default socket location for pinentry"
58406         e19c1c3 Kill off xref--display-history
58407         5698947 Keep the xref buffer visible until the user quits it explicitly
58408         e34fbde Change the default socket location for pinentry
58409         5f89658 Mention how to enable pinentry feature
58410         db51224 Sync with gnulib
58411         aa5a794 Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
58412         2d8b2fd Restore point when writing semantic table to disk
58413         27d3430 Mention pinentry.el in epa manual
58414         5baa001 Fix Bug#22736
58415         7261355 Grammar fix in doc string
58416         d0f3b18 Naming fix for consistency
58417         74ec92d Prefer customized value for GnuPG executable
58418         ea0b604 Fix memory reservation on MS-Windows
58419         c5f72aa Update NextStep readme and add wish list.
58420         6de26a7 Report also result in `file-notify--test-event-handler'
58421         5d17ae7 Improve file-notify-test08-watched-file-in-watched-dir
58422         1cb1268 Fix todo-mode item date editing bugs
58423         1e996cf Fix "[:upper:]" for non-ASCII characters
58424         896f993 Allow customizing the article mode cursor behavior
58425         24c1c1d Use pop-to-buffer-same-window in woman.el
58426         2a75f64 New filenotify test for bug#22736
58427         c9bccf7 Report critical battery errors
58428         d675db9 Make eww message toggling message clearer
58429         5e0bb40 * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment.
58430         fa8fd65 ; Improve character-folding entries in NEWS
58431         3722a69 Fix bugs in window resizing code
58432         289d5c6 Fix decoding DOS EOL in a unibyte buffer
58433         2abcb06 Correct c-parse-state cache manipulation error.
58434         14aec91 Take advantage of new GnuPG version check function
58435         e80c2a7 Make GnuPG version check robuster
58436         15a9464 Fix x-load-color-file pointer signedness
58437         132dbf0 * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct.
58438         78ab6f1 Follow convention for greek letter constants.
58439         106b5bb Add Stefan-Boltzmann constant to calc units table.
58440         b96baa8 * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode.
58441         5f91cf9 Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw.  (Bug#22669)
58442         2d40f7d Fix soffice UserInstallation-URL for Windows
58443         b1a3ebe Fix display of <pre> elements
58444         57d0e3d ; * lisp/help-fns.el: Remove outdated comment.
58445         7a0628d ; * admin/make-tarball.txt: Mention cleaning.
58447 2016-02-22  Oleh Krehel  <ohwoeowho@gmail.com>
58449         lisp/calendar/appt.el (appt-delete-window): Check if buffer is live
58451         * lisp/calendar/appt.el (appt-delete-window): Avoid trying to delete a
58452           non-existing buffer.
58454 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
58456         Mention the further asynchronousity
58458 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
58460         Fix async TLS boot problem
58462         * src/process.c (wait_reading_process_output): Verify the boot
58463         of the correct process.
58465 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
58467         Clean up forgotten text in manual
58469         * doc/lispref/display.texi (Defining Images): Remove example
58470         forgotten when making previous change.
58472 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
58474         Clean up debugging code
58476         * src/process.c (Fmake_network_process): Remove debugging printf.
58477         (wait_for_socket_fds, wait_while_connecting)
58478         (wait_for_tls_negotiation): Remove newlines from messages.
58480 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
58482         Fix merge conflicts in network-stream-tests.el
58484 2016-02-21  Paul Eggert  <eggert@penguin.cs.ucla.edu>
58486         Port recent filevercmp addition to MS-Windows
58488         Reported by Andy Moreton in:
58489         https://lists.gnu.org/r/emacs-devel/2016-02/msg01302.html
58490         * nt/gnulib.mk (libgnu_a_SOURCES): Add filevercmp.c.
58491         (EXTRA_DIST): Add filevercmp.h.
58493 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
58495         add_to_log expects Lisp parameters
58497 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
58499         Mention sentinels in conjunction with :nowait t.
58501         * doc/lispref/processes.texi (Network Processes): Mention the
58502         recommended way of using sentinels with :nowait t.
58504 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
58506         Mention in the doc strings that process functions may block
58508         (Fprocess_contact, Fprocess_datagram_address)
58509         (Fset_process_datagram_address, Fset_network_process_option)
58510         (Fprocess_send_region, Fprocess_send_string): Mention that the
58511         functions may block.
58512         (Fset_process_coding_system): Ditto.
58514 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
58516         Add blocker warnings to the *Messages* buffer
58518         * src/process.c (wait_for_socket_fds): Add warning to the log.
58519         (wait_while_connecting): Ditto.
58520         (wait_for_tls_negotiation): Ditto.
58522 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
58524         Rework the image property getter/setters
58526         * doc/lispref/display.texi (Defining Images): Document the
58527         renamed `image-get/set-property' functions.
58529         * lisp/image.el (image--set-property): Rename from
58530         image-set-property.
58531         (image-property): Declare a setf form.
58532         (image-property): Rename from `image-get-property'.
58534 2016-02-21  Paul Eggert  <eggert@cs.ucla.edu>
58536         Use Gnulib filevercmp for version comparison
58538         * admin/merge-gnulib (GNULIB_MODULES): Add filevercmp.
58539         * doc/lispref/strings.texi (Text Comparison):
58540         * etc/NEWS, src/fns.c:
58541         * test/src/fns-tests.el (fns-tests-string-version-lessp):
58542         Rename newly-introduced function to string-version-lessp, by
58543         analogy with strverscmp.
58544         * lib/filevercmp.c, lib/filevercmp.h: New files, copied from gnulib.
58545         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
58546         * src/fns.c: Include <filevercmp.h>.
58547         (gather_number_from_string): Remove.
58548         (Fstring_version_lessp): Reimplement via filevercmp.
58550 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
58552         Add a function to delete URL cookies
58554         * doc/misc/url.texi (Cookies): Document
58555         url-cookie-delete-cookies.
58557         * lisp/url/url-cookie.el (url-cookie-delete-cookies): New function.
58559 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
58561         Avoid integer overflows in string-numeric-lessp
58563         * src/fns.c (Fstring_numeric_lessp): If we have an integer
58564         overflow, compare lexicographically.
58566 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
58568         Add the string-numeric-lessp function
58570         * doc/lispref/strings.texi (Text Comparison): Document
58571         `string-numerical-lessp'.
58573         * src/fns.c (Fstring_numeric_lessp): New function.
58574         (gather_number_from_string): Helper function for that function.
58576         * test/src/fns-tests.el (fns-tests-string-numeric-lessp): Add tests.
58578 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
58580         Clarify levels of :nowait t.
58582         * doc/lispref/processes.texi (Network Processes): Mention
58583         levels of asynchronicity.
58585 2016-02-20  Alain Schneble  <a.s@realize.ch>
58587         Respect DNS timeouts
58589         * src/process.c (check_for_dns): If the async DNS request
58590         failed and the associated process is still in "connect" state,
58591         deactivate the process and set status to "failed".
58593 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
58595         Add a frame around the placeholder image in shr
58597         * lisp/net/shr.el (shr-make-placeholder-image): Add a frame
58598         around the image.
58600 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
58602         Use placeholder images in shr to avoid text moving around
58604         * lisp/net/shr.el (shr-rescale-image): Pass in width/height
58605         from the HTML.
58606         (shr-tag-img): Ditto.
58607         (shr-string-number): New function.
58608         (shr-make-placeholder-image): Make placeholder images.
58609         (shr-tag-img): Insert them if we have SVG support.
58611 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
58613         Get explicit width/height + scale computations right
58615         * src/image.c (compute_image_size): :scale should also be
58616         taken into account when :width and :height are explicitly names.
58618 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
58620         New functions for getting and setting image properties
58622         * doc/lispref/display.texi (Defining Images): Document
58623         image-get/set-property.
58625         * lisp/image.el (image-set-property): New function.
58626         (image-get-property): Ditto.
58628 2016-02-19  Alan Mackenzie  <acm@muc.de>
58630         Await the final mouse event in C-h c and C-h k.
58632         * lisp/help.el (describe-key-briefly, describe-key): On receiving a mouse
58633         event, keep reading further events until a timeout occurs, to ensure we have
58634         the complete mouse event from the user.
58636 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
58638         Add a library for creating and manipulating SVG images
58640         * doc/lispref/display.texi (SVG Images): New section.
58642         * lisp/svg.el: New file.
58644 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
58646         Fix up tests for async TLS negotiation
58648 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
58650         Fix coding system setup
58652         * src/process.c (set_network_socket_coding_system): Pass in
58653         the host/service that's been computed already.
58655 2016-02-18  Michael Albinus  <michael.albinus@gmx.de>
58657         Reference `tramp-theme' in GNU ELPA.
58659         * doc/misc/tramp.texi (Frequently Asked Questions):
58660         Reference `tramp-theme' in GNU ELPA.
58662 2016-02-17  Lars Ingebrigtsen  <larsi@gnus.org>
58664         Verify the TLS connection asynchronously
58666         * src/gnutls.c (gnutls_verify_boot): Refactor out into its own
58667         function so that we can call it asynchronously.
58668         (Fgnutls_boot): Use it.
58670         * src/process.c (wait_reading_process_output): Verify the TLS
58671         negotiation.
58673 2016-02-16  Simen Heggestøyl  <simenheg@gmail.com>
58675         Add column layout module to CSS property list
58677         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
58678         CSS Multi-column Layout Module.
58680 2016-02-16  Michael Albinus  <michael.albinus@gmx.de>
58682         Minor cleanup in CONTRIBUTE and test/README
58684         * CONTRIBUTE: Remove detailed explanation about testing; this
58685         is now in test/README.
58687         * test/README: Don't mention automated/ subdirectory.
58689 2016-02-15  Glenn Morris  <rgm@gnu.org>
58691         Provide 'term/name in lisp/term files.
58693         * lisp/term/AT386.el, lisp/term/bobcat.el, lisp/term/cygwin.el:
58694         * lisp/term/internal.el, lisp/term/iris-ansi.el, lisp/term/linux.el:
58695         * lisp/term/lk201.el, lisp/term/news.el, lisp/term/ns-win.el:
58696         * lisp/term/pc-win.el, lisp/term/rxvt.el, lisp/term/screen.el:
58697         * lisp/term/sun.el, lisp/term/tty-colors.el, lisp/term/tvi970.el:
58698         * lisp/term/vt100.el, lisp/term/vt200.el, lisp/term/w32-win.el:
58699         * lisp/term/w32console.el, lisp/term/wyse50.el, lisp/term/x-win.el:
58700         For consistency, provide 'term/name in all files that don't already.
58702 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
58704         Deactivate the correct process
58706         * src/process.c (wait_reading_process_output): Deactivate the
58707         correct process on failure.
58709 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
58711         Implement asynch TLS negotiation
58713         * src/gnutls.c (gnutls_try_handshake): Factor out into its own
58714         function.
58715         (emacs_gnutls_handshake): Use it.
58716         (emacs_gnutls_read): Just return instead of retrying the handshake.
58718         * src/process.c (finish_after_tls_connection): Factor out
58719         into its own function.
58720         (connect_network_socket): Use it.
58721         (wait_reading_process_output): Retry TLS handshakes.
58722         (wait_reading_process_output): Defer sentinel until TLS completes.
58724 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
58726         Simplify the DNS resolution loop a bit
58728         * src/process.c (wait_reading_process_output): Simplify the
58729         DNS resolution loop a bit.
58731 2016-02-15  Alain Schneble  <a.s@realize.ch>
58733         Loop over the process list instead of maintaining a separate list
58735         * src/process.c: Remove declaration/definition of dns_processes list.
58736         * src/process.c (wait_reading_process_output): Loop over all processes in
58737         Vprocess_alist instead of dns_processes, to check for completed DNS
58738         requests.
58740 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
58742         Allow setting the filter masks later
58744         * src/process.c (Fset_process_filter): Don't set the socket
58745         masks here, because we may not have a socket yet.
58746         (set_process_filter_masks): New function.
58747         (connect_network_socket): Set the filter masks here.
58749 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
58751         Remove debugging
58753 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
58755         Ensure we always free DNS resources when deleting a process
58757         * src/process.c (free_dns_request): Factor out into own function.
58758         (Fdelete_process): When deleting a process, free any DNS
58759         structures associated with it.
58760         (check_for_dns): Always free all DNS resources.
58762 2016-02-15  Alain Schneble  <a.s@realize.ch>
58764         Don't block in set-process-window-size
58766         * src/process.c (set-process-window-size): Explicitly return Qnil when
58767         called with network processes as set_window_size won't work anyway on
58768         socket fds.  As a welcome side effect, this makes the blocking
58769         wait_for_socket_fds call obsolete.
58771 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
58773         Do most of the coding system setup earlier
58775         * src/process.c (Fmake_network_process): Set the read/write
58776         coding systems here, so that special bindings work.
58777         (Fmake_network_process): Complete the coding system setup here.
58779 2016-02-15  John Wiegley  <johnw@newartisans.com>
58781         Merge from origin/emacs-25
58783         d4b93e1 Minor fixes in global-auto-composition-mode
58784         02b037b Allow arithmetic operators inside C++ template constructs.
58785         44b16f6 Avoid crashes in semi-malformed 'condition-case'
58786         652e5b4 Allow arithmetic operators inside C++ template constructs.
58787         d9ea795 Fix regression with 'recent-keys' and keyboard macros
58788         903603f Fix wording in a doc-view.el comment
58789         cf79616 ; Spelling fixes
58790         f8bf1b3 CONTRIBUTE cleanups and updates
58791         f3aaca3 Port USE_STACK_LISP_OBJECTS fix to Clang
58792         1834ac7 Port to x86 GCC 4.3.1 and earlier
58793         8482949 Fix point movement under 'scroll-conservatively'
58794         c1313b5 Replace colon in file name (not legal on Windows)
58795         f7af26c Fix a typo in edt.texi
58796         8badf95 Make 'mmap_realloc' on MS-Windows more reliable
58797         856cd94 Grep alias `all' shall not match parent directory
58799 2016-02-15  John Wiegley  <johnw@newartisans.com>
58801         Merge from origin/emacs-25
58803         dacde7e * etc/AUTHORS: Update the AUTHORS file
58804         478ca5d ; fix changelog entries
58805         2b7d006 ; make change-history-commit
58806         851decb * lisp/dired-aux.el: Require cl-lib.  (Bug#22613)
58807         47896c8 ; Improve commentary in insdel.c
58808         53ca1e1 Index tilde characters in names of backup files
58809         d97f522 Document deprecation of hi-lock-mode's 'C-x w' bindings
58810         b55f06d ; * etc/NEWS: Use double spaces to end a sentence.
58811         28bb214 Announce that the `C-x w' bindings are deprecated
58812         1c98f98 Suppress GNUstep hardening
58813         d82f24b Fix redisplay after a large insertion
58814         85a2753 Revert "Fix gnus-group-get-new-news-this-group on group with
58815                 closed server"
58816         e8e3db0 ; Improve merge documentation in CONTRIBUTE
58817         5be9989 * lib-src/make-docfile.c: Include stdarg.h.
58818         c95ebbf Extend gpm-mouse-mode's doc string and doc to point out
58819                 limitations.
58821 2016-02-15  John Wiegley  <johnw@newartisans.com>
58823         Merge from origin/emacs-25
58825         f5d6b9b Revert "Support integer image rotation and respect EXIF rotations"
58826         afe7d1f Revert "Document EXIF image rotation"
58827         c6f377c Document OS X LANG default
58828         eb4a18c Set locale when run from OS X GUI
58829         456c0a3 make-docfile cleanup for I/O, etc.
58830         25ec995 Memory-management cleanup in make-docfile
58831         02d925e Kevin Gallagher has new email address
58832         4ef153b Improve doc strings of 'forward/backward-word-strictly'
58833         3ad05a0 Describe Makefile test targets in test/README
58835 2016-02-15  John Wiegley  <johnw@newartisans.com>
58837         Merge from origin/emacs-25
58839         10b8ed2 Document EXIF image rotation
58840         0f60049 Support integer image rotation and respect EXIF rotations
58841         7dd45b6 Quote table names for postgres listings (sql-mode)
58842         6bac035 * lisp/replace.el (replace-match-maybe-edit): Make arg
58843                 `backward' optional.
58844         ee909aa * lisp/simple.el (next-line-or-history-element): Reset
58845                 temporary-goal-column.
58846         0a289d3 Suppress ACL ops if configured with --disable-acl
58847         1a9dbf5 Mention web bugs
58848         fa55da2 Make mm-html-blocked-images default to "" again
58850 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
58852         Protect against initial handshake failures
58854         * src/process.c (connect_network_socket): Mark the connection
58855         as failed if the handshake didn't succeed yet.  This should be
58856         reworked later.
58858 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
58860         Call the network security manager after doing TLS negotiation
58862         * lisp/net/network-stream.el (network-stream-open-tls):
58863         Postpone NSM verification when running async.
58865         * src/process.c (Fset_process_filter): This function doesn't
58866         need to wait.
58867         (connect_network_socket): Set the process status to "run" only
58868         after TLS negotiation.
58869         (wait_for_socket_fds): Take a name parameter for more debugging.
58870         (wait_reading_process_output): Don't change status to "run"
58871         unless TLS negotiation has finished.
58872         (send_process): Wait for the process here instead of
58873         send_process_string.
58874         (connect_network_socket): Call the network security manager.
58876 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
58878         Remove some #ifdefs and update documentation
58880         * doc/lispref/processes.texi (Network Processes): Remove
58881         mention of `dns'.
58883         * lisp/net/network-stream.el (open-network-stream): Remove
58884         mention of `dns'.
58886         * src/process.c (Fset_process_filter)
58887         (Fset_process_window_size, Fprocess_contact)
58888         (Fprocess_datagram_address, Fset_process_datagram_address)
58889         (Fset_network_process_option, Fprocess_send_region)
58890         (Fprocess_send_string, Fset_process_coding_system)
58891         (Fset_process_filter_multibyte): Remove the #ifdef
58892         HAVE_GETADDRINFO_A checks.
58893         (Fprocess_send_string): Wait for TLS negotiation.
58894         (wait_for_tls_negotiation): New function.
58895         (send_process): Remove the TLS boot check.
58897         * src/process.c (Fmake_network_process): Ditto.
58899 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
58901         Use :nowait t in url-gw
58903         * lisp/url/url-gw.el (url-open-stream): Just use :nowait t,
58904         since we're not differentiating.
58906 2016-02-14  Alain Schneble  <a.s@realize.ch>
58908         Add blockers to process functions
58910         * src/process.c (set-process-filter, set-process-window-size,
58911         process-contact, process-datagram-address, set-process-datagram-address,
58912         set-network-process-option): Make functions wait (block) on network
58913         process until pending DNS requests have been processed and associated
58914         socket initialized.
58916         * src/process.c (process-send-region, process-send-string,
58917         process-send-eof): Make functions wait (block) while network process is
58918         in connect state.
58920 2016-02-14  Simen Heggestøyl  <simenheg@gmail.com>
58922         Add fragmentation module to CSS property list
58924         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
58925         CSS Fragmentation Module Level 3.
58927 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
58929         * doc/lispref/sequences.texi: Add documentation for seq-map-indexed
58931 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
58933         New function seq-map-indexed
58935         * lisp/emacs-lisp/seq.el (seq-map-indexed): New function.
58936         * test/lisp/emacs-lisp/seq-tests.el: Add tests for seq-map-indexed.
58938 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
58940         * lisp/gnus/mm-util.el: Remove the mm-string-as-multibyte alias.
58942 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
58944         Fix problem with wrong encoding of non-ASCII message bodies
58946         * lisp/gnus/mml.el (mml-generate-mime-1): Disable
58947         multibyteness before encoding the data.
58949 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
58951         Remove codepage setup code from mm-util
58953         * lisp/gnus/mm-util.el (mm-codepage-setup): Remove.
58954         (mm-codepage-iso-8859-list): Remove.
58955         (mm-codepage-ibm-list, mm-setup-codepage-iso-8859)
58956         (mm-setup-codepage-ibm): Remove.
58957         (mm-charset-eval-alist): Remove the code pages from the
58958         default value.
58960 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
58962         Remove compat code for older Emacsen
58964         * lisp/gnus/gnus-art.el (gnus-button-url-regexp): Remove
58965         XEmacs compat code.
58967         * lisp/gnus/gnus-sync.el (gnus-sync-json-alist-p): Remove
58968         unused compat function.
58969         (gnus-sync-json-plist-p): Ditto.
58971         * lisp/gnus/message.el (message-default-charset): Make obsolete.
58972         (message-info): Remove compat code.
58973         (message-setup-fill-variables): Remove kludge needed earlier
58974         to not overwrite `normal-auto-fill-function'.
58975         (message-split-line): Remove compat code.
58977         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Remove
58978         compat code.
58980 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
58982         Remove some compat functions from gmm-utils.el
58984         * lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Remove
58985         compat code.
58986         (gmm-image-search-load-path): Remove.
58987         (gmm-image-load-path-for-library): Remove.
58989 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
58991         Remove the gmm-lazy and nnmail-lazy compat widgets
58993         * lisp/gnus/gmm-utils.el (gmm-lazy): Remove.
58995         * lisp/gnus/nnmail.el (nnmail-lazy): Remove.
58997 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
58999         Clean up nnimap-request-move-article slightly
59001         * lisp/gnus/nnheader.el (subr-x): Require.
59003         * lisp/gnus/nnimap.el (nnimap-request-move-article): Clean up
59004         the code slightly.
59006 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59008         Use open-network-stream instead of open-protocol-stream
59010         * lisp/gnus/nnimap.el: Use open-network-stream instead of
59011         open-protocol-stream.
59013         * lisp/gnus/nntp.el: Ditto.
59015         * lisp/gnus/pop3.el: Ditto.
59017         * lisp/net/sieve-manage.el: Ditto.
59019         * lisp/net/network-stream.el (open-protocol-stream): Make obsolete.
59021 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59023         Remove compat code that relies on (featurep 'mule)
59025         * lisp/gnus/gnus-group.el (gnus-group-name-decode): Remove
59026         compat code.
59028         * lisp/gnus/gnus-start.el (gnus-read-descriptions-file):
59029         Remove compat code.
59031         * lisp/gnus/mm-bodies.el (mm-decode-body, mm-decode-string):
59032         Remove compat code.
59034         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
59035         Remove compat code.
59036         (mm-w3m-standalone-supports-m17n-p): Ditto.
59038 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59040         Remove compat functions from starttls.el
59042         * lisp/net/starttls.el
59043         (starttls-set-process-query-on-exit-flag): Remove.
59045 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59047         Remove compat functions from smime.el
59049         * lisp/gnus/smime.el (smime-replace-in-string): Remove.
59050         (smime-make-temp-file): Remove.
59052 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59054         Remove compat code from smiley
59056         * lisp/gnus/smiley.el (smiley-style): Remove compat code.
59058 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59060         Remove compat code from rfc2047
59062         * lisp/mail/rfc2047.el (rfc2047-encode-message-header): Remove
59063         compat code.
59064         (rfc2047-decode-string): Ditto.
59066 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59068         Remove compat function from pop3
59070         * lisp/gnus/pop3.el (pop3-set-process-query-on-exit-flag): Remove.
59072 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59074         Remove compat code in Gnus backends
59076         * lisp/gnus/nndiary.el (nndiary-error): Remove.
59078         * lisp/gnus/nndraft.el (nndraft-request-associate-buffer): Ditto.
59080         * lisp/gnus/nnfolder.el (nnfolder-read-folder): Ditto.
59082         * lisp/gnus/nnheader.el (nnheader-find-file-noselect): Ditto.
59084         * lisp/gnus/nnimap.el (nnimap-log-buffer): Remove compat code.
59086 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59088         Remove compat code from some mml files
59090         * lisp/gnus/mml-sec.el (mml-secure-passphrase-cache-expiry):
59091         Remove compat code.
59093         * lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query):
59094         Always use `mail-extract-address-components', since this isn't
59095         time critical.
59096         (mml-smime-get-dns-cert): Ditto.
59098         * lisp/gnus/mml.el (mml-preview): Remove compat code.
59100 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59102         Remove compat code and compat functions from mm-util.el
59104         * lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): Remove
59105         compat code.
59106         (mm-coding-system-priorities)
59107         (mm-mule-charset-to-mime-charset, mm-charset-after)
59108         (mm-mime-charset, mm-iso-8859-x-to-15-region): Remove compat code.
59109         (mm-detect-coding-region): Define unconditionally.
59110         (mm-detect-mime-charset-region): Ditto.
59111         (mm-coding-system-to-mime-charset): It's 'mime-charset now.
59112         (coding-system-name)
59113         (find-file-coding-system-for-read-from-filename)
59114         (find-operation-coding-system): Remove aliases.
59116 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59118         Remove some compat code from mm-*.el
59120         * lisp/gnus/mm-bodies.el (mm-decode-body): Ditto.
59122         * lisp/gnus/mm-decode.el (mm-tmp-directory)
59123         (mm-valid-image-format-p): Remove compat code.
59125         * lisp/gnus/mm-url.el (mm-url-insert-file-contents): Remove
59126         "Connection" "Close" workaround for older Emacsen.
59128 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59130         Remove compat code and functions from message.el
59132         * lisp/gnus/message.el (message-send-mail-function): Remove
59133         compat code.
59134         (message-dont-reply-to-names, message-mode)
59135         (message-setup-fill-variables, message-fill-paragraph)
59136         (message-remove-blank-cited-lines, message-make-from)
59137         (message-forward-rmail-make-body, message-tool-bar-gnome)
59138         (message-tab): Remove compat code.
59139         (message-completion-in-region): Remove.
59140         (message-read-from-minibuffer): Remove compat code.
59142 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59144         Declare rfc1843 instead of autoloading
59146         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Declare
59147         instead of autoload.
59149 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
59151         Avoid signaling an error in 'dired-do-find-regexp-and-replace'
59153         * lisp/dired-aux.el: Require cl-lib, so that 'cl-mapcan' is
59154         autoloaded correctly.  (Bug#22613)
59156 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
59158         Fix network-stream-tests.el for MS-Windows
59160         * test/lisp/net/network-stream-tests.el
59161         (connect-to-tls-ipv6-nowait): Skip for MS-Windows builds.
59162         (connect-to-tls-ipv4-wait): Add a 0.1 sleep-for.
59164 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59166         Remove some Message compat functions
59168         * lisp/gnus/message.el (message-kill-all-overlays): Define
59169         unconditionally.
59170         (message-window-inside-pixel-edges): Remove.
59171         (mail-dont-reply-to): Remove.
59173 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59175         Remove some Gnus compat code
59177         * lisp/gnus/gnus-art.el (gnus-mime-inline-part): Remove compat code.
59178         (gnus-mm-display-part): Ditto.
59180         * lisp/gnus/gnus-start.el (gnus-dribble-read-file): Remove
59181         compat code.
59183 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59185         Sort groups before inserting them into the group buffer
59187         * lisp/gnus/gnus-group.el (gnus-group-describe-all-groups):
59188         Sort groups before inserting them.
59190 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59192         Make "unseen" tracking work again in Gnus
59194         * lisp/gnus/gnus-sum.el (gnus-update-marks): Make "unseen"
59195         tracking work again.
59197 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59199         Remove Gnus compat functions defined in gnus.el
59201         * lisp/gnus/gnus.el (gnus-extent-detached-p): Remove.
59202         (gnus-extent-start-open, gnus-character-to-event)
59203         (gnus-assq-delete-all, gnus-add-text-properties)
59204         (gnus-put-text-property, gnus-key-press-event-p):
59206 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59208         Remove compat code from gnus-uu and win
59210         * lisp/gnus/gnus-util.el (gnus-image-type-available-p): Remove
59211         compat code.
59213         * lisp/gnus/gnus-uu.el (gnus-uu-tmp-dir): Remove compat code.
59215         * lisp/gnus/gnus-win.el (gnus-frames-on-display-list): Remove.
59217 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59219         Remove several gnus-util compat functions
59221         * lisp/gnus/gnus-util.el (gnus-set-process-query-on-exit-flag): Remove.
59222         (gnus-read-shell-command): Remove.
59223         (gnus-match-substitute-replacement): Remove.
59224         (gnus-string-match-p): Remove.
59225         (gnus-string-prefix-p): Remove.
59227 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59229         Remove the gnus-merge alias
59231         * lisp/gnus/gnus-util.el (gnus-merge): Remove.
59233 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59235         Remove the gnus-union alias
59237         * lisp/gnus/gnus-util.el (gnus-union): Remove.
59239 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59241         Remove the gnus-delete-alist alias
59243         * lisp/gnus/gnus-util.el (gnus-run-mode-hooks): Remove compat code.
59244         (gnus-delete-alist): Remove.
59246 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59248         Remove the gnus-float-time alias
59250         * lisp/gnus/gnus-util.el (gnus-completion-styles): Remove
59251         compat code.
59252         (gnus-float-time): Remove.
59254 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59256         Remove compat code from gnus-srvr, start and sum
59258         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Remove
59259         compat code.
59261         * lisp/gnus/gnus-start.el (gnus-check-reasonable-setup):
59262         Remove compat code.
59264         * lisp/gnus/gnus-sum.el (gnus-summary-display-arrow)
59265         (gnus-summary-make-menu-bar, gnus-summary-make-tool-bar)
59266         (gnus-recenter)
59267         (gnus-summary-limit-strange-charsets-predicate)
59268         (gnus-summary-show-thread): Remove compat code.
59270 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59272         Remove compat code from gnus-spec.el
59274         * lisp/gnus/gnus-spec.el (gnus-lrm-string-p): Remove compat code.
59275         (gnus-balloon-face-function): Remove compat code.
59277 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59279         Fix compat change in last check-in
59281         * lisp/gnus/gnus-group.el
59282         (gnus-group-name-charset-group-alist): `find-coding-system'
59283         doesn't exist in Emacs.
59285 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59287         Always use url-queue
59289         * lisp/gnus/gnus-html.el (gnus-html-schedule-image-fetching):
59290         Always use url-queue.
59292 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59294         Remove compat functions from gnus-html.el
59296         * lisp/gnus/gnus-html.el (gnus-html-encode-url-chars): Remove.
59298 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59300         Remove compat code from gnus-group.el
59302         * lisp/gnus/gnus-group.el (gnus-group-name-charset-group-alist)
59303         (gnus-group-make-tool-bar, gnus-group-update-tool-bar): Remove compat code.
59305 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59307         Define gnus-diary-kill-entire-line unconditionally
59309         * lisp/gnus/gnus-diary.el (gnus-diary-kill-entire-line):
59310         Define unconditionally.
59312 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59314         Remove compat code from gnus-cache and gnus-bookmark
59316         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map): Ditto.
59318         * lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-name):
59319         Remove compat code.
59321 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59323         Remove compat code from gnus-art.el
59325         * lisp/gnus/gnus-art.el (gnus-article-prepare)
59326         (gnus-mime-copy-part, gnus-output-to-file)
59327         (gnus-article-reply-with-original)
59328         (gnus-button-handle-apropos-variable)
59329         (gnus-button-handle-apropos-documentation):
59331 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59333         Remove compat code from gnus-agent.el
59335         * lisp/gnus/gnus-agent.el (gnus-agent-make-mode-line-string):
59336         Remove compat code.
59338 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59340         Rewrite gmm-labels usage to use cl-labels
59342         * lisp/gnus/gmm-utils.el (gmm-tool-bar-style): Remove compat code.
59343         (gmm-labels): Remove.
59345 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59347         Remove compat code from canlock.el
59349         * lisp/gnus/canlock.el (defmacro): Remove
59351 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59353         Remove compat code from auth-source
59355         * lisp/gnus/auth-source.el (auth-source-read-char-choice):
59356         Remove compat code.
59358 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59360         Fix gnus-group.el compilation warnings about unprefixed variables
59362         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): Avoid
59363         compilation warnings by passing in the dynamic variables as
59364         explicit lexical parameters to `eval'.
59366 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59368         Fix the :tracker slot name
59370         * lisp/gnus/registry.el (registry-lookup-secondary): The
59371         `tracker' slot is called `tracker', not `:tracker'.
59373 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59375         Fix compilation warnings in gnus-art.el
59377         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Autoload.
59378         (gnus-article-hide): Avoid compilation warnings.
59380 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59382         Fix compilation warning in gnus-score.el
59384         * lisp/gnus/gnus-score.el (gnus-art): Require to silence byte
59385         compiler.
59387 2016-02-12  Andreas Schwab  <schwab@linux-m68k.org>
59389         Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
59391         This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e.
59393         This makes nnimap groups not be activated.
59395 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59397         Fix encoding problem introduced by previous patch series
59399         * lisp/mail/rfc2047.el: Ditto (bug#22648).
59401         * lisp/mail/rfc2231.el: Fix problem created by the
59402         mm-replace-in-string conversion.
59404 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
59406         Revert "Avoid defvarring prefix-less variables"
59408         This reverts commit 303390bda34f98b400798d5383cf0d722e35ba19.
59410         The defvars are needed if we're doing lexical-binding
59412 2016-02-12  Glenn Morris  <rgm@gnu.org>
59414         * test/lisp/url/url-auth-tests.el (url-auth-test-digest-auth):
59415         Make it pass.
59417         * test/lisp/url/url-auth-tests.el
59418         (url-auth-test-digest-auth-retrieve-cache): Fix obvious typo.
59420 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59422         Finish up cl-defmethoding registry,el
59424         * lisp/gnus/registry.el (initialize-instance): Use cl-defmethod.
59426 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59428         Revert the gnus-replace-in-string change, fix arguments, reapply
59430 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59432         Silence more message.el compilation warnings
59434         * lisp/gnus/message.el (message-generate-headers): Don't use
59435         variable values directly to get the header values, because
59436         that breaks with lexical binding (without unprefixed defvars).
59438 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59440         Fix various compilation warnings in message.el
59442         * lisp/gnus/message.el (message-fix-before-sending): Use
59443         read-multiple-choice instead of gnus-multiple-choice.
59444         (mm-util): Require.
59445         (rfc2047): Require.
59446         (message-remove-blank-cited-lines): Use message instead of
59447         gnus-message.
59448         (message-send): Use y-or-n-p instead of gnus-y-or-n-p.
59450 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59452         Silence compilation warning in mm-view
59454         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Silence
59455         compilation warning.
59457 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59459         Fix epg-related compilation warnings in mml-sec
59461         * lisp/gnus/mml-sec.el: Fix compilation warnings from the epg
59462         library.
59464 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59466         rmail-dont-reply-to-names is obsolete
59468         * lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Don't bind
59469         the obsolete `rmail-dont-reply-to-names' variable.
59471 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59473         Partially revert the defmethod->cl-defmethod change in registry.el
59475         * lisp/gnus/registry.el (initialize-instance): Use defmethod,
59476         since cl-defmethod doesn't work with :after.
59477         (initialize-instance): Ditto, but with :before.
59479 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59481         Avoid obsolete function in plstore
59483         * lisp/gnus/plstore.el (plstore--insert-buffer): Use setf
59484         instead of the obsolete epg-context-set-armor.
59486 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59488         Use cl-defmethod in registry.el
59490         * lisp/gnus/registry.el: Use cl-defmethod instead of the
59491         obsolete defmethod.
59493 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59495         Make sieve-manage require sasl
59497         * lisp/net/sieve-manage.el: Fix compilation warning by
59498         requiring sasl.
59500 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59502         Avoid defvarring prefix-less variable
59504         * lisp/gnus/mm-uu.el (mm-uu-entry): Rename from `entry'.
59506 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59508         * lisp/gnus/mailcap.el: Remove usage of mailcap-delete-duplicates.
59510 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59512         Don't use the obsolete char-valid-p function
59514         * lisp/gnus/mm-url.el (mm-url-decode-entities): Don't use the
59515         obsolete char-valid-p function.
59517 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59519         Fix missed translation in a previous commit
59521         * lisp/gnus/mailcap.el (mailcap-mime-types): Fix missed
59522         translation of mailcap-delete-duplicates.
59524 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59526         Avoid using mm-make-temp-file
59528         * lisp/gnus/mail-source.el (mail-source-delete-crash-box): Ditto.
59530         * lisp/gnus/mm-decode.el (mm-display-external): Ditto.
59532         * lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Ditto.
59534 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59536         Fix compilation warning in gnus-start
59538         * lisp/gnus/gnus-start.el (gnus-slave-save-newsrc): Avoid
59539         mm-make-temp-file.
59541 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59543         Avoid the obsoleted defmethod
59545         * lisp/gnus/gnus-icalendar.el: Use cl-defmethod instead of
59546         defmethod.
59548 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59550         Avoid defvarring prefix-less variables
59552         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): We
59553         don't need to `defvar' the short variables to allow `eval' to
59554         use them.
59556 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59558         nnweb doesn't need unibyte buffers
59560         * lisp/gnus/nnweb.el (nnweb-retrieve-headers)
59561         (nnweb-read-overview, nnweb-request-article)
59562         (nnweb-google-reference): Unibyte buffers are not needed here.
59564 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59566         Encode before sending from nnspool
59568         * lisp/gnus/nnspool.el (nnspool-request-post): Encode data
59569         before sending it to the news server.
59571 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59573         nnrss buffers don't have to be unibyte
59575         * lisp/gnus/nnrss.el (nnrss-insert): The buffer doesn't have
59576         to be unibyte just to receive data, I think.
59578 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59580         Don't use mm-with-unibyte-current-buffer in mml2015
59582         * lisp/gnus/mml2015.el (mml2015-mailcrypt-encrypt): Don't use
59583         mm-with-unibyte-current-buffer.
59585 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59587         Don't use mm-with-unibyte-current in mml1991
59589         * lisp/gnus/mml1991.el (mml1991-epg-sign): Don't use
59590         mm-with-unibyte-current.
59592 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59594         Don't use mm-with-unibyte-current in mml1991
59596         * lisp/gnus/mml1991.el (mml1991-pgg-sign): Don't use
59597         mm-with-unibyte-current.
59599 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59601         Don't use mm-with-unibyte-buffer in utf7
59603         * lisp/international/utf7.el (utf7-fragment-encode): Don't use
59604         mm-with-unibyte-buffer.
59606 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59608         Remove XEmacs compat code from Gnus helper libraries
59610         * lisp/gnus/plstore.el (plstore-called-interactively-p): Remove.
59612         * lisp/gnus/pop3.el (pop3-make-date): Remove XEmacs compat.
59614         * lisp/gnus/sieve-mode.el: Remove XEmacs compat.
59616         * lisp/gnus/spam-stat.el (spam-stat-called-interactively-p): Remove.
59618 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59620         Remove XEmacs compat code from Gnus backends
59622         * lisp/gnus/mm-view.el (mm-inline-image-xemacs): Remove.
59623         (mm-inline-image): Rename from mm-inline-image-emacs.
59625         * lisp/gnus/mml.el: Remove XEmacs compat code.
59627         * lisp/gnus/nnheader.el: Remove XEmacs compat code.
59629         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Remove
59630         XEmacs compat code.
59632         * lisp/gnus/nnir.el (nnir-run-gmane): Remove XEmacs compat code.
59634         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system): Remove
59635         XEmacs compat code.
59637         * lisp/gnus/nnmairix.el: Remove XEmacs compat code.
59639         * lisp/gnus/nnrss.el: Remove XEmacs compat code.
59641         * lisp/gnus/nntp.el: Remove XEmacs compat code.
59643 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59645         Remove XEmacs compat functions from mm-util.el
59647         * lisp/gnus/mm-util.el (mm-special-display-p): Remove.
59648         (mm-decode-coding-string, mm-encode-coding-string)
59649         (mm-decode-coding-region, mm-encode-coding-region): Remove.
59650         (mm-string-to-multibyte): Remove.
59651         (mm-char-or-char-int-p): Remove.
59652         (mm-ucs-to-char): Remove compat versions of the function.
59653         (mm-read-coding-system): Remove.
59654         (mm-coding-system-p): Remove compat code.
59655         (mm-enrich-utf-8-by-mule-ucs): Remove.
59656         (mm-enable-multibyte, mm-disable-multibyte): Remove compat versions.
59657         (mm-delete-duplicates): Remove.
59658         (mm-multibyte-p): Remove compat versions.
59659         (mm-xemacs-find-mime-charset-1): Remove.
59660         (mm-xemacs-find-mime-charset): Remove.
59661         (mm-make-temp-file): Made obsolete.
59662         (mm-find-buffer-file-coding-system): Remove XEmacs compat.
59664 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
59666         Remove Message and mm-decode XEmacs compat code
59668         * lisp/gnus/message.el: Remove XEmacs compat code.
59670         * lisp/gnus/mm-decode.el (mm-create-image-xemacs): Remove.
59672         * lisp/gnus/mm-util.el: Remove some XEmacs compat code.
59674 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
59676         Remove som XEmacs compat code from message.el
59678         * lisp/gnus/message.el: Remove some XEmacs compat code.
59680 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
59682         Remove XEmacs compat code from ietf-drums.el
59684         * lisp/mail/ietf-drums.el (ietf-drums-syntax-table): Drop
59685         XEmacs compat.
59687 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
59689         Remove XEmacs compat code from gravatar.el
59691         * lisp/gnus/gravatar.el: Remove XEmacs compat code from
59692         gravatar.el.
59694 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
59696         Remove more XEmacs compat code from Gnus
59698         * lisp/gnus/gnus-util.el (gnus-bound-and-true-p): Remove.
59699         (gnus-timer--function): Remove.
59701         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Remove XEmacs
59702         19.2 compat.
59704         * lisp/gnus/gnus-win.el: Remove XEmacs compat code.
59706 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
59708         Remove more XEmacs compat functions from gnus-util.el
59710         * lisp/gnus/gnus-util.el (gnus-put-display-table): Remove.
59711         (gnus-get-display-table): Remove.
59712         (gnus-format-message): Remove.
59714 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
59716         Remove more XEmacs compat functions from Gnus
59718         * lisp/gnus/gnus-util.el (gnus-next-char-property-change): Remove.
59719         (gnus-previous-char-property-change): Remove.
59720         (gnus-graphic-display-p): Remove.
59721         (gnus-select-frame-set-input-focus): Remove.
59723 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
59725         Remove more XEmacs compat code from gnus-util
59727         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
59728         all its usages).
59729         (gnus-invisible-p): Remove.
59731 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
59733         Remove gnus-make-local-hook
59735         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
59736         all its usages).
59738 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
59740         gnus-replace-in-string -> replace-regexp-in-string
59742         * lisp/gnus/gnus-util.el (gnus-replace-in-string): Declare
59743         obsolete.  Transform all usages of it into
59744         replace-regexp-in-string.
59746         * lisp/gnus/mailcap.el (mailcap-replace-in-string): Remove.
59748 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
59750         Remove Gnus XEmacs compat
59752         * lisp/gnus/gnus-start.el (gnus-dribble-enter): Remove comment
59753         about code that doesn't work in XEmacs.
59755         * lisp/gnus/gnus-sum.el: Remove XEmacs compat.
59757         * lisp/gnus/gnus-topic.el: Remove XEmacs compat.
59759 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
59761         Remove compat functions in gnus-spec.el
59763         * lisp/gnus/gnus-spec.el (gnus-string-width-function): Remove.
59764         (gnus-substring-function): Remove.
59765         (gnus-use-correct-string-widths): Remove.
59766         (gnus-make-format-preserve-properties): Remove.
59767         (gnus-xmas-format): Remove.
59769         * lisp/gnus/gnus-srvr.el (gnus-server-mode): Remove XEmacs compat.
59771 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
59773         Remove Gnus XEmacs compat functions
59775         * lisp/gnus/gnus-registry.el: Remove XEmacs compat.
59777         * lisp/gnus/gnus-salt.el: Remove XEmacs compat.
59779         * lisp/gnus/gnus-score.el (gnus-decay-score): Remove XEmacs compat.
59781 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
59783         Remove Gnus XEmacs compatibility
59785         * lisp/gnus/gnus-demon.el (gnus-demon-idle-since): Remove
59786         XEmacs compat.
59788         * lisp/gnus/gnus-dired.el: Remove XEmacs compat.
59790         * lisp/gnus/gnus-draft.el: Remove XEmacs compat.
59792         * lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): Remove
59793         XEmacs compat.
59795         * lisp/gnus/gnus-group.el: Remove XEmacs compat.
59797         * lisp/gnus/gnus-html.el: Remove XEmacs compat.
59799         * lisp/gnus/gnus-ml.el: Remove XEmacs compat.
59801         * lisp/gnus/gnus-picon.el (gnus-picon-style): Remove XEmacs comment.
59803 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
59805         Don't use image-map if it isn't defined
59807         * lisp/net/shr.el (shr-image-map): Only use image-map as a
59808         parent if it's defined (bug#22614).
59810 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
59812         Check for MagickAutoOrientImage
59814         * configure.ac: Check for MagickAutoOrientImage.
59816         * src/image.c (imagemagick_load_image): Don't use
59817         MagickAutoOrientImage unless it's available.
59819 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
59821         Document EXIF image rotation
59823         * doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation.
59825 2016-02-10  Dima Kogan  <dima@secretsauce.net>
59827         Support integer image rotation and respect EXIF rotations
59829         * src/image.c (imagemagick_load_image): Allow integer rotations in
59830         addition to floating point rotations (bug#22591).
59831         * src/image.c (imagemagick_load_image): Images that have an
59832         orientation given in EXIF and have no explicit :rotation tag are now
59833         pre-rotated.  All information such as width/height is reported for the
59834         rotated image.
59836 2016-02-10  Wolfgang Jenkner  <wjenkner@inode.at>
59838         * lisp/net/shr.el (image-map): Defvar it.  (Bug#22614)
59840 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59842         * lisp/gnus/gnus-cite.el: Remove XEmacs compat code.
59844 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59846         Remove compat code from gnus-bookmark.el
59848         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-mouse-available-p): Remove.
59849         (gnus-bookmark-remove-properties): Remove.
59851 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59853         Remove XEmacs compat code from gnus-a*.el
59855         * lisp/gnus/gnus-agent.el: Remove compat code.
59857         * lisp/gnus/gnus-art.el: Remove compat code.
59859         * lisp/gnus/gnus-async.el: Remove compat code.
59861 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59863         Remove gmm compat functions
59865         * lisp/gnus/gmm-utils.el (gmm-image-search-load-path): Remove.
59866         (gmm-write-region): Remove.
59867         (gmm-called-interactively-p): Remove.
59869 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59871         * lisp/gnus/ecomplete.el: Remove XEmacs compat code.
59873 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59875         Remove compat code from compface.el
59877         * lisp/image/compface.el: Remove XEmacs compat code throughout.
59879 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59881         Remove the now empty gnus-ems.el and references to it
59883 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59885         Remove Gnus compat names for mouse bindings
59887         * lisp/gnus/gnus-ems.el (gnus-widget-button-keymap): Remove.
59888         (gnus-down-mouse-2): Remove.
59889         (gnus-down-mouse-3): Remove.
59891 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59893         Drop Gnus compat functions
59895         * lisp/gnus/gnus-ems.el (gnus-mule-max-width-function): Remove.
59897         * lisp/gnus/gnus-util.el (gnus-kill-all-overlays): Move here.
59899         * lisp/gnus/gnus.el (gnus-mode-line-modified): Remove.
59901 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59903         Get rid of gnus-ems-redefine
59905         * lisp/gnus/gnus-ems.el (gnus-mouse-face-prop): Remove.
59907 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59909         * lisp/gnus/gnus-spec.el: Move definition here from gnus-ems.el.
59911 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59913         Remove Gnus compat code
59915         * lisp/gnus/gnus-ems.el (gnus-ems-redefine): Remove
59916         transitional code from ten years ago.
59918 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59920         Allow interactively scaling past :max-width etc
59922         * lisp/image.el (image--current-scaling)
59923         (image--image-without-parameters): New functions.
59924         (image--change-size): Use them to allow changing the size of a
59925         image even if it has :width/:max-width (etc.) already set.
59927 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59929         * lisp/gnus/mm-decode.el (shr-image-map): Compilation fix.
59931 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59933         Allow accessing the image commands via shr
59935         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Allow
59936         accessing the image commands.
59938         * lisp/net/shr.el (shr-image-map): New map used for images.
59939         (shr-urlify): Don't overwrite image maps when applying URL maps.
59941 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59943         Use a sparse image keymap
59945         * lisp/image.el (image-map): Use a sparse keymap.
59947 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59949         Put a keymap on images created with insert-image and friends
59951         * lisp/image.el (image-save): New command.
59952         (image-rotate): Ditto.
59953         (image-map): New keymap.
59954         (insert-image): Put the image-map on all images.
59955         (insert-sliced-image): Ditto.
59956         * doc/lispref/display.texi (Showing Images): Document the
59957         image map.
59959 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59961         Fix some folding issues in read-multiple-choice
59963         * lisp/subr.el (read-multiple-choice): Fix folding when you
59964         have many items.
59966 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59968         Fix typo in last checkin
59970 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59972         Remove Gnus compat functions
59974         * lisp/gnus/gnus-ems.el (gnus-mark-active-p)
59975         (gnus-region-active-p, gnus-select-lowest-window)
59976         (gnus-summary-display-table, gnus-max-width-function): Remove
59977         compat functions.
59979 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
59981         Move non-compat Gnus functions to gnus-util.el
59983         * lisp/gnus/gnus-util.el (gnus-remove-image, gnus-put-image)
59984         (gnus-create-image, gnus-image-type-available-p): Move here
59985         from gnus-ems.el, since these aren't compat functions.
59987 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
59989         Omit valloc decl if redundant
59991         * src/gmalloc.c (valloc): Omit decl if malloc.h is included,
59992         to pacify --enable-gcc-warnings.
59994 2016-02-09  Wolfgang Jenkner  <wjenkner@inode.at>
59996         Restore the calloc family.
59998         * src/gmalloc.c (calloc, gcalloc, hybrid_calloc): Restore definitions.
59999         They were lost in a4817d8 but calloc is still (marginally) used in
60000         code statically liked with emacs, so hybrid_calloc is needed.
60001         Also, in the non-hybrid case, we can't get rid of calloc anyway as
60002         other libraries liked with emacs may need it.
60003         * src/conf_post.h: Restore redefinition of calloc to hybrid_calloc.
60005 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60007         Remove some Gnus compat functions
60009         * lisp/gnus/gnus-ems.el (gnus-string-mark-left-to-right)
60010         (gnus-window-inside-pixel-edges, gnus-set-process-plist)
60011         (gnus-process-plist, gnus-process-get, gnus-process-put): Remove.
60013 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
60015         -
60017         -
60019 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
60021         Merge from origin/emacs-25
60023         4feb962 * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring
60024         cc419fb Don't inloop gnus-uu-mark-thread on the last thread
60025         51c77a2 Display non-ASCII group names better in prompts
60026         f93d669 Default to gpg2 instead of gpg
60028 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
60030         Merge from origin/emacs-25
60032         9ffe7dd * lisp/isearch.el (isearch-define-mode-toggle): Improve logic
60033         16140f7 * lisp/menu-bar.el (menu-bar-options-menu): New search submenu
60034         3db6adb * lisp/isearch.el (search-default-mode)
60035         4ea1ea7 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
60036         c77ffc8 Use monitor's resolution for positioning tooltips
60037         49e5749 Fix file-notify-test on MS-Windows
60038         be1d874 Fix issues found by auditing w32notify code
60039         87ae218 Extend etags Ruby support for accessors
60040         aa35257 Update publicsuffix.txt.
60041         6816bff Ensure that Gnus dribble handling allows removing entries
60042         691feae Be consistent when using encoded strings in nnimap data
60043         3ed423b Display the decoded Gnus group name
60044         5428b5b Use completion-ignore-case instead of defining command
60046 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
60048         Merge from origin/emacs-25
60050         1eaf68f * test/automated/file-notify-tests.el (file-notify-test06-many-events):
60051         d333716 ; * etc/NEWS: Expand news entry for scss-mode
60052         c32c16f ; Better document changes in ls-lisp default behavior
60053         dc6eed2 Fix doc string of tls-program
60055 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
60057         Merge from origin/emacs-25
60059         2c117fc * etc/NEWS: Document new mpc.el features
60060         71a0496 * lisp/custom.el (defface): Revert indentation change.  (Bug#22524)
60061         9dfece1 Correctly fontify C++ initializations which "look like" functions.
60062         4485222 Improve newsticker-treeview-selection-face
60063         4236944 Minor fix in tagging Ruby accessors by etags
60064         35fc77d Spelling fixes
60065         3dda110 Remove 'def X' from the example
60067 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
60069         Fix network-stream-tests on MS-Windows
60071         * test/lisp/net/network-stream-tests.el (make-local-unix-server):
60072         Skip if local sockets are not supported.
60074 2016-02-09  Michael Albinus  <michael.albinus@gmx.de>
60076         * admin/notes/bug-triage: Fix bug priorities.  Explain colors in debbugs-gnu.
60078 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
60080         Disable 'timer-list'
60082         * lisp/emacs-lisp/timer-list.el: Make 'timer-list' a disabled
60083         command.
60085 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
60087         Avoid aligned_alloc static/extern collision
60089         * src/alloc.c (aligned_alloc): Define to private name when a
60090         static function, to avoid collision with lisp.h extern decl.
60091         Reported by John Yates in:
60092         https://lists.gnu.org/r/emacs-devel/2016-02/msg00439.html
60094 2016-02-08  David Edmondson  <dme@dme.org>
60096         src/process.c Correctly convert AF_INET6 addresses
60098         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
60099         converted to a list of 16 bit quantities by
60100         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
60101         same scheme rather than expecting a (longer) list of 8 bit
60102         quantities.
60104 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
60106         Make `message-beginning-of-line' aware of folded headers
60108         * lisp/gnus/message.el (message-beginning-of-header): New function which
60109         moves point to the beginning of a mail header.  The function is aware of
60110         folded headers and with non-nil argument looks for the true beginning of
60111         a header while with nil argument moves to the indented text of header's
60112         value.
60113         (message-beginning-of-line): Function is now aware of folded headers and
60114         either moves point to the indention of a header or, in visual-line-mode,
60115         searches for the beginning of the header.
60117 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
60119         Optimize ‘point in message header’ check
60121         * lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
60122         regular expression matches with a single bound string match thus
60123         reducing amount of work the function is doing.
60125 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
60127         Make the `R' command get the correct relative <img>s
60129         * lisp/net/eww.el (eww-readable): Preserve the base URL so
60130         that image expansions are fetched from the right place (bug#22605).
60132 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
60134         Add a mode to list and cancel timers
60136         * doc/lispref/os.texi (Timers): Menton `timer-list'.
60138         * lisp/emacs-lisp/timer-list.el: New file.
60140 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
60142         Add new commands to allow changing the size of images
60144         * lisp/image.el (image-increase-size, image-decrease-size):
60145         New commands.
60146         (image-change-size): New function.
60148 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
60150         Allow the image scale to be a floating point number
60152         * src/image.c (compute_image_size): The scale can be a
60153         floating point number.
60155 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
60157         Add an IPv6 test
60159         * test/lisp/net/network-stream-tests.el
60160         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
60162 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
60164         Use gnutls-serv instead of openssh
60166         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
60167         gnutls-serv instead of openssh.
60169 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
60171         Skip TLS tests if we don't have openssl
60173         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
60174         TLS tests if we don't have openssl and GnuTLS.
60176 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
60178         Add an IPv6 test
60180         * test/lisp/net/network-stream-tests.el
60181         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
60183 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
60185         Use gnutls-serv instead of openssh
60187         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
60188         gnutls-serv instead of openssh.
60190 2016-02-08  Daniel Colascione  <dancol@dancol.org>
60192         Performance improvements for vc-hg
60194         Teach vc-hg how to read some Mercurial internal data structures,
60195         allowing us to avoid the need to run hg status -A, which is very slow
60196         for large repositories.  Fall back to running hg if anything looks
60197         funny.  vc-hg now puts the _working directory_ revision in the
60198         modeline instead of the file revision, which greatly improves
60199         performance and which allows us to again skip running hg in the case
60200         that we have an active bookmark.
60202         * lisp/vc/vc-hg.el (vc-hg-state): Try calling `vc-hg-statefast'
60203         (vc-hg-symbolic-revision-styles)
60204         (vc-hg-use-file-version-for-mode-line-version)
60205         (vc-hg-parse-hg-data-structures): New user preferences
60206         (vc-hg--active-bookmark-internal, vc-hg--run-log)
60207         (vc-hg--symbolic-revision, vc-hg-mode-line-string)
60208         (vc-hg--read-u8, vc-hg--read-u32-be)
60209         (vc-hg--raw-dirstate-search, vc-hg--cached-dirstate-search)
60210         (vc-hg--parts-to-string, vc-hg--pcre-to-elisp-re)
60211         (vc-hg--glob-to-pcre, vc-hg--hgignore-add-pcre)
60212         (vc-hg--hgignore-add-glob, vc-hg--hgignore-add-path)
60213         (vc-hg--slurp-hgignore-1, vc-hg--slurp-hgignore)
60214         (vc-hg--ignore-patterns-valid-p)
60215         (vc-hg--ignore-patterns-ignored-p, vc-hg--time-to-fixnum)
60216         (vc-hg--file-ignored-p, vc-hg--read-repo-requirements)
60217         (vc-hg--requirements-understood-p, vc-hg--dirstate-scan-cache)
60218         (vc-hg-state-fast): New functions.
60219         (vc-hg--hgignore-patterns, vc-hg--hgignore-filenames)
60220         (vc-hg--cached-ignore-patterns, vc-hg--dirstate-scan-cache)
60221         (vc-hg--dirstate-scan-cache): New internal variables.
60222         * lisp/vc/vc-hooks.el (vc-refresh-state): Invoke vc find-file-hook
60223         before updating modeline.
60225 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
60227         Skip TLS tests if we don't have openssl
60229         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
60230         TLS tests if we don't have openssl and GnuTLS.
60232 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
60234         Automatically scale images up on high-density screens
60236         * doc/lispref/display.texi (ImageMagick Images): Mention :scale.
60237         (Defining Images): Mention image-scaling-factor.
60239         * lisp/image.el (image-compute-scaling-factor): New function
60240         (bug#22172).
60241         (create-image): Use it.
60242         (image-scaling-factor): New variable.
60244         * src/image.c (compute_image_size): Take :scale into account.
60246 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
60248         Ensure progress when fetching from the queue
60250         * lisp/url/url-queue.el (url-queue-check-progress): Ensure
60251         that we have progress when fetching queued requests (bug#22576).
60253 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
60255         Make mail-extract-address-components return the user name more
60257         * lisp/mail/mail-extr.el (mail-extract-address-components):
60258         Return the name even if it's the same as the mailbox name (if
60259         `mail-extr-ignore-single-names' isn't set) (bug#22594).
60261 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
60263         Message no longer warns about unknown top level domains
60265 2016-02-07  Jarno Malmari  <jarno@malmari.fi>
60267         Add tests for url-auth
60269         * test/lisp/url/url-auth-tests.el: New file.
60271 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
60273         Add a TLS connection test
60275         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
60276         a TLS connection test.
60278 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
60280         Add more network tests
60282         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
60283         New test.
60285 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
60287         Add network tests
60289         * test/lisp/net/network-stream-tests.el: New suite of network tests.
60291 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
60293         Add a TLS connection test
60295         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
60296         a TLS connection test.
60298 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
60300         Add more network tests
60302         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
60303         New test.
60305 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
60307         Add network tests
60309         * test/lisp/net/network-stream-tests.el: New suite of network tests.
60311 2016-02-07  Rasmus Pank Roulund  <rasmus@gmx.us>
60313         Allow various Gnus and Message address variables to be functions
60315         * doc/misc/gnus.texi (To From Newsgroups):
60316         gnus-ignored-from-addresses can be a function.
60318         * doc/misc/message.texi (Wide Reply):
60319         message-dont-reply-to-names can be a function.
60321         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-identities):
60322         message-alternative-emails can be a function.
60324         * lisp/gnus/gnus-notifications.el (gnus-notifications):
60325         message-alternative-emails can be a function (bug#22315).
60327         * lisp/gnus/gnus-sum.el
60328         (gnus-summary-from-or-to-or-newsgroups):
60329         gnus-ignored-from-addresses can be a function (bug#22315).
60331 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
60333         Fix typo in Gnus regexp
60335         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Fix
60336         typo in last change to this regexp (bug#22592).
60338 2016-02-07  Paul Eggert  <eggert@cs.ucla.edu>
60340         Port to FreeBSD x86
60342         Reported by Herbert J. Skuhra in:
60343         https://lists.gnu.org/r/emacs-devel/2016-02/msg00336.html
60344         * src/lisp.h (NONPOINTER_BITS) [__FreeBSD__]: Zero in this case too,
60345         since malloc always returns a multiple of 8 in FreeBSD.
60347 2016-02-07  Alan Mackenzie  <acm@muc.de>
60349         On leaving CC Mode, clean up by removing character properties.
60351         * lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Remove from the buffer
60352         all instances of the text properties/extents category, syntax-table,
60353         c-is-sws, c-in-sws, c-type, and c-awk-NL-prop.
60355 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
60357         message-valid-fqdn-regexp no longer exists
60359         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Don't use
60360         the no-longer-existing message-valid-fqdn-regexp variable.
60362 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
60364         Remove message-valid-fqdn-regexp, since it changes too much now
60366         * lisp/gnus/message.el (message-valid-fqdn-regexp): Remove.
60367         (message-bogus-recipient-p): Don't use it any more.
60368         (message-make-fqdn): Ditto.  Suggested by Lars-Johan Liman.
60370 2016-02-06  Paul van der Walt  <paul@denknerd.org>
60372         Match "Re :" as a "Re:" prefix
60374         * lisp/gnus/message.el (message-subject-re-regexp): Also match
60375         "Re :" as a "Re:" prefix (commonly used in France).
60377 2016-02-06  Adam Sjøgren  <asjo@koldfront.dk>
60379         lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
60381         * lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
60383 2016-02-06  David Edmondson  <dme@dme.org>
60385         src/process.c Correctly convert AF_INET6 addresses
60387         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
60388         converted to a list of 16 bit quantities by
60389         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
60390         same scheme rather than expecting a (longer) list of 8 bit
60391         quantities.
60393 2016-02-05  Martin Jesper Low Madsen  <martin@martinjlowm.dk>
60395         Search for host/port combinations in auth-source on OS X
60397         * lisp/gnus/auth-source.el (auth-source-macos-keychain-search):
60398         Search for all host/port (or protocol) combinations for a match in
60399         the OS X keychain.
60401 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
60403         Remove nonsensical setting of gnus-newsgroup-unseen
60405         * lisp/gnus/gnus-sum.el (gnus-update-marks): Remove nonsensical
60406         setting of gnus-newsgroup-unseen.
60408 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
60410         Use underline on all terminals that support it
60412         * lisp/subr.el (read-multiple-choice): Use
60413         display-supports-face-attributes-p instead of
60414         display-graphic-p to determine whether we can use underlining.
60416 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
60418         Make the nsm query say what it did after the user interaction
60420         * lisp/net/nsm.el (nsm-query): Issue a message about
60421         aborting/accepting messages (suggested by N. Jackson)
60422         (bug#22531).
60424 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
60426         Omit XLI (init) == 0 optimization in make-vector
60428         * src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init)
60429         == 0) case, as this optimization is probably not worth the hassle.
60430         Just for the record, the test for that case could have been
60431         (XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!),
60432         assuming the typical platform with no padding bits and where
60433         conversion to int omits the most significant bits.
60435 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
60437         * autogen.sh: Port to dash (Bug#22556).
60439 2016-02-05  Michael Albinus  <michael.albinus@gmx.de>
60441         Minor cleanup for Tramp "doas".
60443         * doc/misc/tramp.texi (Inline methods): Add "doas" method.
60445         * etc/NEWS: Add Tramp connection method "doas".
60447         * lisp/net/tramp-sh.el (tramp-methods) <doas>:
60448         Add `tramp-remote-shell-args'.
60450 2016-02-05  Xi Lu  <lx@shellcodes.org>
60452         * lisp/net/tramp-sh.el (tramp-methods) <doas>: Add.  (Bug#22542)
60454         (tramp-default-user-alist): Add rule for "doas".
60455         (top): Completion function for "doas" is
60456         `tramp-completion-function-alist-su'.
60458 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
60460         Restore the window configuration
60462         * lisp/net/nsm.el (nsm-query-user): Restore the window
60463         configuration (bug#22532).
60465 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
60467         Use an X popup in read-multiple-choice if running from a mouse command
60469         * lisp/subr.el (read-multiple-choice): Use an X popup if
60470         called from a mouse action (bug#19368).
60472 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
60474         Display cursor in echo area when prompting
60476         * lisp/subr.el (read-multiple-choice): Display the cursor in
60477         the echo area when prompting (bug#19368).
60479 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
60481         Make NSM prompting clearer
60483         * lisp/net/nsm.el (nsm-query-user): Use read-multiple-choice
60484         to prompt in a nicer way (bug#19368).
60486 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
60488         Underline read-multiple-choice-face
60490         * lisp/faces.el (read-multiple-choice-face): Also underline
60491         the choice.
60493 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
60495         Make url.el use async DNS
60497         * lisp/url/url-gw.el (url-open-stream): Use non-blocking DNS.
60499         * src/process.c (syms_of_process): Add a `dns' subfeature for
60500         make-network-process.
60502 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
60504         Only do async DNS if requested with :nowait 'dns
60506         * doc/lispref/processes.texi (Network Processes): Mention the
60507         dns value of :nowait.
60509         * src/process.c (Fmake_network_process): Only do async DNS if
60510         :nowait is `dns'.
60512 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
60514         Add sanity check for checking async DNS
60516         * src/process.c (check_for_dns): Disregard processes that have
60517         already been killed.
60519 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
60521         Make the read-multiple-choice prompt a bit prettier
60523         * doc/lispref/commands.texi (Reading One Event): Mention
60524         read-multiple-choice-face.
60526         * lisp/subr.el (read-multiple-choice): Make the prompting a bit
60527         prettier.
60529 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
60531         Prefer memcpy and memset to doing it by hand
60533         * src/alloc.c (Fmake_vector):
60534         * src/ccl.c (setup_ccl_program):
60535         Use memset to clear array.
60536         * src/alloc.c (Fvector, Fmake_byte_code):
60537         * src/charset.c (Fdefine_charset_internal):
60538         Use memcpy to copy array.
60540 2016-02-04  Nicolas Petton  <nicolas@petton.fr>
60542         Do not ignore redirections of 301, 302 and 307 status codes
60544         The current version of HTTP/1.1 (RFC 7231) no longer requires
60545         confirmation on 301, 302 or 307 status codes, therefore we do not have
60546         to ignore redirects for other requests than GET and HEAD.
60548         * lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
60549         and 307 redirects for other requests than GET and HEAD.
60551 2016-02-04  Mark Oteiza  <mvoteiza@udel.edu>
60553         * lisp/net/eww.el (eww-switch-to-buffer): Use pop-to-buffer-same-window instead.
60555 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
60557         Simplify USE_ALIGNED_ALLOC
60559         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify, now that we’ve merged
60560         in the emacs-25 changes.  Omit no-longer-needed decl for aligned_alloc.
60562 2016-02-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
60564         Honor docstring of gnus-group-get-new-news
60566         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg
60567         is t, but non-numeric, unconditionally consider all groups to need
60568         updating.
60570 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
60572         New function read-multiple-choice
60574         * doc/lispref/commands.texi (Reading One Event): Document
60575         read-multiple-choice.
60577         * lisp/faces.el (read-multiple-choice-face): New face.
60579         * lisp/subr.el (read-multiple-choice): New function.
60581 2016-02-03  John Wiegley  <johnw@newartisans.com>
60583         Merge from origin/emacs-25
60585         ee73997 Make erc work better when encountering unknown prefix chars
60586         b99141d Make erc completion case-insensitive again
60587         66c4620 Make complection in erc use consistent casing
60588         8c562b2 Make /QUIT in erc more robust
60589         d93d2c5 Make tracking faces in Emacs work more reliably
60590         af6ab7e Make shr not bug out on images on non-graphical displays
60591         3311f40 Fix bookmark display widths
60592         d90ab1e Fix typo in eww-make-unique-file-name
60593         7f81825 Make it possible to TAB to input fields
60594         a43a1dc Insert complete alt texts when images are disabled
60595         56ed4e1 Allow eww text fields to grow
60596         66b315c Make erc work when subword-mode is switched on
60597         255b68f Fix IMAP doc example
60598         91557f5 Quoting fixes in doc strings and diagnostics
60599         2c0dc9f Fix warning message in hack-local-variables
60600         504696d Etags: yet another improvement in Ruby tags
60601         8784ebf Fix x-popup-menu on TTYs without a mouse
60602         8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the
60603                 pcase macro
60604         6191003 Use pop-to-buffer-same-window in eww
60605         fe321fd * autogen.sh: Revert all recent changes.
60606         74ebd4a * make-dist: Updates related to nt/.
60607         737193a * make-dist: Add modules/.
60608         3696bf2 * make-dist: Update for super-special file that can't live in etc/.
60609         a4278e2 Fix failure to compile ns-win.el in parallel builds
60610         860da4d Fix names of tags generated for Ruby accessors
60611         f6213ce Fix file-name recognition in 'etags'
60612         e42e662 Change Ruby file names and extensions recognized by 'etags'
60613         58bfb6a More improvements for Ruby support in 'etags'
60614         c04e911 Add --git-config option to autogen.sh
60615         5713466 Fix editing undo changes in eww fields
60616         51362d6 Allow the user more control of popping up the eww window
60617         ee0fbd8 Make eww-browse-url with new-window parameter work again
60618         9c3142d Clean up eww code slightly
60619         cb035f3 Don't insert nil faces in shr
60620         4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary.
60621         93f2153 Improve the custom type of some user options.
60622         9f60d7e Mark some risky calendar variables.
60623         1d07dcd Highlight two additional SCSS keywords
60624         ee8b466 Recommend enabling integrity-checking in git
60625         e639e10 Some corrections in Elisp manual
60626         d766ca8 Chatter when autogen.sh changes Git configuration
60627         3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
60628         43cb9f8 Omit unnecessary history from Lisp intro
60629         2fbd1da * etc/HISTORY: Add some more history, plus git tags.
60630         c90e1b4 Improve elisp “Security Considerations” doc
60631         cedd7ca autogen.sh now arranges for git to check hashes
60632         86ce76b ; Fix ChangeLog.2 commit ID.
60633         7b1d2b1 Fix (c & 040) typo in emergency escapes
60634         a8273da Fix display of overlay strings with 'display' and 'box' property
60635         fc48106 Fix imap-starttls-open
60636         cdecbed Fix return value of imap-starttls-open
60637         20c7e34 ; * etc/NEWS: Fix renamed command name
60638         98bdbdb Correct reference to DARWIN_OS preprocessor symbol
60639         b250d29 Spelling fix
60640         b920a0e Spelling fixes
60641         93b144b Pacify GCC on C library without glibc API
60643 2016-02-03  John Wiegley  <johnw@newartisans.com>
60645         Merge from origin/emacs-25
60647         ea26c8a * lisp/net/browse-url.el (browse-url-default-browser): Lower
60648                 priority of non-free Chrome.
60649         0fac75f Improve the custom type of some user options.
60650         2df0e04 Highlight CSS variables with variable name face
60651         3cf5e81 * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not
60652                 user-serviceable.
60653         2a5233c Mark some user options that can get evalled as risky.
60654         39b166f Disable DebPrint in sys_read on MS-Windows
60655         9fd0189 ;Fix ChangeLog entry
60656         4bb7233 Fix typos in Introduction to Emacs Lisp manual
60658 2016-02-03  Mark Oteiza  <mvoteiza@udel.edu>
60660         Add a new command to switch between erc buffers
60662         * doc/misc/eww.texi: Document eww-switch-to-buffer and its keybinding
60663         * etc/NEWS: Mention new command
60664         * lisp/net/eww.el (eww-mode-map): Bind eww-switch-to-buffer to "s"
60665         (eww-mode-map): Add menu item
60666         (eww-switch-to-buffer): New command
60668 2016-02-03  David Edmondson  <dme@dme.org>
60670         Make erc work better when encountering unknown prefix chars
60672         * lisp/erc/erc.el (erc-channel-receive-names): Output a warning
60673         instead of erroring out on unknown prefix chars (bug#22380).
60675 2016-02-03  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
60677         Allow sending empty hidden values in eww
60679         * lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
60680         values (bug#22388).
60682 2016-02-03  Andrew Hyatt  <ahyatt@gmail.com>
60684         Remove packages obsoleted before Emacs 24.
60686         In accordance with the policy discussed in the emacs-devel list,
60687         packages that have been obsoleted for a full major release cycle are up
60688         for deletion.
60690         This removes almost all packages that are now eligible for deletion,
60691         with the exception of "cl-compat", which seems it is likely to still be
60692         used, and "optional", which offers some functionality that doesn't have
60693         a replacement yet.
60695 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
60697         Mention context when resume from emergency escape
60699         That way, if the user has been doing something else for a while,
60700         they are reminded of the situation when restarting Emacs,
60701         and are more likely to understand the two questions.
60702         * doc/emacs/trouble.texi (Emergency Escape): Document this.
60703         * src/keyboard.c (handle_interrupt): Implement this.
60705 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
60707         Port aligned_alloc decl to Cygwin.
60709         Problem reported by Ken Brown (Bug#22522#38).
60710         * configure.ac (aligned_alloc): Check for decl too.
60711         * src/lisp.h (aligned_alloc): Declare if not already declared.
60713 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
60715         autogen.sh now configures git only on request
60717         * autogen.sh (do_autoconf, do_git): New vars.
60718         Support new arguments --help, all, autoconf, git.
60719         By default, just do autoconf-related configuration, not git.
60720         Prefer 'echo' to 'cat <<EOF ...', as this tends to avoid temp files.
60721         If GNU cp is available, use it to backup .git/config before
60722         changing it.  When configuring git, chatter about what is being
60723         done, and configure git to check hashes.  Avoid some duplicate
60724         file name specification when creating git hooks.
60726         * GNUmakefile (ALL_IF_GIT): New macro.
60727         (configure): Use it.
60728         * INSTALL.REPO: Suggest './autogen.sh all'.
60730 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
60732         Doc fixes and refactorings based on comments from Eli Zaretskii
60734         * doc/lispref/processes.texi (Network Processes): Clarify the
60735         meaning of :tls-parameters.
60737         * lisp/net/gnutls.el (open-gnutls-stream): Clarify :nowait.
60739         * lisp/net/gnutls.el (gnutls-boot-parameters): Factor out into
60740         own function.
60741         (gnutls-negotiate): Use it.
60742         (open-gnutls-stream): Ditto.
60744         * src/eval.c (vformat_string): Refactor out the printing bits
60745         from verror.
60746         (verror): Use it.
60748         * src/gnutls.c (boot_error): Mark failed processes with the
60749         real error message.
60751         * src/lisp.h: Declare vformat_string.
60753 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
60755         Build with C11 if available
60757         * admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
60758         * m4/std-gnu11.m4: New file, from gnulib.
60759         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
60761 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
60763         Update gnulib copy
60765         * doc/misc/texinfo.tex: Copy from gnulib.
60767 2016-02-02  Glenn Morris  <rgm@gnu.org>
60769         * lisp/vc/add-log.el (change-log-directory-files, find-change-log):
60770         Doc tweaks.
60772 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
60774         Port better to platforms lacking aligned_alloc
60776         Problem reported by Ken Brown (Bug#22522).
60777         * src/lisp.h (hybrid_aligned_alloc)
60778         [HYBRID_MALLOC && !HAVE_ALIGNED_ALLOC]: New decl.
60780 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
60782         Port malloc.h hygiene fix to LTO
60784         * src/alloc.c (__malloc_initialize_hook):
60785         Make it externally visible (Bug#22522).
60787 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
60789         Build fix for --enable-check-lisp-object-type
60791         * src/process.c (check_for_dns): Type fix reported by YAMAMOTO
60792         Mitsuharu.
60794 2016-02-01  Glenn Morris  <rgm@gnu.org>
60796         Make find-change-log prefer a VCS root, if no ChangeLog exists.
60798         * lisp/vc/add-log.el (change-log-directory-files): New option.
60799         (find-change-log): Respect change-log-directory-files.
60800         * doc/emacs/maintaining.texi (Change Log Commands):
60801         Mention change-log-directory-files.
60803 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
60805         Boot parameter check fix
60807         * src/process.c (send_process): Fix test for boot parameters noted
60808         by Andy Moreton.
60810 2016-02-01  Paul Eggert  <eggert@cs.ucla.edu>
60812         Double static heap size.
60814         * src/sheap.h (STATIC_HEAP_SIZE): Double it, since it was too
60815         small on FreeBSD (Bug#22086).
60817 2016-02-01  Michael Albinus  <michael.albinus@gmx.de>
60819         Fix Bug#20821
60821         * lisp/net/tramp.el (tramp-file-name-handler):
60822         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
60823         Use `tramp-drop-volume-letter'.  (Bug#20821)
60825 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
60827         Style fix
60829 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
60831         Return the correct server port number
60833         * src/process.c (connect_network_socket): Return the correct
60834         server port number.
60836 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
60838         Fix autoconf test for getaddrinfo_a
60840         * configure.ac: Make the test for getaddrinfo_a work.
60842 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
60844         Better async error reporting
60846         * src/process.c (connect_network_socket): Mark failed processes
60847         with a better error message.
60848         (check_for_dns): Ditto.
60850 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
60852         Clarify :tls-parameters.
60854 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
60856         Always boot TLS if given parameters
60858         * src/process.c (connect_network_socket): If we have the TLS
60859         parameters, then boot the socket.
60861 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
60863         Add documentation for :tls-parameters
60865         * doc/lispref/processes.texi (Network Processes): Mention
60866         :tls-parameters.
60868         * src/process.c (Fmake_network_process): Document the
60869         :tls-parameters parameter.
60871 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
60873         Build fix for glibc systems.
60875 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
60877         Make network connections work again on non-glibc systems
60879         * lisp/net/gnutls.el (open-gnutls-stream): Pass the TLS
60880         keywords in directly so that they can be used when doing
60881         synchronous DNS on non-synchronous connections.
60883         * lisp/net/network-stream.el (open-network-stream): Allow
60884         passing in the TLS parameters directly.
60886         * src/process.c (conv_numerical_to_lisp): New function to convert
60887         numerical addresses to Lisp.
60888         (Fmake_network_process): Rework the non-HAVE_ADDRINFO code
60889         paths so that they work again.
60890         (syms_of_process): Build fix for non-glibc systems.
60892 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
60894         Windows build fix
60896         * src/process.c (Fmake_network_process): Build fix for systems
60897         without local sockets.
60899 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
60901         Use XCAR/XCDR instead of Fcar etc
60903 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
60905         Fix GC problem in async TLS connection
60907         * src/process.h: All Lisp_Object slots have to come first,
60908         otherwise they won't be protected from gc.
60910 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
60912         Further TLS async work
60914         * src/gnutls.c (boot_error): New function to either signal an
60915         error or return an error code.
60916         (Fgnutls_boot): Don't signal errors when running asynchronously.
60918         * src/process.h (pset_status): Move here from process.c to be
60919         able to use from gnutls.c.
60921         * src/process.c (connect_network_socket): Do the TLS boot here
60922         when running asynchronously.
60923         (wait_reading_process_output): Rework the dns_processes
60924         handling for more safety.
60926 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
60928         Clean up dead code
60930         * lisp/net/gnutls.el (gnutls-async-sentinel): Remove.
60932 2016-01-31  Dave Barker  <kzar@kzar.co.uk>
60934         Add ability to give rcirc servers an alias name
60936         * lisp/net/rcirc.el (rcirc-server-alist): Add :server-alias
60937         customization option.
60938         (rcirc, rcirc-connect): Take server alias into account.
60940 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
60942         Port new hybrid malloc to FreeBSD
60944         Problem reported by Wolfgang Jenkner in: https://bugs.gnu.org/22086#118
60945         * src/gmalloc.c (__malloc_initialize_hook, __after_morecore_hook)
60946         (__morecore) [HYBRID_MALLOC]: Define in this case too.
60948 2016-01-31  Wolfgang Jenkner  <wjenkner@inode.at>
60950         * configure.ac: Stop using mmap for buffers for FreeBSD.
60952 2016-01-31  Michael Albinus  <michael.albinus@gmx.de>
60954         Merge changes from Tramp repository
60956         * doc/misc/Makefile.in (${buildinfodir}/tramp.info tramp.html):
60957         No EXTRA_OPTS needed.
60959         * doc/misc/tramp.texi: Merge changes from Emacsemacs-25
60960         branch, especially for @trampfn{}.
60961         (Top): Move @ifnottex down.
60962         (History): XEmacs support has been removed.
60963         (GVFS based methods, Remote processes): Do not use emacsgvfs flag.
60964         (Auto-save and Backup): Use both syntax versions.
60965         (File name Syntax): Remark on IPv6 adresses is valid for
60966         unified syntax only.
60968         * doc/misc/trampver.texi: Do not set emacsgvfs flag.
60970 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
60972         Spelling fixes
60974 2016-01-30  Glenn Morris  <rgm@gnu.org>
60976         * lisp/vc/add-log.el (find-change-log): Use locate-dominating-file.
60978 2016-01-30  Matthew Carter  <m@ahungry.com>
60980         Quote table names for postgres listings (sql-mode)
60982         * lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
60983           unquoted table names to the completion list.
60985 2016-01-30  Glenn Morris  <rgm@gnu.org>
60987         Change Smerge "Mine" and "Other" for "Upper" and "Lower.  (Bug#20878)
60989         * lisp/vc/smerge-mode.el (smerge-diff-switches)
60990         (smerge-context-menu, smerge-match-conflict, smerge-swap): Doc fixes.
60991         (smerge-upper, smerge-upper-face, smerge-keep-upper)
60992         (smerge-diff-base-upper): Rename from smerge-mine, smerge-mine-face,
60993         smerge-keep-mine, smerge-diff-base-mine.  Update all uses.
60994         (smerge-mine-face, smerge-other-face): Remove obsolete face aliases.
60995         (smerge-lower, smerge-lower-face, smerge-lower-re, smerge-keep-lower)
60996         (smerge-diff-base-lower): Rename from smerge-other, smerge-other-face,
60997         smerge-other-re, smerge-keep-other, smerge-diff-base-lower.
60998         Update all uses.
60999         (smerge-basic-map): Add "l" and "u" bindings.
61000         (smerge-mode-menu): Update menu bindings for renaming.
61001         (smerge-font-lock-keywords): Update face names.
61002         (smerge-match-names): Update names.
61003         (smerge-diff-upper-lower): Rename from smerge-diff-mine-other.
61004         (smerge-match-conflict, smerge-ediff): Rename local variables.
61005         (smerge-makeup-conflict): Relabel markers.
61006         (smerge-parsep-re): Use renamed variables.
61008 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61010         Port recent my_edata change to MS-Windows
61012         * src/lastfile.c (my_edata): Also define if WINDOWSNT.
61014 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
61016         Rework the mechanisms for async GnuTLS connections
61018         * lisp/net/gnutls.el (open-gnutls-stream): Compute the
61019         gnutls-boot parameters and pass them to the process object.
61020         (gnutls-negotiate): New parameter :return-keywords that won't
61021         connect to anything, just compute the keywords.
61023         * lisp/url/url-http.el (url-http): Revert async TLS sentinel
61024         hack, which is no longer necessary.
61026         * src/gnutls.c (Fgnutls_asynchronous_parameters): Rename from
61027         gnutls-mark-process.
61029         * src/process.c (connect_network_socket): If we're connecting to
61030         an asynchronous TLS socket, complete the GnuTLS boot sequence here.
61032         * src/process.h: New parameter gnutls_async_parameters.
61034 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
61036         Fix segfault from double free
61038         * src/process.c (check_for_dns): Protect against double free
61039         issues.
61041 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
61043         Remove debugging
61045 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
61047         Implement asynchronous GnuTLS connections
61049         * doc/misc/emacs-gnutls.texi (Help For Developers): Mention
61050         the nowait parameter.
61052         * lisp/net/gnutls.el (open-gnutls-stream): Allow asynchronous
61053         connections with the new nowait parameter.
61055         * lisp/net/network-stream.el (network-stream-open-tls): Pass
61056         on :nowait to open-gnutls-stream.
61058         * lisp/url/url-http.el (url-http): Don't overwrite the
61059         sentinel created by open-gnutls-stream.
61061         * src/gnutls.c (Fgnutls_mark_process): New function.
61063         * src/process.c (send_process): Don't write to GnuTLS sockets that
61064         haven't been initialized yed.
61066         * src/process.h: New slot gnutls_wait_p.
61068 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61070         Tell Automake the new lib/Makefile.am is OK
61072         * lib/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
61074 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61076         Make it easy to override preferred-branch test
61078         * Makefile.in (preferred-branch-is-current):
61079         Rename from emacs-25-branch-is-current.  All uses changed.
61080         (PREFERRED_BRANCH): New macro.
61082 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61084         Shrink static heap a bit
61086         * src/sheap.h: Include lisp.h, for Lisp_Object.
61087         (STATIC_HEAP_SIZE): Now an enum constant, not a macro.
61088         Make it 2 MiB * sizeof (Lisp_Object), which is a bit more
61089         conservative than the old value.
61090         (Bug#22086)
61092 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61094         Fix extern symbols defined and not used
61096         * src/alloc.c: Always include <signal.h>.
61097         (malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]:
61098         Do not define; unused.
61099         * src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static.
61100         * src/gmalloc.c (gdefault_morecore): Rename from __default_morecore,
61101         to avoid collision with glibc.  Now static.  All uses changed.
61102         * src/lastfile.c (my_edata): Define only if
61103         ((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined
61104         WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS).
61105         (Bug#22086)
61107 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61109         Build lib/e-*.o only on platforms that need it
61111         * configure.ac (hybrid malloc): Simplify configuration.
61112         (SHEAP_OBJ): Remove; no longer needed.
61113         (HYBRID_MALLOC): New var. Subst it.
61114         (HYBRID_MALLOC_LIB): New Automake conditional.
61115         * lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if
61116         HYBRID_MALLOC_LIB.
61117         (libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed.
61118         (MOSTLYCLEANFILES): Add libegnu.a.
61119         * src/Makefile.in (SHEAP_OBJ): Remove.
61120         (HYBRID_MALLOC): New macro.
61121         (base_obj): Use it to conditionally add sheap.o.
61122         (LIBEGNU_ARCHIVE): New macro.
61123         ($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a.
61124         All uses of the latter replaced by the former.
61125         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration.
61126         Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC.
61127         * src/gmalloc.c: Update comment.
61128         * src/lisp.h (aligned_alloc)
61129         [!DOUG_LEA_MALLOC && !HYBRID_MALLOC && !SYSTEM_MALLOC]:
61130         New decl.
61131         (Bug#22086)
61133 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61135         Include <malloc.h> when advisable
61137         This should help insulate us better from future glibc changes.
61138         It is good hygiene to include .h files for APIs that Emacs uses.
61139         Fix type clashes between Emacs and GNU <malloc.h> (Bug#22086).
61140         * configure.ac: Check for malloc.h.
61141         * src/alloc.c: Include <malloc.h> depending on HAVE_MALLOC_H,
61142         not on DOUG_LEA_MALLOC.
61143         * src/emacs.c, src/gmalloc.c (malloc_enable_thread):
61144         Remove decl (now in lisp.h).
61145         * src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t.
61146         [emacs]: Include lisp.h.
61147         [HAVE_MALLOC_H]: Include <malloc.h>.
61148         (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
61149         (__after_morecore_hook, __malloc_initialize_hook, __morecore)
61150         (__default_morecore):
61151         [!HAVE_MALLOC_H]: New decls near non-inclusion of <malloc.h>.
61152         (calloc): Make it clear that the macro should not be used.
61153         Remove unused decl.
61154         (malloc_info): New macro, to avoid clash with glibc <malloc.h>.
61155         (__morecore, __default_morecore, __after_morecore_hook)
61156         (__malloc_extra_blocks, __malloc_initialize_hook, __free_hook)
61157         (__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings):
61158         Remove later decls.
61159         (gmalloc_hook, gfree_hook, grealloc_hook):
61160         Rename from __malloc_hook, __free_hook, __realloc_hook to
61161         avoid type collision with glibc <malloc.h>.  All uses changed.
61162         (gmalloc_hook):
61163         (__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]:
61164         Now static.
61165         (gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC].
61166         (__malloc_initialize_hook, __after_morecore_hook):
61167         Declare with types compatible with glibc.
61168         (__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]:
61169         Remove.  All uses removed.
61170         * src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls.
61171         * src/ralloc.c, src/vm-limit.c:
61172         Simplify includes and include <malloc.h> if available.
61174 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61176         * src/alloc.c: Include "sheap.h".
61178         (alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]:
61179         Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin.
61180         * src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]:
61181         Declare unconditionally.
61182         * src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl.
61183         (unexec): Don’t set or clear bss_sbrk_did_unexec;
61184         the caller now does this.
61185         (Bug#22086)
61187 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61189         Pacify --enable-gcc-warnings when HYBRID_MALLOC
61191         * src/buffer.c (init_buffer):
61192         * src/emacs.c (main):
61193         * src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
61194         Use emacs_get_current_dir_name, not get_current_dir_name.
61195         * src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro.
61196         (HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove.
61197         * src/emacs.c: Include "sheap.h".
61198         (report_sheap_usage): Remove decl.
61199         (Fdump_emacs) [HYBRID_MALLOC]: Report usage directly.
61200         Don't assume ptrdiff_t can be printed as int.
61201         * src/gmalloc.c [HYBRID_MALLOC]:
61202         Include "sheap.h" rather than declaring its contents by hand.
61203         (get_current_dir_name, gget_current_dir_name)
61204         (hybrid_get_current_dir_name): Remove.
61205         (emacs_abort): Remove duplicate decl.
61206         (aligned_alloc): Undef, like malloc etc.
61207         (ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro.
61208         Make it a bit more efficient.
61209         (malloc_find_object_address): Remove unused decl.
61210         (enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats)
61211         (mstats, memory_warnings): Declare only if GC_MCHECK.
61212         * src/lisp.h (emacs_get_current_dir_name):
61213         New decl, replacing get_current_dir_name.
61214         * src/sheap.c: Include sheap.h first.
61215         (STATIC_HEAP_SIZE): Remove; now in sheap.h.
61216         (debug_sheap): Now static.
61217         (bss_sbrk_buffer_end): Remove; no longer used.
61218         (bss_sbrk_ptr): Now static and private.
61219         (bss_sbrk_did_unexec): Now bool.
61220         (BLOCKSIZE): Remove, to avoid GCC warning about its not being used.
61221         (bss_sbrk): Don't treat request_size 0 as special, since the code
61222         works without this being a special case.
61223         Avoid overflow if request size exceeds INT_MAX.
61224         (report_sheap_usage): Remove; now done in emacs.c.
61225         * src/sheap.h: New file.
61226         * src/sysdep.c (get_current_dir_name): Remove macro.
61227         Include "sheap.h".
61228         (emacs_get_current_dir_name): Rename function from
61229         get_current_dir_name.  Handle HYBRID_MALLOC here;
61230         this is simpler.
61231         (Bug#22086)
61233 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61235         Report static heap usage on non-Cygwin, too
61237         * src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ...
61238         * src/unexcw.c (unexec): ... instead of here, since sheap can be used
61239         on platforms other than Cygwin (Bug#22086).
61241 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61243         Pacify GCC on extern decls
61245         * src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level
61246         to pacify recent GCC (Bug#22086).
61248 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
61250         Add musl patch to support HYBRID_MALLOC on elf systems
61252         * src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case.
61253         (__default_morecore): Here, in particular.
61254         * configure.ac: Define HYBRID_MALLOC when unexelf.o is used.
61255         New variable SHEAP_OBJ.
61256         * src/Makefile.in: Use it.
61257         (Bug#22086)
61259 2016-01-30  Rich Felker  <dalias@libc.org>  (tiny change)
61261         unexelf.c hook to support HYBRID_MALLOC on ELF
61263         * src/unexelf.c (unexec) [HYBRID_MALLOC]:
61264         Define bss_sbrk_did_unexec (Bug#22086).
61266 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
61268         Link temacs with gnulib compiled with -Demacs
61270         This is done to support HYBRID_MALLOC, since some static variables
61271         (e.g., last_environ in putenv.c) hold pointers to memory malloced
61272         before dumping (Bug#22086).
61273         * lib/Makefile.am: Add incantation to install libegnu.a.
61274         * src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
61275         (temacs$(EXEEXT)): Use it.
61277 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
61279         Internal linkage for gmalloc etc. if HYBRID_MALLOC
61281         This avoids clashes with symbols if the after-dump malloc is
61282         derived from Doug Lea's implementation (Bug#22086).
61284         * src/gmalloc.c (emacs_abort, __morecore, __default_morecore):
61285         Move declarations up.  For HYBRID_MALLOC, turn all `extern'
61286         declarations below to `static' ones.
61287         (aligned_alloc): Declare for !MSDOS as well.
61288         (heapsize, _fraghead): Move resp. copy declaration downwards.
61289         For HYBRID_MALLOC, conditionalize out the other definitions,
61290         since the previous `static' declarations double as tentative
61291         definitions, anyway.
61292         (_malloc, _free, _realloc, __free_hook, _aligned_blocks)
61293         (__realloc_hook, __memalign_hook): Conditionalize out.
61294         (cfree, memalign, valloc): Ditto.
61296 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61298         -
61300         -
61302         -
61304 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61306         Merge from origin/emacs-25
61308         3f481ad Rename xref-query-replace to xref-query-replace-in-results
61309         62f4ed4 Update cl-defgeneric and cl-defmethod docstrings
61310         2111e0e Comment out next-error-function integration in xref
61311         4e11ad3 Correct a use of "which" in intro.texi
61312         a1865bc Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
61313         76045f7 Don't operate on menu bar of nonexistent frame
61314         c32f3bc Unbreak the GNUstep build.
61316 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61318         -
61320         -
61322 2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>
61324         Re-enable checks in member, memql, delete to complain about non-lists
61326         * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
61328 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
61330         Clean up compilation warnings
61332 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
61334         Make async resolution more efficient
61336         * src/process.c (wait_reading_process_output): Use a list of
61337         process objects instead of looping through an array to check
61338         for name resolution.  This should be much faster.
61340 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
61342         More async memory leaks
61344         * src/process.c (check_for_dns): Free even more allocated async stuff.
61346 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
61348         Compilation for for systems with getaddrinfo_a
61350         * src/process.c (Fmake_network_process): Make stuff work again on
61351         systems with getaddrinfo_a.
61353 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
61355         Save correct server data
61357         * src/process.c (connect_network_socket): Save the correct contact
61358         info for servers.
61360 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
61362         Compilation for for non-GNU systems
61364         * src/process.c (Fmake_network_process): Make compilation work
61365         again on hosts that don't have getaddrinfo_a.
61367 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
61369         Avoid memory leaks in async DNS
61371         * src/process.c (check_for_dns): Free async DNS resources after
61372         they've been used.
61374 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
61376         * src/process.c (check_for_dns): Free the result data.
61378 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
61380         Fix server connections
61382         * src/process.c (Fmake_network_process): Make creating server
61383         listening ports work again.
61385 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
61387         Further make_network_process clean up
61389         * src/process.c (Fmake_network_process): Remove setting of unused
61390         family variable.
61392 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
61394         Clean up GETADDRINFO usage in make-network-process
61396         * src/process.c (Fmake_network_process): Clean up the GETADDRINFO
61397         handling.
61399 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
61401         Implement asynchronous name resolution
61403         * src/process.c (Fmake_network_process): Do asynchronous DNS
61404         lookups if we have getaddrinfo_a and the user requests :nowait.
61405         (check_for_dns): New function.
61406         (wait_reading_process_output): Check for pending name
61407         resolution in the idle loop.
61409         * src/process.h: Add structure for async DNS.
61411 2016-01-28  Glenn Morris  <rgm@gnu.org>
61413         Remove some useless-use-of eval.
61415         * lisp/gnus/gnus.el (gnus-load-hook): Don't use eval.
61416         * lisp/gnus/nnrss.el (xml): Simply require it.
61417         (xml-rpc-method-call): Use declare-function.
61419 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
61421         Fix memory leak
61423         * src/process.c (connect_network_socket): Free previous sockaddr
61424         before allocating a new one.
61426 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
61428         Return IP addresses in the correct order
61430         * src/process.c (Fmake_network_process): Return the IP addresses
61431         in the same order as getaddrinfo does.
61432         (set_network_socket_coding_system): Clean up the code slightly.
61434 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
61436         Add checks for getaddrinfo_a
61438         * configure.ac: Detect getaddrinfo_a.
61440 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
61442         Refactor make_network_process
61444         * src/process.c (set_network_socket_coding_system)
61445         (connect_network_socket): Refactor out of
61446         make_network_process to allow calling connect_network_socket
61447         asynchronously.
61448         (Fmake_network_process): Do nothing but parsing the parameters
61449         and name resolution, leaving the connection to
61450         connect_network_socket.
61452 2016-01-28  Glenn Morris  <rgm@gnu.org>
61454         * lisp/emacs-lisp/bytecomp.el (byte-compile-nogroup-warn):
61455         Warn if defcustom has no type.  (Bug#16276)
61457 2016-01-27  Glenn Morris  <rgm@gnu.org>
61459         * test/lisp/vc/vc-hg-tests.el: Move from test/automated/.
61461 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
61463         (rng-c-fix-escaped-newlines): Use subst-char-in-string
61465         * lisp/nxml/rng-cmpct.el (rng-c-fix-escaped-newlines):
61466         Use subst-char-in-string.
61468 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
61470         * lisp/textmodes/sgml-mode.el (sgml-forward-sexp): New function
61472         (sgml-cursor-sensor, sgml-pretty-print, sgml-parse-tag-backward)
61473         (sgml-calculate-indent): Use it.
61475 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
61477         * lisp/org: Fix some compiler warnings
61479         * lisp/org/ob-core.el (org-babel-check-confirm-evaluate)
61480         (org-babel-map-src-blocks): Don't emit warnings if added vars are not used.
61481         (*this*): Declare as dyn-bound.
61482         (org-babel-expand-src-block, org-babel-load-in-session)
61483         (org-babel-switch-to-session-with-code, org-babel-get-rownames):
61484         Mark unused args.
61485         (org-babel-combine-header-arg-lists): Remove unused var `args'.
61486         (org-babel-find-named-block): Remove unused var `msg'.
61488         * lisp/org/org-src.el (org-inhibit-startup, org-src-fontify-natively):
61489         Declare as dyn-bound.
61490         (org-edit-src-code): Remove unused var `lfmt'.
61491         (org-edit-fixed-width-region): Remove unused var `preserve-indentation'.
61493 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
61495         * lisp/font-lock.el: Use #' to quote function symbols
61497 2016-01-23  Michael Albinus  <michael.albinus@gmx.de>
61499         Improve user name completion in Tramp
61501         * lisp/net/tramp.el (tramp-parse-passwd, tramp-parse-etc-group):
61502         Call also "getent passwd" or "getent group", if possible.
61503         (tramp-parse-putty): Cache the result.
61505 2016-01-22  Michael Albinus  <michael.albinus@gmx.de>
61507         * etc/NEWS: Move kqueue entries to Emacs 25.1 sections.
61509 2016-01-20  Glenn Morris  <rgm@gnu.org>
61511         Remove handling of non-string time-stamp formats, obsolete for 20 years.
61513         * lisp/time-stamp.el (time-stamp-format): Doc fix.
61514         (time-stamp-old-format-warn, time-stamp-fconcat): Remove.
61515         (time-stamp-string): Ignore non-string formats.
61517 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
61519         Anoter fix for problematic merge from emacs-25
61521         * src/w32fns.c (globals_of_w32fns): Move initialization of
61522         resetstkoflw to a non-Cygwin part.
61524 2016-01-20  Michael Albinus  <michael.albinus@gmx.de>
61526         * test/Makefile.in (mostlyclean): Use ${LOGFILES}.
61528 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
61530         Fix MS-Windows build broken by a botched merge from emacs-25
61532         * src/w32.c (w32_crypto_hprov): New static variable.
61533         (globals_of_w32): Initialize w32_crypto_hprov.
61534         (w32_init_crypt_random, w32_init_random): New functions.
61535         Include wincrypt.h.
61536         * src/w32.h (w32_init_random): Add prototype.
61538 2016-01-19  Vincent Belaïche  <vincentb1@users.sourceforge.net>
61540         Correct a whole bunch of bugs coming with renamed cell relocation.
61542         * lisp/ses.el (ses-localvars): rename variable
61543         `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
61544         and adjust the comment about it.
61545         (ses-plist-delq): new defun.
61546         (ses--ses-buffer-list): new defvar.
61547         (ses--unbind-cell-name): new defun.
61548         (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
61549         (ses-relocate-formula): Undo change of
61550         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
61551         preventing relocation for named cell --- now doing this is delegated
61552         to function `ses-relocate-symbol'.
61553         (ses-relocate-range): In docstring, undo change of
61554         2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
61555         lower case as it is not a variable.
61556         (ses-relocate-all): Cell name relocation : 1) check that cell is a
61557         renamed cell by testing `ses-cell' property to :ses-named, rather than
61558         comparing name to corresponding standard name. Set rowcol of renamed
61559         cell into the hashmap --- `ses-cell' property must not be used for
61560         that as the same name can be used for different locations in different
61561         SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
61562         `local-variable-p' to check if cell name is already in use in this
61563         sheet or needs initialization.
61564         (ses-relocate-all): Cell value relocation : 1) like for name
61565         relocation use the `ses-cell' property rather than comparing actual
61566         name to corresponding standard name. 2) Correct bug introduced in
61567         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
61568         made the other way round than the intention --- ie value relocation
61569         was disabled for standard cell, not for renamed cell as was the
61570         intention.
61571         (ses-relocate-all): Add loop for unbinding deleted renamed cells
61572         names.
61573         (ses-killbuffer-hook): new defun.
61574         (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
61575         kill buffer hook, plus pushing current buffer if new in list.
61576         (ses-delete-row, ses-delete-column): Collect deleted renamed cells
61577         into `ses--in-killing-named-cell-list'.
61578         (ses-rename-cell): Remove update of variable
61579         `ses--renamed-cell-symb-list', this variable is renamed to
61580         `ses--in-killing-named-cell-list', and its setting is done in
61581         functions `ses-delete-row' and , `ses-delete-column' now.
61582         (ses-rename-cell): Change correction of
61583         2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
61584         computation of the range over which `cursor-intangible' property was
61585         to be updated. This correction was ok for non spilling cells, but not
61586         for cells spilling over following blank cells. Simply use
61587         `next-single-property-change' rather than computing the end column
61588         from column widths.
61590 2016-01-18  John Wiegley  <johnw@newartisans.com>
61592         -
61594 2016-01-18  John Wiegley  <johnw@newartisans.com>
61596         Merge from origin/emacs-25
61598         3ae7934 ; * etc/NEWS: Mark entries that don't need further treatment.
61599         6165c36 * lisp/files.el (dir-locals--all-files): Respect absolute file-names
61600         2ffdf15 * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
61601         71ecd62 * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
61602         f0b82b3 * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
61603         86e4513 Fix incompatbilities with MS-Windows 2000 and older
61604         4e96521 Mention in PROBLEMS an issue with MS-Windows NT4
61605         15c23aa Ensure 8-byte aligned memory allocation on MS-Windows 9X
61606         39afa42 Fix tests for active region in hideif.el
61607         05df666 Fix interactive specs in some hideif.el commands
61609 2016-01-18  John Wiegley  <johnw@newartisans.com>
61611         -
61613 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
61615         Avoid stdio in SIGINT handler
61617         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
61618         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
61619         * lib/ignore-value.h: New file, from gnulib.
61620         * src/keyboard.c: Include it.
61621         (write_stdout, read_stdin): New functions.
61622         (handle_interrupt): Use them instead of printf and getchar,
61623         and avoid fflush when handling signals.
61625 2016-01-18  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
61627         Refactor mml-smime.el, mml1991.el, mml2015.el
61629         (Maybe this is the last merge from Gnus git to Emacs git)
61631         Cf. discussion on ding mailing list, messages in
61632         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
61633         Common code from the three files mml-smime.el, mml1991.el, and
61634         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
61635         to gnus-util.el.
61637         The code is supported by test cases with necessary test keys.
61639         Documentation in message.texi is updated.
61641         * doc/misc/message.texi (Security, Using S/MIME):
61642         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
61643         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
61644         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
61646         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
61647         New functions.
61649         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
61650         (epa--select-keys): Autoload.
61651         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
61652         (mml-secure-openpgp-signers): New user option;
61653         make mml1991-signers and mml2015-signers obsolete aliases to it.
61654         (mml-secure-smime-signers): New user option;
61655         make mml-smime-signers an obsolete alias to it.
61656         (mml-secure-openpgp-encrypt-to-self): New user option;
61657         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
61658         aliases to it.
61659         (mml-secure-smime-encrypt-to-self): New user option;
61660         make mml-smime-encrypt-to-self an obsolete alias to it.
61661         (mml-secure-openpgp-sign-with-sender): New user option;
61662         make mml2015-sign-with-sender an obsolete alias to it.
61663         (mml-secure-smime-sign-with-sender): New user option;
61664         make mml-smime-sign-with-sender an obsolete alias to it.
61665         (mml-secure-openpgp-always-trust): New user option;
61666         make mml2015-always-trust an obsolete alias to it.
61667         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
61668         New user options.
61669         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
61670         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
61671         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
61672         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
61673         (mml-secure-passphrase-callback, mml-secure-check-user-id)
61674         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
61675         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
61676         (mml-secure-fingerprint, mml-secure-filter-keys)
61677         (mml-secure-normalize-cust-name, mml-secure-select-keys)
61678         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
61679         (mml-secure-self-recipients, mml-secure-recipients)
61680         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
61682         * lisp/gnus/mml-smime.el: Require epg;
61683         refactor declaration and autoloading of epg functions.
61684         (mml-smime-use): Doc fix.
61685         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
61686         Obsolete.
61687         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
61688         Use format instead of gnus-format-message.
61689         (mml-smime-epg-secret-key-id-list): Remove variable.
61690         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
61691         (mml-smime-epg-find-usable-secret-key): Remove functions.
61692         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
61694         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
61695         (mml1991-passphrase-cache-expiry): Obsolete.
61696         (mml1991-epg-secret-key-id-list): Remove variable.
61697         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
61698         (mml1991-epg-find-usable-secret-key): Remove functions.
61699         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
61701         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
61702         (mml2015-passphrase-cache-expiry): Obsolete.
61703         (mml2015-epg-secret-key-id-list): Remove variable.
61704         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
61705         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
61706         (mml2015-epg-find-usable-secret-key): Remove functions.
61707         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
61708         (mml2015-epg-encrypt): Refactor.
61710 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
61712         Merge from gnulib
61714         This mostly just updates copyright dates of gnulib files.
61715         It also updates to the latest version of texinfo.tex.
61717 2016-01-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
61719         Move variables to inner loop, preparing for Mac port merge
61721         * src/keyboard.c (command_loop_1): Move variables `cmd',
61722         `keybuf', and `i' to inner loop.
61724 2016-01-17  Bill Wohler  <wohler@newt.com>
61726         * lisp/mh-e/mh-e.el (mh-version): Add +git to version.
61728 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
61730         * lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
61732         (syntax-ppss):
61733         * lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
61735 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
61737         lisp/nxml: Use syntax-tables for comments
61739         * lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
61740         (nxml-mode): Set syntax-ppss-table.
61741         Use sgml-syntax-propertize-function for syntax-propertize-function.
61742         Let font-lock highlight strings and comments.
61743         (nxml-degrade): Don't touch "nxml-inside" property any more.
61744         (nxml-after-change, nxml-after-change1): Remove functions.
61745         (comment): Don't set fontify rule any more.
61746         (nxml-fontify-attribute): Don't highlight the value any more.
61747         (nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
61748         (nxml-comment-delimiter, nxml-comment-content): Remove faces.
61750         * lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
61751         (nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
61752         (nxml-clear-inside, nxml-set-inside): Remove.
61753         (nxml-scan-after-change): Remove function.
61754         (nxml-scan-prolog, nxml-tokenize-forward): Simplify.
61755         (nxml-ensure-scan-up-to-date): Use syntax-propertize.
61756         (nxml-move-outside-backwards):
61757         * lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
61758         nxml-inside-start behavior.
61760         * lisp/nxml/nxml-util.el (nxml-debug-set-inside)
61761         (nxml-debug-clear-inside): Remove macros.
61763         * lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
61764         (xmltok-scan-after-comment-open): Simplify.
61766 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
61768         * lisp/progmodes/elisp-mode.el
61769         (elisp--font-lock-flush-elisp-buffers): Fix comment
61771 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
61773         * lisp/nxml: Use standard completion; it also works for company-mode
61775         * lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
61776         (nxml-completion-at-point-function): Remove.
61777         (nxml-mode): Don't set completion-at-point-functions.
61778         * lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
61779         (rng-completion-at-point): Rename from rng-complete and mark it
61780         non-interactive.  It is now to be used as completion-at-point-function.
61781         (rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
61782         (rng-complete-attribute-value): Don't perform completion, but return
61783         completion data instead.
61784         (rng-complete-qname-function, rng-generate-qname-list): Add a few
61785         arguments, previously passed via dynamic coping.
61786         (rng-strings-to-completion-table): Rename from
61787         rng-strings-to-completion-alist.  Don't return an alist.  Don't both
61788         sorting and uniquifying.
61790         * lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
61791         (rng-completion-exact-p, rng-quote-string): Delete functions.
61793         * lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
61794         (rng-missing-attributes-message, rng-missing-element-message)
61795         (rng-mark-missing-end-tags): Use explicit ".." in formats rather than
61796         calling rng-quote-string everywhere.
61798 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
61800         Use sgml-electric-tag-pair-mode also in nxml-mode
61802         * lisp/nxml/rng-nxml.el: Require sgml-mode.
61803         (rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
61804         (rng-complete-qname-function): Use complete-with-action.
61806         * lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
61807         Let-bind forward-sexp-function, since nxml-mode binds it to
61808         something incompatible.
61810         * lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.
61812 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
61814         * lisp/nxml/xmltok.el: Mark the "sole --" rather than the comment
61815         opener.
61817         * lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
61818         marker on the "sole --" rather than on the comment opener.
61820 2016-01-15  Sam Steingold  <sds@gnu.org>
61822         replace `tramp-compat-split-string' (removed) with `split-string'
61824         (python-shell-tramp-refresh-process-environment)
61825         (python-shell-calculate-pythonpath): use `split-string'
61826         instead of defunct `tramp-compat-split-string'
61828 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
61830         Update nXML to use Emacs's Unicode support, and lexical-binding
61832         * etc/nxml/*.el: Remove obsolete char-name files.
61833         * lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
61834         var `next'.
61835         * lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
61836         * lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
61837         * lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
61838         (nxml-target-section-pos, nxml-depth-in-target-section)
61839         (nxml-outline-state-transform-alist)
61840         (nxml-outline-display-section-tag-function): Move decl before first use.
61841         * lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
61842         (nxml-char-name-alist, nxml-char-name-table)
61843         (nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
61844         (nxml-enable-char-name-set, nxml-disable-char-name-set)
61845         (nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
61846         (nxml-define-char-name-set, nxml-get-char-name): Remove functions.
61847         (nxml-insert-named-char): Use read-char-by-name instead.
61848         (nxml-char-ref-display-extra): Use get-char-code-property.
61849         * lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
61850         Remove function.
61851         * lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.
61853 2016-01-15  Michael Albinus  <michael.albinus@gmx.de>
61855         Add "sg" method to Tramp
61857         * doc/misc/tramp.texi (Inline methods): Add "sg" method.
61858         (Customizing Completion): Add function `tramp-parse-etc-group'.
61860         * lisp/net/tramp-sh.el (tramp-methods) <sg>: Add.  (Bug#22329)
61861         (tramp-completion-function-alist-sg): New defconst.
61862         (top): Completion function for "sg" is
61863         `tramp-completion-function-alist-sg'.
61865         * lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
61866         (tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.
61868 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
61870         Remove XEmacs compatibility in Tramp
61872         * doc/misc/tramp.texi: Replace flags by their hard coded name.
61873         Remove unused flags and the enclosed alternative text for XEmacs.
61875         * doc/misc/trampver.texi: Use "Tramp" CamelCase.  Rename "emacs"
61876         and "xemacs" flags to "unified" and "separate".  Remove flags
61877         "emacsgw", "emacsname", "emacsdir", "ftppackagename",
61878         "emacsothername", "emacsotherdir" and "emacsotherfilename".
61879         (trampver):
61880         * lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".
61882         * lisp/net/tramp.el (bkup-backup-directory-info)
61883         (directory-sep-char, ls-lisp-use-insert-directory-program)
61884         (outline-regexp, tramp-backup-directory-alist)
61885         (tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
61886         (tramp-file-name-regexp-unified)
61887         (tramp-file-name-regexp-separate)
61888         (tramp-completion-file-name-regexp-unified)
61889         (tramp-completion-file-name-regexp-separate, tramp-chunksize)
61890         (tramp-get-method-parameter, tramp-find-method, tramp-find-user)
61891         (tramp-debug-message, tramp-progress-reporter-update)
61892         (with-tramp-progress-reporter)
61893         (tramp-rfn-eshadow-setup-minibuffer)
61894         (rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
61895         (tramp-rfn-eshadow-update-overlay)
61896         (rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
61897         (tramp-file-name-for-operation)
61898         (tramp-completion-file-name-handler)
61899         (tramp-autoload-file-name-handler, tramp-completion-mode-p)
61900         (tramp-handle-directory-files)
61901         (tramp-handle-directory-files-and-attributes)
61902         (tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
61903         (tramp-handle-insert-file-contents, tramp-handle-load)
61904         (tramp-handle-shell-command)
61905         (tramp-handle-verify-visited-file-modtime)
61906         (tramp-handle-file-notify-valid-p, tramp-accept-process-output)
61907         (tramp-check-for-regexp, tramp-wait-for-regexp)
61908         (tramp-send-string, tramp-mode-string-to-int)
61909         (tramp-get-local-gid, tramp-check-cached-permissions)
61910         (tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
61911         (auto-save-file-name-transforms)
61912         (tramp-handle-make-auto-save-file-name, tramp-read-passwd)
61913         (tramp-clear-passwd, tramp-time-diff):
61914         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
61915         (directory-sep-char, tramp-adb-file-name-handler-alist)
61916         (tramp-adb-parse-device-names)
61917         (tramp-adb-handle-expand-file-name)
61918         (tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
61919         (tramp-adb-handle-file-local-copy)
61920         (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
61921         (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
61922         (tramp-adb-handle-shell-command)
61923         (tramp-adb-handle-start-file-process, tramp-adb-get-device)
61924         (tramp-adb-maybe-open-connection):
61925         * lisp/net/tramp-cache.el (tramp-persistency-file-name)
61926         (tramp-cache-print):
61927         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
61928         (tramp-bug, tramp-reporter-dump-variable)
61929         (tramp-load-report-modules, tramp-append-tramp-buffers):
61930         * lisp/net/tramp-compat.el (tramp-compat-funcall)
61931         (tramp-advice-file-expand-wildcards)
61932         (tramp-compat-temporary-file-directory)
61933         (tramp-compat-make-temp-file, tramp-compat-copy-file)
61934         (tramp-compat-delete-directory, )
61935         (tramp-compat-process-running-p):
61936         * lisp/net/tramp-ftp.el (tramp-methods) <ftp>:
61937         (tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
61938         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
61939         (tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
61940         (tramp-gvfs-handle-file-local-copy)
61941         (tramp-gvfs-handle-file-name-all-completions)
61942         (tramp-gvfs-handle-file-notify-add-watch)
61943         (tramp-gvfs-monitor-file-process-filter)
61944         (tramp-gvfs-handle-file-readable-p)
61945         (tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
61946         (tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
61947         (tramp-gvfs-maybe-open-connection)
61948         (tramp-gvfs-parse-device-names):
61949         * lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
61950         (tramp-gw-open-connection, tramp-gw-open-network-stream):
61951         * lisp/net/tramp-sh.el (directory-sep-char)
61952         (tramp-sh-file-name-handler-alist)
61953         (tramp-sh-handle-file-truename)
61954         (tramp-sh-handle-set-visited-file-modtime)
61955         (tramp-sh-handle-verify-visited-file-modtime)
61956         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
61957         (tramp-sh-handle-file-acl)
61958         (tramp-sh-handle-file-name-all-completions)
61959         (tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
61960         (tramp-do-copy-or-rename-file-directly)
61961         (tramp-do-copy-or-rename-file-out-of-band)
61962         (dired-compress-file-suffixes, dired-remove-file)
61963         (tramp-sh-handle-dired-compress-file)
61964         (tramp-sh-handle-insert-directory)
61965         (tramp-sh-handle-expand-file-name)
61966         (tramp-sh-handle-start-file-process)
61967         (tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
61968         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
61969         (tramp-sh-handle-file-notify-add-watch)
61970         (tramp-sh-gvfs-monitor-dir-process-filter)
61971         (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
61972         (tramp-find-executable)
61973         (tramp-open-connection-setup-interactive-shell)
61974         (tramp-find-inline-encoding, tramp-compute-multi-hops)
61975         (tramp-maybe-open-connection, tramp-convert-file-attributes)
61976         (tramp-get-remote-path, tramp-get-remote-touch):
61977         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
61978         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
61979         (tramp-smb-handle-delete-directory)
61980         (tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
61981         (tramp-smb-handle-make-directory-internal)
61982         (tramp-smb-handle-process-file, tramp-smb-handle-rename-file)
61983         (tramp-smb-handle-set-file-acl, tramp-smb-handle-set-file-modes)
61984         (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
61985         (tramp-smb-get-cifs-capabilities)
61986         (tramp-smb-maybe-open-connection):
61987         * lisp/net/trampver.el (tramp-repository-get-version):
61988         Remove XEmacs compat code.
61990         * lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
61991         (reporter-dump-variable): Declare functions.
61993         * lisp/net/tramp.el (tramp-bkup-backup-directory-info)
61994         (tramp-advice-minibuffer-electric-separator)
61995         (tramp-advice-minibuffer-electric-tilde)
61996         (tramp-handle-unhandled-file-name-directory):
61997         * lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
61998         (tramp-compat-font-lock-add-keywords)
61999         (tramp-compat-load, tramp-compat-number-sequence)
62000         (tramp-compat-split-string, tramp-compat-delete-dups):
62001         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
62002         Remove.
62004         * lisp/net/tramp-sh.el (tramp-methods) <psftp>: This does not work
62005         recursively.
62007 2016-01-14  K. Handa  <handa@gnu.org>
62009         fix previous change of src/ftfont.c (ftfont_shape_by_flt)
62011         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
62012         second glyph only when there are enough glyphs.
62014 2016-01-13  Glenn Morris  <rgm@gnu.org>
62016         * src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,
62018         or its hook, to move point.  (Bug#22348)
62020 2016-01-12  Michael Albinus  <michael.albinus@gmx.de>
62022         Merge missing commit from emacs-25 branch
62024         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
62025         New variables.
62026         (check-expensive, check-doit): New targets.
62028         * Makefile.in (check-expensive): New target.
62030         * test/lisp/autorevert-tests.el
62031         (auto-revert-test01-auto-revert-several-files):
62032         * test/lisp/filenotify-tests.el (file-notify--deftest-remote)
62033         (file-notify-test06-many-events):
62034         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
62035         (tramp-test27-start-file-process, tramp-test28-shell-command)
62036         (tramp-test29-vc-registered)
62037         (tramp-test31-special-characters-with-stat)
62038         (tramp-test31-special-characters-with-perl)
62039         (tramp-test31-special-characters-with-ls)
62040         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
62041         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
62042         (tramp-test35-unload): Tag the tests as :expensive-test.
62044 2016-01-11  John Wiegley  <johnw@newartisans.com>
62046         Merge from origin/emacs-25
62048         1f6898d test/automated/vc-hg.el: Support out-of-tree build
62049         3adb56e Minor change in tramp-tests.el
62050         2b535ba ; * etc/NEWS: Update the js.el entry.
62051         76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
62052         b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
62053         36b9539 Avoid an infloop when we run out of memory
62054         2006752 Avoid unnecessary failures of auto-saving after fatal error
62055         eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
62056         552694a Revert attempt to use 'noexcept' in typedef
62057         6ad0d39 Update documentation of 'indirect-function'
62058         c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
62059         303141a Update documentation for obsoleting 'syntax-begin-function'
62060         4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
62061         e667bbb Document new features if Eshell
62062         9c4e4e0 ; * etc/NEWS: Update EUDC entries.
62063         1089dc9 Handle too long commands in Tramp
62064         684eb58 * .gitattributes: *.cur and *.pif are binary files too.
62065         d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
62066         bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
62067         09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
62068         cca0f93 ; Account for spaces before the filename
62069         c71e1e8 Use short date for 'hg annotate', and output the author
62070         f50027b Spelling fix
62071         c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
62072         cc140bc Document user-level functions in project.el
62073         f8208b6 Document the user-level features of the Xref package
62074         b131fb8 * loading.texi: Add `define-type' entry for load-history
62075         db3c2a8 Improve doc strings and prompts in xref.el
62076         f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
62077         90fd798 Fix coding system for Tramp on OS X.
62078         e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
62079         9dfcbf0 Update 'load-history' docs
62080         207e191 Fix (error ...) error
62081         457738f Correctly analyze brace arguments in templated C++ function declarations.
62082         d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
62083         2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
62084         1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
62085         8be046f Respect fontification region calculated by major mode.  Fixes bug #22316.
62086         4b37cba Improve documentation of Delete Selection mode
62087         a034dd3 Fix two project-find-file issues
62088         30abf29 Clarify doc string of 'dired-current-directory'
62089         e990bb2 Use the face of preceding text for displaying the ellipsis
62090         5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
62091         eeb710a ; * lisp/startup.el: Sentences end with two spaces.
62092         428b3de * admin/admin.el (set-version): Also handle the NEWS file.
62093         648de81 ; Add NEWS entry for project.el
62094         671862f apropos-library: Skip obvious duplicates; don't error on generics
62095         51668a5 ; Grammar fix
62096         ed41d11 Add project-find-file and project-or-external-find-file
62097         056da45 ; Improve commentary in 'setup_for_ellipsis'
62098         269d008 ; Improve docstring for `inhibit-startup-echo-area-message'
62100 2016-01-11  John Wiegley  <johnw@newartisans.com>
62102         Merge from origin/emacs-25
62104         ce4a052 Add defvar-local to lisp-imenu-generic-expression
62105         a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
62106         76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
62107         1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
62108         b6b47af Properly encode/decode base64Binary data in SOAP
62109         c632466 Obey coding-system-for-write when writing stdout/stderr in batch
62110         2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
62111                 Update the URI of MELPA and marmalade-repo.
62112                 Reported by CHENG Goa <chenggao@royau.me> in
62113                 https://lists.gnu.org/r/emacs-devel/2016-01/msg00390.html.
62114         d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
62115         5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
62116         7380990 Remove function wrongly on AWK Mode value of context
62117         fontification hook.
62118         d400753 * src/buffer.c: Stick with ASCII in doc string.
62119         221240c Reword transient-mark-mode doc string
62120         977d3ea Update doc string of 'selective-display'
62121         229c3fa Make C++ buffers writeable when writing their initial text
62122                 properties.
62123         f5c762c Additional changes for "make check-expensive"
62124         1729cf3 ; * admin/MAINTAINERS: Remove myself.
62125         33219d3 Apply text properties for <, > in new after-change function
62126                 (C++ Java Modes).
62128 2016-01-11  John Wiegley  <johnw@newartisans.com>
62130         Merge from origin/emacs-25
62132         9fb185a shr-tag-video bug fix
62133         6300655 Minor fixes in tramp-tests.el
62134         50575b1 Ensure redisplay when 'truncate-lines' is set
62135         0d9e80d Fix a doc string of 'transient-mark-mode'
62136         0000ae5 MS-Windows followup to latest gnulib update
62137         4bc5e02 Spelling fix
62138         f1093f7 Do secure signed Bcc handling
62140 2016-01-11  John Wiegley  <johnw@newartisans.com>
62142         Merge from origin/emacs-25
62144         861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
62145         46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
62146         71ea138 * lisp/align.el (align): Simplify a lambda
62147         5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
62148         1f680db Fix compilation next-error in buffers with selective-display
62149         d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
62150         1da116f Add SHA1 warnings for high network security settings
62151         e48bacd ; * etc/NEWS: Typo fix.
62153 2016-01-11  John Wiegley  <johnw@newartisans.com>
62155         Merge from origin/emacs-25
62157         43662a2 ; Clarify that xref is still experimental
62158         0a6e6ca ; * admin/release-process: Remove some obsolete records.
62159         c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
62160         8637f3d (semantic-symref-derive-find-filepatterns): Return a list
62161         0a7ad07 ; Re-arrange xref-related entries in NEWS.
62162         fe903ef Fix xref-find-references on MS-Windows
62163         55a28d8 ; Fixed visual bell artifact problem on NextStep.
62164         d064034 Document new features of tildify-mode
62165         964bea7 Document new features of Whitespace mode
62166         cd68f47 Improve documentation of new Hide-IfDef features
62167         723b8bf Fix regression in font-locking cl-assert and cl-check-type
62169 2016-01-11  John Wiegley  <johnw@newartisans.com>
62171         Merge from origin/emacs-25
62173         ef33bc7 Spelling and grammar fixes
62174         9c3dbab Fix copyright years by hand
62175         0e96320 Update copyright year to 2016
62177 2016-01-11  John Wiegley  <johnw@newartisans.com>
62179         Merge from origin/emacs-25
62181         9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
62182         526d80c Port chart.el methods to cl-generic.
62183         410bb69 Add nt/INSTALL.W64 build instructions
62184         8f5b524 Add new input method 'programmer-dvorak'
62185         6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
62186         bb83bb1 Fix EWW rendering of long RTL lines
62187         b1a8509 fix  bug#21054
62188         ce5ad12 Clean up cairo printing code
62190 2016-01-11  John Wiegley  <johnw@newartisans.com>
62192         Merge from origin/emacs-25
62194         6ee327d Add handle_user_signal_hook
62195         47580e0 Avoid writing to purespace
62196         0588be7 Remove unused variable
62197         89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
62198         3b95e9c Use posix_openpt instead of openpty on Darwin
62199         86312ff Document support for ':documentation' in Lisp mode
62200         c930e75b Document new features of TeX mode
62201         7c83d84 Clarify docs of hscroll in RTL text
62202         4c8f8db Fix rendering of HTML pages that use character composition
62203         a8d37ca Avoid some compiler warnings in w32.c
62204         ce106f3de Undo ill-advised change
62205         be0bba4 Unbreak completion in python-mode buffers
62207 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
62209         Adding example replies to bug-triage.
62211         * admin/notes/bug-triage: Added example replies. Also, as requested,
62212           making the process notes into more of a checklist.
62214 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
62216         Rename the notes/admin/triage file to bug-triage.
62218         * CONTRIBUTE: Change reference to the triage file name.
62219         * admin/notes/triage: Rename file to admin/notes/bug-triage.
62221 2016-01-08  K. Handa  <handa@gnu.org>
62223         Fix outdated comments.
62225 2016-01-06  Glenn Morris  <rgm@gnu.org>
62227         Allow creation of loaddefs files without timestamps.
62229         * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
62230         (autoload-generate-file-autoloads, update-directory-autoloads):
62231         If autoload-timestamps is nil, write "t" instead of file timestamp.
62232         (autoload-find-destination, update-directory-autoloads):
62233         If timestamp is "t", use the modtime of the output file instead.
62235 2016-01-06  Glenn Morris  <rgm@gnu.org>
62237         Doc tweaks.
62239         * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
62240         * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
62241         (calendar-iso-from-absolute):
62242         * lisp/calendar/cal-tex.el (cal-tex-comment):
62243         * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
62245 2016-01-06  Glenn Morris  <rgm@gnu.org>
62247         Build tweaks related to tags files.
62249         * lib-src/Makefile.in (tagsfiles): New variable.
62250         (TAGS): Also depend on the source files.  Use our own etags program.
62251         * lisp/Makefile.in (ETAGS): Add EXEEXT.
62252         (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
62253         Remove.
62254         (tagsfiles): New, replacing lisptagsfiles1 etc.
62255         Remove irrelevant source files here rather than in the TAGS rule.
62256         (${ETAGS}): New rule.
62257         (TAGS): Also depend on the etags executable.
62258         * lwlib/Makefile.in (EXEEXT): New, set by configure.
62259         (ETAGS): Add EXEEXT.
62260         (${ETAGS}): New rule.
62261         (ctagsfiles): Use "wildcard".
62262         (TAGS): Also depend on the etags executable.
62263         * nt/Makefile.in (ETAGS, tagsfiles): New variables.
62264         (${ETAGS}): New rule.
62265         (TAGS): Fix dependencies.
62266         * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
62267         (ETAGS): New variable, replacing $TAGS.  Use our own etags program.
62268         Remove "-t" argument.
62269         (${ETAGS}): New rule.
62270         (tagsfiles): New variable.
62271         (TAGS): New rule, with proper dependencies.
62272         * src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
62273         (ctagsfiles1, ctagsfiles2): Use "wildcard".
62274         (ctagsfiles3): Remove.
62275         (TAGS): Depend on etags.
62276         (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
62277         directories decide if updates are needed.
62279 2016-01-06  Glenn Morris  <rgm@gnu.org>
62281         * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
62283 2016-01-06  Glenn Morris  <rgm@gnu.org>
62285         * test/lisp/emacs-lisp/package-tests.el
62287         (package-test-macro-compilation): Fixup branch merge.
62289 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
62291         Fix fallout from merging emacs-25 branch in test/
62293         * .gitignore: Update for the new place of biditest.txt.
62294         * test/automated/: Directory removed.  All files moved to their
62295         proper places.
62296         * test/etags/: Directory removed.  All files moved to their proper
62297         places.
62298         * test/automated/url-parse-tests.el: File removed; it was an exact
62299         copy of the same file in test/lisp/url/.
62300         * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
62302 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
62304         Spelling fixes
62306 2016-01-04  Daniel Colascione  <dancol@dancol.org>
62308         Let users disable unsafe signal handling code
62310         * src/keyboard.c (syms_of_keyboard): New user variables
62311         `attempt-stack-overflow-recovery' and
62312         `attempt-orderly-shutdown-on-fatal-signal'.
62313         * src/sysdep.c (stack_overflow): Check
62314         `attempt-stack-overflow-recovery'.
62315         * src/emacs.c (terminate_due_to_signal): Check
62316         `attempt-orderly-shutdown-on-fatal-signal'.
62318 2016-01-03  Michael Albinus  <michael.albinus@gmx.de>
62320         * configure.ac: Add error message for gfile on Nextstep.
62322 2016-01-02  John Wiegley  <johnw@newartisans.com>
62324         Merge branch 'emacs-25-merge'
62326 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
62328         Align textually on fix done for emacs-25 branch for bug#21054
62330         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
62331         and useless `(if t ...)' in order to align textually on fix done for
62332         emacs-25 branch for bug#21054.
62334 2016-01-01  K. Handa  <handa@gnu.org>
62336         support rendering of wider range of combinging characters by ftfont backend
62338         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
62339         supports rendering of combining characters, call
62340         font-shape-gstring.
62342         * src/font.c (Ffont_get): Handle `combining-capability' property.
62343         (syms_of_font): New symbol ":combining-capability'.
62345         * src/font.h (struct font_driver): New member combining_capability.
62347         * src/ftfont.c: Include "category.h".
62348         (ftfont_driver): Initialize combining_capability to
62349         ftfont_combining_capability.
62350         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
62351         FLT in advance.
62352         (ftfont_combining_capability): New function.
62354 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
62356         Add notes on bug triage procedure
62358         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
62359         * admin/notes/triage: New file explaining triage procedure.
62361 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
62363         Correct ses-rename-cell cursor-intangible text prop updating.
62365         There were two problems:
62367         - First ses-rename-cell has to work when called non interactively
62368           (with non-nil CELL argument), so in this case the start pos of
62369           put-text-property cannot be plainly (point), you need a
62370           ses-goto-print call before
62372         - Second, the range itself was computed erronously, only the first
62373           char was affected instead of the full cell width. This was not
62374           noticeable prior to changes (Deprecate `intangible' and
62375           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
62377         * lisp/ses.el (ses-rename-cell): Correct computation of position range
62378         to which the 'cursor-intangible text property has to be set to cell
62379         new name.
62381 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
62383         Don't fake empty cells value by "" when printing with a lambda.
62385         When using a lambda expression printer function the user should be
62386         free to format differently a really empty cell, ie. containing nil,
62387         from a cell containing an empty string "".
62389         * lisp/ses.el (ses-call-printer): Replace `(or value "")' by just
62390         `value' in the case of a lambda expression printer function.
62392         * doc/misc/ses.texi (Printer functions): Add example and
62393         description about lambda expression printer function handling all
62394         the possible values, including unexpected ones.
62396 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
62398         Quick temporary hack to fix curcell refreshing.
62400         The problem was caused by change: 2015-04-13 Deprecate `intangible'
62401         and `point-entered' properties. The problem is that this change has
62402         removed the (setq ses--curcell t) setting in the ses-command-hook
62403         function.
62405         * lisp/ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
62406         a condition to call function `ses-set-curcell'. Comment this as a quick
62407         temporary hack to make it work, as I don't know yet whether a definite
62408         correction would be to make the ses-set-curcell at every ses-check-curcell,
62409         or to revert to the previous approach, ie marking ses--curcell as out-of-date
62410         at every potentially cursor motion command.
62412 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
62414         Restrictive URL checking tweaks
62416         * lisp/net/eww.el (eww): Check whether the domain is
62417         restrictive instead of the string
62418         (http://македонија.icom.museum is restrictive even if each
62419         part is from a different script).
62421 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
62423         New function `puny-highly-restrictive-domain-p'
62425         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
62426         (puny-highly-restrictive-domain-p): New function.
62428 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
62430         eww build fix (require puny)
62432 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
62434         Transform non-restrictive domains to punycode for display
62436         * lisp/net/eww.el (eww): Check whether the domain is Highly
62437         Restrictive in the Unicode IDNA sense.
62439 2015-12-29  John Wiegley  <johnw@newartisans.com>
62441         Merge emacs-25 into master (using imerge)
62443 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
62445         Further Unicode restrictive fixups
62447         * lisp/net/puny.el (puny-highly-restrictive-p): Include the extra
62448         identifier characters from table 3.
62450 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
62452         Add a new function to say whether a string is restrictive
62454         * lisp/net/puny.el (puny-highly-restrictive-p): New function.
62456 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
62458         Mention the new puny.el library
62460 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
62462         IDNA-related fixes for the URL library
62464         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
62465         the Host: header.
62467         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
62468         domain names, but leave them as UTF-8, so that they can be
62469         IDNA-encoded later when contacting the host.
62471 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
62473         IDNA-encode all domain names in `open-network-stream'
62475         * lisp/net/network-stream.el (open-network-stream)
62476         (network-stream-open-plain, network-stream-open-starttls):
62477         IDNA-encode all domain names, if needed.
62479 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
62481         Fix puny-encoding all-non-ASCII domains
62483         * lisp/net/puny.el (puny-encode-string): Fix the all-non-ASCII
62484         encoding case.
62486 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
62488         shr link traversal fixup
62490         * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
62492 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
62494         Reconnect erc even on server errors
62496         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
62497         reconnect even if a server error has occurred (bug#18527).
62499 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
62501         Fix punycode short circuit logic
62503         * lisp/net//puny.el (puny-encode-domain): Fix short-circuit logic.
62505 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
62507         IDNA speed up
62509         * lisp/net/puny.el (puny-encode-domain): Make the common non-IDNA case faster
62511 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
62513         Add IDNA domain encode/decode functions
62515         * lisp/net/puny.el (puny-decode-domain): New function.
62516         (puny-encode-domain): Ditto.
62517         (puny-decode-digit): Fix digit decoding error.
62519 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
62521         Rename idna.el to puny.el
62523         * lisp/net/puny.el: Renamed from idna.el to avoid name collisions with
62524         the external idna.el library.
62526 2015-12-27  Katsumi Yamaoka  <yamaoka@jpl.org>
62528         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
62530         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
62531         Don't use split-string with 4th arg for old Emacsen compatibility.
62533 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
62535         * lisp/net/idna.el (idna-decode-string-internal): Implement
62536         decoding.
62538 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
62540         Further IDNA tweaks
62542         (idna-encode-string): Make idna-encode-string safe for
62543         non-ASCII use.
62545 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
62547         Clean up the code slightly
62549 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
62551         Added basic idna encoding support
62553         * lisp/net/idna.el: New file.
62555 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
62557         Disconnection fixes for erc
62559         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
62560         reconnect if the user has disconnected explicitly (bug#4589).
62562 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
62564         Further erc asynch fixes
62566         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
62567         erc-server-connect to return even if the connection is not
62568         ready.  Then erc-open and erc-server-reconnect do the
62569         same. (bug#5650).
62571 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
62573         Make erc connect asynchronously
62575         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
62576         reconnect asynchronously.
62578         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
62580 2015-12-27  David Edmondson  <dme@dme.org>
62582         Proxy error in erc with multiple clients
62584         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
62585         generated when multiple IRC clients talk to a single IRC proxy
62586         (bug#19034).
62588 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
62590         Fix mml-sec build warnings
62592         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
62593         (bug#18718).
62595 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
62597         (eww-setup-buffer): Restore left-to-right defaults
62599         * eww.el (eww-setup-buffer): Restore left-to-right defaults.
62601 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
62603         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
62605 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
62607         Identify unsafe combinations of Bcc and encryption
62609         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
62610         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
62611         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
62613 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
62615         * shr.el (shr-descend): Allow using lambdas in external functions.
62617 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
62619         * admin/gitmerge.el: Tweaks that seemed necessary
62621         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
62622         (gitmerge-maybe-resume): Provide explicit empty commit message.
62624 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
62626         Use a different port for TLS erc
62628         * lisp/erc/erc.el (erc-default-port-tls): New variable
62629         (bug#19497).
62630         * lisp/erc/erc.el (erc-tls): Use it.
62632 2015-12-25  Alain Schneble  <a.s@realize.ch>
62634         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
62636         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
62637         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
62638         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
62639         information in URL-struct.
62640         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
62641         path and query into nil path and query, respectively.
62642         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
62643         empty path into an absolute ("/") path.
62644         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
62645         fragment-only URIs. Do not just return them unchanged.
62646         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
62647         reference URI should not drop the last segment.
62649 2015-12-25  Alain Schneble  <a.s@realize.ch>
62651         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
62653         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
62654         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
62655         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
62656         information in URL-struct.
62657         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
62658         path and query into nil path and query, respectively.
62659         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
62660         empty path into an absolute ("/") path.
62661         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
62662         fragment-only URIs. Do not just return them unchanged.
62663         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
62664         reference URI should not drop the last segment.
62666 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
62668         Let url use default file modes when copying files
62670         * lisp/url/url-handlers.el (url-copy-file): Use default file
62671         modes when copying files (bug#11400).
62673 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
62675         Doc fix for url-http
62677         * lisp/url/url-http.el (url-http): Document better return values
62678           (bug#13187) (tiny change)
62680 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
62682         * eww.el (eww-display-html): Support <button> tags (bug#20485).
62684 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
62686         Made ffap-url-p a defun instead of a defsubst
62688         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
62689         since there doesn't seem to be much of a reason for it to be a
62690         defsubst (bug#18203).
62692 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
62694         Add a command to view files in the browser to dired
62696         * lisp/dired.el (dired-mode-map): Add the `W' command
62697         (bug#18810).
62699 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
62701         Allow http://user:pass@foo/ URLs again
62703         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
62704         user/passwords in URLs (bug#19046).
62706 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
62708         * eww.el (eww-mode-map): Fix command name of eww-toggle-colors.
62710 2015-12-25  Samer Masterson  <samer@samertm.com>
62712         Autoload url-insert-buffer-contents
62714         * lisp/url/url-handlers.el: Add autoload cookie so that
62715         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
62717 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
62719         Allow toggling colors in eww
62721         * doc/misc/eww.texi (Basics): Mention "C".
62723         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
62725         * lisp/net/shr.el (shr-use-colors): New variable.
62726         (shr-colorize-region): Use it.
62728 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
62730         Follow meta refresh tags in eww
62732         * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
62734 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
62736         More eww file name coding fixes
62738         * eww.el (eww-decode-url-file-name): Use the base coding
62739         system to check for encodability.
62741 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
62743         Always save eww history
62745         * eww.el (eww-setup-buffer): Always save history, even when
62746         called from outside the eww buffer (bug#19638).
62748 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
62750         Default web pages to right-to-left
62752         * eww.el (eww-mode): Most web pages are left-to-right, so make
62753         that the default (bug#19801).
62755         * shr.el (shr-tag-html): Respect "dir" attributes
62756         (left-to-right, right-to-left).
62758 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
62760         Make toggling checkboxes work again
62762         * eww.el (eww-update-field): Make toggling checkboxes work
62763         again (bug#21881).
62765 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
62767         Don't store cookies with empty names
62769         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
62770         cookies with empty names (bug#21936).
62772 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
62774         Stop rendering HTML before specdlr exhaustion
62776         Fixes: 22117
62778         * shr.el (shr-descend): Stop rendering before we run out of
62779         specpdl room (bug#22117).
62781 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
62783         Use cl-reduce, not reduce.
62785 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
62787         Allow several <tbody> tags in shr
62789         * shr.el (shr-table-body): New function to find the real body
62790         of a table.
62791         (shr-tag-table): Use it to render several <tbody> tags in a
62792         table (bug#22170).
62794 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
62796         Make prettier unique file names in eww
62798         (eww-make-unique-file-name): Make unique file names by making
62799         files like foo(2).jpg instead of foo(1)(2).jpg.
62801 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
62803         Decode hex-encoded URLs before using them as file names
62805         * eww.el (eww-decode-url-file-name): New function.
62806         (eww-download-callback): Use it to decode file names before
62807         saving them.
62809 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>
62811         Add FreeBSD cert bundle
62813         * doc/misc/emacs-gnutls.texi (Help For Users): Document
62814         FreeBSD bundle.
62816         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
62818 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
62820         Allow overriding shr functions from eww
62822         * eww.el (eww-display-html): Allow overriding elements in
62823         `shr-external-rendering-functions'.
62825 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
62827         Ignore invalid SVG images
62829         * shr.el (shr-tag-svg): Ignore SVG images that have no width
62830         or height, because these can't be displayed by ImageMagick,
62831         anyway.
62833 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
62835         shr table rendering fix
62837         * shr.el (shr-tag-table): Allow rendering body-less tables
62838         that have headers.
62840 2015-12-22  Sam Steingold  <sds@gnu.org>
62842         clipboard should still work even if interprogram-* is disabled
62844         (clipboard-yank): When `interprogram-cut-function' is nil,
62845         bind it to `gui-selection-value' - the default value.
62846         (clipboard-kill-region, clipboard-kill-ring-save): When
62847         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
62848         the default value.
62850 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
62852         Fix bootstrap issue with dired-loaddefs
62854         * lisp/dired.el: Autoloads for secondary files loaded optionally.
62856 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
62858         dired generate autoloads to non-versioned file.
62860         * lisp/dired.el: Remove autoloads.
62861         * lisp/Makefile.in: Add dired to autogenel.
62862         * lisp/dired-aux.el, lisp/dired-x.el: Update file local.
62863         * test/lisp/dired-tests.el: Add new test.
62865 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
62867         eieio generate autoloads to non-versioned file.
62869         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
62870         * lisp/emacs-lisp/eieio.el, lisp/emacs-lisp/eieio-core.el:
62871           Remove autoloads.
62872         * lisp/emacs-lisp/eieio-compat.el, lisp/emacs-lisp/eieio-custom.el,
62873           lisp/emacs-lisp/eieio-opt.el: Update file local.
62874         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
62876 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
62878         htmlfontify generate autoload to non-versioned file.
62880         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
62881         * lisp/hfy-cmap.el: Update file local.
62882         * lisp/htmlfontify.el: Remove autoloads, add require.
62883         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
62885 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
62887         ibuffer generate autoloads to non-versioned file.
62889         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
62890         * lisp/ibuf-ext.el: Update file local.
62891         * lisp/ibuffer.el: Remove autoloads and add a require.
62892         * test/lisp/ibuffer-tests.el: Test that autoload is working.
62894 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
62896         rmail generate autoloads to non-versioned file.
62898         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
62899         * lisp/mail/rmail.el: Remove autoloads, add require.
62900         * lisp/mail/rmailedit.el, lisp/mail/rmailkwd.el:
62901         * lisp/mail/rmailmm.el, lisp/mail/rmailmsc.el:
62902         * lisp/mail/rmailsort.el, lisp/mail/rmailsum.el:
62903         * lisp/mail/undigest.el: Update file-local.
62904         * test/lisp/mail/rmail-tests.el:
62906 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
62908         Add autoload-force target.
62910         * lisp/Makefile.in (autoload-force): New target.
62912 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
62914         ps-print generate autoloads to non versioned file.
62916         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
62917         * lisp/ps-print.el: Remove autoloads.
62918         * lisp/ps-mule.el: Update file-local.
62919         * test/lisp/ps-print-tests.el: Test autoload functionality.
62921 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
62923         reftex generate autoloads to non versioned file.
62925         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
62926         * lisp/textmodes/reftex.el: Remove autoloads.
62927         * lisp/textmodes/reftex-auc.el, lisp/textmodes/reftex-cite.el:
62928         * lisp/textmodes/reftex-dcr.el, lisp/textmodes/reftex-global.el:
62929         * lisp/textmodes/reftex-index.el, lisp/textmodes/reftex-parse.el:
62930         * lisp/textmodes/reftex-ref.el, lisp/textmodes/reftex-sel.el:
62931         * lisp/textmodes/reftex-toc.el: Update autoload file-local.
62932         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
62933           function.
62935 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
62937         * lisp/calculator.el (calculator-define-key): Undo last change
62939         Make map argument mandatory instead (bug#22106).
62940         (calculator-add-operators): Pass the argument that's not optional any more.
62942 2015-12-03  Glenn Morris  <rgm@gnu.org>
62944         * Makefile.in: Avoid duplication.
62946         (have-tests): New rule.
62947         (check, check-maybe): Use it.
62949 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
62951         make check unconditional, check-maybe top-level.
62953          * Makefile.in: Add check-maybe target.
62954          * test/Makefile.in: Restore unconditional behavior to make check.
62956 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
62958         Tests now support out-of-source-build.
62960          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
62961            about current working directory.
62963 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
62965         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
62967 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
62969         Improve documentation and clean up.
62971          * test/Makefile.in: Improve documentation, use EMACS variable
62972            correctly, and clean up makefile rules.
62974 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
62976         Update file headers for name change.
62978          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
62980 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
62982         Test files renamed to new scheme.
62984          * (finalizer-tests.el): Now renamed alloc-tests.el
62985          * (zlib-tests.el): Now renamed decompress-tests.el.
62987 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
62989         Tests now depend on source files
62991          * test/Makefile.in: Include dependences from tests to source files.
62992          * test/make-test-deps.emacs-lisp: New file
62993          * .gitignore: Ignore generated make include file
62995 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
62997         * lisp/progmodes/which-func.el: Improve disabling the mode
62999         Use lexical-binding.
63000         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
63001         (which-func, which-func-format): Remove redundant :group arg.
63002         (which-func-try-to-enable): New function.
63003         (which-func-ff-hook, which-function-mode): Use it.
63004         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
63005         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
63007 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
63009         * lisp/calculator.el (calculator-define-key): Silence warning
63011         ...about unknown calculator-mode-map.
63013 2015-11-29  Eli Barzilay  <eli@barzilay.org>
63015         * lisp/calculator.el: more improvements and bugfixes.
63017         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
63018           effect anyway.)
63020         - Simplify `calculator-number-to-string' by throwing most of the work
63021           onto `number-to-string', leaving just some tweaks for decimal inputs.
63022           This leads to some minor changes, for example, pasting "1x1" in hex
63023           mode would warn that "x" is ignored and result in "11" (and it wasn't
63024           done in decimal mode), whereas now it just ignores everything from the
63025           "x" and on and result in a "1" just like in decimal input mode.  Also,
63026           overflows are left for `number-to-string' to deal with.
63028         - `calculator-paste' is very simple as a result.
63030         - Extend the simplified `calculator-paste': with a prefix argument it
63031           pastes a string as if the characters were entered.  This can be used
63032           to reduce expressions, but note that it's a simple literal operation,
63033           so precedence can be messed, a number can be paster while entering a
63034           number, spaces and newlines matter, etc.
63036         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
63037           operator.
63039         - Fix a bug in `calculator-put-value': avoid grouping in the display
63040           that is used to construct `calculator-curnum'.  This would trigger
63041           when pasting or getting a value from a register in some radix mode
63042           with a large enough value.  Another fix: make the output radix equal
63043           the input one, otherwise numbers could be converted twice.
63045 2015-11-29  Eli Barzilay  <eli@barzilay.org>
63047         * lisp/calculator.el: Re-do key bindings.
63049         Use a helper function that arranges a parent keymap that binds alternate
63050         case keys so if some letter key is unbound and it's un/shifted version
63051         is, it will get used.  This makes the global-map trickery unnecessary.
63053         Also switch to passing strings that name keys through `kbd'.
63055 2015-11-29  Eli Barzilay  <eli@barzilay.org>
63057         * lisp/calculator.el: improve radix modes
63059         Fix prompt for some input radix with decimal output (eg, "BD" instead of
63060         the incorrect "B="); also, some minor docstring tweaks for these.
63062 2015-11-29  Eli Barzilay  <eli@barzilay.org>
63064         * lisp/calculator.el: better reading of register names
63066         Use `register-read-with-preview' with a dynamically bound
63067         `register-alist' and a proper preview function to read register names.
63069 2015-11-29  Eli Barzilay  <eli@barzilay.org>
63071         * lisp/calculator.el: General improvements
63073         Use things like `when', `unless', and `push'.
63075         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
63076         non-electric mode.
63078 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
63080         Fix a problem with gfilenotify in filenotify-tests.el
63082         * test/lisp/filenotify-tests.el
63083         (file-notify--test-expected-events): Remove.
63084         (file-notify--test-cleanup): Do not set that variable.
63085         (file-notify--test-with-events): EVENTS can also be a list of lists.
63086         (file-notify-test02-events, file-notify-test04-file-validity):
63087         Adapt expected result.
63089 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
63091         * .gitignore: Adjust to changes in 'test' directory structure.
63093 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
63095         Fix test/manual/etags/Makefile
63097         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
63098         changes in 'test' directory structure.
63100 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
63102         Exclude resource dirs from search for tests.
63104         * test/Makefile.in: Test file locations are now found with find
63105           rather than using finds native functions.
63107 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
63109         Add test targets without directory names.
63111          * (test/Makefile.in): Extend test_template to add two targets for each
63112            file.
63114 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
63116         * lisp/emacs-lisp/package.el: Require url-handlers
63118 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
63120         Move elisp-mode-tests to new function names.
63122          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
63123          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
63125 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
63127         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
63129 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
63131         Merge branch 'feature/standard-test-location'
63133 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
63135         * lisp/emacs-lisp/eieio.el: Add some default implementations
63137         (standard-class): Mark it obsolete.
63138         (slot-missing): Give it a default implementation.
63139         (destructor): Simplify and mark it obsolete.
63140         (object-print): Give it a default implementation.
63141         (eieio-change-class): Rename from change-class.
63142         (change-class): Redefine as obsolete alias.
63144 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
63146         Mention kqueue in NEWS
63148 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
63150         Merge from scratch/kqueue
63152         bec57a4 Some final fixes in file notification before merging with master
63153         0247489 Rework file notifications, kqueue has problems with directory monitors
63154         5154781 Continie with pending events
63155         6b490c0 Improve loops in file-notify-test06-many-events
63156         c8e266f Handle more complex rename operation in kqueue
63157         5044bdf New test with a larger number of events.
63158         65ba5a9 Further fixes for kqueue.
63159         13f3508 Code cleanup of kqueue.c
63160         99aa855 Doc changes for kqueue
63161         8deebe1 Finish implementation in kqueue.c
63162         90d6c69 * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
63163         e95b309 More work on kqueue
63164         41d9bd0 Implement directory events
63165         c571fc1 Build fixes for kqueue support.
63166         e0a68f2 Continue kqueue implementation
63167         7543d1c Work on kqueue
63168         e3354e2 Add kqueue support
63169         c6457ce Minor fix to comment indentation and typo in last commit
63170         b92307f linum-mode plays more nicely with other margin-setting extensions
63171         58e6235 * lisp/image-mode.el: Support encrypted file
63172         9375652 * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
63173         47f83b6 ; ChangeLog.2 fixes
63174         7cc233e * lisp/emacs-lisp/package.el: Fix a decoding issue
63175         5f9153f * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
63176         353f5e7 * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
63177         70f1fda ; Auto-commit of ChangeLog files.
63178         ae0653b * CONTRIBUTE: Remove information about feature freeze.
63179         9459456 Merge branch 'release-process-lowercase'
63180         9a4aa0f Document the release process
63181         f8cc14b * admin/release-process: Rename from admin/FOR-RELEASE.
63182         dcd5877 gitmerge: Fix git log command
63183         2ac79ae gitmerge: Try to detect cherry-picks
63184         5f7a2a9 Increment Emacs version on master branch
63185         ed2e7e2 Mention CONTRIBUTE in README
63186         9e00a02 Update verilog-mode.el to 2015-11-09-b121d60-vpo.
63187         138ad3d ; Fix warnings
63188         7126e9a ; Update xref-etags-mode for the latest change
63189         246d660 Use generic dispatch for xref backends
63190         31f6e93 Support rectangular regions for more commands
63191         f103a27 Handle multiple matches on the same line; add highlighting
63192         fe973fc Replace xref-match-bounds with xref-match-length
63193         92a5010 Merge from gnulib
63194         04ac097 Spruce up ftfont.c memory allocation
63195         4c4b520 Port recent XCB changes to 64-bit ‘long int’
63196         4f0ce9c * src/undo.c (run_undoable_change): Now static.
63197         695a6f9 Remove support for ':timeout' from w32 tray notifications
63198         a731c2f * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
63199         2b4c0c0 * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
63200         66b9f7b * src/undo.c: Small fixes for previous change
63201         2fac30e Add a few more variables to redisplay--variables
63202         04f69f1 * lisp/loadup.el: Enlarge the size of the hash table to 80000.
63203         e221d32 Fix point positioning after transposing with negative arg
63204         35f5afb Fix last change in shr.el
63205         508e77b Fix last change
63206         d60ed3f Another fix for MinGW64 and Cygwin builds due to notifications
63207         805a39b Remove intern calls and XXX comments from Fx_export_frames
63208         9463abf shr: don't invoke unbound function (Bug#21895)
63209         6e5186e * test/automated/keymaps-test.el: Fix test to make it repeatable
63210         0c92826 * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
63211         39dbd1c : Tests for undo-auto functionality.
63212         20aa42e ; Merge branch 'fix/no-undo-boundary-on-secondary-buffer-change'
63213         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'.
63214         d2f73db Bind [?\S-\ ] to previous line command in Dired-like modes.
63215         c1bc6e5 Fix the MinGW64 and Cygwin-w32 builds
63216         1e363a8 Enable sorting of JSON object keys when encoding
63217         9dd7da9 * test/automated/keymap-tests.el: New test file
63218         aa17de9 Speed up x_real_pos_and_offsets using XCB
63219         a838c83 Enable use of XCB for checking window manager state
63220         c7f2b6a Detect XCB and save a connection handle
63221         e1c27db Reduce some data dependencies between X calls
63222         25e32bd Use color cache for creating bitmap
63223         851be0f Add "^" to the interactive specs of `dired-next/previous-line'
63224         055ca3a Sync with soap-client repository, version 3.0.2
63225         e0f64e7 CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
63226         952395d * lisp/obarray.el: Fix shadowed variables
63227         436d330 Avoid error in submitting a form with EWW
63228         e887f6e ; * doc/lispref/os.texi: Fix indentation of sample code.
63229         51d840a Rename seq-p and map-p to seqp and mapp
63230         23036ba Rename obarray-p to obarrayp
63231         20aea42 Rename obarray-foreach to obarray-map
63232         a3b2101 New file with obarray functions.
63233         9d43941 Implement tray notifications for MS-Windows
63235 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
63237         Some final fixes in file notification before merging with master
63239         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
63240         (file-notify-callback): Improve check for `stopped' event.  Call
63241         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
63242         (file-notify-add-watch): In case FILE is not a directory, call the
63243         file monitor for the kqueue backend.  Otherwise, call the
63244         directory monitor for the upper directory.
63246         * src/inotify.c (inotifyevent_to_event): Extract file name from
63247         watch_object if the event doesn't provide it.
63248         (Finotify_add_watch): Add file name to watch_object.
63250         * test/automated/file-notify-tests.el (file-notify--test-timeout):
63251         Use different timeouts for different libraries.
63252         (file-notify--test-with-events): Suppress lock files.  Flush
63253         outstanding events before running the body.
63254         (file-notify-test02-events, file-notify-test04-file-validity): Do
63255         not skip cygwin tests.  Add additional test for file creation.
63256         Adapt expected result for different backends.
63257         (file-notify-test03-autorevert): Some of the tests don't work for
63258         w32notify.
63259         (file-notify-test06-many-events): Rename into both directions.
63261 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
63263         Rework file notifications, kqueue has problems with directory monitors
63265         * lisp/filenotify.el (file-notify-add-watch): Call the native
63266         add-watch function on the file, not on the dir.
63268         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
63269         about already deleted entries.
63271         * test/automated/auto-revert-tests.el
63272         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
63273         since this deletes the target file first.
63275         * test/automated/file-notify-tests.el (file-notify--test-event-test):
63276         Make stronger checks.
63277         (file-notify-test01-add-watch, file-notify-test02-events)
63278         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
63279         Rewrite in order to call file monitors but directory monitors.
63280         (file-notify-test06-many-events): Ler rename work in both directions.
63282 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
63284         Continie with pending events
63286         * src/kqueue.c (pending_events): Remove global variable.
63287         (kqueue_compare_dir_list): Create `write' event for not used
63288         pending events.
63289         (globals_of_kqueue): Remove initialization of pending_events.
63291 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
63293         Improve loops in file-notify-test06-many-events
63295         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
63296         Use `read-event' pauses for the `write-file' loops; otherwise
63297         events are lost in inotify and gfilenotify cases.
63299 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
63301         Handle more complex rename operation in kqueue
63303         * src/kqueue.c (pending_events): New variable.
63304         (kqueue_compare_dir_list): Handle more complex rename operation.
63305         (globals_of_kqueue): Initialize pending_events.
63307         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
63308         Adapt expected events in the `rename-file' case.
63309         (file-notify-test06-many-events-remote): Declare.
63311 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
63313         New test with a larger number of events.
63315         * test/automated/file-notify-tests.el (file-notify--test-with-events):
63316         Make timeout heuristically depend on the number of events.
63318         (file-notify-test06-many-events): Use it for new test.
63320 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
63322         Further fixes for kqueue.
63324         * lisp/filenotify.el (file-notify-callback): Raise also event if
63325         directory name matches.
63326         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
63328         * src/kqueue.c (kqueue_generate_event): Use watch_object as
63329         argument instead of ident.  Remove callback argument.  Adapt
63330         callees.  Check actions whether they are monitored flags.
63332         * test/automated/file-notify-tests.el (file-notify--test-library):
63333         New defun.
63334         (file-notify-test00-availability, file-notify-test02-events)
63335         (file-notify-test04-file-validity)
63336         (file-notify-test05-dir-validity): Use it.
63337         (file-notify-test02-events, file-notify-test04-file-validity): Add
63338         `read-event' calls between different file actions, in order to
63339         give the backends a chance to rais an event.  Needed especially
63340         for kqueue.  In case of deleting a directory, there are two
63341         `deleted' events.
63343 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
63345         Code cleanup of kqueue.c
63347         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
63348         (kqueue_compare_dir_list): Do not loop when calling
63349         directory_files_internal.  Remove checks for "." and "..", this is
63350         done in kqueue_directory_listing now.
63351         (Fkqueue_add_watch): Check for proper emacs_open flags.
63353 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
63355         Doc changes for kqueue
63357         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
63358         Fix some glitches in the example.
63360 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
63362         Finish implementation in kqueue.c
63364         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
63365         Simplify access to list.
63366         (kqueue_compare_dir_list): Simplify access to list.  Raise
63367         `delete' event if directory does not exist any longer.  Otherwise,
63368         wait until directory contents has changed.  Fix error in check.
63370 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
63372         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
63374 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
63376         More work on kqueue
63378         * lisp/filenotify.el (file-notify-callback): Handle also the
63379         `rename' event from kqueue.
63380         (file-notify-add-watch): Do not register an entry twice.
63382         * src/kqueue.c (kqueue_directory_listing): New function.
63383         (kqueue_generate_event): New argument FILE1.  Adapt callees.
63384         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
63386 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
63388         Implement directory events
63390         * lisp/filenotify.el (file-notify-handle-event)
63391         (file-notify-callback): Remove traces.
63393         * src/kqueue.c: Include <sys/time.h>.
63394         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
63395         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
63396         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
63397         Compute initial directory listing.  Close file descriptor in case
63398         of errors.
63399         (syms_of_kqueue): Declare Qcreate.
63401 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
63403         Build fixes for kqueue support.
63405         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
63406         flag.
63408         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
63409         kqueue on *BSD.
63411 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
63413         Continue kqueue implementation
63415         * lisp/filenotify.el (file-notify-handle-event)
63416         (file-notify-callback): Enable trace messages.
63418         * src/kqueue.c: Include also <sys/types.h>.
63419         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
63420         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
63421         (syms_of_kqueue): Add them.
63423 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
63425         Work on kqueue
63427         * lisp/filenotify.el (file-notify--library)
63428         (file-notify-descriptors, file-notify-callback)
63429         (file-notify-add-watch, file-notify-rm-watch)
63430         (file-notify-valid-p): Add kqueue support.
63432         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
63434 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
63436         Add kqueue support
63438         * configure.ac (--with-file-notification): Add kqueue.
63439         (top): Remove special test for "${HAVE_NS}" and
63440         ${with_file_notification}, this is handled inside gfilenotify
63441         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
63442         instead of library specific variables.
63444         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
63446         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
63448         * src/kqueue.c: New file.
63450         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
63452 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
63454         Some final fixes in file notification before merging with master
63456         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
63457         (file-notify-callback): Improve check for `stopped' event.  Call
63458         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
63459         (file-notify-add-watch): In case FILE is not a directory, call the
63460         file monitor for the kqueue backend.  Otherwise, call the
63461         directory monitor for the upper directory.
63463         * src/inotify.c (inotifyevent_to_event): Extract file name from
63464         watch_object if the event doesn't provide it.
63465         (Finotify_add_watch): Add file name to watch_object.
63467         * test/automated/file-notify-tests.el (file-notify--test-timeout):
63468         Use different timeouts for different libraries.
63469         (file-notify--test-with-events): Suppress lock files.  Flush
63470         outstanding events before running the body.
63471         (file-notify-test02-events, file-notify-test04-file-validity): Do
63472         not skip cygwin tests.  Add additional test for file creation.
63473         Adapt expected result for different backends.
63474         (file-notify-test03-autorevert): Some of the tests don't work for
63475         w32notify.
63476         (file-notify-test06-many-events): Rename into both directions.
63478 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
63480         Update elisp-mode-tests for changed file location.
63482          * test/lisp/progmodes/elisp-mode-tests.el:
63484 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
63486         Exclude manual tests from Makefile
63488          * test/Makefile.in:
63490 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
63492         Move package test files to new directory.
63494          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
63495          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
63497 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
63499         Restore delete Makefiles and fix .gitignore.
63501          * .gitignore: Update Makefiles to changed locations
63502          * test/lisp/progmodes/flymake-resources/Makefile,
63503            test/manual/etags/Makefile,
63504            test/manual/etags/make-src/Makefile,
63505            test/manual/indent/Makefile: Restored and moved to new location.
63507 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
63509         Test infrastructure: updates after directory move
63511          * (test/Makefile.in): Support directories several levels deep.
63512          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
63513          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
63515 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
63517         Rename all test files to reflect source layout.
63519         * CONTRIBUTE, Makefile.in, configure.ac: Update to reflect
63520         test directory moves.
63521         * test/file-organisation.org: New file.
63522         * test/automated/Makefile.in:
63523         * test/automated/data/decompress/foo.gz:
63524         * test/automated/data/epg/pubkey.asc:
63525         * test/automated/data/epg/seckey.asc:
63526         * test/automated/data/files-bug18141.el.gz:
63527         * test/automated/data/flymake/test.c:
63528         * test/automated/data/flymake/test.pl:
63529         * test/automated/data/package/archive-contents:
63530         * test/automated/data/package/key.pub:
63531         * test/automated/data/package/key.sec:
63532         * test/automated/data/package/multi-file-0.2.3.tar:
63533         * test/automated/data/package/multi-file-readme.txt:
63534         * test/automated/data/package/newer-versions/archive-contents:
63535         * test/automated/data/package/newer-versions/new-pkg-1.0.el:
63536         * test/automated/data/package/newer-versions/simple-single-1.4.el:
63537         * test/automated/data/package/package-test-server.py:
63538         * test/automated/data/package/signed/archive-contents:
63539         * test/automated/data/package/signed/archive-contents.sig:
63540         * test/automated/data/package/signed/signed-bad-1.0.el:
63541         * test/automated/data/package/signed/signed-bad-1.0.el.sig:
63542         * test/automated/data/package/signed/signed-good-1.0.el:
63543         * test/automated/data/package/signed/signed-good-1.0.el.sig:
63544         * test/automated/data/package/simple-depend-1.0.el:
63545         * test/automated/data/package/simple-single-1.3.el:
63546         * test/automated/data/package/simple-single-readme.txt:
63547         * test/automated/data/package/simple-two-depend-1.1.el:
63548         * test/automated/abbrev-tests.el:
63549         * test/automated/auto-revert-tests.el:
63550         * test/automated/calc-tests.el:
63551         * test/automated/icalendar-tests.el:
63552         * test/automated/character-fold-tests.el:
63553         * test/automated/comint-testsuite.el:
63554         * test/automated/descr-text-test.el:
63555         * test/automated/electric-tests.el:
63556         * test/automated/cl-generic-tests.el:
63557         * test/automated/cl-lib-tests.el:
63558         * test/automated/eieio-test-methodinvoke.el:
63559         * test/automated/eieio-test-persist.el:
63560         * test/automated/eieio-tests.el:
63561         * test/automated/ert-tests.el:
63562         * test/automated/ert-x-tests.el:
63563         * test/automated/generator-tests.el:
63564         * test/automated/let-alist.el:
63565         * test/automated/map-tests.el:
63566         * test/automated/advice-tests.el:
63567         * test/automated/package-test.el:
63568         * test/automated/pcase-tests.el:
63569         * test/automated/regexp-tests.el:
63570         * test/automated/seq-tests.el:
63571         * test/automated/subr-x-tests.el:
63572         * test/automated/tabulated-list-test.el:
63573         * test/automated/thunk-tests.el:
63574         * test/automated/timer-tests.el:
63575         * test/automated/epg-tests.el:
63576         * test/automated/eshell.el:
63577         * test/automated/faces-tests.el:
63578         * test/automated/file-notify-tests.el:
63579         * test/automated/auth-source-tests.el:
63580         * test/automated/gnus-tests.el:
63581         * test/automated/message-mode-tests.el:
63582         * test/automated/help-fns.el:
63583         * test/automated/imenu-test.el:
63584         * test/automated/info-xref.el:
63585         * test/automated/mule-util.el:
63586         * test/automated/isearch-tests.el:
63587         * test/automated/json-tests.el:
63588         * test/automated/bytecomp-tests.el:
63589         * test/automated/coding-tests.el:
63590         * test/automated/core-elisp-tests.el:
63591         * test/automated/decoder-tests.el:
63592         * test/automated/files.el:
63593         * test/automated/font-parse-tests.el:
63594         * test/automated/lexbind-tests.el:
63595         * test/automated/occur-tests.el:
63596         * test/automated/process-tests.el:
63597         * test/automated/syntax-tests.el:
63598         * test/automated/textprop-tests.el:
63599         * test/automated/undo-tests.el:
63600         * test/automated/man-tests.el:
63601         * test/automated/completion-tests.el:
63602         * test/automated/dbus-tests.el:
63603         * test/automated/newsticker-tests.el:
63604         * test/automated/sasl-scram-rfc-tests.el:
63605         * test/automated/tramp-tests.el:
63606         * test/automated/obarray-tests.el:
63607         * test/automated/compile-tests.el:
63608         * test/automated/elisp-mode-tests.el:
63609         * test/automated/f90.el:
63610         * test/automated/flymake-tests.el:
63611         * test/automated/python-tests.el:
63612         * test/automated/ruby-mode-tests.el:
63613         * test/automated/subword-tests.el:
63614         * test/automated/replace-tests.el:
63615         * test/automated/simple-test.el:
63616         * test/automated/sort-tests.el:
63617         * test/automated/subr-tests.el:
63618         * test/automated/reftex-tests.el:
63619         * test/automated/sgml-mode-tests.el:
63620         * test/automated/tildify-tests.el:
63621         * test/automated/thingatpt.el:
63622         * test/automated/url-future-tests.el:
63623         * test/automated/url-util-tests.el:
63624         * test/automated/add-log-tests.el:
63625         * test/automated/vc-bzr.el:
63626         * test/automated/vc-tests.el:
63627         * test/automated/xml-parse-tests.el:
63628         * test/BidiCharacterTest.txt:
63629         * test/biditest.el:
63630         * test/cedet/cedet-utests.el:
63631         * test/cedet/ede-tests.el:
63632         * test/cedet/semantic-ia-utest.el:
63633         * test/cedet/semantic-tests.el:
63634         * test/cedet/semantic-utest-c.el:
63635         * test/cedet/semantic-utest.el:
63636         * test/cedet/srecode-tests.el:
63637         * test/cedet/tests/test.c:
63638         * test/cedet/tests/test.el:
63639         * test/cedet/tests/test.make:
63640         * test/cedet/tests/testdoublens.cpp:
63641         * test/cedet/tests/testdoublens.hpp:
63642         * test/cedet/tests/testfriends.cpp:
63643         * test/cedet/tests/testjavacomp.java:
63644         * test/cedet/tests/testnsp.cpp:
63645         * test/cedet/tests/testpolymorph.cpp:
63646         * test/cedet/tests/testspp.c:
63647         * test/cedet/tests/testsppcomplete.c:
63648         * test/cedet/tests/testsppreplace.c:
63649         * test/cedet/tests/testsppreplaced.c:
63650         * test/cedet/tests/testsubclass.cpp:
63651         * test/cedet/tests/testsubclass.hh:
63652         * test/cedet/tests/testtypedefs.cpp:
63653         * test/cedet/tests/testvarnames.c:
63654         * test/etags/CTAGS.good:
63655         * test/etags/ETAGS.good_1:
63656         * test/etags/ETAGS.good_2:
63657         * test/etags/ETAGS.good_3:
63658         * test/etags/ETAGS.good_4:
63659         * test/etags/ETAGS.good_5:
63660         * test/etags/ETAGS.good_6:
63661         * test/etags/a-src/empty.zz:
63662         * test/etags/a-src/empty.zz.gz:
63663         * test/etags/ada-src/2ataspri.adb:
63664         * test/etags/ada-src/2ataspri.ads:
63665         * test/etags/ada-src/etags-test-for.ada:
63666         * test/etags/ada-src/waroquiers.ada:
63667         * test/etags/c-src/a/b/b.c:
63668         * test/etags/c-src/abbrev.c:
63669         * test/etags/c-src/c.c:
63670         * test/etags/c-src/dostorture.c:
63671         * test/etags/c-src/emacs/src/gmalloc.c:
63672         * test/etags/c-src/emacs/src/keyboard.c:
63673         * test/etags/c-src/emacs/src/lisp.h:
63674         * test/etags/c-src/emacs/src/regex.h:
63675         * test/etags/c-src/etags.c:
63676         * test/etags/c-src/exit.c:
63677         * test/etags/c-src/exit.strange_suffix:
63678         * test/etags/c-src/fail.c:
63679         * test/etags/c-src/getopt.h:
63680         * test/etags/c-src/h.h:
63681         * test/etags/c-src/machsyscalls.c:
63682         * test/etags/c-src/machsyscalls.h:
63683         * test/etags/c-src/sysdep.h:
63684         * test/etags/c-src/tab.c:
63685         * test/etags/c-src/torture.c:
63686         * test/etags/cp-src/MDiagArray2.h:
63687         * test/etags/cp-src/Range.h:
63688         * test/etags/cp-src/burton.cpp:
63689         * test/etags/cp-src/c.C:
63690         * test/etags/cp-src/clheir.cpp.gz:
63691         * test/etags/cp-src/clheir.hpp:
63692         * test/etags/cp-src/conway.cpp:
63693         * test/etags/cp-src/conway.hpp:
63694         * test/etags/cp-src/fail.C:
63695         * test/etags/cp-src/functions.cpp:
63696         * test/etags/cp-src/screen.cpp:
63697         * test/etags/cp-src/screen.hpp:
63698         * test/etags/cp-src/x.cc:
63699         * test/etags/el-src/TAGTEST.EL:
63700         * test/etags/el-src/emacs/lisp/progmodes/etags.el:
63701         * test/etags/erl-src/gs_dialog.erl:
63702         * test/etags/f-src/entry.for:
63703         * test/etags/f-src/entry.strange.gz:
63704         * test/etags/f-src/entry.strange_suffix:
63705         * test/etags/forth-src/test-forth.fth:
63706         * test/etags/html-src/algrthms.html:
63707         * test/etags/html-src/index.shtml:
63708         * test/etags/html-src/software.html:
63709         * test/etags/html-src/softwarelibero.html:
63710         * test/etags/lua-src/allegro.lua:
63711         * test/etags/objc-src/PackInsp.h:
63712         * test/etags/objc-src/PackInsp.m:
63713         * test/etags/objc-src/Subprocess.h:
63714         * test/etags/objc-src/Subprocess.m:
63715         * test/etags/objcpp-src/SimpleCalc.H:
63716         * test/etags/objcpp-src/SimpleCalc.M:
63717         * test/etags/pas-src/common.pas:
63718         * test/etags/perl-src/htlmify-cystic:
63719         * test/etags/perl-src/kai-test.pl:
63720         * test/etags/perl-src/yagrip.pl:
63721         * test/etags/php-src/lce_functions.php:
63722         * test/etags/php-src/ptest.php:
63723         * test/etags/php-src/sendmail.php:
63724         * test/etags/prol-src/natded.prolog:
63725         * test/etags/prol-src/ordsets.prolog:
63726         * test/etags/ps-src/rfc1245.ps:
63727         * test/etags/pyt-src/server.py:
63728         * test/etags/tex-src/gzip.texi:
63729         * test/etags/tex-src/nonewline.tex:
63730         * test/etags/tex-src/testenv.tex:
63731         * test/etags/tex-src/texinfo.tex:
63732         * test/etags/y-src/atest.y:
63733         * test/etags/y-src/cccp.c:
63734         * test/etags/y-src/cccp.y:
63735         * test/etags/y-src/parse.c:
63736         * test/etags/y-src/parse.y:
63737         * test/indent/css-mode.css:
63738         * test/indent/js-indent-init-dynamic.js:
63739         * test/indent/js-indent-init-t.js:
63740         * test/indent/js-jsx.js:
63741         * test/indent/js.js:
63742         * test/indent/latex-mode.tex:
63743         * test/indent/modula2.mod:
63744         * test/indent/nxml.xml:
63745         * test/indent/octave.m:
63746         * test/indent/pascal.pas:
63747         * test/indent/perl.perl:
63748         * test/indent/prolog.prolog:
63749         * test/indent/ps-mode.ps:
63750         * test/indent/ruby.rb:
63751         * test/indent/scheme.scm:
63752         * test/indent/scss-mode.scss:
63753         * test/indent/sgml-mode-attribute.html:
63754         * test/indent/shell.rc:
63755         * test/indent/shell.sh:
63756         * test/redisplay-testsuite.el:
63757         * test/rmailmm.el:
63758         * test/automated/buffer-tests.el:
63759         * test/automated/cmds-tests.el:
63760         * test/automated/data-tests.el:
63761         * test/automated/finalizer-tests.el:
63762         * test/automated/fns-tests.el:
63763         * test/automated/inotify-test.el:
63764         * test/automated/keymap-tests.el:
63765         * test/automated/print-tests.el:
63766         * test/automated/libxml-tests.el:
63767         * test/automated/zlib-tests.el: Files Moved.
63769 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
63771         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
63773         * lisp/progmodes/verilog-mode.el
63774         (verilog-save-font-no-change-functions): Commentary and fix
63775         pre-Emacs 21 behavior.
63777 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
63779         Rework file notifications, kqueue has problems with directory monitors
63781         * lisp/filenotify.el (file-notify-add-watch): Call the native
63782         add-watch function on the file, not on the dir.
63784         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
63785         about already deleted entries.
63787         * test/automated/auto-revert-tests.el
63788         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
63789         since this deletes the target file first.
63791         * test/automated/file-notify-tests.el (file-notify--test-event-test):
63792         Make stronger checks.
63793         (file-notify-test01-add-watch, file-notify-test02-events)
63794         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
63795         Rewrite in order to call file monitors but directory monitors.
63796         (file-notify-test06-many-events): Ler rename work in both directions.
63798 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
63800         Use obarray functions from obarray.
63802         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
63803           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
63804           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
63805           delegate to obarray.el functions.
63806         * lisp/loadup.el: load obarray before abbrev
63807         * test/automated/abbrev-tests.el: new tests
63809 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
63811         Continie with pending events
63813         * src/kqueue.c (pending_events): Remove global variable.
63814         (kqueue_compare_dir_list): Create `write' event for not used
63815         pending events.
63816         (globals_of_kqueue): Remove initialization of pending_events.
63818 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
63820         Improve loops in file-notify-test06-many-events
63822         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
63823         Use `read-event' pauses for the `write-file' loops; otherwise
63824         events are lost in inotify and gfilenotify cases.
63826 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
63828         Handle more complex rename operation in kqueue
63830         * src/kqueue.c (pending_events): New variable.
63831         (kqueue_compare_dir_list): Handle more complex rename operation.
63832         (globals_of_kqueue): Initialize pending_events.
63834         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
63835         Adapt expected events in the `rename-file' case.
63836         (file-notify-test06-many-events-remote): Declare.
63838 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
63840         epa.el: Add option to replace original text
63842         * lisp/epa.el (epa-replace-original-text): New user option.
63843         (Bug#21947)
63845 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
63847         Add interactive seek command.
63849         * lisp/mpc.el (mpc-cmd-seekcur): New function.
63850         (mpc-seek-current): New command.
63851         (mpc-mode-menu): Add entry for mpc-seek-current
63852         (mpc-mode-map): Bind mpc-seek-current to "g"
63854 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
63856         Fix issue where a new tempfile was created every refresh
63858         * lisp/mpc.el (mpc-format): Leave dir as relative path
63860 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
63862         New test with a larger number of events.
63864         * test/automated/file-notify-tests.el (file-notify--test-with-events):
63865         Make timeout heuristically depend on the number of events.
63867         (file-notify-test06-many-events): Use it for new test.
63869 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
63871         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
63873         (c-save-buffer-state): Use with-silent-modifications when available.
63874         (c--macroexpand-all): Check macroexpand-all directly rather than
63875         c--mapcan-status.
63877 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
63879         * lisp/loadup.el: Set max-lisp-eval-depth here
63881         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
63882         (BYTE_COMPILE_FLAGS): Adjust accordingly.
63884 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
63886         Further fixes for kqueue.
63888         * lisp/filenotify.el (file-notify-callback): Raise also event if
63889         directory name matches.
63890         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
63892         * src/kqueue.c (kqueue_generate_event): Use watch_object as
63893         argument instead of ident.  Remove callback argument.  Adapt
63894         callees.  Check actions whether they are monitored flags.
63896         * test/automated/file-notify-tests.el (file-notify--test-library):
63897         New defun.
63898         (file-notify-test00-availability, file-notify-test02-events)
63899         (file-notify-test04-file-validity)
63900         (file-notify-test05-dir-validity): Use it.
63901         (file-notify-test02-events, file-notify-test04-file-validity): Add
63902         `read-event' calls between different file actions, in order to
63903         give the backends a chance to rais an event.  Needed especially
63904         for kqueue.  In case of deleting a directory, there are two
63905         `deleted' events.
63907 2015-11-17  João Távora  <joaotavora@gmail.com>
63909         Minor fix to comment indentation and typo in last commit
63911         * lisp/linum.el (linum-update-window): Fix comment indentation and
63912         a typo.
63914 2015-11-17  João Távora  <joaotavora@gmail.com>
63916         linum-mode plays more nicely with other margin-setting extensions
63918         linum.el will only modify the left margin if it needs to, and will
63919         only reset the it back to 0 if it guesses that no-one has touched that
63920         margin in the meantime.
63922         As such, this is a more of a workaround than an actual fix, but fixes
63923         the problems described in bug#20674 regarding the interaction with
63924         modes such as darkroom-mode and olivetti-mode.
63926         A similar fix was commited to nlinum.el in ELPA.git's
63927         e7f5f549fbfb740b911fb7f33b42381ecece56d8
63929         * lisp/linum.el (linum-delete-overlays): Restore margins more
63930         criteriously.
63931         (linum-update-window): Set margins more criteriously.
63933 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
63935         Code cleanup of kqueue.c
63937         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
63938         (kqueue_compare_dir_list): Do not loop when calling
63939         directory_files_internal.  Remove checks for "." and "..", this is
63940         done in kqueue_directory_listing now.
63941         (Fkqueue_add_watch): Check for proper emacs_open flags.
63943 2015-11-16  Daiki Ueno  <ueno@gnu.org>
63945         * lisp/image-mode.el: Support encrypted file
63947         (image-toggle-display-image): Read content from the buffer instead
63948         of the file, if the buffer holds a decrypted data.  (Bug#21870)
63950 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
63952         Doc changes for kqueue
63954         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
63955         Fix some glitches in the example.
63957 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
63959         Finish implementation in kqueue.c
63961         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
63962         Simplify access to list.
63963         (kqueue_compare_dir_list): Simplify access to list.  Raise
63964         `delete' event if directory does not exist any longer.  Otherwise,
63965         wait until directory contents has changed.  Fix error in check.
63967 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
63969         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
63971 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
63973         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
63975 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
63977         * lisp/emacs-lisp/package.el: Fix a decoding issue
63979         (package--with-response-buffer): Use `url-insert-buffer-contents'.
63980         The previous code had some issues with decoding. Refactoring that
63981         function allows us to use the decoding from url-handlers while still
63982         treating both sync and async requests the same.
63984         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
63985         `url-insert-buffer-contents'.
63986         (url-insert-buffer-contents): New function
63988 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
63990         * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
63992         (package--with-work-buffer-async): Reimplement as
63993         `package--with-response-buffer'.
63994         (package--with-work-buffer): Mark obsolete.
63995         (package--with-response-buffer): New macro. This is a more self
63996         contained and less contrived version of
63997         `package--with-work-buffer-async'.  It uses keyword arguments,
63998         doesn't have async on the name, doesn't fallback on
63999         `package--with-work-buffer', and has _much_ simpler error
64000         handling.
64002         (package--check-signature, package--download-one-archive)
64003         (package-install-from-archive, describe-package-1): Use it.
64005         (package--download-and-read-archives): Let
64006         `package--download-one-archive' take care of calling
64007         `package--update-downloads-in-progress'.
64009 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
64011         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
64013         (verilog-save-buffer-state): Use with-silent-modifications when available.
64014         (verilog-save-font-no-change-functions): Don't bind
64015         before/after-change-functions if it's not needed.
64017 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
64019         More work on kqueue
64021         * lisp/filenotify.el (file-notify-callback): Handle also the
64022         `rename' event from kqueue.
64023         (file-notify-add-watch): Do not register an entry twice.
64025         * src/kqueue.c (kqueue_directory_listing): New function.
64026         (kqueue_generate_event): New argument FILE1.  Adapt callees.
64027         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
64029 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
64031         * CONTRIBUTE: Remove information about feature freeze.
64033         Merge branch 'release-process-lowercase'
64035 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
64037         Document the release process
64039         * admin/notes/versioning: Add information about RC releases.
64040         * admin/release-process: Document the release process.
64041         * admin/authors.el (authors-ignored-files):
64042         * admin/README: Change FOR-RELEASE to release-process.
64043         * CONTRIBUTE:
64044         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
64046 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
64048         * admin/release-process: Rename from admin/FOR-RELEASE.
64050 2015-11-14  David Engster  <deng@randomsample.de>
64052         gitmerge: Fix git log command
64054         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
64055         only want commits from the branch that is to be merged.
64056         (gitmerge-setup-log-buffer): Use the same symmetric range as in
64057         `gitmerge-missing'.
64059 2015-11-14  David Engster  <deng@randomsample.de>
64061         gitmerge: Try to detect cherry-picks
64063         * admin/gitmerge.el (gitmerge-default-branch): Change to
64064         origin/emacs-25.
64065         (gitmerge-missing): Use symmetric difference ('...') between
64066         branch and master so that cherry-picks can be detected.
64068 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
64070         Implement directory events
64072         * lisp/filenotify.el (file-notify-handle-event)
64073         (file-notify-callback): Remove traces.
64075         * src/kqueue.c: Include <sys/time.h>.
64076         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
64077         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
64078         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
64079         Compute initial directory listing.  Close file descriptor in case
64080         of errors.
64081         (syms_of_kqueue): Declare Qcreate.
64083 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
64085         Increment Emacs version on master branch
64087         * lisp/cus-edit.el (customize-changed-options-previous-release):
64088         Increase previous version to 24.5.
64090         * configure.ac:
64091         * msdos/sed2v2.inp: Bump version to 25.1.50.
64093 2015-11-13  Xue Fuqiao  <xfq.free@gmail.com>
64095         Mention CONTRIBUTE in README
64097         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
64098         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
64099         * README: Mention CONTRIBUTE.
64101 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
64103         Update verilog-mode.el to 2015-11-09-b121d60-vpo.
64105         * lisp/progmodes/verilog-mode.el (verilog-auto, verilog-delete-auto)
64106         (verilog-modi-cache-results, verilog-save-buffer-state)
64107         (verilog-save-font-no-change-functions): When internally suppressing change
64108         functions, use `inhibit-modification-hooks' and call
64109         `after-change-funtions' to more nicely work with user hooks.  Reported by
64110         Stefan Monnier.
64112         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
64113         Create `verilog-delete-auto-buffer' to avoid double-calling
64114         fontification hooks.
64116         (verilog-restore-buffer-modified-p, verilog-auto)
64117         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
64118         set-buffer-modified-p. Reported by Stefan Monnier.
64120         (verilog-diff-auto, verilog-diff-buffers-p)
64121         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
64123         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
64124         AUTOINST with unpacked dimensional parameters, bug981. Reported by
64125         by Amol Nagapurkar.
64127         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
64128         properties inside internal structures. No functional change
64129         intended.
64131 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
64133         Build fixes for kqueue support.
64135         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
64136         flag.
64138         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
64139         kqueue on *BSD.
64141 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
64143         Continue kqueue implementation
64145         * lisp/filenotify.el (file-notify-handle-event)
64146         (file-notify-callback): Enable trace messages.
64148         * src/kqueue.c: Include also <sys/types.h>.
64149         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
64150         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
64151         (syms_of_kqueue): Add them.
64153 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
64155         Work on kqueue
64157         * lisp/filenotify.el (file-notify--library)
64158         (file-notify-descriptors, file-notify-callback)
64159         (file-notify-add-watch, file-notify-rm-watch)
64160         (file-notify-valid-p): Add kqueue support.
64162         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
64164 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
64166         Add kqueue support
64168         * configure.ac (--with-file-notification): Add kqueue.
64169         (top): Remove special test for "${HAVE_NS}" and
64170         ${with_file_notification}, this is handled inside gfilenotify
64171         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
64172         instead of library specific variables.
64174         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
64176         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
64178         * src/kqueue.c: New file.
64180         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
64182 This file records repository revisions from
64183 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
64184 commit 2cf20b67cf6836dd7bd80077042068afa0d7b04f (inclusive).
64185 See ChangeLog.1 for earlier changes.
64187 ;; Local Variables:
64188 ;; coding: utf-8
64189 ;; End:
64191   Copyright (C) 2015-2019 Free Software Foundation, Inc.
64193   This file is part of GNU Emacs.
64195   GNU Emacs is free software: you can redistribute it and/or modify
64196   it under the terms of the GNU General Public License as published by
64197   the Free Software Foundation, either version 3 of the License, or
64198   (at your option) any later version.
64200   GNU Emacs is distributed in the hope that it will be useful,
64201   but WITHOUT ANY WARRANTY; without even the implied warranty of
64202   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
64203   GNU General Public License for more details.
64205   You should have received a copy of the GNU General Public License
64206   along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.