; * lisp/ldefs-boot.el: Update.
[emacs.git] / ChangeLog.3
blobd994fcb870dfb1344104c5afe6f6ae06dc9dd0af
1 2019-06-12  Martin Rudalics  <rudalics@gmx.at>
3         Fix description of 'display-buffer-in-previous-window' again (Bug#36161)
5         * lisp/window.el (display-buffer-in-previous-window): Make
6         doc-string more explicit (Bug#36161).
7         * doc/lispref/windows.texi (Buffer Display Action Functions):
8         Make description of 'display-buffer-in-previous-window' more
9         explicit.
10         (Buffer Display Action Alists): Mention
11         'display-buffer-in-previous-window' in description of
12         'reusable-frames' entry.
14 2019-06-11  Eli Zaretskii  <eliz@gnu.org>
16         Consistently use @minus{} for negative arguments
18         * doc/emacs/mark.texi (Marking Objects):
19         * doc/misc/gnus.texi (Selecting a Group):
20         * doc/emacs/programs.texi (Comment Commands):
21         * doc/emacs/killing.texi (Deletion):
22         * doc/emacs/display.texi (Recentering):
23         * doc/lispref/display.texi (Face Attributes):
24         * doc/lispref/searching.texi (String Search, Regexp Search):
25         Make the markup of "-N" use @minus{} uniformly.  (Bug#35885)
27 2019-06-11  Martin Rudalics  <rudalics@gmx.at>
29         Fix doc of 'display-buffer-in-previous-window' (Bug#36161)
31         * doc/lispref/windows.texi (Buffer Display Action Functions):
32         * lisp/window.el (display-buffer-in-previous-window): Tell
33         that 'display-buffer-in-previous-window' prefers
34         non-selected windows (Bug#36161).
36 2019-06-10  Juanma Barranquero  <lekktu@gmail.com>
38         lisp/*.el: Minor docstring fixes
40         * lisp/subr.el (definition-prefixes): Reflow docstring.
42         * lisp/svg.el (svg-create): Doc fix to allow arg higlighting.
43         (svg-gradient, svg-rectangle): Improve docstring formatting.
45 2019-06-10  Eli Zaretskii  <eliz@gnu.org>
47         Avoid assertion violation when comparing with main-thread
49         * src/thread.c (unmark_main_thread): New function.
50         * src/lisp.h (unmark_main_thread): Prototype it.
51         * src/alloc.c (garbage_collect_1): Call it after sweeping.
52         (Bug#33073)
54         * test/src/thread-tests.el (threads-test-bug33073): New test.
56 2019-06-10  Andreas Schwab  <schwab@linux-m68k.org>
58         Revert "Don't mark main_thread (Bug#36155)"
60         This reverts commit 1877b7b4d79b3434379fd5a4abd85906c25df00c.
62 2019-06-10  Andreas Schwab  <schwab@linux-m68k.org>
64         Don't mark main_thread (Bug#36155)
66         * src/thread.c (mark_threads_callback): Don't mark main_thread.
68 2019-06-09  Eli Zaretskii  <eliz@gnu.org>
70         More quotation fixes (Bug#35885)
72         * doc/emacs/text.texi (Quotation Marks): Fix a typo.
73         * doc/emacs/modes.texi (Minor Modes): Fix another case of
74         showing quotations.
76 2019-06-08  Eli Zaretskii  <eliz@gnu.org>
78         Minor copyedits in efaq-w32
80         * doc/misc/efaq-w32.texi (Grep, Recursive grep): More accurate
81         description of using 'findstr' as a poor-man's replacement for
82         'grep'.  Reported by 范凯 <m_pupil@163.com>
84 2019-06-08  Eli Zaretskii  <eliz@gnu.org>
86         Tiny improvement of documentation of major mode conventions
88         * doc/lispref/modes.texi (Major Mode Conventions): More
89         accurate advice regarding customization of 'C-M-a' by major
90         modes.
92 2019-06-08  Juanma Barranquero  <lekktu@gmail.com>
94         * nt/addpm.c (main): Fix buffer overflow
96 2019-06-07  Eli Zaretskii  <eliz@gnu.org>
98         Resurrect display-line-number-mode in client frames
100         * lisp/linum.el (linum-on): Mention bug#35726 in a comment.
101         * lisp/display-line-numbers.el
102         (display-line-numbers--turn-on): Don't check for daemon.
103         (Bug#35726)
105 2019-06-07  Eli Zaretskii  <eliz@gnu.org>
107         * src/fns.c (Fmapconcat): Doc fix.  (Bug#35710)
109 2019-06-07  Phillip Lord  <phillip.lord@russet.org.uk>
111         Fix typo
113         * nt/README.W32:
115 2019-06-06  Eli Zaretskii  <eliz@gnu.org>
117         * lisp/term/w32-win.el ([noname]): Bind to 'ignore'.  (Bug#36083)
119 2019-06-05  Eli Zaretskii  <eliz@gnu.org>
121         Fix styling of Unicode codepoints in manuals
123         * doc/lispref/nonascii.texi (Character Properties):
124         * doc/lispref/display.texi (Glyphless Chars)
125         (Bidirectional Display):
126         * doc/emacs/search.texi (Lax Search):
127         * doc/emacs/text.texi (Quotation Marks):
128         * doc/emacs/basic.texi (Inserting Text): Canonicalize the
129         style of "U+NNNN CHARACTER NAME".  (Bug#35885)
131 2019-06-04  Eli Zaretskii  <eliz@gnu.org>
133         Fix a few uses of quotes in user manual
135         * doc/emacs/text.texi (Quotation Marks):
136         * doc/emacs/display.texi (Text Display):
137         * doc/emacs/basic.texi (Inserting Text): Fix some more
138         quotes.  (Bug#35885)
140 2019-06-03  Eli Zaretskii  <eliz@gnu.org>
142         More minor copyedits in the Emacs manual
144         * doc/emacs/basic.texi (Arguments):
145         * doc/emacs/display.texi (Recentering, Text Display):
146         * doc/emacs/regs.texi (Text Registers, Rectangle Registers):
147         * doc/emacs/mark.texi (Disabled Transient Mark): Fix
148         inaccuracies and typos.  (Bug#35885)
150 2019-06-03  Eli Zaretskii  <eliz@gnu.org>
152         Fix minor issues in the Emacs manual
154         * doc/emacs/search.texi (Regexp Replace, Regexps):
155         * doc/emacs/kmacro.texi (Keyboard Macro Query)
156         (Save Keyboard Macro): Fix inaccuracies and typos.
157         (Bug#35885)
159 2019-06-03  Martin Rudalics  <rudalics@gmx.at>
161         Try to improve text on atomic windows in Elisp manual
163         * doc/lispref/windows.texi (Deleting Windows): Mention how
164         'delete-window' and 'delete-other-windows' handle atomic
165         windows.  Minor rewrite.
166         (Quitting Windows): Mention how 'quit-restore-window' handles
167         atomic windows and that it tries to avoid raising an error.
168         (Atomic Windows): Tell how to dissolve atomic windows.
170 2019-06-01  Noam Postavsky  <npostavs@gmail.com>
172         Don't recommend insert-before-markers in process filters
174         See <https://lists.gnu.org/r/emacs-devel/2019-05/msg00062.html> and
175         Bug#35334.
176         * doc/lispref/processes.texi (Filter Functions): Go back to using
177         plain insert in the example filter.  Add note about updating window
178         point.
180 2019-06-01  Noam Postavsky  <npostavs@gmail.com>
182         Disable byte-compile-cond-use-jump-table (Bug#35770)
184         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table): Set
185         to nil by default.
187         Don't merge to master, the bug is already fixed there.
189 2019-06-01  Noam Postavsky  <npostavs@gmail.com>
191         Allow macros autoloaded as functions during bytecomp (Bug#36022)
193         * lisp/emacs-lisp/bytecomp.el (byte-compile-callargs-warn): Don't pass
194         symbols which don't have a known definition to
195         byte-compile--function-signature, it fails to compile code which
196         previously compiled successfully (for example, gnus.el until
197         2019-06-01 "* lisp/gnus/gnus.el: Mark autoloaded macros as such" which
198         autoloads some macros as if they were functions).
200 2019-06-01  Glenn Morris  <rgm@gnu.org>
202         * lisp/gnus/gnus.el: Mark autoloaded macros as such.
204         This avoids a build failure.
206 2019-06-01  Eli Zaretskii  <eliz@gnu.org>
208         Speed up redisplay of HELLO
210         * etc/HELLO: Set 'inhibit-compacting-font-caches' non-nil
211         locally.  (Bug#36032)
213         * lisp/files.el: Add 'inhibit-compacting-font-caches' to the
214         list of built-in variables for which we set up
215         'safe-local-variable' properties.
217 2019-06-01  Eli Zaretskii  <eliz@gnu.org>
219         Improve documentation of 'safe-local-variable' property
221         * doc/lispref/variables.texi (File Local Variables): Document
222         how to define 'safe-local-variable' properties for built-in
223         variables.
225 2019-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
227         * lisp/emacs-lisp/package.el: Obey buffer-file-coding-system (bug#35739)
229         `url-insert-file-contents` saves in buffer-file-coding-system
230         the coding-system used to decode the contents.  Preserve this
231         as the contents is moved from buffer to string to buffer, and use
232         it when saving the contents to file, so as to try and better preserve
233         the original byte sequence.
235         (package--buffer-string, package--cs): New functions.
236         (package--check-signature): Encode `string` if a coding-system
237         was specified in buffer-file-coding-system.
238         (package--download-one-archive, package-install-from-archive):
239         Obey and preserve the buffer-file-coding-system if specified.
241         Do not merge.
243 2019-05-31  Noam Postavsky  <npostavs@gmail.com>
245         Warn about wrong number of args for subrs (Bug#35767)
247         * lisp/emacs-lisp/bytecomp.el (byte-compile-callargs-warn): Don't
248         assume byte-compile-fdefinition will return non-nil.
249         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-warn-wrong-args)
250         (bytecomp-warn-wrong-args-subr): New tests.
252 2019-05-31  Noam Postavsky  <npostavs@gmail.com>
254         Use plain symbols for eieio type descriptors (Bug#29220)
256         Since Emacs 26, eieio objects use a class record (with circular
257         references) as the type descriptor of the object record.  This causes
258         problems when reading back an object from a string, because the class
259         record is not `eq' to the canonical one (which means that read objects
260         don't satisfy the foo-p predicate).
261         * lisp/emacs-lisp/eieio.el (make-instance): As a (partial) fix, set
262         the record's type descriptor to a plain symbol for the type descriptor
263         when eieio-backward-compatibility is non-nil (the default).
264         * lisp/emacs-lisp/eieio-core.el (eieio--object-class): Call
265         eieio--class-object on the type tag when eieio-backward-compatibility
266         is non-nil.
267         (eieio-object-p): Use eieio--object-class instead of
268         eieio--object-class-tag.
269         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
270         (eieio-test-persist-hash-and-vector)
271         (eieio-test-persist-interior-lists): Make into functions.
272         (eieio-persist-hash-and-vector-backward-compatibility)
273         (eieio-persist-hash-and-vector-no-backward-compatibility)
274         (eieio-test-persist-interior-lists-backward-compatibility)
275         (eieio-test-persist-interior-lists-no-backward-compatibility): New
276         tests which call them, eieio-backward-compatibility let-bound.
278 2019-05-31  Paul Eggert  <eggert@cs.ucla.edu>
280         Pacify GCC 9 -Wredundant-decls
282         * src/gmalloc.c (_fraghead) [!HYBRID_MALLOC]:
283         Make it static in this case, too.  This avoids having both
284         ‘extern struct list _fraghead[];’ and
285         ‘static struct list _fraghead[BLOCKLOG];’, which
286         GCC 9 complains about.
288 2019-05-31  Paul Eggert  <eggert@cs.ucla.edu>
290         Pacify librsvg 2.45.1 and later
292         * src/image.c (svg_load_image): Pacify librsvg 2.45.1 and later,
293         and add a FIXME comment about the deprecated librsvg functions.
294         Backport from master.
296 2019-05-31  Paul Eggert  <eggert@cs.ucla.edu>
298         Simplify xd_signature to pacify GCC 9
300         * src/dbusbind.c (xd_signature): Use simpler way to set up
301         the subsignature.  This also pacifies GCC 9 on Fedora 30 x86-64.
302         Backport from master.
304 2019-05-31  Paul Eggert  <eggert@cs.ucla.edu>
306         Pacify GCC when compiling unexelf.c on Fedora 30
308         * src/unexelf.c (unexec): Pacify GCC 9.
310 2019-05-31  Paul Eggert  <eggert@cs.ucla.edu>
312         Suppress GCC 9 “no longer supported” messages
314         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wchkp.
315         This suppresses a boatload of warnings of the form
316         “gcc: warning: switch ‘-Wchkp’ is no longer supported”.
317         when using GCC 9.  Do not merge to master.
319 2019-05-30  Stefan Kangas  <stefankangas@gmail.com>
321         Fix docstring of bookmark-get-bookmark
323         * lisp/bookmark.el (bookmark-get-bookmark): Document optional
324         argument NOERROR. (bug#20148)
326 2019-05-26  Noam Postavsky  <npostavs@gmail.com>
328         Avoid infloop in read-multiple-choice (Bug#32257)
330         * lisp/emacs-lisp/rmc.el (read-multiple-choice): When `read-char'
331         signals an error "Non-character input-event", call `read-event' to
332         take the non-character event out of the queue.  Don't merge to master,
333         we just use `read-event' directly there, rather than this solution
334         which relies a particular error message.
336 2019-05-25  Eli Zaretskii  <eliz@gnu.org>
338         Improve documentation of decoding into a unibyte buffer
340         * doc/lispref/nonascii.texi (Explicit Encoding): Document what
341         happens when DESTINATION of decoding is a unibyte buffer.
343         * src/coding.c (Fdecode_coding_region)
344         (Fdecode_coding_string): Document what happens if DESTINATION
345         is a unibyte buffer.
347 2019-05-25  Mauro Aranda  <maurooaranda@gmail.com>
349         Remove redundants "See" before @xref or @pxref (Bug#35793)
351         * doc/lispref/control.texi (Control Structures):
352         * doc/lispref/modes.texi (Search-based Fontification):
353         * doc/misc/cc-mode.texi (Filling and Line Breaking Commands)
354         (Auto-newline Insertion, Other Special Indentations):
355         * doc/misc/dbus.texi (Errors and Events):
356         * doc/misc/dired-x.texi (Find File At Point):
357         * doc/misc/eudc.texi (Display of Query Results, Inline Query Expansion):
358         * doc/misc/gnus-faq.texi (FAQ 3-11):
359         * doc/misc/gnus.texi (Group Parameters, Posting Styles)
360         (Spam Package Introduction):
361         * doc/misc/org.texi (LaTeX fragments, Previewing LaTeX fragments):
362         * doc/misc/reftex.texi (Commands):
363         Remove redundant "See" before cross references.
364         * doc/lispref/functions.texi (Function Safety): Redundant "see" is in
365         ignored text, but remove it anyway.
366         * doc/lispref/positions.texi (Skipping Characters): Remove redundant
367         "See" before cross references.  Change @xref to @pxref, which is
368         more suitable when at the end of a sentence.
370         Most of the redundants "See" found by Noam Postavsky.
372 2019-05-23  Dario Gjorgjevski  <dario.gjorgjevski@gmail.com>
374         Fix customization type of recentf-max-saved-items
376         Change the customization type of recentf-max-saved-items to include
377         nil, as it is an allowed value (Bug#35771).
378         * lisp/recentf.el (recentf-max-saved-items): Change the customization
379         type in the defcustom.
381 2019-05-22  Tom Levy  <tomlevy93@gmail.com>  (tiny change)
383         Fix a typo in ELisp manual
385         * doc/lispref/sequences.texi (Sequence Functions): Fix a typo.
386         (Bug#35817)
388 2019-05-21  Noam Postavsky  <npostavs@gmail.com>
390         Add option to disable help completion autoloading (Bug#28607)
392         * lisp/help-fns.el (help-enable-completion-auto-load): New option.
393         (help--symbol-completion-table): Consult it.
394         * doc/emacs/building.texi (Lisp Libraries): Document it.
395         * etc/NEWS: Announce it.
396         * doc/lispref/loading.texi (Autoload by Prefix): New section.
397         (Autoload): Reference it.
399 2019-05-20  Noam Postavsky  <npostavs@gmail.com>
401         Don't segfault on force-window-update of deleted window
403         * src/window.c (Fforce_window_update): Do nothing for deleted
404         windows (Bug#35784).
406 2019-05-20  Mauro Aranda  <maurooaranda@gmail.com>
408         Fix typo in ELisp manual
410         * doc/lispref/variables.texi (Directory Local Variables): Fix typo in
411         dir-locals-set-class-variables description.  (Bug#35799)
413 2019-05-20  Mauro Aranda  <maurooaranda@gmail.com>
415         Remove repeated function call in picture.el
417         * lisp/textmodes/picture.el (picture-mode-map):  Remove repeated
418         define-key call.  (Bug#35772)
420 2019-05-19  Basil L. Contovounesios  <contovob@tcd.ie>
422         Fix Hideshow key binding typo in Emacs manual
424         * doc/emacs/programs.texi (Hideshow): Add missing function and key
425         index entries.  Fix hs-toggle-hiding binding typo. (bug#35798)
427 2019-05-17  Eric Abrahamsen  <eric@ericabrahamsen.net>
429         Backport: Fix name of gnus-summary-sort-by-mark(s)
431         * lisp/gnus/gnus-sum.el (gnus-summary-sort-by-marks): Needs the
432           "s", according to docs and keymap both. (bug#35765)
434         (cherry picked from commit 13248f7444630508cfc3b78a07e8d96613af11c8)
436 2019-05-17  Eli Zaretskii  <eliz@gnu.org>
438         Remove from docs references to obsolete MULE variables
440         * src/search.c (search_buffer): Remove obsolete text from a
441         comment.
442         * src/fns.c (Fstring_make_unibyte): Remove obsolete text from
443         a doc string.
445 2019-05-17  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
447         Do potentially destructive operations in prepare-commit-msg
449         * build-aux/git-hooks/prepare-commit-msg: If someone occasionally puts
450         Signed-off line, it will likely get there through -s option of git.
451         Exploit this fact to abort before a user got a chance to type commit
452         message.  (Bug#35368)
454 2019-05-14  Paul Eggert  <eggert@cs.ucla.edu>
456         Backport: fix broken build on m68k
458         The GCC + valgrind fix caused the m68k build to fail (Bug#35711).
459         Simplify string allocation a bit to make similar problems less
460         likely in the future.
461         * src/alloc.c (sdata, SDATA_NBYTES, SDATA_DATA) [GC_CHECK_STRING_BYTES]:
462         Use the same implementation as with !GC_CHECK_STRING_BYTES,
463         as the special case is no longer needed.
464         (SDATA_ALIGN): New constant.
465         (SDATA_SIZE): Remove this macro, replacing with ...
466         (sdata_size): ... this new function.  All uses changed.
467         Properly account for sizes and alignments even in the m68k case,
468         and even if GC_CHECK_STRING_BYTES is not defined.
470 2019-05-14  Noam Postavsky  <npostavs@gmail.com>
472         Handle GNUTLS_E_AGAIN in emacs_gnutls_read (Bug#34341)
474         Don't merge to master, this has already been fixed there by 2019-01-15
475         "Fix unlikely races with GnuTLS, datagrams".
476         * src/gnutls.c (emacs_gnutls_read): Similar to emacs_gnutls_write,
477         when gnutls_record_recv returns GNUTLS_E_AGAIN set errno to EGAIN.
479 2019-05-12  Neil Roberts  <bpeeluk@yahoo.co.uk>
481         Let dir locals for more specific modes override those from less
483         The list of dir local variables to apply is now sorted by the number
484         of parent modes of the mode used as the key in the association list.
485         That way when the variables are applied in order the variables from
486         more specific modes will override those from less specific modes.
488         If there are directory entries in the list then they are sorted in
489         order of name length.  The list of modes for that dir is then
490         recursively sorted with the same mechanism.  That way variables tied
491         to a particular subdirectory override those in in a parent directory.
493         Previously the behaviour didn’t seem to be well defined anyway and was
494         dependent on the order they appeared in the file.  However this order
495         was changed in version 26.1 and it probably also depended on the
496         number of dir-local files that are merged.
498         Bug#33400
500         * lisp/files.el (dir-locals-get-sort-score, dir-locals-sort-variables)
501         (dir-locals-read-from-dir): Sort the dir locals so that more precise
502         modes and directory-specific entries have override lesser ones.
503         * doc/emacs/custom.texi (Directory Variables): Document the priority.
505 2019-05-11  Eli Zaretskii  <eliz@gnu.org>
507         Improve documentation of Hexl mode
509         * doc/emacs/misc.texi (Editing Binary Files): Clarify
510         "insertion".  Improve wording.  Add a few Hexl commands.
511         (Bug#35580)
513 2019-05-09  Alan Mackenzie  <acm@muc.de>
515         Fix description of (move-to-column <n> t) when column <n> is inside a tab
517         This fixes bug #35647.  State that when indent-tabs-mode is non-nil, spaces
518         are inserted before the tab rather than the tab being replaced by spaces.
520         * doc/lispref/text.texi (columns)
521         * src/indent.c (move-to-column): Make the above documentation amendment.
523 2019-05-09  Noam Postavsky  <npostavs@gmail.com>
525         Recognize single quote attribute values in nxml and sgml (Bug#35381)
527         * lisp/textmodes/sgml-mode.el (sgml-specials): Add single quote.
528         (sgml-syntax-propertize-rules): Handle single quote.
529         * test/lisp/nxml/nxml-mode-tests.el (nxml-mode-font-lock-quotes): New
530         test.
531         * test/lisp/textmodes/sgml-mode-tests.el
532         (sgml-delete-tag-bug-8203-should-not-delete-apostrophe): Now passes.
534 2019-05-09  Noam Postavsky  <npostavs@gmail.com>
536         Disable extra display of &#10; in nxml-mode (Bug#32897)
538         * lisp/nxml/nxml-mode.el (nxml-char-ref-display-extra): Don't put
539         display for the newline, it makes the indentation look wrong.
541 2019-05-09  Noam Postavsky  <npostavs@gmail.com>
543         Fix nxml-get-inside (Bug#32003)
545         The change from 2016-01-16 "lisp/nxml: Use syntax-tables for comments"
546         made nxml-get-inside return non-nil for any string or comment,
547         including attribute strings.  This caused incorrect and therefore
548         indentation.
549         * lisp/nxml/nxml-rap.el: Update commentary to reflect changes to
550         nxml-mode parsing.
551         (nxml-get-inside): Only return non-nil when inside comments and
552         generic strings, not normal quote-delimited strings.
553         * test/lisp/nxml/nxml-mode-tests.el: New tests.
555 2019-05-08  Eli Zaretskii  <eliz@gnu.org>
557         Fix positioning client buffer as instructed by emacsclient
559         * lisp/server.el (server-switch-buffer): Let-bind
560         switch-to-buffer-preserve-window-point to nil when switching
561         to the client buffer, when the client requested a specific
562         position.  (Bug#35602)
564 2019-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
566         * etc/package-keyring.gpg: Add the 2019 key (backport)
568 2019-05-08  Vitalie Spinu  <spinuvit@gmail.com>
570         Fix incorrect cloning of eieio-instance-inheritor objects (Bug#34840)
572         * lisp/emacs-lisp/eieio-base.el (clone): Unbound slots of
573           eieio-instance-inheritor objects as documented in the docs string
574           and implemented in the original eieio implementation.
576 2019-05-07  Vitalie Spinu  <spinuvit@gmail.com>
578         Fix cloning of eieio-named objects (Bug#22840)
580         * lisp/emacs-lisp/eieio-base.el (clone): Correctly set the name of the
581           cloned objects from eieio-named instances.
583 2019-05-07  Basil L. Contovounesios  <contovob@tcd.ie>
585         Fix ibuffer-unmark-backward synopsis (bug#35572)
587         * lisp/ibuffer.el (ibuffer-mode): Fix synopsis of
588         ibuffer-unmark-backward along with other minor copy-edits.
590 2019-05-05  Noam Postavsky  <npostavs@gmail.com>
592         Clarify handling of long options (Bug#24949)
594         * doc/emacs/cmdargs.texi (Emacs Invocation): Note that space can be
595         used instead of "=" only if an option requires an argument.
597 2019-05-04  Eli Zaretskii  <eliz@gnu.org>
599         Improve documentation of the daemon and emacsclient
601         * doc/emacs/misc.texi (emacsclient Options):
602         * doc/emacs/cmdargs.texi (Initial Options): Document that
603         using --daemon=NAME will need to specify the same NAME when
604         invoking 'emacscilent'.  (Bug#35547)
606 2019-05-02  Noam Postavsky  <npostavs@gmail.com>
608         * etc/NEWS.24: Belatedly announce delete-consecutive-dups.
610 2019-05-01  Glenn Morris  <rgm@gnu.org>
612         * admin/update_autogen: Handle git worktree.
614 2019-05-01  Noam Postavsky  <npostavs@gmail.com>
616         Update process filter example (Bug#35044)
618         * doc/lispref/processes.texi (Filter Functions): Use
619         insert-before-markers in the "ordinary" filter example, like
620         internal-default-process-filter does.
622 2019-04-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
624         * src/macfont.m (macfont_shape): Use convenient LGLYPH_NEW.
626 2019-04-28  Noam Postavsky  <npostavs@gmail.com>
628         Recommend using font-lock-face over face (Bug#35044)
630         * doc/lispref/modes.texi (Precalculated Fontification): Explain
631         advantages of using font-lock-face over face.
633 2019-04-28  Noam Postavsky  <npostavs@gmail.com>
635         Check if mouse_face_overlay was deleted (Bug#35273)
637         * src/xdisp.c (note_mouse_highlight): Check if the mouse_face_overlay
638         actually points to a buffer, before calling
639         mouse_face_overlay_overlaps on it.
641 2019-04-27  Paul Eggert  <eggert@cs.ucla.edu>
643         Port to platforms where tputs is in libtinfow
645         * configure.ac (tputs_library): Also try tinfow, ncursesw (Bug#33977).
647         (cherry picked from commit a3d52b3057c98bce581bc94912ef3ced6fad6f14)
649 2019-04-23  Glenn Morris  <rgm@gnu.org>
651         * admin/admin.el (set-version): Check for increase in version length,
652         rather than a .50 version.
654 2019-04-22  Noam Postavsky  <npostavs@gmail.com>
656         Be more careful about indent-sexp going over eol (Bug#35286)
658         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Only go over multiple
659         sexps if the end of line is within a sexp.
660         * test/lisp/emacs-lisp/lisp-mode-tests.el
661         (indent-sexp-stop-before-eol-comment)
662         (indent-sexp-stop-before-eol-non-lisp): New tests.
664 2019-04-22  Basil L. Contovounesios  <contovob@tcd.ie>
666         Backport: Improve pure and side-effect-free docs
668         For discussion, see thread starting at:
669         https://lists.gnu.org/archive/html/emacs-devel/2019-04/msg00316.html
670         * doc/lispref/customize.texi (Composite Types): Do not overspecify
671         :match-alternatives predicates.
672         * doc/lispref/eval.texi (Intro Eval): Anchor definition of "side
673         effect" for cross-referencing...
674         * doc/lispref/functions.texi (What Is a Function): ...from here.
675         Define what a pure function is.
676         * doc/lispref/internals.texi (Writing Emacs Primitives): Describe
677         currently preferred approach to marking primitives as pure and
678         side-effect-free.
679         * doc/lispref/symbols.texi (Standard Properties): Expand description
680         of pure and side-effect-free properties.
682         (cherry picked from commit 4430a9b54fca266e48d0eb8b72d83706910f10b8)
684 2019-04-22  Basil L. Contovounesios  <contovob@tcd.ie>
686         Backport: Avoid using obsolete indent-relative-maybe
688         * lisp/electric.el (electric-indent-functions-without-reindent):
689         * lisp/indent.el (indent-according-to-mode): Check for
690         indent-relative-first-indent-point in addition to its obsolete alias
691         indent-relative-maybe.
692         * lisp/obsolete/vi.el (vi-com-map): Use
693         indent-relative-first-indent-point in place of its obsolete alias
694         indent-relative-maybe.
696         (cherry picked from commit 0e468a620458fecd003c396050aa6deb722982c1)
698 2019-04-21  Mauro Aranda  <maurooaranda@gmail.com>
700         Avoid false positives and false negatives of Info-quoted face
702         * lisp/info.el (Info-mode-font-lock-keywords): Modify the regexp, for
703         matching single quotes of opening single quote and closing single
704         quote, and avoid matching text followed by a curly quote when it is
705         not quoting. (Bug#35202)
707 2019-04-21  Eli Zaretskii  <eliz@gnu.org>
709         Fix markup related to quoting in Info
711         * doc/misc/sc.texi (Citations): Fix markup of '>'.
712         * doc/misc/mh-e.texi (Speedbar): Fix markup in a @table.
713         * doc/misc/calc.texi (Yacas Language Mode): Fix a typo.
714         * doc/emacs/mark.texi (Setting Mark): Remove duplicate
715         quoting.  (Bug#35202)
717 2019-04-21  Noam Postavsky  <npostavs@gmail.com>
719         Use pkg-config to find lcms2 CFLAGS and LIBS (Bug#30346)
721         * configure.ac: Use EMACS_CHECK_MODULES fors LCMS2 rather than
722         AC_SEARCH_LIBS.
723         * src/Makefile.in: Get LCMS2_LIBS and LCMS2_CFLAGS from configure,
724         instead of just LIBLCMS2.
726         (cherry picked from commit cb3863370cbe574810f796726faa39ba0de0a429)
728 2019-04-20  Glenn Morris  <rgm@gnu.org>
730         Add a package: line to c-submit-bug-report.
732         * lisp/progmodes/cc-mode.el (c-submit-bug-report):
733         Add a Package: line for mail clients that do not support X- headers.
735 2019-04-20  Glenn Morris  <rgm@gnu.org>
737         * admin/admin.el (set-version): Add NEWS headers for a .50 version.
739 2019-04-20  Eli Zaretskii  <eliz@gnu.org>
741         Backport doc improvement in ELisp manual
743         * doc/lispref/processes.texi (Accepting Output): Backport:
744         document how do avoid race conditions while waiting for all of
745         the process's output to arrive.
747 2019-04-19  Noam Postavsky  <npostavs@gmail.com>
749         Document insert-image-file's return value (Bug#32978)
751         * lisp/image-file.el (insert-image-file): Document return value.
753 2019-04-19  Braun Gábor  <braungb88@gmail.com>  (tiny change)
755         Autoload cua-toggle-rectangle-mark (Bug#34947)
757         * lisp/emulation/cua-base.el (cua-toggle-rectangle-mark): Autoload it.
758         Library cua-base.el binds cua-toggle-rectangle-mark to a key in the
759         :set function in (defcustom cua-rectangle-mark-key ...), so it should
760         ensure that the command is defined.
762 2019-04-19  Noam Postavsky  <npostavs@gmail.com>
764         Tell xclip not to expect job-control under eshell (Bug#35257)
766         * lisp/eshell/esh-proc.el (eshell-needs-pipe): Add "xclip" and other
767         programs that xclip.el (in GNU ELPA) calls with
768         `process-connection-type' bound to nil.
770 2019-04-18  Basil L. Contovounesios  <contovob@tcd.ie>
772         Fix off-by-one-link error in image--set-property
774         * lisp/image.el (image--set-property): Ensure new value is set even
775         in the unlikely case that the plist is empty.  Fix off-by-one-link
776         error when deleting a property. (bug#35285)
777         * test/lisp/image-tests.el: New file.
778         (image--set-property): New test.
780 2019-04-16  Glenn Morris  <rgm@gnu.org>
782         * admin/admin.el (make-manuals-dist--1):
783         Update for incompatible copy-file change re "directories".
785 2019-04-16  Robert Pluim  <rpluim@gmail.com>
787         Document some compilation-mode faces
789         * doc/emacs/building.texi (Compilation Mode): Describe faces
790         available to affect appearance of compilation-mode buffers.
792 2019-04-16  Eli Zaretskii  <eliz@gnu.org>
794         Mention the assignment form in "Copyright Assignment"
796         * doc/emacs/trouble.texi (Copyright Assignment): Mention the
797         copyright assignment form explicitly.  Suggested by Konstantin
798         Kharlamov <hi-angel@yandex.ru>.
800 2019-04-16  Eli Zaretskii  <eliz@gnu.org>
802         Fix confusing wording in the user manual
804         * doc/emacs/maintaining.texi (VC Undo): Remove a potentially
805         inaccurate, outdated, and/or confusing sentence.  (Bug#35290)
807 2019-04-15  Eli Zaretskii  <eliz@gnu.org>
809         Fix the MSDOS build when running under CWSDPMI
811         * src/msdos.c (the_only_tty_output): Define.
812         * src/msdos.h (the_only_tty_output): Declare.
813         * src/frame.c (make_terminal_frame) [MSDOS]:
814         * src/dispnew.c (init_display) [MSDOS]: Set up
815         f->output_data.tty pointer using the_only_tty_output, before
816         dereferencing the pointer.  This prevents crashes with DPMI
817         servers that provide NULL pointer protection.
819 2019-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
821         * lisp/progmodes/python.el: Be more careful about temp file removal
823         (python-shell-prompt-detect): Use unwind-protect to try and not leave
824         file behind in case of error.
826 2019-04-14  Alexander Gramiak  <agrambot@gmail.com>
828         Backport: Plug memory leak in GTK x-display-monitor-attributes-list
830         * src/frame.c (free_monitors) [USE_GTK]: Define in the GTK case as
831         well.
833         * src/xfns.c (x-display-monitor-attributes-list) [USE_GTK]: Plug
834         memory leak. Use dupstring over xstrdup as gdk_monitor_get_model may
835         return NULL.
837 2019-04-14  Alexander Gramiak  <agrambot@gmail.com>
839         Backport: * lisp/frame.el (frame--size-history): Fix infloop. (Bug#35272)
841 2019-04-14  Robert Pluim  <rpluim@gmail.com>
843         Downcase charset
845         RFC 2046 specifies that the charset parameter is case-insensitive.
847         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-with-decoded-handle):
848         Downcase charset.  Suggested by Christophe TROESTLER
849         <Christophe.TROESTLER@umons.ac.be>.  (Bug#35265).
851 2019-04-14  Phillip Lord  <phillip.lord@russet.org.uk>
853         Update for Emacs-26
855         * nt/README.W32: Update details about packaging which changed for
856           Emacs-26.
858 2019-04-12  Eli Zaretskii  <eliz@gnu.org>
860         * doc/lispref/display.texi (Showing Images): Fix a typo.  (Bug#35240
862 2019-04-11  Nicolas Petton  <nicolas@petton.fr>
864         Bump Emacs version to 26.2
866         * README:
867         * configure.ac:
868         * msdos/sed2v2.inp:
869         * nt/README.W32: Bump Emacs version to 26.2.
871 2019-04-11  Nicolas Petton  <nicolas@petton.fr>
873         * etc/HISTORY: Update for Emacs 26.2 release.
875         * etc/AUTHORS: Update.
877 2019-04-11  Eli Zaretskii  <eliz@gnu.org>
879         Improve documentation of 'read-command'
881         * src/minibuf.c (Fread_command): Document the return value
882         when DEFAULT-VALUE is nil and the user enters nothing.
883         * doc/lispref/minibuf.texi (High-Level Completion): Document
884         the printed representation of a symbol whose name is empty.
885         (Bug#3522)
887 2019-04-11  Eli Zaretskii  <eliz@gnu.org>
889         Fix an outdated URL in a comment
891         * src/emacs.c: Fix reference to Cocoa CoreFoundation Release
892         Notes.  (Bug#35225)
894 2019-04-11  Basil L. Contovounesios  <contovob@tcd.ie>
896         Backport: Fix comment-empty-lines docstring (bug#35152)
898         * lisp/newcomment.el (comment-empty-lines): Consistently use US
899         commas in docstring.  Fix indentation of and typo in custom :type.
901         (cherry picked from commit 690c678fb6c1fb5b2f828f9bb90782bd0b01c399)
903 2019-04-11  Alex Branham  <alex.branham@gmail.com>
905         Backport: Update documentation for indent-relative functions
907         * lisp/indent.el (indent-relative): Document what happens when there
908           is no previous nonblank line.
909         * doc/lispref/text.texi (Relative Indent): Document
910           indent-relative-first-indent-point instead of obsolete
911           indent-relative-maybe. Fix documentation of which argument from
912           'indent-relative' is used.
914         Bug#34858
916         (cherry picked from commit 10cd65878c741d2a22a1f2c36c54fcad4e516f72)
918 2019-04-11  Noam Postavsky  <npostavs@gmail.com>
920         Update nxml-mode.texi: completion now gives xmlns="-!-"
922         * doc/misc/nxml-mode.texi (Completion): As of 2016-01-16 "* lisp/nxml:
923         Use standard completion; it also works for company-mode", completing
924         an attribute when there is only one candidate inserts both quotes.
925         Update the example accordingly.
927 2019-04-10  Eric Abrahamsen  <eric@ericabrahamsen.net>
929         Note that choose-completion-string-functions funcs take four args
931         * lisp/simple.el (choose-completion-string-functions): Functions in
932           this list actually need to accept four arguments, though the fourth
933           should be ignored.
935 2019-04-10  Gemini Lasswell  <gazally@runbox.com>
937         Address name conflicts in EIEIO documentation (bug#31660)
939         * doc/misc/eieio.texi (Quick Start): Rename the class used in the
940         example from 'record' to 'person'.
941         (Building Classes): Advise user to check for name conflicts before
942         naming a class.  Add a missing apostrophe.
943         (Making New Objects): Correct grammar.  Rename the class used in the
944         example from 'record' to 'my-class'.
946 2019-04-09  Mattias Engdegård  <mattiase@acm.org>
948         Clarify the TESTFN argument to `alist-get'
950         * lisp/subr.el (alist-get):
951         Rephrase the initial text to clarify the meaning of the TESTFN argument.
952         It's an equality predicate, not a look-up function (Bug#35206).
954         (cherry picked from commit c81465580fe262f28ce47502c00f4afcbe3b8f8d)
956 2019-04-08  Eli Zaretskii  <eliz@gnu.org>
958         * src/editfns.c (Fnarrow_to_region): Doc fix.  (Bug#35163)
960 2019-04-06  Eli Zaretskii  <eliz@gnu.org>
962         Fix doc strings of 'vc-version-diff' and 'vc-version-ediff'
964         * lisp/vc/vc.el (vc-version-diff, vc-version-ediff): Describe
965         arguments in the doc strings.  (Bug#35019)
967 2019-04-06  Eli Zaretskii  <eliz@gnu.org>
969         Improve documentation of set-window-start
971         * doc/lispref/windows.texi (Window Start and End):
972         * src/window.c (Fset_window_start): Document that reliable
973         setting of a window start position requires to adjust point to
974         be visible.  (Bug#34038)
976 2019-04-06  Eli Zaretskii  <eliz@gnu.org>
978         Improve documentation of window parameters
980         * doc/lispref/windows.texi (Cyclic Window Ordering): Describe
981         the effect of the 'other-window' window parameter.
982         (Window Parameters): Improve the descriptions of window
983         parameters.  Move the detailed description of the
984         'quit-restore' window parameter from here...
985         (Quitting Windows): ...to here.  (Bug#35063)
987 2019-04-06  Eli Zaretskii  <eliz@gnu.org>
989         Improve commentary in frame.el
991         * lisp/frame.el: Improve commentary for display-* functions.
992         (Bug#35058)
994 2019-04-06  Mauro Aranda  <maurooaranda@gmail.com>
996         Fix typo in a doc string
998         * lisp/autorevert.el (global-auto-revert-mode): Fix a typo.
999         (Bug#35165)
1001 2019-03-20  Paul Eggert  <eggert@cs.ucla.edu>
1003         Say which regexp ranges should be avoided
1005         * doc/lispref/searching.texi (Regexp Special): Say that
1006         regular expressions like "[a-m-z]" and "[[:alpha:]-~]" should
1007         be avoided, for the same reason that regular expressions like
1008         "+" and "*" should be avoided: POSIX says their behavior is
1009         undefined, and they are confusing anyway.  Also, explain
1010         better what happens when the bound of a range is a raw 8-bit
1011         byte; the old explanation appears to have been obsolete
1012         anyway.  Finally, say that ranges like "[\u00FF-\xFF]" that
1013         mix non-ASCII characters and raw 8-bit bytes should be
1014         avoided, since it’s not clear what they should mean.
1016 2019-03-20  Nicolas Petton  <nicolas@petton.fr>
1018         * etc/AUTHORS: Update.
1020         * ; ChangeLog.3 update
1022 2019-03-20  Eli Zaretskii  <eliz@gnu.org>
1024         Improve indexing of the user manual
1026         * doc/emacs/search.texi (Word Search): Improve indexing of
1027         "M-s M-w".
1029 2019-03-19  Basil L. Contovounesios  <contovob@tcd.ie>
1031         Fix url-copy-file arglist
1033         * lisp/url/url-handlers.el: Silence byte-compiler.
1034         (url-copy-file): Add 6th argument following change to copy-file in
1035         2012-12-16T19:22:27+01:00!romain@orebokech.com. (bug#4410)
1037 2019-03-19  Eli Zaretskii  <eliz@gnu.org>
1039         Fix downloading updates for packages with non-ASCII descriptions
1041         * lisp/emacs-lisp/package.el (package--download-one-archive):
1042         Make sure archive contents are written using UTF-8 encoding.
1043         (Bug#34909)
1044         (list-packages): Set buffer's encoding to UTF-8.
1046 2019-03-18  Nicolas Petton  <nicolas@petton.fr>
1048         * etc/NEWS: Remove temporary markers.
1050 2019-03-15  Alan Mackenzie  <acm@muc.de>
1052         * doc/misc/cc-mode.texi (Config Basics): in @itemize, @asis -> @w{}
1054 2019-03-15  Eli Zaretskii  <eliz@gnu.org>
1056         Don't clobber 'comint-input-autoexpand' in 'read-shell-command'
1058         * lisp/shell.el (shell-completion-vars): Set only the
1059         buffer-local value of 'comint-input-autoexpand'.  (Bug#34815)
1061 2019-03-13  Martin Rudalics  <rudalics@gmx.at>
1063         Document restrictions when setting window margins, fringes or scroll bars
1065         * src/window.c (Fset_window_margins, Fset_window_fringes)
1066         (Fset_window_scroll_bars): In doc-strings tell that a window
1067         must be large enough to accommodate fringes, sroll bars and
1068         margins of the desired size.
1069         * doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
1070         (Display Margins): Tell that windows must be large enough to
1071         accommodate fringes, sroll bars and margins of the desired
1072         size.
1074 2019-03-10  Eli Zaretskii  <eliz@gnu.org>
1076         More improvements for 'read-buffer's doc string
1078         * src/minibuf.c (Fread_buffer): Further improve the doc
1079         string.  (Bug#347694)
1081 2019-03-10  Alan Mackenzie  <acm@muc.de>
1083         * lisp/progmodes/cc-defs.el: Update c-version to 5.33.2 for Emacs 26.2
1085 2019-03-09  Eli Zaretskii  <eliz@gnu.org>
1087         * src/minibuf.c (Fread_buffer): Minor doc fixes.  (Bug#34749)
1089 2019-03-09  Eli Zaretskii  <eliz@gnu.org>
1091         Fix markup of fake keys in the ELisp manual
1093         * doc/lispref/keymaps.texi (Menu Bar, Tool Bar): Fix markup of
1094         fake keys.  (Bug#34785)
1096 2019-03-09  Eli Zaretskii  <eliz@gnu.org>
1098         Avoid errors in Auto Revert mode
1100         * lisp/autorevert.el (auto-revert-buffers): Cancel
1101         auto-revert-timer only if it is non-nil.  This avoids errors
1102         on first invocation of Auto-Revert mode.
1104 2019-03-09  Michael Albinus  <michael.albinus@gmx.de>
1106         Mention empty strings in file name expansion, emacs lisp reference
1108         * doc/lispref/files.texi (Files, File Name Expansion):
1109         Mention also empty strings.
1111 2019-03-08  Alan Mackenzie  <acm@muc.de>
1113         cc-mode.texi: Work around makeinfo alignment bug.  Fix problem with ss index
1115         * doc/misc/cc-mode.texi (top level): Using txicommandconditionals to
1116         differentiate between the C and perl versions of Texinfo, create an "ss
1117         index" unless we are both using the C Texinfo and are building the .dvi output
1118         format.
1119         (Config Basics): Work around a perl Texinfo alignment bug by writing a
1120         separate version of an item list structure for this version, simplifying it
1121         considerably.
1123 2019-03-08  Martin Rudalics  <rudalics@gmx.at>
1125         Warn against recursive invocations of 'buffer-list-update-hook' (Bug#34765)
1127         * src/buffer.c (Vbuffer_list_update_hook):
1128         * doc/lispref/buffers.texi (Buffer List): Warn against
1129         recursive invocations of 'buffer-list-update-hook' (Bug#34765).
1131 2019-03-08  Martin Rudalics  <rudalics@gmx.at>
1133         Provide more details in doc-string of 'delete-windows-on' (Bug#34749)
1135         * lisp/window.el (delete-windows-on): Provide more details in
1136         doc-string (Bug#34749).
1138 2019-03-08  Eli Zaretskii  <eliz@gnu.org>
1140         Improve documentation of 'delete-windows-on'
1142         * doc/emacs/windows.texi (Change Window): Document
1143         'delete-windows-on'.
1145         * lisp/window.el (delete-windows-on): Doc fix.  (Bug#34749)
1147 2019-03-08  Eli Zaretskii  <eliz@gnu.org>
1149         * lisp/frame.el (make-frame-command): Doc fix.  (Bug#34715)
1151 2019-03-07  Eli Zaretskii  <eliz@gnu.org>
1153         Avoid undefined behavior in gdb-mi.el
1155         * lisp/progmodes/gdb-mi.el (gdb-send): Don't call match-string
1156         if this is not a control command.  (Bug#34769)
1158 2019-03-06  Martin Rudalics  <rudalics@gmx.at>
1160         * lisp/window.el (fit-frame-to-buffer): Make doc-string more accurate.
1162 2019-03-05  Basil L. Contovounesios  <contovob@tcd.ie>
1164         Minor spelling and grammar fixes (bug#34756)
1166         doc/misc/cc-mode.texi (Style Variables, Customizing Indentation):
1167         doc/misc/ede.texi (Extending EDE, ede-project-placeholder)
1168         (ede-target, ede-proj-target, ede-compilation-program, ede-compiler)
1169         (ede-linker): Remove apostrophe from possessive "it's".
1170         doc/lispintro/emacs-lisp-intro.texi (Find a File):
1171         doc/misc/gnus-faq.texi (FAQ 2-2): Write "an other" as a single word.
1172         doc/misc/gnus.texi (Article Buttons):
1173         lisp/gnus/gnus-art.el (gnus-button-mid-or-mail-heuristic-alist)
1174         (gnus-button-mid-or-mail-heuristic): Write singular number of
1175         Message-IDs, rather than plural.
1176         lisp/gnus/message.el (message-user-fqdn): Capitalize initialism.
1178 2019-03-04  Eli Zaretskii  <eliz@gnu.org>
1180         Minor improvement of documentation of '(when CONDITION . SPEC)'
1182         * doc/lispref/display.texi (Other Display Specs): Add a caveat
1183         to using the '(when CONDITION . SPEC)' display specs.
1185 2019-03-02  Eli Zaretskii  <eliz@gnu.org>
1187         Improve documentation of 'auto-coding-functions'
1189         * doc/lispref/nonascii.texi (Default Coding Systems): Clarify
1190         that the functions in 'auto-coding-functions' are called both
1191         for decoding and for encoding.
1193         * lisp/international/mule.el (auto-coding-functions): Doc fix.
1195 2019-03-02  Eli Zaretskii  <eliz@gnu.org>
1197         Fix visiting XML files with non-Unix EOL format
1199         * lisp/international/mule.el (sgml-xml-auto-coding-function)
1200         (sgml-html-meta-auto-coding-function): Don't use
1201         'buffer-file-coding-system' if the buffer is unibyte.
1202         (Bug#34704)
1204 2019-03-02  Basil L. Contovounesios  <contovob@tcd.ie>
1206         Update example major mode code in Elisp manual
1208         * doc/lispref/modes.texi (Example Major Modes): Update code examples
1209         to reflect current state of lisp/textmodes/text-mode.el and
1210         lisp/emacs-lisp/lisp-mode.el. (bug#34671)
1212 2019-03-01  Eli Zaretskii  <eliz@gnu.org>
1214         Fix a typo in the Calc manual
1216         * doc/misc/calc.texi (Algebraic Tutorial): Fix parentheses in
1217         @example.  (Bug#34689)
1219 2019-03-01  Eli Zaretskii  <eliz@gnu.org>
1221         Minor improvement in cross-references of the ELisp manual
1223         * doc/lispref/modes.texi (Minor Mode Conventions): Add
1224         cross-references to related major-mode descriptions.  (Bug#34678)
1226 2019-03-01  Tobias Bading  <tbading@web.de>  (tiny change)
1228         Fix last change on 'compilation-parse-errors'
1230         * lisp/progmodes/compile.el (compilation-parse-errors): Fix
1231         previous change in this function.  (Bug#34479)
1233 2019-02-25  Dmitry Gutov  <dgutov@yandex.ru>
1235         Backport: js--re-search-backward-inner: Fix infloop
1237         Fix JS indentation infloop reported in
1238         https://github.com/mooz/js2-mode/issues/513.
1240         * lisp/progmodes/js.el (js--re-search-backward-inner): Account for
1241         multiline string literals.
1242         * test/manual/indent/js.js: New test example.
1244         (cherry picked from commit b01a4295c2f9bb58858880e4e28b05cc8396791c)
1246 2019-02-23  Eli Zaretskii  <eliz@gnu.org>
1248         Minor improvement for docs of completion
1250         * doc/lispref/minibuf.texi (Completion Commands)
1251         (Completion in Buffers, Programmed Completion): Add to text
1252         that references completion tables a cross-reference to where
1253         "completion table" is described.
1254         (Programmed Completion): Fix the description of
1255         'completion-table-dynamic'.  Add more cross-references.
1257 2019-02-22  Ken Brown  <kbrown@cornell.edu>
1259         Disable the timerfd interface on Cygwin
1261         * configure.ac (emacs_cv_have_timerfd): Set to "no" on Cygwin.
1263 2019-02-22  Eli Zaretskii  <eliz@gnu.org>
1265         Fix a typo in the doc string of 'regex-opt'
1267         * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix example in
1268         the doc string.  (Bug#34596)
1270 2019-02-21  Michael Albinus  <michael.albinus@gmx.de>
1272         Document bash 5.0.0 misbehavior in tramp.texi (Bug#34192)
1274         * doc/misc/tramp.texi (Frequently Asked Questions): Warn about
1275         bash 5.0.0 and HISTSIZE=0.  (Bug#34192)
1277 2019-02-20  Nicolas Petton  <nicolas@petton.fr>
1279         Bump Emacs version to 26.1.92
1281         * README:
1282         * configure.ac:
1283         * msdos/sed2v2.inp:
1284         * nt/README.W32: Bump Emacs version to 26.1.92.
1286 2019-02-20  Nicolas Petton  <nicolas@petton.fr>
1288         * ; ChangeLog.3 update
1290         * etc/AUTHORS: Update.
1292 2019-02-20  Glenn Morris  <rgm@gnu.org>
1294         Remove .art from the default list of ImageMagick extensions
1296         It seems that .art files can be non-image files that
1297         ImageMagick mistakenly treats as extremely large images.
1298         Real .art images seem rare.
1299         * lisp/image.el (imagemagick-enabled-types): Remove ART.  (Bug#22289)
1301 2019-02-19  Eli Zaretskii  <eliz@gnu.org>
1303         Fix input after setting x-wait-for-event-timeout nil
1305         * src/w32term.c (x_make_frame_visible): Call unblock_input
1306         before returning early.  (Bug#34575)
1308 2019-02-19  Martin Rudalics  <rudalics@gmx.at>
1310         Fix two warnings in eshell.texi
1312         * doc/misc/eshell.texi (Built-ins, Globbing): Fix `.' or `,'
1313         must follow @xref, not `f' warnings.
1315 2019-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
1317         * lisp/minibuffer.el (completion-table-dynamic): Improve docstring
1319 2019-02-18  David Pathakjee  <dpathakjee@gmail.com>  (tiny change)
1321         * lisp/emacs-lisp/debug.el (debug-on-variable-change): Doc fix.  (Bug#34518)
1323 2019-02-17  Eli Zaretskii  <eliz@gnu.org>
1325         Fix a typo in ELisp manual
1327         * doc/lispref/abbrevs.texi (Abbrev Table Properties): Fix a
1328         typo.  (Bug#34508)
1330 2019-02-16  Paul Eggert  <eggert@cs.ucla.edu>
1332         Update citations of Internet RFCs
1334         For example, RFC 822 has been obsoleted by RFC 2822, which in
1335         turn has been obsoleted by RFC 5322.
1336         * doc/emacs/ack.texi, doc/lispref/os.texi:
1337         * doc/misc/emacs-mime.texi, doc/misc/gnus-coding.texi:
1338         * doc/misc/gnus.texi, doc/misc/sc.texi:
1339         * lisp/calendar/parse-time.el, lisp/gnus/gnus-cite.el:
1340         * lisp/gnus/gnus-util.el, lisp/gnus/message.el:
1341         * lisp/gnus/mm-bodies.el, lisp/gnus/nnrss.el:
1342         * lisp/mail/feedmail.el, lisp/mail/ietf-drums.el:
1343         * lisp/mail/mail-extr.el, lisp/mail/mail-utils.el:
1344         * lisp/mail/mailclient.el, lisp/mail/mailheader.el:
1345         * lisp/mail/rfc2047.el, lisp/mail/rfc822.el, lisp/mail/rmail.el:
1346         * lisp/mail/sendmail.el, lisp/mail/smtpmail.el:
1347         * lisp/mail/supercite.el, lisp/mh-e/mh-e.el:
1348         * lisp/mh-e/mh-utils.el, lisp/net/imap.el:
1349         * lisp/net/newst-backend.el, lisp/org/org-id.el:
1350         * lisp/ps-samp.el, lisp/simple.el, lisp/url/url-util.el:
1351         Update RFC citations.
1353 2019-02-16  Eli Zaretskii  <eliz@gnu.org>
1355         Fix handling of manpage references divided by hyphenation
1357         * lisp/man.el (Man-reference-regexp): Accept a newline as part
1358         of a manpage name only if it's preceded by a hyphen.  (Bug#34286)
1359         (Man-translate-references): Adapt to change in
1360         'Man-reference-regexp'.
1361         (Man-default-man-entry): Support references divided between
1362         two lines by an ASCII hyphen.  This is a left-over from fixing
1363         bug#6289.
1365 2019-02-16  Gregor Zattler  <telegraph@gmx.net>  (tiny change)
1367         * doc/misc/eshell.texi: Fix some @ref's.
1369 2019-02-16  Eli Zaretskii  <eliz@gnu.org>
1371         Fix a typo in lispref/syntax.texi
1373         * doc/lispref/syntax.texi (Syntax Table Internals): Fix a
1374         typo.  (Bug#34495)
1376 2019-02-15  Victor J. Orlikowski  <vjo@duke.edu>  (tiny change)
1378         Avoid errors in erc-dcc.el when erc-dcc-verbose is non-nil
1380         * lisp/erc/erc-dcc.el (erc-dcc-get-filter): Don't assume STR
1381         is always a string.  Use 'buffer-name' to get the DCC file
1382         name, as buffer-file-name is not set in the process buffer.
1384 2019-02-15  Daniel Lopez  <daniel.lopez999@gmail.com>  (tiny change)
1386         Fix faces in compilation messages
1388         * lisp/progmodes/compile.el (compilation-parse-errors): Don't
1389         clobber the value of TYPE inside the loop.  (Bug#34479)
1391 2019-02-15  Gregor Zattler  <telegraph@gmx.net>
1393         * doc/misc/eshell.texi (Built-ins): Fix alias description
1395         Dear eamcs developers, eshells current documentation first states
1396         that alias definitions are not saved to an alias file, later that
1397         they are saved to an alias file.  I tested it and the latter is
1398         correct.
1400         Please find attached a patch which fixes this.
1402         Thanks for working on emacs which is really great, Gregor
1404         >From 1fe51cc769ab7a30d0896fb3d6105c0561243fa7 Mon Sep 17 00:00:00 2001
1405         From: Gregor Zattler <telegraph@gmx.net>
1406         Date: Wed, 13 Feb 2019 20:19:38 +0100
1407         Subject: * doc/misc/eshell.texi (Built-ins): Fix alias description.
1409         Bring description of built-in 'alias' in line with (info "(eshell) Aliases"),
1410         which describes the actual behaviur.
1412         (cherry picked from commit a48099ce7ff63cda416a870766fe61f5b8ac7c2c)
1414 2019-02-14  Katsumi Yamaoka  <yamaoka@jpl.org>
1416         Work for empty MIME attachments (related to bug#34387)
1418         * lisp/gnus/mm-view.el (mm-inline-text):
1419         Make undisplayer do nothing if the part is empty.
1421         * lisp/gnus/mm-decode.el (mm-copy-to-buffer): Work for empty MIME part.
1422         * lisp/gnus/mml.el (mime-to-mml): Ditto.
1424 2019-02-14  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
1426         Backport: js-indent-align-list-continuation: Make variable safe
1428         * lisp/progmodes/js.el (js-indent-align-list-continuation): Indicate
1429         variable is safe as a file-local variable.  This fixes the
1430         js-indent-align-list-continuation-nil test when run with make.
1432         (cherry picked from commit dd319f2711f895eec87c1017b82cd9d88d9ecd0a)
1434 2019-02-13  Eli Zaretskii  <eliz@gnu.org>
1436         Avoid crashes upon C-g in nested invocations of 'read_char'
1438         * src/keyboard.c (read_char, read_event_from_main_queue):
1439         Ensure the global value of getcjmp is restored when the stack
1440         is unwound by the likes of 'throw', by calling
1441         record_unwind_protect_ptr instead of restoring the value
1442         manually.  (Bug#34394)
1443         (restore_getcjmp): Argument is now 'void *', to match the
1444         signature of record_unwind_protect_ptr.
1446         (cherry picked from commit 10527fca66e39d7067986904161fa33741abcd26)
1448 2019-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>
1450         * src/data.c (Fmake_local_variable): Fix bug#34318
1452         Revert part of ed962f2b8a.
1454         * test/src/data-tests.el (data-tests-make-local-forwarded-var):
1455         Add corresponding test.
1457 2019-02-12  Eli Zaretskii  <eliz@gnu.org>
1459         Minor fixes in ELisp manual wrt syntax-table properties
1461         * doc/lispref/syntax.texi (Syntax Properties): Fix reference
1462         to syntax-table properties.  (Bug#34455)
1463         (Control Parsing): Remove redundant @vindex entry.
1465 2019-02-12  Michael Albinus  <michael.albinus@gmx.de>
1467         * admin/notes/emba: New file.
1469 2019-02-11  Eli Zaretskii  <eliz@gnu.org>
1471         Fix Hunspell invocation for discovering its dictionaries
1473         * lisp/textmodes/ispell.el
1474         (ispell-find-hunspell-dictionaries): Invoke Hunspell with the
1475         -a switch, to prevent it from initializing its curses UI.
1476         (Bug#34272)
1478 2019-02-08  Eli Zaretskii  <eliz@gnu.org>
1480         Minor improvements to do strings in callproc.c
1482         * src/callproc.c (Fcall_process, Fcall_process_region): Minor
1483         fixes to doc strings.  Suggested by Nicholas Drozd
1484         <nicholasdrozd@gmail.com>.  (Bug#34274)
1486 2019-02-08  Eli Zaretskii  <eliz@gnu.org>
1488         Improve documentation of 'date-to-time' and 'parse-time-string'
1490         * doc/lispref/os.texi (Time Parsing): Document
1491         'parse-time-string', and refer to it for the description of
1492         the argument of 'date-to-time'.
1494         * lisp/calendar/time-date.el (date-to-time): Refer in the doc
1495         string to 'parse-time-string' for more information about the
1496         format of the DATE argument.  (Bug#34303)
1498 2019-02-08  Nick Drozd  <nicholasdrozd@gmail.com>
1500         Fix downloading of URLs that end in a slash
1502         * lisp/net/eww.el (eww-download-callback): Fix download URL
1503         file name.  Previously this wasn't handling download URLs
1504         correctly, resulting in all downloaded pages being named
1505         "!", "!(1)", etc.  (Bug#34291)
1507 2019-02-08  Nick Drozd  <nicholasdrozd@gmail.com>
1509         * doc/misc/eww.texi (Basics): Fix eww keybindings.  (Bug#34291)
1511 2019-02-08  Robert Pluim  <rpluim@gmail.com>
1513         Fix process-thread docstring
1515         * src/process.c (Fprocess_thread): Correct docstring.
1517 2019-02-08  Eli Zaretskii  <eliz@gnu.org>
1519         Fix failures of vc-find-revision with non-ASCII file names
1521         * lisp/vc/vc.el (vc-find-revision): Instead of binding
1522         coding-system-for-write, make the buffer-file-coding-system of
1523         the temporary buffer be no-conversion.  This avoids the
1524         unwanted side effect of not encoding the command-line
1525         arguments of the VCS commands invoked by the backend.
1526         (Bug#34350)
1528 2019-02-07  Eli Zaretskii  <eliz@gnu.org>
1530         * doc/lispref/tips.texi (Documentation Tips): Fix quotes.  (Bug#34372)
1532 2019-02-05  Alex Branham  <alex.branham@gmail.com>
1534         Add documentation for tabulated-list functions in the elisp manual
1536         * doc/lispref/modes.texi: Add documentation for
1537           'tabulated-list-delete-entry', 'tabulated-list-get-id',
1538           'tabulated-list-get-entry', 'tabulated-list-header-overlay-p',
1539           'tabulated-list-put-tag', and 'tabulated-list-set-col'.
1541         Bug#21074
1543 2019-02-03  Jean-Christophe Helary  <brandelune@gmail.com>
1545         Fix URL in ucs-normalize.el
1547         * lisp/international/ucs-normalize.el: Fix URL of the HFS
1548         normalization reference.  (Bug#34300)
1550 2019-02-03  Alan Mackenzie  <acm@muc.de>
1552         * etc/PROBLEMS: Amend entry for profiler bug #34235 to mention kernel 4.14.97
1554 2019-02-02  Glenn Morris  <rgm@gnu.org>
1556         * make-dist: Remove references to src/stamp-h.in.
1558         This file was removed two years ago in 2f89350.
1559         No need to merge to master.
1561 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
1563         * etc/PROBLEMS: Mention profiler-report bug (Bug#34235).
1565 2019-02-01  Eli Zaretskii  <eliz@gnu.org>
1567         Correct the docs of inserting kmacro counter
1569         * doc/emacs/kmacro.texi (Keyboard Macro Counter): Correct the
1570         description of the affect "C-u" has on inserting the macro
1571         counter.  Define "previous counter value".
1573         * lisp/kmacro.el (kmacro-insert-counter)
1574         (kmacro-start-macro-or-insert-counter): Fix the doc strings
1575         regarding the effect of "C-u".  (Bug#34263)
1577 2019-02-01  Nicholas Drozd  <nicholasdrozd@gmail.com>
1579         * doc/misc/calc.texi (Algebraic Tutorial): Fix a typo.  (Bug#34273)
1581 2019-02-01  Eli Zaretskii  <eliz@gnu.org>
1583         Avoid errors in 'rmail-get-new-mail'
1585         * lisp/mail/rmail.el (rmail-insert-inbox-text): Don't assume
1586         the Rmail protocol is always a string when calling
1587         'rmail-remote-proto-p'.  (Bug#34252)
1589 2019-01-31  Paul Eggert  <eggert@cs.ucla.edu>
1591         Fix process-contact bug with TCP connections
1593         This fixes a regression from Emacs 25.3 (Bug#34134).
1594         * src/process.c (server_accept_connection):
1595         Set host correctly, fixing a bug introduced in
1596         2017-09-16T21:29:18Z!eggert@cs.ucla.edu
1597         when working around a GCC bug.
1599 2019-01-29  Eli Zaretskii  <eliz@gnu.org>
1601         Minor copyedits in last manual change
1603         * doc/emacs/custom.texi (Authentication): Improve markup,
1604         indexing, and wording.
1606 2019-01-29  Eli Zaretskii  <eliz@gnu.org>
1608         Improve documentation of face numbers
1610         * doc/lispref/display.texi (Face Functions): Mention where the
1611         face number is used and that it depends on the 'face' property
1612         of the face symbol.  Improve indexing.
1614 2019-01-27  Michael Albinus  <michael.albinus@gmx.de>
1616         * doc/emacs/custom.texi (Authentication): Refer to the "Help for users" node.
1618 2019-01-26  Michael Albinus  <michael.albinus@gmx.de>
1620         New node Authentication in the Emacs manual
1622         * doc/emacs/custom.texi (Customization):
1623         * doc/emacs/emacs.texi (Top): Add node Authentication.
1625 2019-01-25  Alan Mackenzie  <acm@muc.de>
1627         Fix a loop in c-fl-decl-start.  This fixes bug #34186.
1629         * lisp/progmodes/cc-mode.el (c-fl-decl-start) In the pair of operations
1630         c-syntactic-skip-backward and c-forward-syntactic-ws, ensure the latter
1631         doesn't come back to the position before the former, and break out of the
1632         enclosing loop if it does.
1634 2019-01-25  Eli Zaretskii  <eliz@gnu.org>
1636         Fix LaTeX output of month and day from cal-tex.el
1638         * lisp/calendar/cal-tex.el (cal-tex-cursor-week-iso)
1639         (cal-tex-week-hours): Escape a lone blank, to make it through
1640         LaTeX.  (Bug#34148)
1642 2019-01-25  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>  (tiny change)
1644         Avoid elisp crash for OpenPGP User IDs with no e-mail address
1646         * lisp/gnus/mml-sec.el (mml-secure-check-user-id): Verify that
1647         there is an e-mail address in the current User ID before trying
1648         to downcase it.  (Bug#34121)
1650 2019-01-25  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>
1652         image-mode: Do not use default scaling (bug#33990)
1654         * lisp/image-mode.el (image-toggle-display-image): Set :scale == 1 so
1655         that create-image does not apply additional scaling.
1657 2019-01-25  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>
1659         create-image: Expand documentation (bug#33990)
1661         * lisp/image.el (create-image): Discuss default for :scale in the doc
1662         string.
1664 2019-01-21  Eli Zaretskii  <eliz@gnu.org>
1666         Improve documentation of 'isearch-filter-predicate'
1668         * lisp/isearch.el (isearch-filter-predicate)
1669         (isearch-filter-visible): Doc fixes.  (Bug#34150)
1671 2019-01-19  Trevor Spiteri  <tspiteri@ieee.org>  (tiny change)
1673         Fix cursor column positioning on Grep hits
1675         * lisp/progmodes/grep.el (grep-match-face): Move before first
1676         use, to avoid byte-compilation warning.
1677         (grep-regexp-alist): Don't quote grep-match-face.  (Bug#34068)
1679 2019-01-18  Eli Zaretskii  <eliz@gnu.org>
1681         Fix a typo in ELisp manual
1683         * doc/lispref/nonascii.texi (Converting Representations): Fix
1684         inconsistency between @defun and the argument description of
1685         'byte-to-string'.  (Bug#34119)
1687 2019-01-15  Alan Third  <alan@idiocy.org>
1689         Prevent redrawing if frame is garbaged
1691         * src/nsterm.m ([EmacsView viewWillDraw]): Cancel drawing if the frame
1692         has been garbaged.
1693         * src/xdisp.c (expose_window_tree, expose_frame): Remove NS only
1694         exceptions.
1696 2019-01-14  Eli Zaretskii  <eliz@gnu.org>
1698         Attempt to fix hangs on MS-Windows due to C-g
1700         * src/w32uniscribe.c (uniscribe_otf_capability): Set
1701         inhibit-quit around calls to otf_features, because the latter
1702         cons Lisp data structures while we are in a critical section.
1703         * src/xdisp.c (ALLOCATE_HDC) [HAVE_NTGUI]: Set inhibit-quit.
1704         (RELEASE_HDC) [HAVE_NTGUI]: Restore inhibit-quit.
1705         (OPTIONAL_HDC, DECLARE_HDC): Remove macros, their job is now
1706         done by ALLOCATE_HDC and by a single #ifdef.
1707         (draw_glyphs): Adapt to the above changes in macros.
1708         (Bug#34059)
1710 2019-01-13  Eli Zaretskii  <eliz@gnu.org>
1712         Fix Calc graph output on MS-Windows
1714         The previous code relied on "pgnuplot" executable, which is
1715         no longer provided with Gnuplot 5.x.
1716         * lisp/calc/calc.el (calc-gnuplot-name): Set to "pgnuplot" on
1717         MS-Windows only if such an executable exists.
1718         * lisp/calc/calc-graph.el (calc-graph-w32-p): New defsubst.
1719         (calc-graph-plot, calc-graph-command, calc-gnuplot-command)
1720         (calc-graph-init): Call calc-graph-w32-p wherever we need to
1721         do something special for invoking gnuplot on MS-Windows,
1722         instead of comparing against calc-gnuplot-name.
1723         (calc-graph-plot): Set the terminal to "qt" on MS-Windows when
1724         pgnuplot.exe is not available.
1725         (calc-graph-kill): Delete the temporary files only after
1726         killing the gnuplot process, otherwise the deletion might fail
1727         on MS-Windows because the files are still in use.
1729 2019-01-13  Eli Zaretskii  <eliz@gnu.org>
1731         Fix a minor mistake in ELisp manual
1733         * doc/lispref/buffers.texi (Modification Time): Fix
1734         documentation of 'visited-file-modtime'.  (Bug#34055)
1736 2019-01-12  Stephen Berman  <stephen.berman@gmx.net>
1738         * etc/tutorials/TUTORIAL: Fix typo (bug#34049)
1740 2019-01-12  Devon Sean McCullough  <Emacs-Hacker2018@jovi.net>
1742         Fix UI of Buffer-menu
1744         * lisp/buff-menu.el (Buffer-menu-execute): Don't remove
1745         entries of buffers whose killing the user didn't confirm.
1746         (Bug#33669)
1748 2019-01-12  Philip K  <philip@warpmail.net>  (tiny change)
1750         Reinitialize ispell-really-enchant when changing the speller
1752         * lisp/textmodes/ispell.el (ispell-check-version): Reset also
1753         ispell-really-enchant.  (Bug#34019)
1755 2019-01-07  Leo Liu  <sdl.web@gmail.com>
1757         Speed up loading css-mode
1759         lisp/textmodes/css-mode.el: Remove (require 'eww) which is redundant
1760         and slow.  (Bug#33939)
1762 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
1764         Adapt filenotify-tests for emba
1766         * .gitlab-ci.yml (test): Add EMACS_EMBA_CI variable.
1768         * test/lisp/filenotify-tests.el (file-notify-test03-events)
1769         (file-notify-test05-file-validity)
1770         (file-notify-test06-dir-validity)
1771         (file-notify-test07-many-events)
1772         (file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.
1774 2019-01-07  Nicolas Petton  <nicolas@petton.fr>
1776         Bump Emacs version to 26.1.91
1778         * README:
1779         * configure.ac:
1780         * msdos/sed2v2.inp:
1781         * nt/README.W32: Bump Emacs version to 26.1.91.
1783 2019-01-07  Nicolas Petton  <nicolas@petton.fr>
1785         * etc/AUTHORS: Update.
1787 2019-01-07  Leo Liu  <sdl.web@gmail.com>
1789         * lisp/textmodes/mhtml-mode.el: Avoid loading flyspell.  (Bug#33939)
1791 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1793         Improve GC+Cairo workaround
1795         Suggested by Eli Zaretskii (Bug#20890#31).
1796         * src/font.h (font_data_structures_may_be_ill_formed): New function.
1797         * src/ftfont.c (ftfont_close):
1798         * src/ftcrfont.c (ftcrfont_close): Use it.
1800         (cherry picked from commit d02fd482fbeaf6ed551e78223b538495cb0c3541)
1802 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1804         Work around GC+Cairo bug
1806         Workaround suggested by Robert Pluim (Bug#20890#13).
1807         * src/ftfont.c (ftfont_close) [USE_CAIRO]:
1808         Do nothing if GC is in progress.
1810 2019-01-05  Eli Zaretskii  <eliz@gnu.org>
1812         Improve commentary in font.h
1814         * src/font.h (struct font, struct font_driver): Fix typos and
1815         wording in comments.  Document all driver methods.
1817 2019-01-04  Martin Rudalics  <rudalics@gmx.at>
1819         Fix definition of Qwindow_point_insertion_type (Bug#33871)
1821         * src/window.c (Qwindow_point_insertion_type): Fix definition
1822         (Bug#33871).
1824 2019-01-04  Eli Zaretskii  <eliz@gnu.org>
1826         Improve documentation of 'server-name'
1828         * doc/emacs/misc.texi (Emacs Server, TCP Emacs server)
1829         (emacsclient Options):
1830         * lisp/server.el (server-name):  Document the usage of
1831         'server-name' to specify the server file as an absolute file
1832         name.  Do not merge to master.  (Bug#33934)
1834 2019-01-04  Eli Zaretskii  <eliz@gnu.org>
1836         Update Unicode copyright notice
1838         * admin/unidata/copyright.html: Updated version from the
1839         Unicode Consortium's site.
1841 2019-01-02  Michael Albinus  <michael.albinus@gmx.de>
1843         Handle quoted file names in filenotify.el
1845         * lisp/filenotify.el (file-notify-add-watch): Do not save
1846         quoted file names in `file-notify-descriptors'.
1848         * test/lisp/files-tests.el
1849         (files-file-name-non-special-notify-handlers): Do not expect
1850         to fail.
1852 2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>
1854         Fix copyright years by hand
1856         These are dates that admin/update-copyright did not update, or
1857         updated incorrectly.
1859 2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>
1861         Update copyright year to 2019
1863         Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
1865 2018-12-31  Eli Zaretskii  <eliz@gnu.org>
1867         * doc/man/emacs.1.in: Fix value of default frame height.  (Bug#33921)
1869 2018-12-30  Martin Rudalics  <rudalics@gmx.at>
1871         In user manual fix value of default frame height (Bug#33921)
1873         * doc/emacs/cmdargs.texi (Window Size X): Fix value of default
1874         frame height (Bug#33921).
1876 2018-12-29  Eli Zaretskii  <eliz@gnu.org>
1878         Improve documentation of 'file-local-name' and related APIs
1880         * doc/lispref/files.texi (Unique File Names)
1881         (Magic File Names, File Name Expansion): Improve documentation
1882         of the "local part" of a remote file name.
1883         * doc/lispref/processes.texi (Synchronous Processes)
1884         (Asynchronous Processes): State explicitly that program and
1885         file names passed to functions that start remote processes
1886         need to be relative or obtained by 'file-local-name'.
1888         * lisp/files.el (file-local-name):
1889         * lisp/simple.el (start-file-process, process-file): Improve
1890         the documentation of the "local part" of a remote file name,
1891         and its use in APIs that start remote processes.
1893 2018-12-29  Michael Albinus  <michael.albinus@gmx.de>
1895         Fix Bug#31704.  Do not merge
1897         * lisp/net/tramp.el (tramp-eshell-directory-change):
1898         Use `path-separator' as it does eshell.  (Bug#31704)
1900 2018-12-29  Michael Albinus  <michael.albinus@gmx.de>
1902         Fix Bug#31704.  Do not merge
1904         * lisp/eshell/esh-proc.el (eshell-gather-process-output): Do not
1905         let `expand-file-name' prefix remote file names with MS Windows
1906         volume letter.
1908         * lisp/net/tramp.el (tramp-eshell-directory-change):
1909         Use `path-separator' as it does eshell.  (Bug#31704)
1911 2018-12-29  Eli Zaretskii  <eliz@gnu.org>
1913         * lisp/files.el (cd): Fix last change.  (Bug#33791)
1915 2018-12-29  Eli Zaretskii  <eliz@gnu.org>
1917         Fix remote directories in Eshell on MS-Windows
1919         * lisp/files.el (cd): Support remote directory names on
1920         MS-Windows.  (Bug#33791)
1922 2018-12-29  Drew Adams  <drew.adams@oracle.com>
1924         Fix :type 'group' in defcustom
1926         * lisp/wid-edit.el (group): Fix the :format spec.  (Bug#33566)
1928 2018-12-28  Alan Third  <alan@idiocy.org>
1930         Fix NS fringe bitmap drawing bug (bug#33864)
1932         * src/nsterm.m (ns_draw_fringe_bitmap): Check the rectangle to clear
1933         correctly.
1935 2018-12-28  Eli Zaretskii  <eliz@gnu.org>
1937         Fix commentary in dispnew.c
1939         * src/dispnew.c (buffer_posn_from_coords): Fix inaccuracies in
1940         the commentary.
1942 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1944         Improve accept-process-process doc
1946         * doc/lispref/processes.texi (Accepting Output):
1947         * src/process.c (Faccept_process_output):
1948         Document that (accept-process-output P) can return non-nil
1949         even after P has exited, and that it can return nil even if P
1950         is still running (Bug#33839).
1952 2018-12-23  Stephen Leake  <stephen_leake@stephe-leake.org>
1954         Fix a simple bug in display-buffer-use-some-frame
1956         * lisp/window.el (display-buffer-use-some-frame): Simplify the
1957         predicate, fix TYPE arg to window--display-buffer.
1959 2018-12-23  Michael Albinus  <michael.albinus@gmx.de>
1961         Clarify thread switching while waiting for process output
1963         * doc/lispref/threads.texi (Threads): Clarify, that thread
1964         switching happens when waiting for process output from
1965         asynchronous processes.
1967 2018-12-22  Charles A. Roelli  <charles@aurox.ch>
1969         Improve process doc. with respect to handling of large input (Bug#33191)
1971         * src/process.c (Fprocess_send_region, Fprocess_send_string):
1972         Document that process input longer than the process input
1973         buffer may be split into bunches.  Remove an outdated
1974         reference to a 500 character split boundary.
1975         * doc/lispref/processes.texi (Asynchronous Processes): Remove
1976         mention of "stray character injections" in PTY processes.  See
1977         also the comment about ICANON in src/sysdep.c, function
1978         child_setup_tty.
1980 2018-12-22  Terrence Brannon  <metaperl@gmail.com>
1982         Minor copyedits in landmark.el
1984         * lisp/obsolete/landmark.el: Fix author's email and commentary.
1986 2018-12-20  Alan Mackenzie  <acm@muc.de>
1988         Check result from c-backward-token-2 to avoid infinite loop
1990         This fixes bug #33784.
1992         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): While moving back
1993         over enclosing parentheses, check that c-backward-token-2 actually moves.
1995 2018-12-19  Paul Eggert  <eggert@cs.ucla.edu>
1997         cl-make-random-state was not copying its arg
1999         Problem reported by Xu Chunyang (Bug#33731).
2000         * lisp/emacs-lisp/cl-extra.el (cl-make-random-state):
2001         Use copy-sequence, not copy-tree, so that the record is copied.
2002         * test/lisp/emacs-lisp/cl-extra-tests.el:
2003         (cl-extra-test-cl-make-random-state): New test.
2005 2018-12-19  Glenn Morris  <rgm@gnu.org>
2007         Skip a vc-bzr test if run as root
2009         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-faulty-bzr-autoloads):
2010         Skip this test when run as root.  This works around a race
2011         condition in root-specific code in vc-mode-line when deleting a file.
2013 2018-12-19  Chris Feng  <chris.w.feng@gmail.com>
2015         Backport: Handle unread-command-events consistently (bug#23980)
2017         * src/keyboard.c (read_char): Events put into `unread-command-events'
2018         with the form (t . EVENT) should always have the t stripped when read
2019         out.
2020         * test/src/keyboard-tests.el: New tests for `unread-command-events'.
2022         (cherry picked from commit 1f3f4b1296613b8cdc0632a68fde86e86ddad866)
2024 2018-12-19  Glenn Morris  <rgm@gnu.org>
2026         Restrict downcasing in elisp xref tests (bug#25534)
2028         The tests happen to not fail at the moment because find-library-name
2029         now has an extra feature, find-library--from-load-history, which
2030         happens to do a case-insensitive regexp match; but still it seems
2031         better not to rely on this.
2033         * test/lisp/progmodes/elisp-mode-tests.el (xref--case-insensitive):
2034         New variable.
2035         (xref-elisp-test-run, emacs-test-dir): Only downcase if the
2036         filesystem seems to be case-insensitive.
2038 2018-12-18  Rob Browning  <rlb@defaultvalue.org>
2040         Avoid test failures if directory name looks like a regexp
2042         Taken from <https://sources.debian.org/patches/emacs/1:26.1+1-1>
2043         * test/lisp/ibuffer-tests.el (ibuffer-filter-inclusion-3):
2044         * test/lisp/net/tramp-tests.el (tramp-test42-remote-load-path):
2045         Regexp-quote file names to avoid failures with directory names
2046         of the form "build/emacs-i87jK3/emacs-26.1+1/...".
2048 2018-12-18  Michael Albinus  <michael.albinus@gmx.de>
2050         Fix Bug#33524
2052         * lisp/progmodes/flymake-proc.el
2053         (flymake-proc-create-temp-with-folder-structure):
2054         Unquote file-name.  (Bug#33524)
2056 2018-12-17  Glenn Morris  <rgm@gnu.org>
2058         * doc/lispintro/emacs-lisp-intro.texi (Finding More): Fix xref.
2060 2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>
2062         More porting to GCC 8 of --enable-gcc-warnings
2064         Backport from master.
2065         I ran into this when building Emacs 26 with GCC 8 on Fedora 29 x86.
2066         * lwlib/lwlib-Xaw.h (xaw_update_one_value, xaw_popup_menu):
2067         * lwlib/lwlib-Xlw.h (xlw_update_one_value, xlw_pop_instance):
2068         * lwlib/lwlib.h (lw_allow_resizing, lw_set_main_areas) [!USE_MOTIF]:
2069         No longer const.
2070         * src/emacs-module.c: Ignore -Wcast-function-type.
2072 2018-12-15  Glenn Morris  <rgm@gnu.org>
2074         Fix an epg test for recent GnuPG versions (bug#33439)
2076         * test/lisp/epg-tests.el (epg-decrypt-1):
2077         Tell recent GnuPG (e.g. 2.2.11) not to worry about missing MDC.
2079 2018-12-14  Robert Pluim  <rpluim@gmail.com>
2081         Document font structure layout constraints
2083         This has to be the same as in src/ftcrfont.c and src/ftfont.c
2085         * src/xftfont.c (struct xftfont_info): Document layout constraints.
2087 2018-12-14  Robert Pluim  <rpluim@gmail.com>
2089         Document font structure layout constraints
2091         The layout of the initial members of ftcrfont_info must match
2092         ftfont_info
2094         * src/ftcrfont.c (struct ftcrfont_info): Likewise.
2096         * src/ftfont.c (struct ftfont_info): Document layout constraints.
2098 2018-12-14  Eli Zaretskii  <eliz@gnu.org>
2100         Fix display of line numbers in empty lines beyond EOB
2102         * src/xdisp.c (maybe_produce_line_number): When the current
2103         line is at EOB, use the 'line-number-current-line' face only
2104         on that single line, but not on the rest of empty lines beyond
2105         EOB.  (Bug#33732)
2107 2018-12-11  Eli Zaretskii  <eliz@gnu.org>
2109         Fix redisplay when a window's scroll bar or fringes are changed
2111         * src/window.c (set_window_fringes, set_window_scroll_bars):
2112         Set windows_or_buffers_changed flag to cause immediate
2113         thorough redisplay of a window when scroll bars or fringes are
2114         changed.  (Bug#33694)
2116 2018-12-11  Martin Rudalics  <rudalics@gmx.at>
2118         Tiny markup fix in Elisp manual
2120         * doc/lispref/lists.texi (Building Lists): Use '@var' instead
2121         of '@code' for argument.
2123 2018-12-10  Alan Mackenzie  <acm@muc.de>
2125         CC Mode: stop extra parens on expression causing false fontification as type
2127         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): recognize
2128         arithmetic operator followed by several open parentheses, not just one, as not
2129         being an argument list.
2131 2018-12-10  Ari Roponen  <ari.roponen@gmail.com>
2133         Fix cairo scrolling for side-by-side windows
2135         Backport: Fixes Bug#33442.
2137         * src/xterm.c (x_scroll_run) [USE_CAIRO]: Fix scrolling for
2138         side-by-side split windows.  (Bug#31288)
2140         (cherry picked from commit 6e362a32bc9d21f73a0f29ca6f45481edeea6f29)
2142 2018-12-10  Alan Mackenzie  <acm@muc.de>
2144         CC Mode: stop wrongly recognizing "func(a * 9)" as "pointer to type a"
2146         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): When testing for an
2147         identifier after "a *", on failure additionally check for a digit, setting a
2148         new flag variable got-number if one is found.  In the test for CASE 18, check
2149         this flag.
2151 2018-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
2153         * lisp/emacs-lisp/cursor-sensor.el: Add motivation
2155 2018-12-10  Raimon Grau  <raimonster@gmail.com>
2157         Guard occur against an undefined orig-line
2159         * lisp/replace.el (occur-engine): Avoid inserting the current line if
2160         orig-line is nil.  This happens, for example, when reverting an occur
2161         buffer with `list-matching-lines-jump-to-current-line' set to t.
2162         (Bug#33476)
2164 2018-12-09  Eli Zaretskii  <eliz@gnu.org>
2166         Indexing followup to recent changes
2168         * doc/lispref/text.texi (Special Properties): Index
2169         'cursor-sensor-inhibit'.  (Bug#33664)
2171 2018-12-09  Stefan Monnier  <monnier@iro.umontreal.ca>
2173         Improve documentation of cursor-sensor.el (bug#33664)
2175         * doc/lispref/text.texi (Special Properties): Mention cursor-sensor-inhibit.
2176         * lisp/emacs-lisp/cursor-sensor.el (Commentary): Add cursor-sensor-mode.
2177         (cursor-sensor-inhibit): Add docstring.
2179 2018-12-09  Stefan Monnier  <monnier@iro.umontreal.ca>
2181         * doc/lispref/commands.texi (Adjusting Point): Bug#33662
2183         Tweak text to clarify intangibility.
2185 2018-12-09  Michael Albinus  <michael.albinus@gmx.de>
2187         Tramp multi-hop methods must be inline
2189         * doc/misc/tramp.texi (Ad-hoc multi-hops): Involved methods must
2190         be inline methods.
2192 2018-12-08  Ari Roponen  <ari.roponen@gmail.com>
2194         Fix scaling problem in Cairo builds
2196         * src/xterm.c (x_begin_cr_clip) [USE_GTK]:
2197         (x_update_begin) [USE_CAIRO && USE_GTK]: Support scaling.
2198         (Bug#33442)
2200 2018-12-06  Juri Linkov  <juri@linkov.net>
2202         * lisp/simple.el (next-line-or-history-element): Use current-column
2204         in all position calculations.
2205         (previous-line-or-history-element): Idem.  (Bug#33640)
2207 2018-12-03  Martin Rudalics  <rudalics@gmx.at>
2209         A few further fixes of window internals description
2211         * doc/lispref/internals.texi (Window Internals): Add a few
2212         more items and clarify description of some others.
2214 2018-12-02  Eli Zaretskii  <eliz@gnu.org>
2216         Revert "Revert "Fix infloop in GC mark_kboards""
2218         This reverts commit c418c85617babbe7b63730fefb71e2c87a0141af.
2219         This reinstates the original fix, as it had nothing to do
2220         with the behavior reported in bug#33571, which seems to be
2221         the expected behavior.
2223 2018-12-02  Eli Zaretskii  <eliz@gnu.org>
2225         Revert "Fix infloop in GC mark_kboards"
2227         This reverts commit af914fc26db273d8788e7efa57c569f0f778d037,
2228         since it caused unintended adverse effects on echoing of keys.
2229         (Bug#33571)
2231 2018-12-02  Glenn Morris  <rgm@gnu.org>
2233         * lisp/emacs-lisp/subr-x.el (if-let, when-let): Doc fix: active voice.
2235 2018-12-01  Paul Eggert  <eggert@cs.ucla.edu>
2237         Fix infloop in GC mark_kboards
2239         Do not merge to master, as I have a more systematic fix there.
2240         * src/keyboard.c (mark_kboards): Fix infloop (Bug#33547).
2242 2018-12-01  Alan Third  <alan@idiocy.org>
2244         Fix macOS run-time feature check
2246         * src/nsterm.m (x_set_parent_frame) [NS_IMPL_COCOA]: Fix run-time
2247         feature check.
2249 2018-12-01  Stefan Monnier  <monnier@iro.umontreal.ca>
2251         * etc/NEWS-*: Fix capitalization of "Emacs"
2253 2018-12-01  Eli Zaretskii  <eliz@gnu.org>
2255         Fix "M-x man" when there's no 'man' program on PATH
2257         * lisp/man.el (Man-bgproc-sentinel): Make sure the process
2258         buffer is not read-only when inserting a message into it.
2259         (Bug#33510)
2261 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
2263         Fix core dump in dbus-message-internal
2265         Backport from master.
2266         * src/dbusbind.c (Fdbus_message_internal):
2267         Don’t go past array end (Bug#33530).
2269 2018-11-30  Michael Albinus  <michael.albinus@gmx.de>
2271         * doc/misc/dbus.texi (Type Conversion): Fix typo.  (Bug#33551)
2273 2018-11-30  Eli Zaretskii  <eliz@gnu.org>
2275         Improve documentation of gdb-mi.el
2277         * lisp/progmodes/gdb-mi.el (gdb-show-changed-values)
2278         (gdb-max-children): Doc fixes.
2280         * doc/emacs/building.texi (Source Buffers, Stack Buffer)
2281         (GDB User Interface Layout): Mention some additional
2282         customizable variables.  (Bug#33548)
2284 2018-11-29  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
2286         LDAP: Set process-connection-type to t on Darwin
2288         * lisp/net/ldap.el (ldap-search-internal): Set
2289         process-connection-type to t on Darwin.  Do not merge to
2290         master.  (Bug#33050)
2292 2018-11-28  Eli Zaretskii  <eliz@gnu.org>
2294         Fix a typo in a doc string
2296         * lisp/emacs-lisp/map-ynp.el (read-answer-short): Fix typo.
2297         (Bug#33528)
2299 2018-11-28  Eli Zaretskii  <eliz@gnu.org>
2301         Minor markup fix in frames.texi
2303         * doc/lispref/frames.texi (Frame Layout): Fix markup of @table
2304         entries.  (Bug#33531)
2306 2018-11-28  Glenn Morris  <rgm@gnu.org>
2308         * lisp/net/trampver.el (customize-package-emacs-version-alist):
2309         Add 2.3.3.
2311         * lisp/mh-e/mh-e.el (customize-package-emacs-version-alist): Additions.
2313 2018-11-27  Glenn Morris  <rgm@gnu.org>
2315         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Pass format to message.
2317 2018-11-27  Robert Pluim  <rpluim@gmail.com>
2319         Don't call xwidget functions until GTK has been initialized
2321         Follow up fix to Bug#33294.
2323         * src/gtkutil.c: Define xg_gtk_initialized.
2324         (xg_initialize): Set it when GTK has finished initializing.
2326         * src/gtkutil.h: Declare xg_gtk_initialized.
2328         * src/xwidget.c (Fmake_xwidget): Error out if GTK has not been
2329         initialized.
2330         (xwidget_init_view): Likewise.
2332 2018-11-27  Eli Zaretskii  <eliz@gnu.org>
2334         Improve documentation of Ediff wordwise commands
2336         * lisp/vc/ediff.el (ediff-windows-wordwise)
2337         (ediff-windows-linewise, ediff-regions-wordwise): Update and
2338         clarify the doc strings.
2340         * doc/misc/ediff.texi (Major Entry Points): Update and clarify
2341         the documentation of 'ediff-windows-wordwise' and
2342         'ediff-regions-wordwise'.  See the discussion starting at
2343         https://lists.gnu.org/archive/html/help-gnu-emacs/2018-11/msg00197.html
2344         for the details.
2346 2018-11-26  Eli Zaretskii  <eliz@gnu.org>
2348         Support Hunspell 1.7.0 in ispell.el
2350         * lisp/textmodes/ispell.el
2351         (ispell-find-hunspell-dictionaries): Invoke Hunspell with an
2352         additional command-line argument, to work around a misfeature
2353         in Hunspell 1.7.0 that prevents it from reporting the loaded
2354         dictionary.  (Bug#33493)
2356 2018-11-26  Eli Zaretskii  <eliz@gnu.org>
2358         Avoid clearing echo-area message by auto-save-visited-file-name
2360         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Record the
2361         previous echo-area message, if any, and restore it before
2362         exiting.  (Bug#33490)
2364 2018-11-25  Alan Third  <alan@idiocy.org>
2366         Set tooltip text color (bug#33452)
2369         * src/nsmenu.m: ([EmacsTooltip init]): Set text color to black.
2371 2018-11-25  Alan Third  <alan@idiocy.org>
2373         Fix more drawing bugs in NS port (bug#32932)
2375         * src/nsterm.m (ns_row_rect): New function.
2376         (ns_clip_to_row): Remove function.
2377         (ns_copy_bits): Fix mistake.
2378         (ns_shift_glyphs_for_insert): Mark the frame as dirty instead of
2379         directly copying.
2380         (ns_draw_fringe_bitmap): Stop using ns_clip_to_row.
2381         (ns_draw_window_cursor): Stop using ns_clip_to_row and perform a
2382         display when not in redisplay.
2383         (ns_update_window_begin): Remove redundant code that never executes.
2384         ([EmacsView drawRect:]): Show the rectangle being exposed in NSTRACE.
2385         * src/xdisp.c (expose_window_tree) [HAVE_NS]:
2386         (expose_frame) [HAVE_NS]: Redraw even if the frame is garbaged.
2388 2018-11-24  Alan Mackenzie  <acm@muc.de>
2390         Fix bug #33416, where typing a ) in a comment at EOB caused a loop (CC Mode).
2392         * lisp/progmodes/cc-mode.el (c-fl-decl-start): A c-forward-syntactic-ws leaves
2393         point inside whitespace when moving over a comment at EOB which has no
2394         terminating LF.  Check this possibility and correct for it.
2396 2018-11-24  Ulrich Müller  <ulm@gentoo.org>
2398         Update the calc units table
2400         On 2018-11-16, the 26th meeting of the General Conference on Weights
2401         and Measures (CGPM) has redefined the International System of Units by
2402         adopting fixed values for the Planck constant, the elementary charge,
2403         the Boltzmann constant, and the Avogadro constant:
2404         https://www.bipm.org/utils/en/pdf/CGPM/Draft-Resolution-A-EN.pdf
2406         * lisp/calc/calc-units.el (math-standard-units): Update according
2407         to redefinition of the SI in 2018.  (Bug#33412)
2409 2018-11-24  Eli Zaretskii  <eliz@gnu.org>
2411         Improve indexing in the ELisp manual
2413         * doc/lispref/control.texi (Control Structures, Sequencing)
2414         (Conditionals, Iteration, Catch and Throw, Handling Errors)
2415         (Cleanups):
2416         * doc/lispref/eval.texi (Self-Evaluating Forms)
2417         (Symbol Forms, Function Forms, Macro Forms, Special Forms)
2418         (Quoting, Backquote): Add index entries that begin with
2419         "forms".  (Bug#33440)
2421 2018-11-23  Eli Zaretskii  <eliz@gnu.org>
2423         More Symbola-related extensions for default fontset
2425         * lisp/international/fontset.el (setup-default-fontset): Add
2426         few more blocks of symbols and punctuation supported by latest
2427         Symbola.
2429 2018-11-23  Eli Zaretskii  <eliz@gnu.org>
2431         Better support for display of U+1F900..U+1F9FF block
2433         * lisp/international/fontset.el (setup-default-fontset): Add
2434         the [#x1F900..#x1F9FF] block to those supported by Symbola.
2436 2018-11-23  Eli Zaretskii  <eliz@gnu.org>
2438         Improve documentation of 'edit-abbrevs-mode'
2440         * lisp/abbrev.el (edit-abbrevs-mode): Refer to 'edit-abbrevs'
2441         for more detailed usage information.  (Bug#33443)
2442         (edit-abbrevs): Doc fix.
2444 2018-11-22  Eli Zaretskii  <eliz@gnu.org>
2446         Improve documentation of 'dired-do-compress'
2448         * lisp/dired-aux.el (dired-do-compress): Describe in the doc
2449         string the effect on directories and on compressed archive.
2450         (Bug#33450)
2452 2018-11-22  Eli Zaretskii  <eliz@gnu.org>
2454         Improve doc string and display of 'describe-character'
2456         * lisp/descr-text.el (describe-char): Explain how does the
2457         function obtain the various data about the character.  Don't
2458         display "preferred" before "charset": it tends to confuse
2459         people.
2461 2018-11-21  Eli Zaretskii  <eliz@gnu.org>
2463         * etc/NEWS: Clarify what 'Z' does in Dired.  (Bug#33450)
2465 2018-11-20  Eli Zaretskii  <eliz@gnu.org>
2467         Update the docs of object internals
2469         * doc/lispref/internals.texi (Buffer Internals)
2470         (Window Internals, Process Internals): Update the descriptions
2471         of Lisp objects.
2473 2018-11-19  Stephen Berman  <stephen.berman@gmx.net>
2475         Fix two Edebug defcustoms (bug#33428)
2477         * lisp/emacs-lisp/edebug.el (edebug-print-length)
2478         (edebug-print-level): Fix customization type to allow setting
2479         the documented valid value nil via the Customize interface.
2481 2018-11-19  Michael Albinus  <michael.albinus@gmx.de>
2483         Fix Bug#33141
2485         * lisp/net/tramp.el (tramp-make-tramp-file-name): Avoid check for
2486         empty method with simplified `tramp-syntax'.  (Bug#33141)
2488 2018-11-19  Eli Zaretskii  <eliz@gnu.org>
2490         Improve documentation of the window tree
2492         * doc/lispref/windows.texi (Windows and Frames): More accurate
2493         wording regarding the relation of a mini-window to its frame's
2494         window tree.
2496         * src/window.h (struct window): Improve commentary to some
2497         fields.
2499 2018-11-19  Eli Zaretskii  <eliz@gnu.org>
2501         Fix window scrolling on TTY frames when there's no mode line
2503         * src/window.c (window_internal_height): Remove tests for
2504         next, prev, and parent pointers, as they are unrelated to
2505         whether a window has a mode line.  (Bug#33363)
2507 2018-11-19  Eli Zaretskii  <eliz@gnu.org>
2509         Fix decoding XML files encoded in ISO-8859
2511         * lisp/international/mule.el (sgml-xml-auto-coding-function):
2512         Avoid signaling an error from coding-system-equal when the XML
2513         encoding tag specifies an encoding whose type is 'charset'.
2514         (Bug#33429)
2516 2018-11-19  Nicolas Petton  <nicolas@petton.fr>
2518         * etc/AUTHORS: Update.
2520 2018-11-18  Martin Rudalics  <rudalics@gmx.at>
2522         Fix description of some window hooks
2524         * doc/lispref/windows.texi (Window Hooks): Remove text that
2525         warns against using 'save-window-excursion' while running
2526         'window-size-change-functions', it's no more relevant.
2527         Clarify description of 'window-configuration-change-hook'.
2529 2018-11-18  Gary Fredericks  <fredericksgary@gmail.com>  (tiny change)
2531         Run 'window--adjust-process-windows' when frame size changes (Bug#32720)
2533         * lisp/window.el (window-size-change-functions): Run
2534         'window--adjust-process-windows' from
2535         'window-size-change-functions' too (Bug#32720, "another issue"
2536         in Bug#33230).
2538 2018-11-16  Eli Zaretskii  <eliz@gnu.org>
2540         Avoid errors in zone.el when there's overlay at EOB
2542         * lisp/play/zone.el (zone): Make sure the window-end position
2543         is calculated accurately, to avoid errors from
2544         buffer-substring.  (Bug#33384)
2546 2018-11-16  Eli Zaretskii  <eliz@gnu.org>
2548         Document Emacs 26 behavior of Dired's 'Z' on directories
2550         * doc/emacs/dired.texi (Operating on Files): Document behavior
2551         of 'Z' on directories.
2553         * etc/NEWS: Belatedly announce the new behavior of Dired's 'Z'
2554         on directory names and on .tar.gz archives.
2556 2018-11-15  Eli Zaretskii  <eliz@gnu.org>
2558         Fix a typo in the Emacs manual
2560         * doc/emacs/rmail.texi (Rmail Deletion): Fix a typo.
2561         Reported by Jorge P. de Morais Neto <jorge+list@disroot.org>
2562         in emacs-manual-bugs@gnu.org
2564 2018-11-15  Paul Eggert  <eggert@cs.ucla.edu>
2566         Fix tempfile creation when byte compiling
2568         This improves on the recent fix for master failing to build
2569         on FreeBSD.  Suggested by Stefan Monnier in:
2570         https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
2571         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
2572         Put tempfile next to the target file, as was the original intent.
2574         (cherry picked from commit 64c846738617d1d037eac0cefb6586c04317b0a1)
2576 2018-11-14  Markus Triska  <triska@metalevel.at>
2578         Small documentation correction.
2580         * doc/lispref/windows.texi (Textual Scrolling): In the description of
2581         scroll-up-aggressively, refer to scroll-down-aggressively instead of
2582         a recursive reference to scroll-up-aggressively.  (Bug#33369)
2584 2018-11-14  Eli Zaretskii  <eliz@gnu.org>
2586         * src/coding.c (Fcheck_coding_systems_region): Doc fix.  (Bug#33372)
2588 2018-11-14  Michael Albinus  <michael.albinus@gmx.de>
2590         Fix Bug#33364
2592         * lisp/net/tramp.el (tramp-parse-sconfig-group): Support also
2593         "Host host1 host2 ..." syntax.  (Bug#33364)
2595 2018-11-13  Michael Albinus  <michael.albinus@gmx.de>
2597         * test/README: Explain $REMOTE_TEMPORARY_FILE_DIRECTORY.
2599 2018-11-12  Glenn Morris  <rgm@gnu.org>
2601         Avoid kill-emacs-hook errors hanging batch mode
2603         * src/emacs.c (Fkill_emacs): Prevent errors from kill-emacs-hook
2604         hanging Emacs in batch mode.  (Bug#29955)
2606         (cherry picked from commit 109da684c5124e22505917fe0255ca66f2a6bfc9)
2608 2018-11-12  Nicolas Petton  <nicolas@petton.fr>
2610         Bump Emacs version to 26.1.90
2612         * README:
2613         * configure.ac:
2614         * msdos/sed2v2.inp:
2615         * nt/README.W32: Bump Emacs version to 26.1.90.
2617 2018-11-12  Nicolas Petton  <nicolas@petton.fr>
2619         * etc/AUTHORS: Update.
2621 2018-11-12  Paul Eggert  <eggert@cs.ucla.edu>
2623         Work around dumping bug on GNU/Linux ppc64le
2625         Problem reported by Thomas Fitzsimmons (Bug#33174).
2626         Do not merge to master, as we have a better fix there.
2627         * src/Makefile.in (emacs$(EXEEXT)):
2628         (bootstrap-emacs$(EXEEXT)):
2629         Unset EMACS_HEAP_EXEC before invoking temacs.
2631 2018-11-11  Eli Zaretskii  <eliz@gnu.org>
2633         * lisp/files.el (write-file): Clarify the doc string.  (Bug#33339)
2635 2018-11-11  Simen Heggestøyl  <simenheg@gmail.com>
2637         Fix typos in midnight.el
2639         * lisp/midnight.el (clean-buffer-list-delay-general)
2640         (clean-buffer-list-kill-regexps)
2641         (clean-buffer-list-kill-buffer-names): Fix docstring typos.
2643 2018-11-10  Eli Zaretskii  <eliz@gnu.org>
2645         Improve documentation of 'move-file-to-trash'
2647         * doc/emacs/files.texi (Misc File Ops): Index
2648         move-file-to-trash.  State that the way to restore trashed
2649         files is system-dependent.
2651 2018-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
2653         * src/data.c (Ftype_of): xwidget objects are possible! (bug#33294)
2655         (syms_of_data): Define Qwidget here.
2656         * src/xwidget.c (syms_of_xwidget): Instead of here.
2658 2018-11-09  Eli Zaretskii  <eliz@gnu.org>
2660         Improve documentation of Diff mode
2662         * doc/emacs/files.texi (Diff Mode): Document the effect of
2663         prefix argument on the Diff mode's commands.  Document
2664         'diff-jump-to-old-file'.
2666 2018-11-09  Noam Postavsky  <npostavs@gmail.com>
2668         Note that lex bound lambda forms are not self-quoting (Bug#33199)
2670         * doc/lispref/functions.texi (Anonymous Functions):
2671         * lisp/subr.el (lambda): Note that under lexical binding a lambda form
2672         yields a closure object (Bug#33199).
2674 2018-11-08  Martin Rudalics  <rudalics@gmx.at>
2676         Rewrite buffer display related doc-strings and doc
2678         * lisp/window.el (display-buffer-overriding-action)
2679         (display-buffer-alist, display-buffer-base-action)
2680         (display-buffer-fallback-action, display-buffer-assq-regexp)
2681         (display-buffer): Rewrite doc-strings using suggestions by
2682         Alan Mackenzie <acm@muc.de>.
2683         (display-buffer-use-some-frame): Adjust doc-string and
2684         reformat code.
2685         * doc/lispref/windows.texi (Buffer Display Action Alists):
2686         Make docs on 'window-height', 'window-width' and
2687         'preserve-size' entries more accurate.
2689 2018-11-06  Eli Zaretskii  <eliz@gnu.org>
2691         Fix call to GlobalMemoryStatusEx in w32.c
2693         * src/w32.c (system_process_attributes): Initialize the size
2694         of the data structure passed to GlobalMemoryStatusEx,
2695         otherwise it fails.
2697 2018-11-04  Eli Zaretskii  <eliz@gnu.org>
2699         Improve recent changes in documentation of window handling
2701         * doc/lispref/windows.texi (Displaying Buffers)
2702         (Choosing Window, Buffer Display Action Functions)
2703         (Buffer Display Action Alists, Choosing Window Options)
2704         (Precedence of Action Functions, The Zen of Buffer Display):
2705         Fix wording, punctuation, and markup.  Remove redundant
2706         cross-references.
2708         * doc/emacs/windows.texi (Window Choice, Temporary Displays):
2709         Fix wording and punctuation.
2711 2018-11-04  Martin Rudalics  <rudalics@gmx.at>
2713         Rewrite documentation of buffer display
2715         * doc/emacs/windows.texi (Window Choice): Rewrite, replacing
2716         references to older buffer display options with references to
2717         and examples of buffer display actions.
2718         (Temporary Displays): Rewrite display of *Completions*
2719         example.
2721         * doc/lispref/elisp.texi (Top): New Windows section
2722         'Displaying Buffers'.
2723         * doc/lispref/frames.texi (Child Frames): Adjust cross
2724         reference.
2725         * doc/lispref/windows.texi (Windows): New section 'Displaying
2726         Buffers'.  Move sections 'Choosing Window', 'Display Action
2727         Functions' and 'Choosing Window Options' there and adjust
2728         namings.  Preferably write 'Buffer Display Action' instead of
2729         'Display Action'.  More consistently use @w{} to make key
2730         binding specifications unsplittable.
2731         (Displaying Buffers): New section.
2732         (Choosing Window): Make it a subsection of 'Displaying
2733         Buffers'.  More explicitly describe how 'display-buffer'
2734         compiles its list of action functions and the action alist.
2735         (Buffer Display Action Functions): Rename from 'Display Action
2736         Functions', make it a subsection of 'Displaying Buffers' and
2737         rewrite it.  Elide more detailed descriptions of action alist
2738         entries; these are now in the new section 'Buffer Display
2739         Action Functions'.  Remove example.
2740         (Buffer Display Action Alists): New subsection of 'Displaying
2741         Buffers' giving a comprehensive description of recognized
2742         action alist entries with appropriate indexing.  Contents were
2743         partially moved here from the old 'Display Action Functions'
2744         section.
2745         (Choosing Window Options): Make it a subsection of 'Displaying
2746         Buffers'.  Add examples of how to rewrite old buffer display
2747         options with the help of buffer display actions.
2748         (Precedence of Action Functions): New subsection of
2749         'Displaying Buffers' explaining the execution order of action
2750         functions with the help of a detailed example.
2751         (The Zen of Buffer Display): New subsection of 'Displaying
2752         Buffers' supplying guidelines on how to write and use buffer
2753         display actions with examples.
2754         (Side Windows, Displaying Buffers in Side Windows)
2755         (Frame Layouts with Side Windows, Atomic Windows): Update
2756         references to the 'Displaying Buffers' subsections.
2758 2018-11-03  Eli Zaretskii  <eliz@gnu.org>
2760         Improve documentation of destructuring-binding macros
2762         * lisp/emacs-lisp/pcase.el (pcase-dolist, pcase-let)
2763         (pcase-let*): Improve the doc strings.
2765         * doc/lispref/sequences.texi (Sequence Functions): Improve
2766         wording and rename arguments of seq-let to be more
2767         descriptive.  Add a cross-reference to "Destructuring with
2768         pcase Patterns".
2769         * doc/lispref/control.texi (Pattern-Matching Conditional):
2770         Improve wording and the menu.
2771         (pcase Macro): Incorporate patch suggested by Paul Eggert
2772         <eggert@cs.ucla.edu>.  Reformat text.
2773         (Destructuring with pcase Patterns): Rename from
2774         "Destructuring patterns", and improve wording and indexing.
2776 2018-11-03  Eli Zaretskii  <eliz@gnu.org>
2778         Avoid byte compilation warning in rcirc.el
2780         * lisp/net/rcirc.el (rcirc-prompt-start-marker): Move
2781         definition before 1st use to avoild byte-compiler warning.
2783 2018-11-03  Basil L. Contovounesios  <contovob@tcd.ie>
2785         Avoid race in rcirc process filter (bug#33145)
2787         * lisp/net/rcirc.el (rcirc-filter): Clear rcirc-process-output
2788         before processing its constituent lines.  Otherwise, if rcirc-filter
2789         runs again before the last rcirc-process-server-response is
2790         finished, the contents of rcirc-process-output could be duplicated.
2792 2018-11-03  Jordan Wilson  <jordan.t.wilson@gmx.com>  (tiny change)
2794         Avoid file-name errors when viewing PDF from Gnus
2796         * lisp/doc-view.el (doc-view-mode): Run the output file name
2797         through 'convert-standard-filename', to avoid problems with
2798         characters that are not allowed in file names on some
2799         systems.  (Bug#32989)
2801 2018-11-02  Eli Zaretskii  <eliz@gnu.org>
2803         Avoid crashes with remapped default face in Org mode
2805         * src/xfaces.c (face_at_buffer_position): Look up BASE_FACE_ID
2806         anew if it is not in the frame's face cache.  This avoids
2807         crashes when Org mode sets up for a new major mode in embedded
2808         code fragment, and the default face is remapped.  (Bug#33222)
2810 2018-11-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
2812         Doc fix for checkdoc-continue
2814         * lisp/emacs-lisp/checkdoc.el (checkdoc-continue): There is no second
2815           optional argument, and the function always starts from point.
2817 2018-11-01  Eli Zaretskii  <eliz@gnu.org>
2819         Fix a typo in autoload.el
2821         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
2822         Remove stray backslashes.  (Bug#33231)
2824 2018-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
2826         * doc/lispref/control.texi (Destructuring patterns): New subsection.
2828 2018-10-31  Gemini Lasswell  <gazally@runbox.com>
2830         Add regression test for Bug#33014
2832         Backport from master.
2833         * test/src/eval-tests.el:
2834         (eval-tests-byte-code-being-evaluated-is-protected-from-gc): New test.
2835         (eval-tests-33014-var): New variable.
2836         (eval-tests-33014-func, eval-tests-33014-redefine): New functions.
2838 2018-10-31  Paul Eggert  <eggert@cs.ucla.edu>
2840         Refer to bytecode constant vectors (Bug#33014)
2842         Backport from master.
2843         * src/bytecode.c (exec_byte_code): Save VECTOR into stack slot
2844         so that it survives GC.  The stack slot was otherwise unused,
2845         so this doesn’t cost us memory, only a store insn.
2847 2018-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
2849         * lisp/emacs-lisp/pcase.el: Improve docstrings.
2851 2018-10-30  Eli Zaretskii  <eliz@gnu.org>
2853         * lisp/emacs-lisp/rx.el (rx): Fix typo in doc string.  (Bug#33205)
2855 2018-10-30  Eli Zaretskii  <eliz@gnu.org>
2857         Improve doc string of 'call-process'
2859         * src/callproc.c (Fcall_process): Clarify DESTINATION in the
2860         doc string.
2862 2018-10-30  Eli Zaretskii  <eliz@gnu.org>
2864         Document that generic functions cannot be commands
2866         * doc/lispref/commands.texi (Defining Commands):
2867         * doc/lispref/functions.texi (Generic Functions): Document
2868         that generic functions cannot be turned into commands.
2869         (Bug#33170)
2871 2018-10-28  Charles A. Roelli  <charles@aurox.ch>
2873         * lisp/mail/rmailsum.el (rmail-summary-output): Add lost word to doc.
2875 2018-10-28  Charles A. Roelli  <charles@aurox.ch>
2877         Add index entries for more isearch commands/bindings (Bug#32990)
2879         * doc/emacs/search.texi (Basic Isearch): Index isearch-exit,
2880         isearch-abort, isearch-cancel, isearch-repeat-forward,
2881         isearch-repeat-backward and their bindings.
2882         (Repeat Isearch): Index isearch-ring-advance,
2883         isearch-ring-retreat and isearch-edit-string.
2884         (Special Isearch): Index isearch-quote-char,
2885         isearch-char-by-name and their bindings.  Index
2886         isearch-query-replace and isearch-query-replace-regexp, and
2887         the latter's binding.  Explain what
2888         isearch-query-replace-regexp does.  Index isearch-complete.
2889         (Word Search): Index isearch-toggle-word.
2891 2018-10-27  Noam Postavsky  <npostavs@gmail.com>
2893         * lisp/simple.el (filter-buffer-substring): Clarify doc (Bug#33179).
2895 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
2897         Fix recent change in lispref/processes.texi.
2899         * doc/lispref/processes.texi (Asynchronous Processes): Clarify
2900         wording.  Suggested by Thomas Fitzsimmons <fitzsim@fitzsim.org>.
2901         (Bug#33050)
2903 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
2905         * lisp/simple.el (region-extract-function): Doc fix.  (Bug#33167)
2907         * lisp/simple.el (region-bounds): Doc fix.  (Bug#33168)
2909 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
2911         Improve documentation of 'process-connection-type'
2913         * doc/lispref/processes.texi (Asynchronous Processes): Clarify
2914         better when it is advisable to use pipes for communicating
2915         with subprocesses.  (Bug#33050)
2917 2018-10-27  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
2919         Unify prompt for gnupg passphrase between GNU/Linux and MS-Windows.
2921         * lisp/epg.el (epg--start): Use 'raw-text' for coding system instead
2922         of 'binary', in order to avoid spurious carriage return on Microsoft
2923         Windows and MS-DOS when prompting for a password.  (Bug#33040)
2925 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
2927         Doc fix of 'gnus-fetch-old-headers'
2929         * lisp/gnus/gnus-sum.el (gnus-fetch-old-headers): Avoid
2930         treating 'some' and 'invisible' as symbols that need to be
2931         hyperlinked.  Reported by Robert Pluim <rpluim@gmail.com>.
2932         (Bug#33090)
2934 2018-10-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
2936         Deactivate incorrect hyperlinking in gnus-build-sparse-threads doc
2938         * lisp/gnus/gnus-sum.el (gnus-build-sparse-threads): Add the word
2939         "symbol" so it doesn't link to the `some' function.  (Bug#33090)
2941 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
2943         Minor copyedits in cmdargs.texi
2945         * doc/emacs/cmdargs.texi (Initial Options): Document '-nsl'.
2946         Add a cross-reference to "Writing Dynamic Modules".
2948 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
2950         Improve documentation of X resource loading
2952         * doc/emacs/cmdargs.texi (Initial Options):
2953         * doc/emacs/frames.texi (Frame Parameters):
2954         * doc/emacs/xresources.texi (Resources): Document the
2955         '--no-x-resources' command-line option and the fact that X
2956         resources override .emacs settings of frame parameters.
2957         (Bug#32975)
2959 2018-10-27  Michael Albinus  <michael.albinus@gmx.de>
2961         * lisp/net/tramp-sh.el (tramp-inline-compress-commands):
2963         Suppress warnings about obsolete environment variable GZIP.
2965 2018-10-25  Noam Postavsky  <npostavs@gmail.com>
2967         Don't error when indenting malformed Lisp (Bug#30891)
2969         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-calc-next): If we run out
2970         of indent stack, reset the parse state.
2972 2018-10-25  Charles A. Roelli  <charles@aurox.ch>
2974         Improve 'isearch-delete-char' documentation (Bug#32990)
2976         * doc/emacs/search.texi (Basic Isearch): Index
2977         'isearch-delete-char', its keybinding and the isearch "input
2978         item" concept, and define the latter.
2979         (Error in Isearch): Clarify the different uses of DEL and
2980         C-M-w during isearch.
2982         * lisp/isearch.el (isearch-delete-char): Correct its
2983         documentation and link to the Info node '(emacs)Basic Isearch'
2984         which explains less technically how this function works in
2985         everyday usage.
2987 2018-10-25  Alan Third  <alan@idiocy.org>
2989         Improve XPM load failure message (bug#33126)
2991         * src/image.c (xpm_load_image): Only XPM3 is supported, so make that
2992         explicit.
2994 2018-10-25  Eli Zaretskii  <eliz@gnu.org>
2996         Avoid infloop in CPerl mode fontification
2998         * lisp/progmodes/cperl-mode.el
2999         (cperl-font-lock-fontify-region-function): Stop the loop at
3000         EOB, to avoid inflooping there.  (Bug#33114)
3002 2018-10-25  Andreas Schwab  <schwab@suse.de>
3004         Fix minibuffer-help-form for lexical binding
3006         * lisp/simple.el (set-variable): Substitute var into
3007         minibuffer-help-form.
3008         * lisp/cus-edit.el (custom-prompt-variable): Likewise.
3010 2018-10-24  Alan Third  <alan@idiocy.org>
3012         Fix some NS drawing issues (bug#32932)
3014         * src/nsterm.m (ns_clip_to_rect):
3015         (ns_reset_clipping): Remove gsaved variable and associated code.
3016         (ns_flush_display): Remove function.
3017         (ns_copy_bits): use translateRectsNeedingDisplayInRect:by: to copy any
3018         pending drawing actions along with the image.
3019         ([EmacsView windowWillResize:toSize:]): Remove unneeded call.
3020         ([EmacsView drawRect:]): Remove redundant call to ns_clear_frame_area,
3021         and optimize the exposed rectangles.
3022         (ns_draw_window_cursor): Remove unneeded disabling of screen updates.
3024 2018-10-24  Katsumi Yamaoka  <yamaoka@jpl.org>
3026         * lisp/gnus/mm-util.el (mm-decompress-buffer): Fix split-string args.
3028 2018-10-24  Noam Postavsky  <npostavs@gmail.com>
3030         * doc/misc/calc.texi (Summary): The +/- key is 'p', not 'P'.
3032 2018-10-23  Robert Pluim  <rpluim@gmail.com>
3034         Correct typo in GNU ELPA url
3036         * doc/misc/efaq.texi (Packages that do not come with Emacs):
3037         Correct typo in GNU ELPA url (Bug#33072).  Change other url
3038         references to use https scheme.
3040 2018-10-22  Eli Zaretskii  <eliz@gnu.org>
3042         * doc/misc/dired-x.texi (Omitting Variables): Fix wording. (Bug#33112)
3044 2018-10-20  Michael Heerdegen  <michael_heerdegen@web.de>
3046         Fix help-form binding in dired-create-files
3048         This fixes Bug#32630: since "dired-aux" moved to lexical binding mode,
3049         the free variable TO in the constructed HELP-FORM got out of scope of
3050         the surrounding 'let'.
3052         * lisp/dired-aux.el (dired-create-files): Make the binding of
3053         HELP-FORM a string.
3055 2018-10-20  Eli Zaretskii  <eliz@gnu.org>
3057         Fix a pasto in a Gnus doc string
3059         * lisp/gnus/gnus-art.el (gnus-article-treat-fold-newsgroups):
3060         Doc string fix.  (Bug#33081)
3062 2018-10-19  Mauro Aranda  <maurooaranda@gmail.com>  (tiny change)
3064         Update revert-buffer documentation
3066         * doc/emacs/files.texi (Reverting): Document that revert-buffer
3067         does keep undo history.  (Bug#33084)
3069 2018-10-18  Juri Linkov  <juri@linkov.net>
3071         * lisp/mail/smtpmail.el (smtpmail-send-queued-mail): Load file with .el suffix.
3073         For the case when load-prefer-newer is t, ensure loading the right file
3074         by explicitly adding the .el suffix.  Use the same variable names
3075         as in the function smtpmail-send-it.  (Bug#33055)
3077 2018-10-16  Glenn Morris  <rgm@gnu.org>
3079         Tweak Makefile emacs-module.h handling
3081         * Makefile.in (install-arch-indep, uninstall): Respect DESTDIR.
3082         Handle whitespace.  Remove non-portable mkdir argument.
3084         (cherry picked from commit c1d0dbd6ca92cb221024382b19654e4fbf1d1ed3)
3086 2018-10-16  Philipp Stephani  <phst@google.com>
3088         Install emacs-module.h (Bug#31929)
3090         * Makefile.in (includedir): New variable.
3091         (install-arch-indep): Install emacs-module.h.
3092         (uninstall): Uninstall emacs-module.h.
3094         (cherry picked from commit 00ea749f2af44bff6ea8c1259477fbf0ead8a306)
3096 2018-10-15  Alan Mackenzie  <acm@muc.de>
3098         Clarify documentation of fractional vertical scrolling and some doc strings
3100         * doc/lispref/windows.texi (vertical scrolling): Clarify the meaning of
3101         vertical scrolling by referring to tall screen lines, images, and the display
3102         action.  Clarify an ambiguous English tense.
3104         * src/window.c (window-vscroll, set-window-vscroll): Amend doc strings to
3105         refer to display.
3107 2018-10-15  Charles A. Roelli  <charles@aurox.ch>
3109         * lisp/isearch.el (isearch-cmds): Recall absent isearch--state slot.
3111 2018-10-14  Alan Mackenzie  <acm@muc.de>
3113         doc/lispref/edebug.texi (Specification List) Remove obstrusive blank line
3115 2018-10-14  Eli Zaretskii  <eliz@gnu.org>
3117         Fix wording in module API documentation
3119         * doc/lispref/internals.texi (Module Functions): Fix confusing
3120         wording.  Reported by Basil L. Contovounesios <contovob@tcd.ie>.
3122 2018-10-13  Eli Zaretskii  <eliz@gnu.org>
3124         Fix redisplay of glyphless characters
3126         * src/conf_post.h (bool_bf): Use 'unsigned int' in the MinGW
3127         builds.  Suggested by Tom Tromey <tom@tromey.com>.  (Bug#33017)
3128         * src/dispnew.c (scrolling_window): Update commentary
3129         regarding xwidget builds.
3131 2018-10-13  Robert Pluim  <rpluim@gmail.com>
3133         Update --without-toolkit-scroll-bars doc
3135         * configure.ac (--without-toolkit-scroll-bars): Update list of
3136         affected toolkits.
3138 2018-10-13  Robert Pluim  <rpluim@gmail.com>
3140         Call GTK functions only on GTK scrollbars
3142         * src/gtkutil.c (xg_set_background_color) [USE_TOOLKIT_SCROLL_BARS]:
3143         Don't call GTK functions on non-GTK scrollbars (Bug#32975).
3145 2018-10-13  Eli Zaretskii  <eliz@gnu.org>
3147         Update the description of startup in ELisp manual
3149         * doc/lispref/os.texi (Startup Summary): Remove stale
3150         reference to window-system-initialization-alist.  Reported by
3151         Zhang Haijun <ccsmile2008@outlook.com>.
3153 2018-10-13  Eli Zaretskii  <eliz@gnu.org>
3155         Use the 'line-number' face for line-number fields past EOB
3157         * src/xdisp.c (get_phys_cursor_geometry): Treat rows at and
3158         beyond ZV specially.  Don't let the cursor exceed the
3159         vertical dimensions of the row.
3160         (maybe_produce_line_number): Use the 'line-number' face
3161         instead of 'default' for blank fields beyond ZV.  Don't update
3162         the IT metrics when displaying blank line-number fields beyond
3163         ZV.  (Bug#32337)
3165 2018-10-12  Alan Third  <alan@idiocy.org>
3167         Ensure NS frame is redrawn correctly  after scroll
3169         * src/nsterm.m (ns_copy_bits): Set needsDisplay so the previous cursor
3170         position is redrawn.
3172 2018-10-12  Alex Branham  <alex.branham@gmail.com>
3174         Avoid byte-compiler warning in em-rebind.el
3176         * lisp/eshell/em-rebind.el (eshell-delete-backward-char): Use
3177         'delete-char' instead of delete-backward-char.  (Bug#32945)
3179 2018-10-12  Eli Zaretskii  <eliz@gnu.org>
3181         Improve indexing of 'C-SPC C-SPC'
3183         * doc/emacs/mark.texi (Disabled Transient Mark): Fix
3184         indexing.  (Bug#32959)
3186 2018-10-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
3188         Fix bug with precious entries in Gnus registry
3190         * lisp/registry.el (registry-collect-prune-candidates): This `cdr' was
3191           an error: it meant that the last key in the precious list, would be
3192           considered a nil. Since the precious list only contains the symbol
3193           'mark by default, marks were never considered precious.
3194         * doc/misc/gnus.texi (Store arbitrary data): Fix typo: "marks" should
3195           be "mark".
3197 2018-10-11  Eli Zaretskii  <eliz@gnu.org>
3199         Document in the ELisp manual how to write loadable modules
3201         * doc/lispref/internals.texi (Writing Dynamic Modules)
3202         (Module Initialization, Module Functions, Module Values)
3203         (Module Misc, Module Nonlocal): New nodes.
3204         * doc/lispref/loading.texi (Dynamic Modules): Add
3205         cross-reference to the new node.
3206         * doc/lispref/internals.texi (GNU Emacs Internals):
3207         * doc/lispref/elisp.texi (Top): Update menus for the new nodes.
3209 2018-10-11  Tino Calancha  <tino.calancha@gmail.com>
3211         dired-do-shell-command: Notify users after abort the command
3213         * lisp/dired-aux.el (dired-do-shell-command):  Notify users that
3214         the command have aborted when they answer 'n' to the prompt (Bug#32969).
3216 2018-10-11  Michael Albinus  <michael.albinus@gmx.de>
3218         Adapt Tramp version.  Do not merge with master
3220         * lisp/net/trampver.el: Change version to "2.3.5.26.2".
3221         (customize-package-emacs-version-alist): Add Tramp version
3222         integrated in Emacs 26.2.
3224 2018-10-10  Alan Third  <alan@idiocy.org>
3226         Fix Apple Script permissions error
3228         * nextstep/templates/Info.plist.in: Add NSAppleEventsUsageDescription
3229         message to enable AppleEvents usage.
3231 2018-10-10  Mauro Aranda  <maurooaranda@gmail.com>  (tiny change)
3233         Fix typo in 'timerp' documentation
3235         * doc/lispref/os.texi (Timers): Fix typo in 'timerp' documentation.
3236         (Bug#32999)
3238 2018-10-08  Charles A. Roelli  <charles@aurox.ch>
3240         * doc/emacs/mark.texi (Mark): Index "(de)activating the mark".
3242         (Bug#32956)
3244 2018-10-08  Scott Corley  <scott@scorley.com>  (tiny change)
3246         Fix overflow lockup with frames > 255 lines
3248         Backport from master.
3249         * src/scroll.c (struct matrix_elt): Change unsigned char fields to
3250         int to handle frames with more than 255 lines (Bug#32951).
3252 2018-10-07  Eli Zaretskii  <eliz@gnu.org>
3254         Avoid assertion violations in nonsensical calls to 'signal'
3256         * src/eval.c (Fsignal): If both arguments are nil, replace the
3257         first one with 'error', to avoid assertion violations further
3258         down the line.  (Bug#32961)
3260 2018-10-06  Charles A. Roelli  <charles@aurox.ch>
3262         * lisp/simple.el (transient-mark-mode): Correct documentation.  (Bug#32956)
3264 2018-10-06  Eli Zaretskii  <eliz@gnu.org>
3266         Update the locale and language database
3268         * lisp/international/mule-cmds.el (locale-language-names):
3269         Update the list of supported locales.  Use existing language
3270         names where available.
3272 2018-10-05  Eli Zaretskii  <eliz@gnu.org>
3274         Fix a typo in a doc string.
3276         * lisp/window.el (display-buffer-alist): Fix a typo in a doc string.
3277         Reported by Michael Heerdegen <michael_heerdegen@web.de>.
3279 2018-10-05  Katsumi Yamaoka  <yamaoka@jpl.org>
3281         Make nneething allow CRLF-encoded files (bug#32940)
3283         * lisp/gnus/nneething.el (nneething-request-article):
3284         Bind coding system to raw-text instead of binary when reading a file,
3285         that may be CRLF-encoded (bug#32940).
3287 2018-10-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
3289         Further fix to eieio-persistent
3291         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
3292           Make handling of hash tables and vectors recursive. This is
3293           necessary because the write process, in `eieio-override-prin1' is
3294           also recursive. With any luck, this will be the last fix of its
3295           kind. If that's true, cherry-pick to Emacs 26.2 later on.
3297 2018-10-04  Eli Zaretskii  <eliz@gnu.org>
3299         Avoid ridiculously high stack limit requests on macOS
3301         * src/emacs.c (main): Avoid wraparound in subtraction of
3302         rlim_t values, in case rlim_t is an unsigned type.  (Bug#32338)
3304 2018-10-03  Charles A. Roelli  <charles@aurox.ch>
3306         Improve documentation of 'read-hide-char'
3308         * src/minibuf.c (syms_of_minibuf) <Vread_hide_char>: Clarify
3309         documentation and mention where else the variable is used.
3310         * doc/lispref/minibuf.texi (Reading a Password): Add an index
3311         entry for 'read-hide-char'.
3313 2018-10-03  Alan Mackenzie  <acm@muc.de>
3315         In follow mode, prevent the cursor resting on a partially displayed line
3317         Don't merge to master.  This fixes bug #32848
3319         * lisp/follow.el (follow-adjust-window): If point ends up in a partially
3320         displayed line in a left hand or middle window, move it one line
3321         forward, to
3322         prevent unwanted scrolling should make-cursor-line-fully-visible be
3323         non-nil.
3325 2018-10-03  Alan Mackenzie  <acm@muc.de>
3327         Revert "Temporary workaround for bug #32848 for branch emacs-26"
3329         This reverts commit 6650751ce73413d05599df07a9c5bc70744260f3.
3331 2018-10-03  Alan Mackenzie  <acm@muc.de>
3333         Revert "* etc/NEWS: Note setting make-cursor-line-fully-visible to nil in follow-mode"
3335         This reverts commit f3c8f4bde2de2b9d42c44f5e44f34c427bebdc58.
3337 2018-10-03  Alan Mackenzie  <acm@muc.de>
3339         * etc/NEWS: Note setting make-cursor-line-fully-visible to nil in follow-mode
3341         Also re-insert the "temporary note" explaining --- and +++.
3343 2018-10-03  Noam Postavsky  <npostavs@gmail.com>
3345         Fix note about interactive advice (Bug#32905)
3347         * doc/lispref/functions.texi (Core Advising Primitives): Add missing
3348         ':', and finish the sentence fragment.
3350 2018-10-01  Michael Albinus  <michael.albinus@gmx.de>
3352         Comple fix for Bug#32550
3354         * lisp/net/tramp.el (tramp-rfn-eshadow-update-overlay):
3355         Use `save-excursion'.  This completes the fix of Bug#32550.
3357 2018-10-01  Eli Zaretskii  <eliz@gnu.org>
3359         * lisp/savehist.el (savehist-mode): Doc fix.  (Bug#32889)
3361 2018-09-30  Nicolas Goaziou  <mail@nicolasgoaziou.fr>
3363         Org manual: Rewrite the Org Mobile section
3365         * doc/misc/org.texi (Org Mobile): Rewritten from "MobileOrg" section.
3366         Remove all references to non-free software.
3367         Moved into "Miscellaneous", much like Org Crypt library. No longer an
3368         appendix.
3369         (Footnotes): Remove a reference to "MobileOrg".
3370         (Bug#32722)
3372 2018-09-30  Alan Mackenzie  <acm@muc.de>
3374         Temporary workaround for bug #32848 for branch emacs-26
3376         Do not merge with master.
3378         * lisp/follow.el (follow-mode): Set make-cursor-line-fully-visible to nil
3379         buffer locally whilst follow-mode is active.
3381 2018-09-29  Tino Calancha  <tino.calancha@gmail.com>
3383         Improve cl-do, cl-do* docstrings
3385         * lisp/emacs-lisp/cl-macs.el(cl-do, cl-do*):
3386         Improve docstring (Bug#32803).
3388 2018-09-29  Eli Zaretskii  <eliz@gnu.org>
3390         Avoid returning early in 'while-no-input' due to subprocesses
3392         * src/keyboard.c (kbd_buffer_store_buffered_event): Support
3393         also the internal buffer-switch events.
3394         (syms_of_keyboard) <Qbuffer_switch>: New DEFSYM.
3396         * lisp/subr.el (while-no-input-ignore-events): Ignore
3397         'buffer-switch' events.  Reported by Michael Heerdegen
3398         <michael_heerdegen@web.de>.
3400         * etc/NEWS: Mention the change in behavior of 'while-no-input'
3402 2018-09-29  John Shahid  <jvshahid@gmail.com>
3404         Cleanup when opening a new terminal fails. (Bug#32794)
3406         * src/term.c (init_tty): Call delete_terminal_internal if emacs_open
3407         fail.
3408         * src/terminal.c (delete_terminal): Move some code into
3409         delete_terminal_internal and call it.
3410         (delete_terminal_internal): New function.
3411         * src/termhooks.h: Prototype for delete_terminal_internal.
3413 2018-09-28  Alan Third  <alan@idiocy.org>
3415         Fix deprecation warning
3417         * src/nsterm.m (ns_term_init): Use writeToFile or writeToURL as
3418         required.
3420 2018-09-28  Alan Third  <alan@idiocy.org>
3422         Make all NS drawing be done from drawRect
3424         See bug#31904 and bug#32812.
3426         * src/nsterm.m (ns_update_begin): Don't lock focus, only clip if there
3427         is already a view focused.
3428         (ns_update_end): Don't mess with view focusing any more.
3429         (ns_focus): Only clip drawing if there is already a focused view,
3430         otherwise mark area dirty for later drawing.  Renamed ns_clip_to_rect.
3431         All callers changed.
3432         (ns_unfocus): Don't unfocus the view any more.  Renamed
3433         ns_reset_clipping. All callers changed.
3434         (ns_clip_to_row): Update to match ns_clip_to_rect.
3435         (ns_clear_frame):
3436         (ns_clear_frame_area):
3437         (ns_draw_fringe_bitmap):
3438         (ns_draw_window_cursor):
3439         (ns_draw_vertical_window_border):
3440         (ns_draw_window_divider):
3441         (ns_dumpglyphs_stretch):
3442         (ns_draw_glyph_string): Only draw if ns_focus or ns_clip_to_row
3443         return YES.
3444         (ns_copy_bits): Remove superfluous calls to ns_(un)focus.
3445         (ns_flush_display): New function.
3447 2018-09-28  Michael Albinus  <michael.albinus@gmx.de>
3449         Fix Bug#32828
3451         * lisp/net/dbus.el (dbus-init-bus): Return number of connections,
3452         as promised by the docstring.  (Bug#32828)
3454 2018-09-28  Noam Postavsky  <npostavs@gmail.com>
3456         * lisp/net/shr.el (shr-copy-url): Fix docstring.
3458 2018-09-27  Eli Zaretskii  <eliz@gnu.org>
3460         Fix typos in documentation
3462         * doc/misc/vhdl-mode.texi (Custom Indentation Functions):
3463         * doc/misc/url.texi (Customization):
3464         * doc/misc/tramp.texi (Overview):
3465         * doc/misc/srecode.texi (Developing Template Functions):
3466         * doc/misc/sieve.texi (Sieve Mode):
3467         * doc/misc/reftex.texi (Options - Creating Citations):
3468         * doc/misc/org.texi (Cooperation, Conflicts):
3469         * doc/misc/gnus.texi (Misc Group Stuff):
3470         * doc/misc/eshell.texi (Bugs and ideas):
3471         * doc/misc/calc.texi (Summary):
3472         * doc/man/emacsclient.1:
3473         * doc/lispref/os.texi (Security Considerations):
3474         * doc/lispref/control.texi (pcase Macro):
3475         * CONTRIBUTE: Fix typos.  Reported by Mak Kolybabi
3476         <mak@kolybabi.com>  (Bug#32853)
3478 2018-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
3480         * doc/emacs/kmacro.texi (Basic Keyboard Macro): Mention old bindings
3482         According to Apple gospel, function keys are partly going the way of the dodo
3483         so F3/F4 can, like in the good old days, be hard to reach for some users.
3485 2018-09-24  Eli Zaretskii  <eliz@gnu.org>
3487         Improve docs of functions/variables related to 'display-buffer'
3489         * lisp/window.el (display-buffer, pop-to-buffer-same-window)
3490         (display-buffer-same-window, display-buffer-in-side-window)
3491         (same-window-p, display-buffer-overriding-action)
3492         (display-buffer-base-action)
3493         (display-buffer--same-window-action)
3494         (display-buffer--other-frame-action)
3495         (with-current-buffer-window, with-displayed-buffer-window)
3496         (display-buffer-alist, display-buffer-assq-regexp)
3497         (display-buffer-other-frame): Clarify and improve the doc
3498         strings.  (Bug#32798)
3500 2018-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
3502         * lisp/mouse.el (tear-off-window): Fix non-mouse use (bug#32799)
3504 2018-09-22  Eli Zaretskii  <eliz@gnu.org>
3506         Improve documentation of directory-local variables
3508         * lisp/files.el (hack-local-variables, normal-mode)
3509         (after-find-file, find-file-hook): Mention directory-local
3510         variables in the doc strings.  Suggested by Marcin Borkowski
3511         <mbork@mbork.pl>.
3513         * doc/emacs/custom.texi (File Variables, Directory Variables):
3514         Clarify that directory-local variables are overridden by
3515         file-local ones.
3517 2018-09-22  Eli Zaretskii  <eliz@gnu.org>
3519         Don't use obsolete variable 'save-place' in documentation
3521         * doc/lispref/customize.texi (Variable Definitions): Replace
3522         example of saveplace defcustom with a fictitious one, which
3523         will not bit-rot with time.  (Bug#32741)
3525 2018-09-22  Mark A. Hershberger  <mah@everybody.org>
3527         Use save-place-mode instead of save-place
3529         * lisp/menu-bar.el (menu-bar-options-save, menu-bar-options-menu):
3530         * lisp/saveplace.el (save-place-to-alist, save-places-to-alist)
3531         (save-place-find-file-hook, save-place-dired-hook): Use
3532         save-place-mode instead of the obsolete save-place.
3534 2018-09-20  Eli Zaretskii  <eliz@gnu.org>
3536         More accurate docs for 'text-char-description'
3538         * src/keymap.c (Ftext_char_description):
3539         * doc/lispref/help.texi (Describing Characters): More accurate
3540         description of 'text-char-description'.  Remove incorrect
3541         examples from the ELisp manual.  (Bug#32743)
3543 2018-09-20  Noam Postavsky  <npostavs@gmail.com>
3545         Document synchronous behavior of eshell/make (Bug#32513)
3547         * doc/misc/eshell.texi (Built-ins):
3548         * lisp/eshell/em-unix.el (eshell/make): Mention that it falls back to
3549         the external 'make' command when called synchronously.
3551 2018-09-20  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
3553         Fix bs-show with wide characters (Bug#17822)
3555         * lisp/bs.el (bs--insert-one-entry, bs-show-in-buffer): Use
3556         string-width instead of length.
3558 2018-09-19  Eli Zaretskii  <eliz@gnu.org>
3560         Improve Custom menu labels for 2 options
3562         * lisp/dired.el (dired-use-ls-dired):
3563         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Improve
3564         the doc string and the defcustom menu/tags text.  (Bug#32756)
3566 2018-09-19  Eli Zaretskii  <eliz@gnu.org>
3568         Improve wording of last change in dired-x.texi
3570         * doc/misc/dired-x.texi (Shell Command Guessing): Clarify
3571         wording in description of 'dired-guess-shell-alist-user'.
3572         Avoid passive tense.  (Bug#32733)
3574 2018-09-18  Eli Zaretskii  <eliz@gnu.org>
3576         Fix GnuTLS test suite with GnuTLS versions 3.4.x
3578         * src/gnutls.c (gnutls_cipher_get_tag_size): Make it return
3579         zero only for versions of GnuTLS < 3.2.2, where
3580         gnutls_cipher_get_tag_size was introduced.  This fixes the
3581         GnuTLS test suite, which assumes that any cipher whose tag
3582         size is non-zero is AEAD-capable, and doesn't test such ciphers
3583         if AEAD is not available, i.e. for GnuTLS < 3.5.1.  (Bug#32446)
3585 2018-09-17  Noam Postavsky  <npostavs@gmail.com>
3587         Fix build with gnutls versions 3.0 to 3.2 (Bug#32446)
3589         We previously used functions available only in 3.2+ for all 3.x
3590         versions.
3591         * src/gnutls.c [GNUTLS_VERSION_NUMBER < 0x030501]: Replace calls to
3592         gnutls_cipher_get_tag_size with 0.
3593         [GNUTLS_VERSION_NUMBER < 0x030200]: Alias gnutls_cipher_get_iv_size
3594         to gnutls_cipher_get_block_size, gnutls_digest_list to
3595         gnutls_mac_list, and gnutls_digest_get_name to gnutls_mac_get_name.
3596         [WINDOWSNT]: Adjust DLL function definitions and declarations
3597         accordingly.
3599 2018-09-17  Eli Zaretskii  <eliz@gnu.org>
3601         Fix the Bubbles game on TTY frames
3603         * lisp/play/bubbles.el (bubbles--col-offset)
3604         (bubbles--row-offset): Doc fixes.
3605         (bubbles--compute-offsets): Conflate the GUI and TTY code into
3606         a single common version.  Set the offsets to simple numbers,
3607         not to lists.
3608         (bubbles--initialize, bubbles--show-scores): Wrap offset
3609         values in a list, so that they are interpreted as pixel
3610         values, not as units of character width.  This fixes the game
3611         on TTY frames.  (Bug#32744)
3613 2018-09-17  Allen Li  <darkfeline@felesatra.moe>
3615         Add choice to reshow certificate information (Bug#31877)
3617         In various situations, the window displaying the certificate
3618         information can be hidden (such as if the user accidentally presses ?,
3619         which causes the read-multiple-choice help window to replace it).
3620         Instead of leaving the user to make a choice blindly, add a choice to
3621         reshow the certification information.
3623         * lisp/net/nsm.el (nsm-query-user): Add reshow choice.
3625 2018-09-16  Glenn Morris  <rgm@gnu.org>
3627         * src/alloc.c (Fbool_vector, Flist, Fvector): Doc tweak.
3629         Use a simpler, consistent form.
3631 2018-09-15  Alan Mackenzie  <acm@muc.de>
3633         * src/alloc.c (vector): Fix grammatical error in doc string: "are" -> "is".
3635 2018-09-15  Eli Zaretskii  <eliz@gnu.org>
3637         Avoid adverse side effects of fixing bug#21824
3639         * test/src/buffer-tests.el
3640         (overlay-modification-hooks-deleted-overlay): New test.
3642         * src/buffer.c (report_overlay_modification): Don't bypass all
3643         the overlay-modification hooks; instead, invoke each function
3644         only if the buffer associated with the overlay is the current
3645         buffer.  (Bug#30823)
3647 2018-09-15  Eli Zaretskii  <eliz@gnu.org>
3649         Document changes called out in NEWS
3651         * doc/lispref/lists.texi (Association Lists): Document
3652         'assoc-delete-all'.
3653         * doc/lispref/minibuf.texi (Minibuffers): Adapt menu.
3654         (Multiple Queries): Document 'read-answer'.
3656         * etc/NEWS: Reflect the above documentation in the respective
3657         entries.
3659 2018-09-14  Glenn Morris  <rgm@gnu.org>
3661         Tiny doc updates re yum/dnf etc
3663         * INSTALL: Mention dnf and Debian unversioned emacs package.
3664         * doc/misc/efaq.texi (Installing Emacs): Mention dnf.
3666 2018-09-14  Leo Liu  <sdl.web@gmail.com>
3668         Remove unused variable
3670         * lisp/progmodes/prolog.el (prolog-hungry-delete-key-flag): Remove.
3672 2018-09-14  Leo Liu  <sdl.web@gmail.com>
3674         Fix (thing-at-point 'list) regression (Bug#31772)
3676         * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point): Revert
3677           to pre 26.1 behavior.  Return whole sexp at point if no enclosing
3678           list.
3679           (list-at-point): New optional arg to ignore comments and strings.
3681         * test/lisp/thingatpt-tests.el
3682           (thing-at-point-bounds-of-list-at-point): Fix and augment tests.
3684 2018-09-14  Robert Pluim  <rpluim@gmail.com>
3686         Clarify meaning of '*'
3688         * doc/misc/dired-x.texi (Shell Command Guessing): Clarify meaning
3689         of '*'. (Bug#32733)
3691 2018-09-12  Paul Eggert  <eggert@cs.ucla.edu>
3693         * etc/PROBLEMS: Document Ubuntu 16.04 issue.
3695 2018-09-12  Alex Branham  <alex.branham@gmail.com>  (tiny change)
3697         Increase default value for imenu-auto-rescan-maxout
3699         * lisp/imenu.el (imenu-auto-rescan-maxout): Increase default value to
3700           600000.  (Bug#18426)
3701         * doc/emacs/programs.texi (imenu-auto-rescan-maxout): Add
3702           documentation for imenu-auto-rescan-maxout.
3704 2018-09-11  Eli Zaretskii  <eliz@gnu.org>
3706         Improve recent change to ELisp manual
3708         * doc/lispref/commands.texi (Keyboard Events): Add index entry
3709         for "character event".  (Bug#32562)
3711 2018-09-11  Eli Zaretskii  <eliz@gnu.org>
3713         * doc/lispref/display.texi (SVG Images): Improve wording.
3715         * doc/lispref/display.texi (SVG Images): Fix a typo.  (Bug#32690)
3717 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
3719         Clarify completion text in the ELisp manual
3721         * doc/lispref/minibuf.texi (Programmed Completion): Clarify
3722         text.  Suggested by Stefan Monnier <monnier@iro.umontreal.ca>.
3724 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
3726         Fix handling of abbreviated control command in gdb-mi.el
3728         * lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp):
3729         Support unambiguous abbreviations of commands.  (Bug#32576)
3731 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
3733         Clarify documentation of functions reading character events
3735         * doc/lispref/help.texi (Describing Characters):
3736         * doc/lispref/commands.texi (Keyboard Events)
3737         (Reading One Event, Classifying Events): Make the distinction
3738         between characters and character events more explicit.
3740         * src/keymap.c (Ftext_char_description)
3741         (Fsingle_key_description):
3742         * src/lread.c (Fread_char, Fread_char_exclusive): Doc fixes,
3743         to make a clear distinction between a character input event
3744         and a character code.  (Bug#32562)
3746 2018-09-07  Eli Zaretskii  <eliz@gnu.org>
3748         Record :version for built-in variables while dumping
3750         * lisp/cus-start.el (standard): Record the ':version; of the
3751         symbols when dumping, so that 'describe-variable' could tell
3752         which built-in variables were added/changed in recent
3753         versions.
3755 2018-09-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3757         * src/process.c (connect_network_socket): Fix memory leak.  (Bug#32604)
3759 2018-09-05  Glenn Morris  <rgm@gnu.org>
3761         * Makefile.in (appdatadir): Use the non-obsolete location "metainfo".
3763 2018-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>
3765         Better fix for bug#32550
3767         * lisp/rfn-eshadow.el (rfn-eshadow-overlay): Give it a global default.
3769         * lisp/net/tramp.el (rfn-eshadow-overlay): Declare it as dynamically scoped.
3770         (tramp-rfn-eshadow-update-overlay): Revert the corresponding part of
3771         last change.
3773 2018-09-04  Michael Albinus  <michael.albinus@gmx.de>
3775         Fix Bug#32550
3777         * lisp/net/tramp.el (tramp-rfn-eshadow-setup-minibuffer): Do not
3778         use `symbol-value'.
3779         (tramp-rfn-eshadow-update-overlay): Do not use `symbol-value'.  Do
3780         not let-bind `rfn-eshadow-overlay', assign it directly (due to
3781         lexical binding).  (Bug#32550)
3783 2018-09-04  Martin Rudalics  <rudalics@gmx.at>
3785         Don't call XGetGeometry for frames without outer X window (Bug#32615)
3787         * src/xfns.c (frame_geometry): Don't call XGetGeometry when
3788         FRAME has no outer X window; return nil instead.  (Bug#32615)
3790 2018-09-03  Paul Eggert  <eggert@cs.ucla.edu>
3792         * lisp/calculator.el: Fix doc typo.
3794 2018-09-03  Glenn Morris  <rgm@gnu.org>
3796         Standardize calc bug reporting instructions
3798         * doc/misc/calc.texi (Reporting Bugs): Use standard commands.
3799         * lisp/calc/calc-misc.el (report-calc-bug, calc-report-bug):
3800         * lisp/calc/calc.el (calc-bug-address): Change to be
3801         obsolete aliases for standard Emacs bug reporting items.
3803 2018-08-31  Michael Albinus  <michael.albinus@gmx.de>
3805         Rename thread-alive-p to thread-live-p
3807         * doc/lispref/threads.texi (Basic Thread Functions): Use thread-live-p.
3809         * etc/NEWS: 'thread-alive-p' has been renamed to 'thread-live-p'.
3811         * src/thread.c (thread_live_p): Rename from thread_alive_p.  Adapt
3812         all callees.
3813         (Fthread_live_p): Rename from Fthread_alive_p.
3814         (syms_of_threads): Make thread-alive-p an alias of thread-live-p.
3816         * test/src/thread-tests.el (all): Replace `thread-alive-p' by
3817         `thread-live-p'.
3818         (threads-live): Rename from `threads-alive'.
3820 2018-08-30  Miciah Masters  <miciah.masters@gmail.com>  (tiny change)
3822         rcirc: Document /reconnect as a built-in command (Bug#29656)
3824         The change "New command rcirc-cmd-reconnect" from 2014-04-09 (shipped
3825         in Emacs 25.1) added a /reconnect command to rcirc but did not
3826         document it and did not delete the example /reconnect command
3827         definition in the manual.
3828         * doc/misc/rcirc.texi (rcirc commands): Document the built-in /reconnect
3829         command.
3830         (Hacking and Tweaking): Delete example reconnect command.
3832 2018-08-30  Noam Postavsky  <npostavs@gmail.com>
3834         * test/lisp/calc/calc-tests.el (calc-imaginary-i): New test.
3836 2018-08-28  Glenn Morris  <rgm@gnu.org>
3838         admin.el: respect environment settings for makeinfo etc
3840         * admin/admin.el (manual-makeinfo, manual-texi2pdf, manual-texi2dvi):
3841         New variables.
3842         (manual-html-mono, manual-html-node, manual-pdf, manual-ps): Use them.
3844 2018-08-28  Glenn Morris  <rgm@gnu.org>
3846         * etc/PROBLEMS: New entry about GTK+ 3 crash with some X servers.
3848 2018-08-28  Noam Postavsky  <npostavs@gmail.com>
3850         Index profiler commands in elisp manual
3852         * doc/lispref/debugging.texi (Profiling): Add index entries for
3853         profiler-start, profiler-report, profiler-stop.
3855 2018-08-28  Noam Postavsky  <npostavs@gmail.com>
3857         Fix math-imaginary-i check
3859         Reported by Bastian Erdnüß at
3860         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00300.html>.
3861         * lisp/calc/calc-cplx.el (math-imaginary-i): Check for a value
3862         of (polar 1 <quarter-circle>).
3864 2018-08-28  Eli Zaretskii  <eliz@gnu.org>
3866         Avoid infinite hscrolling loops when line numbers are displayed
3868         * src/xdisp.c (maybe_produce_line_number): Don't produce line
3869         numbers if we don't have enough screen estate.  (Bug#32351)
3871 2018-08-28  Eli Zaretskii  <eliz@gnu.org>
3873         Avoid crashes in malformed defvar
3875         * src/eval.c (Fdefvar): Don't call XSYMBOL on something that
3876         might not be a symbol.  This avoids crashes due to malformed
3877         'defvar' forms.  (Bug#32552)
3879 2018-08-28  Glenn Morris  <rgm@gnu.org>
3881         * configure.ac (emacs_config_features): Add GLIB, XDBE, XIM.
3883         * configure.ac: Doc fixes related to --with-xim.
3885 2018-08-28  Glenn Morris  <rgm@gnu.org>
3887         Small checkdoc quoting fix (bug#32546)
3889         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
3890         Fix quoting thinko.
3892 2018-08-26  Sergey Vinokurov  <serg.foo@gmail.com>
3894         Fix detection of freed emacs_values (Bug#32479)
3896         * src/emacs-module.c (module_free_global_ref): Compare a value to be
3897         freed with all entries of the list.
3899         * test/data/emacs-module/mod-test.c (Fmod_test_globref_free): New
3900         function.
3901         (emacs_module_init): Make it accessible from Lisp.
3902         * test/src/emacs-module-tests.el (mod-test-globref-free-test): New
3903         test which uses it.
3905 2018-08-25  Eli Zaretskii  <eliz@gnu.org>
3907         Avoid crashes with very wide TTY frames on MS-Windows
3909         * src/w32console.c <glyph_base>: Reduce the number of elements
3910         to 80.
3911         <glyphs, glyphs_len>: New static variables.
3912         (w32con_clear_end_of_line): If the line is wider than the
3913         current size of the "empty row" in 'glyphs', reallocate
3914         'glyphs' to support the full width of the frame.  This
3915         avoids segfaults when the frame is wider than 256 columns.
3916         (Bug#32445)
3918 2018-08-25  Wenjamin Petrenko  <wenjamin.petrenko@yandex.ru>  (tiny change)
3920         Prevent `modify-file-local-variable-prop-line' from adding extra ';'
3922         * lisp/files-x.el (modify-file-local-variable-prop-line): Handle
3923         whitespace when checking if there's already a ';' before the
3924         variable (Bug#23294).
3926 2018-08-24  Glenn Morris  <rgm@gnu.org>
3928         Update GNOME bugtracker URLs
3930         * configure.ac, admin/notes/multi-tty, etc/PROBLEMS:
3931         * src/emacs.c (main):
3932         * src/xterm.c (x_connection_closed): Update GNOME bugtracker URLs.
3934 2018-08-23  Eli Zaretskii  <eliz@gnu.org>
3936         Clarify in the Emacs manual that ChangeLog files are not used
3938         * doc/emacs/trouble.texi (Sending Patches): Use "commit log"
3939         instead of "change log", to avoid the interpretation that we
3940         are talking about literal ChangeLog files.  (Bug#32359)
3942 2018-08-21  Eli Zaretskii  <eliz@gnu.org>
3944         Recognize codepage 65001 as a valid encoding
3946         * lisp/international/mule-conf.el (cp65001): Define it as an
3947         alias for UTF-8.
3949 2018-08-18  Eli Zaretskii  <eliz@gnu.org>
3951         Avoid compilation warning in nt/addpm.c
3953         * nt/addpm.c [!MINGW_W64]: Undefine _WIN32_IE before
3954         redefining it, to avoid compilation warnings.
3956 2018-08-17  Basil L. Contovounesios  <contovob@tcd.ie>
3958         Fix duplicate custom group names in bibtex.el
3960         * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
3961         Change :group from BibTeX to bibtex.  (bug#32436)
3963 2018-08-17  Eli Zaretskii  <eliz@gnu.org>
3965         Fix outdated text in the Calc manual
3967         * doc/misc/calc.texi (Internals): Don't advertise
3968         'calc-extensions' which no longer exists.  Reported by Francis
3969         Wright <francis.j.wright@gmail.com>.
3971 2018-08-13  Paul Eggert  <eggert@cs.ucla.edu>
3973         Port better to x86 -fexcess-precision=fast
3975         Problem reported by Eli Zaretskii in:
3976         https://lists.gnu.org/r/emacs-devel/2018-08/msg00380.html
3977         * src/data.c (arithcompare): Work around incompatibility
3978         between gcc -fexcess-precision=fast and the C standard on x86,
3979         by capturing the results of floating-point comparisons before
3980         the excess precision spontaneously decays.  Although this fix
3981         might not work in general, it does work here and is probably
3982         good enough for the platforms we care about.
3984         (cherry picked from commit a84cef90957f2379cc0df6bd908317fc441971ce)
3986 2018-08-13  Paul Eggert  <eggert@cs.ucla.edu>
3988         Add comment about floating point test
3990         * test/src/data-tests.el (data-tests--float-greater-than-fixnums):
3991         New constant.
3992         (data-tests-=, data-tests-<, data-tests->, data-tests-<=)
3993         (data-tests->=, data-tests-min): Use it.
3995 2018-08-13  Tino Calancha  <tino.calancha@gmail.com>
3997         Ibuffer: Add toggle ibuffer-do-toggle-lock
3999         Toggle the locked status in marked buffers or the buffer
4000         at point (Bug#32421).
4001         * lisp/ibuffer.el (ibuffer-do-toggle-lock): New command.
4002         (ibuffer-mode-map): Bind it to 'L'.
4003         (ibuffer-mode-operate-map): Add entries for
4004         `ibuffer-do-toggle-read-only' and `ibuffer-do-toggle-lock'.
4005         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.2):
4006         Announce the change.
4008 2018-08-13  Tino Calancha  <tino.calancha@gmail.com>
4010         Ibuffer: Detect correctly the buffers running a process
4012         * lisp/ibuffer.el (filename-and-process): Store the process buffer
4013         as a text property; check for such property to detect a buffer
4014         with a process (Bug#32420).
4016 2018-08-12  Michael Albinus  <michael.albinus@gmx.de>
4018         Backport fix for Bug#32226
4020         * test/lisp/shadowfile-tests.el: Set Tramp variables for hydra.
4021         (shadow-test06-literal-groups, shadow-test07-regexp-groups)
4022         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
4023         Use `set-visited-file-name' instead of setting the value in
4024         `buffer-file-name' directly.
4025         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
4026         Test for writable temporary directory.  Suppress errors in
4027         cleanup.  (Bug#32226)
4029 2018-08-12  Yuri D'Elia  <wavexx@thregr.org>
4031         Do not consider external packages to be removable (Bug#27822)
4033         Packages which are not directly user-installed shouldn't be autoremoved,
4034         since they can be setup through a different path (via
4035         `package-directory-list') where we have no authority over.
4036         * lisp/emacs-lisp/package.el (package--user-installed-p): New
4037         function.
4038         (package--removable-packages): Use it.
4040 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
4042         * src/alloc.c: Remove obsolete comments.
4044 2018-08-11  Eli Zaretskii  <eliz@gnu.org>
4046         Better support utf-8-with-signature and utf-8-hfs in HTML
4048         * lisp/international/mule.el (sgml-html-meta-auto-coding-function):
4049         Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
4050         obey the buffer's encoding if it is one of these variants, instead
4051         of re-encoding in UTF-8 proper.  (Bug#20623)
4053 2018-08-11  Eli Zaretskii  <eliz@gnu.org>
4055         Don't use -Wabi compiler option
4057         * configure.ac: Add -Wabi to the list of disabled warning
4058         options.  For the details, see
4059         http://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00123.html.
4061 2018-08-10  Filipp Gunbin  <fgunbin@fastmail.fm>
4063         Fix bugs in `auth-source-netrc-parse-one'.
4065         * lisp/auth-source.el (auth-source-netrc-parse-one): Ensure that match
4066           data is not overwritten in `auth-source-netrc-parse-next-interesting'.
4067           Ensure that blanks are skipped before and after going over comments
4068           and eols.
4069         * test/lisp/auth-source-tests.el (auth-source-test-netrc-parse-one): New test.
4071         (cherry picked from commit 60ff8101449eea3a5ca4961299501efd83d011bd)
4073 2018-08-09  Eli Zaretskii  <eliz@gnu.org>
4075         Fix copying text properties by 'format'
4077         * src/editfns.c (styled_format): Add the spec beginning index
4078         to the info recorded for each format spec, and use it to
4079         detect the case that a format spec and its text property end
4080         where the next spec with another property begins.  (Bug#32404)
4082         * test/src/editfns-tests.el (format-properties): Add tests for
4083         bug#32404.
4085 2018-08-09  Alexander Gramiak  <agrambot@gmail.com>
4087         Improve error messages regarding initial-buffer-choice (Bug#29098)
4089         * lisp/startup.el (command-line-1) <initial-buffer-choice>: Make the
4090         messages conform to Emacs conventions, and show the invalid return
4091         value in the message.
4093 2018-08-09  Glenn Morris  <rgm@gnu.org>
4095         * test/lisp/wdired-tests.el (wdired-test-unfinished-edit-01): Fix typo.
4097 2018-08-09  Lars Ingebrigtsen  <larsi@gnus.org>
4099         Make async :family 'local failures fail correctly again
4101         * src/fileio.c (get_file_errno_data): Refactor out into its own
4102         function so that we can reuse the error handling from an async
4103         context (bug#31901).
4105         * src/process.c (connect_network_socket): When an async :family
4106         'local client fails (with a file error, for instance), mark the
4107         process as failed.
4109         (cherry picked from commit 92ba34d89ac4f5b5bbb818e1c39a3cc12a405790)
4111 2018-08-09  Noam Postavsky  <npostavs@gmail.com>
4113         Fix emacsclient check for term.el buffer (Bug#21041)
4115         * lib-src/emacsclient.c (find_tty): Check for any TERM value with
4116         prefix of "eterm", not just "eterm" itself.  Also check for ",term:"
4117         in INSIDE_EMACS value.
4119 2018-08-08  Eli Zaretskii  <eliz@gnu.org>
4121         Improve documentation of 'set-fontset-font'
4123         * doc/lispref/display.texi (Fontsets): Fix description of
4124         'set-fontset-font'.
4125         * src/fontset.c (Fset_fontset_font): Doc fix.  (Bug#32401)
4127 2018-08-07  Eli Zaretskii  <eliz@gnu.org>
4129         Improve documentation of M-?
4131         * doc/emacs/maintaining.texi (Identifier Search):
4132         * lisp/progmodes/xref.el (xref-find-references): Improve
4133         documentation of xref-find-references and
4134         xref-prompt-for-identifier.  (Bug#32389)
4136 2018-08-07  Ivan Shmakov  <ivan@siamics.net>
4138         Reinterpret Esperanto characters in iso-transl as iso-8859-3.
4140         * lisp/international/iso-transl.el (iso-transl-language-alist):
4141         Reinterpret Esperanto characters as iso-8859-3 (were: iso-8859-1).
4142         (Bug#32371)
4144 2018-08-07  Eli Zaretskii  <eliz@gnu.org>
4146         Fix Flyspell mode when several languages are mixed in a buffer
4148         * lisp/textmodes/flyspell.el (flyspell-external-point-words):
4149         Handle "misspelled" words that actually belong to a language
4150         unsupported by the current dictionary.  (Bug#32280)  Fix the test
4151         for Ispell the program.
4153 2018-08-04  Juri Linkov  <juri@linkov.net>
4155         New function read-answer (Bug#31782)
4157         * lisp/emacs-lisp/map-ynp.el (read-answer-short): New defcustom.
4158         (read-answer): New function.
4159         * lisp/subr.el (assoc-delete-all): New function.
4160         * etc/NEWS: Announce them.
4162         * lisp/dired.el (dired-delete-file): Use read-answer.
4163         (dired--yes-no-all-quit-help): Remove function.
4164         (dired-delete-help): Remove defconst.
4166         (backported from master, "New function read-answer (bug#30073)" and
4167         "Respect non-saved value of `read-short-answer' (Bug#31782)")
4169 2018-08-02  Eli Zaretskii  <eliz@gnu.org>
4171         Avoid assertion violations in maybe_produce_line_number
4173         * src/xdisp.c (redisplay_window): Make sure desired_matrix is
4174         cleared before calling try_window.  This is important when
4175         display-line-numbers is non-nil, because line-number display code
4176         assumes each glyph row is completely cleared when it is called to
4177         produce a line number.  (Bug#32358)
4179 2018-08-02  Eli Zaretskii  <eliz@gnu.org>
4181         Avoid assertion violations in set_text_properties_1
4183         * src/textprop.c (set_text_properties): If the call to
4184         modify_text_properties modifies the interval tree as side effect,
4185         recalculate the correct interval for START and END.  (Bug#32265)
4187 2018-07-31  Stephen Berman  <stephen.berman@gmx.net>
4189         Fix wdired test failure when byte compiled (bug#32318)
4191         * test/lisp/wdired-tests.el: Require wdired.  Defvar dired-query
4192         to silence byte-compiler.
4194 2018-07-30  Stephen Berman  <stephen.berman@gmx.net>
4196         * test/lisp/wdired-tests.el (wdired-test-symlink-name): New test.
4198 2018-07-29  Raimon Grau  <raimonster@gmail.com>
4200         Fix url's thing-at-point beginning-op (Bug#32028)
4202         * lisp/thingatpt.el (url): Fix beginning-op making.
4204 2018-07-29  Eli Zaretskii  <eliz@gnu.org>
4206         Fix last change in 'char_width'
4208         * src/character.c (char_width): Make sure variable C is always
4209         initialized.  (Bug#32276)
4211 2018-07-29  Stephen Berman  <stephen.berman@gmx.net>
4213         Add initial tests for wdired.el
4215         * test/lisp/wdired-tests.el: New file.
4217 2018-07-28  Stephen Berman  <stephen.berman@gmx.net>
4219         Fix use of non-nil wdired-use-interactive-rename
4221         This is a fairly minimal fix for the release branch; a more
4222         comprehensive fix is on master, so do not merge this to master.
4224         * lisp/wdired.el (wdired-search-and-rename): Remove dired-filename
4225         text property in order to find new filename when it only partially
4226         replaces old filename (bug#32173).  If user quits before renaming
4227         succeeds, restore the dired-filename text property.
4229 2018-07-28  Eli Zaretskii  <eliz@gnu.org>
4231         Fix compilation with mingw.org's MinGW 5.x headers
4233 2018-07-28  Eli Zaretskii  <eliz@gnu.org>
4235         Update the list of special forms in the ELisp manual
4237         * doc/lispref/eval.texi (Special Forms):
4238         * doc/lispref/frames.texi (Mouse Tracking): 'track-mouse' is
4239         nowadays a macro.  (Bug#32284)
4241 2018-07-28  Noam Postavsky  <npostavs@gmail.com>
4243         Don't fail to indent-sexp before a full sexp (Bug#31984)
4245         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Only signal error if the
4246         initial forward-sexp fails.  Suppress scan-error forn any of the
4247         forward-sexp calls after that.
4248         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-cant-go): New
4249         test.
4251 2018-07-27  Eli Zaretskii  <eliz@gnu.org>
4253         Fix calls to modifications hooks in replace-buffer-contents
4255         * src/editfns.c (Freplace_buffer_contents): Call the modification
4256         hooks on the entire region where replacements could have taken
4257         place.  The previous attempts of being more accurate just
4258         introduced bugs.  (Bug#32278)
4260 2018-07-27  Eli Zaretskii  <eliz@gnu.org>
4262         * src/character.c (char_width): Support glyphs with faces.  (Bug#32276)
4264 2018-07-27  Eli Zaretskii  <eliz@gnu.org>
4266         Display raw bytes as belonging to 'eight-bit' charset
4268         * lisp/descr-text.el (describe-char):
4269         * lisp/simple.el (what-cursor-position): Display characters in the
4270         range #x3FFF80..#x3FFF9F as belonging to charset 'eight-bit', not
4271         'tis620-2533'.
4272         * lisp/international/mule-diag.el (describe-character-set):
4273         Improve description of :supplementary-p.
4275 2018-07-26  Eli Zaretskii  <eliz@gnu.org>
4277         Fix inaccurate text in the user manual
4279         * doc/emacs/mule.texi (International Chars): Correct inaccurate
4280         description of raw bytes display by "C-x =".
4282 2018-07-26  Michael Albinus  <michael.albinus@gmx.de>
4284         Copyedits in tramp.texi, improved example with bash's readline
4286         * doc/misc/tramp.texi (all): Unify some wordings.
4287         (Frequently Asked Questions): Update example with bash's readline.
4289 2018-07-25  Michael Albinus  <michael.albinus@gmx.de>
4291         Minor Tramp doc update
4293         * doc/misc/tramp.texi (Frequently Asked Questions): Disable bash's
4294         INPUTRC.
4296 2018-07-25  Michael Albinus  <michael.albinus@gmx.de>
4298         File Shadowing is not available on MS Windows
4300         * doc/emacs/files.texi (File Shadowing): File Shadowing is not
4301         available on MS Windows.
4303         * test/lisp/shadowfile-tests.el (shadow-test00-clusters)
4304         (shadow-test01-sites, shadow-test02-files)
4305         (shadow-test03-expand-cluster-in-file-name)
4306         (shadow-test04-contract-file-name, shadow-test05-file-match)
4307         (shadow-test06-literal-groups, shadow-test07-regexp-groups)
4308         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
4309         Skip under MS Windows.
4311 2018-07-24  Noam Postavsky  <npostavs@gmail.com>
4313         Let bookmark-jump override window-point (Bug#31751)
4315         * lisp/bookmark.el (bookmark-jump): Use pop-to-buffer-same-window
4316         instead of switch-to-buffer, the latter obeys
4317         switch-to-buffer-preserve-window-point and so loses the bookmark's
4318         point.
4320 2018-07-23  Noam Postavsky  <npostavs@gmail.com>
4322         Omit keymap from subword-mode docstring (Bug#32212)
4324         * lisp/progmodes/subword.el (subword-mode): Remove listing of
4325         subword-mode-map bindings, since it is empty as of 2014-03-23 "Merge
4326         capitalized-words-mode and subword-mode".
4328 2018-07-23  Tino Calancha  <tino.calancha@gmail.com>
4329             Noam Postavsky  <npostavs@gmail.com>
4331         Prevent line-mode term from showing user passwords
4333         For buffers whose mode derive from comint-mode, the user password is
4334         read from the minibuffer and it's hidden.  A buffer in term-mode and
4335         line submode, instead shows the passwords.  Make buffers in line
4336         term-mode to hide passwords too (Bug#30190).
4338         * lisp/term.el (term-send-invisible): Prefer the more robust
4339         `read-passwd' instead of `term-read-noecho'.
4340         (term-watch-for-password-prompt): New function.
4341         (term-emulate-terminal): Call it each time we receive non-escape
4342         sequence output.
4344 2018-07-22  Jonathan Kyle Mitchell  <kyle@jonathanmitchell.org>
4346         Check for special filenames in eshell (Bug#30724)
4348         * lisp/eshell/esh-cmd.el (eshell-lisp-command): Check for "~"
4349         in lisp commands with the eshell-filename-arguments property
4350         (Bug#30724).
4352         * lisp/eshell/em-dirs.el (eshell/cd, eshell/pushd, eshell/popd):
4353         * lisp/eshell/em-ls.el (eshell/ls):
4354         * lisp/eshell/em-unix.el (eshell/rm, eshell/mkdir, eshell/rmdir)
4355         (eshell/mv, eshell/cp, eshell/ln, eshell/cat, eshell/du, eshell/diff):
4356         * lisp/eshell/esh-ext.el (eshell/addpath): Add
4357         eshell-filename-arguments to symbol plist.
4359 2018-07-22  Noam Postavsky  <npostavs@gmail.com>
4361         Fix indent-sexp of #s(...) (Bug#31984)
4363         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Look for a sexp that
4364         ends after the current line.
4365         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-go): New test.
4367 2018-07-22  Noam Postavsky  <npostavs@gmail.com>
4369         Add save-match-data to abbreviate-file-name (Bug#32201)
4371         * lisp/files.el (abbreviate-file-name): Save match-data around
4372         expand-file-name; it is not guaranteed to preserve match-data, and may
4373         well do so depending on what file handlers and hooks are in effect.
4375 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
4377         Fix last change in editfns.c
4379         * src/editfns.c (Freplace_buffer_contents): Fix last change: always
4380         call buffer modification hooks, even if nothing was deleted/inserted.
4381         (bug#32237)
4383 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
4385         Fix calls to buffer modification hooks from replace-buffer-contents
4387         * src/editfns.c (Freplace_buffer_contents): Don't call buffer
4388         modification hooks if nothing was deleted/inserted.  (Bug#32237)
4390 2018-07-21  Michael Albinus  <michael.albinus@gmx.de>
4392         Fix Bug#32226
4394         * lisp/shadowfile.el (shadow-site-name, shadow-name-site):
4395         Use "[-.[:word:]]+" as hostname regexp.  (Bug#32226)
4397         * test/lisp/shadowfile-tests.el (shadow-test06-literal-groups)
4398         (shadow-test07-regexp-groups, shadow-test08-shadow-todo)
4399         (shadow-test09-shadow-copy-files): Skip if needed.
4401 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
4403         Improve doc strings of several variables in keyboard.c
4405         * src/keyboard.c (syms_of_keyboard) <debug-on-event>
4406         <attempt-stack-overflow-recovery>
4407         <attempt-orderly-shutdown-on-fatal-signal>: Make sure the first
4408         sentence of the doc string fits on a single line.
4410 2018-07-20  Michael Albinus  <michael.albinus@gmx.de>
4412         Fix (Bug#32218).  Do not merge with master
4414         * doc/misc/trampver.texi:
4415         * lisp/net/trampver.el: Change version to "2.3.4.26.2".
4416         (customize-package-emacs-version-alist): Add Tramp version
4417         integrated in Emacs 26.2.
4419         * lisp/net/tramp.el (tramp-handle-file-truename):
4420         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
4421         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename): Fix problem
4422         with trailing slash.  (Bug#32218)
4424         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
4425         Remove `tramp--test-emacs27-p' check.
4427 2018-07-20  Eli Zaretskii  <eliz@gnu.org>
4429         Improve documentation of 'pcase-defmacro rx'
4431         * lisp/emacs-lisp/rx.el (rx): Clarify and improve the doc string.
4432         For the details, see the discussion starting at
4433         http://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00399.html.
4435 2018-07-19  Eli Zaretskii  <eliz@gnu.org>
4437         Fix TTY colors breakage by 'clear-face-cache'
4439         Without examining the right frame, 'tty-color-24bit' was erroneously
4440         treating a GUI frame as a 24-bit TTY frame.
4441         * lisp/term/tty-colors.el (tty-color-24bit): Accept optional
4442         argument DISPLAY and pass it to display-color-cells.  Doc fix.
4443         (tty-color-define, tty-color-desc): Pass the FRAME argument to
4444         tty-color-24bit.  (Bug#32072)
4446 2018-07-18  Michael Albinus  <michael.albinus@gmx.de>
4448         * admin/MAINTAINERS: Add files maintained by me (Michael Albinus).
4450 2018-07-18  Michael Albinus  <michael.albinus@gmx.de>
4452         Adapt shadowfile.el for Tramp  (Bug#4526, Bug#4846)
4454         * etc/NEWS: Mention changes in shadowfile.el.
4456         * lisp/shadowfile.el (top): Require 'tramp instead of 'ange-ftp.
4457         (shadow-cluster): New defstruct.
4458         (shadow-make-cluster, shadow-cluster-name, shadow-cluster-primary)
4459         (shadow-cluster-regexp, shadow-get-user)
4460         (shadow-parse-fullname): Remove.
4461         (shadow-info-file, shadow-todo-file, shadow-system-name)
4462         (shadow-homedir, shadow-regexp-superquote, shadow-suffix)
4463         (shadow-set-cluster, shadow-get-cluster, shadow-site-name)
4464         (shadow-name-site, shadow-site-primary, shadow-site-cluster)
4465         (shadow-read-site, shadow-parse-name, shadow-make-fullname)
4466         (shadow-replace-name-component, shadow-local-file)
4467         (shadow-expand-cluster-in-file-name, shadow-contract-file-name)
4468         (shadow-same-site, shadow-file-match, shadow-define-cluster)
4469         (shadow-define-literal-group, shadow-define-regexp-group)
4470         (shadow-make-group, shadow-shadows-of-1, shadow-read-files)
4471         (shadow-write-info-file, shadow-write-todo-file)
4472         (shadow-initialize): Adapt variables and functions.
4474         * test/lisp/shadowfile-tests.el: New file.
4476 2018-07-18  Noam Postavsky  <npostavs@gmail.com>
4478         Fix auth-source-delete (Bug#26184)
4480         * lisp/auth-source.el (auth-source-delete): Fix `auth-source-search'
4481         call.
4482         * test/lisp/auth-source-tests.el (auth-source-delete): New test.
4484 2018-07-17  Eli Zaretskii  <eliz@gnu.org>
4486         Avoid assertion violations in gnutls.c
4488         * src/gnutls.c (Fgnutls_hash_digest, gnutls_symmetric)
4489         (Fgnutls_hash_mac): Check CONSP before invoking XCDR.  (Bug#32187)
4490         Report values of invalid arguments when signaling an error.
4492 2018-07-14  Eli Zaretskii  <eliz@gnu.org>
4494         Don't use a literal "C-u" in ispell.el  help message text
4496         * lisp/textmodes/ispell.el (ispell-command-loop): Use
4497         "\\[universal-argument]" instead of a literal "C-u".  (Bug#32142)
4499 2018-07-14  Eli Zaretskii  <eliz@gnu.org>
4501         Improve documentation of 'seqp'
4503         * doc/lispref/sequences.texi (Sequence Functions): Add text to
4504         explain the relation between 'seqp' and 'sequencep'.  (Bug#32125)
4506 2018-07-14  Eli Zaretskii  <eliz@gnu.org>
4508         Clarify usage and dependencies between several Flyspell features
4510         * lisp/textmodes/flyspell.el (flyspell-region)
4511         (flyspell-small-region, flyspell-persistent-highlight):
4512         Documentation improvements.  (Bug#32142)
4514 2018-07-13  Michael Albinus  <michael.albinus@gmx.de>
4516         Use consistent function names in thread-tests.el
4518         * test/src/thread-tests.el (threads-call-error, threads-custom)
4519         (threads-errors, threads-sticky-point, threads-signal-early):
4520         Rename, using naming convention to prefix with "threads-".
4522 2018-07-13  Michael Albinus  <michael.albinus@gmx.de>
4524         Fix format error in Faccept_process_output
4526         * src/process.c (Faccept_process_output): Do not use format spec
4527         "%p", it isn't valid for error().
4529 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
4531         Lessen stack consumption in recursive read1
4533         * src/lread.c (read1): Shrink local buffer size from
4534         MAX_ALLOCA to 128 (Bug#31995).
4536 2018-07-13  Noam Postavsky  <npostavs@gmail.com>
4538         Match w32 paths in grep sans --null hits (Bug#32051)
4540         * lisp/progmodes/grep.el (grep-regexp-alist): Add an optional part to
4541         match paths starting with C: (other drive letters).
4542         * test/lisp/progmodes/compile-tests.el
4543         (compile-tests--grep-regexp-testcases)
4544         (compile-tests--grep-regexp-tricky-testcases)
4545         (compile-test-grep-regexps): New tests.
4546         (compile--test-error-line): Return `compilation-message'.
4548 2018-07-13  Noam Postavsky  <npostavs@gmail.com>
4550         Fix previous make-network-process change
4552         * src/process.c (Fmake_network_process): On 2018-07-09 "Explicitly
4553         reject :server and :nowait (Bug#31903)", the sense of the SERVER check
4554         was accidentally reversed so that we ended up looking for the wrong
4555         ADDRESS.  Reported by T.V Raman in
4556         <https://lists.gnu.org/archive/html/emacs-devel/2018-07/msg00437.html>.
4558 2018-07-12  Eli Zaretskii  <eliz@gnu.org>
4560         Another documentation improvement in flyspell.el
4562         * lisp/textmodes/flyspell.el (flyspell-persistent-highlight): Doc
4563         fix.
4565 2018-07-12  Eli Zaretskii  <eliz@gnu.org>
4567         Improve documentation of Flyspell
4569         For the background, see
4570         http://lists.gnu.org/archive/html/help-gnu-emacs/2018-07/msg00099.html.
4572         * doc/emacs/fixit.texi (Spelling): Add a couple of caveats.
4573         * lisp/textmodes/flyspell.el: Update commentary.
4575 2018-07-12  Michael Albinus  <michael.albinus@gmx.de>
4577         Provide feature 'threads
4579         * src/thread.c (syms_of_threads): Provide feature "threads".
4581         * test/src/thread-tests.el (top): Declare the functions.
4582         (all): Use (featurep 'threads) check.
4584 2018-07-11  Miciah Masters  <miciah.masters@gmail.com>  (tiny change)
4586         Save the server alias on reconnect (Bug#29657)
4588         rcirc does not retain the server alias on reconnect.  As a result, rcirc
4589         fails to re-use server and channel buffers when an alias is used.  Further
4590         problems may ensue when aliases are used to differentiate multiple
4591         connections to the same host, for example when using a single IRC bouncer
4592         or proxy to connect to multiple IRC networks.
4594         Save the server alias when connecting to a server so that reconnect will
4595         retain the alias.
4596         * lisp/net/rcirc.el (rcirc-connect): Include server-alias when setting
4597         rcirc-connection-info.
4599 2018-07-11  Basil L. Contovounesios  <contovob@tcd.ie>
4601         Refer to "proper lists" instead of "true lists"
4603         * doc/lispref/lists.texi (Cons Cells, Building Lists):
4604         * doc/lispref/sequences.texi (Vector Functions): Use the more
4605         popular term "proper", rather than "true", to qualify nil-terminated
4606         lists.
4608         For discussion, see the following emacs-devel subthreads:
4609         https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00112.html
4610         https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00138.html
4612 2018-07-10  John Shahid  <jvshahid@gmail.com>
4614         Avoid turning on the global-minor-mode recursively
4616         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Clear
4617         the buffer-list inside MODE-enable-in-buffers to avoid enabling the
4618         mode recursively.  (Bug#31793)
4620 2018-07-10  Michael Albinus  <michael.albinus@gmx.de>
4622         Fix Bug#32085
4624         * doc/misc/tramp.texi (GVFS based methods): `dav' and `davs' do
4625         not support paths in the volume name.  (Bug#32085)
4627 2018-07-10  Noam Postavsky  <npostavs@gmail.com>
4629         Stop using indent-line-to in lisp-indent-line (Bug#32014)
4631         This is partial revert of "Remove ignored argument from
4632         lisp-indent-line", because `indent-line-to' doesn't respect field
4633         boundaries.
4634         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Use delete-region
4635         and indent-to instead of `indent-line-to'.
4636         * test/lisp/emacs-lisp/lisp-mode-tests.el
4637         (lisp-indent-with-read-only-field): Expect to pass.
4639         Don't merge to master, we will fix indent-line-to there instead.
4641 2018-07-10  Noam Postavsky  <npostavs@gmail.com>
4643         Explicitly reject :server and :nowait (Bug#31903)
4645         * src/process.c (Fmake_network_process): Explicitly check for and
4646         signal an error when passed both :server and :nowait non-nil.  In
4647         Emacs 25, :nowait would be ignored in this case, but as of Emacs 26.1
4648         this gives an error, albeit an unclear one.  Also remove obsolete
4649         comment regarding configurations lacking non-blocking mode, the
4650         corresponding code was removed in 2012-11-17 "Assume POSIX 1003.1-1988
4651         or later for fcntl.h."
4653 2018-07-09  Michael Albinus  <michael.albinus@gmx.de>
4655         Fix Bug#32090
4657         * lisp/files-x.el (connection-local-normalize-criteria): Do not
4658         use PROPERTIES anymore.
4659         (connection-local-get-profiles): Rewrite, in order to accept any
4660         property as optional.  (Bug#32090)
4661         (connection-local-set-profiles):
4662         Adapt ´connection-local-normalize-criteria' call.
4664         * test/lisp/files-x-tests.el
4665         (files-x-test-connection-local-set-profiles)
4666         (files-x-test-hack-connection-local-variables-apply): Extend tests.
4668 2018-07-08  Paul Eggert  <eggert@cs.ucla.edu>
4670         Fix floating point exceptions on Alpha (Bug#32086)
4672         Backport from master.
4673         * admin/merge-gnulib (GNULIB_MODULES): Add fpieee.
4674         * m4/fpieee.m4: New file, copied from Gnulib.
4675         * m4/gnulib-comp.m4: Regenerate.
4677 2018-07-08  Paul Eggert  <eggert@cs.ucla.edu>
4679         Fix bootstrap infloop in GNU/Linux alpha
4681         * src/emacs.c (main): Do not re-exec if EMACS_HEAP_EXEC
4682         is already set (Bug#32083).
4684 2018-07-08  Eli Zaretskii  <eliz@gnu.org>
4686         Minor fix of a recent documentation change
4688         * lisp/net/gnutls.el (gnutls-algorithm-priority): Clarify the doc
4689         string.
4691 2018-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
4693         Mention the NSM in the gnutls variable doc strings
4695         * lisp/net/gnutls.el (gnutls-algorithm-priority): Mention the Network
4696         Security Manager here since this variable is an obvious place
4697         for people concerned about network security to look.
4698         (gnutls-verify-error): Ditto.
4699         (gnutls-min-prime-bits): Ditto.
4701 2018-07-08  Michael Albinus  <michael.albinus@gmx.de>
4703         Remove test code from last commit
4705 2018-07-08  Michael Albinus  <michael.albinus@gmx.de>
4707         Fix Bug#32084
4709         * test/lisp/net/dbus-tests.el (dbus-test02-register-service-own-bus):
4710         Unset $DISPLAY when calling dbus-launch, in order to avoid
4711         possible X11 authentication errors.  (Bug#32084)
4713 2018-07-07  Basil L. Contovounesios  <contovob@tcd.ie>
4715         Fix (length NON-SEQUENCE) documentation
4717         Suggested by Eli Zaretskii <eliz@gnu.org> in the following threads:
4718         https://lists.gnu.org/archive/html/emacs-devel/2018-07/msg00171.html
4719         https://lists.gnu.org/archive/html/emacs-devel/2018-07/msg00206.html
4721         * doc/lispref/sequences.texi (Sequence Functions): Mention that
4722         'length' signals a 'wrong-type-argument' also when given a
4723         non-sequencep argument.
4725 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
4727         Fix bug #11732
4729         * src/w32fns.c (w32_wnd_proc): Fix handling of Windows input
4730         methods.  (Bug#11732)
4732 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
4734         Improve documentation of 'emacs-lock-mode'
4736         * lisp/emacs-lock.el (emacs-lock-mode): Mention in the doc string
4737         the special handling of some major modes due to
4738         'emacs-lock-unlockable-modes'.
4740 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
4742         * lisp/imenu.el (imenu-generic-expression): Doc fix.  (Bug#32016)
4744 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
4746         Improve indexing of 'eval-defun' in ELisp manual
4748         * doc/lispref/display.texi (Defining Faces):
4749         * doc/lispref/debugging.texi (Explicit Debug):
4750         * doc/lispref/customize.texi (Variable Definitions):
4751         * doc/lispref/variables.texi (Defining Variables): Add index
4752         entries for 'eval-defun'.  (Bug#32066)
4754 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
4756         Fix (length CIRCULAR) documentation
4758         * doc/lispref/sequences.texi (Sequence Functions):
4759         Correct documentation of what (length X) does when
4760         X is a circular list.
4762 2018-07-06  Michael Albinus  <michael.albinus@gmx.de>
4764         Tramp editorials
4766         * doc/misc/tramp.texi (Android shell setup): Mention Termux.
4768         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
4769         Use proper spelling "Tramp" in docstring.
4771 2018-07-06  Eli Zaretskii  <eliz@gnu.org>
4773         Clarify and improve doc strings of 'eval-last-sexp' and friends
4775         * lisp/simple.el (eval-expression, eval-expression-print-format):
4776         * lisp/progmodes/elisp-mode.el (eval-last-sexp): Doc fixes.
4777         (Bug#32064)
4779 2018-07-06  Glenn Morris  <rgm@gnu.org>
4781         Automate upload of Emacs manuals to gnu.org
4783         * admin/make-manuals, admin/upload-manuals: New scripts.
4784         * admin/admin.el (make-manuals, make-manuals-dist): Handle batch mode.
4785         * admin/make-tarball.txt: Update web-page details.
4787 2018-07-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
4789         Fix MH-E mail composition with GNU Mailutils (SF#485)
4791         * lisp/mh-e/mh-comp.el (mh-bare-components): Recursively delete
4792         the temporary folder.
4794 2018-07-03  Eli Zaretskii  <eliz@gnu.org>
4796         Speed up 'replace-buffer-contents' some more
4798         * src/editfns.c (EXTRA_CONTEXT_FIELDS): New members beg_a and beg_b.
4799         (Freplace_buffer_contents): Set up ctx.beg_a and ctx.beg_b.
4800         (buffer_chars_equal): Use ctx->beg_a and ctx->beg_b instead of
4801         calling BUF_BEGV, which is expensive.  This speeds up the recipe
4802         in bug#31888 by 30%.
4804 2018-07-03  Glenn Morris  <rgm@gnu.org>
4806         * doc/emacs/docstyle.texi: Avoid messing up the html output.
4808         Previously the @hyphenation commands somehow caused the <head>
4809         section to go missing, with makeinfo 4.13 at least.
4811 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
4813         * etc/HISTORY: Cite Brinkhoff on early history.
4815 2018-07-01  Martin Rudalics  <rudalics@gmx.at>
4817         Document internal use of 'above-suspended' z-group frame parameter
4819         * src/w32fns.c (w32_dialog_in_progress, x_set_z_group):
4820         * src/xterm.c (x_set_z_group): Clarify the internal use of
4821         'above-suspended' when setting a frame's 'z-group' parameter.
4823 2018-06-30  Gemini Lasswell  <gazally@runbox.com>
4825         Increase max-lisp-eval-depth adjustment while in debugger (bug#31919)
4827         * src/eval.c (call_debugger): Increase the amount of extra Lisp
4828         evaluation depth given to the debugger to allow it to call cl-print.
4829         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Add a comment
4830         to suggest updating call_debugger when changing print-level.
4832 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
4834         Improve on last change in replace-buffer-contents
4836         * src/editfns.c (Freplace_buffer_contents): Call modification
4837         hooks only for the actual region where changes are made.
4838         (Bug#31888)
4840 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
4842         Fix a factual error in Introduction to Emacs Lisp
4844         * doc/lispintro/emacs-lisp-intro.texi (Buffer Names): Update the
4845         key that exits the splash screen.  (Bug#32019)
4847 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
4849         Minor improvements in documentation of imenu.el
4851         * lisp/imenu.el (imenu-generic-skip-comments-and-strings)
4852         (imenu--generic-function): Doc fixes.  (Bug#31962)
4854 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
4856         Avoid errors with recentering in 'skeleton-insert'
4858         * lisp/skeleton.el (skeleton-insert): Don't recenter if we are
4859         running in a buffer other than the one displayed in the selected
4860         window.  (Bug#31950)
4862 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
4864         * src/lisp.h: Omit obsolete comment re bytecode stack.
4866 2018-06-29  Eli Zaretskii  <eliz@gnu.org>
4868         Speed up replace-buffer-contents
4870         * src/editfns.c (EXTRA_CONTEXT_FIELDS): Add a_unibyte and
4871         b_unibyte members.
4872         (rbc_quitcounter): New static variable.
4873         (Freplace_buffer_contents): Initialize a_unibyte, b_unibyte, and
4874         rbc_quitcounter.  Inhibit modification hooks if they were not
4875         already inhibited.  Use rarely_quit to allow user to quit, to
4876         avoid calling maybe_quit too frequently (which hurts performance).
4877         Remove redundant assertions (which hurt performance too much).
4878         Call signal_after_change and update_compositions after all the
4879         changes are done.
4880         (buffer_chars_equal): Remove redundant assertions (which hurt
4881         performance).  Avoid using BUF_FETCH_CHAR_AS_MULTIBYTE, which
4882         hurts performance by referencing Lisp symbols; instead, use
4883         lower-level macros with explicit tests to select which macro to
4884         use.  (Bug#31888)
4886 2018-06-27  Dmitry Gutov  <dgutov@yandex.ru>
4888         Remove extra process call from vc-git-find-file-hook
4890         * lisp/vc/vc-git.el (vc-git-find-file-hook): Resolve FIXMEs.
4892 2018-06-27  Dmitry Gutov  <dgutov@yandex.ru>
4894         Speed up vc-git-dir-status-files
4896         * lisp/vc/vc-git.el (vc-git-dir-status-goto-stage): Call 'git
4897         ls-files -u' for the ls-files-conflict stage
4898         (https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00885.html).
4900 2018-06-27  Eli Zaretskii  <eliz@gnu.org>
4902         Avoid compiler warning using coding.h
4904         * src/coding.h: Add INLINE_HEADER_BEGIN..INLINE_HEADER_END, since
4905         this header now has an extern INLINE function.
4907 2018-06-27  Michael Albinus  <michael.albinus@gmx.de>
4909         Sync with Tramp 2.3.4.  Do not merge with master
4911         * doc/misc/trampver.texi:
4912         * lisp/net/trampver.el: Change version to "2.3.4".
4914         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
4915         Check, that the directory has been removed indeed.
4917         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Adapt test.
4918         (tramp--test-emacs25-p): New defun.
4919         (tramp-test34-vc-registered): Use it.
4921 2018-06-27  Martin Rudalics  <rudalics@gmx.at>
4923         * src/xdisp.c (Vmouse_autoselect_window): Clarify doc-string (Bug#31975)
4925 2018-06-26  Noam Postavsky  <npostavs@gmail.com>
4927         Detect a non-list package archive content properly (Bug#22311)
4929         * lisp/emacs-lisp/package.el (package--download-one-archive): Use
4930         `read' instead of `read-from-string'; the latter always returns a
4931         cons, so the `listp' check on its return value doesn't make sense.  It
4932         was changed from `read' to `read-from-string' in 2015-04-01 "*
4933         emacs-lisp/package.el: Implement asynchronous refreshing", but that
4934         change was not needed because `read' works fine on strings as well as
4935         buffers.
4937 2018-06-25  Christophe Junke  <junke.christophe@gmail.com>  (tiny change)
4939         Add ido-fallback special variable (Bug#31707)
4941         Before ido.el switch to lexical-binding, it was possible for other
4942         packages to modify the 'fallback' variables declared inside
4943         'ido-file-internal' and 'ido-buffer-internal'.
4944         * lisp/ido.el (ido-fallback): New variable.
4945         (ido-buffer-internal, ido-file-internal): Reset ido-fallback to nil
4946         before prompting user.  Use ido-fallback when ido-exit is 'fallback'.
4947         (ido-fallback-command): Add optional FALLBACK-COMMAND argument.
4949 2018-06-25  Karl Fogel  <kfogel@red-bean.com>
4951         Tighten a cross-reference in documentation
4953         * doc/lispref/internals.texi (Writing Emacs Primitives): Switch to
4954           a simple parenthetical cross-reference, following up to my
4955           commit 9a53b6d426 of 2018-06-24.
4957         See discussion:
4959           https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00826.html
4960           From: Eli Zaretskii
4961           Subject: Re: [Emacs-diffs] \
4962                    emacs-26 9a53b6d: Say how to override a primitive interactive spec
4963           To: Karl Fogel
4964           CC: Stefan Monnier, Emacs Devel
4965           Date: Mon, 25 Jun 2018 17:41:53 +0300
4966           Message-Id: <83r2kvrkr2.fsf@gnu.org>
4968 2018-06-25  Michael Albinus  <michael.albinus@gmx.de>
4970         Fix last change in tramp-sh.el
4972         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly):
4973         Use "-R" rather than "-r" for recursive copy of directories.
4975 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
4977         Revert previous patch; comment was OK after all.
4979 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
4981         Fix lead comment for count_trailing_zero_bits
4983         * src/data.c (count_trailing_zero_bits): Fix comment to match code.
4985 2018-06-24  Noam Postavsky  <npostavs@gmail.com>
4987         * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix docstring quotes.
4989 2018-06-24  Simen Heggestøyl  <simenheg@gmail.com>
4991         Make a minor update to the CSS mode docstring
4993         * lisp/textmodes/css-mode.el (css-mode): Mention 'fill-paragraph'.
4995 2018-06-24  Karl Fogel  <kfogel@red-bean.com>
4997         Say how to override a primitive interactive spec
4999         * doc/lispref/internals.texi (Writing Emacs Primitives): Mention that
5000           the `interactive-form' property can be used to override a primitive
5001           interactive specification, and refer to the detailed documentation
5002           for setting that property.
5004         From this thread on Emacs Devel:
5006           https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00923.html
5007           From: Eli Zaretskii
5008           To: Karl Fogel
5009           CC: Juri Linkov, Emacs Devel
5010           Subject: Re: [Emacs-diffs] \
5011                    master b88e7c8: Make transpose-regions interactive (Bug#30343)
5012           Date: Thu, 29 Mar 2018 14:38:15 +0300
5013           Message-Id: <834lkzdsd4.fsf@gnu.org>
5015 2018-06-24  Michael Albinus  <michael.albinus@gmx.de>
5017         Fix Bug#31941
5019         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): In case of
5020         FILENAME being a directory, check whether `copy-directory' could
5021         be avoided.  Suggested by Stephen Nutt <stnutt@gmail.com>.  (Bug#31941)
5022         (tramp-do-copy-or-rename-file-directly): Call "cp" with "-r".
5024 2018-06-23  Leo Liu  <sdl.web@gmail.com>
5026         Fix previous change in minibuffer-default-add-dired-shell-commands
5028         The mailcap minibuffer completion used dynamic binding.  Locally set
5029         a dynamic variable.
5030         * lisp/dired-aux.el (minibuffer-default-add-dired-shell-commands):
5031         Store list of files in 'minibuffer-completion-table'.  (Bug#31794)
5033 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
5035         * src/editfns.c (Fformat): Make %x easier to spot in doc string.  (Bug#31945)
5037 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
5039         Improve responsiveness while in 'replace-buffer-contents'
5041         * src/editfns.c (buffer_chars_equal): Avoid calling
5042         buf_charpos_to_bytepos when the buffer is plain-ASCII.
5043         Suggested by Milan Stanojević <mstanojevic@janestreet.com>.
5044         Call maybe_quit to improve responsiveness.
5045         (Freplace_buffer_contents): Call maybe_quit.  Warn in the doc
5046         string that the function could be slow.  (Bug#31888)
5048 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
5050         Improve documentation of 'server-start' and friends
5052         * lisp/server.el (server-start, server-running-p): Document how to
5053         reliably check that the current Emacs process started the server.
5054         (Bug#31859)
5056 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
5058         Clarify wording about functions' argument lists
5060         * doc/lispref/functions.texi (Argument List): Clarify the
5061         wording.  (Bug#31872)
5063 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
5065         * lisp/doc-view.el: Fix typos in the commentary.  (Bug#31937)
5067 2018-06-22  Eli Zaretskii  <eliz@gnu.org>
5069         Fix a typo in emacs-lisp-intro.texi
5071         * doc/lispintro/emacs-lisp-intro.texi (kill-ring-yank-pointer):
5072         Add a missing quote.  Reported by Jean-Christophe Helary
5073         <brandelune@gmail.com> in emacs-devel.
5075 2018-06-22  Paul Eggert  <eggert@cs.ucla.edu>
5077         Fix doc typo: missing double-quote
5079 2018-06-22  Eli Zaretskii  <eliz@gnu.org>
5081         Avoid segfaults in replace-buffer-contents with large buffers
5083         * src/editfns.c (Freplace_buffer_contents): Don't release
5084         malloc'ed memory as long as we are using it.  (Bug#31888)
5086 2018-06-22  Robert Pluim  <rpluim@gmail.com>
5088         Adjust for scaling for mode-line popup menus (Bug#31880)
5090         * src/xmenu.c (menu_position_func) [HAVE_GTK3]: Take scaling
5091         into account when calculating screen size.
5093 2018-06-21  Simen Heggestøyl  <simenheg@gmail.com>
5095         Change name of `seqp' argument (Bug#26411)
5097         * lisp/emacs-lisp/seq.el (seqp): Change argument name.
5099         * doc/lispref/sequences.texi: Update the documentation for seqp.
5101 2018-06-20  Noam Postavsky  <npostavs@gmail.com>
5103         Change index of ";" to better reflect it's usage (Bug#31623)
5105         * doc/lispref/objects.texi (Comments): "; for commenting" fits better
5106         with the following text about how a semicolon begins a comment.  Also
5107         mention that only unescaped semicolons start a comment.
5109 2018-06-20  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
5111         Fix bug of 'mouse-drag-and-drop-region' to detect edges of region (Bug#31905)
5113         * lisp/mouse.el (mouse-drag-and-drop-region): Detect both the
5114         beginning and the end of character of region during dragging
5115         text.
5117 2018-06-19  Noam Postavsky  <npostavs@gmail.com>
5119         Fix #'fun handling inside `labels' (Bug#31792)
5121         * lisp/emacs-lisp/cl.el (labels): Apply the equivalent of the
5122         cl-labels change from 2015-01-16 "* lisp/emacs-lisp/cl-macs.el: Fix
5123         last change".
5124         * test/lisp/emacs-lisp/cl-tests.el (labels-function-quoting): New
5125         test.
5126         * lisp/emacs-lisp/cl-macs.el (cl-flet, cl-labels): Improve docstring,
5127         link to relevant manual page.
5128         * doc/misc/cl.texi (Function Bindings): Don't imply that function
5129         cells of symbols are modified by cl-flet.  Don't claim that cl-flet or
5130         cl-labels affect references of the form (quote FUNC).
5132 2018-06-18  Eli Zaretskii  <eliz@gnu.org>
5134         Fix vertical-motion with 'visual' line-number display
5136         * src/indent.c (Fvertical_motion): Don't exempt 'visual' sty;e of
5137         line-number display from X coordinate adjustments.  (Bug#31875)
5139 2018-06-17  Alan Third  <alan@idiocy.org>
5141         Handle NSAttributedString inputs (bug#29837)
5144         * src/nsterm.m (EmacsView::insertText): Handle NSAttributedString.
5146 2018-06-17  Philipp Stephani  <phst@google.com>
5148         Allow inserting non-BMP characters
5150         * src/coding.h (UTF_16_HIGH_SURROGATE_P, UTF_16_LOW_SURROGATE_P): Move
5151         from coding.c and document.
5152         (surrogates_to_codepoint): New function.
5154         * src/nsterm.m (insertText:): Properly handle surrogate pairs.
5156         (cherry picked from commit 703ac3ea1c1ce381f385469a0e88bc29d3fe83c2)
5158 2018-06-17  Aaron Jensen  <aaronjensen@gmail.com>
5160         Prevent errant scroll on mouse click (Bug#31546)
5162         * src/nsterm.m (ns_mouse_position): Use correct frame when determining
5163           mouse position.
5164         * lisp/mouse.el (mouse-drag-track): Only account for mode-line height
5165           if `mode-line-format' is non-nil.
5167 2018-06-17  Eli Zaretskii  <eliz@gnu.org>
5169         Minor documentation fix
5171         * doc/lispref/windows.texi (Window Start and End): Improve
5172         documentation and indexing of window-end.
5174 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
5176         * lisp/window.el (window-toggle-side-windows): Doc fix.  (Bug#31858)
5178 2018-06-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
5180         Fix byte compilation of (eq foo 'default)
5182         Backport from master.
5183         Do not use the symbol ‘default’ as a special marker.
5184         Instead, use a value that cannot appear in the program,
5185         improving on a patch proposed by Robert Cochran (Bug#31718#14).
5186         * lisp/emacs-lisp/bytecomp.el (byte-compile--default-val):
5187         New constant.
5188         (byte-compile-cond-jump-table-info)
5189         (byte-compile-cond-jump-table): Use it instead of 'default.
5190         * test/lisp/emacs-lisp/bytecomp-tests.el:
5191         (byte-opt-testsuite-arith-data): Add a test for the bug.
5193 2018-06-16  Michael Albinus  <michael.albinus@gmx.de>
5195         Fix Bug#31846.  Do not merge with master
5197         * lisp/net/secrets.el (secrets-search-items)
5198         (secrets-create-item): Fix format of :dict-entry values.  (Bug#31846)
5200 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
5202         Fix documentation of ':propertize' in mode-line-format
5204         * doc/lispref/modes.texi (Mode Line Data): Make the description of
5205         ':propertize' more accurate.  (Bug#26291)
5207 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
5209         Reject invalid 5-byte sequences when detecting UTF-8 encoding
5211         * src/coding.c (detect_coding_utf_8): Reject multibyte sequences
5212         whose leading byte is greater than MAX_MULTIBYTE_LEADING_CODE.
5213         (Bug#31829)
5214         * src/character.h (MAX_MULTIBYTE_LEADING_CODE): Add commentary
5215         about the connection between the value of this macro and MAX_CHAR.
5217 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
5219         Fix 'replace-buffer-contents' in multibyte buffers
5221         * src/editfns.c (buffer_chars_equal): Pass a byte position to
5222         BUF_FETCH_CHAR_AS_MULTIBYTE, not a character position.
5223         (Bug#31837)
5225         * test/src/editfns-tests.el (replace-buffer-contents-bug31837):
5226         New test.
5228 2018-06-15  Robert Pluim  <rpluim@gmail.com>
5230         Update etc/NEWS for mail-source-movemail-program change
5232         * etc/NEWS: Describe change in how we search for
5233         mail-source-movemail-program.
5235 2018-06-15  Robert Pluim  <rpluim@gmail.com>
5237         Improve movemail default
5239         * lisp/gnus/mail-source.el (mail-source-movemail-program):
5240         Change default to "movemail".
5241         (mail-source-movemail): Pass just mail-source-movemail-program to
5242         call-process instead of fully specifying it relative to
5243         exec-directory.  Ensures that we will find Mailutils movemail if
5244         it is installed.  (Bug#31737)
5246 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
5248         Delete description of deleted Customize functions
5250         * doc/lispref/customize.texi (Variable Definitions): Remove the
5251         description of 'custom-initialize-safe-set' and
5252         'custom-initialize-safe-default', which were deleted in Emacs
5253         23.2, and replace with the description of
5254         'custom-initialize-delay'.
5256 2018-06-14  Noam Postavsky  <npostavs@gmail.com>
5258         Keep vc-print-log from putting point at buffer end (Bug#31764)
5260         * lisp/vc/vc.el (vc-print-log-internal): Use `save-excursion' around
5261         `vc-print-log-setup-buttons'.
5263 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
5265         Don’t set EMACS=t if Bash is 4.4 or newer
5267         (Backport from master.)
5268         (Thanks to Stefan Monnier for improvements to this patch.)
5269         * lisp/term.el (term--bash-needs-EMACS-status): New var.
5270         (term--bash-needs-EMACSp): New function.
5271         (term-exec-1): Use it instead of always setting EMACS.
5273 2018-06-14  Eli Zaretskii  <eliz@gnu.org>
5275         Improve commentary in info.el
5277         * lisp/info.el: Explain in commentary why some commands start with
5278         "info-" and others with "Info-".  See also
5279         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00482.html.
5281 2018-06-13  Michael Albinus  <michael.albinus@gmx.de>
5283         Fix wording in tramp.texi
5285         * doc/misc/tramp.texi (Frequently Asked Questions):
5286         Fix wording for abbreviations.
5288 2018-06-13  Michael Albinus  <michael.albinus@gmx.de>
5290         * doc/misc/tramp.texi (Remote shell setup): Fix typo.
5292 2018-06-12  Sam Steingold  <sds@gnu.org>
5294         Finish the Bug#11728 work: hg & git
5296         * lisp/vc/vc-git.el (vc-git--pushpull): Make `extra-args' a list.
5297         Do not set `compilation-error-regexp-alist', this is done in
5298         `vc-compilation-mode'.
5299         (vc-git-error-regexp-alist): Tweak the regexp.
5300         * lisp/vc/vc-hg.el (vc-hg-error-regexp-alist): Make non-trivial.
5301         (vc-hg--pushpull): Accept `post-processing' argument.
5302         Call them after the `command'.
5303         (vc-hg-pull): Pass the `post-processing' commands that show which
5304         are to be modified by the `update', and then run `update'.
5306 2018-06-12  Sam Steingold  <sds@gnu.org>
5308         Fix Bug#11728: show files updated by git
5310         * lisp/vc/vc-git.el (vc-git--pushpull): Accept extra-args and set
5311         `compilation-error-regexp-alist' to `vc-git-error-regexp-alist'.
5312         (vc-git-pull): Pass "--stat" as `extra-args' to `vc-git--pushpull'.
5313         (vc-git-push): Pass "" as `extra-args' to `vc-git--pushpull'.
5315 2018-06-12  Noam Postavsky  <npostavs@gmail.com>
5317         Make 'tags' targets respect --with-silent-rules (Bug#31744)
5319         * lwlib/Makefile.in (TAGS):
5320         * lisp/Makefile.in (TAGS):
5321         * src/Makefile.in (TAGS): Use AM_V_GEN and AM_V_at.
5322         * src/Makefile.in: Note that TAGS are generated in build dir.
5324 2018-06-11  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5325             Noam Postavsky  <npostavs@gmail.com>
5327         soap-client: Add byte-code compatibility function (Bug#31742)
5329         * lisp/net/soap-client.el: Bump version to 3.1.4.
5330         (soap-type-of): New function.
5331         (soap-resolve-references, soap-decode-type)
5332         (soap-encode-attributes, soap-encode-value): Replace aref
5333         calls with calls to soap-type-of.
5335         * lisp/net/soap-inspect.el (soap-sample-value, soap-inspect):
5336         Replace aref calls with calls to soap-type-of.
5339         Backport: (cherry picked from commit
5340         1feb2e221349f26ec26bc684e0cce2acecbed3ca)
5342 2018-06-11  Eli Zaretskii  <eliz@gnu.org>
5344         * doc/lispref/files.texi (Unique File Names): Fix a typo.  (Bug#31784)
5346 2018-06-10  Noam Postavsky  <npostavs@gmail.com>
5348         Fix term.el cursor movement at bottom margin (Bug#31690)
5350         * lisp/term.el (term-handle-ansi-escape) <\E[B cud>: Allow moving the
5351         cursor to the bottom margin line, rather than stopping one line
5352         before.
5354 2018-06-10  Reuben Thomas  <rrt@sc3d.org>
5356         Call enchant-lsmod correctly when Enchant is installed with a suffix
5358         * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Cope with a
5359         version suffix on the binary name, so enchant-2 is converted to
5360         enchant-lsmod-2, not enchant-2-lsmod.  (Bug#31761)
5362         (cherry picked from commit a402d9aacbecf4bf0b9afde592a3b90c71f96832)
5364 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
5366         Enlarge DUMPED_HEAP_SIZE for 64-bit Windows builds
5368         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 23MB.  Reported by
5369         Andy Moreton <andrewjmoreton@gmail.com>.
5371 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
5373         Update Unicode data files to version 11.0.0 of Unicode
5375         * admin/unidata/UnicodeData.txt:
5376         * admin/unidata/SpecialCasing.txt:
5377         * admin/unidata/NormalizationTest.txt:
5378         * admin/unidata/copyright.html:
5379         * admin/unidata/BidiMirroring.txt:
5380         * admin/unidata/BidiBrackets.txt: Import from Unicode 11.0.
5381         * admin/notes/unicode: Update the URL for OTF script tags.
5383         * lisp/international/mule-cmds.el (ucs-names): Update unused ranges.
5384         * lisp/international/fontset.el (script-representative-chars): Add
5385         hanifi-rohingya, old-sogdian, sogdian, dogra, gunjala-gondi,
5386         makasar, and medefaidrin.
5387         (otf-script-alist): Add old-hungarian.
5388         * lisp/international/characters.el (tbl): Add syntax entries for
5389         Supplemental Mathematical Operators, Miscellaneous Symbols and
5390         Arrows, and Supplemental Punctuation.
5391         Update the list of wide characters.
5393         * test/lisp/international/ucs-normalize-tests.el
5394         (ucs-normalize-tests--failing-lines-part2): Update to match
5395         admin/unidata/NormalizationTest.txt.
5397         * doc/lispref/nonascii.texi (Character Properties): Update the
5398         reference to the Unicode Standard.
5399         * doc/misc/efaq.texi (New in Emacs 26):
5400         * etc/NEWS: Mention compatibility with Unicode 11.0.
5402 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
5404         * etc/NEWS: Belatedly call out vc-hg changes in v26.1.  (Bug#31759)
5406 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
5408         Clarify the documentation of 'dired-recursive-deletes'
5410         * doc/emacs/dired.texi (Dired Deletion): Clarify text regarding
5411         recursive deletion of non-empty directories.  (Bug#31529)
5413 2018-06-08  Eli Zaretskii  <eliz@gnu.org>
5415         Clarify doc string of 'update-glyphless-char-display'
5417         * lisp/international/characters.el
5418         (update-glyphless-char-display): Doc fix.  (Bug#31730)
5420 2018-06-08  Eli Zaretskii  <eliz@gnu.org>
5422         Clarify subtle issues with 'eq' in byte-compiled code
5424         * doc/lispref/objects.texi (Equality Predicates): Explain why
5425         byte-compiled code might compare literal objects with identical
5426         contents as 'eq'.  (Bug#31688)
5428 2018-06-07  Gemini Lasswell  <gazally@runbox.com>
5430         Make cl-print respect print-quoted (bug#31649)
5432         * lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Observe
5433         print-quoted when printing quote and its relatives.  Add printing of
5434         'function' as #'.
5436 2018-06-07  Martin Rudalics  <rudalics@gmx.at>
5438         Fix unexpected jumps of window-point in 'set-window-configuration' (Bug#31695)
5440         * src/window.c (Fset_window_configuration): Prevent that the
5441         fix for Bug#12208 affects restoration of window points when
5442         using separate minibuffer frames (Bug#31695).
5444 2018-06-06  Nicolas Petton  <nicolas@petton.fr>
5446         * etc/emacs.appdata.xml: Update Emacs screenshot.
5448 2018-06-06  Eli Zaretskii  <eliz@gnu.org>
5450         Fix cursor movement by 'next-logical-line' after 'next-line'
5452         * src/indent.c (Fvertical_motion): Adjust TO_X when line-numbers
5453         are being displayed.  Remove unneeded "correction" of TO_X at the
5454         goal line.
5456         * lisp/simple.el (last--line-number-width): Remove unneeded
5457         variable.
5458         (line-move-visual): Account for line-number display width by
5459         adjusting the pixel X coordinate that gets converted into
5460         canonical columns passed to vertical-motion, instead of adjusting
5461         temporary-goal-column (which then affects next commands, including
5462         next-logical-line).  (Bug#31723)
5464 2018-06-05  Allen Li  <darkfeline@felesatra.moe>
5466         Fix prompt in bookmark.el (Bug#24726)
5468         * lisp/bookmark.el (bookmark-set-internal): Conform to the standard
5469         default prompt format (per `minibuffer-electric-default-mode') which
5470         does not use a colon.
5472 2018-06-05  Basil L. Contovounesios  <contovob@tcd.ie>
5474         Improve documentation of 'empty' whitespace-style
5476         * doc/emacs/display.texi (Useless Whitespace): Clarify that the
5477         'empty' whitespace-style option highlights empty lines only at
5478         BOB/EOB, as per the docstring of whitespace-style. (bug#31713)
5480 2018-06-05  Paul Eggert  <eggert@cs.ucla.edu>
5482         Port FC_COLOR change to older fontconfig
5484         Problem reported by John ff in:
5485         https://lists.gnu.org/r/emacs-devel/2018-04/msg00058.html
5486         * src/ftfont.c (ftfont_spec_pattern) [!FC_COLOR]:
5487         Don’t use FC_COLOR on older fontconfigs that don’t have it.
5489 2018-06-05  Robert Pluim  <rpluim@gmail.com>
5491         Ignore color fonts when using Xft
5493         * src/font.c (syms_of_font): New configuration variable
5494         xft-ignore-color-fonts, default t.
5495         * src/ftfont.c (ftfont_spec_pattern): Tell fontconfig to ignore
5496         color fonts if xft-ignore-color-fonts is t.  (Bug#30874, Bug#30045)
5497         * etc/NEWS: Document xft-ignore-color-fonts.
5499 2018-06-04  Noam Postavsky  <npostavs@gmail.com>
5501         Fix comint-get-old-input-default for output field case (Bug#25028)
5503         * lisp/comint.el (comint-get-old-input-default): Don't return whole
5504         field when point was on an output field.
5506 2018-06-04  Eli Zaretskii  <eliz@gnu.org>
5508         Prevent infloop in 'delete-trailing-whitespace'
5510         * lisp/simple.el (delete-trailing-whitespace): Avoid inflooping
5511         when some region of trailing whitespace is unmodifiable.
5512         (Bug#31557)
5514 2018-06-04  Gemini Lasswell  <gazally@runbox.com>
5516         Make cl-print respect print-level and print-length (bug#31559)
5518         * lisp/emacs-lisp/cl-print.el (cl-print--depth): New variable.
5519         (cl-print-object) <cons>: Print ellipsis if printing depth greater
5520         than 'print-level' or length of list greater than 'print-length'.
5521         (cl-print-object) <vector>: Truncate printing with ellipsis if
5522         vector is longer than 'print-length'.
5523         (cl-print-object) <cl-structure-object>: Truncate printing with
5524         ellipsis if structure has more slots than 'print-length'.
5525         (cl-print-object) <:around>: Bind 'cl-print--depth'.
5526         * test/lisp/emacs-lisp/cl-print-tests.el
5527         (cl-print-tests-3, cl-print-tests-4): New tests.
5529         (cherry picked from commit 0f48d18fd2a30f29cc3592a835d2a2254c9b0afb)
5531 2018-06-03  Phil Sainty  <psainty@orcon.net.nz>
5533         Fix remote-host directory tracking for shells in `term' buffers
5535         * lisp/term.el (term-handle-ansi-terminal-messages): Use an explicit
5536         tramp method when constructing the tramp path for a non-local host,
5537         as this is now mandatory.  "-" is a pseudo-method for the user's
5538         `tramp-default-method'.  (Bug#31355)
5540         Specify the remote username explicitly in all cases, as
5541         `tramp-default-user' and `tramp-default-user-alist' could cause the
5542         previous logic to fail.
5544         Minor related improvements to the commentary.
5546 2018-06-03  Eli Zaretskii  <eliz@gnu.org>
5548         Update doc string of 'rx'
5550         * lisp/emacs-lisp/rx.el (rx): Update the description of some
5551         character classes.
5553 2018-06-03  Stefan Monnier  <monnier@iro.umontreal.ca>
5555         Fix bug#30846, along with misc cleanups found along the way
5557         * test/src/data-tests.el (data-tests-kill-all-local-variables): New test.
5559         * src/buffer.c (swap_out_buffer_local_variables): Remove.
5560         Fuse the body of its loop into that of reset_buffer_local_variables.
5561         (Fkill_buffer, Fkill_all_local_variables): Don't call it any more.
5562         (reset_buffer_local_variables): Make sure the buffer's local binding
5563         is swapped out before removing it from the alist (bug#30846).
5564         Call watchers before actually killing the var.
5566         * src/data.c (Fmake_local_variable): Simplify.
5567         Use swap_in_global_binding to swap out any local binding, instead of
5568         a mix of find_symbol_value followed by messing with where&found.
5569         Don't call swap_in_symval_forwarding since the currently swapped
5570         binding is never one we've modified.
5571         (Fkill_local_variable): Use swap_in_global_binding rather than messing
5572         with where&found to try and trick find_symbol_value into doing the same.
5574         * src/alloc.c (mark_localized_symbol): 'where' can't be a frame any more.
5576         (cherry picked from commit 3ddff080341580eb6fc18d907181e9cc2301f62d)
5578 2018-06-03  Jay Kamat  <jaygkamat@gmail.com>
5580         esh-opt.el: Fix improper parsing of first argument (Bug#28323)
5582         Examples of broken behavior:
5584             sudo -u root whoami
5585             Outputs: -u
5586             ls -I '*.txt' /dev/null
5587             Errors with: *.txt: No such file or directory
5589         * lisp/eshell/esh-opt.el (eshell--process-args): Refactor usage of
5590         args to eshell--args, as we rely on modifications from
5591         eshell--process-option and vice versa.  These modifications were not
5592         being propogated in the (if (= ai 0)) case, since popping the first
5593         element of a list doesn't destructively modify the underlying list
5594         object.
5596         (cherry picked from commit 92a8230e49a65be48442ee95cf50c90514e48f99)
5598 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
5600         * lisp/epa.el (epa-decrypt-file): Apply epa-pinentry-mode (Bug#30363).
5602         (cherry picked from commit 217202c084232f36d4fa0fead0f3aca21396d074)
5604 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
5606         Fix cl-print for circular sublists (Bug#31146)
5608         * lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Push each
5609         element of list being printed onto cl-print--currently-printing.
5610         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle-2): New
5611         test.
5613         (cherry picked from commit b8aa7ecf54c9b164a59f1b0e9f9fe90531dadd20)
5615 2018-06-03  Lars Ingebrigtsen  <larsi@gnus.org>
5617         Revert "Make mail-extract-address-components return the user name more"
5619         This reverts commit 8b50ae8b2284b5652c2843a9d0d076f4f657be28.
5621         According to tests in bug#27656 by OGAWA Hirofumi, this patch
5622         led to wrong results when binding
5624         (dolist (addr '("Rasmus <rasmus@gmx.us>" "Rasmus <mbox@gmx.us>"))
5625           (dolist (ignore-single '(t nil))
5626             (dolist (ignore-same '(t nil))
5627               (let ((mail-extr-ignore-single-names ignore-single)
5628                     (mail-extr-ignore-realname-equals-mailbox-name ignore-same))
5629                 (message "%s" (mail-extract-address-components addr))))))
5631         in combination.
5633         (cherry picked from commit a3a9d5434d56f8736cc47e379a1d011d4c779b7c)
5635 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
5637         Centralize Bug#30931 fix
5639         * src/marker.c (detach_marker): New function.
5640         * src/editfns.c (save_restriction_restore):
5641         * src/insdel.c (signal_before_change): Use it.
5643         (cherry picked from commit 6f66a43d7ad6cada2b7dbb6d07efe36be1dc7ecb)
5645 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
5647         Fix another case of freed markers in the undo-list (Bug#30931)
5649         * src/alloc.c (free_marker): Remove.
5650         * src/editfns.c (save_restriction_restore):
5651         * src/insdel.c (signal_before_change): Detach the markers from the
5652         buffer when we're done with them instead of calling free_marker on
5653         them.
5654         * test/src/editfns-tests.el (delete-region-undo-markers-1)
5655         (delete-region-undo-markers-2): New tests.
5657         (cherry picked from commit 96b8747d5c5d747af13fd84d8fe0308ef2a0ea7a)
5659 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
5661         Fix CHECK_ALLOCATED_AND_LIVE abort during GC
5663         * src/editfns.c (save_restriction_restore):
5664         Wait for the GC to free the temporary markers (Bug#30931).
5666         (cherry picked from commit 670f2ffae718046c0fb37313965a51c040ed096f)
5668 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
5670         Don't wait for visible frames to become visible
5672         For discussion, see thread starting at
5673         https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00807.html.
5674         * src/xterm.c (x_make_frame_visible): Check FRAME_VISIBLE_P before
5675         calling x_wait_for_event.
5677         (cherry picked from commits 2a192e21cf3b04b7f830b4971c1508c611e13a3c
5678         and 00c1f771f2a51ffa675ec5a07ea330f2605cd302)
5680 2018-06-03  Tino Calancha  <tino.calancha@gmail.com>
5682         query-replace undo: Handle when user edits the replacement string
5684         * lisp/replace.el (perform-replace): Update the replacement string
5685         after the user edit it (Fix Bug#31538).
5687         * test/lisp/replace-tests.el (query-replace-undo-bug31538): New test.
5689         Backport: (cherry picked from commits
5690         ea133e04f49afa7928e49a3ac4a85b47f6f13f01
5691         and
5692         7dcfdf5b14325ae7996f272f14c72810d7c84944)
5694 2018-06-03  Tino Calancha  <tino.calancha@gmail.com>
5696         Backport: Fix corner case in query-replace-regexp undo
5698         This commit fixes Bug#31492.
5699         * lisp/replace.el (replace-match-maybe-edit): Preserve match data.
5701         * test/lisp/replace-tests.el (query-replace-undo-bug31492): Add test.
5703         (cherry picked from commit bab73230d1be1fe394b7269c1365ef6fb1a5d9b3)
5705 2018-06-03  Tino Calancha  <tino.calancha@gmail.com>
5707         Backport: Preserve case in query-replace undo
5709         If the user query and replaces 'foo' with 'BAR', then
5710         undo must comeback to 'foo', not to 'FOO' (Bug#31073).
5711         * lisp/replace.el (perform-replace): Bind nocasify to non-nil
5712         value during undo/undo-all actions.
5713         * test/lisp/replace-tests.el (query-replace-undo-bug31073): Add test.
5715         (cherry picked from commit 32dc0cb1b5ae895d237c7118ccaeb084715934fd)
5717 2018-06-02  Alan Third  <alan@idiocy.org>
5719         Set accessibility subroles for child frame (bug#31324)
5722         * src/nsterm.m (x_set_parent_frame): Set subrole depending on whether
5723         frame is a child or not.
5725 2018-06-02  Alan Third  <alan@idiocy.org>
5727         Fix redefinition of child frames on NS
5729         * src/nsterm.m (x_set_parent_frame): If the NSWindow has an existing
5730         parent frame, remove it.
5732 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5734         Improve ELisp documentation of 'clone-indirect-buffer'
5736         * doc/lispref/buffers.texi (Indirect Buffers): Be more explicit
5737         about the value of DISPLAY-FLAG in interactive usage.  (Bug#31648)
5739 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5741         Improve documentation of 'inhibit-message'
5743         * src/xdisp.c (syms_of_xdisp) <inhibit-message>: Warn against
5744         setting it non-nil globally.  (Bug#31627)
5746 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5748         Improve documentation of comment styles
5750         * doc/lispref/syntax.texi (Syntax Flags): Define the "a" style.
5751         (Bug#31624)
5753 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5755         Documentation improvements in newcomment.el
5757         * lisp/newcomment.el (uncomment-region)
5758         (uncomment-region-default): Doc fixes.  (Bug#31615)
5760 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5762         Imp[rove documentation of 'with-silent-modifications'
5764         * doc/lispref/buffers.texi (Buffer Modification): Document
5765         'with-silent-modifications'.  (Bug#31613)
5766         * doc/lispref/text.texi (Changing Properties): Add a
5767         cross-reference to "Buffer Modification".  Improve wording.
5769 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5771         Fix decoding of directories when "~" includes non-ASCII chars
5773         * src/fileio.c (Fexpand_file_name): Don't build multibyte strings
5774         from unibyte non-ASCII strings when NAME and DEFAULT_DIRECTORY
5775         have different multibyteness, as this adds bytes to the byte
5776         sequence, and in some situations, e.g., when the home directory
5777         includes non-ASCII characters, can fail file APIs.  (Bug#30755)
5779         * lisp/startup.el (normal-top-level): Make sure default-directory
5780         is set to a multibyte string when decoded on MS-Windows.
5782         (cherry picked from commit 3aab8626ba5080bb04d0fdae52d99c850a842a52)
5784 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5786         Don't remove highlight of misspelled word on pdict save
5788         * lisp/textmodes/ispell.el (ispell-pdict-save): Don't restart
5789         flyspell-mode, as bug#11963, which this was supposed to fix, is
5790         fixed better by ispell-command-loop, when the user types 'i' or
5791         'a'.  Restarting Flyspell mode when the personal dictionary is
5792         saved caused bug#31372 as side effect.
5793         (ispell-command-loop): Test 'flyspell-mode', not whether
5794         flyspell-unhighlight-at is fboundp, to determine whether Flyspell
5795         mode is turned on in the current buffer.
5796         (flyspell-unhighlight-at): Add declare-function form for it.
5798         (cherry picked from commit 91e582a31ada28fab5ae55bdbf959a9d30796587)
5800 2018-06-02  Ari Roponen  <ari.roponen@gmail.com>
5802         Fix some problems in the Cairo build
5804         * src/xterm.c (x_begin_cr_clip): Create image surface.
5805         (x_update_end) [USE_CAIRO]: Remove GTK3-specific code.
5806         (x_scroll_run) [USE_CAIRO]: Implement scrolling.
5807         * src/image.c (lookup_rgb_color) [USE_CAIRO]: Support Cairo.
5808         (jpeg_load_body) [USE_CAIRO]: Support Cairo.  Use USE_CAIRO
5809         instead of CAIRO for #ifdef's.
5810         (imagemagick_load_image) [USE_CAIRO]: Support Cairo.
5811         (Bug#31288)
5813         (cherry picked from commit 2d0eff42b8f1122e00f948759ed01a3be1a8c3fc)
5815 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5817         Avoid infloops in font_open_entity
5819         * src/font.c (font_open_entity): Fail after 15 iterations through
5820         the loop that looks for a font whose average_width and height are
5821         both positive.  This avoids infinite loops for fonts that, e.g.,
5822         report average_width of zero for any possible size we try.
5823         (Bug#31316)
5825         (cherry picked from commit e2879c1f837059335af89022b2a9ac9bc861e96d)
5827 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5829         Fix encoding of characters when using GB18030 fonts
5831         * lisp/international/fontset.el (font-encoding-alist): Fix the
5832         GB18030 entry to encode characters correctly when passing them to
5833         the xfont back-end.  (Bug#31315)  See also
5834         http://lists.gnu.org/archive/html/emacs-devel/2008-01/msg00754.html.
5836         (cherry picked from commit bbe2cadc544e63e9378350621887f8fb9bbcc236)
5838 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5840         Fix C-p and C-n when wrap-prefix is too wide
5842         * src/xdisp.c (move_it_in_display_line_to): Avoid looping in
5843         previous/next-line when wrap-prefix is set to a too-wide
5844         stretch of whitespace.  (Bug#30432)
5846         (cherry picked from commit 842b3d7412eaed6b2c9f90c3361abb4932ec0b1d)
5848 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5850         Avoid redisplay problems with too wide wrap-prefix
5852         * src/xdisp.c (display_line): Avoid looping in redisplay when
5853         wrap-prefix is set to a too-wide stretch of whitespace.
5854         (Bug#30432)
5856         (cherry picked from commit 2a1fe08307402d6217d073f8ab7737750d253dd4)
5858 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5860         Fix 'posn-at-point' when line numbers are displayed
5862         * src/xdisp.c (pos_visible_p): For the leftmost glyph, adjust the X
5863         coordinate due to line-number display.  (Bug#30834)
5865         (cherry picked from commit 4a20174d7949028f66b18a92a75d6b74194242a8)
5867 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5869         Another followup to fixing 'window-text-pixel-width'
5871         * src/xdisp.c (Fwindow_text_pixel_size): Adjust the return value
5872         when we stop one buffer position short of TO.  (Bug#30746)
5874         (cherry picked from commit 33cba5405c724566673cf023513bfb1faa963bea)
5876 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5878         Fix mouse-set-point when line numbers are displayed
5880         * src/xdisp.c (move_it_to): Initialize the line_number_produced_p
5881         flag before iterating on a new line.  (Bug#30818)
5883         (cherry picked from commit 5c585b8b994aad4e6844f8eed80bdfbb396e91bf)
5885 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5887         * src/xdisp.c (Fwindow_text_pixel_size): Fix last change.
5889         (cherry picked from commit 06911714ef66ea81380b1eda75a9f7cfbc9e0b65)
5891 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5893         Fix 'window-text-pixel-size' when display properties are around
5895         * src/xdisp.c (Fwindow_text_pixel_size): Correct the result when
5896         there's a display property at the  TO position, and the call to
5897         move_it_to overshoots.  (Bug#30746)
5899         (cherry picked from commit 50e2c0fb5180a757d8d533518f68837ffe5909be)
5901 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5903         Fix display of TABs in hscrolled windows with line numbers
5905         * src/dispextern.h (struct it): New members tab_offset and
5906         line_number_produced_p.
5907         * src/xdisp.c (display_line): Don't set row->x to a negative value
5908         if line numbers are being displayed.  (Bug#30582)
5909         Reset the line_number_produced_p flag before laying out the glyph
5910         row.
5911         (x_produce_glyphs): Use the line_number_produced_p flag to decide
5912         whether to offset the X coordinate due to line-number display.
5913         Use the tab_offset member to restore the original TAB width for
5914         alignment purposes.
5915         (move_it_in_display_line_to): Don't produce line numbers when moving
5916         in hscrolled window to the left of first_visible_x.
5917         (maybe_produce_line_number): Set the line_number_produced_p flag.
5918         (Bug#30584)
5919         * src/term.c (produce_glyphs): Correct TAB width only when
5920         line_number_produced_p flag is set.
5922         (cherry picked from commit 1ac190553886ff20817d3dd218464e2fc6f9e42a)
5924 2018-06-02  Matthias Dahl  <matthias.dahl@binary-island.eu>
5926         Fix wait_reading_process_output wait_proc hang
5928         * src/process.c (read_process_output): Track bytes read from
5929         a process.
5930         (wait_reading_process_output): If called recursively through
5931         timers and/or process filters via accept-process-output, it is
5932         possible that the output of wait_proc has already been read by
5933         one of those recursive calls, leaving the original call hanging
5934         forever if no further output arrives through that fd and no
5935         timeout has been set.  Fix that by using the process read
5936         accounting to keep track of how many bytes have been read and
5937         use that as a condition to break out of the infinite loop and
5938         return to the caller as well as to calculate the proper return
5939         value (if a wait_proc is given that is).
5941         * src/process.h (struct Lisp_Process): Add nbytes_read to track
5942         bytes read from a process.
5944         (cherry picked from commit 4ba32858d61eee16f17b51aca01c15211a0912f8)
5946 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5948         Fix posn-at-point in Flycheck buffers
5950         * src/dispnew.c (buffer_posn_from_coords): Improve commentary.
5952         * src/xdisp.c (move_it_in_display_line_to): Don't exit the loop
5953         under truncate-lines if the glyph at TO_CHARPOS was not yet
5954         produced.  This avoids bailing out too early when we are at
5955         TO_CHARPOS, but didn't yet produce glyphs for that buffer
5956         position, because the last call to PRODUCE_GLYPHS at this position
5957         was for an object other than the buffer.  For further details, see
5958         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00537.html.
5960         (cherry picked from commit c0154ac7c3423f68d8f3a2e85a756c9759219039)
5962 2018-06-02  Martin Rudalics  <rudalics@gmx.at>
5964         * etc/PROBLEMS: Document stickyness problem with FVWM (Bug#31650)
5966 2018-06-01  Eli Zaretskii  <eliz@gnu.org>
5968         Update Emacs Lisp Intro to match current behavior
5970         * doc/lispintro/emacs-lisp-intro.texi (Wrong Type of Argument)
5971         (debug, debug-on-entry, Void Function, Void Variable): Update the
5972         *Backtrace* buffer display to current Emacs.  (Bug#31654)
5974 2018-06-01  Robert Pluim  <rpluim@gmail.com>
5976         Fix previous commit
5978         * doc/emacs/files.texi (Interlocking): Two spaces at end of sentence
5980 2018-06-01  Ville Skyttä  <ville.skytta@iki.fi>  (tiny change)
5982         Fix typos in several manuals (Bug#31610)
5984 2018-06-01  Robert Pluim  <rpluim@gmail.com>
5986         Add detailed documentation about lock files
5988         * doc/emacs/files.texi (Interlocking): Point user at detailed
5989         file locking description in lisp reference manual.  Add index
5990         entry for '.#' to improve disoverability of information about locking.
5992         * doc/lispref/files.texi (File Locks): Describe in detail what
5993         the form of the lock file is.  Add index entry for '.#' to
5994         improve disoverability of information about locking.
5996         * src/filelock.c (create-lockfiles): Add cross reference to
5997         file locking in user manual and to 'lock-buffer'.  Add string
5998         '.#' to help users find the doc string.
6000 2018-06-01  Eli Zaretskii  <eliz@gnu.org>
6002         Add commentary for subtle aspect of frame.el
6004         * lisp/frame.el: Explain why we use symbol-function when adding
6005         watchers for certain variables that need to trigger redisplay.
6007 2018-06-01  Eli Zaretskii  <eliz@gnu.org>
6009         Improve documentation of 'directory-files-and-attributes'
6011         * doc/lispref/files.texi (Contents of Directories): Fix inaccurate
6012         description of the return value of directory-files-and-attributes.
6014         * src/dired.c (Fdirectory_files_and_attributes): Describe the
6015         function's value in more detail.
6017 2018-05-30  Katsumi Yamaoka  <yamaoka@jpl.org>
6019         * lisp/gnus/message.el (message-remove-header): Don't remove things
6020         not looking like header (bug#31651).
6022 2018-05-30  Eli Zaretskii  <eliz@gnu.org>
6024         Adapt hexl-mode to native line-number display
6026         * lisp/hexl.el (hexl-mode-ruler): When display-line-numbers is in
6027         effect, adjust offsets and columns to account for the line-number
6028         display.  (Bug#31595)
6030 2018-05-30  Michael Albinus  <michael.albinus@gmx.de>
6032         Fix example in Tramp manual
6034         * doc/misc/tramp.texi (Frequently Asked Questions): Fix wording
6035         for the zsh example.
6037 2018-05-29  Robert Pluim  <rpluim@gmail.com>
6039         Handle case where Xft is found but not XRender
6041         * configure.ac (XFT_LIBS): Ensure that HAVE_XFT is no if
6042         XRender is not found.  (Bug#31634)
6044 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
6046         * doc/misc/tramp.texi (Frequently Asked Questions): Adapt zsh example.
6048 2018-05-29  Damien Cassou  <damien@cassou.me>
6050         Improve read-multiple-choice docstring (Bug#31628)
6052         * lisp/emacs-lisp/rmc.el (read-multiple-choice): Improve docstring.
6054 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
6056         * doc/misc/tramp.texi (All): Use @code instead of @option for user options.
6058 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
6060         Fix Bug#31605
6062         * doc/misc/tramp.texi (All): Add @vindex entries for
6063         environment variables.
6064         (Remote shell setup): New items `tramp-terminal-type' and
6065         "Determining a Tramp session".
6066         (Frequently Asked Questions): Adapt zsh example.  (Bug#31605)
6068 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
6070         Sync with Tramp 2.3.4-pre
6072         * doc/misc/trampver.texi: Change version to "2.3.4-pre
6074         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
6075         (tramp-backup-directory-alist, tramp-auto-save-directory)
6076         (tramp-encoding-shell, tramp-encoding-command-switch)
6077         (tramp-encoding-command-interactive, tramp-default-method)
6078         (tramp-default-method-alist, tramp-default-user)
6079         (tramp-default-user-alist, tramp-default-host)
6080         (tramp-default-host-alist, tramp-default-proxies-alist)
6081         (tramp-save-ad-hoc-proxies, tramp-restricted-shell-hosts-alist)
6082         (tramp-local-end-of-line, tramp-rsh-end-of-line)
6083         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
6084         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
6085         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
6086         (tramp-terminal-prompt-regexp)
6087         (tramp-operation-not-permitted-regexp, tramp-copy-failed-regexp)
6088         (tramp-process-alive-regexp, tramp-chunksize)
6089         (tramp-process-connection-type, tramp-connection-timeout)
6090         (tramp-connection-min-time-diff)
6091         (tramp-completion-reread-directory-timeout):
6092         * lisp/net/tramp-adb.el (tramp-adb-program)
6093         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
6094         * lisp/net/tramp-cache.el (tramp-connection-properties)
6095         (tramp-persistency-file-name):
6096         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
6097         (tramp-gvfs-zeroconf-domain, tramp-bluez-discover-devices-timeout):
6098         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
6099         (tramp-copy-size-limit, tramp-terminal-type)
6100         (tramp-histfile-override, tramp-use-ssh-controlmaster-options)
6101         (tramp-remote-path, tramp-remote-process-environment)
6102         (tramp-sh-extra-args):
6103         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
6104         (tramp-smb-conf, tramp-smb-winexe-program)
6105         (tramp-smb-winexe-shell-command)
6106         (tramp-smb-winexe-shell-command-switch):
6107         Dont't require 'tramp.  (Bug#31558)
6109         * lisp/net/tramp.el (tramp-accept-process-output):
6110         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
6111         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
6112         (tramp-sh-handle-start-file-process):
6113         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
6114         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
6115         (tramp-smb-handle-set-file-acl)
6116         (tramp-smb-handle-start-file-process): Suppress timers.
6118         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
6119         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
6120         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
6121         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
6122         Write proper message.
6124         * lisp/net/tramp-cmds.el (tramp-change-syntax):
6125         Use `customize-set-variable'.
6127         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
6128         Ensure proper EOL handling for Darwin.
6129         (tramp-find-inline-compress): Improve command quoting for w32.
6130         Reported by Chris Zheng <chriszheng99@gmail.com>.
6131         (tramp-open-connection-setup-interactive-shell): Wrap both echo
6132         calls in parentheses, in order to avoid double prompt.
6134         * lisp/net/tramp-smb.el (tramp-smb-errors):
6135         Add "NT_STATUS_RESOURCE_NAME_NOT_FOUND".
6137         * lisp/net/tramp.el (tramp-default-user-alist)
6138         (tramp-default-host-alist): Fix docstring.
6139         (tramp-dissect-file-name): Adapt docstring.  (Bug#30904)
6140         (tramp-make-tramp-file-name): Check, that method is
6141         not empty.  (Bug#30038)
6142         (tramp-message-show-message): Change default.
6144         * lisp/net/trampver.el: Change version to "2.3.4-pre".
6146         * test/lisp/net/tramp-tests.el (ert-x): Require it.
6147         (tramp-test10-write-region): Extend test.
6148         (tramp--test-emacs27-p, tramp--test-windows-nt): New defuns.
6149         (tramp-test11-copy-file, tramp-test12-rename-file)
6150         (tramp-test21-file-links, tramp-test24-file-acl)
6151         (tramp-test25-file-selinux, tramp--test-check-files): Use them.
6152         (tramp-test21-file-links): Do not call `make-symbolic-link' on w32.
6153         Fix file name quoting test.
6154         (tramp-test32-environment-variables-and-port-numbers):
6155         Adapt check for systems which do not support "echo -n".  (Bug#29712)
6156         (tramp-test36-find-backup-file-name): Call also
6157         `convert-standard-filename' due to w32.
6158         (tramp-test41-asynchronous-requests):
6159         Use $REMOTE_PARALLEL_PROCESSES.  Flush cache prior file operations.
6160         (tramp-test42-auto-load, tramp-test42-delay-load)
6161         (tramp-test42-recursive-load, tramp-test42-remote-load-path):
6162         Quote command due to w32.
6164 2018-05-28  Eli Zaretskii  <eliz@gnu.org>
6166         Bump Emacs version to 26.1.50
6168         * msdos/sed2v2.inp:
6169         * nt/README.W32:
6170         * configure.ac:
6171         * README: Bump Emacs version to 26.1.50.
6173 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
6175         Mention pcase as a fifth conditional form
6177         * doc/lispref/control.texi (Conditionals): ...here,
6178         in first para, w/ xref to "Pattern-Matching Conditional".
6180 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
6182         Overhaul pcase documentation
6184         Suggested by Drew Adams (Bug#31311).
6186         * doc/lispref/control.texi (Control Structures):
6187         Add "Pattern-Matching Conditional" to menu, before "Iteration".
6188         (Conditionals): Delete menu.
6189         (Pattern matching case statement): Delete node/subsection,
6190         by actually moving, renaming, and overhauling it to...
6191         (Pattern-Matching Conditional): ...new node/section.
6192         (pcase Macro): New node/subsection.
6193         (Extending pcase): Likewise.
6194         (Backquote Patterns): Likewise.
6195         * doc/lispref/elisp.texi (Top) In @detailmenu, add
6196         "Pattern-Matching Conditional" under "Control Structures"
6197         section and delete "Conditionals" section.
6198         * lisp/emacs-lisp/pcase.el (pcase): Rewrite docstring.
6199         (pcase-defmacro \` (qpat) ...): Likewise.
6201 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
6203         Use EXPVAL in docstrings of patterns defined using pcase-defmacro
6205         Suggested by Drew Adams (Bug#31311).
6207         * lisp/emacs-lisp/cl-macs.el (cl-struct): ...here.
6208         * lisp/emacs-lisp/eieio.el (eieio): Likewise.
6209         * lisp/emacs-lisp/radix-tree.el (radix-tree-leaf): Likewise.
6210         * lisp/emacs-lisp/rx.el (rx): Likewise.
6212 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
6214         Introduce EXPVAL for pcase, pcase-defmacro docstrings
6216         Suggested by Drew Adams (Bug#31311).
6218         * lisp/emacs-lisp/pcase.el (pcase): Use EXPVAL in
6219         docstring to stand for the result of evaluating EXP.
6220         (pcase-defmacro): Add (fn ...) form in docstring
6221         that includes [DOC], and the EXPVAL convention.
6223 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
6225         Ensure pcase doc shows `QPAT first among extensions
6227         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
6228         Split extensions display into two phases, collection
6229         and display, separated by a reordering step that
6230         ensures backquote is the first.
6232 2018-05-25  Nicolas Petton  <nicolas@petton.fr>
6234         * etc/HISTORY: Update for Emacs 26.1 release.
6236         * etc/AUTHORS: Update.
6238 2018-05-25  Noam Postavsky  <npostavs@gmail.com>
6240         Note caveat for backward regexp searching in docstring (Bug#31584)
6242         * src/search.c (Fre_search_backward): Emphasize that backwards
6243         searches may give shorter than expected matches.
6244         * doc/lispref/searching.texi (Regexp Search): Add an anchor for
6245         re-search-backward to reference.
6247 2018-05-25  Eli Zaretskii  <eliz@gnu.org>
6249         Update backtrace in Emacs Lisp Intro
6251         * doc/lispintro/emacs-lisp-intro.texi (Making Errors): Update the
6252         backtrace to match Emacs 26.  (Bug#31589)
6254 2018-05-24  Roland Winkler  <winkler@gnu.org>
6256         Move window-point in bibtex-search-entry
6258         * lisp/textmodes/bibtex.el (bibtex-search-entry): Move window-point
6259         to record found.
6261 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
6263         More fixes of Intro to Emacs Lisp
6265         * doc/lispintro/emacs-lisp-intro.texi (Finding More): Tell the
6266         reader how to invoke 'M-.' without a tags table.  Add a
6267         cross-reference to the Emacs manual for when a tags table does
6268         need to be created.
6269         (append save-excursion): Rephrase a confusing sentence.
6270         (Bug#31578)
6272 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
6274         Add a footnote to Emacs Lisp Intro
6276         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Describe
6277         the detailed output of integer value evaluation in a footnote, to
6278         prevent confusion.  (Bug#31579)
6280 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
6282         * lisp/help.el (with-help-window): Doc fix.  (Bug#31574)
6284 2018-05-23  Eli Zaretskii  <eliz@gnu.org>
6286         Fix some cross-references in emacs-lisp-intro.texi
6288         * doc/lispintro/emacs-lisp-intro.texi (List Processing)
6289         (Determining the Element, graph-body-print): Fix cross-references
6290         to subsections that don't exist in the printed version of the
6291         manual.  (Bug#31567)
6293 2018-05-23  Eli Zaretskii  <eliz@gnu.org>
6295         Minor copyedits in Emacs manual in macos.texi
6297         * doc/emacs/macos.texi (Mac / GNUstep Basics)
6298         (Mac / GNUstep Events): Fix markup and capitalization.
6299         (Bug#31568)
6301 2018-05-23  Noam Postavsky  <npostavs@gmail.com>
6303         Clarify when to use advice-add vs add-function
6305         * lisp/emacs-lisp/nadvice.el (add-function): Note in docstring that
6306         advice-add should be used for named functions.
6308 2018-05-22  Eli Zaretskii  <eliz@gnu.org>
6310         Minor formatting tweak in the Emacs manual
6312         * doc/emacs/custom.texi (Directory Variables): Don't have 2
6313         footnotes back to back, it looks bad in HTML.  (Bug#31555)
6315 2018-05-22  Eli Zaretskii  <eliz@gnu.org>
6317         Update comments in Intro to Emacs Lisp
6319         * doc/lispintro/emacs-lisp-intro.texi: Explain in the comments
6320         what are roman page numbers in Preface about.  (Bug#31541)
6322 2018-05-21  Noam Postavsky  <npostavs@gmail.com>
6324         * etc/NEWS: Mention change in `edebug-prin1-to-string'.
6326 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
6328         Another attempt to fix sql.el
6330         * lisp/progmodes/sql.el (sql-product-interactive): Fix calculation
6331         of the SQL buffer name.  (Bug#31446)
6333 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
6335         Update binding of 'M-.' in Intro to Emacs Lisp
6337         * doc/lispintro/emacs-lisp-intro.texi (On Reading this Text)
6338         (Finding More, Buffer Related Review, Buffer Exercises)
6339         (Find a File, Conclusion): 'M-.' is now bound to
6340         'xref-find-definitions'.  (Bug#31542)
6342 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
6344         Fix a typo in last change in sql.el
6346         * lisp/progmodes/sql.el (sql-product-interactive): Use 'null',
6347         not 'zerop'.  (Bug#31446)
6349 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
6351         Fix capitalization of mail headers
6353         * doc/emacs/sending.texi (Mail Format, Mail Headers)
6354         (Mail Aliases, Header Editing): Use consistent capitalization of
6355         CC, BCC, and FCC.  (Bug#31532)
6357 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
6359         Fix buffer names in sql.el
6361         * lisp/progmodes/sql.el (sql-product-interactive): Fix the way the
6362         buffer name is determined by prefix arg.  (Bug#31446)
6364 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
6366         Minor fixes in the Emacs manual
6368         * doc/emacs/misc.texi (Gnus Group Buffer): Fix a typo.  (Bug#31534)
6369         (Single Shell): Rephrase an unclear sentence.  (Bug#31535)
6370         (Remote Host): Use @command where appropriate.  (Bug#31536)
6372 2018-05-19  Eli Zaretskii  <eliz@gnu.org>
6374         Fix a typo in rmail.texi
6376         * doc/emacs/rmail.texi (Rmail Summary Edit): Add markup to 'nil'.
6377         (Bug#31533)
6379 2018-05-18  Paul Eggert  <eggert@cs.ucla.edu>
6381         * etc/PROBLEMS: Document Bug#31305.
6383 2018-05-18  Lars Ingebrigtsen  <larsi@gnus.org>
6385         (gnus-blocked-images): Clarify privacy implications
6387         * lisp/gnus/gnus-art.el (gnus-blocked-images): Clarify the privacy
6388         implication of altering the value of this variable.
6390         (cherry picked from commit f4d9fd3dd45f767eca33fbf1beee40da790fa74e)
6392 2018-05-18  Eli Zaretskii  <eliz@gnu.org>
6394         Fix a typo in describing input methods
6396         * lisp/help-mode.el (help-make-xrefs): Fix a typo.  (Bug#31448)
6398 2018-05-14  Eli Zaretskii  <eliz@gnu.org>
6400         Clarify the mode-line indicators in CC Mode
6402         * doc/emacs/programs.texi (Electric C): Explain '*' and '/' in the
6403         CC Mode mode-line.  (Bug31445)
6405 2018-05-12  João Távora  <joaotavora@gmail.com>
6407         Fix filesystem littering by Flymake's legacy backend
6409         The Flymake legacy "proc" backend, which is active by default will try
6410         to syntax-check foo.c/foo.cpp and many other types of files, but on
6411         failing to find a suitable Makefile target, will fail.  There's
6412         nothing wrong with that except that it used to leave behind the
6413         foo_flymake.c and foo_flymake.cpp auxiliary files behind, littering
6414         the filesystem.
6416         * lisp/progmodes/flymake-proc.el (flymake-proc-legacy-flymake):
6417         Call init-function inside of the unwind-protect.
6419 2018-05-12  Paul Eggert  <eggert@cs.ucla.edu>
6421         * doc/emacs/help.texi: Fix paren typo.
6423 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
6425         More minor changes in shell-related nodes of Emacs manual
6427         * doc/emacs/misc.texi (Interactive Shell): Clarify how the window
6428         that displays "*shell*" is selected.
6429         (Shell Prompts): Fix a typo.  Reported by Jorge
6430         <jorge+list@disroot.org> in emacs-manual-bugs.
6432 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
6434         Fix inaccuracies in "Shell Ring" node of Emacs manual
6436         * doc/emacs/misc.texi (Shell Ring): Don't mention 'M-s' and don't
6437         insist on Shell history commands being "jsut like" similar
6438         commands that operate on minibuffer history.  Reported by Jorge
6439         <jorge+list@disroot.org> in emacs-manual-bugs.
6441 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
6443         Improve documentation of kmacro commands and variables.
6445         * lisp/kmacro.el (kmacro-start-macro-or-insert-counter)
6446         (kmacro-counter, kmacro-set-format, kmacro-set-counter)
6447         (kmacro-add-counter, kmacro-counter-format)
6448         (kmacro-insert-counter): Clarify and improve the doc strings.
6449         (Bug#31243)
6451 2018-05-11  Noam Postavsky  <npostavs@gmail.com>
6453         * doc/man/emacs.1.in: Document --fg-daemon and --bg-daemon.
6455 2018-05-08  Noam Postavsky  <npostavs@gmail.com>
6457         Don't check non-X frames for z order (Bug#31373)
6459         * src/xfns.c (x_frame_list_z_order): Only use frames with
6460         `output_method' set to `output_x_window'.
6462 2018-05-07  Alan Third  <alan@idiocy.org>
6464         Check NSWindow is actually a frame
6466         * src/nsfns.m (Fns_frame_list_z_order): Check NSWindow is an instance
6467         of EmacsView before treating it as one.
6469 2018-05-06  Xu Chunyang  <mail@xuchunyang.me>
6471         Fix gud-statement for pdb
6473         * lisp/progmodes/gud.el (pdb): Fix the gud-print implementation.
6474         (Bug#31363)
6476 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
6478         Document 'custom-group'
6480         * doc/lispref/customize.texi (Group Definitions): Document the
6481         'custom-group' property.
6483 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
6485         A minor addition to etc/DEBUG
6487         * etc/DEBUG: Add a note for macOS users who get error messages
6488         when trying to run GDB.
6490 2018-05-04  Daniel Pittman  <slippycheeze@google.com>  (tiny change)
6492         Avoid errors in ispell.el when Enchant returns empty extra chars
6494         * lisp/textmodes/ispell.el (ispell--get-extra-word-characters):
6495         Handle the case of empty extra characters returned by the
6496         Enchant '-lsmod' command. (Bug#31344)
6498 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
6500         Make 'ispell-initialize-spellchecker-hook' work again
6502         * lisp/textmodes/ispell.el (ispell-base-dicts-override-alist):
6503         Defvar it to allow dynamic binding.  (Bug#31341)
6505 2018-05-04  Noam Postavsky  <npostavs@gmail.com>
6507         Handle selected_window change in prepare_menu_bars (Bug#31312)
6509         * src/xdisp.c (redisplay_internal): Check selected_window after
6510         calling prepare_menu_bars, since it can call lisp hooks.
6512 2018-05-03  Eli Zaretskii  <eliz@gnu.org>
6514         Fix report-emacs-bug via mailclient on MS-Windows
6516         * lisp/net/browse-url.el (browse-url-default-windows-browser):
6517         On MS-Windows, call url-unhex-string only for file:// URLs.
6518         (Bug#31351)
6520 2018-05-02  Paul Eggert  <eggert@cs.ucla.edu>
6522         Port collation tests to glibc 2.27
6524         * test/src/fns-tests.el (fns-tests-collate-strings)
6525         (fns-tests-collate-sort): Don’t make unportable assumptions
6526         about how en_US.UTF-8 collation works.  These assumptions
6527         are not true on Fedora 28, which ships with glibc 2.27.
6529 2018-05-01  Paul Eggert  <eggert@cs.ucla.edu>
6531         Port --enable-gcc-warnings to GCC 8
6533         Backport from master.
6534         * lib-src/emacsclient.c (fail):
6535         Do not dereference a null pointer.
6536         * src/frame.c (delete_frame):
6537         Add a decl with UNINIT to work around GCC bug 85563.
6538         * src/menu.h (finish_menu_items):
6539         Do not use attribute const.
6540         * src/regex.c (analyze_first): Use FALLTHROUGH, not a comment.
6542 2018-04-30  Paul Eggert  <eggert@cs.ucla.edu>
6544         Advise CFLAGS= operand, not in environment, when configuring
6546         Backport from master.
6548 2018-04-28  Eli Zaretskii  <eliz@gnu.org>
6550         Update the Emacs FAQ
6552         * doc/misc/efaq.texi (Latest version of Emacs): Update versions.
6553         (New in Emacs 26): New node.
6555         * admin/release-process: Mention the FAQ update as part of the
6556         release.
6558 2018-04-28  Eli Zaretskii  <eliz@gnu.org>
6560         * etc/DEBUG: Minor copyedits.
6562 2018-04-26  Alan Third  <alan@idiocy.org>
6564         Clarify wording of NS drag n drop documentation
6566         * doc/emacs/macos.texi (Mac / GNUstep Events): Clarify wording of
6567         ns-drag-n-drop description.
6569 2018-04-25  Basil L. Contovounesios  <contovob@tcd.ie>
6571         Improve kill-related documentation (bug#31209)
6573         * doc/lispref/text.texi (Low-Level Kill Ring): Fix typo under
6574         current-kill.  Mention interprogram-paste-function under kill-new
6575         and kill-append.
6576         * lisp/simple.el (save-interprogram-paste-before-kill, kill-new)
6577         (kill-append-merge-undo, kill-append): Touch-up docstrings.
6579 2018-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
6581         * lisp/simple.el (region-extract-function): Don't hide the 'nil' case.
6583 2018-04-22  Karl Otness  <karl@karlotness.com>  (tiny change)
6585         Fix pre- and post-command-hook errors in term.el
6587         Before this patch, after the terminal process dies the command
6588         hooks added in term-mode's char mode would produce errors.
6589         This fix removes these hooks when the process dies.
6590         * lisp/term.el (term-handle-exit): Remove pre-command-hook and
6591         post-command-hook because the process is dead.  (Bug#31236)
6593 2018-04-22  Charles A. Roelli  <charles@aurox.ch>
6595         * doc/lispref/display.texi (Glyphless Chars): Fix grammar.
6597 2018-04-21  Alan Third  <alan@idiocy.org>
6599         Fix macOS drag n drop event documentation
6601         * doc/emacs/macos.texi (Mac / GNUstep Customization): Remove
6602         references to color panel.
6603         (Mac / GNUstep Events): Remove ns-drag-file, and add ns-drag-n-drop.
6605 2018-04-20  Eli Zaretskii  <eliz@gnu.org>
6607         Update the documentation of 'perform-replace'
6609         * doc/lispref/searching.texi (Search and Replace): Update the
6610         documentation of 'perform-replace'.
6612 2018-04-20  Martin Rudalics  <rudalics@gmx.at>
6614         * etc/NEWS: Another fix for the last change (noted by Juri Linkov)
6616 2018-04-19  Eli Zaretskii  <eliz@gnu.org>
6618         Fix use of @key in Texinfo manuals
6620         * doc/misc/efaq-w32.texi (Location of init file):
6621         * doc/misc/org.texi (Editing source code, Export settings)
6622         (Closing items, Drawers, Structure editing):
6623         * doc/misc/gnus.texi (Spam and Ham Processors, Terminology):
6624         * doc/misc/calc.texi (Keypad Functions Menu, Keypad Binary Menu)
6625         (Keypad Vectors Menu, Keypad Main Menu, Basic Arithmetic)
6626         (Symbolic Mode):
6627         * doc/misc/sc.texi (Electric References):
6628         * doc/misc/info.texi (Help-^L):
6629         * doc/misc/reftex.texi (Reference Styles):
6630         * doc/misc/idlwave.texi (Troubleshooting, Examining Variables)
6631         (Lesson III---User Catalog, Using the Shell):
6632         * doc/misc/eshell.texi (Bugs and ideas):
6633         * doc/misc/ada-mode.texi (Automatic Casing):
6634         * doc/misc/ediff.texi (Selective Browsing):
6635         * doc/misc/vip.texi (Customizing Constants):
6636         * doc/misc/pcl-cvs.texi (Selected files):
6637         * doc/misc/efaq.texi (Replying to the sender of a message)
6638         (Basic keys, No Meta key, Matching parentheses)
6639         (Origin of the term Emacs, Installing Texinfo documentation)
6640         (Learning how to do something, Emacs manual, Extended commands):
6641         * doc/misc/viper.texi (Rudimentary Changes):
6642         * doc/misc/tramp.texi (Frequently Asked Questions):
6643         * doc/emacs/kmacro.texi (Basic Keyboard Macro):
6644         * doc/emacs/frames.texi (Frame Commands):
6645         * doc/emacs/msdos.texi (Windows Keyboard):
6646         * doc/emacs/search.texi (Query Replace):
6647         * doc/lispintro/emacs-lisp-intro.texi (Keybindings)
6648         (Note for Novices):
6649         * doc/lispref/tips.texi (Key Binding Conventions): Fix use of
6650         @key.  For the details, see
6651         http://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00390.html.
6653 2018-04-19  Eli Zaretskii  <eliz@gnu.org>
6655         Improve documentation of actual arglist
6657         * doc/lispref/functions.texi (Function Documentation): Advise
6658         against using '(fn ARGLIST)' method of advertising a calling
6659         convention when the old calling convention is deprecated.
6660         (Bug#31191)
6662 2018-04-18  Noam Postavsky  <npostavs@gmail.com>
6664         Don't assume term-current-row cache is valid (Bug#31193)
6666         * lisp/term.el (term-down): Call `term-current-row' instead of
6667         directly accessing the variable `term-current-row.  Following a resize
6668         of the terminal's window, `term-current-row' is reset to nil, so it is
6669         not safe to assume it is a number.
6671 2018-04-17  Eli Zaretskii  <eliz@gnu.org>
6673         Fix flyspell-auto-correct-previous-word broken by recent change
6675         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Keep
6676         flyspell-auto-correct-region also when repeatedly invoking
6677         flyspell-auto-correct-previous-word.  (Bug#31188)
6679 2018-04-17  Eli Zaretskii  <eliz@gnu.org>
6681         * test/src/lread-tests.el (lread-test-bug-31186): New test.
6683 2018-04-17  Andreas Schwab  <schwab@suse.de>
6685         Fix undefined behaviour while looking for lexical-binding file variable (bug 31186)
6687         * src/lread.c (lisp_file_lexically_bound_p): Reset
6688         beg_end_state before reading variable or value.
6690 2018-04-15  Eli Zaretskii  <eliz@gnu.org>
6692         Minor wording improvement in "Bookmarks"
6694         * doc/emacs/regs.texi (Bookmarks): Improve wording.  Suggested by
6695         "Siraphob (Ben) Phipathananunth" <siraben@disroot.org>.
6697 2018-04-14  Eli Zaretskii  <eliz@gnu.org>
6699         Fix building etc/DOC in the MSDOS port
6701         * msdos/sed1v2.inp (lisp.mk): Fix escaping in Sed commands.
6703 2018-04-14  Eli Zaretskii  <eliz@gnu.org>
6705         * lisp/select.el (gui-get-selection): Doc fix.
6707 2018-04-13  Alan Mackenzie  <acm@muc.de>
6709         Complete documentation of syntax flags by adding `c'
6711         * doc/lispref/syntax.texi ("Syntax Table Internals"): Add entry for `c'
6712         as `(1 lsh 23)'.
6714 2018-04-13  Eli Zaretskii  <eliz@gnu.org>
6716         Fix typos and minor wording issues in ELisp manual
6718         * doc/lispref/internals.texi (Writing Emacs Primitives):
6719         * doc/lispref/display.texi (Temporary Displays): Fix typos.
6720         * doc/lispref/text.texi (Filling, Changing Properties)
6721         (Transposition): Clarify and fix typos.
6722         * doc/lispref/positions.texi (Screen Lines): Improve wording.
6723         * doc/lispref/modes.texi (Minor Mode Conventions)
6724         (Font Lock Multiline): Fix typos.
6725         * doc/lispref/variables.texi (Dynamic Binding Tips): Fix a
6726         cross-reference.  Fix a typo.
6727         * doc/lispref/sequences.texi (Sequence Functions): Fix typos.
6728         (Bug#31143)
6730 2018-04-13  Eli Zaretskii  <eliz@gnu.org>
6732         Avoid segfault in processes of type 'pipe'
6734         * src/process.c (Fmake_pipe_process): Set up the decoding and
6735         encoding buffers.  For the details, see
6736         http://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00295.html.
6738 2018-04-13  Robert Pluim  <rpluim@gmail.com>
6740         Remove repetitions in documentation strings
6742         * lisp/bindings.el (right-word): Remove repetition
6743         (left-word): Likewise.
6745         * lisp/image-mode.el (image-mode-as-hex): Likewise.
6747         * lisp/cedet/semantic/tag-ls.el (semantic-tag-similar-p): Likewise.
6749         * lisp/textmodes/reftex-vars.el (reftex-view-crossref-extra): Likewise
6751 2018-04-12  Eli Zaretskii  <eliz@gnu.org>
6753         * lisp/image.el (image-load-path): Doc fix.
6755 2018-04-09  Nicolas Petton  <nicolas@petton.fr>
6757         * etc/AUTHORS: Regenerate.
6759 2018-04-09  Charles A. Roelli  <charles@aurox.ch>
6761         * lisp/files.el (kept-new-versions): Improve documentation string.
6763 2018-04-09  Eli Zaretskii  <eliz@gnu.org>
6765         Fix a minor mistake in the ELisp manual
6767         * doc/lispref/files.texi (Reading from Files): Fix copy/paste
6768         mistake.  (Bug#31107)
6770 2018-04-06  Eli Zaretskii  <eliz@gnu.org>
6772         * lisp/files.el (find-file-literally): Doc fix.
6774 2018-04-05  Eli Zaretskii  <eliz@gnu.org>
6776         Fix typos in doc strings
6778         * lisp/simple.el (undo-auto--boundary-timer)
6779         (undo-auto--boundary-ensure-timer): Fix typos in doc strings.
6781 2018-04-05  Nicolas Petton  <nicolas@petton.fr>
6783         Bump Emacs version to 26.1
6785         * README:
6786         * configure.ac:
6787         * msdos/sed2v2.inp:
6788         * nt/README.W32: Bump Emacs version to 26.1.
6790 2018-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>
6792         * lisp/emacs-lisp/inline.el: Clarify apparent typos
6794 2018-04-04  Ted Zlatanov  <tzz@lifelogs.com>
6796         Allow sexp customization type in auth-sources
6798         * lisp/auth-source.el (auth-sources): Allow sexp customization type.
6799         Update the :version tag.
6801         (cherry picked from commit 447da5b0d49b7aa14fa5d6969015770fdf9b9f92)
6803 2018-04-03  Nicolas Petton  <nicolas@petton.fr>
6805         * etc/NEWS: Remove temporary markup.
6807         * etc/AUTHORS: Update.
6809         * ChangeLog.3: Update.
6811 2018-04-03  Michael Albinus  <michael.albinus@gmx.de>
6813         Fix Bug#31022
6815         * lisp/cus-start.el (temporary-file-directory): Suppress file name
6816         handlers when calling `shell-command-to-string'.  (Bug#31022)
6818 2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>
6820         Update "Calendrical Calculations" cites
6822         * lisp/calendar/calendar.el: Update citations to the book
6823         "Calendrical Calculations" and its predecessors.
6825 2018-04-02  Noam Postavsky  <npostavs@gmail.com>
6827         Fix term.el rendering following a window resize (Bug#30544)
6829         * lisp/term.el (term-reset-size): Reset cached row and column values
6830         before changing point.
6832 2018-04-02  Philipp Stephani  <phst@google.com>
6834         * lisp/files.el (auto-save-visited-mode): Don't prompt for filenames.
6836 2018-04-01  Philipp Stephani  <phst@google.com>
6838         Quote a few backticks in docstrings.
6840         * lisp/emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*)
6841         (macroexp-if): Quote backtick in docstrings.
6843 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
6845         Minor copyedits of completion-at-point-functions documentation
6847         * lisp/minibuffer.el (completion-at-point-functions):
6848         * doc/lispref/minibuf.texi (Completion in Buffers): Fix wording
6849         and filling.
6851         (cherry picked from commit a8ddd05d7d32946b892b9faaba6c9736ed2ad847)
6853 2018-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
6855         (completion-at-point-functions): Improve doc
6857         (cherry picked from commit b56c56f203f8b066dd71e6ae6a254121b3ac3f08)
6859 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
6861         * lisp/net/shr.el (shr-browse-url): Doc fix.  (Bug#30957)
6863 2018-03-31  Hong Xu  <hong@topbug.net>
6865         Mention `key-description' as inverse of `kbd' (Bug#30942)
6867         * lisp/subr.el (kbd): Add `key-description' as inverse of `kbd' in the
6868         doc.
6870 2018-03-31  Noam Postavsky  <npostavs@gmail.com>
6872         Document return value of pcase (Bug#30425)
6874         * doc/lispref/control.texi (Pattern matching case statement):
6875         * lisp/emacs-lisp/pcase.el (pcase): State that pcase returns nil if no
6876         patterns match.
6877         (pcase-exhaustive): State that an error is signaled if no patterns
6878         match.
6880 2018-03-31  Paul Eggert  <eggert@cs.ucla.edu>
6882         * doc/emacs/macos.texi: Tweak grammar and capitalization.
6884 2018-03-31  Richard Stallman  <rms@gnu.org>
6886         Distinguish free from non-free OSes
6888 2018-03-28  Glenn Morris  <rgm@gnu.org>
6890         * doc/emacs/misc.texi (Amusements): Avoid non-printing character.
6892 2018-03-28  Glenn Morris  <rgm@gnu.org>
6894         Fix xrefs in pdf Emacs manual
6896         * doc/emacs/fortran-xtra.texi (ForIndent Cont, ForIndent Num)
6897         (Fortran Columns):
6898         * doc/emacs/picture-xtra.texi (Rectangles in Picture):
6899         Fix recent changes that neglected the splitting of the pdf manuals.
6901 2018-03-28  Michael Albinus  <michael.albinus@gmx.de>
6903         * doc/misc/org.texi (Installation): Fix clone commands.
6905 2018-03-27  Rasmus  <rasmus@gmx.us>
6907         Update Org to v9.1.9
6909         Please note this is a bugfix release. See etc/ORG-NEWS for details.
6911 2018-03-27  Michael Heerdegen  <michael_heerdegen@web.de>
6913         De-obsolete `if-let' and `when-let'
6915         For the following release it is planned to make `if-let*' and
6916         `when-let*' aliases for `if-let' and `when-let'.  For now we revert
6917         declaring `if-let' and `when-let' obsolete and tweak the docstrings.
6919         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): Make docstrings
6920         refer to those of `if-let' and `when-let'.
6921         (if-let, when-let): De-obsolete.  Rewrite documentation.
6923 2018-03-26  Glenn Morris  <rgm@gnu.org>
6925         * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.
6927 2018-03-26  Eli Zaretskii  <eliz@gnu.org>
6929         * doc/lispref/functions.texi (Defining Functions): Improve indexing.
6931 2018-03-25  Aaron Jensen  <aaronjensen@gmail.com>
6933         Fix crash after frame is freed on macOS (bug#30800)
6935         * src/nsterm.m (x_free_frame_resources): Clear represented_frame.
6936         (bug#30800)
6938 2018-03-25  Michael Albinus  <michael.albinus@gmx.de>
6940         More manual editing
6942         * doc/emacs/basic.texi:
6943         * doc/emacs/calendar.texi:
6944         * doc/emacs/display.texi:
6945         * doc/emacs/mini.texi:
6946         * doc/emacs/misc.texi:
6947         * doc/emacs/picture-xtra.texi:
6948         * doc/misc/info.texi: Prefer <PageDown> and <PageUp> over
6949         <next> and <prior>.  Add missing @kindex entries.
6951         * doc/emacs/custom.texi (Function Keys): Fix and add missing
6952         key symbols.
6954 2018-03-25  Michael Albinus  <michael.albinus@gmx.de>
6956         Minor manual changes changes
6958         * doc/emacs/misc.texi (FFAP): Complete commands.
6959         (Amusements): Add some @cindex entries.  Add "M-x butterfly".
6961 2018-03-24  Glenn Morris  <rgm@gnu.org>
6963         * lisp/calculator.el (calculator-paste-decimals): Add version.
6965 2018-03-23  Eli Zaretskii  <eliz@gnu.org>
6967         More proofreading of the Emacs manual
6969         * doc/emacs/trouble.texi (DEL Does Not Delete): Improve wording.
6970         (Screen Garbled): Mention the command name.
6971         (Bug Criteria): Mention that problems in packages should first be
6972         reported to the respective maintainers.
6973         (Checklist): Fix wording.
6974         (Contributing, Copyright Assignment): Minor copyedits.
6975         * doc/emacs/misc.texi (Amusements): Remove Landmark.
6976         * doc/emacs/picture-xtra.texi (Tabs in Picture): Improve wording.
6977         (Rectangles in Picture): Add a cross-reference to "Registers".
6978         * doc/emacs/misc.texi (Gnus Group Buffer, Gnus Summary Buffer):
6979         Mention command names in parentheses.
6980         (Gnus Summary Buffer): Document "M-r".
6981         (Network Security): Document that current NSM works with TLS
6982         encryption.  Fix markup.
6983         (Document View): Improve wording and fix a typo.
6984         (DocView Conversion): Rephrase description of
6985         doc-view-cache-directory.
6986         (Single Shell): Mention variables that control when shell output
6987         appears in the echo area.
6988         (Shell Mode): Improve wording.
6989         (Shell Prompts): Fix a typo.
6990         (Shell Ring, Term Mode): Mention command names.
6991         (History References): Add a cross-reference to "Rebinding".
6992         (Remote Host): Mention SSH.
6993         (TCP Emacs server): Improve wording.
6994         (emacsclient Options): Minor improvements.
6995         (PostScript): Fix wording.
6996         (PostScript Variables): Mention that ps-font-size could be a cons.
6997         (Sorting): Minor improvements.  Suggested by Michael Albinus
6998         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org
7000 2018-03-23  Noam Postavsky  <npostavs@gmail.com>
7002         * src/lisp.h (struct Lisp_Buffer_Local_Value): Update commentary.
7004         * doc/emacs/trouble.texi: Fix location of `emacs-version' index.
7006 2018-03-23  Noam Postavsky  <npostavs@gmail.com>
7008         Explain more about (defvar foo) form (Bug#18059)
7010         * doc/lispref/variables.texi (Defining Variables)
7011         (Using Lexical Binding):
7012         * doc/lispref/compile.texi (Compiler Errors): Emphasize that omitting
7013         VALUE for `defvar' marks the variable special only locally.
7014         * doc/lispref/variables.texi (Using Lexical Binding): Add example of
7015         using `defvar' without VALUE.
7017 2018-03-22  Charles A. Roelli  <charles@aurox.ch>
7019         * doc/lispref/buffers.texi (Buffer List): Fix grammar.
7021         * doc/lispref/anti.texi (Antinews): Fix grammar.
7023 2018-03-22  Glenn Morris  <rgm@gnu.org>
7025         * lisp/org/ob-lisp.el (org-babel-lisp-eval-fn): Tweak type.
7027         Avoids type mismatch when relevant library is not present/loaded.
7029 2018-03-22  Glenn Morris  <rgm@gnu.org>
7031         sql.el defcustom fixes
7033         * lisp/progmodes/sql.el (sql-login-params): Update.
7034         Avoids type mismatch with postgres and sqlite login params.
7035         (sql-postgres-login-params): Bump version.
7037 2018-03-22  Eli Zaretskii  <eliz@gnu.org>
7039         Document DEFUN attributes
7041         * doc/lispref/internals.texi (Writing Emacs Primitives): Document
7042         specification of function attributes in DEFUN.
7044 2018-03-22  Nicolas Petton  <nicolas@petton.fr>
7046         * etc/NEWS: Add an entry for auth-source-pass.
7048 2018-03-22  Eli Zaretskii  <eliz@gnu.org>
7050         Fix the MSDOS build
7052         * msdos/sed2v2.inp (HAVE_SBRK): Define to 1.
7054 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
7056         Improve warning and error messages
7058         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read,
7059           (eieio-persistent-validate/fix-slot-value): Indicate exactly what
7060           went wrong.
7062 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
7064         Adjust eieio persistence tests for expected failure
7066         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
7067          (eieio-test-persist-hash-and-vector,
7068           eieio-test-persist-interior-lists): Persistence does not currently
7069          handle deeply-nested objects. Expect current failures, and mark for
7070          future fixes.
7072 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
7074         Let eieio-persistent-read read what object-write has written
7076         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
7077           `object-write' may quote lists inside hash tables and vectors, so
7078           unquote those lists here.
7080         This patch allows the eieio-persistent write/restore process to
7081         perform a clean round trip. It only handles a very specific and
7082         limited range of object structures, but at least the write and read
7083         procedures match.
7085 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
7087         Handle possible classtype values in eieio-persistent-read
7089         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
7090           The function `eieio-persistent-slot-type-is-class-p' could return
7091           either a single class, or a list of classes.
7093 2018-03-22  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
7095         Add new tests for eieio persistence
7097         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el:
7098           (hash-equal): New comparison test for hash-tables.
7099           (persist-test-save-and-compare): Use test for hash-tables.
7100           (eieio-test-persist-hash-and-vector,
7101           eieio-test-persist-interior-lists): New tests.
7103 2018-03-22  Glenn Morris  <rgm@gnu.org>
7105         * lisp/gnus/gnus-cloud.el (gnus-cloud-synced-files): Fix doc & type.
7107         * lisp/ibuf-ext.el (ibuffer-never-search-content-mode): Fix type.
7109 2018-03-21  Glenn Morris  <rgm@gnu.org>
7111         * doc/lispref/windows.texi (Selecting Windows): Fix a typo.
7113 2018-03-21  Charles A. Roelli  <charles@aurox.ch>
7115         * doc/lispref/internals.texi (Writing Emacs Primitives): Fix grammar.
7117 2018-03-21  Alan Mackenzie  <acm@muc.de>
7119         Firm up documentation of generalized variables
7121         * doc/lispref/variables.texi (Generalized Variables)
7122         (Setting Generalized Variables): Define a generalized variable as something
7123         setf can write to.  Remove the insinuation that hackers have poor memories.
7124         State explicitly that the list of GVs given is complete.  Remove the
7125         suggestion that `setf' has superseded, or is in the process of superseding,
7126         `setq'.  Make minor corrections to the English.
7128 2018-03-21  Eli Zaretskii  <eliz@gnu.org>
7130         Improve documentation of Auto-Revert mode
7132         * doc/emacs/files.texi (Reverting): Mention that Aut-Revert
7133         applies to Dired buffers as well.  Suggested by Michael Albinus
7134         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
7136 2018-03-21  Eli Zaretskii  <eliz@gnu.org>
7138         Improvements in dired.texi
7140         * doc/emacs/dired.texi (Dired): Mention that Dired works with
7141         remote directories.
7142         (Dired Enter): ls-lisp is used on some remote systems as well.
7143         (Dired Navigation): Mention and index the command names.
7144         (Dired Deletion): Document the 'always' value of
7145         dired-recursive-deletes.  Mention the alternative deletion method.
7146         (Marks vs Flags): Fix spelling of Auto-Revert mode.  Document what
7147         marking does on a subdirectory header line.
7148         (Operating on Files): Document that 'Z' uses gzip or compress.
7149         (Comparison in Dired): Mention ediff-files.
7150         (Misc Dired Features): Fix a typo.  Suggested by Michael Albinus
7151         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
7153 2018-03-21  Noam Postavsky  <npostavs@gmail.com>
7155         Revert "Support all perl variable declarators and prefixes"
7157         It highlights normal variable names in perl programs (Bug#30812).
7158         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
7159         (perl-font-lock-keywords-2): Restore values prior to Bug#27613 fix.
7161         Don't merge to master, we will fix Bug#27613 properly there (it's too
7162         close to release to do that on emacs-26).
7164 2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>
7166         Port to 32-bit sparc64
7168         Backport from master.
7169         Problem reported by Ulrich Mueller; fix suggested by Eli Zaretskii
7170         and Andreas Schwab (Bug#30855).
7171         * src/alloc.c (mark_memory): Call mark_maybe_object only on
7172         pointers that are properly aligned for Lisp_Object.
7174 2018-03-20  Robert Pluim  <rpluim@gmail.com>
7176         Correct Info link markup
7178         * lisp/gnus/gnus-agent.el (gnus-agent-auto-agentize-methods):
7179         Correct markup for Info link.
7180         * src/minibuf.c (Fcompleting_read): Likewise.
7182 2018-03-20  Nick Helm  <nick@tenpoint.co.nz>
7184         Improve documentation of 'with-help-window'
7186         * doc/lispref/help.texi (Help Functions): Change variable name
7187         to 'buffer-or-name'.
7189         * lisp/help.el (with-help-window): Change variable name to
7190         'buffer-or-name' and rewrite the doc string, adding reference
7191         to 'help-window-setup'.  (Bug#30792)
7193 2018-03-20  Eli Zaretskii  <eliz@gnu.org>
7195         Minor improvements in building.texi
7197         * doc/emacs/building.texi (Compilation Shell): Mention that this
7198         section is for local compilation buffers.
7199         (Compilation, Compilation Mode): Mention that 'g' is bound to
7200         'recompile' in compilation buffers.
7201         (Grep Searching): Add a cross-reference to "Compilation Mode".
7202         Suggested by Michael Albinus <michael.albinus@gmx.de> in
7203         emacs-manual-bugs@gnu.org.
7205 2018-03-20  Alex Branham  <branham@utexas.edu>
7207         * lisp/textmodes/bibtex.el (bibtex-mark-entry): activate mark
7209 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
7211         * doc/emacs/building.texi (Starting GUD): Mention 'guiler'.
7213 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
7215         Yet more proofreading of the Emacs manual
7217         * doc/emacs/building.texi (Compilation, Grep Searching)
7218         (Debuggers, GUD Customization, Source Buffers)
7219         (Breakpoints Buffer, Threads Buffer): Minor fixes and updates.
7220         Suggested by Michael Albinus <michael.albinus@gmx.de> in
7221         emacs-manual-bugs@gnu.org.
7223 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
7225         * doc/emacs/rmail.texi: Fix broken link.
7227 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
7229         Fix recently-added POP doc glitch
7231         * doc/emacs/rmail.texi (Remote Mailboxes):
7232         POP3 → POP, when talking about POP in general.
7234 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
7236         More proofreading of the Emacs manual
7238         * doc/emacs/macos.texi (Mac / GNUstep Basics): Fix typos.  Improve
7239         indexing.
7240         (Mac / GNUstep Basics, Mac / GNUstep Customization)
7241         (Mac / GNUstep Events): Improve indexing.
7243         * doc/emacs/rmail.texi (Rmail): Mention Gnus.
7244         (Rmail Basics, Rmail Scrolling): Improve cross-references and
7245         indexing.
7246         (Rmail Motion): Minor improvements.
7247         (Rmail Inbox): Remove outdated text about Babyl format.
7248         (Rmail Files): Formatting changes.  Comment out
7249         set-rmail-inbox-list in the table of commands, as it is commented
7250         out in the text that follows.
7251         (Rmail Output, Rmail Labels, Rmail Reply, Rmail Make Summary):
7252         Minor copyedits.
7253         (Rmail Summary Edit): Document
7254         rmail-summary-scroll-between-messages.
7255         (Rmail Editing): Improve indexing.
7256         (Movemail): Fix typos.
7257         (Remote Mailboxes): Use "POP3" rather than "POP".
7259 2018-03-19  Simen Heggestøyl  <simenheg@gmail.com>
7261         Fix typo in the Emacs manual's VC chapter
7263         * doc/emacs/maintaining.texi (VC Directory Buffer): Fix a typo.
7265 2018-03-19  Basil L. Contovounesios  <contovob@tcd.ie>
7267         Pass json-readtable-error data as a list (bug#30489)
7269         * lisp/json.el (json-readtable-dispatch): Fix error data.
7270         * test/lisp/json-tests.el (test-json-read): Check error data is a
7271         list.
7273 2018-03-17  Noam Postavsky  <npostavs@gmail.com>
7275         Improve word motion docs (Bug#30815)
7277         * doc/lispref/positions.texi (Word Motion): Fix reference to
7278         `char-script-table'.
7279         * lisp/simple.el (backward-word):
7280         * src/syntax.c (forward-word): Mention `char-script-table' and add
7281         link to the 'Word Motion' manual section.
7283 2018-03-15  Michael Albinus  <michael.albinus@gmx.de>
7285         Replace "carriage-return" by "carriage return" in manuals
7287         * doc/emacs/msdos.texi:
7288         * doc/emacs/mule.texi:
7289         * doc/emacs/screen.texi:
7290         * doc/lispref/nonascii.texi:
7291         * doc/misc/calc.texi: Replace "carriage-return" by "carriage
7292         return".  Suggested by Richard Stallman <rms@gnu.org> in
7293         emacs-manual-bugs@gnu.org.
7295 2018-03-15  Eli Zaretskii  <eliz@gnu.org>
7297         Minor copyedits in mule.texi
7299         * doc/emacs/mule.texi (Recognize Coding, Fontsets): Minor changes
7300         in wording.  Suggested by Richard Stallman <rms@gnu.org> in
7301         emacs-manual-bugs@gnu.org.
7303 2018-03-14  Eli Zaretskii  <eliz@gnu.org>
7305         Fix problems caused by fontconfig-2.13.0
7307         * src/xterm.c (x_term_init): Call fixup_locale after
7308         xg_initialize, to countermand the call to setlocale in some
7309         versions of fontconfig.  (Bug#30788)
7311 2018-03-13  Glenn Morris  <rgm@gnu.org>
7313         Fix some allout.el aliases
7315         * lisp/allout.el (allout-passphrase-verifier-string)
7316         (allout-passphrase-hint-string): Fix alias.
7318 2018-03-13  Glenn Morris  <rgm@gnu.org>
7320         * lisp/progmodes/ada-mode.el (ada-clean-buffer-before-saving): Doc fix.
7322 2018-03-13  Glenn Morris  <rgm@gnu.org>
7324         Doc fixes re obsolete items
7326         * doc/emacs/mini.texi (Completion Commands): Small update re mouse.
7327         * doc/misc/htmlfontify.texi (Customization): Replace obsolete alias.
7329 2018-03-13  Glenn Morris  <rgm@gnu.org>
7331         Replace an obsolete alias in tpu-mapper
7333         * lisp/obsolete/tpu-mapper.el (tpu-map-key, tpu-mapper):
7334         Replace obsolete alias.
7336 2018-03-13  Glenn Morris  <rgm@gnu.org>
7338         Doc fixes re obsolete items
7340         * doc/emacs/maintaining.texi (VC Undo):
7341         * doc/misc/efaq-w32.texi (Font names): Replace obsolete aliases.
7342         * doc/misc/url.texi (Customization):
7343         Don't mention url-temporary-directory, it essentially does nothing.
7344         * lisp/hilit-chg.el
7345         (highlight-changes-global-changes-existing-buffers): Doc fix.
7347 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
7349         Minor changes in mule.texi
7351         * doc/emacs/mule.texi (International, Coding Systems)
7352         (Bidirectional Editing): Minor wording changes and typo fixes.
7353         Suggested by Michael Albinus <michael.albinus@gmx.de> in
7354         emacs-manual-bugs@gnu.org.
7356 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
7358         Avoid assertion violation under visual-order-cursor-movement
7360         * src/xdisp.c (Fmove_point_visually): Don't let point exceed the
7361         BEGV..ZV range.  Signal Beginning of buffer error when there's a
7362         before-string at BEGV.  (Bug#30787)
7364 2018-03-13  Glenn Morris  <rgm@gnu.org>
7366         Stop mentioning options.el in doc
7368         * doc/misc/calc.texi (Customizing Embedded Mode):
7369         Remove mentions of the obsolete (since 22.1) options.el.
7370         * lisp/progmodes/meta-mode.el: Comment fix.
7372 2018-03-12  Charles A. Roelli  <charles@aurox.ch>
7374         * lisp/vc/vc-dir.el (vc-dir-unmark): Fix documentation.
7376 2018-03-12  Eli Zaretskii  <eliz@gnu.org>
7378         * lisp/minibuffer.el (completion-cycle-threshold): Doc fix.
7380 2018-03-12  Eli Zaretskii  <eliz@gnu.org>
7382         Fix last change in Xref documentation
7384         * doc/emacs/maintaining.texi (Looking Up Identifiers): More
7385         accurate wording for the description of xref-etags-mode.
7387 2018-03-11  Eli Zaretskii  <eliz@gnu.org>
7389         More changes in the Emacs manual
7391         * doc/emacs/text.texi (Words, Foldout, Table Conversion): Clarify
7392         text.  Reported by Gijs Hillenius <gijs@hillenius.net> in
7393         emacs-manual-bugs@gnu.org.
7395         * doc/emacs/msdos.texi (Windows Keyboard):
7396         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
7397         * doc/emacs/macos.texi (Mac / GNUstep Basics):
7398         * doc/emacs/glossary.texi (Glossary):
7399         * doc/emacs/custom.texi (Function Keys, Init Syntax):
7400         * doc/emacs/commands.texi (User Input):
7401         * doc/emacs/basic.texi (Arguments): Fix capitalization of "Meta".
7402         * doc/emacs/msdos.texi (Windows Keyboard):
7403         * doc/emacs/dired.texi (Dired Updating):
7404         * doc/emacs/custom.texi (Init Rebinding): Fix misuses of @key.
7405         Suggested by Richard Stallman <rms@gnu.org>.
7407 2018-03-11  Eli Zaretskii  <eliz@gnu.org>
7409         Improve documentation of Xref
7411         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
7412         xref-etags-mode.
7414 2018-03-11  Paul Eggert  <eggert@cs.ucla.edu>
7416         Fix create_process bug breaking eudc-expand-inline
7418         Problem reported by Thomas Fitzsimmons (Bug#30762).
7419         * src/process.c (create_process) [HAVE_PTYS]:
7420         Call setsid even if !PTY_FLAG.
7422 2018-03-10  Noam Postavsky  <npostavs@gmail.com>
7424         Clarify that nil doesn't match itself as a cl-case clause (Bug#30749)
7426         * lisp/emacs-lisp/cl-macs.el (cl-case): Mention that the ATOM
7427         => (ATOM) short form is only for non-nil ATOMs.
7429 2018-03-10  Charles A. Roelli  <charles@aurox.ch>
7431         Improve SVG documentation
7433         * doc/lispref/display.texi (ImageMagick Images): Remove an
7434         outdated comment that references a fixed bug.
7435         (SVG Images): Fix grammar, and call functions functions (there are
7436         no commands in lisp/svg.el).
7438 2018-03-10  Eli Zaretskii  <eliz@gnu.org>
7440         Document the "URL" keyword in library headers
7442         * doc/lispref/tips.texi (Library Headers): "URL" is an alias for
7443         "Homepage".  Suggested by Peter Oliver <p.d.oliver@mavit.org.uk>.
7444         (Bug#30571)
7446 2018-03-09  Glenn Morris  <rgm@gnu.org>
7448         * test/lisp/international/mule-tests.el:
7449         Avoid local variables confusion.
7451 2018-03-09  Bill Wohler  <wohler@newt.com>
7453         Add missing findex entries for recently removed kindex entries
7455         * doc/misc/mh-e.texi:
7457         (cherry picked from commit a56a3fc6849b89a71c9a00afcb088021ccbe94e5)
7459 2018-03-09  Glenn Morris  <rgm@gnu.org>
7461         Replace the obsolete process-kill-without-query in documentation
7463         * lisp/comint.el (comint-exec-hook):
7464         * lisp/term.el (term-exec-hook):
7465         * lisp/eshell/esh-proc.el (eshell-exec-hook):
7466         Doc fixes re the obsolete process-kill-without-query.
7468 2018-03-08  Michael Albinus  <michael.albinus@gmx.de>
7470         Minor change in the manual
7472         * doc/emacs/display.texi (Useless Whitespace):
7473         Don't upcase "TAB" and "SPC" when alluding to characters.
7475 2018-03-08  Eli Zaretskii  <eliz@gnu.org>
7477         More minor changes in the manual
7479         * doc/emacs/display.texi (Useless Whitespace): Don't upcase "TAB"
7480         and "SPC" when alluding to characters.  Suggested by Richard
7481         Stallman <rms@gnu.org>.
7483         * doc/emacs/buffers.texi (Misc Buffer): Clarify what "read-only"
7484         means for buffers.
7485         (Buffers): Define and describe "buffer contents".  Suggested by
7486         Richard Stallman <rms@gnu.org>.  (Bug#30685)
7488 2018-03-07  Glenn Morris  <rgm@gnu.org>
7490         Replace some obsolete aliases in code
7492         * lisp/net/eudc-bob.el (eudc-bob-mail-keymap):
7493         * lisp/textmodes/reftex-toc.el (reftex-make-separate-toc-frame):
7494         Replace obsolete aliases.
7496 2018-03-07  Glenn Morris  <rgm@gnu.org>
7498         Replace some obsolete aliases in documentation
7500         * doc/misc/efaq-w32.texi (Incoming mail with Rmail):
7501         * doc/misc/speedbar.texi (Major Display Modes):
7502         * lisp/mh-e/mh-folder.el (mh-restore-desktop-buffer):
7503         Doc fixes re obsolete aliases.
7505 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
7507         Minor improvements in manuals
7509         * doc/lispref/variables.texi (Local Variables): Make more clear
7510         that local bindings of 'let' are in effect only within the body.
7511         Suggested by Marcin Borkowski <mbork@mbork.pl>, see
7512         http://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00217.html
7513         for the details.
7515         * doc/emacs/programs.texi (Matching): Fix a typo.  Reported by
7516         Alex Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
7517         Improve indexing.
7519 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
7521         Minor copyedits in display.texi
7523         * doc/emacs/display.texi (Highlight Interactively)
7524         (Useless Whitespace, Line Truncation, Visual Line Mode): Minor
7525         changes of wording and typo corrections.  Suggested by Michael
7526         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
7528 2018-03-07  Glenn Morris  <rgm@gnu.org>
7530         Remove some unused spam.el variables
7532         * lisp/gnus/spam.el (spam-ifile-path, spam-ifile-database-path)
7533         (spam-bogofilter-path, spam-bsfilter-path)
7534         (spam-spamassassin-path, spam-sa-learn-path):
7535         Remove variables that are described as obsolete, but are
7536         really completely unused, and have been for years.
7538 2018-03-07  Glenn Morris  <rgm@gnu.org>
7540         Replace some obsolete aliases in code
7542         * lisp/emulation/viper.el (viper-set-hooks):
7543         * lisp/epa-hook.el (auto-encryption-mode):
7544         * lisp/term/pc-win.el (set-frame-font): Replace obsolete aliases.
7545         * lisp/net/quickurl.el (quickurl--assoc-function): New.
7546         (quickurl-assoc-function): Use it.
7548 2018-03-07  Glenn Morris  <rgm@gnu.org>
7550         Replace some obsolete aliases in documentation
7552         * doc/emacs/text.texi (Nroff Mode):
7553         * doc/misc/efaq.texi (How to add fonts):
7554         * lisp/gnus/nnheader.el (nnheader-insert-file-contents):
7555         * lisp/progmodes/pascal.el (pascal-outline-mode):
7556         Doc fixes re obsolete aliases.
7558 2018-03-06  Glenn Morris  <rgm@gnu.org>
7560         Obsolete eshell-cmpl-suffix-list
7562         * lisp/eshell/em-cmpl.el (eshell-cmpl-suffix-list):
7563         Make obsolete, to match pcomplete-suffix-list.
7565 2018-03-06  Eli Zaretskii  <eliz@gnu.org>
7567         More minor changes in the Glossary of the Emacs manual
7569         * doc/emacs/glossary.texi (Glossary): Improve cross-references for
7570         modifier keys.  Fix typos.  Suggested by Gijs Hillenius
7571         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
7573 2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>
7575         Revert last commit
7577         This reverts commit af4697faa1f5b643f63a9ea61aa205a4c1432e23.  It's
7578         too late for this to be in the release.
7580 2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>
7582         Define if-let* and derivatives as aliases for if-let etc
7584         This commit reverts declaring `if-let' and `when-let' obsolete in
7585         favor of the new `if-let*' and `when-let*' versions because of the
7586         compiler warning mess (Bug#30039).  Instead we make foo-let* aliases
7587         for foo-let.  The old single-tuple variable spec case is still
7588         supported for backward compatibility.
7589         * lisp/emacs-lisp/subr-x.el (if-let, when-let): Don't declare
7590         obsolete.  Tweak edebug specs.
7591         (and-let): Renamed from `and-let*' for compatibility with the names
7592         `if-let' and `when-let'.
7593         (if-let*, when-let*, and-let*): Define as aliases for `if-let',
7594         `when-let' and `and-let'.
7595         * test/lisp/emacs-lisp/subr-x-tests.el (if-let-single-tuple-case-test)
7596         (when-let-single-tuple-case-test): New tests for the single-binding
7597         tuple case.
7598         In the whole file, prefer the names without "*".
7600 2018-03-05  Eli Zaretskii  <eliz@gnu.org>
7602         Minor fix in Emacs manual's Glossary
7604         * doc/emacs/glossary.texi (Glossary): Fix outdated text about
7605         primary selection.  Reported by Gijs Hillenius
7606         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
7608 2018-03-03  Juri Linkov  <juri@linkov.net>
7610         * lisp/progmodes/grep.el (zrgrep):
7612         Let-bind grep-use-null-filename-separator to nil (bug#30559).
7614 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
7616         Minor copyedits in doc/emacs/text.texi
7618         * doc/emacs/text.texi (TeX Mode): Use @code for command markup.
7619         (HTML Mode): Add a note about "C-x C-v" binding in HTML mode.
7621 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
7623         Remove outdated comment in syntax.el
7625         * lisp/emacs-lisp/syntax.el (syntax-ppss-toplevel-pos): Remove
7626         outdated comment.  (Bug#30617)
7628 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
7630         Prevent Flyspell from changing unrelated words
7632         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Avoid
7633         using stale cached data from previous invocations of this command.
7634         (Bug#30462)
7636 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
7638         Avoid errors in flymake in builds --without-x
7640         * lisp/progmodes/flymake.el: Require 'mwheel'.  (Bug#28732)
7642 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
7644         More improvements of the Emacs manual
7646         * doc/emacs/rmail.texi (Rmail Reply, Rmail Sorting): Improve
7647         wording.  Suggested by Daniel Chakraborty
7648         <danielmchakraborty@gmail.com>.
7650         * doc/emacs/glossary.texi (Glossary): Add cross-references.
7651         Improve and clarify wording.  Suggested by Gijs Hillenius
7652         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
7654         * doc/emacs/text.texi (Org Authoring): Add more supported formats
7655         to the list.
7656         (TeX Print): Improve wording.  Slightly rearrange stuff.
7657         (TeX Misc): Mention doctex-mode-hook.
7658         (Two-Column): Minor rearrangement of text.  Suggested by Michael
7659         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
7661         * doc/emacs/misc.texi (Saving Emacs Sessions):
7662         * doc/emacs/programs.texi (Program Modes): Remove redundant text
7663         and index entries.
7665 2018-03-03  Dmitry Gutov  <dgutov@yandex.ru>
7667         Backport: xref--next-error-function: Move xref's window point
7669         * lisp/progmodes/xref.el (xref--next-error-function): Move
7670         xref's window point if it's visible.  When we don't do that,
7671         navigation can start looping after a while.
7673         (cherry picked from commit 108ce84432d597f92637ea74bd0a094224d157de)
7675 2018-03-02  Glenn Morris  <rgm@gnu.org>
7677         mwheel minor consistency fix
7679         * lisp/mwheel.el (mwheel-scroll-left-function)
7680         (mwheel-scroll-right-function):
7681         Change from defcustom to defvar, for consistency with pre-existing.
7683 2018-03-02  Eli Zaretskii  <eliz@gnu.org>
7685         * src/window.c (Frecenter): Improve commentary.
7687 2018-03-02  Eli Zaretskii  <eliz@gnu.org>
7689         Fix downloading non-text files in EWW
7691         * lisp/net/eww.el (eww-download-callback): Bind
7692         coding-system-for-read to 'no-conversion', to avoid any code- or
7693         EOL-conversions in downloaded files.  (Bug#30664)
7695 2018-03-02  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
7697         Rename some mwheel options, for consistency
7699         * lisp/mwheel.el (mouse-wheel-tilt-scroll)
7700         (mouse-wheel-flip-direction): Rename from mwheel-tilt-scroll-p,
7701         mwheel-flip-direction.
7702         (mwheel-scroll): Update for option renaming.
7703         * doc/emacs/frames.texi (Mouse Commands):
7704         Update for option renaming.
7706 2018-03-01  Glenn Morris  <rgm@gnu.org>
7708         * lisp/vc/add-log.el (add-change-log-entry): Replace obsolete alias.
7710 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
7712         Improve the Emacs manual
7714         * doc/emacs/xresources.texi (Table of Resources): Mention that
7715         some resources are ignored by toolkit builds.
7716         * doc/emacs/custom.texi (Key Bindings): Improve indexing.
7717         (Bug#30530)
7719 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
7721         * lisp/dired-aux.el (dired-do-create-files): Doc fix.  (Bug#30634)
7723 2018-03-01  Michael Albinus  <michael.albinus@gmx.de>
7725         Further improvements on manuals
7727         * doc/emacs/xresources.texi:
7728         * doc/lispref/display.texi:
7729         * doc/lispref/keymaps.texi:
7730         * doc/misc/dbus.texi:
7731         * doc/misc/efaq-w32.texi: Use "GTK+" where applicable.
7733         * doc/emacs/xresources.texi (Resources): Mention several use
7734         of "-xrm".
7735         (Table of Resources) [verticalScrollBars]: Add reference to Scroll Bars.
7737 2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>
7739         Require a larger stack size for threads on macOS (bug#30364)
7741         * src/systhread.c (sys_thread_create)
7742         [THREADS_ENABLED && HAVE_PTHREAD && DARWIN_OS]:
7743         Require at least 8MB stack size for x64 and 4MB for x86 on macOS.
7744         Do not merge to master.
7746 2018-02-28  Glenn Morris  <rgm@gnu.org>
7748         * doc/lispref/streams.texi (Output Variables): Fix previous.
7750 2018-02-28  Michael Albinus  <michael.albinus@gmx.de>
7752         Use "GTK+" where applicable in the manual
7754         * doc/emacs/display.texi (Standard Faces, Standard Faces):
7755         * doc/emacs/emacs.texi (Top):
7756         * doc/emacs/files.texi (Visiting):
7757         * doc/emacs/frames.texi (Scroll Bars):
7758         * doc/emacs/xresources.texi: Use "GTK+" where applicable.
7760 2018-02-28  Paul Eggert  <eggert@cs.ucla.edu>
7762         Document print-escape-control-characters
7764         * doc/lispref/streams.texi, etc/NEWS: Add doc.
7766 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
7768         * doc/emacs/killing.texi (Rectangles): Don't use @key for characters.
7770 2018-02-27  Glenn Morris  <rgm@gnu.org>
7772         * lisp/emulation/viper.el: Unbreak it.
7774         Since 2017-03-19, M-x viper failed with function void cl-member-if.
7775         Perhaps it isn't used much.
7777 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
7779         More fixes in the Emacs manual
7781         * doc/emacs/xresources.texi (Table of Resources, Lucid Resources):
7782         Sort the resources.
7783         (Lucid Resources): Add cross-references.
7784         (GTK Resource Basics): Fix wording.
7785         (GTK styles): Add empty lines in a @table.  Suggested by Michael
7786         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
7788 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
7790         Avoid aborts in 'md5'
7792         * src/fns.c (extract_data_from_object): Don't crash if called with
7793         an invalid object.  (Bug#30627)
7795 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
7797         Mark keys consistently in manuals
7799         * doc/emacs/killing.texi:
7800         * doc/lispintro/emacs-lisp-intro.texi:
7801         * doc/misc/calc.texi:
7802         * doc/misc/cc-mode.texi:
7803         * doc/misc/dired-x.texi:
7804         * doc/misc/ede.texi:
7805         * doc/misc/edt.texi:
7806         * doc/misc/efaq.texi:
7807         * doc/misc/erc.texi:
7808         * doc/misc/eshell.texi:
7809         * doc/misc/gnus-faq.texi:
7810         * doc/misc/gnus-news.texi:
7811         * doc/misc/idlwave.texi:
7812         * doc/misc/ido.texi:
7813         * doc/misc/mairix-el.texi:
7814         * doc/misc/message.texi:
7815         * doc/misc/mh-e.texi:
7816         * doc/misc/newsticker.texi:
7817         * doc/misc/org.texi:
7818         * doc/misc/pcl-cvs.texi:
7819         * doc/misc/ses.texi:
7820         * doc/misc/sieve.texi:
7821         * doc/misc/smtpmail.texi:
7822         * doc/misc/speedbar.texi:
7823         * doc/misc/srecode.texi:
7824         * doc/misc/vhdl-mode.texi:
7825         * doc/misc/vip.texi:
7826         * doc/misc/viper.texi: Mark keys consistently.
7828 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
7830         Remove @key{} markups from @kindex entries in manuals
7832         * doc/emacs/basic.texi:
7833         * doc/emacs/buffers.texi:
7834         * doc/emacs/building.texi:
7835         * doc/emacs/calendar.texi:
7836         * doc/emacs/custom.texi:
7837         * doc/emacs/dired.texi:
7838         * doc/emacs/display.texi:
7839         * doc/emacs/files.texi:
7840         * doc/emacs/frames.texi:
7841         * doc/emacs/help.texi:
7842         * doc/emacs/indent.texi:
7843         * doc/emacs/killing.texi:
7844         * doc/emacs/kmacro.texi:
7845         * doc/emacs/mark.texi:
7846         * doc/emacs/mini.texi:
7847         * doc/emacs/misc.texi:
7848         * doc/emacs/modes.texi:
7849         * doc/emacs/msdos-xtra.texi:
7850         * doc/emacs/msdos.texi:
7851         * doc/emacs/mule.texi:
7852         * doc/emacs/picture-xtra.texi:
7853         * doc/emacs/programs.texi:
7854         * doc/emacs/regs.texi:
7855         * doc/emacs/rmail.texi:
7856         * doc/emacs/screen.texi:
7857         * doc/emacs/search.texi:
7858         * doc/emacs/sending.texi:
7859         * doc/emacs/text.texi:
7860         * doc/emacs/trouble.texi:
7861         * doc/misc/calc.texi:
7862         * doc/misc/cc-mode.texi:
7863         * doc/misc/ediff.texi:
7864         * doc/misc/ert.texi:
7865         * doc/misc/eww.texi:
7866         * doc/misc/forms.texi:
7867         * doc/misc/gnus.texi:
7868         * doc/misc/idlwave.texi:
7869         * doc/misc/info.texi:
7870         * doc/misc/message.texi:
7871         * doc/misc/mh-e.texi:
7872         * doc/misc/newsticker.texi:
7873         * doc/misc/org.texi:
7874         * doc/misc/pcl-cvs.texi:
7875         * doc/misc/rcirc.texi:
7876         * doc/misc/reftex.texi:
7877         * doc/misc/sc.texi:
7878         * doc/misc/sieve.texi:
7879         * doc/misc/vhdl-mode.texi:
7880         * doc/misc/vip.texi:
7881         * doc/misc/viper.texi:
7882         * doc/misc/woman.texi: Remove @key{} markups from @kindex entries.
7884 2018-02-25  Eli Zaretskii  <eliz@gnu.org>
7886         * doc/emacs/display.texi (Standard Faces): Fix markup of index entry.
7888 2018-02-25  Michael Albinus  <michael.albinus@gmx.de>
7890         Fix @kindex entries in manuals
7892         * doc/emacs/basic.texi:
7893         * doc/emacs/buffers.texi:
7894         * doc/emacs/building.texi:
7895         * doc/emacs/calendar.texi:
7896         * doc/emacs/custom.texi:
7897         * doc/emacs/dired.texi:
7898         * doc/emacs/display.texi:
7899         * doc/emacs/files.texi:
7900         * doc/emacs/frames.texi:
7901         * doc/emacs/help.texi:
7902         * doc/emacs/indent.texi:
7903         * doc/emacs/killing.texi:
7904         * doc/emacs/kmacro.texi:
7905         * doc/emacs/mark.texi:
7906         * doc/emacs/mini.texi:
7907         * doc/emacs/misc.texi:
7908         * doc/emacs/modes.texi:
7909         * doc/emacs/msdos-xtra.texi:
7910         * doc/emacs/msdos.texi:
7911         * doc/emacs/mule.texi:
7912         * doc/emacs/picture-xtra.texi:
7913         * doc/emacs/programs.texi:
7914         * doc/emacs/regs.texi:
7915         * doc/emacs/rmail.texi:
7916         * doc/emacs/screen.texi:
7917         * doc/emacs/search.texi:
7918         * doc/emacs/sending.texi:
7919         * doc/emacs/text.texi:
7920         * doc/emacs/trouble.texi:
7921         * doc/lispref/files.texi:
7922         * doc/misc/calc.texi:
7923         * doc/misc/cc-mode.texi:
7924         * doc/misc/ediff.texi:
7925         * doc/misc/epa.texi:
7926         * doc/misc/ert.texi:
7927         * doc/misc/eww.texi:
7928         * doc/misc/forms.texi:
7929         * doc/misc/gnus.texi:
7930         * doc/misc/info.texi:
7931         * doc/misc/mairix-el.texi:
7932         * doc/misc/message.texi:
7933         * doc/misc/mh-e.texi:
7934         * doc/misc/newsticker.texi:
7935         * doc/misc/org.texi:
7936         * doc/misc/pcl-cvs.texi:
7937         * doc/misc/rcirc.texi:
7938         * doc/misc/sc.texi:
7939         * doc/misc/sieve.texi:
7940         * doc/misc/vhdl-mode.texi:
7941         * doc/misc/vip.texi:
7942         * doc/misc/viper.texi:
7943         * doc/misc/woman.texi: Fix @kindex entries.  Mark keys consistently.
7945 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
7947         Fix @cindex entries in manuals
7949         * doc/emacs/custom.texi:
7950         * doc/emacs/dired.texi:
7951         * doc/emacs/display.texi:
7952         * doc/emacs/files.texi:
7953         * doc/emacs/frames.texi:
7954         * doc/emacs/killing.texi:
7955         * doc/emacs/maintaining.texi:
7956         * doc/emacs/misc.texi:
7957         * doc/emacs/msdos-xtra.texi:
7958         * doc/emacs/msdos.texi:
7959         * doc/emacs/search.texi:
7960         * doc/emacs/text.texi:
7961         * doc/emacs/trouble.texi:
7962         * doc/lispintro/emacs-lisp-intro.texi:
7963         * doc/lispref/strings.texi:
7964         * doc/lispref/text.texi:
7965         * doc/misc/cc-mode.texi:
7966         * doc/misc/efaq.texi:
7967         * doc/misc/eieio.texi:
7968         * doc/misc/emacs-mime.texi:
7969         * doc/misc/gnus.texi:
7970         * doc/misc/htmlfontify.texi:
7971         * doc/misc/idlwave.texi:
7972         * doc/misc/message.texi:
7973         * doc/misc/mh-e.texi:
7974         * doc/misc/sem-user.texi:
7975         * doc/misc/ses.texi:
7976         * doc/misc/tramp.texi:
7977         * doc/misc/vhdl-mode.texi: Fix @cindex entries.
7979 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
7981         Fix @cindex entries in org.texi
7983         * doc/misc/org.texi: Fix @cindex entries.  Use consistently
7984         @code{} for keywords.
7986 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
7988         Document reserved keys
7990         * doc/emacs/custom.texi (Key Bindings): Mention keys reserved for
7991         users.  (Bug#30530)
7993 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
7995         * doc/misc/ebrowse.texi: Use @key{} for keys.
7997 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
7999         * src/keyboard.c (syms_of_keyboard): Doc fix.  (Bug#30588)
8001 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
8003         Improve documentation of X resources
8005         * doc/emacs/xresources.texi (Table of Resources): Add menu-related
8006         resources.  Add cross-references to "GTK Resources".
8008 2018-02-23  Glenn Morris  <rgm@gnu.org>
8010         * lisp/international/mule.el (keyboard-coding-system): Doc fix.
8012         Since multi-tty, this is always set.
8014 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
8016         Minor doc fixes, mostly for timestamp issues
8018 2018-02-23  Eli Zaretskii  <eliz@gnu.org>
8020         * doc/emacs/mini.texi (Completion Styles): Improve indexing.
8022 2018-02-23  Michael Albinus  <michael.albinus@gmx.de>
8024         Fix @findex and @vindex entries in manuals
8026         * doc/emacs/building.texi:
8027         * doc/emacs/calendar.texi:
8028         * doc/emacs/cmdargs.texi:
8029         * doc/emacs/mini.texi:
8030         * doc/emacs/misc.texi:
8031         * doc/emacs/trouble.texi:
8032         * doc/emacs/windows.texi:
8033         * doc/lispintro/emacs-lisp-intro.texi:
8034         * doc/lispref/edebug.texi:
8035         * doc/lispref/frames.texi:
8036         * doc/lispref/os.texi:
8037         * doc/lispref/windows.texi:
8038         * doc/misc/cc-mode.texi:
8039         * doc/misc/dired-x.texi:
8040         * doc/misc/ediff.texi:
8041         * doc/misc/mh-e.texi:
8042         * doc/misc/pcl-cvs.texi:
8043         * doc/misc/reftex.texi:
8044         * doc/misc/sc.texi:
8045         * doc/misc/vhdl-mode.texi:
8046         * doc/misc/viper.texi: Fix @findex and @vindex entries.
8048 2018-02-22  Alan Mackenzie  <acm@muc.de>
8050         Document, in the Elisp manual, how to get a character's raw syntax descriptor
8052         * doc/lispref/syntax.texi (Syntax Table internals): mention the use of `aref'
8053         to get a character's raw syntax descriptor.
8055 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
8057         Improvements in the Emacs manual
8059         * doc/emacs/custom.texi (Customization Groups)
8060         (Changing a Variable, Browsing Custom, Customizing Faces): Fix
8061         markup of keys.
8062         (Changing a Variable, Saving Customizations): Update the
8063         description of buttons in the Custom buffer.
8064         (Face Customization): More accurate description.
8065         (Specific Customization, Examining, Locals): Add blank lines in
8066         the @table.  Reported by Michael Albinus <michael.albinus@gmx.de>
8067         in emacs-manual-bugs@gnu.org.
8069 2018-02-22  Glenn Morris  <rgm@gnu.org>
8071         Tiny doc/misc markup fixes
8073         * doc/misc/ediff.texi (Patch and Diff Programs):
8074         * doc/misc/viper.texi (File and Buffer Handling): Fix markup typos.
8076 2018-02-22  Martin Rudalics  <rudalics@gmx.at>
8078         Skip mouse-face overlap check when mouse-face is hidden (Bug#30519)
8080         * src/xdisp.c (note_mouse_highlight): Skip check whether
8081         mouse-face highlighting overlay overlaps other mouse-face
8082         overlays when mouse-face highlighting is hidden (Bug#30519).
8084 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
8086         Fix capitalization of "Mail-Followup-To"
8088         * doc/emacs/sending.texi (Header Editing, Mail Headers):
8089         Standardize on "Mail-Followup-To" as the capitalization.
8091 2018-02-21  Juri Linkov  <juri@linkov.net>
8093         * lisp/progmodes/grep.el (grep-compute-defaults):
8095         Add grep-use-null-filename-separator to grep-host-defaults-alist.
8096         (Bug#30559)
8098 2018-02-21  Charles A. Roelli  <charles@aurox.ch>
8100         Semantic manual fixes
8102         * doc/misc/semantic.texi (Tools): Fix wording and grammar, and
8103         remove a reference to "document-vars.el" which, in the Emacs
8104         repository, is part of lisp/cedet/srecode/document.el.
8106 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
8108         More improvements in the Emacs manual
8110         * doc/emacs/help.texi (Misc Help):
8111         * doc/emacs/m-x.texi (M-x):
8112         * doc/emacs/mini.texi (Minibuffer File, Repetition): Prevent
8113         breaking of command sequences between lines.  Reported by Wojciech
8114         Politarczyk <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
8116         * doc/emacs/sending.texi (Header Editing): Fix capitalization.
8118 2018-02-21  tino calancha  <tino.calancha@gmail.com>
8120         * doc/misc/viper.texi (File and Buffer Handling): Add missing '@'
8122 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
8124         Fix documentation of 'x-underline-at-descent-line'
8126         * doc/emacs/display.texi (Display Custom):
8127         * src/nsterm.m (syms_of_nsterm):
8128         * src/xterm.c (syms_of_xterm):
8129         * src/w32term.c (syms_of_w32term): Mention the effect of
8130         'line-spacing' on the underline position.  (Bug#30553)
8132 2018-02-21  Glenn Morris  <rgm@gnu.org>
8134         * lisp/textmodes/flyspell.el (flyspell-get-word): Doc fix.
8136 2018-02-20  Robert Pluim  <rpluim@gmail.com>
8138         Correct variable markup in manuals
8140         * doc/lispref/minibuf.texi (Completion in Buffers): Fix markup.
8141         * doc/lispref/text.texi (Filling): Likewise.
8142         * doc/misc/dired-x.texi (Advanced Mark Commands): Likewise.
8143         * doc/misc/epa.texi (Encrypting/decrypting gpg files): Likewise.
8144         (Encrypting/decrypting gpg files): Likewise.
8145         * doc/misc/tramp.texi (External methods): Likewise.
8146         (Default Method): Likewise.
8147         * doc/misc/viper.texi (Editing in Insert State): Likewise.
8148         (File and Buffer Handling): Likewise.
8149         * doc/misc/gnus.texi (Mail Source Customization): Likewise.
8150         * doc/misc/url.texi (Customization): Likewise.  Note obsolete
8151         status of url-temporary-directory.
8153 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
8155         Improve the "Sending Mail" chapter of Emacs manual
8157         * doc/emacs/sending.texi (Mail Format, Header Editing)
8158         (Mail Aliases): Fix capitalization of mail headers.
8159         (Mail Aliases): Use ~/.mailrc consistently.
8160         (Mail Misc): More accurate description of disposition.  Suggested
8161         by Michael Albinus <michael.albinus@gmx.de> in
8162         emacs-manual-bugs@gnu.org.
8164 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
8166         Fix documentation of 'flyspell-auto-correct-word'
8168         * lisp/textmodes/flyspell.el (flyspell-get-word): Elaborate in the
8169         doc string on how the function looks for the word to spell-check.
8170         (flyspell-word, flyspell-auto-correct-word): Refer to
8171         'flyspell-get-word' for details about finding the word.
8172         (Bug#30462)
8174 2018-02-19  Robert Pluim  <rpluim@gmail.com>
8176         * doc/emacs/misc.texi (Saving Emacs Sessions): Fix markup.
8178 2018-02-19  Eli Zaretskii  <eliz@gnu.org>
8180         More changes in the Emacs manuals
8182         * doc/emacs/custom.texi (Customization Groups, Browsing Custom)
8183         (Custom Themes, Keymaps, Prefix Keymaps, Modifier Keys)
8184         (Function Keys, Named ASCII Chars, Mouse Buttons, Init Examples):
8185         Fix punctuation.  Suggested by Stefan Kamphausen
8186         <stefan.kamphausen@acrolinx.com> in emacs-manual-bugs@gnu.org.
8188         * doc/emacs/basic.texi (Arguments, Repeating): Avoid breaking
8189         commands between lines.  Reported by Wojciech Politarczyk
8190         <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
8192         * doc/emacs/custom.texi (Init Rebinding): Move index entries about
8193         rebinding keys from "Init File".  (Bug#30528)
8195 2018-02-18  Eli Zaretskii  <eliz@gnu.org>
8197         More fixes in the Emacs manual
8199         * doc/emacs/abbrevs.texi (Defining Abbrevs, Expanding Abbrevs)
8200         (Editing Abbrevs, Saving Abbrevs): Insert blank lines between
8201         @item's.
8202         (Expanding Abbrevs): Add 'unexpand-abbrev' to the list of
8203         commands.  Suggested by Michael Albinus <michael.albinus@gmx.de>
8204         in emacs-manual-bugs@gnu.org.
8206 2018-02-18  Eli Zaretskii  <eliz@gnu.org>
8208         * src/data.c (Faref): Fix a typo in the doc string.  (Bug#30510)
8210 2018-02-18  Michael Albinus  <michael.albinus@gmx.de>
8212         Minor edit in tramp.texi
8214         * doc/misc/tramp.texi (Remote shell setup, Windows setup hints):
8215         Improve @cindex entries.
8217 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
8219         More improvements in the Emacs manual
8221         * doc/emacs/maintaining.texi (Xref Commands, Identifier Search)
8222         (List Identifiers): Insert blank lines between @item's in a
8223         @table.
8224         (Etags Regexps): More accurate description of escape sequences.
8225         (Select Tags Table): Prefer "~/emacs.d/init.el" to "~/.emacs".
8226         Suggested by Michael Albinus <michael.albinus@gmx.de> in
8227         emacs-manual-bugs@gnu.org.
8229 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
8231         Improve documentation of 'electric-pair-mode'
8233         * lisp/elec-pair.el (electric-pair-mode):
8234         * doc/emacs/programs.texi (Matching): Document the operation of
8235         electric-pair-mode when there's an active region.  (Bug#30502)
8237 2018-02-17  Charles A. Roelli  <charles@aurox.ch>
8239         lisp/vc/: documentation fixes
8241         * lisp/vc/vc.el (vc-region-history): Clarify documentation.
8242         * lisp/vc/add-log.el (change-log-get-method-definition):
8243         Indent documentation.
8245 2018-02-17  Robert Pluim  <rpluim@gmail.com>
8247         Document 'desktop-files-not-to-save'
8249         * doc/emacs/misc.texi (Saving Emacs Sessions): Add description
8250         of 'desktop-files-not-to-save'.
8252         * lisp/desktop.el (desktop-files-not-to-save): Explain that
8253         the default value excludes buffers visiting remote files.
8255 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
8257         Improve documentation of Profiling features
8259         * doc/lispref/debugging.texi (Profiling): Improve the description
8260         of elp.el.  Improve wording of the rest of the section.  (Bug#30491)
8262         * lisp/emacs-lisp/elp.el (elp-instrument-list): Make the
8263         interactive invocation work.  Doc fix.
8265 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
8267         Improve indexing of "performance" in ELisp manual
8269         * doc/lispref/debugging.texi (Profiling):
8270         * doc/lispref/edebug.texi (Coverage Testing): Improve indexing of
8271         features useful for performance analysis.  (Bug#30490)
8273 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
8275         Minor change in Emacs manual's VC chapter
8277         * doc/emacs/maintaining.texi (Log Buffer): Mention the "Summary"
8278         header.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
8279         emacs-manual-bugs@gnu.org.
8281 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
8283         Avoid memory corruption with specpdl overflow + edebug (Bug#30481)
8285         If grow_specpdl fails due to outgrowing max_specpdl_size, it will
8286         signal an error *before* growing the specpdl array.  Therefore, when
8287         handling the signal, specpdl_ptr points past the end of the specpdl
8288         array and any further use of of specpdl before unwinding (e.g., if
8289         edebug binds signal-hook-function) will cause memory corruption.
8290         * src/eval.c (signal_or_quit): Don't call `signal-hook-function' if
8291         the specpdl_ptr is already past the end of the specpdl array.
8292         * test/src/eval-tests.el (eval-tests--exceed-specbind-limit)
8293         (eval-exceed-specbind-with-signal-hook): New test & helper function.
8295 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
8297         Document comment-fill-column in the manual (Bug#11636)
8299         * doc/emacs/programs.texi (Comment Commands)
8300         (Options for Comments): Mention comment-fill-column.
8302 2018-02-17  Glenn Morris  <rgm@gnu.org>
8304         * doc/emacs/dired.texi (Marks vs Flags): Copyedits.
8306 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
8308         More fixes for the Emacs manual
8310         * doc/emacs/vc1-xtra.texi (Customizing VC): Update the list of
8311         backends.
8312         * doc/emacs/maintaining.texi (Version Control): Add SRC to the
8313         list of VCS.  Remove the description of vc-state-refresh.
8314         (Version Control Systems): Update the description of CVS.
8315         (VC Change Log): Amend the list of VCS that don't support
8316         vc0print-root-log.
8317         (VCS Changesets, VCS Repositories, Advanced C-x v v)
8318         (VC Change Log): Mention SRC with RCS where appropriate.
8319         (VC Directory Commands): More accurate description of
8320         vc-dir-hide-up-to-date.  Suggested by Michael Albinus
8321         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
8323 2018-02-16  Robert Cochran  <robert@cochranmail.com>
8325         Make 'byte-compile-error-on-warn' a safe file variable
8327         * lisp/emacs-lisp/bytecomp.el (byte-compile-error-on-warn): Mark
8328         as a safe local variable for boolean values.
8330 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
8332         Fix the doc string of flyspell-auto-correct-word
8334         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Doc
8335         fix.  (Bug#30462)
8337 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
8339         Improve the MS-Windows appendix of the Emacs manual
8341         * doc/emacs/msdos.texi (Windows Startup): Describe the pinned
8342         shortcuts for starting Emacs.
8343         (Text and Binary): Minor wording changes.
8344         (Windows Files): Mention 'read-file-name-completion-ignore-case'.
8345         (ls in Lisp): Update the list of supported 'ls' switches.
8346         Document 'ls-lisp-use-string-collate' and
8347         'ls-lisp-UCA-like-collation'.
8348         (Windows HOME): Mention warnings displayed at startup when
8349         deprecated locations of HOME and/or deprecated names for init
8350         files are used.
8351         (Windows Keyboard): Mention delete-selection-mode.
8353 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
8355         Fix 'vc-git--program-version'
8357         * lisp/vc/vc-git.el (vc-git--program-version): Fix the function to
8358         work with Git for Windows.
8360 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
8362         Fix typos and wording in the Emacs manual
8364         * doc/emacs/dired.texi (Marks vs Flags, Hiding Subdirectories):
8365         * doc/emacs/maintaining.texi (Tag Syntax):
8366         * doc/emacs/building.texi (Commands of GUD, Threads Buffer)
8367         (Lisp Libraries):
8368         * doc/emacs/windows.texi (Temporary Displays): Fix typos.
8369         * doc/emacs/files.texi (Backup Copying): Fix wording.  Reported by
8370         Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
8371         emacs-manual-bugs@gnu.org.
8373 2018-02-16  Michael Albinus  <michael.albinus@gmx.de>
8375         * doc/emacs/programs.texi (Semantic): Order programming languages.
8377 2018-02-15  Eli Zaretskii  <eliz@gnu.org>
8379         More improvements for the Emacs manual
8381         * doc/emacs/programs.texi (Basic Indent, Comment Commands): Fix
8382         typos.
8383         * doc/emacs/text.texi (TeX Print, HTML Mode, Enriched Faces): Fix
8384         typos.
8385         * doc/emacs/help.texi (Help Files): Improve @uref usage.  Reported
8386         by Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
8387         emacs-manual-bugs@gnu.org.
8389         * doc/emacs/fortran-xtra.texi (ForIndent Commands): Fix a typo.
8390         (ForIndent Commands, Fortran Columns): Add empty lines between
8391         @items in a @table.
8392         (ForIndent Cont, ForIndent Num, Fortran Columns): Mention
8393         'column-number-indicator-zero-based'.
8394         (ForIndent Vars): Fix a typo.
8395         (Fortran Comments): Fix punctuation.
8396         (ForIndent Cont, Fortran Autofill): Fix markup of keyboard input.
8397         * doc/emacs/programs.texi (Comments): Fix a typo.
8398         (Comment Commands): More accurate description of the commands.
8399         (Options for Comments): Don't mention "hook".
8400         (Man Page): Prefer "M-x man" if available.
8401         (Hideshow): Fix the command key sequence.
8402         (Semantic): Update supported languages.
8403         (Semantic, Hungry Delete, Other C Commands): Fix markup of
8404         commands.
8405         (Misc for Programs): Fix a typo.
8406         (Electric C, Hungry Delete): More accurate description of
8407         mode-line lighters of CC submodes.
8408         (Asm Mode): Add empty lines between @items in a @table.
8409         * doc/emacs/programs.texi (Program Modes): Add a few more modes.
8410         Reported by Michael Albinus <michael.albinus@gmx.de> in
8411         emacs-manual-bugs@gnu.org.
8413         * doc/emacs/msdos.texi (Windows Misc): A minor rewording.
8414         Suggested by Isaac Carter <icarter1391@gmail.com> in
8415         emacs-manual-bugs@gnu.org.
8417 2018-02-14  Eli Zaretskii  <eliz@gnu.org>
8419         Minor wording change in Emacs manual
8421         * doc/emacs/killing.texi (Accumulating Text): Fix spelling.
8422         Reported by lyr3 <lyr3@protonmail.com> in
8423         emacs-manual-bugs@gnu.org.
8425 2018-02-14  Eli Zaretskii  <eliz@gnu.org>
8427         Another set of changes for the manual
8429         * doc/emacs/programs.texi (Program Indent): Add a cross-reference
8430         to elisp's description of 'pp'.
8431         (Program Modes): Add a few more programming modes.  Add index
8432         entries.
8433         (Basic Indent, Multi-line Indent, C Indent, Comment Commands)
8434         (Manipulating Comments): Fix markup of keyboard commands.
8435         * doc/emacs/search.texi (Regexps): Add an example with non-ASCII
8436         characters.  Suggested by Michael Albinus <michael.albinus@gmx.de>
8437         in emacs-manual-bugs@gnu.org.
8439         * doc/lispref/display.texi (Display Tables): Fix the description
8440         of the 5th extra slot of the display table.  (Bug#13473)
8442         * doc/emacs/regs.texi (Registers): Simplify wording.
8444         * doc/emacs/custom.texi (Init Non-ASCII): Remove outdated text
8445         about perils of encoded keyboard input.
8447 2018-02-14  Michael Albinus  <michael.albinus@gmx.de>
8449         Improvements on tramp.texi
8451         * doc/misc/tramp.texi: Use Tramp version in title.  Further
8452         improvements on user option indexing.  Finish command examples
8453         with @key{RET} where appropriate.
8454         (Remote processes): Use 'M-&' for invocation of async shell.
8455         (Frequently Asked Questions): Add example with simplified syntax.
8457 2018-02-13  Paul Eggert  <eggert@cs.ucla.edu>
8459         Tramp minor doc fixes
8461         * doc/misc/tramp.texi (Remote processes): Spelling fix and minor
8462         wording improvement.
8464 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
8466         More changes in the Emacs manual
8468         * doc/emacs/search.texi (Regexp Backslash): Say that
8469         symbol-constituent characters are determined by the syntax table.
8470         (Lax Search): Fix example of case-insensitive search.  Fix a
8471         typo.
8472         (Unconditional Replace): Improve wording.
8473         (Regexp Replace): More consistent wording.  Reported by Michael
8474         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
8476         * doc/emacs/msdos.texi (Windows HOME): Avoid enumerating all the
8477         Windows versions.  Reported by Isaac Carter
8478         <icarter1391@gmail.com> in emacs-manual-bugs@gnu.org.
8480 2018-02-13  Andreas Schwab  <schwab@suse.de>
8482         * lisp/vc/vc.el (vc-deduce-backend): Use ignore-errors.
8484 2018-02-13  Andreas Schwab  <schwab@suse.de>
8486         Don't signal error in vc-deduce-backend
8488         * lisp/vc/vc.el (vc-deduce-backend): Return nil if
8489         vc-responsible-backend signals an error.
8491 2018-02-13  Michael Albinus  <michael.albinus@gmx.de>
8493         * doc/misc/tramp.texi: Index more user options.
8495 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
8497         Minor change in the Emacs manual
8499         * doc/emacs/building.texi (Lisp Libraries): Explain why nil in
8500         load-path is not a good idea.  Suggested by James Yoo
8501         <james.yoo@gmail.com> in emacs-manual-bugs@gnu.org.
8503 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
8505         NEWS update about 'string-trim'
8507         * etc/NEWS: Mention changes in string-trim family of functions.
8508         (Bug#30442)
8510 2018-02-13  Noam Postavsky  <npostavs@gmail.com>
8512         Clarify TRAMP process-environment interaction (Bug#30419)
8514         * doc/misc/tramp.texi (Remote processes): Index the
8515         tramp-remote-process-environment description.  Clarify the effects of
8516         let-binding process-environment and the motivation for that behavior.
8518 2018-02-12  Juri Linkov  <juri@linkov.net>
8520         * lisp/progmodes/grep.el (grep-num-matches-found): New variable.
8522         (grep-mode-line-matches): New defconst.
8523         (grep-mode-font-lock-keywords): Update the regexp for “Grep finished”
8524         to include the number of matches found.
8525         (grep-process-setup): Set grep-num-matches-found to 0.
8526         (grep-exit-message): New function with body moved from lambda
8527         in grep-process-setup.  Use grep-num-matches-found to return
8528         the number of matches found.
8529         (grep-filter): Increment grep-num-matches-found.
8530         (grep-mode): Set compilation-mode-line-errors to grep-mode-line-matches.
8531         (Bug#30397, bug#14017)
8533 2018-02-12  Eli Zaretskii  <eliz@gnu.org>
8535         Avoid aborts in cm.c due to too small TTY frame
8537         * src/frame.c (frame_windows_min_size): Limit TTY frames to a
8538         minimum height large enough to allow for a menu bar, the mode
8539         line, one text line and one echo-area line.  This avoids aborts in
8540         cm.c:cmcheckmagic.  (Bug#30320)
8542 2018-02-12  Eli Zaretskii  <eliz@gnu.org>
8544         Another set of improvements in the Emacs manual
8546         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
8547         * doc/emacs/msdos.texi (Windows Keyboard):
8548         * doc/emacs/mark.texi (Using Region):
8549         * doc/emacs/frames.texi (Menu Mouse Clicks):
8550         * doc/emacs/macos.texi (Mac / GNUstep Basics): Fix spelling of
8551         keys.  Reported by Michael Albinus <michael.albinus@gmx.de> in
8552         emacs-manual-bugs@gnu.org.
8554         * doc/emacs/glossary.texi (Glossary): Document that "c.f." is a
8555         misspelling.  Reported by Robert Pluim <rpluim@gmail.com>.
8556         Various minor wording improvements.  Suggested by Toon Claes
8557         <toon@iotcl.com> in emacs-manual-bugs@gnu.org.
8558         More minor changes.  Suggested by Michael Albinus
8559         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
8561         * doc/emacs/cmdargs.texi (Title X): Improve wording.
8563         * doc/emacs/building.texi (Grep Searching, Compilation): Avoid
8564         passive tense.
8566         * doc/emacs/basic.texi (Moving Point): Move the description of the
8567         bidi-related effects of the arrow keys from here ...
8568         * doc/emacs/mule.texi (Bidirectional Editing): ... to here.
8569         Explain the behavior of arrow keys between paragraphs.
8571 2018-02-12  Michael Albinus  <michael.albinus@gmx.de>
8573         Fix help in mode-line-mode-menu
8575         * lisp/bindings.el (mode-line-mode-menu) [auto-revert-tail-mode]:
8576         Fix help string.
8578 2018-02-11  Eli Zaretskii  <eliz@gnu.org>
8580         Improve documentation of desktop restoring
8582         * doc/emacs/misc.texi (Saving Emacs Sessions): Document
8583         'desktop-auto-save-timeout', 'desktop-load-locked-desktop', and
8584         how to restore desktop in daemon mode.  (Bug#30421)
8586 2018-02-11  Eli Zaretskii  <eliz@gnu.org>
8588         Improve the Emacs manual's chapter "Frames"
8590         * doc/emacs/frames.texi (Creating Frames): Add a cross-reference
8591         to where frame visibility is described.
8592         (Word and Line Mouse): Clarify wording.
8593         (Scroll Bars): Qualify scroll-bar behavior.  Reported by Dmitry
8594         Gutov <dgutov@yandex.ru> in emacs-manual-bugs@gnu.org.
8596 2018-02-10  Andreas Schwab  <schwab@linux-m68k.org>
8598         Fix unbound mm-uu-entry in mm-uu
8600         * lisp/gnus/mm-uu.el (mm-uu-dissect): Rename entry to mm-uu-entry.
8602 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
8604         Improve Emacs user manual in fixit.texi
8606         * doc/emacs/fixit.texi (Undo): Clarify inaccurate description of
8607         repeated undo.
8608         (Transpose): Describe explicitly what happens at EOL.
8609         (Spelling): Use "spell-checking" consistently.  Clarify wording.
8610         Suggested by Toon Claes <toon@iotcl.com> in
8611         emacs-manual-bugs@gnu.org.
8613 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
8615         Another minor change in the manual
8617         * doc/emacs/glossary.texi (Glossary): Add popular Latin
8618         abbreviations, such as "e.g.".
8620 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
8622         More minor changes in the Emacs manual
8624         * doc/emacs/xresources.texi (GTK resources):
8625         * doc/emacs/trouble.texi (Contributing):
8626         * doc/emacs/frames.texi (Fonts): Use HTTPS URLs instead of HTTP.
8628         * doc/emacs/docstyle.texi: Add a few @hyphenation directives,
8629         based on reports in emacs-manual-bugs@gnu.org about incorrect
8630         hyphenation.
8632 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
8634         Avoid printing garbled error message from image.el
8636         * lisp/image.el (image--get-imagemagick-and-warn): Don't use
8637         apostrophe in the error message, as that message is shown from a
8638         unibyte buffer, and will run afoul of the default style of showing
8639         quote characters.  (Bug#30405)
8641 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
8643         Doc string fix in latin-alt.el
8645         * lisp/leim/quail/latin-alt.el ("dutch"): Doc fix.  Reported by
8646         Robert Pluim <rpluim@gmail.com>.
8648 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
8650         Minor improvements in package.texi
8652         * doc/emacs/package.texi (Package Menu): Minor wording change.
8653         (Package Installation): Use HTTPS.  A better @xref to GnuPG
8654         manual.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
8655         emacs-manual-bugs@gnu.org.
8657 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
8659         Minor improvement in Emacs user manual
8661         * doc/emacs/files.texi (Directories): Document that
8662         'directory-free-space-program' and 'directory-free-space-args' are
8663         only for local filesystems.  Suggested by Michael Albinus
8664         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
8666 2018-02-09  Michael Albinus  <michael.albinus@gmx.de>
8668         * doc/lispref/anti.texi (Antinews): Replace 25.2 with 25.3.
8670 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
8672         Improve documentation of mini-window resizing
8674         * doc/lispref/minibuf.texi (Minibuffer Windows): Mention
8675         'message-truncate-lines' for preventing resizing of minibuffer
8676         windows.  (Bug#19045)
8677         (Minibuffer Misc): Remove redundant description of
8678         'max-mini-window-height'.
8679         * doc/lispref/display.texi (Echo Area Customization): Adjust
8680         cross-reference.
8682 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
8684         More changes in the Emacs manual
8686         * doc/emacs/fixit.texi (Undo): Mention 'revert-buffer'.
8687         (Fixing Case): Fix punctuation.
8688         (Spelling): Fix a typo.  Suggested by Toon Claes <toon@iotcl.com>
8689         in emacs-manual-bugs@gnu.org.
8691         * doc/emacs/modes.texi (Major Modes): Break a long sentence into
8692         2.  Reported by Stefan Kamphausen <stefan.kamphausen@acrolinx.com>
8693         in emacs-manual-bugs@gnu.org.
8695         * doc/emacs/indent.texi (Just Spaces): Yet another minor
8696         rewording.
8698         * doc/emacs/building.texi (Watch Expressions): Improve wording.
8699         (Multithreaded Debugging): Spell "tool bar" as 2 words.  Reported
8700         by Alberto Sartori <alberto.sartori@sissa.it> in
8701         emacs-manual-bugs@gnu.org.
8702         (Grep Searching): Mention the effect of
8703         'compilation-mode-line-errors'.  (Bug#30397)
8705         * doc/emacs/basic.texi (Moving Point): Minor reformatting and
8706         rewording of what <LEFT> and <RIGHT> do.
8708 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
8710         Clarify that text-quoting-style doesn't affect *Info* (Bug#24519)
8712         * src/doc.c (syms_of_doc) <text-quoting-style>: Clarify that info
8713         manual display is unaffected.
8715 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
8717         Mention that shell quoting of % on w32 may fail (Bug#19350)
8719         * doc/lispref/os.texi (Security Considerations): Mention that quoting
8720         of '%' assumes no '^' in variable names.
8721         * test/lisp/subr-tests.el (shell-quote-argument-%-on-w32): New test,
8722         demonstrating what doesn't work.
8724 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
8726         Fix --no-build-details for w32 and macOS
8728         * src/w32term.c (w32_initialize_display_info): Handle nil system-name.
8729         * lisp/term/ns-win.el (window-system-initialization): Don't pass nil
8730         to `x-open-connection'.
8732 2018-02-09  Paul Eggert  <eggert@cs.ucla.edu>
8734         * doc/lispref/anti.texi (Antinews): Add some more antinews.
8736 2018-02-08  Paul Eggert  <eggert@cs.ucla.edu>
8738         Fix crashes when run with --no-build-details
8740         * src/xrdb.c (get_environ_db):
8741         * src/xterm.c (same_x_server, x_term_init):
8742         Don’t assume Fsystem_name returns a string.
8744 2018-02-08  Eli Zaretskii  <eliz@gnu.org>
8746         More changes for the manual
8748         * doc/emacs/anti.texi (Antinews): Replace 25.2 with 25.3.
8749         Reported by Michael Albinus <michael.albinus@gmx.de> in
8750         emacs-manual-bugs@gnu.org.
8752         * doc/emacs/custom.texi (Function Keys): Improve wording.
8753         Suggested by clemens.radermacher@posteo.de in
8754         emacs-manual-bugs@gnu.org.
8756         * doc/emacs/misc.texi (History References): Improve punctuation.
8757         (Terminal emulator): Fix a typo.
8758         (Term Mode): Remove redundant repeated text.
8759         (Invoking emacsclient): Improve wording.  Suggested by Alberto
8760         Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
8762         * doc/emacs/files.texi (Visiting): Fix last change.
8764 2018-02-08  Noam Postavsky  <npostavs@gmail.com>
8766         Doc fixes for process functions (Bug#30349)
8768         * doc/lispref/processes.texi (Asynchronous Processes): Explain what
8769         the 'stopped' state means for a pipe process.
8770         * src/process.c (Fmake_process, Fmake_pipe_process)
8771         (Fmake_serial_process, Fmake_network_process):
8772         * lisp/subr.el (start-process):
8773         * lisp/net/tls.el (open-tls-stream):
8774         * lisp/net/starttls.el (starttls-open-stream):
8775         * lisp/net/gnutls.el (open-gnutls-stream): Remove meaningless phrase
8776         "specify an output stream" phrase from docstring.
8778 2018-02-07  Basil L. Contovounesios  <contovob@tcd.ie>
8780         Fix shr and CSS 4 color maps
8782         * lisp/net/shr-color.el (shr-color-html-colors-alist): Fix typos.
8783         Add RebeccaPurple.
8784         * lisp/textmodes/css-mode.el (css--color-map): Add fuchsia-magenta
8785         and aqua-cyan aliases.
8786         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
8787         Bump color count.
8789 2018-02-07  Eli Zaretskii  <eliz@gnu.org>
8791         Yet another round of improvements in the manual
8793         * doc/emacs/misc.texi (Document View): Improve wording.  Reported
8794         by lyr3 <lyr3@protonmail.com> in emacs-manual-bugs@gnu.org.
8796         * doc/emacs/files.texi (Recover): Fix a typo.  Reported by Jorge
8797         <jorge+list@disroot.org> in emacs-manual-bugs@gnu.org.
8799         * doc/emacs/anti.texi (Antinews): Fix typos.  Reported by Justin
8800         Heyes-Jones <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
8802         * doc/emacs/mini.texi (Basic Minibuffer): Clarify wording.
8803         Reported by Vivishek Sudhir <vivishek.sudhir@gmail.com> in
8804         emacs-manual-bugs@gnu.org.
8806         * doc/emacs/cmdargs.texi (MS-Windows Registry): Improve wording
8807         regarding registry keys.
8809         * doc/emacs/macos.texi (Mac OS / GNUstep): Sayu "NeXT Inc."
8810         Reported by Cena Mayo <cenazoic@gmail.com> in
8811         emacs-manual-bugs@gnu.org.
8813         * doc/emacs/screen.texi (Screen): More accurate wording.
8814         Suggested by Miloš Polakovič <milos@alphamail.org> in
8815         emacs-manual-bugs@gnu.org.
8817         * doc/emacs/indent.texi (Just Spaces): Minor wording change.
8818         Suggested by David Bonnafous <dbonnafo@gmail.com> in
8819         emacs-manual-bugs@gnu.org.
8821         * doc/emacs/text.texi (TeX Mode, TeX Editing): Improve and
8822         simplify wording.  Suggested by root@vxid.pw <root@vxid.pw> in
8823         emacs-manual-bugs@gnu.org.
8825         * doc/emacs/cmdargs.texi (Window Size X): Minor wording change.
8827         * doc/emacs/display.texi (Highlight Interactively): Fill text.
8828         (Optional Mode Line): Fix typos.  Suggested by Alberto Sartori
8829         <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
8831         * doc/emacs/building.texi (Debugger Operation): Clarify wording.
8833         * doc/emacs/files.texi (Directories, Comparing Files, Diff Mode)
8834         (Remote Files, File Names, Visiting, Backup Deletion)
8835         (Customize Save, Interlocking): Improve wording and accuracy of
8836         the text.
8837         * doc/emacs/maintaining.texi (VC With A Merging VCS): Don't say
8838         "his".
8839         * doc/emacs/arevert-xtra.texi (Auto Reverting Dired): Minor
8840         wording changes.
8841         (Supporting additional buffers): Moved to ...
8842         * doc/lispref/backups.texi (Reverting): ... here.
8843         * doc/emacs/emacs.texi (Top): Remove "Supporting additional
8844         buffers" from master menu.
8845         * doc/emacs/files.texi (Reverting): Mention use of file
8846         notifications.  Suggested by Michael Albinus
8847         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
8849         * doc/emacs/rmail.texi (Rmail Motion): Clarify what '-' does to
8850         'M-s'.  Suggested by Arthur Milchior <arthur@milchior.fr> in
8851         emacs-manual-bugs@gnu.org.
8853         * doc/emacs/cmdargs.texi (Initial Options): Capitalize "Emacs".
8854         (Action Arguments): Fix a typo.
8855         (Emacs Invocation): Replace em-dash with a comma.  Suggested by
8856         Justin Heyes-Jones <justinhj@gmail.com> in
8857         emacs-manual-bugs@gnu.org.
8859         * doc/emacs/m-x.texi (M-x): Add an example.  Suggested by Alberto
8860         Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
8862         * doc/emacs/calendar.texi (Calendar/Diary, Calendar Unit Motion):
8863         Minor wording changes.
8865 2018-02-04  Juri Linkov  <juri@linkov.net>
8867         * lisp/vc/vc-git.el (vc-git-print-log): Restrict file scope to a single file
8869         when vc-git-print-log-follow is non-nil (bug#19045).
8870         (vc-git-print-log-follow): Doc fix.
8872         * etc/NEWS: Mention 'vc-git-print-log-follow'.
8874 2018-02-04  Michael Albinus  <michael.albinus@gmx.de>
8876         * doc/emacs/misc.texi (Interactive Shell): Refer to node "Minibuffer File"
8878         for hints how to type remote file names effectively.
8880 2018-02-04  Eli Zaretskii  <eliz@gnu.org>
8882         Yet another round of fixing the Emacs manual
8884         * doc/emacs/cmdargs.texi (Action Arguments): Rearrange text
8885         describing what happens when Emacs is invoked with several file
8886         arguments.  Suggested by Grant Rettke <gcr@wisdomandwonder.com> in
8887         emacs-manual-bugs@gnu.org.
8889         * doc/emacs/xresources.texi (GTK styles):
8890         * doc/emacs/mini.texi (Passwords):
8891         * doc/emacs/frames.texi (Scroll Bars): Use "cannot" instead of
8892         "can not".
8894         * doc/emacs/macos.texi (Mac / GNUstep Basics): Clarify the effect
8895         of ns-right-alternate-modifier when its value is 'none'.
8896         Suggested by Wanderson Ferreira <iagwanderson@gmail.com> in
8897         emacs-manual-bugs@gnu.org.
8899         * doc/emacs/calendar.texi (Importing Diary, Appointments): Now
8900         sub-sections of Diary.
8901         * doc/emacs/emacs.texi (Top):
8902         * doc/emacs/calendar.texi (Diary): Adjust menus to the above
8903         change.  Suggested by Isaac Carter <icarter1391@gmail.com> in
8904         emacs-manual-bugs@gnu.org.
8906         * doc/emacs/anti.texi (Antinews): Fix grammar.
8908 2018-02-04  Alan Mackenzie  <acm@muc.de>
8910         * etc/NEWS: Expunge the solecism "allow(s)" + infinitive
8912 2018-02-04  Martin Rudalics  <rudalics@gmx.at>
8914         Two minor fixes in Antinews
8916         * doc/emacs/anti.texi (Antinews): Two minor fixes.
8918 2018-02-03  Juri Linkov  <juri@linkov.net>
8920         * etc/NEWS: Rename image-dired-thumb-job-limit
8922         to image-dired-queue-active-limit (bug#30279)
8924 2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
8926         * lisp/simple.el (async-shell-command, shell-command): Fix grammar
8928 2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
8930         Fix deferred display of async shell-command buffers
8932         * lisp/simple.el (shell-command): Display async shell buffer on
8933         process output for every, not just first, command invocation.  Check
8934         buffer liveness, not name, before displaying. (bug#30213, bug#30280)
8936 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
8938         Mention remote file name completion in Emacs manual
8940         * doc/emacs/mini.texi (Minibuffer File): Describe the behavior of
8941         "//" with remote file names.  (Bug#29149)
8943 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
8945         Yest another round of manual copyedits
8947         * doc/emacs/fixit.texi (Transpose, Spelling): Minor stylistic
8948         changes.  Suggested by myq larson <myqlarson@gmail.com> in
8949         emacs-manual-bugs@gnu.org.
8951         * doc/emacs/calendar.texi (Appointments, Time Intervals): Mention
8952         relevant Org features.  Suggested by Alex Branham
8953         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
8955         * doc/emacs/dired.texi (Operating on Files)
8956         (Shell Commands in Dired, Image-Dired): Minor stylistic edits.
8957         Suggested by Francis Wright <f.j.wright@live.co.uk> in
8958         emacs-manual-bugs@gnu.org.
8960         * doc/emacs/commands.texi (User Input): Explain "C-M-a".
8961         Suggested by Martin Luethi <martin.luethi@geo.uzh.ch> in
8962         emacs-manual-bugs@gnu.org.
8964 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
8966         Update xdisp.c commentary
8968         * src/xdisp.c: Update commentary regarding "asynchronous" entry
8969         into redisplay.  (Bug#30182)
8971 2018-02-03  Michael Albinus  <michael.albinus@gmx.de>
8973         Fix Bug#30324
8975         * lisp/net/rlogin.el (rlogin, rlogin-directory-tracking-mode):
8976         Adapt to changed remote file name syntax.  (Bug#30324)
8978 2018-02-03  Glenn Morris  <rgm@gnu.org>
8980         Recognize Org as builtin package (bug#30310)
8982         * lisp/org/org.el: Add Version header so detected as builtin package.
8983         * test/lisp/org/org-tests.el: New file.
8985 2018-02-02  Eli Zaretskii  <eliz@gnu.org>
8987         Another round of manual fixups
8989         * doc/emacs/killing.texi (Killing by Lines): Clarify wording.
8990         Reported by David Bonnafous <dbonnafo@gmail.com> in
8991         emacs-manual-bugs@gnu.org.
8993         * doc/emacs/windows.texi (Other Window): Improve wording.
8994         Reported by Rasmus Sjostrom <ras.sjostrom@gmail.com> in
8995         emacs-manual-bugs@gnu.org.
8997         * doc/emacs/display.texi (Display Custom): Mention that line
8998         numbers are not displayed in the minibuffer and tooltips.
9000         * doc/emacs/mini.texi (Basic Minibuffer): Improve wording.
9001         * doc/emacs/regs.texi (Registers): More comma removal.  Suggested
9002         by "root@vxid.pw root@vxid.pw" <root@vxid.pw> in
9003         emacs-manual-bugs@gnu.org.
9005         * doc/emacs/display.texi (Auto Scrolling): Fix a typo.  Reported
9006         by Kevin Foley <kfoley15@gmail.com> in emacs-manual-bugs@gnu.org.
9008         * doc/emacs/display.texi (Scrolling): Fix grammar.
9009         (Horizontal Scrolling): Mention reasonable limits for hscroll-step
9010         float values.  Suggested by Jerome Truong <jerometruong@gmail.com>
9011         in emacs-manual-bugs@gnu.org.
9013         * doc/emacs/mini.texi (Minibuffer Edit): Add a missing comma.
9014         * doc/emacs/basic.texi (Position Info, Arguments, Repeating):
9015         Remove redundant commas.  Suggested by oldgaro
9016         <oldgaro@protonmail.com> in emacs-manual-bugs@gnu.org.
9018         * doc/emacs/kmacro.texi (Save Keyboard Macro): Clarify wording.
9019         Suggested by clemens.radermacher@posteo.de in
9020         emacs-manual-bugs@gnu.org.
9022         * doc/emacs/building.texi (Compilation Mode): Improve and simplify
9023         wording.  Suggested by drone <yoorobot@gmail.com> in
9024         emacs-manual-bugs@gnu.org.
9026         * doc/emacs/dired.texi (Dired Enter): Clarify wording.
9027         (Dired Deletion): Fix a typo.
9028         (Marks vs Flags): Mention that M-DEL in Dired asks for the mark
9029         character.  Fix typos.
9030         * doc/emacs/basic.texi (Moving Point, Erasing, Basic Undo)
9031         (Arguments): Some additional information about keys.  Reported by
9032         Francis Wright <f.j.wright@live.co.uk> in
9033         emacs-manual-bugs@gnu.org.
9035 2018-02-02  Basil L. Contovounesios  <contovob@tcd.ie>  (tiny change)
9037         * doc/lispref/customize.texi (Custom Themes): Clarify .el preference.
9040         https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00824.html.
9042 2018-02-02  Eli Zaretskii  <eliz@gnu.org>
9044         * doc/emacs/entering.texi (Entering Emacs): Another wording fix.
9046 2018-02-02  Noam Postavsky  <npostavs@gmail.com>
9048         * doc/lispref/functions.texi (Inline Functions): Fix typo (Bug#30238).
9050         * lisp/imenu.el (imenu-generic-expression): Rephrase doc (Bug#30294).
9052 2018-02-01  Eli Zaretskii  <eliz@gnu.org>
9054         Fix last change of @key markup
9056         * doc/lispref/display.texi (Specified Space):
9057         * doc/emacs/programs.texi (C Modes):
9058         * doc/emacs/killing.texi (Rectangles):
9059         * doc/emacs/emacs.texi (Top):
9060         * doc/emacs/display.texi (Useless Whitespace): Don't use @key
9061         markup for characters and commands, only for keys.
9063 2018-02-01  Eli Zaretskii  <eliz@gnu.org>
9065         * doc/emacs/entering.texi (Entering Emacs): Fix markup.
9067 2018-02-01  Michael Albinus  <michael.albinus@gmx.de>
9069         Revert a1bbc49015 (Bug#30243), do not merge
9071         * lisp/files.el:
9072         * test/lisp/net/tramp-tests.el: Revert a1bbc49015.  (Bug#30243)
9074 2018-01-31  Michael Albinus  <michael.albinus@gmx.de>
9076         Use @key{} where it is missing in the manuals
9078 2018-01-31  Eli Zaretskii  <eliz@gnu.org>
9080         Another round of manual fixes from proofreading
9082         * doc/emacs/search.texi (Incremental Search)
9083         (Nonincremental Search): Mention the menu bar and fix typos.
9084         Reported by David Bonnafous <dbonnafo@gmail.com> in
9085         emacs-manual-bugs@gnu.org.
9086         * doc/emacs/building.texi (Compilation): Improve wording.
9087         Suggested by drone <yoorobot@gmail.com> in
9088         emacs-manual-bugs@gnu.org.
9089         * doc/emacs/kmacro.texi (Basic Keyboard Macro): Clarify text.
9090         Suggested by Robert Pluim <rpluim@gmail.com> in
9091         emacs-manual-bugs@gnu.org.
9092         * doc/emacs/display.texi (Highlight Interactively, Fringes):
9093         Improve wording.  Suggested by Justin Heyes-Jones
9094         <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
9095         * doc/emacs/commands.texi (User Input, Commands): Add missing
9096         commas.
9097         * doc/emacs/screen.texi (Menu Bar): Mention keyboard keys to
9098         navigate menus.  Suggested by oldgaro <oldgaro@protonmail.com> in
9099         emacs-manual-bugs@gnu.org.
9100         * doc/emacs/search.texi (Not Exiting Isearch): Fix a typo.
9101         Reported by "Kocken, I.J. (Ilja)" <I.J.Kocken@uu.nl> in
9102         emacs-manual-bugs@gnu.org.
9103         * doc/emacs/basic.texi (Inserting Text): Mention one more label of
9104         RET.  Suggested by Francis Wright <f.j.wright@live.co.uk> in
9105         emacs-manual-bugs@gnu.org.
9106         * doc/emacs/text.texi (Paragraphs): Clarify text.  Reported by
9107         Marcin Borkowski <mbork@mbork.pl> in emacs-manual-bugs@gnu.org.
9108         * doc/emacs/maintaining.texi (Introduction to VC)
9109         (Why Version Control?, VCS Merging): Fix typos and section
9110         capitalization.  Suggested by "R. P. Dillon"
9111         <rpdillon@killring.org> in emacs-manual-bugs@gnu.org.
9112         * doc/emacs/modes.texi (Major Modes, Choosing Modes): Fix typos.
9113         Reported by clemens.radermacher@posteo.de in
9114         emacs-manual-bugs@gnu.org.
9116 2018-01-31  Eli Zaretskii  <eliz@gnu.org>
9118         * doc/emacs/entering.texi (Entering Emacs): Fix last change.
9120 2018-01-31  Martin Rudalics  <rudalics@gmx.at>
9122         Document 'window-at-side-p' in the Elisp manual
9124         * doc/lispref/windows.texi (Windows and Frames): Document
9125         'window-at-side-p'.
9127 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
9129         Document external-debugging-output in the Elisp Manual (Bug#24051)
9131         * doc/lispref/streams.texi (Output Streams): List
9132         external-debugging-output.
9133         * src/print.c (Fexternal_debugging_output): Quote `print' in
9134         docstring.
9136 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
9138         Fix scroll-margin docstring (Bug#13791)
9140         * src/xdisp.c (syms_of_xdisp) <scroll-margin>: Explain that entering
9141         the margin may trigger any sort of auto scrolling, not recentering
9142         specifically.
9144 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
9146         Clarify that `ansi-term' is almost the same as `term' (Bug#18106)
9148         * lisp/term.el (ansi-term): Clarify that it's almost the same as `term'.
9150 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
9152         Update manual description of locate-file (Bug#23650)
9154         * doc/lispref/files.texi (Locating Files): Add example of predicate
9155         when searching for a directory.
9157 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
9159         Clarify effect of print-gensym (Bug#27776)
9161         * src/print.c (syms_of_print) <print-gensym>: Clarify that use of #N#
9162         and #N= constructs depends on the value of `print-circle'.
9164 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
9166         * lisp/custom.el (defcustom): Fix docstring (Bug#27891).
9168 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
9170         Define cl-type-definition button type as needed (Bug#28899)
9172         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Require
9173         `cl-extra' before using the `cl-type-definition' button type.
9175 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
9177         Emphasize that GPG passphrase caching is temporary (Bug#29907)
9179         * doc/misc/epa.texi (Caching Passphrases): Clarify that caching is
9180         temporary.
9181         (GnuPG version compatibility): Fix typo.
9183 2018-01-30  Alan Mackenzie  <acm@muc.de>
9185         Fix @examples in cc-mode.info, where lines were getting glued together.
9187         This happened because of false @c's in macro lines.
9189         * doc/misc/cc-mode.texi (Line-up Functions): Remove the unneeded @c from
9190         macros sssTBasicOffset, sssTsssTBasicOffset, and hereFn.
9192 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
9194         Minor change in "Mode Line" section of Emacs manual
9196         * doc/emacs/screen.texi (Mode Line): Mention tooltips shown when
9197         hovering the mouse over the mode line.  Suggested by Eduardo
9198         Mercovich <eduardo@mercovich.net> in emacs-manual-bugs@gnu.org.
9200 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
9202         More fixes in the Emacs manual
9204         * doc/emacs/screen.texi (Mode Line): Fix markup and
9205         cross-references.
9206         (Menu Bar): Correct inaccurate description.
9207         * doc/emacs/macos.texi (Mac OS / GNUstep, Mac / GNUstep Events):
9208         * doc/emacs/frames.texi (Scroll Bars):
9209         * doc/emacs/emacs.texi (Top):
9210         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of "macOS".
9211         * doc/emacs/misc.texi (Invoking emacsclient)
9212         (emacsclient Options): Fix markup of 'emacsclient'.  Suggested by
9213         Michael Albinus <michael.albinus@gmx.de> in
9214         emacs-manual-bugs@gnu.org.
9216 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
9218         Minor copyedits in "Distribution" chapter of the Emacs manual
9220         * doc/emacs/emacs.texi (Distrib): Minor wording changes.
9221         Suggested by oldgaro <oldgaro@protonmail.com> in
9222         emacs-manual-bugs@gnu.org.
9224 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
9226         Minor copyedits in "Entering" chapter of Emacs manual.
9228         * doc/emacs/entering.texi (Entering Emacs): Add a cross-reference
9229         to MS-Windows startup procedures.  Clarify wording.  Suggested by
9230         Francis Wright <f.j.wright@live.co.uk> in emacs-manual-bugs@gnu.org.
9232 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
9234         Minor wording change in the Emacs manual
9236         * doc/emacs/screen.texi (Screen): Minor wording change.  Suggested
9237         by Wesley Ellis <ellisgen@gmail.com> in emacs-manual-bugs@gnu.org.
9239 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
9241         Fix a typo in the Emacs manual
9243         * doc/emacs/custom.texi (Customization Groups): Fix a typo.
9244         Reported by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org> in
9245         emacs-manual-bugs@gnu.org.
9247 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
9249         Improve the "Basic" chapter of the Emacs manual
9251         * doc/emacs/basic.texi (Inserting Text): De-confuse text.
9252         (Position Info): Add a cross-reference to where
9253         display-line-numbers-mode is described.  Reported by Joshua
9254         Branson <jbranso@fastmail.com> in emacs-manual-bugs@gnu.org.
9256 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
9258         Resurrect lost text in lispref
9260         * doc/lispref/files.texi (File Attributes): Resurrect
9261         inadvertently lost text.
9263 2018-01-30  Philipp Stephani  <phst@google.com>
9265         * lisp/emacs-lisp/rx.el (rx): Fix the definition of 'blank'.
9267 2018-01-29  Paul Eggert  <eggert@cs.ucla.edu>
9269         Proofread os.texi and files.texi
9271 2018-01-29  Eli Zaretskii  <eliz@gnu.org>
9273         Minor improvements in the "International" chapter of Emacs manual
9275         * doc/emacs/mule.texi (File Name Coding): Stop enumerating all the
9276         versions of MS-Windows.
9277         (Modifying Fontsets, Unibyte Mode, Bidirectional Editing): Improve
9278         wording.  Reported by Francis Wright <f.j.wright@live.co.uk> in
9279         emacs-manual-bugs@gnu.org.
9281 2018-01-29  Eli Zaretskii  <eliz@gnu.org>
9283         Minor improvement in "Text" chapter of Emacs manual
9285         * doc/emacs/text.texi (Words): Improve wording.  Reported by
9286         Marcin Borkowski <mbork@mbork.pl> in
9287         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00784.html.
9289 2018-01-28  Martin Rudalics  <rudalics@gmx.at>
9291         Fix some issues in the emacs/lispref manuals
9293         * doc/emacs/basic.texi (Continuation Lines):
9294         * doc/emacs/building.texi (GDB User Interface Layout):
9295         * doc/emacs/dired.texi (Misc Dired Features):
9296         * doc/emacs/maintaining.texi (Identifier Search):
9297         * doc/emacs/mark.texi (Using Region):
9298         * doc/emacs/misc.texi (Document View, DocView Conversion):
9299         * doc/emacs/modes.texi (Major Modes):
9300         * doc/emacs/mule.texi (Input Methods, Unibyte Mode):
9301         * doc/emacs/sending.texi (Mail Methods): Replace @code by
9302         @kbd.
9303         * doc/emacs/frames.texi (Text-Only Mouse):
9304         * doc/lispref/maps.texi (Standard Keymaps): Replace @kbd by
9305         @key.
9306         * doc/lispref/compile.texi (Compiler Errors): Write
9307         non-@code{nil} instead of non-nil.
9308         * doc/lispref/debugging.texi (Internals of Debugger):
9309         'backtrace' is not a command.  'debugger-stack-frame-as-list'
9310         is an option.
9311         * doc/lispref/display.texi (Size of Displayed Text):
9312         'window-lines-pixel-dimensions' has a last argument 'left'.
9313         * doc/lispref/display.texi (Attribute Functions):
9314         'set-face-underline' and 'set-face-inverse-video' are
9315         commands.
9316         (Tooltips): 'tooltip-frame-parameters' is an option.
9317         (Bidirectional Display): 'bidi-paragraph-direction' is an
9318         option.
9319         * doc/lispref/frames.texi (Cursor Parameters): 'cursor-type'
9320         is an option.
9321         (Input Focus): Argument FRAME of 'x-focus-frame' is not
9322         optional.
9323         (Child Frames): Both arguments of 'frame-ancestor-p' are
9324         non-optional.  'iconify-child-frame' is an option.
9325         * doc/lispref/os.texi (Killing Emacs):
9326         'kill-emacs-query-functions' is an option.
9327         * doc/lispref/windows.texi (Mouse Window Auto-selection):
9328         'mouse-autoselect-window' is an option.
9330 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
9332         Fix multiple spaces in Emacs manual
9334         * doc/emacs/search.texi (Lax Search): Fix multiple consecutive
9335         spaces in printed manual.
9337 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
9339         * lisp/files.el (save-some-buffers): Doc fix.  (Bug#30215)
9341 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
9343         Adjudicate comments to "International" chapter of Emacs manual
9345         * doc/emacs/mule.texi (International Chars)
9346         (Language Environments, Input Methods, Defining Fontsets)
9347         (Modifying Fontsets): Minor wording changes and typo fixes.
9348         Reported by Francis Wright <f.j.wright@live.co.uk> in
9349         emacs-manual-bugs@gnu.org.
9351 2018-01-28  Noam Postavsky  <npostavs@gmail.com>
9353         Revert "Signal error for symbol names with strange quotes (Bug#2967)"
9355         That commit did not make the corresponding change to printing, thus
9356         breaking the (eq (read (prin1-to-string SYM)) SYM) invariant for those
9357         symbols.  It's too late in the release cycle to change printing
9358         behavior, therefore revert the reader change.
9360         Don't merge to master, the print function will be updated there (see
9361         "Fix round tripping of read->print for symbols with strange quotes").
9363 2018-01-27  Alan Mackenzie  <acm@muc.de>
9365         Allow read-passwd to hide characters inserted by C-y.  (Security fix.)
9367         This fixes bug #30186.  The with-silent-modifications was there to prevent
9368         records of text property manipulations being put into buffer-undo-list.  These
9369         had been causing a significant slowdown in CC Mode with C-_ after a large
9370         C-y.  This CC Mode problem has since been solved by a different workaround.
9372         * lisp/subr.el (remove-yank-excluded-properties): Remove the invocation of
9373         with-silent-modifications around the text property manipulations.
9375 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
9377         * etc/PROBLEMS: Document issues with double-buffering.  (Bug#30088)
9379 2018-01-27  Charles A. Roelli  <charles@aurox.ch>
9381         * lisp/window.el (window-largest-empty-rectangle): Fix grammar.
9383 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
9385         Minor changes in the Emacs manual
9387         * doc/emacs/search.texi (Search Customizations): Minor wording
9388         change.
9389         * doc/emacs/files.texi (Customize Save): Add a cross-reference
9390         for batch mode.
9392 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
9394         Improve the "Files" chapter of the Emacs manual
9396         * doc/emacs/files.texi (File Shadowing): Rearrange text to explain
9397         the notion of shadowing before describing the commands.  Suggested
9398         by Will Korteland <emacs-devel@korte.land> in
9399         emacs-manual-bugs@gnu.org.
9401 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
9403         Improve the "Search" chapter of the Emacs manual
9405         * doc/emacs/search.texi (Regexps, Regexp Backslash): Improve and
9406         clarify wording.
9407         (Search Customizations): Fix a typo.  Reported by Will Korteland
9408         <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
9410 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
9412         * src/indent.c (Findent_to): Doc fix.  (Bug#30260)
9414 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
9416         Improve documentation of 'edebug-defun'
9418         * doc/lispref/edebug.texi (Instrumenting): Document a workaround
9419         for a failure to instrument due to unknown macros.  (Bug#30243)
9420         (Bug#10577)
9422 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
9424         Mention crashes due to Noto Serif Kannada fonts
9426         * etc/PROBLEMS: Mention crashes due to Noto Serif Kannada fonts,
9427         and the respective workarounds.  (Bug#30193)
9429 2018-01-27  Noam Postavsky  <npostavs@gmail.com>
9431         * doc/lispref/searching.texi: Document regexp repetition limit.
9433         * src/syntax.c (char-syntax): Warn about ignoring text properties (Bug#22765).
9435 2018-01-27  Noam Postavsky  <npostavs@gmail.com>
9437         Load mm-util as needed for url-file and url-data (Bug#30258)
9439         * lisp/url/url-file.el (url-file):
9440         * lisp/url/url-misc.el (url-data): Require `mm-util' before calling
9441         `mm-disable-multibyte'.
9442         * test/lisp/url/url-file-resources/file.txt:
9443         * test/lisp/url/url-file-tests.el:
9444         * test/lisp/url/url-misc-tests.el: New tests.
9446 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
9448         Another minor copyedit in the manual's "Scroll Bars"
9450         * doc/emacs/frames.texi (Scroll Bars): Mention that up/down and
9451         left/right buttons may be absent from the toolkit scroll bars.
9452         Reported by Robert Pluim <rpluim@gmail.com> in
9453         emacs-manual-bugs@gnu.org.
9455 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
9457         Minor fix in documentation of 'equal'
9459         * doc/lispref/objects.texi (Equality Predicates): Correct the
9460         conditions for equality of unibyte and multibyte strings.
9461         (Bug#30218)
9463 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
9465         * lisp/dired-x.el (dired-guess-shell-alist-user): Doc fix.  (Bug#30192)
9467 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
9469         Minor rewording in Emacs manual's "Help Mode" node
9471         * doc/emacs/help.texi (Help Mode): Minor rewording of description
9472         of 'help-follow-symbol'.  Suggested by Richard Stallman
9473         <rms@gnu.org> in emacs-manual-bugs@gnu.org.
9475 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
9477         Fixes for Emacs manual in frames.texi
9479         * doc/emacs/frames.texi (Scroll Bars, Mouse Commands)
9480         (Window Dividers): Minor clarifications and spelling/markup
9481         changes.  Suggested by Robert Pluim <rpluim@gmail.com> in
9482         emacs-manual-bugs@gnu.org.
9484 2018-01-24  Glenn Morris  <rgm@gnu.org>
9486         * doc/misc/cl.texi (Efficiency Concerns): Fix 2012-10-27 typo.
9488 2018-01-24  Robert Pluim  <rpluim@gmail.com>
9490         Fix a few issues with latest GTK scaling changes
9492         * src/xfns.c (Fx_display_monitor_attributes_list): Call
9493         gdk_screen_get_monitor_scale_factor only for GTK versions
9494         3.10..3.21.
9495         * src/xterm.c (x_set_offset): Call xg_get_scale for GTK only.
9497 2018-01-24  Robert Pluim  <rpluim@gmail.com>
9499         Use scaled coordinates when calling into GTK
9501         This is part two of a two part fix for the GTK scaling
9502         problems.  See the thread starting at
9503         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
9504         for an explanation of why it has been added to Emacs 26.
9506         * src/gtkutil.c (xg_set_geometry): Scale down the coordinates that we
9507         pass to gtk_window_move and to gtk_window_parse_geometry.
9508         * src/xterm.c (x_set_offset): Likewise.
9510 2018-01-24  Robert Pluim  <rpluim@gmail.com>
9512         Scale monitor dimensions obtained from GTK
9514         This is part one of a two part fix for the GTK scaling
9515         problems.  See the thread starting at
9516         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
9517         for an explanation of why it has been added to Emacs 26.
9519         * src/xfns.c (Fx_display_monitor_attributes_list): Take scaling factor
9520         into account when using GTK to query the monitor dimensions, which
9521         allows frameset-restore to position frames correctly.
9523 2018-01-22  Rasmus  <rasmus@gmx.us>
9525         Update Org to v9.1.6
9527         Please note this is a bugfix release. See etc/ORG-NEWS for details.
9529 2018-01-22  Aaron Jensen  <aaronjensen@gmail.com>
9531         Use text-pixels values only when saving framesets (Bug#30141)
9533         * lisp/frameset.el (frameset-persistent-filter-alist): Specify
9534         that text-pixels values are by default only saved by framesets
9535         so the parameter is not set when restoring (Bug#30141).
9537 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
9539         Minor improvement in section "Pages" of the usere manual
9541         * doc/emacs/text.texi (Pages): Improve wording.  Suggested by Will
9542         Korteland <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
9544 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
9546         Minor improvements in user manual
9548         * doc/emacs/trouble.texi (Emergency Escape, Contributing): Clarify
9549         text.  Suggested by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org>
9550         in emacs-manual-bugs@gnu.org
9552 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
9554         Improve the "Mark" chapter of the user manual
9556         * doc/emacs/mark.texi (Setting Mark, Marking Objects): Improve and
9557         clarify wording.  Suggested by John Cummings <john@rootabega.net>
9558         in emacs-manual-bugs@gnu.org.
9560 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
9562         Improve the "Buffers" chapter of the user manual
9564         * doc/emacs/buffers.texi (Several Buffers): Correct description of
9565         prefix arguments.  Clarify "bury".
9566         (Buffer Menus): Clarify wording.  Reported by John Cummings
9567         <john@rootabega.net> in emacs-manual-bugs@gnu.org.
9569 2018-01-21  tino calancha  <tino.calancha@gmail.com>
9571         * lisp/term.el (term-send-input): Fix text duplication in docstring
9573 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
9575         Improve "Buffers" in the user manual
9577         Suggested by John Cummings <john@rootabega.net> in
9578         emacs-manual-bugs@gnu.org:
9579         * doc/emacs/buffers.texi (Select Buffer): Add cross-references to
9580         "Windows" and "Frames".
9581         (Misc Buffer, Kill Buffer): Use BUFFER consistently in commands
9582         that accept buffer names.
9583         (Select Buffer): Improve description of "M-g M-g".  Improve
9584         wording.
9585         (Misc Buffer, Kill Buffer): Improve wording.
9586         (Kill Buffer): Fix the response required by kill-some-buffers.
9587         Mention customizable options that control what clean-buffer-list
9588         does.
9589         (Several Buffers): More detail about
9590         'Buffer-menu-unmark-all-buffers'.
9592 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
9594         Don't mention 'vc-stay-local' in the user manual
9596         * doc/emacs/vc1-xtra.texi (CVS Options):
9597         * doc/emacs/maintaining.texi (VC Directory Buffer): Remove
9598         references to 'vc-stay-local', which no longer exists.
9599         (Bug#30138)
9601 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
9603         Fix a typo in calendar.texi
9605         * doc/emacs/calendar.texi (Writing Calendar Files): Capitalize
9606         "Filofax".  Reported by Will Korteland <emacs-devel@korte.land>
9607         in emacs-manual-bugs@gnu.org.
9609 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
9611         Minor improvement in wording of the Emacs manual
9613         * doc/emacs/killing.texi (CUA Bindings): Improve wording.
9614         Suggested by Will Korteland <emacs-devel@korte.land> in
9615         emacs-manual-bugs@gnu.org.
9617 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
9619         Revert "Fix tempfile creation when byte compiling"
9621         This reverts commit 4fd446e9f65e5531b18d4a0c5e08a6eeabc292d8:
9622         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
9623         Put tempfile next to the target file, as was the original intent.
9625 2018-01-19  Paul Eggert  <eggert@cs.ucla.edu>
9627         Fix tempfile creation when byte compiling
9629         This improves on the recent fix for master failing to build
9630         on FreeBSD.  Suggested by Stefan Monnier in:
9631         https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
9632         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
9633         Put tempfile next to the target file, as was the original intent.
9635 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
9637         Improve the Emacs manual as suggested in emacs-manual-bugs
9639         * doc/emacs/killing.texi (Deletion and Killing): Add
9640         cross-reference to "Kill Ring".
9641         * doc/emacs/help.texi (Help Mode, Package Keywords): Improve
9642         wording.  Suggested by Will Korteland <emacs-devel@korte.land> in
9643         emacs-manual-bugs@gnu.org.
9645 2018-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
9647         * lisp/emacs-lisp/bytecomp.el: Tweak last change
9649         (byte-compile-file): Move comment closer to the code it describes.
9651 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
9653         Unbreak building Emacs on FreeBSD
9655         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't create
9656         the temporary file under temporary-file-directory if the file
9657         being compiled is specified by an absolute file name.  This avoids
9658         problems with ACL copying from temporary-file-directory on
9659         FreeBSD.  For the details, see
9660         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00513.html.
9662 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
9664         Don't unnecessarily use non-ASCII characters in C sources
9666         * src/xwidget.c (webkit_javascript_finished_cb):
9667         * src/gtkutil.c (xg_check_special_colors):
9668         * src/emacs-module.c (module_make_string):
9669         * src/alloc.c (SET_STACK_TOP_ADDRESS): Don't use non-ASCII quote
9670         characters.
9672 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
9674         Portability fixes in emacs-module-tests
9676         * test/Makefile.in (abs_top_srcdir): Add variable, needed by
9677         CPPFLAGS.
9678         * test/data/emacs-module/mod-test.c: Include <limits.h>.
9679         (pT, pZ, T_TYPE, Z_TYPE): Compatibility macros, for systems that
9680         don't support %td and %zu format specs.
9681         (emacs_module_init): Use compatibility macros to make the error
9682         messages print meaningful values (and avoid compiler warnings).
9684 2018-01-19  Noam Postavsky  <npostavs@gmail.com>
9686         Add tests for term.el
9688         * lisp/term.el (term-mode): Add `name' attribute to
9689         window-adjust-process-window-size-function value, so that it can be
9690         removed easily by tests.
9691         * test/lisp/term-tests.el: New tests.
9693 2018-01-19  Callum Cameron  <cjcameron7@gmail.com>  (tiny change)
9695         Handle split AnSiT messages for term.el (Bug#17231)
9697         Check to see if there is an incomplete command at the end of
9698         term-emulate-terminal's input string, and, if so, save it so the whole
9699         command can be processed when the next string arrives.
9700         * lisp/term.el (term-partial-ansi-terminal-message): New variable.
9701         (term-mode): Make it buffer local.
9702         (term-handle-ansi-terminal-messages): Prepend it to the received
9703         message, and set it if a partial message was received.
9706         Do not merge to master, it will be solved differently there, see
9707         "Switch term.el to lexical binding, and clean up code a bit".
9709 2018-01-19  Glenn Morris  <rgm@gnu.org>
9711         * configure.ac (emacs_config_features): Add threads.
9713 2018-01-18  Noam Postavsky  <npostavs@gmail.com>
9715         Handle case-insensitive filenames for load-path shadows (Bug#5845)
9717         * lisp/emacs-lisp/shadow.el (load-path-shadows-find): Check for
9718         shadowing with case-insensitive matching for files of case-insensitive
9719         directories (as determined by `file-name-case-insensitive-p').
9720         * test/lisp/emacs-lisp/shadow-tests.el: New test.
9721         * test/lisp/emacs-lisp/shadow-resources/p1/foo.el:
9722         * test/lisp/emacs-lisp/shadow-resources/p2/FOO.el: New test files.
9724 2018-01-18  Alan Mackenzie  <acm@muc.de>
9726         CC Mode: stop distinguishing brace blocks from defun blocks by content.
9728         Don't merge to master; this is a quick fix for the emacs-26 branch.  This is
9729         essentially a reversion of the patch from 2017-11-10 which attempted to handle
9730         C99's compound literals.
9732         The bug here was triggered when a defun block contained a declaration ending
9733         in a comma, yet without a semicolon.
9735         * lisp/progmodes/cc-engine.el (c-guess-basic-syntax): At the CASE 9 test,
9736         remove from the `or' form the test of a block's contents.
9738 2018-01-17  Philipp Stephani  <phst@google.com>
9740         Use recommended long options syntax in man page
9742         * doc/man/emacs.1.in: Specify equals sign for long options, as
9743         recommended in the manual.
9745 2018-01-17  Glenn Morris  <rgm@gnu.org>
9747         An overdue update of GNUstep emacs.tiff
9749         * nextstep/GNUstep/Emacs.base/Resources/emacs.tiff:
9750         Update to the Emacs 25 icon.
9751         Converted from hicolor/scalable/apps/emacs.svg using Gimp.
9752         * nextstep/GNUstep/Emacs.base/Resources/README: Update.
9754 2018-01-17  Glenn Morris  <rgm@gnu.org>
9756         Add some test skip conditions
9758         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9726)
9759         (vc-bzr-test-bug9781): Skip if bzr is faulty.
9760         * test/src/thread-tests.el: Skip if not compiled with threads.
9762 2018-01-17  Lars Ingebrigtsen  <larsi@gnus.org>
9764         Add documentation to ecomplete.el
9766         * lisp/ecomplete.el: Add doc strings and document the format.
9768 2018-01-17  Glenn Morris  <rgm@gnu.org>
9770         * admin/authors.el (authors-aliases): Tighten more entries.
9772 2018-01-17  Glenn Morris  <rgm@gnu.org>
9774         Small startup fix for current-load-list
9776         * lisp/startup.el (command-line):
9777         Avoid current-load-list being non-nil after startup ends.
9779 2018-01-17  Glenn Morris  <rgm@gnu.org>
9781         authors-aliases is based on regexps, not literals
9783         * admin/authors.el (authors-aliases): Replace overly-broad entries.
9785 2018-01-15  Charles A. Roelli  <charles@aurox.ch>
9787         Remove incorrect documentation in comint.el
9789         * lisp/comint.el (comint-interrupt-subjob, comint-kill-subjob)
9790         (comint-quit-subjob, comint-stop-subjob): Remove incorrect
9791         documentation.  (Bug#30079)
9793 2018-01-15  Glenn Morris  <rgm@gnu.org>
9795         An overdue update of src/emacs-icon.h
9797         * src/emacs-icon.h: Update to the Emacs 25 icon.  (Bug#30047)
9798         Converted from hicolor/scalable/apps/emacs.svg using Gimp.
9800 2018-01-14  Eli Zaretskii  <eliz@gnu.org>
9802         Minor copyedit in ELisp manual
9804         * doc/lispref/variables.texi (File Local Variables): Improve
9805         wording of last change.
9807 2018-01-14  Shuguang Sun  <shuguang@gmail.com>
9809         Fix Bug#29149 in dired-aux.el
9811         * lisp/dired-aux.el (dired-shell-stuff-it): Handle remote
9812         commands on w32 properly.  (Bug#29149)
9814 2018-01-14  Michael Albinus  <michael.albinus@gmx.de>
9816         Fix Bug#29149 in shell.el
9818         * lisp/shell.el (shell): Change order of `file-local-name' and
9819         `expand-file-name' calls.  Otherwise, the local file name
9820         would be extended by a drive letter, even when it is a remote
9821         file, seen from w32.  (Bug#29149)
9823 2018-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>
9825         * doc/lispref/variables.texi (File Local Variables): Fix last change
9827 2018-01-13  Nicolas Petton  <nicolas@petton.fr>
9829         * ChangeLog.3: Update
9831         Update etc/AUTHORS
9833 2018-01-13  Nicolas Petton  <nicolas@petton.fr>
9835         Fix an entry in authors-aliases
9837         * admin/authors.el (authors-aliases): Replace regexp from "Max", which
9838         is too broad, to an email address ("mu@magi.net.ru").
9840 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
9842         Mention trace.el facilities in the ELisp manual
9844         * doc/lispref/debugging.texi (Debugging): Mention the trace.el
9845         library.
9847 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
9849         Improve documentation of safe values of variables
9851         * doc/lispref/variables.texi (File Local Variables): Mention the
9852         autoload cookie as a means of defining safe values for variables.
9853         See http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00261.html
9854         for the details.
9855         * doc/lispref/compile.texi (Compiler Errors): Document
9856         'byte-compile-error-on-warn'.
9858 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
9860         Improve the Emacs manual's "Misc" node
9862         * doc/emacs/misc.texi (Gnus): A more descriptive section name.
9863         (Invoking emacsclient): Mention how to avoid errors when there's
9864         no Emacs server.
9865         (EWW, Embedded WebKit Widgets): Now subsections under
9866         "Hyperlinking and Web Navigation Features".
9867         (Amusements): Add "games" to the section name.  Suggested by Alex
9868         Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
9870         * doc/emacs/emacs.texi (Top): Adjust the top-level menus to the
9871         above changes.
9873         * doc/lispref/os.texi (Security Considerations): Fix typos.
9875 2018-01-13  Martin Rudalics  <rudalics@gmx.at>
9877         In nsterm.m use FRAME_NS_P instead of FRAME_X_P (Bug#30019)
9879         * src/nsterm.m (x_set_parent_frame): Call FRAME_NS_P instead
9880         of FRAME_X_P (Bug#30019).
9882 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
9884         Bump Emacs version to 26.0.91
9886         * README:
9887         * configure.ac:
9888         * msdos/sed2v2.inp:
9889         * nt/README.W32: Bump Emacs version.
9891 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
9893         * ChangeLog.3: Update
9895 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
9897         Update authors
9899         * admin/authors.el (authors-aliases, authors-valid-file-names): Additions.
9900         * etc/AUTHORS: Update AUTHORS file.
9902 2018-01-12  Katsumi Yamaoka  <yamaoka@jpl.org>
9904         * lisp/gnus/message.el (message-do-auto-fill): Prevent do-auto-fill from
9905         adding extra citation mark (bug#29767, but it is a different bug).
9907 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
9909         Improve documentation of etags
9911         * doc/emacs/maintaining.texi (Tag Syntax, Create Tags Table):
9912         Improve documentation of etags options and of source language
9913         detection.
9915 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
9917         Teach etags new interpreters for some languages
9919         * lib-src/etags.c (Erlang_interpreters, Lua_interpreters)
9920         (Prolog_interpreters, Python_interpreters, Ruby_interpreters): New
9921         static variables.
9922         (lang_names): Use them to set interpreters for Erlang, Lua,
9923         Prolog, Python, and Ruby.
9924         (find_entries): Support "/usr/bin/env FOO" form of specifying an
9925         interpreter.
9927         * test/manual/etags/perl-src/htlmify-cystic: Modify the has-bang
9928         line to test the "env FOO" interpreter spec.  (Bug#30075)
9929         * test/manual/etags/ETAGS.good_1:
9930         * test/manual/etags/ETAGS.good_2:
9931         * test/manual/etags/ETAGS.good_3:
9932         * test/manual/etags/ETAGS.good_4:
9933         * test/manual/etags/ETAGS.good_5:
9934         * test/manual/etags/ETAGS.good_6: Adapt to latest changes in test
9935         files.
9937 2018-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
9939         * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-string' prop.
9941         * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#29767
9943 2018-01-10  Charles A. Roelli  <charles@aurox.ch>
9945         Improve documentation of fill-separate-heterogeneous-words-with-space
9947         * lisp/textmodes/fill.el
9948         (fill-separate-heterogeneous-words-with-space): Fix grammar.
9950 2018-01-10  Eli Zaretskii  <eliz@gnu.org>
9952         Fix documentation of some x-* functions
9954         * lisp/term/pc-win.el (x-display-pixel-width)
9955         (x-display-pixel-height, x-display-planes)
9956         (x-display-color-cells, x-server-max-request-size)
9957         (x-server-vendor, x-server-version, x-display-screens)
9958         (x-display-mm-height, x-display-mm-width)
9959         (x-display-backing-store, x-display-visual-class): Provide doc
9960         strings, so that 'makedoc' produces non-empty documentation in
9961         etc/DOC for these functions.  (Bug#30068)
9963 2018-01-10  Philipp Stephani  <phst@google.com>
9965         Inherit query-on-exit flag to stderr process (Bug#30031)
9967         * src/process.c (Fmake_process): Have the pipe process honor the
9968         parent's query-on-exit flag.
9970         * test/src/process-tests.el (make-process/noquery-stderr): New test.
9972 2018-01-10  Michael Albinus  <michael.albinus@gmx.de>
9974         Fix Bug#30057
9976         * test/lisp/filenotify-tests.el (file-notify--test-tmpdir): New defvar.
9977         (file-notify--test-cleanup, file-notify--test-make-temp-name)
9978         (file-notify-test01-add-watch, file-notify-test03-events)
9979         (file-notify-test05-file-validity)
9980         (file-notify-test09-watched-file-in-watched-dir)
9981         (file-notify-test10-sufficient-resources): Use it.  (Bug#30057)
9983 2018-01-10  Glenn Morris  <rgm@gnu.org>
9985         Tag some unstable tests, and skip by default (bug#24503)
9987         * Makefile.in (check-all): New phony target.
9988         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE):
9989         Also skip unstable tests.
9990         (SELECTOR_ALL): New variable.
9991         (check-all): New phony target.
9992         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
9993         (eieio-test-method-order-list-6):
9994         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
9995         (eieio-test-37-obsolete-name-in-constructor):
9996         Mark as unstable rather than skipping on hydra.nixos.org.
9998 2018-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10000         Merge from Gnulib
10002         This incorporates:
10003         2018-01-05 maint: Add encoding marker for Emacs to non-ASCII sources
10004         2018-01-04 update-copyright: Handle use of ©
10005         2018-01-04 pthread_sigmask: Avoid compilation error on mingw
10006         2018-01-02 stat-time: silence -Wunused-parameter regression
10007         * build-aux/config.guess, build-aux/config.sub:
10008         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/gnulib.mk.in:
10009         * lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c:
10010         * lib/sha256.h, lib/sha512.c, lib/sha512.h, lib/signal.in.h:
10011         * lib/stat-time.h: Copy from Gnulib, or regenerate.
10013 2018-01-09  Glenn Morris  <rgm@gnu.org>
10015         * lisp/epg.el (epg-start-sign): Replace obsolete functions.
10017 2018-01-09  Glenn Morris  <rgm@gnu.org>
10019         Small fix for erc-logging-enabled
10021         * lisp/erc/erc-log.el (erc-logging-enabled):
10022         Respect buffer-locality of erc-enable-logging variable.
10024 2018-01-09  Glenn Morris  <rgm@gnu.org>
10026         Quieten semantic normal usage
10028         * lisp/cedet/semantic/lex.el (semantic-flex): Mark obsolete at
10029         compile time in the normal way, not at run-time.  (Bug#30035)
10031 2018-01-08  Eli Zaretskii  <eliz@gnu.org>
10033         Avoid irrelevant hyperlink in doc string of 'epa-pinentry-mode'
10035         * lisp/epa.el (epa-pinentry-mode): Doc fix.  (Bug#30025)
10037 2018-01-08  Michael Albinus  <michael.albinus@gmx.de>
10039         * doc/misc/tramp.texi (Remote processes): Mention gdb restrictions with I/O.
10041 2018-01-08  Noam Postavsky  <npostavs@gmail.com>
10043         Query background for gnome terminal version 3.22 (Bug#29716)
10045         * lisp/term/xterm.el (xterm--version-handler): Use
10046         xterm--report-background-handler for terminals reporting minor version
10047         4000 and above.
10049 2018-01-07  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
10051         Make pixel-wise scrolling less laggy
10053         * lisp/pixel-scroll.el (pixel-dead-time, pixel-last-scroll-time):
10054         New variables.
10055         (pixel-scroll-up, pixel-scroll-down): Invoke 'scroll-up' or
10056         'scroll-down' when called within 'pixel-dead-time'.  (Bug#29737)
10058 2018-01-07  Alan Third  <alan@idiocy.org>
10060         Fix child frame placement issues (bug#29953)
10062         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS):
10063         (NS_PARENT_WINDOW_TOP_POS): Get the parent frame through the frame
10064         struct as invisible child windows are detached from their parents in
10065         NS.
10066         * src/nsterm.m (x_set_offset): Offscreen frames have `nil' screen
10067         value, so handle that gracefully.  Child frames with negative left and
10068         top should be positioned relative to the bottom right of the parent
10069         frame.
10071 2018-01-06  Alan Mackenzie  <acm@muc.de>
10073         Describe the precise interaction of complex primitives with the change hooks
10075         * doc/lispref/text.texi (Change Hooks): Document that most buffer changing
10076         primitives call before- and after-change-functions in balanced pairs, but that
10077         some complex primitives call b-c-f once, and a-c-f zero, one, or several
10078         times.
10080 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
10082         Fix valgrind report in call-interactively
10084         * src/callint.c (Fcall_interactively): Don't try to access more
10085         bytes than are available in the interactive spec.  (Bug#30004)
10087 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
10089         * src/editfns.c (Fsave_excursion): Doc fix.  (Bug#30001)
10091 2018-01-06  Alan Mackenzie  <acm@muc.de>
10093         Fix mark-defun when there's no spaces between successive defuns.
10095         The problem was a parse-partial-sexp call which tried to use the STOPBEFORE
10096         argument to detect non-syntactic WS.  This fails on a "}", which does not
10097         begin a sexp.
10099         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p): Enhance to
10100         handle BOL being in a string.
10101         (beginning-of-defun-comments): Call the above function in place of the call
10102         to parse-partial-sexp.
10104 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
10106         Fix Dired display and operations on file names with raw bytes
10108         * src/coding.c (decode_coding): When flushing remaining raw bytes
10109         from multibyte text, copy 2-byte forms of eight-bit-*
10110         characters as single characters, not as 2 raw bytes.  (Bug#29189)
10112 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
10114         Improve documentation of 'gdb-many-windows'
10116         * doc/emacs/building.texi (GDB User Interface Layout): Add advice
10117         for using a separate frame for 'gdb-many-windows'.
10119 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
10121         Fix failures in smerge-mode on MS-Windows
10123         * lisp/vc/smerge-mode.el (smerge--refine-chopup-region): Use
10124         utf-8-emacs-unix, not emacs-internal, to make the forced EOL
10125         convention explicit.
10126         (smerge-refine-regions): Use utf-8-emacs instead of
10127         emacs-internal, to allow decoding of non-Unix EOL conventions.
10128         (Bug#29916)
10130 2018-01-04  Stephen Leake  <stephen_leake@stephe-leake.org>
10132         Fix description of 'struct' generic function specializer
10133         Backport:
10135         * doc/lispref/functions.texi (Generic Functions): Fix description of
10136         'struct' specializer; it must be the named struct or a child, not a
10137         parent.
10139         (cherry picked from commit b6add8c7cfc6d36f9dd8ad99be06bd8ab41cc6f8)
10141 2018-01-04  Charles A. Roelli  <charles@aurox.ch>
10143         * etc/DEBUG (Getting control to the debugger): Fix grammar.
10145 2018-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
10147         * lisp/vc/vc.el (vc-region-history): log-view-vc-fileset holds a list!
10149 2018-01-03  Noam Postavsky  <npostavs@gmail.com>
10151         Don't bind dframe events on load (Bug#29599)
10153         * lisp/dframe.el (dframe-setup-hook): New hook.
10154         (dframe-set-special-events): New function, containing previous
10155         top-level key binding code.
10156         (top-level): Add it to dframe-setup-hook.
10157         (dframe-frame-mode): Run the hook.
10159 2018-01-02  Eli Zaretskii  <eliz@gnu.org>
10161         * lisp/textmodes/picture.el (picture-mode-exit): Doc fix.  (Bug#29949)
10163         * lisp/textmodes/picture.el (picture-open-line): Doc fix.  (Bug#29948)
10165 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
10167         Fix description of 'emacs-internal'
10169         * doc/lispref/nonascii.texi (Coding System Basics): Correct
10170         inaccuracy in description of 'emacs-internal'.  (Bug#29916)
10172 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
10174         Update PROBLEMS with selection-related issues
10176         * etc/PROBLEMS: Update the entry about large selections and
10177         klipper.  (Bug#29661)
10179 2018-01-01  Ross Donaldson  <gastove@gmail.com>  (tiny change)
10181         New customization variable for python-mode indentation (Bug#28475)
10183         * lisp/progmodes/python.el (python-indent-def-block-scale): New variable.
10184         (python-indent--calculate-indentation): Let it control how many indent
10185         levels are inserted for multi-line function signatures.
10187 2018-01-01  Alan Third  <alan@idiocy.org>
10189         Fix menu keyboard shortcuts on macOS (Bug#29595)
10191         * src/nsmenu.m (addItemWithWidgetValue)[NS_IMPL_COCOA]: It looks like
10192         macOS 10.13 no longer ignores long modifier strings, so explicitly use
10193         an empty string.
10195 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
10197         Fix copyright years by hand
10199         These are dates that admin/update-copyright did not update, or
10200         updated incorrectly.
10202 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
10204         Update copyright year to 2018
10206         Run admin/update-copyright.
10208 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
10210         Merge from Gnulib
10212         This incorporates:
10213         2018-01-01 maint: Run 'make update-copyright'
10214         2017-12-29 Add cross-compilation results for GNU/Hurd.
10215         2017-12-12 explicit_bzero: port to macOS + Clang 9.0.0
10217 2017-12-31  Gemini Lasswell  <gazally@runbox.com>
10219         Don't add empty keyboard macro to macro ring (Bug#24992)
10221         * lisp/kmacro.el (kmacro-end-call-mouse): Don't save a newly defined
10222         macro if it is empty.
10224         * test/lisp/kmacro-tests.el (kmacro-tests-end-and-call-macro-mouse):
10225         Remove expected failure tag.
10227 2017-12-31  Eli Zaretskii  <eliz@gnu.org>
10229         Allow customization of decoding of "man" command
10231         * lisp/man.el (Man-coding-system): New defcustom.
10232         (Man-start-calling): Use it, and also pay attention to user
10233         overriding coding-system-for-read.  (Bug#29872)
10235 2017-12-31  Daiki Ueno  <ueno@gnu.org>
10237         * etc/NEWS: Add security consideration note on passphrase input
10239 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
10241         Fix subtle problem with scroll-down when scroll-margin is nonzero
10243         * src/window.c (window_scroll_pixel_based): Account for
10244         scroll-margin when scrolling down, i.e. moving window-start
10245         towards the beginning of the buffer.  Reported by zhang cc
10246         <ccsmile2008@outlook.com> in
10247         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00894.html.
10249 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
10251         Fix problems with indexing in User manual
10253         * doc/emacs/basic.texi (Continuation Lines, Inserting Text)
10254         (Moving Point):
10255         * doc/emacs/help.texi (Help Echo, Package Keywords, Help Mode):
10256         * doc/emacs/trouble.texi (Quitting):
10257         * doc/emacs/mark.texi (Setting Mark, Disabled Transient Mark):
10258         * doc/emacs/custom.texi (Modifier Keys, Init Examples)
10259         (Creating Custom Themes):
10260         * doc/emacs/programs.texi (Program Modes, Expressions, Hideshow)
10261         (Basic Indent, Info Lookup, Symbol Completion):
10262         * doc/emacs/screen.texi (Echo Area):
10263         * doc/emacs/xresources.texi (Table of Resources, GTK Names in Emacs):
10264         * doc/emacs/display.texi (Line Truncation, Cursor Display):
10265         * doc/emacs/files.texi (File Names, Backup, File Archives):
10266         * doc/emacs/dired.texi (Operating on Files, Dired Enter):
10267         * doc/emacs/commands.texi (User Input):
10268         * doc/emacs/mule.texi (International, Unibyte Mode)
10269         (International Chars):
10270         * doc/emacs/vc1-xtra.texi (RCS and SCCS, Version Headers)
10271         (CVS Options):
10272         * doc/emacs/modes.texi (Major Modes, Minor Modes):
10273         * doc/emacs/indent.texi (Just Spaces):
10274         * doc/emacs/frames.texi (Mouse Avoidance, Mode Line Mouse)
10275         (Frame Commands):
10276         * doc/emacs/cmdargs.texi (Initial Options):
10277         * doc/emacs/abbrevs.texi (Dabbrev Customization):
10278         * doc/emacs/mini.texi (Completion Example, Completion Commands):
10279         * doc/emacs/calendar.texi (Writing Calendar Files, Calendar Unit Motion)
10280         (From Other Calendar):
10281         * doc/emacs/regs.texi (Text Registers, Bookmarks):
10282         * doc/emacs/buffers.texi (Several Buffers, Select Buffer):
10283         * doc/emacs/maintaining.texi (Xref Commands):
10284         * doc/emacs/windows.texi (Pop Up Window):
10285         * doc/emacs/text.texi (Text, Org Mode):
10286         * doc/emacs/killing.texi (Other Kill Commands):
10287         * doc/emacs/misc.texi (Document View, Gnus Group Buffer)
10288         (Gnus Summary Buffer, Shell Mode):
10289         * doc/emacs/cal-xtra.texi (Sexp Diary Entries): Remove or reword
10290         redundant identical index entries.
10291         * doc/emacs/custom.texi (Mouse Buttons)
10292         * doc/emacs/files.texi (Reverting): Fix hyphenation.
10293         * doc/emacs/emacs.texi (Top): Improve wording of Index menu items.
10294         * doc/emacs/files.texi (File Conveniences):
10295         * doc/emacs/programs.texi (MixedCase Words): Make entries that
10296         belong to Concept Index be indexed with @cindex.  (Bug#29888)
10298 2017-12-29  Alan Mackenzie  <acm@muc.de>
10300         * lisp/help.el (describe-key): Only (copy-sequence elt) when elt is a list.
10302 2017-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
10304         * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
10306         Don't mess with the lock file when inhibit_modification_hooks is set,
10307         just like we do in prepare_to_modify_buffer_1.
10309 2017-12-28  Eli Zaretskii  <eliz@gnu.org>
10311         Improve documentation of 'inhibit-modification-hooks' and friends
10313         * src/buffer.c (Fset_buffer_modified_p)
10314         (Frestore_buffer_modified_p): Doc fixes.
10315         * src/insdel.c (syms_of_insdel) <inhibit-modification-hooks>:
10316         Document in the doc string that this variable also inhibits file
10317         locks and active region handling.  (Bug#29846)
10319 2017-12-28  David Pathakjee  <dpathakjee@gmail.com>  (tiny change)
10321         Fix doc string of 'enable-recursive-minibuffers'
10323         * src/minibuf.c (syms_of_minibuf) <enable-recursive-minibuffers>:
10324         Doc fix.  (Bug#29873)
10326 2017-12-27  Eli Zaretskii  <eliz@gnu.org>
10328         Fix documentation of delsel and of killing text
10330         * doc/emacs/killing.texi (Appending Kills): Make sure the text
10331         with 2 spaces is not broken between 2 lines.
10332         * doc/emacs/mark.texi (Using Region): Remove the sentence about
10333         delsel mode that describes behavior which exists even without
10334         delsel mode turned on.  Suggested by Petteri Hintsanen
10335         <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
10337         * lisp/delsel.el (delete-selection-mode): Doc fix.
10339 2017-12-27  Glenn Morris  <rgm@gnu.org>
10341         * doc/lispref/strings.texi (Case Conversion):
10342         Use a TeX font that support ligatures.
10344 2017-12-27  Charles A. Roelli  <charles@aurox.ch>
10346         * doc/misc/speedbar.texi (Top): Fix grammar.
10348         * lisp/subr.el (with-silent-modifications): Doc fixes.
10350 2017-12-26  Eli Zaretskii  <eliz@gnu.org>
10352         Fix curved quotes in printed manual
10354         * doc/emacs/text.texi (Quotation Marks): Fix curved quote
10355         characters in the printed version of the manual.
10357 2017-12-25  Paul Eggert  <eggert@cs.ucla.edu>
10359         Say that "gnus-cloud" is a parody name
10361 2017-12-25  Eli Zaretskii  <eliz@gnu.org>
10363         More improvements for text.texi
10365         * doc/emacs/text.texi (Outline Motion): Avoid unneeded
10366         repetition.  Suggested by Petteri Hintsanen <petterih@iki.fi> in
10367         emacs-manual-bugs@gnu.org.
10369 2017-12-24  Eli Zaretskii  <eliz@gnu.org>
10371         Adjudicate review comments for the "Text" chapter of user manual
10373         * doc/emacs/text.texi (Text): Rearrange text for clarity.  Add
10374         cross-reference to the Org manual.  Make the cross-reference to
10375         Outline Mode appear in online manuals as well (the conditional was
10376         a forgotten remnant from time immemoriam).
10377         (Paragraphs): Add a note that 'paragraph-start' and
10378         'paragraph-separate' should not be anchored.
10379         (Auto Fill): Remove redundant text.  Suggested by Petteri
10380         Hintsanen <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
10382 2017-12-24  Andreas Schwab  <schwab@linux-m68k.org>
10384         * lisp/url/url-http.el
10385         (url-http-wait-for-headers-change-function): Change message to
10386         url-http-debug.
10388 2017-12-24  Alan Mackenzie  <acm@muc.de>
10390         In C-h k <mouse-n>, alert user to existence of any matching down-mouse-event
10392         , and instruct her to hold the mouse button to display its documentation.
10394         * lisp/help.el (help-downify-mouse-event-type): New function.
10395         (help-read-key-sequence, describe-key): handle double-click-time being nil or
10396         t.
10397         (describe-key): Print out instructions for displaying documentation of
10398         matching mouse down key sequence command when such exists.
10400 2017-12-23  Andreas Schwab  <schwab@linux-m68k.org>
10402         * net/eww.el (eww): Handle URLs without host part.
10404 2017-12-23  Alan Mackenzie  <acm@muc.de>
10406         Make C-h c/k S-mouse-1 display message for mouse-appearance-menu, etc.
10408         Currently, C-h c/k for S-mouse-1 reports that S-mouse-1 is unbound, ignoring
10409         that S-down-mouse-1 is bound.  We fix this by reporting on the "latest" mouse
10410         event of a sequence which is bound.
10412         * lisp/help.el (help-read-key-sequence): Save all encountered mouse events in
10413         a list.  Return the latest one which has a binding.
10415 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
10417         Avoid crashes when ':eval' deletes our frame
10419         * src/xdisp.c (display_mode_element): Signal an error if
10420         ':eval' somehow deletes the frame whose window we are
10421         redisplaying. (Bug#29726)
10423 2017-12-23  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
10425         Fix scrolling up in pixel-scroll.el
10427         * lisp/pixel-scroll.el (pixel-scroll-up): Do not try to move cursor
10428         down when EOB is shown at the top.  This function is reverted to
10429         commit 1bda71ec3b11eeb4d06c3da094a3cb21bac18d5c. (bug#29737)
10431 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
10433         Fix problems with ligatures in PDF version of ELisp manual
10435         * doc/lispref/strings.texi (Case Conversion): Avoid problems with
10436         ligatures in printed versions of the manual.  (Bug#29818)
10438 2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
10440         (elisp-flymake-byte-compile): Handle killed buffer in sentinel
10442         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
10443         Don't burp if the source-buffer has been killed.
10445 2017-12-22  Glenn Morris  <rgm@gnu.org>
10447         Avoid some overfull lines in PDF lispref
10449         * doc/lispref/commands.texi (Reading One Event):
10450         * doc/lispref/display.texi (SVG Images):
10451         * doc/lispref/frames.texi (Size Parameters):
10452         * doc/lispref/syntax.texi (Categories):
10453         * doc/lispref/windows.texi (Frame Layouts with Side Windows):
10454         Avoid overfull lines.
10456 2017-12-22  Glenn Morris  <rgm@gnu.org>
10458         Avoid some overfull lines in PDF manual
10460         * doc/emacs/display.texi (Display Custom):
10461         * doc/emacs/search.texi (Other Repeating Search):
10462         * doc/emacs/text.texi (Quotation Marks): Avoid overfull lines.
10464 2017-12-22  Glenn Morris  <rgm@gnu.org>
10466         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
10467         Fix ref.
10469 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
10471         * lisp/emacs-lisp/inline.el (define-inline): Add a doc string.
10473 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
10475         Fix doc string of 'footnote-style-alist'
10477         * lisp/mail/footnote.el (footnote-style-alist): Remove a reference
10478         to non-existing files from doc string.  (Bug#29759)
10480 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
10482         Improve documentation of selecting windows
10484         * doc/lispref/windows.texi (Basic Windows, Selecting Windows):
10485         Clarify what selecting a window means for keyboard input, and that
10486         input focus may need to be considered when selecting windows on
10487         other frames.  See
10488         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00372.html
10489         for more details.
10491 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
10493         Improve documentation of records
10495         * doc/lispref/Makefile.in (srcs): Add the forgotten records.texi.
10496         * doc/lispref/records.texi (Records): Recommend that record type
10497         names use package-naming conventions.
10499         * etc/NEWS: Add the naming convention recommendation for record
10500         types.
10502 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
10504         * etc/NEWS: Mention the removal of pinentry.el.  (Bug#27445)
10506 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
10508         Fix interactive spec of 'semantic-ia-show-variants'
10510         * lisp/cedet/semantic/ia.el (semantic-ia-show-variants): Fix the
10511         interactive spec to match the function's expectations.  (Bug#29770)
10513 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
10515         Fix documentation of 'mouse-drag-and-drop-region' and friends
10517         * doc/emacs/frames.texi (Drag and Drop): Index
10518         'mouse-drag-and-drop-region-cut-when-buffers-differ',
10519         'mouse-drag-and-drop-region-show-tooltip', and
10520         'mouse-drag-and-drop-region-show-cursor'.
10522         * etc/NEWS: Fix the format of the related entries.
10524 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
10526         Improve detection of speller version in ispell.el
10528         * lisp/textmodes/ispell.el (ispell-check-version): Accept more
10529         general forms of version numbers for Aspell, Hunspell, and
10530         Enchant, to include various beta and prereleases.  (Bug#29801)
10532 2017-12-22  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
10534         Document 'mouse-drag-and-drop-region' options and mention them in NEWS
10536         * doc/emacs/frames.texi (Drag and Drop):
10537         * etc/NEWS (times): Document options for
10538         'mouse-drag-and-drop-region' and mention them in NEWS.
10540 2017-12-22  Martin Rudalics  <rudalics@gmx.at>
10542         Fix uses of 'nil' and 'non-nil' in manuals and a few more minor issues
10544         * doc/emacs/building.texi (Grep Searching): Fix doc of
10545         'grep-save-buffers'.
10546         (Drag and Drop): Reorder paragraphs.  Fix doc of
10547         'mouse-drag-and-drop-region'.
10548         * doc/emacs/frames.texi (Word and Line Mouse):
10549         * doc/emacs/search.texi (Other Repeating Search):
10550         * doc/lispref/compile.texi (Compilation Functions):
10551         * doc/lispref/files.texi (Directory Names):
10552         * doc/lispref/functions.texi (Advising Named Functions):
10553         * doc/lispref/keymaps.texi (Controlling Active Maps):
10554         * doc/lispref/lists.texi (Association Lists):
10555         * doc/lispref/windows.texi (Quitting Windows): Fix uses of
10556         'non-nil' and 'nil'.
10558 2017-12-21  Philipp Stephani  <phst@google.com>
10560         Document that mode commands should be idempotent.
10562         * doc/lispref/modes.texi (Major Mode Conventions, Minor Mode
10563         Conventions): Document that the mode commands should be idempotent.
10565 2017-12-21  Alan Mackenzie  <acm@muc.de>
10567         Fontify a CPP construct correctly when a comment follows without spaces
10569         Do this by removing a broken optimization in the state cache which put
10570         category text properties on a character between the end of the CPP construct
10571         and the beginning of the comment.  This can't work when there's no such
10572         character.
10574         * lisp/progmodes/cc-defs.el (c-cpp-delimiter, c-set-cpp-delimiters)
10575         (c-clear-cpp-delimiters, c-comment-out-cpps, c-with-cpps-commented-out)
10576         (c-with-all-but-one-cpps-commented-out): Remove.
10578         * lisp/progmodes/cc-engine.el (c-no-comment-end-of-macro): Return the comment
10579         start position rather than one character before it.
10580         (c-invalidate-state-cache, c-parse-state): Remove the invocations of
10581         c-with-all-but-one-cpps-commented-out and c-with-cpps-commented-out.
10583         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Rename to
10584         c-neutralize-syntax-in-CPP and remove the bits which applied category
10585         properties.
10587         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Incorporate the
10588         new name of the function c-neutralize-syntax-in-CPP.
10590 2017-12-21  Eli Zaretskii  <eliz@gnu.org>
10592         Prevent infloop in redisplay on TTY frames
10594         * src/xdisp.c (extend_face_to_end_of_line): Avoid infloop when
10595         filling up display margins with the default face's background.
10596         (Bug#29789)
10598 2017-12-21  Alan Mackenzie  <acm@muc.de>
10600         Fix loss of documentation face in certain CC Mode doc comment situations
10602         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Take into account
10603         the possibility of font-lock-comment-delimiter-face.  Test rigorously for
10604         "/**" (etc.) being itself inside a literal, rather than just depending on the
10605         face of the previous character.
10607 2017-12-21  Daiki Ueno  <ueno@gnu.org>
10609         Remove pinentry.el
10611         * lisp/epg.el (epg--start): Remove the use of pinentry.el.
10612         * lisp/net/pinentry.el: Remove (bug#27445).
10614 2017-12-21  Ted Zlatanov  <tzz@lifelogs.com>
10616         Special-case %DUMBFW for GnuTLS between 3.2.5 and 3.5.1
10618         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT__DUMBFW for GnuTLS >= 3.2.5.
10619         (Fgnutls_available_p): Use it.
10621 2017-12-21  Andy Moreton  <andrewjmoreton@gmail.com>
10623         Work around GnuTLS version issues with %DUMBFW (tiny change)
10625         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT_GET_NAME and use it.
10626         (init_gnutls_functions): Use it.
10627         (Fgnutls_available_p): Use it (Bug#25061). Fix Vlibrary_cache bug.
10629 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
10631         Merge branch 'widen-less' into emacs-26
10633 2017-12-20  Glenn Morris  <rgm@gnu.org>
10635         * lisp/erc/erc.el (erc-shorten-server-name): Silence compiler warning.
10637 2017-12-20  Glenn Morris  <rgm@gnu.org>
10639         Fix some more aliases to user options
10641         * lisp/cus-edit.el (custom-mode-hook):
10642         * lisp/erc/erc.el (erc-default-coding-system):
10643         * lisp/progmodes/python.el (python-indent, python-guess-indent)
10644         (python-shell-virtualenv-path)
10645         (python-shell-completion-module-string-code)
10646         (python-shell-completion-pdb-string-code, python-use-skeletons):
10647         Define aliases to user options before the options are defined.
10649 2017-12-20  Glenn Morris  <rgm@gnu.org>
10651         Fix some flymake aliases
10653         * lisp/progmodes/flymake-proc.el (flymake-xml-program)
10654         (flymake-compilation-prevents-syntax-check, flymake-master-file-dirs)
10655         (flymake-master-file-count-limit, flymake-allowed-file-name-masks):
10656         * lisp/progmodes/flymake.el (flymake-start-syntax-check-on-find-file):
10657         Define aliases to user options before the options are defined.
10659 2017-12-20  Glenn Morris  <rgm@gnu.org>
10661         Unbreak a fileio test on non-Mac OS X systems
10663         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
10664         Don't use an undefined coding system.
10666 2017-12-20  Robert Pluim  <rpluim@gmail.com>
10668         Fix updating scrollbar sizes when scaling is in effect
10670         * src/gtkutil.c (xg_update_scrollbar_pos): Update width of
10671         scrollbar when scaling is in effect.
10672         (xg_update_horizontal_scrollbar_pos): Update scrollbar size
10673         when scaling is in effect.
10675 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
10677         Widen in indent-for-tab-command in the normal case, too
10679         Fixing this obvious omission.
10680         * lisp/indent.el (indent--funcall-widened): New function.
10681         (indent-for-tab-command): Use it.
10683 2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>
10685         Collect GnuTLS extensions and use them to set %DUMBFW if supported
10687         * lisp/net/gnutls.el (gnutls-boot-parameters): Use it to set %DUMBFW
10688         only when it's supported as "ClientHello Padding" (Bug#25061).
10690         * src/gnutls.c (Fgnutls_available_p): Get extension names and
10691         put them in the GnuTLS capabilities, using a hard-coded limit
10692         of 100 since GnuTLS MAX_EXT_TYPES is not exported.
10694 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
10696         * test/lisp/emacs-lisp/derived-tests.el: Fix copy&paste leftovers
10698 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
10700         * lisp/subr.el (delayed-after-hook-functions): Rename from ...-forms
10702         (run-mode-hooks): `funcall` the functions instead of `eval`ing the forms.
10703         * lisp/emacs-lisp/derived.el (define-derived-mode): Push functions
10704         rather than forms (bug#29679).
10706 2017-12-18  Katsumi Yamaoka  <yamaoka@jpl.org>
10708         * lisp/net/shr.el (shr-string-pixel-width): Return pixel-width,
10709         not position (bug#29734).
10711 2017-12-18  Dmitry Gutov  <dgutov@yandex.ru>
10713         Replace the mention of c-indent-defun with js-indent-line
10715         * doc/lispref/text.texi (Mode-Specific Indent):
10716         Avoid mentioning c-indent-defun in the context of multi-mode
10717         indentation.
10719 2017-12-17  Charles A. Roelli  <charles@aurox.ch>
10721         python.el doc fixes
10723         * lisp/progmodes/python.el (python-shell-accept-process-output):
10724         (python-shell-comint-end-of-output-p):
10725         (python-shell-first-prompt-hook):
10726         (python-info-beginning-of-backslash): Doc fixes.
10728 2017-12-17  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
10730         Make 'mouse-drag-and-drop-region' more robust and customizable
10732         * lisp/mouse.el
10733         (mouse-drag-and-drop-region-cut-when-buffers-differ): New option
10734         to permit 'mouse-drag-and-drop-region' to cut text also when source
10735         and destination buffers differ.
10736         (mouse-drag-and-drop-region-show-tooltip): New option to toggle
10737         display of tooltip during mouse dragging on graphic displays.
10738         (mouse-drag-and-drop-region-show-cursor): New option to toggle
10739         moving point with mouse cursor during mouse dragging of region.
10740         (mouse-drag-and-drop-region): New face to highlight original
10741         text while dragging.
10742         (mouse-drag-and-drop-region): Make use of new options and face.
10743         Ignore errors during tracking.
10745 2017-12-17  Oscar Fuentes  <ofv@wanadoo.es>
10747         Backport: Don't compare arguments that can be nil (Bug#28039)
10749         copy-region-as-kill can be called passing nil as `beg' and
10750         `end'. Magit does that, which caused an error when this advice was in
10751         effect.
10753         * lisp/ses.el (ses--advice-copy-region-as-kill): avoid comparison
10754           unless `beg' and `end' are non-nil.
10756 2017-12-17  Noam Postavsky  <npostavs@gmail.com>
10758         Don't mess up syntax-ppss cache in electric-pair (Bug#29710)
10760         In Emacs 25 and above, calling `scan-sexps', `parse-partial-sexp', or
10761         similar may update the syntax-ppss cache if
10762         `parse-sexp-lookup-properties' is non-nil.  Therefore, when calling
10763         any of these functions with a different than normal syntax-table, the
10764         cache must be cleaned afterwards.
10765         * lisp/elec-pair.el (electric-pair--with-uncached-syntax): New macro.
10766         (electric-pair--syntax-ppss, electric-pair--balance-info): Use it.
10768 2017-12-17  Glenn Morris  <rgm@gnu.org>
10770         * etc/emacs.appdata.xml: Update file format.
10772 2017-12-16  Alan Third  <alan@idiocy.org>
10774         Use utf-8-hfs-unix on macOS (Bug#29712)
10776         This is a quick fix for the Emacs 26 release. Do not merge to master.
10778         * test/src/fileio-tests.el (fileio-tests--symlink-failure): Override
10779         file-name-coding-system to utf-8-hfs-unix to prevent test failure.
10781 2017-12-16  Alan Mackenzie  <acm@muc.de>
10783         * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
10785 2017-12-16  Michael Albinus  <michael.albinus@gmx.de>
10787         Improve fix for Bug#29712
10789         * test/lisp/net/tramp-tests.el
10790         (tramp-test32-environment-variables-and-port-numbers):
10791         Adapt check for systems which do not support "echo -n".  (Bug#29712)
10793 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
10795         * doc/lispref/sequences.texi (Sequence Functions): Improve indexing.
10797 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
10799         Avoid reordering of output in 'shr-insert-document'
10801         * lisp/net/shr.el (shr-string-pixel-width): Preserve point across
10802         shr-pixel-column invocations.  (Bug#29734)
10804 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
10806         Improve documentation of 'invisible-p'
10808         * doc/lispref/display.texi (Invisible Text): Document the return
10809         value of 'invisible-p'.
10811         * src/xdisp.c (Finvisible_p): Rename the argument POS.  Doc fix.
10812         (Bug#29721)
10814 2017-12-16  Martin Rudalics  <rudalics@gmx.at>
10816         Remove one more check that Vframe_list is non-nil
10818         * src/dispnew.c (check_glyph_memory): Remove no-longer-needed
10819         check that Vframe_list is non-nil, as FOR_EACH_FRAME no longer
10820         assumes that.
10822 2017-12-16  Simen Heggestøyl  <simenheg@gmail.com>
10824         Fix off-by-one error in 'css--hex-color'
10826         * lisp/textmodes/css-mode.el (css--hex-color): Fix off-by-one error.
10828         * test/lisp/textmodes/css-mode-tests.el (css-test-hex-color): New test
10829         for 'css--hex-color'.
10831 2017-12-16  Aaron Jensen  <aaronjensen@gmail.com>
10833         Save and restore text-pixel height and width of frames (Bug#28442)
10835         * lisp/frameset.el (frameset--record-relationships): Record
10836         text-pixel-height and text-pixel-width of frame.
10837         (frameset--restore-frame): Restore text-pixel-height and
10838         text-pixel-width of frame if available.  (Bug#28442)
10840 2017-12-16  Noam Postavsky  <npostavs@gmail.com>
10842         Partially revert "Mention new strictness for &optional, &rest..."
10844         The changes to cl argument parsing are not backwards compatible, and
10845         cause inconvenience when writing macros (e.g., instead of doing '&aux
10846         ,@auxargs', some more complicated conditionals would be required).
10847         The `cl-defstruct' macro makes use of this convenience when defining
10848         empty structs (Bug#29728).
10849         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
10850         (cl--do-&aux, cl--do-arglist): Undo strict checking of &rest, &key,
10851         and &aux.
10852         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): Remove
10853         test.
10855 2017-12-15  Glenn Morris  <rgm@gnu.org>
10857         * lisp/vc/smerge-mode.el (smerge-refine): Respect font-lock-mode.
10859         * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete alias.
10861 2017-12-15  Paul Eggert  <eggert@cs.ucla.edu>
10863         FOR_EACH_FRAME no longer assumes frame-list
10865         This cleans up a recent fix related to Bug#29661.
10866         Suggested by Stefan Monnier in:
10867         https://lists.gnu.org/r/emacs-devel/2017-12/msg00544.html
10868         * src/frame.c (next_frame, prev_frame, delete_frame):
10869         Restore debugging checks that Vframe_list is non-nil,
10870         as FOR_EACH_FRAME no longer has these checks.
10871         (delete_frame): Remove no-longer-needed checks that Vframe_list is
10872         non-nil, as FOR_EACH_FRAME no longer assumes that.
10873         * src/frame.h (FOR_EACH_FRAME): Do not assume Vframe_list is non-nil.
10875 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
10877         * src/font.c (Ffont_info): Doc fix.  (Bug#29682)
10879 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
10881         Modernise message.el face spec syntax
10883         * lisp/gnus/message.el (message-header-to, message-header-cc)
10884         (message-header-subject, message-header-newsgroups)
10885         (message-header-other, message-header-name, message-header-xheader)
10886         (message-separator, message-cited-text, message-mml):
10887         Use (DISPLAY . PLIST) face spec syntax as recommended in
10888         `(elisp) Defining Faces'.  (Bug#29405)
10890 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
10892         Update message.el obsolete face aliases
10894         * lisp/gnus/message.el: (message-header-to, message-header-cc)
10895         (message-header-subject, message-header-newsgroups)
10896         (message-header-other, message-header-name, message-header-xheader)
10897         (message-separator, message-cited-text, message-mml):
10898         Use define-obsolete-face-alias.  (Bug#29405)
10900 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
10902         Improve documentation of TERM environment variable
10904         * doc/emacs/trouble.texi (Checklist):
10905         * doc/emacs/building.texi (Compilation Shell):
10906         * doc/emacs/misc.texi (Shell Options): Improve indexing of TERM.
10907         * doc/emacs/building.texi (Compilation Shell): Mention
10908         'comint-terminfo-terminal' in conjunction with the TERM value.
10910 2017-12-15  Allen Li  <darkfeline@felesatra.moe>
10912         Add option to configure comint TERM
10914         * lisp/comint.el (comint-terminfo-terminal): New defcustom.
10915         (comint-term-environment): New function for setting terminal options
10916         (comint-exec-1): Use comint-term-environment.  (Bug#29583)
10917         * lisp/progmodes/compile.el (compilation-start): Use comint-term-environment.
10919         * etc/NEWS:
10920         * doc/emacs/misc.texi (Shell Options): Document the new option.
10922 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
10924         Better support utf-8-with-signature and utf-8-hfs in XML/HTML
10926         * lisp/international/mule.el (sgml-xml-auto-coding-function):
10927         Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
10928         obey the buffer's encoding if it is one of these variants, instead
10929         of re-encoding in UTF-8 proper.  (Bug#20623)
10931 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
10933         * lisp/menu-bar.el (menu-bar-mode): Doc fix.
10935 2017-12-15  Michael Albinus  <michael.albinus@gmx.de>
10937         Fix Bug#29712 in tramp-tests.el
10939         * test/lisp/net/tramp-tests.el
10940         (tramp-test32-environment-variables-and-port-numbers):
10941         Skip for macOS.  (Bug#29712)
10943 2017-12-15  Martin Rudalics  <rudalics@gmx.at>
10945         Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961)
10947         This does not fix Bug#29961 but avoids that Emacs segfaults when
10948         trying to shut down because it lost connection to the X server.
10950         * src/dispnew.c (check_glyph_memory):
10951         * src/frame.c (delete_frame): Don't run FOR_EACH_FRAME when
10952         there's no frame left (Bug#29961).
10954 2017-12-15  Glenn Morris  <rgm@gnu.org>
10956         * lisp/textmodes/tex-mode.el: Ensure uncompiled file is loadable.
10958 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
10960         Remember password change for IMAP in Gnus (Bug#29692)
10962         Reported by Trey Jackson <trey_jackson@mentor.com>.
10964         * lisp/gnus/mail-source.el (mail-source-fetch-imap): Check
10965         `mail-source-password-cache' for password.
10967 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
10969         Add %DUMBFW to the default GnuTLS priority strings
10971         * lisp/net/gnutls.el (gnutls-boot-parameters): Add %DUMBFW to
10972         the default priority strings (Bug#25061).
10974         * etc/NEWS: Mention it.
10976         * doc/misc/emacs-gnutls.texi (Help For Users): Point to the
10977         GnuTLS priority string documentation URL.
10979 2017-12-15  Glenn Morris  <rgm@gnu.org>
10981         Small fixes prompted by make check-declare
10983         * lisp/frame.el (x-focus-frame): Update declaration.
10984         (ns-mouse-absolute-pixel-position): Fix declaration.
10985         * lisp/vc/diff-mode.el (diff-refine-hunk):
10986         Use smerge-refine-regions rather than obsolete alias.
10987         (smerge-refine-subst): Remove declaration, no longer relevant.
10989 2017-12-15  Glenn Morris  <rgm@gnu.org>
10991         Fix some custom groups
10993         * lisp/vc/vc-hooks.el (vc-faces): Rename from vc-state-faces.
10994         * lisp/vc/cvs-status.el (cvs-status): Unused, remove.
10996 2017-12-14  Alan Mackenzie  <acm@muc.de>
10998         Fix fontification of first declaration within a C++ lambda form.
11000         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Cease
11001         spuriously recognizing the braces of a lambda form as a brace list when there
11002         is an "=" preceding the introductory brackets.
11004 2017-12-14  Charles A. Roelli  <charles@aurox.ch>
11006         * src/data.c (Fadd_variable_watcher): Doc fix.
11008 2017-12-14  Alan Mackenzie  <acm@muc.de>
11010         Fix misfontification of C++ member initialization list after "throw"
11012         * lisp/progmodes/cc-engine.el (c-forward-type): Stop recognizing a "type"
11013         starting with "throw", by using c-opt-type-modifier-prefix-key.
11015         * lisp/progmodes/cc-langs.el (c-type-modifier-prefix-kwds): New lang const
11016         which, in C++, doesn't contain "throw", otherwise like c-type-modifier-kwds.
11017         (c-opt-type-modifier-prefix-key): New lang const and var, a regexp matching
11018         any keyword in the previous lang const.
11020 2017-12-14  Dmitry Gutov  <dgutov@yandex.ru>
11022         Consolidate 'widen' calls
11024         * lisp/progmodes/prog-mode.el (prog-indentation-context):
11025         Un-document all elements but the first.
11026         (prog-widen): Remove.
11027         (http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00321.html)
11029         * doc/lispref/text.texi (Mode-Specific Indent): Update.
11031         * lisp/progmodes/ruby-mode.el (ruby-calculate-indent):
11032         Don't call widen.
11034         * lisp/progmodes/python.el
11035         (python-indent-guess-indent-offset)
11036         (python-info-current-defun): Replace prog-widen with widen;
11037         these functions are not called during indentation.
11038         (python-indent-context)
11039         (python-indent--calculate-indentation)
11040         (python-info-dedenter-opening-block-message)
11041         (python-info-line-ends-backslash-p)
11042         (python-info-beginning-of-backslash)
11043         (python-info-continuation-line-p)
11044         (python-info-current-defun): Remove 'widen' calls.
11046         * lisp/indent.el (indent-according-to-mode)
11047         (indent-for-tab-command, indent-region): Move them here.
11049         * lisp/textmodes/mhtml-mode.el (mhtml-indent-line):
11050         Bind prog-indentation-context to one-element list.
11052 2017-12-14  Martin Rudalics  <rudalics@gmx.at>
11054         Fix doc-string of Fbuffer_list
11056         * src/buffer.c (Fbuffer_list): Fix doc-string.
11058 2017-12-14  Basil L. Contovounesios  <contovob@tcd.ie>
11060         Don't raise an extraneous frame (bug#29696)
11062         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Lookup
11063         summary buffer keys from article buffer without affecting window
11064         configuration (bug#29696).
11066 2017-12-13  Noam Postavsky  <npostavs@gmail.com>
11068         Mention new strictness for &optional, &rest in arglists (Bug#29165)
11070         * etc/NEWS: Explain that '&optional' not followed by a variable is now
11071         an error.
11072         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda, cl--do-&aux)
11073         (cl--do-arglist): Also reject '&optional', '&rest', or '&aux' not
11074         followed by a variable for consistency.
11075         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): New
11076         test.
11078 2017-12-13  Alan Mackenzie  <acm@muc.de>
11080         Don't misfontify "foo ()" inside C++ initialization parentheses as a type
11082         Also recognize and handle function names introduced by "extern" inside a
11083         function.
11085         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add a new element to
11086         the result list which is t when our declaration is, or is to be treated as,
11087         being at top level.
11089         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Detect being
11090         inside a C++ uniform initialization and return (not-decl nil) for this case.
11091         (c-font-lock-declarations): Use the new element 4 of the result of
11092         c-forward-decl-or-cast-1.
11094         * lisp/progmodes/cc-langs.el (c-make-top-level-kwds, c-make-top-level-key):
11095         New lang consts/vars.
11097 2017-12-13  Glenn Morris  <rgm@gnu.org>
11099         Fixes for defcustoms, prompted by cus-test-opts
11101         * lisp/files.el (save-some-buffers-default-predicate):
11102         * lisp/time.el (display-time-world-list):
11103         * lisp/gnus/gnus-art.el (gnus-article-show-cursor):
11104         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-names):
11105         * lisp/progmodes/verilog-mode.el (verilog-auto-wire-type):
11106         * lisp/textmodes/less-css-mode.el (less-css-output-directory)
11107         (less-css-output-file-name, less-css-input-file-name):
11108         * lisp/vc/emerge.el (emerge-metachars):
11109         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles):
11110         Fix :types.
11111         * lisp/net/newst-backend.el (newsticker-url-list-defaults): Fix url.
11113 2017-12-13  Glenn Morris  <rgm@gnu.org>
11115         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
11116         Update.
11118         * lisp/htmlfontify.el (hfy-which-etags): Fix it.
11120 2017-12-13  Glenn Morris  <rgm@gnu.org>
11122         Add missing :version tags revealed by cusver-check
11124         * lisp/comint.el (comint-move-point-for-matching-input):
11125         * lisp/epa.el (epa-replace-original-text):
11126         * lisp/image-dired.el (image-dired-cmd-optipng-program)
11127         (image-dired-cmd-optipng-options):
11128         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table):
11129         * lisp/gnus/gnus-cloud.el (gnus-cloud-storage-method)
11130         (gnus-cloud-interactive):
11131         * lisp/net/mailcap.el (mailcap-user-mime-data):
11132         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag)
11133         (c-noise-macro-names, c-noise-macro-with-parens-names):
11134         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode)
11135         (flymake-wrap-around):
11136         * lisp/progmodes/grep.el (grep-use-null-filename-separator):
11137         * lisp/progmodes/js.el (js-indent-align-list-continuation):
11138         * lisp/progmodes/perl-mode.el (perl-flymake-command):
11139         * lisp/progmodes/python.el (python-flymake-command)
11140         (python-flymake-command-output-pattern, python-flymake-msg-alist):
11141         * lisp/progmodes/ruby-mode.el (ruby-flymake-use-rubocop-if-available)
11142         (ruby-rubocop-config):
11143         * lisp/textmodes/less-css-mode.el (less-css):
11144         * lisp/textmodes/tex-mode.el (tex-chktex-program)
11145         (tex-chktex-extra-flags): Add missing :version tags.
11147 2017-12-13  Glenn Morris  <rgm@gnu.org>
11149         Escape column-zero doc parens
11151         * lisp/htmlfontify.el (hfy-display-class):
11152         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm):
11153         * lisp/net/shr.el (shr-external-rendering-functions):
11154         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag):
11155         * lisp/textmodes/tildify.el (tildify-tildify):
11156         Escape column-zero doc parens.  A shame bug#21871 remains unfixed.
11158 2017-12-12  Alan Third  <alan@idiocy.org>
11160         Remove ObjC blocks (Bug#23753)
11162         * src/macfont.m (macfont_get_glyph_for_character):
11163         (mac_font_get_glyphs_for_variants): Inline Objective-C blocks.
11165         (cherry picked from commit 4590f1d768adbb2120a2b02c614f7ed3b21a4a3e)
11167 2017-12-12  Eli Zaretskii  <eliz@gnu.org>
11169         Import the latest IVD_Sequences.txt
11171         * admin/unidata/IVD_Sequences.txt: New version from
11172         http://www.unicode.org/ivd/, the 2017-12-12 version of the Unicode
11173         Ideographic Variation Database.
11175         * src/macuvs.h: Regenerated.
11177 2017-12-11  Max  <mu@magi.net.ru>  (tiny change)
11179         Fix dired-do-compress when tar doesn't default to stdin (Bug#29094)
11181         * lisp/dired-aux.el (dired-compress-file-suffixes): Use argument '-f-'
11182         to write to stdout rather than relying on the default (the choice of
11183         default is decided when compiling tar, BSD systems usually set it to a
11184         tape drive).  Drop '-v', since the output is not used anywhere.
11186 2017-12-11  Noam Postavsky  <npostavs@gmail.com>
11188         Suppress warnings during elisp completion macroexpansion
11190         Errors are already suppressed, therefore it is logical to suppress
11191         warnings as well.  Some macros (e.g., use-package) may produce
11192         warnings when given the `elisp--witness--lisp' symbol.
11193         * lisp/progmodes/elisp-mode.el (elisp--local-variables): Let-bind
11194         warning-minimum-log-level to :emergency.
11196 2017-12-11  Chunyang Xu  <xuchunyang.me@gmail.com>
11198         * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo (Bug#24410).
11200 2017-12-11  Michael Albinus  <michael.albinus@gmx.de>
11202         Make tramp-interrupt-process more robust
11204         * lisp/net/tramp.el (tramp-interrupt-process): Fall back to
11205         the default implementation if there's no success.
11207 2017-12-11  Katsumi Yamaoka  <yamaoka@jpl.org>
11209         Make quail-input-method work when inhibit-read-only is non-nil (bug#29504)
11211         * lisp/international/quail.el (quail-input-method): Work not only
11212         when buffer-read-only is nil but also when inhibit-read-only is non-nil
11213         (bug#29504).
11215 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
11217         Fix 'fontset-name-p'
11219         * lisp/international/fontset.el (fontset-name-p): Make the
11220         function work with full fontset names and fontset alias names.
11222 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
11224         Fix fontset documentation inconsistencies for bug#29630
11226         * doc/lispref/display.texi (Face Attributes): Don't document
11227         :family as accepting a fontset.  Document that :font accepts a
11228         fontset.
11230         * lisp/faces.el (set-face-attribute): Doc fix.
11232 2017-12-10  Martin Rudalics  <rudalics@gmx.at>
11234         Remove sentence from child frames section in Elisp manual
11236         * doc/lispref/frames.texi (Child Frames): Remove one sentence.
11237         Suggested by Bob Weiner <rsw@gnu.org>.
11239 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
11241         Avoid crashes in 'font-at' after 'set-fontset-font'
11243         * src/fontset.c (free_realized_fontsets): Call
11244         recompute_basic_faces, so that the basic faces are available to
11245         any Lisp that calls this function, e.g. via set-fontset-font.
11246         (Bug#29632)
11248 2017-12-10  Ted Zlatanov  <tzz@lifelogs.com>
11250         * lisp/files-x.el (connection-local-set-profile-variables): Fix docstring.
11252 2017-12-09  Ted Zlatanov  <tzz@lifelogs.com>
11254         Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
11256         Problem reported by Mark Ferlatte (Bug#28603).
11257         * lisp/net/gnutls.el (gnutls-trustfiles): Add /etc/ssl/cert.pem for macOS.
11259 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
11261         Fix tool-tip display when display margins are non-zero by default
11263         * src/buffer.h (bset_left_margin_cols, bset_right_margin_cols):
11264         New inline functions.
11265         * src/xfns.c (Fx_show_tip):
11266         * src/w32fns.c (Fx_show_tip): Force display margins of the tip
11267         buffer to zero, as it will be displayed in a pseudo-window, which
11268         doesn't support display margins.  (Bug#29627)
11270 2017-12-09  Eric Abrahamsen  <eric@ericabrahamsen.net>
11272         Handle hash tables and vectors when reading/writing EIEIO objects
11274         * lisp/emacs-lisp/eieio.el (eieio-override-prin1): EIEIO objects
11275           printed with `prin1' can no longer be read with `read'. Make sure
11276           they are printed with object-write instead, even when they're inside
11277           hash tables and vectors.
11278         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
11279           Check for written representations of objects inside hash tables and
11280           vectors, and reconstruct them.
11282 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
11284         Improve interactive debugging commands in xdisp.c
11286         * src/xdisp.c (Fdump_glyph_row, Fdump_tool_bar_row): Allow to
11287         specify ROW via prefix argument.  Fix the doc strings.
11289 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
11291         Fix calculation of continuation_pixel_width in display engine
11293         * src/xdisp.c (display_line): Remove incorrect increment of
11294         it->continuation_pixel_width when word-wrap is used.  (Bug#29594)
11296 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
11298         Improve documentation of 'save-abbrevs'.
11300         * doc/emacs/abbrevs.texi (Saving Abbrevs): Document the 'silently'
11301         value of 'save-abbrevs'.  Suggested by Alex Branham
11302         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
11304 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
11306         Improve documentation of Dired
11308         * doc/emacs/dired.texi (Dired): Mention that the Dired buffer can
11309         be made modifiable in Wdired.  Suggested by Alex Branham
11310         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
11312 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
11314         * lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)
11316 2017-12-08  Michael Albinus  <michael.albinus@gmx.de>
11318         Minor Tramp fixes
11320         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
11321         Fix a bug when renaming.
11323         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
11324         (tramp-test42-delay-load, tramp-test42-remote-load-path):
11325         Skip unless Emacs >= 26.
11327 2017-12-08  Glenn Morris  <rgm@gnu.org>
11329         * lisp/help-mode.el (help-function-def):
11330         Allow help-make-xrefs to call with one argument.  (Bug#29611)
11332 2017-12-07  Martin Rudalics  <rudalics@gmx.at>
11334         Fix doc-string of 'display-buffer-in-side-window'
11336         * lisp/window.el (display-buffer-in-side-window): In doc-string
11337         clarify why the window returned gets dedicated to its buffer.
11339 2017-12-06  Michael Albinus  <michael.albinus@gmx.de>
11341         Fix Bug#29579
11343         * lisp/files.el (file-name-non-special):
11344         Inhibit `file-name-handler-alist' only for some operations.
11345         Add missing operations.  (Bug#29579)
11347         * lisp/net/tramp-compat.el (tramp-compat-file-name-quote):
11348         Do not quote if it is quoted already.
11350         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
11351         Use `copy-tree' but `copy-sequence'.
11353         * lisp/net/tramp.el (tramp-handle-file-truename): Handle several
11354         trailing slashes correctly.
11356         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
11357         (tramp-test12-rename-file, tramp-test24-file-acl)
11358         (tramp-test25-file-selinux, tramp--test-check-files):
11359         Handle also quoted file names.
11360         (tramp-test21-file-links): Fix file name quoting test.
11361         (tramp-test24-file-acl): Be more robust for "smb" method.
11362         (tramp-test35-make-auto-save-file-name): Enable hidden test cases.
11364 2017-12-06  Rasmus  <rasmus@gmx.us>
11366         Backport: Update Org to v9.1.4
11368         Please note this is a bugfix release. See etc/ORG-NEWS for details.
11370         (cherry picked from commit 567b5efe1f338c10c574758fb968915c5c34c909)
11372 2017-12-06  Martin Rudalics  <rudalics@gmx.at>
11374         In windows.texi mention special splitting behavior of side and atomic windows
11376         * doc/lispref/windows.texi (Splitting Windows): Add note about
11377         and links to side and atomic windows.
11379 2017-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
11381         * lisp/gnus/gnus-group.el (gnus-group-mode-map):
11382         Bind [follow-link] to mouse-face, not 'mouse-face (bug#29538).
11384 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
11386         Avoid compilation warning in xterm.c
11388         * src/xterm.c (x_draw_underwave): Move the declaration of
11389         'thickness' to the non-USE_CAIRO branch, to avoid compiler
11390         warning.  (Bug#29567)
11392 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
11394         * README: Document all the top-level directories.  (Bug#29558)
11396 2017-12-04  Glenn Morris  <rgm@gnu.org>
11398         Don't enable erc modules on simply loading erc.el
11400         * lisp/erc/erc.el (erc-modules): Use default :initialize.  (Bug#29417)
11402 2017-12-03  Lars Ingebrigtsen  <larsi@gnus.org>
11404         Allow shr to use data: URLs without encoding
11406         * lisp/net/shr.el (shr-image-from-data): Don't bug out on
11407         image data: URLs that have no base64 encoding like
11408         (shr-image-from-data
11409         "text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E").
11411 2017-12-03  E. Choroba  <choroba@matfyz.cz>  (tiny change)
11413         Don't add newlines in minibuffer history
11415         * lisp/simple.el (next-line-or-history-element): Bind
11416         next-line-add-newlines to nil.  (Bug#29529)
11418 2017-12-03  Syohei YOSHIDA  <syohex@gmail.com>
11420         modhelp.py: Support Python 3 (Bug#24954)
11422         * modules/modhelp.py: 'print' statement was removed in Python
11423         3.  'print' function should be used instead of 'print' statement.
11425 2017-12-03  Noam Postavsky  <npostavs@gmail.com>
11427         Use forward slashes for python w32 config example (Bug#21656)
11429         * lisp/progmodes/python.el: Use forward slashes for Windows path
11430         example, it doesn't require doubling of slashes which reduces chances
11431         of confusion.
11433 2017-12-03  Paul Eggert  <eggert@cs.ucla.edu>
11435         Fix bug in i18n/l10n optimization
11437         This fixes a off-by-one buffer overrun bug introduced in
11438         2017-06-04T15:39:37Z!eggert@cs.ucla.edu.  Problem uncovered by an
11439         experimental version of Emacs built with -fcheck-pointer-bounds
11440         and running on Intel MPX hardware.
11441         * src/editfns.c (styled_format): Avoid overrunning internal buffers.
11443 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
11445         Let autoload-compute-prefix be set file-locally (Bug#29471)
11447         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): Mark
11448         boolean values as safe.
11450 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
11452         Improve edit-kbd-macro prompting in case of remapped keys (Bug#29399)
11454         * lisp/edmacro.el (edit-kbd-macro): Use substitute-command-keys to
11455         present the current bindings in the prompt.  Check the the
11456         non-remapped binding of the entered key sequence as well.
11458 2017-12-02  Lele Gaifax  <lele@metapensiero.it>
11460         Add tests on electric-indentation and Python multiline strings (Bug#29305)
11462         * test/lisp/progmodes/python-tests.el
11463         (python-indent-electric-comma-inside-multiline-string,
11464         python-indent-electric-comma-after-multiline-string): New tests.
11466 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
11468         Disable electric indent for python strings (Bug#29305)
11470         * lisp/progmodes/python.el (python-indent-post-self-insert-function):
11471         Do nothing when point or beginning of line is in string.
11473 2017-12-02  Yuuki Harano  <masm-emacs@masm11.ddo.jp>  (tiny change)
11475         Fix buffer overflow in fontname conversion (Bug#29523)
11477         * src/nsterm.m (ns_xlfd_to_fontname): Fix sscanf format.
11479 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
11481         Fix byte compilation of files with leading directories
11483         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Pass basename
11484         of target-file to make-temp-file, in case target-file includes a
11485         leading directory that might not exist under TMPDIR.  See
11486         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00680.html
11487         for the details.
11489 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
11491         * lisp/files.el (make-backup-file-name-1): Fix scoping error.
11493 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
11495         Revert Tramp commit from 2017-11-20
11497         * lisp/net/tramp.el (tramp-drop-volume-letter)
11498         (tramp-handle-find-backup-file-name): Revert change from
11499         2017-11-20.  Emacs' `make-backup-file-name-1' handles this
11500         case now.
11502 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
11504         Improve documentation of buffer-list commands and features
11506         * doc/emacs/buffers.texi (List Buffers): Add a cross-reference to
11507         "Several Buffers", to establish a relation between the two
11508         sections.
11509         (Buffer Menus): Expand on customizability of alternative buffer
11510         menu offered by bs.el.  Mention IBuffer.
11511         Suggested by Alex Branham <alex.branham@gmail.com> in
11512         emacs-manual-bugs@gnu.org.
11514 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
11516         Fix backing up remote files in local directories on MS-Windows
11518         * lisp/files.el (make-backup-file-name-1): Support remote file
11519         names correctly when they are backed up into a local directory on
11520         MS-Windows and MS-DOS.  (Bug#29440)
11522 2017-12-02  Glenn Morris  <rgm@gnu.org>
11524         * doc/emacs/mule.texi (Output Coding): Clarify sendmail coding.
11526 2017-12-01  John Wiegley  <johnw@newartisans.com>
11528         Revert "Fix backing up remote files in local directories on MS-Windows"
11530         This reverts commit 8c8b6732882248df4ca3b687e0a4b4e5e4ab3777.
11532 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
11534         Fix a typo in ELisp manual
11536         * doc/lispref/sequences.texi (Sequence Functions): Fix the example
11537         of using 'seq-uniq'.  (Bug#29524)
11539 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
11541         * lisp/composite.el (find-composition): Fix a typo in the doc string.
11543 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
11545         Fix backing up remote files in local directories on MS-Windows
11547         * lisp/files.el (make-backup-file-name-1): Support remote file
11548         names correctly when they are backed up into a local directory on
11549         MS-Windows and MS-DOS.  (Bug#29440)
11551 2017-12-01  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
11553         Fix vertical cursor motion in pixel-scroll.el
11555         * lisp/pixel-scroll.el (pixel-scroll-up): Move cursor down
11556         regardless of whether EOB is shown at the top.
11557         (pixel-scroll-down) Move cursor up regardless of whether BOB
11558         is shown at the top.  (Bug#29374)
11560 2017-12-01  Basil L. Contovounesios  <contovob@tcd.ie>
11562         Fix typos in doc strings of message.el
11564         * lisp/gnus/message.el (message-header-to)
11565         (message-header-subject, message-header-newsgroups)
11566         (message-header-other): Fix typos in doc strings.  (Bug#29405)
11568 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
11570         Fix a typo in the Emacs manual
11572         * doc/emacs/abbrevs.texi (Abbrev Concepts): Fix a typo.  Reported
11573         by clemens.radermacher@posteo.de in emacs-manual-bugs@gnu.org.
11575 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
11577         Improve the documentation of 'table-insert-sequence'
11579         * doc/emacs/text.texi (Table Misc): Fix the description of
11580         'table-insert-sequence'.  Reported by jack <jackh@gmx.co.uk> in
11581         emacs-manual-bugs@gnu.org.
11583 2017-12-01  Paul Eggert  <eggert@cs.ucla.edu>
11585         Port better to QNX
11587         Problem reported by Elad Lahav on emacs-devel.
11588         * configure.ac: On QNX, default CC to qcc (a GCC wrapper),
11589         and default LDFLAGS to -N2MB so that the initial stack size
11590         is not too small.  Also, fix misspelling of ‘qnxnto’.
11592 2017-11-30  Michael Albinus  <michael.albinus@gmx.de>
11594         Make tramp-test42-auto-load more robust
11596         * test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
11597         Make it more robust.  Don't skip.
11599 2017-11-30  Eli Zaretskii  <eliz@gnu.org>
11601         Avoid assertions in find-composition
11603         * src/font.c (font_range): If called with STRING non-nil and FACE
11604         a NULL pointer, compute face by calling face_at_string_position.
11605         (Bug#29506)
11607         * lisp/composite.el (find-composition): Doc fix.
11609 2017-11-29  Glenn Morris  <rgm@gnu.org>
11611         Restore obsolete method of changing byte-compile-dest-file
11613         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
11614         Restore seven-year obsolete feature that was removed for six months,
11615         since automake uses it.
11617 2017-11-29  Michael Albinus  <michael.albinus@gmx.de>
11619         Some minor Tramp corrections
11621         * lisp/net/tramp.el (tramp-handle-directory-file-name):
11622         Handle several trailing slashes correctly.
11623         (tramp-handle-file-selinux-context): New defun.
11625         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
11626         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
11627         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
11628         Use `tramp-handle-file-selinux-context'.
11630         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
11631         Extend test.
11632         (tramp-test17-insert-directory): Make check more robust.
11633         (tramp-test42-auto-load): Combine several let forms.
11634         (tramp-test42-delay-load, tramp-test42-recursive-load)
11635         (tramp-test42-remote-load-path, tramp-test43-unload): Rename.
11637 2017-11-29  Tino Calancha  <tino.calancha@gmail.com>
11639         * doc/misc/url.texi (http/https): Fix typo
11641 2017-11-29  Glenn Morris  <rgm@gnu.org>
11643         Remove some bogus definition-prefixes from loaddefs
11645         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
11646         Don't register a definition prefix from define-erc-module,
11647         which adds an erc- prefix to its argument.
11649 2017-11-28  Robert Pluim  <rpluim@gmail.com>
11651         Shell-quote wildcards when invoking 'vc-git-grep'
11653         * lisp/vc/vc-git.el (vc-git-grep): Apply shell quoting to
11654         filename wildcards to ensure globbing is done by git rather
11655         than the shell.  (Bug#29303)
11657 2017-11-28  Kaushal Modi  <kaushal.modi@gmail.com>
11659         Update documentation of '.dir-locals-2.el'
11661         See https://lists.gnu.org/r/emacs-devel/2017-11/msg00649.html
11662         for more details.
11663         * lisp/files.el (dir-locals-file-2): Remove unused constant.
11664         * lisp/files.el (dir-locals-file): Mention ".dir-locals-2.el" in
11665         the doc string.
11666         * doc/lispref/variables.texi (Directory Local Variables): Mention
11667         ".dir-locals-2.el".
11668         * etc/NEWS: Replace `dir-locals-file-2' mention with
11669         `dir-locals-file'.
11671 2017-11-27  Noam Postavsky  <npostavs@gmail.com>
11673         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64]: Bump to 22 MiB.
11675 2017-11-27  Glenn Morris  <rgm@gnu.org>
11677         A few small doc fixes for bytecomp.el
11679         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-file-regexp)
11680         (byte-compile-dest-file-function, byte-compile-dest-file): Doc fixes.
11682 2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
11684         * src/lread.c (syms_of_lread): Fix thinko in commit b1573a97e17b5
11686 2017-11-27  Glenn Morris  <rgm@gnu.org>
11688         * lisp/tree-widget.el (tree-widget-end-guide): Escape it.  (Bug#27797)
11690 2017-11-27  Eli Zaretskii  <eliz@gnu.org>
11692         Fix ELisp "Warning Tips"
11694         * doc/lispref/tips.texi (Warning Tips): Clarify when to use
11695         'require' wrapped by 'eval-when-compile'.  (Bug#29462)
11697 2017-11-27  Michael Albinus  <michael.albinus@gmx.de>
11699         Fix Bug#29163
11701         * lisp/net/tramp.el (tramp-autoload-file-name-regexp):
11702         Do not use "\\'" in regexp.  (Bug#29163)
11703         (top) Do not run (tramp-register-autoload-file-name-handlers)
11704         when loading tramp.el.
11706         * test/lisp/net/tramp-tests.el (tramp--test-mock-p): New defun.
11707         (tramp-test32-environment-variables-and-port-numbers)
11708         (tramp-test41-asynchronous-requests): Use it.
11709         (tramp-test42-auto-load): New test.
11710         (tramp-test43-recursive-load, tramp-test44-remote-load-path)
11711         (tramp-test45-delay-load, tramp-test46-unload): Rename.
11713 2017-11-27  Paul Eggert  <eggert@union>
11715         Harden exec_byte_code against redefining 'error'
11717         Problem discovered by configuring with --enable-gcc-warnings on
11718         Ubuntu 17.10 x86-64 with gcc (Ubuntu 7.2.0-8ubuntu3).
11719         * src/bytecode.c (exec_byte_code): Call the C error function
11720         instead of the Lisp one, so that the Emacs interpreter does not go
11721         haywire if the user redefines the Lisp error function.
11723 2017-11-27  Gemini Lasswell  <gazally@runbox.com>
11725         Fix Edebug specs for if-let* and and-let* (Bug#29236)
11727         * test/lisp/emacs-lisp/subr-x-tests.el (if-let*, if-let):
11728         Change Edebug spec to cause Edebug to instrument tests the
11729         results of which are not bound to symbols (the (VALUEFORM)
11730         case).
11731         (and-let*): Change Edebug spec to allow empty body.
11733         *test/lisp/emacs-lisp/subr-x-tests.el:
11734         (subr-x-and-let*-test-group-1): Add missing quote to erroneous
11735         form so Edebug will work on this test.
11737 2017-11-26  Gemini Lasswell  <gazally@runbox.com>
11739         Fix Edebug's handling of dotted specs (bug#6415)
11741         * lisp/emacs-lisp/cl-macs.el (cl-destructuring-bind): Use
11742         cl-macro-list1 instead of cl-macro-list in Edebug spec.
11744         * lisp/emacs-lisp/edebug.el (edebug-after-dotted-spec): Delete
11745         unused variable.
11746         (edebug-dotted-spec): Add docstring.
11747         (edebug-match-specs): Allow &optional and &rest specs to
11748         match nothing at the tail of a dotted form. Handle matches of
11749         dotted form tails which return non-lists.
11751         * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-dotted-forms):
11752         New test.
11754         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el:
11755         (edebug-test-code-use-destructuring-bind): New function.
11757 2017-11-26  Eli Zaretskii  <eliz@gnu.org>
11759         Improve documentation of "constant" symbols
11761         * src/font.c (syms_of_font) <font-weight-table, font-slant-table>
11762         <font-width-table>:
11763         * src/data.c (syms_of_data) <most-positive-fixnum>
11764         <most-negative-fixnum>:
11765         * src/buffer.c (syms_of_buffer) <enable-multibyte-characters>:
11766         Mention in the doc strings that these variables are read-only.
11768         * doc/lispref/variables.texi (Creating Buffer-Local): Document
11769         that making a constant variable buffer-local signals an error.
11770         * doc/lispref/variables.texi (Constant Variables):
11771         * doc/lispref/errors.texi (Standard Errors): More accurate and
11772         up-to-date documentation of which symbols cannot be assigned
11773         values.
11775 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
11777         maint: shorten https://lists.gnu.org/archive/html/... links
11779 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
11781         Merge from Gnulib
11783         This incorporates:
11784         2017-11-23 stat: work around Solaris bug with tv_nsec < 0
11785         2017-11-12 maint: shorten https://lists.gnu.org/archive/html/... links
11786         * build-aux/config.sub, doc/misc/texinfo.tex, lib/allocator.h:
11787         * lib/fstatat.c, lib/intprops.h, lib/lstat.c, lib/signal.in.h:
11788         * lib/stat-time.h, lib/stdio-impl.h, lib/stdio.in.h:
11789         * lib/timespec.h, m4/alloca.m4, m4/extern-inline.m4:
11790         * m4/faccessat.m4, m4/fstatat.m4, m4/gnulib-common.m4:
11791         * m4/lstat.m4, m4/std-gnu11.m4, m4/sys_types_h.m4:
11792         * m4/vararrays.m4:
11793         Copy from Gnulib.
11795 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
11797         Work around GCC bug 80776 on Fedora 27 x86
11799         * src/buffer.c (Fgenerate_new_buffer_name): Pacify GCC 7.2.1
11800         20170915 (Red Hat 7.2.1-2) on i686 with -Wformat-overflow -O2 by
11801         using XINT rather than XFASTINT and by adding an eassume.  This
11802         works around GCC bug 80776.
11804 2017-11-25  Paul Eggert  <eggert@cs.ucla.edu>
11806         Tweak copy-file, rename-file doc
11808         * src/fileio.c (Fcopy_file, Frename_file): Tweak the recent change
11809         slightly, as NEWNAME is treated as a directory name depending only
11810         on the contents of the NEWNAME string, and independently of
11811         whether NEWNAME names a directory (i.e., whether the directory
11812         exists) (Bug#29362).
11814 2017-11-25  Tom Tromey  <tom@tromey.com>
11816         Change font-lock-extend-region-multiline handling in mhtml-mode
11818         Bug#29159
11819         * lisp/textmodes/mhtml-mode.el (mhtml-mode): Remove
11820         font-lock-extend-region-multiline from
11821         font-lock-extend-region-functions.
11822         (mhtml--extend-font-lock-region): Call font-lock-extend-region-multiline.
11824 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
11826         Minor cleanup in tramp-gvfs-handle-file-local-copy
11828         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy):
11829         Move error message up.
11831 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
11833         Add test for Bug#29423 in Tramp.
11835         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
11836         Add test for Bug#29423.
11838 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
11840         Avoid jumbled order in HTML rendered by shr.el
11842         * lisp/net/shr.el (shr-render-td): Preserve point, as
11843         shr-render-td-1 might move it as a side effect of
11844         save-window-excursion.  (Bug#29348)
11846 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
11848         Make sure 'dired-filename' property is always put by ls-lisp
11850         * lisp/ls-lisp.el (ls-lisp-classify): Do not put the
11851         'dired-filename' text property on the file name here...
11852         (ls-lisp-classify-file): ...put it here instead.  (Bug#29423)
11854 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
11856         A better solution for bug#29347
11858         * src/thread.c (really_call_select): Don't try to take the global
11859         lock if the same thread is already holding it.  (Bug#29347)
11861 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
11863         Avoid a hang after C-g while sit-for on a Unix TTY
11865         * src/thread.c (acquire_global_lock): Don't try to take the global
11866         lock if the same thread is already holding it.  (Bug#29347)
11868 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
11870         Improve the doc string of 'list-packages'
11872         * lisp/emacs-lisp/package.el (list-packages): Describe in the doc
11873         string the columns shown by the command.  (Bug#29420)
11875 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
11877         Improve discoverability of 'defvar' for suppressing warnings
11879         * doc/lispref/compile.texi (Compiler Errors): Add index entries.
11880         * doc/lispref/variables.texi (Defining Variables): Mention that
11881         defvar with no value is used for suppressing compiler warnings.
11882         (Bug#29400)
11884 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
11886         Improve discoverability of 'read-buffer-completion-ignore-case'
11888         * lisp/window.el (switch-to-buffer)
11889         (switch-to-buffer-other-window, switch-to-buffer-other-frame):
11890         Mention 'read-buffer' in the doc string.  (Bug#29389)
11892         * doc/emacs/buffers.texi (Select Buffer): Add a cross-reference to
11893         where 'read-buffer-completion-ignore-case' is documented.
11895 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
11897         Improve documentation of self-insert-uses-region-functions
11899         * lisp/simple.el (self-insert-uses-region-functions): Clarify the
11900         doc string.
11901         * lisp/delsel.el (delete-selection-uses-region-p): Mention
11902         'self-insert-command' in the doc string.  (Bug#29373)
11904         * doc/lispref/text.texi (Commands for Insertion): Mention
11905         'self-insert-uses-region-functions'.
11906         * doc/lispref/modes.texi (Keymaps and Minor Modes): Add a
11907         cross-reference to "Commands for Insertion".
11909 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
11911         Reflect changes in copy-file and rename-file in doc strings
11913         * src/fileio.c (Fcopy_file, Frename_file): Mention in the doc
11914         strings that directory names must end in a slash.  (Bug#29362)
11916 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
11918         * lisp/progmodes/cc-vars.el (c-offsets-alist): Doc fix.  (Bug#29407)
11920 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
11922         Reorder type predicates in ELisp manual
11924         * doc/lispref/objects.texi (Type Predicates): Restore alphabetical
11925         order of listed predicates.  (Bug#29411)
11927 2017-11-23  Eli Zaretskii  <eliz@gnu.org>
11929         Fix backward scrolling in buffers with header-line
11931         * src/window.c (window_scroll_pixel_based): Account for the
11932         header-line when comparing Y coordinate with the last_visible_y.
11933         (Bug#29325)
11935 2017-11-22  Glenn Morris  <rgm@gnu.org>
11937         * lisp/bindings.el (buffer-file-coding-system):
11938         Add explicit permanent-local mark.
11940         * src/fns.c (syms_of_fns) <overriding-plist-environment>: Doc fix.
11942 2017-11-22  Alan Third  <alan@idiocy.org>
11944         Fix incorrect interaction of drag/drop and double click (bug#29121)
11946         * src/nsterm.m (EmacsView::performDragOperation): Drag and drop
11947         doesn't use ns-input-file.
11949 2017-11-22  Glenn Morris  <rgm@gnu.org>
11951         * lisp/menu-bar.el (menu-bar-options-save):
11952         Add display-line-numbers-type.
11954         * lisp/menu-bar.el (menu-bar-options-save):
11955         Add global-display-line-numbers-mode.  (Bug#28396)
11957         * lisp/follow.el (follow-mode): Restore mode line lighter.  (Bug#28495)
11959 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
11961         Extract the common part of ruby-flymake-simple and ruby-flymake-rubocop
11963         * lisp/progmodes/ruby-mode.el (ruby-flymake-simple)
11964         (ruby-flymake-rubocop):
11965         Extract the common part as ruby-flymake--helper.
11966         (ruby--rubocop-flymake-proc): Remove.  Use the first proc
11967         variable instead.
11969 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
11971         Add Rubocop Flymake backend
11973         * lisp/progmodes/ruby-mode.el (ruby-flymake-command):
11974         Inline the value.  There are no known substitutes.
11975         (ruby-flymake): Rename to `ruby-flymake-simple' and simplify
11976         the docstring.
11977         (ruby-flymake-use-rubocop-if-available): New option.
11978         (ruby--rubocop-flymake-proc): New variable.
11979         (ruby-rubocop-config): New option.
11980         (ruby-flymake-rubocop, ruby-flymake-auto): New functions.
11981         (ruby-mode): Use `ruby-flymake-auto'.
11983 2017-11-21  Noam Postavsky  <npostavs@gmail.com>
11985         Update nt/INSTALL.W64 (Bug#28601)
11987         * nt/INSTALL.W64 (Download and install MinGW-w64 and MSYS2): Move
11988         suggestion about modifying PATH to...
11989         (Test Emacs): ... here.
11990         (Run configure): Remove the unnecessary setting of PKG_CONFIG_PATH.
11991         (Troubleshooting): New section, includes suggestion to check
11992         PKG_CONFIG_PATH.
11994 2017-11-21  Charles A. Roelli  <charles@aurox.ch>
11996         Remove incorrect NEWS item about VC state indicator (Bug#28817)
11998         * etc/NEWS (VC and related modes): Remove news item about the VC
11999         state indicator.  This should have been done with commit 7882dc6
12000         of 2016-03-06 'Revert "Use colors in the VC mode lines"'.
12002 2017-11-21  Glenn Morris  <rgm@gnu.org>
12004         * lisp/emacs-lisp/byte-run.el (defsubst): Doc fix.
12006 2017-11-21  Alan Mackenzie  <acm@muc.de>
12008         Make c-defun-name analyze more thoroughly a function type which is a struct
12010         This fixes bug #29293.
12012         * lisp/progmodes/cc-cmds.el (c-defun-name): When a struct (etc.) type is
12013         encountered, check whether it is the return type of a function rather than a
12014         declaration of the struct itself.  Similarly adapt the cond arm which deals
12015         with functions properly to recognize struct return types.
12017 2017-11-21  Glenn Morris  <rgm@gnu.org>
12019         Avoid bogus abbreviated file names if HOME changes
12021         * lisp/files.el (abbreviate-file-name):
12022         If HOME changes, ignore `abbreviated-home-dir'.  (Bug#19657#20)
12023         * test/lisp/files-tests.el (files-test-abbreviated-home-dir): New.
12025 2017-11-21  Glenn Morris  <rgm@gnu.org>
12027         * lisp/emacs-lisp/byte-run.el (inline): Give it a doc.
12029 2017-11-21  Jay Kamat  <jaygkamat@gmail.com>  (tiny change)
12031         Fix erc keep-place module with new defaults (Bug#29111)
12033         * lisp/erc/erc-goodies.el (erc-keep-place): Allow erc
12034         keep-place to continue working with
12035         switch-to-buffer-preserve-window-point set to t, the new default.
12037 2017-11-20  Alan Third  <alan@idiocy.org>
12039         Add window divider faces to NS (bug#29353)
12041         * src/nsterm.m (ns_draw_window_divider): Use
12042         window-divider-first-pixel and window-divider-last-pixel faces.
12044 2017-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
12046         * src/keyboard.c: Undo last change, meant for master only
12048 2017-11-20  Michael Albinus  <michael.albinus@gmx.de>
12050         Fix Bug#29149
12052         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle also
12053         backup file names.
12054         (tramp-handle-find-backup-file-name):
12055         Call `tramp-drop-volume-letter' on the results.  (Bug#29149)
12057 2017-11-20  Martin Rudalics  <rudalics@gmx.at>
12059         Fix misbehavior when drawing three-pixel high horizontal dividers (Bug#29353)
12061         * src/xterm.c (x_draw_window_divider):
12062         * src/w32term.c (w32_draw_window_divider): Fix misbehavior when
12063         drawing three-pixel high horizontal dividers (Bug#29353).
12065         The misbehavior was noted by Keith David Bershatsky and analyzed by Alan
12066         Third.
12068 2017-11-19  Mike Kupfer  <mkupfer@alum.berkeley.edu>
12070         MH-E: don't automatically download external-body parts
12072         * lisp/mh-e/mh-mime.el (mh-mime-display-single): Use
12073         mm-automatic-display-p to verify that a part should be
12074         displayed before doing the inline checks (SF#475).
12076 2017-11-19  Michael Albinus  <michael.albinus@gmx.de>
12078         Further fix for Bug#29291
12080         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
12081         Check for local ACL support.  (Bug#29291)
12083 2017-11-19  Alan Third  <alan@idiocy.org>
12085         Fix divider frame params on NS (bug#29352)
12087         * src/nsfns.m (Fx_create_frame): Set right-divider-width and
12088         bottom-divider-width parameters.
12090 2017-11-19  Paul Eggert  <eggert@cs.ucla.edu>
12092         Spelling fixes
12094         * lisp/help-fns.el (help-fns--analyze-function):
12095         Rename from help-fns--analyse-function.
12096         All uses changed.
12098 2017-11-19  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
12100         * src/keyboard.c: Make xterm-mouse clicks on mode-line work
12102         (read_key_sequence): Recompute first_event
12103         after replay_sequence, since it might have changed (bug#29104).
12105 2017-11-18  Martin Rudalics  <rudalics@gmx.at>
12107         Don't let delete_frame select a tooltip frame (Bug#27647)
12109         * src/frame.c (delete_frame): Don't select a tooltip
12110         frame. (Bug#27647)
12112 2017-11-18  Alan Mackenzie  <acm@muc.de>
12114         Filter obtrusive events in help-read-key-sequence.
12116         This fixes most of bug #29272.
12118         * lisp/help.el (help-read-key-sequence): After a mouse event, pause for 0.01s,
12119         discarding any events (such as <help-echo>) received in this time, before
12120         polling for the double-click (etc.) events which may follow.  This fixes the
12121         infinite loop which occurred whwn <help-echo> events triggered a sit-for
12122         whilst handling menu events.
12124 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
12126         Fix symlink flag in tramp-gvfs-handle-file-attributes
12128         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
12129         Set proper symlink file mode flag.
12131 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
12133         Fix bug in tramp-handle-file-truename
12135         * lisp/net/tramp.el (tramp-handle-file-truename): Expand localname.
12137         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Check also
12138         relative symbolic links.
12140 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
12142         Fix a typo in doc string of electric-indent-functions-without-reindent
12144         * lisp/electric.el (electric-indent-functions-without-reindent):
12145         Doc fix.  (Bug#29304)
12147 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
12149         Avoid assertion violations in echo_area_display
12151         * src/xdisp.c (echo_area_display): Don't try redisplaying the echo
12152         area if the selected-frame's mini-window is nil.  (Bug#27647)
12154 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
12156         Fix case-folding in Occur
12158         * lisp/replace.el (occur-engine): Bind case-fold-search in each
12159         buffer we search.  (Bug#29254)
12161 2017-11-18  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)
12163         Fix quick-calc in C mode with hex values
12165         * lisp/calc/calc-aent.el (math-read-token): Make sure the match
12166         against "0[xX][0-9a-fA-F]+" is found at math-exp-pos.  See
12167         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00174.html
12168         for the details.
12170 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
12172         Improve documentation of dired-next/prev-marked-file
12174         * lisp/dired.el (dired-next-marked-file, dired-prev-marked-file):
12175         Doc fixes.  (Bug#29340)
12177 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
12179         Prevent aborts in line-move-visual
12181         * src/indent.c (line_number_display_width): Avoid assertion
12182         violations in init_iterator when the window's buffer was
12183         temporarily switched without updating window-start.  (Bug#29326)
12185 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
12187         More fixes in src/.gdbinit
12189         * src/.gdbinit (pwinx): Update to match 'struct window'.
12190         (pcursorx): Use "." instead of "->" because the argument is a
12191         struct, not a pointer.
12193 2017-11-17  Robert Pluim  <rpluim@gmail.com>
12195         Document how to enter whitespace when using grep-read-files
12197         * lisp/progmodes/grep.el (lgrep, rgrep, grep-read-files): Explain
12198         how to enter whitespace when using grep-read-files.  (Bug#29303)
12199         * lisp/progmodes/project.el (project-find-regexp): Likewise.
12200         * lisp/vc/vc-git.el (vc-git-grep): Likewise.
12202 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
12204         Fix .gdbinit following lisp.h changes
12206         * src/.gdbinit (xsymname, pwinx, pgx, xbuffer, xcar, xcdr, xlist)
12207         (xprintstr): Adapt to latest changes in Lisp object C structures.
12208         (Bug#29332)
12210 2017-11-15  Charles A. Roelli  <charles@aurox.ch>
12212         * lisp/simple.el (shell-command): Doc fixes.
12214 2017-11-15  Noam Postavsky  <npostavs@gmail.com>
12216         Fix marker adjustment for undo (Bug#29118)
12218         * lisp/simple.el (primitive-undo): Compare marker against absolute
12219         value of POS, because the sign of POS is irrelevant to markers.
12221 2017-11-14  Daniel Pittman  <slippycheeze@google.com>
12223         Fix Bug#28139
12225         * lisp/net/tramp-sh.el: Set TERM and INSIDE_EMACS environment earlier.
12226         (tramp-remote-process-environment): Remove TERM and INSIDE_EMACS.
12227         (tramp-remote-process-environment): Document their special handling.
12228         (tramp-open-shell): Set TERM and INSIDE_EMACS prior to starting the
12229         initial remote shell, so that it is also aware of the environment
12230         in which it is operating.  (Bug#28139)
12232 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
12234         Fix Bug#29291
12236         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
12237         Preserve permissions when copying.  (Bug#29291)
12239 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
12241         Fix Bug#2928
12243         * test/lisp/net/tramp-tests.el (tramp-test25-file-selinux):
12244         Enhance test.  (Bug#29287)
12245         (tramp-test44-delay-load): Fix for older Emacsen.
12247 2017-11-14  Martin Rudalics  <rudalics@gmx.at>
12249         Make 'mouse-drag-and-drop-region' work with 'mouse-autoselect-window' non-nil
12251         * lisp/mouse.el (mouse-drag-and-drop-region): Ignore
12252         'select-window' events to make it work with
12253         'mouse-autoselect-window'.
12255 2017-11-14  Alexander Gramiak  <agrambot@gmail.com>
12257         * etc/PROBLEMS: Remove fixed xterm-mouse-mode problems
12259         See: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29143#26
12261 2017-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
12263         Fix cookie handling (bug#29282)
12265         * lisp/url/url-cookie.el (url-cookie-handle-set-cookie):
12266         Regard a Set-Cookie header as it contains a single cookie;
12267         prefer Max-Age to Expires and convert it to Expires;
12268         remove support for old time string styles (bug#29282).
12270 2017-11-13  Gemini Lasswell  <gazally@runbox.com>
12272         Improve documentation of Edebug and macros
12274         * doc/lispref/edebug.texi (Instrumenting Macro Calls): Improve
12275         discussion of when it might be necessary to find and evaluate macro
12276         specifications before instrumenting.
12277         (Specification List): Clarify what "defining form" means to Edebug
12278         and when 'def-form' or 'def-body' should be used instead of 'form'
12279         or 'body'.
12281 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
12283         Port to IBM xlc 12.01
12285         Work around a compiler bug by using a separate enum for alignment.
12286         * src/alloc.c (roundup_size): Declare in a separate enum.
12288 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
12290         Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED
12292         * configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.  No longer
12293         needed, since we no longer rely on __attribute__ ((aligned (8))).
12294         All uses removed.
12295         * src/emacs-module.c (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.
12296         (lisp_to_value): Simplify now that we no longer need to worry
12297         whether HAVE_STRUCT_ATTRIBUTE_ALIGNED is false.
12299 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
12301         Use alignas to fix GCALIGN-related bugs
12303         Use alignas and unions to specify alignments of objects needing
12304         addresses that are at least a multiple of GCALIGNMENT.  Using
12305         these standard C facilities should be safer than relying on ad hoc
12306         and poorly-understood features like GCC’s __attribute__
12307         ((aligned (N))), the root cause for recent porting bugs like
12308         Bug#29040.  The alignas macro was standardized by C11 and Gnulib
12309         supports alignas for pre-C11 platforms.  I have tested this on Sun
12310         Studio 12 sparc (2007) and GCC 4.4.7 x86-64 (2012) as well as on
12311         more recent platforms like GCC 7.2.1 (2017) on Fedora 26 (both
12312         x86-64 and x86).
12313         * lib-src/make-docfile.c (close_emacs_globals): lispsym is now
12314         just an array of struct Lisp_Symbol, since struct Lisp_Symbol is
12315         now properly aligned.  All uses changed.
12316         * src/alloc.c (NEXT_FREE_LISP_STRING): Just use the new u.next
12317         member; this is simpler and safer than casting a pointer that
12318         might not be aligned properly.
12319         (aligned_Lisp_Symbol): Remove.  No longer needed, now that struct
12320         Lisp_Symbol is aligned properly.  All uses replaced with struct
12321         Lisp_Symbol.
12322         * src/lisp.h (GCALIGNED): Remove, as it does not work as expected:
12323         it can cause the natural alignment to be ignored.  All uses
12324         replaced by unions with a ‘char alignas (GCALIGNMENT)’ member as
12325         described below.
12326         (struct Lisp_Symbol, struct Lisp_Cons, struct Lisp_String):
12327         Change definition from ‘struct TAG { MEMBERS };’ to
12328         ‘struct TAG { union { struct { MEMBERS } s; char alignas
12329         (GCALIGNMENT) gcaligned; } u; };’.  This guarantees ‘struct TAG’
12330         to have an alignment that at least max (GCALIGNMENT, N) where N is
12331         its old alignment.  All uses like ‘PTR->MEMBER’ changed to
12332         ‘PTR->u.s.MEMBER’; these uses were supposed to be mostly private
12333         anyway.  Verify that the resulting ‘struct TAG’ is properly
12334         aligned for Emacs.
12335         (union vectorlike_header): New member ‘gcaligned’ to guarantee
12336         that this type, and its containing types like ‘struct Lisp_Subr’,
12337         ‘struct buffer’ and ‘struct thread_state’, are all properly
12338         aligned for Emacs.
12339         (struct Lisp_String): New union member ‘next’, for the benefit
12340         of NEXT_FREE_LISP_STRING.
12341         (union Aligned_Cons, union Aligned_String): Remove.  All uses
12342         replaced by struct Lisp_Cons and struct Lisp_String, since they
12343         are now properly aligned.
12344         (USE_STACK_CONS, USE_STACK_STRING): Simplify now that we can
12345         assume struct Lisp_Cons and struct Lisp_String are properly
12346         aligned.
12348 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
12350         Change vectorlike from struct to union
12352         * src/lisp.h (vectorlike_headed): Change from struct to union.
12353         All uses changed.  Since it has only one member, this does not
12354         change semantics.  This is designed to simplify future changes
12355         needed to fix bugs like Bug#29040.  All uses changed.
12357 2017-11-12  Tom Tromey  <tom@tromey.com>
12359         Don't enable cursor-sensor-mode in mhtml-mode
12361         * lisp/textmodes/mhtml-mode.el (mhtml--last-submode): Update doc
12362         string.
12363         (mhtml-mode): Don't call cursor-sensor-mode.
12365 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
12367         * lisp/files.el (abbreviate-file-name): Doc fix.  (Bug#29267)
12369 2017-11-12  João Távora  <joaotavora@gmail.com>
12371         Unbreak interactive run of a flymake test (bug#29267)
12373         See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19657#20 for the
12374         technique used here.
12376         * test/lisp/progmodes/flymake-tests.el (ruby-backend):
12377         Let-bind abbreviated-home-dir.
12379 2017-11-12  Michael Albinus  <michael.albinus@gmx.de>
12381         Fix Bug#29225
12383         * src/fileio.c (Fset_file_acl): Report error only when
12384         acl_errno_valid returns true.  (Bug#29225)
12386         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl)
12387         (tramp-test25-file-selinux): New tests.
12388         (tramp-test26-file-name-completion, tramp-test27-load)
12389         (tramp-test28-process-file, tramp-test29-start-file-process)
12390         (tramp-test30-interrupt-process, tramp-test31-shell-command)
12391         (tramp-test32-environment-variables)
12392         (tramp-test32-environment-variables-and-port-numbers)
12393         (tramp-test33-explicit-shell-file-name)
12394         (tramp-test34-vc-registered)
12395         (tramp-test35-make-auto-save-file-name)
12396         (tramp-test36-find-backup-file-name)
12397         (tramp-test37-make-nearby-temp-file)
12398         (tramp-test38-special-characters)
12399         (tramp-test38-special-characters-with-stat)
12400         (tramp-test38-special-characters-with-perl)
12401         (tramp-test38-special-characters-with-ls, tramp-test39-utf8)
12402         (tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
12403         (tramp-test39-utf8-with-ls, tramp-test40-file-system-info)
12404         (tramp-test41-asynchronous-requests)
12405         (tramp-test42-recursive-load, tramp-test43-remote-load-path)
12406         (tramp-test44-delay-load, tramp-test45-unload): Rename.
12408 2017-11-12  Alan Mackenzie  <acm@muc.de>
12410         CC Mode: Fix defun-open being recognized as brace-list-open at EOB.
12412         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Add handling
12413         for an open brace at EOB and nested braces inside an unclosed brace block.
12415 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
12417         Merge from Gnulib
12419         This incorporates:
12420         2017-11-11 faccessat: port to macOS (Bug#29231)
12421         2017-11-05 fstatat: pacify GCC on unusual platform
12422         * build-aux/config.guess, build-aux/config.sub:
12423         * doc/misc/texinfo.tex, lib/faccessat.c, lib/fstatat.c:
12424         * lib/unistd.in.h, m4/faccessat.m4, m4/unistd_h.m4:
12425         Copy from Gnulib.
12426         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
12428 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
12430         Pacify GCC when configured --with-x-toolkit=no
12432         Without these changes, Emacs does not build on Fedora 26 x86-64
12433         when configured --with-x-toolkit=no --enable-gcc-warnings.
12434         * oldXMenu/Activate.c (XMenuActivate): Add FALLTHROUGH.
12435         * src/xterm.c (x_dispatch_event): Define only if
12436         USE_X_TOOLKIT || USE_MOTIF || USE_GTK.
12438 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
12440         * lisp/find-dired.el (find-grep-dired): Doc fix.  (Bug#29262)
12442 2017-11-12  João Távora  <joaotavora@gmail.com>
12444         Fix more flymake-diag-region eob corner cases and add tests (bug#29201)
12446         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
12447         more eob corner cases.
12449         * test/lisp/progmodes/flymake-tests.el
12450         (eob-region-and-trailing-newline): New test.
12452 2017-11-11  Basil L. Contovounesios  <contovob@tcd.ie>
12454         Keep Man sections in natural order (bug#28998)
12456         * lisp/man.el (Man-build-section-alist): Reverse sections.
12458 2017-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>
12460         * lisp/minibuffer.el: Install a workaround for bug#16274
12462         * lisp/minibuffer.el (completion--nth-completion): Avoid signaling an
12463         error when `md` is applied to another table.
12465 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
12467         Fix comparisons with tip_frame in GTK builds
12469         * src/xterm.c (x_update_begin, x_new_font):
12470         * src/xfns.c (Fx_display_monitor_attributes_list):
12471         * src/frame.c (Fframe_list) [USE_GTK]: Don't consider tip_frame a
12472         tooltip frame unless its 'tooltip' parameter is non-nil.  (Bug#26747)
12474 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
12476         Improve the documentation of M-n for entering file names
12478         * lisp/files.el (find-file, find-file-other-window)
12479         (find-file-other-frame): Mention file-name-at-point-functions in
12480         the doc string.  Reported by Florian Weimer <fw@deneb.enyo.de> in
12481         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00224.html.
12483         * doc/emacs/mini.texi (Minibuffer History): Document
12484         file-name-at-point-functions and its effect on M-n when typing
12485         file names in the minibuffer.
12486         * doc/emacs/files.texi (File Names):
12487         * doc/emacs/mini.texi (Minibuffer File): Add a cross-reference to
12488         "Minibuffer History", where special features of M-n regarding
12489         files are described.
12491 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
12493         Fix desktop auto-save timer when linum-mode is used
12495         * lisp/desktop.el (desktop-read): Use toplevel value of
12496         window-configuration-change-hook when deciding whether desktop
12497         auto-saving is enabled.  Suggested by Peter Neidhardt
12498         <pe.neidhardt@googlemail.com>.  (Bug#28945)
12500 2017-11-11  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
12502         Fix "C-h k" in xterm-mouse-mode
12504         * lisp/help.el (help-read-key-sequence): Support "C-h k" for
12505         xterm-mouse-mode by calling read-key-sequence-vector instead of
12506         read-event.  (Bug#29150)
12508 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
12510         Fix off-by-1 bug in --enable-checking=stringbytes
12512         Evidently nobody builds Emacs with --enable-checking=all,
12513         which is no surprise as it is so slow as to be unusable nowadays.
12514         Perhaps we should remove the slowest checks, or move them into
12515         another category, or speed them up, or something.
12516         * src/alloc.c (SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Fix off-by-one
12517         error in size calculation, which caused a failure when
12518         --enable-checking=stringbytes was used.  I introduced this bug in
12519         2016-09-08T01:08:45!eggert@cs.ucla.edu "Port flexible array
12520         members to GCC + valgrind".
12522 2017-11-10  Alan Mackenzie  <acm@muc.de>
12524         Correct the indentation of C99's compound literals.
12526         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Amend so that
12527         if there is only syntactic whitespace in a brace block, it is regarded as a
12528         statement block.  Also, if there is no semicolon or comma delimiter, treat as
12529         a statement block when there is a keyword.
12530         (c-guess-basic-syntax): CASE 9 test: Regard a brace as starting a brace block
12531         when its contents indicate a brace block.
12533 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
12535         Improve the doc string of 'dired-isearch-filter-filenames'
12537         * lisp/dired-aux.el (dired-isearch-filter-filenames): Doc fix.
12538         (Bug#29215)
12540 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
12542         * lisp/isearch.el (search-invisible): Doc fix.  (Bug#29222)
12544 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
12546         Fix display of line numbers in GTK builds
12548         * src/xdisp.c (should_produce_line_number) [USE_GTK]: Make sure
12549         tip_frame is indeed a tooltip frame, before disabling line numbers
12550         on it.  (Bug#27647)
12552         * src/dispextern.h (tip_frame): Add commentary describing the
12553         kludgey usage of this variable in GTK builds.
12555 2017-11-10  João Távora  <joaotavora@gmail.com>
12557         Fix previous change to flymake-diag-region (bug#29174)
12559         * lisp/progmodes/flymake.el (flymake-diag-region):
12560         Pass line and col to commit.
12562 2017-11-09  João Távora  <joaotavora@gmail.com>
12564         flymake-diag-region really returns nil if region is invalid (bug#29174)
12566         Reported by Lele Gaifax <lele@metapensiero.it>.
12568         * lisp/progmodes/flymake.el (flymake-diag-region): Really
12569         return nil if the region is invalid.
12571 2017-11-09  João Távora  <joaotavora@gmail.com>
12573         Flymake correctly highlights whole last line if eob (bug#29201)
12575         If a line/column pair indicates an end-of-buffer position, flymake
12576         should behave like the case where the last line of the buffer is
12577         referenced without a column indication.  This behavior is currently
12578         to highlight the whole last line.
12580         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
12581         conditions of fallback to the fallback-eol local function.
12583 2017-11-09  João Távora  <joaotavora@gmail.com>
12585         Protect Flymake checkdoc backend against checkdoc errors (bug#29176)
12587         The function checkdoc-current-buffer may error if there are unbalanced
12588         parens, for example, but this shouldn't disable the
12589         elisp-flymake-checkdoc backend.
12591         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc): Use
12592         ignore-errors.
12594 2017-11-09  João Távora  <joaotavora@gmail.com>
12596         Sort entries of the Flymake diagnostics buffer (bug#29175)
12598         Reported by Lele Gaifax <lele@metapensiero.it>.
12600         * lisp/progmodes/flymake.el
12601         (flymake--diagnostics-buffer-entries): Sort results of flymake-diagnostics.
12603 2017-11-09  Alan Mackenzie  <acm@muc.de>
12605         Correctly indent C++14 brace lists which are a second argument to a function.
12607         In particular, don't indent contained brace lists in "staircase" fashion.
12608         This fixes bug #28623.
12610         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): When
12611         testing for being enclosed in parens, recognize also a brace directly
12612         following a comma, as well as a brace being the first thing inside the paren.
12613         Enhance the return value, by indicating when we're directly inside an open
12614         paren.
12615         (c-inside-bracelist-p): Add an extra argument ACCEPT-IN-PARAM which indicates
12616         whether we will accept a bracelist directly inside an open parenthesis.
12617         Simplify the manipulation of PAREN-STATE by dispensing with variable LIM and
12618         using c-pull-open-brace.  Enhance the return value, respecting the new argument.
12619         (c-guess-basic-syntax): Save a copy of the initial parse-state in the new
12620         variable STATE-CACHE.  Use this variable in place of C-STATE-CACHE throughout
12621         the function.  At CASE 7B, call c-inside-bracelist-p with extra argument nil.
12622         At CASE 9, call that function with extra argument t.
12624 2017-11-09  Eli Zaretskii  <eliz@gnu.org>
12626         Fix redisplay of overlay-arrows on GUI frames
12628         * src/xdisp.c (try_window_reusing_current_matrix)
12629         (try_cursor_movement): Disallow these optimizations if the buffer
12630         has overlay arrow(s) shown on the fringe(s).  (Bug#29198)
12632 2017-11-09  João Távora  <joaotavora@gmail.com>
12634         Protect Flymake tests against older Ruby and Perl (bug#29187)
12636         * test/lisp/progmodes/flymake-tests.el (perl-backend): Search
12637         for the error from the bottom.
12638         (ruby-backend): Protect against situation of bug#29187
12640 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
12642         Fix URL cookie expiration bug
12644         Problem reported by Damien Cassou (Bug#29223).
12645         * lisp/url/url-cookie.el (url-cookie-expired-p):
12646         Fix typo in previous change, which caused unexpired cookies
12647         to be treated as expired and vice versa.
12649 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
12651         Use GCALIGNED properly for GCC
12653         Apparently GCC requires that ‘__attribute__ ((aligned (8)))’ must
12654         immediately follow the ‘struct’ keyword when aligning a structure.
12655         The attribute silently does not work if it follows a tag after the
12656         ‘struct’ keyword.  Who knew?  Anyway, this patch is designed to
12657         fix a SIGSEGV problem reported by John Mastro (Bug#29183).
12658         * lib-src/make-docfile.c (close_emacs_globals):
12659         * src/buffer.c (buffer_defaults, buffer_local_symbols):
12660         * src/lisp.h (DEFUN):
12661         * src/thread.c (main_thread):
12662         Put 'GCALIGNED' immediately after 'struct'.
12664 2017-11-09  Glenn Morris  <rgm@gnu.org>
12666         In f90.el, set fill-paragraph-function to a useful value
12668         * lisp/progmodes/f90.el (f90-mode-map) <menu>: Add fill-paragraph.
12669         (f90-mode): Set fill-paragraph-function.
12670         (f90-fill-paragraph): New command.
12672 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
12674         Fix to 2fddfb7ce7
12676         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
12677           Fix bogus paren wrapping.
12679 2017-11-08  Glenn Morris  <rgm@gnu.org>
12681         * admin/gitmerge.el (gitmerge-resolve-unmerged): Fix doc typo.
12683 2017-11-08  Charles A. Roelli  <charles@aurox.ch>
12685         Further workaround for faulty localtime() under macOS 10.6
12687         * lisp/org/org-clock.el (org-clock--oldest-date): Fix an issue
12688         when compiling on macOS 10.6 with a western time zone (a
12689         continuation of Bug#27736).  In particular, see:
12691         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27736#74
12693         and the first commit that attempted to work around this problem,
12694         "Workaround for faulty localtime() under macOS 10.6", bd49b6f1 of
12695         2017-09-30.
12697 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
12699         Handle object string name in eieio-persistent-convert-list-object
12701         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
12702           Starting to phase out the printing of object names in
12703           `object-write', handle either case.
12705 2017-11-08  Ryan C. Thompson  <rct@thompsonclan.org>
12707         Fix handling of nil PRED2 arg for completion-table-with-predicate
12709         * lisp/minibuffer.el (completion-table-with-predicate): Don't act as
12710         if strict is non-nil when pred2 is nil (Bug#27841).
12711         * test/lisp/minibuffer-tests.el
12712         (completion-table-with-predicate-test): Add a test for Bug#27841.
12714 2017-11-07  K. Handa  <handa@gnu.org>
12716         Describe Lao rendering problem
12718         * etc/PROBLEMS: Describe a workaround for the problem of Lao rendering
12719         by OpenTyype font.
12721 2017-11-07  K. Handa  <handa@gnu.org>
12723         Fix docstring of arabic-shaper-ZWNJ-handling
12725         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Adjusted
12726         the doctstring for addition of :set (bug#28312).
12728 2017-11-07  Antonin Houska  <ah@melesmeles.cz>  (tiny change)
12730         Handle single-line comments correctly (Bug#26049)
12732         * lisp/newcomment.el (comment-region-internal): Previously, the
12733         comment text had to contain at least one line break character for the
12734         ending extra line to be added.  Make the behavior more consistent by
12735         looking for end of line instead.
12736         (comment-region-internal): Remove trailing white space from the
12737         comment's initial line.
12739 2017-11-07  Glenn Morris  <rgm@gnu.org>
12741         * test/lisp/net/tramp-tests.el (tramp-test16-file-expand-wildcards):
12742         Clean up properly.
12744 2017-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>
12746         * etc/PROBLEMS: Add URL to relevant issues for xterm+evil bug
12748 2017-11-06  Martin Rudalics  <rudalics@gmx.at>
12750         Document new treatment of 'comment-auto-fill-only-comments'
12752         * doc/lispref/text.texi (Auto Filling): Add reference to Emacs
12753         manual.  Add description of 'comment-auto-fill-only-comments'.
12754         * etc/NEWS: Mention new treatment of
12755         'comment-auto-fill-only-comments'.
12757 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
12759         Do not load Tramp unless `tramp-mode' is non-nil
12761         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Load Tramp only if
12762         `tramp-mode' is non-nil.
12763         (tramp-unload-file-name-handlers): Unload also
12764         `tramp-autoload-file-name-handler'.
12766         * test/lisp/net/tramp-tests.el (tramp-test42-delay-load): Extend test.
12768 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
12770         Prefer `customize-set-variable' in tramp.texi
12772         * doc/misc/tramp.texi (Configuration, Default Method, Default User)
12773         (Default Host, Remote shell setup, Auto-save and Backup)
12774         (Ad-hoc multi-hops, Frequently Asked Questions):
12775         Prefer `customize-set-variable' over `custom-set-variables'.
12777 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
12779         Fix last change in hscroll_window_tree
12781         * src/xdisp.c (hscroll_window_tree): When hscroll suspension is
12782         being disabled, set the frame's garbaged flag less eagerly.
12783         (Bug#29002)
12785 2017-11-05  Philipp Stephani  <phst@google.com>
12787         Ediff: add some missing documentation
12789         * lisp/vc/ediff.el (ediff-files, ediff-files3, ediff-buffers)
12790         (ediff-buffers3, ediff-merge-directories)
12791         (ediff-merge-directories-with-ancestor)
12792         (ediff-merge-directory-revisions)
12793         (ediff-merge-directory-revisions-with-ancestor)
12794         (ediff-windows-wordwise, ediff-windows-linewise)
12795         (ediff-regions-wordwise, ediff-regions-linewise)
12796         (ediff-merge-files, ediff-merge-files-with-ancestor)
12797         (ediff-merge-buffers, ediff-merge-buffers-with-ancestor)
12798         (ediff-merge-revisions, ediff-merge-revisions-with-ancestor)
12799         (ediff-patch-file, ediff-revision): Document missing arguments.
12800         (ediff-patch-buffer, ediff-revision): Add second space after
12801         period.
12802         (ediff-files-command, ediff3-files-command, ediff-merge-command)
12803         (ediff-merge-with-ancestor-command, ediff-directories-command)
12804         (ediff-directories3-command, ediff-merge-directories-command): Add
12805         documentation for the command line functions.
12807 2017-11-05  Justin Timmons  <justinmtimmons@gmail.com>  (tiny change)
12809         Support python virtualenv on w32 (Bug#24464)
12811         According to the virtualenv docs only POSIX systems follow the
12812         structure "/path/to/venv/bin/", while windows systems use
12813         "/path/to/venv/Scripts" for the location of the binary files, most
12814         importantly including the python interpreter (see:
12815         https://virtualenv.pypa.io/en/stable/userguide/#windows-notes).
12816         * lisp/progmodes/python.el (python-shell-calculate-exec-path): Use the
12817         "/path/to/venv/Scripts" for `windows-nt' machines.
12819 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
12821         Improve dired deletion error handling (Bug#28797)
12823         * lisp/dired.el (dired-internal-do-deletions): Use
12824         `error-message-string' to produce a human readable error message.
12826 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
12828         Don't replace user input when completion prefix is empty (Bug#18951)
12830         * lisp/pcomplete.el (pcomplete-parse-arguments): Only replace user
12831         input if we produced a non-empty common completion stub.
12833 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
12835         Return non-nil from gnutls-available-p under GnuTLS 2.x
12837         * doc/misc/emacs-gnutls.texi (Help For Users): Update the
12838         documentation of 'gnutls-available-p'.
12840         * etc/NEWS (GnuTLS): Mention the change in the value returned by
12841         'gnutls-available-p'.
12843         * src/gnutls.c (Fgnutls_available_p): Return non-nil when GnuTLS
12844         2.x is available.  (Bug#29147)
12846 2017-11-05  João Távora  <joaotavora@gmail.com>
12848         Fix Flymake help-echo functions across windows (bug#29142)
12850         * lisp/progmodes/flymake.el (flymake--highlight-line): Use
12851         with-selected-window.
12852         (flymake-goto-next-error): Call help-echo with a window and an
12853         overlay.
12855 2017-11-05  João Távora  <joaotavora@gmail.com>
12857         Add tests for Flymake backends for Ruby and Perl
12859         * test/lisp/progmodes/flymake-tests.el (perl-backend)
12860         (ruby-backend): New tests.
12861         (warning-predicate-rx-perl, warning-predicate-function-perl):
12862         Delete tests.
12864         * test/lisp/progmodes/flymake-resources/test.pl: Include an
12865         error the test file.
12867         * test/lisp/progmodes/flymake-resources/test.rb: file.
12869 2017-11-05  João Távora  <joaotavora@gmail.com>
12871         Add a Flymake backend for Perl
12873         Define a simple backend in perl-mode.el, which cperl-mode.el also
12874         uses.
12876         * lisp/progmodes/cperl-mode.el (cperl-mode): Add to
12877         flymake-diagnostic-functions.
12879         * lisp/progmodes/flymake-proc.el
12880         (flymake-proc-allowed-file-name-masks): Disable legacy backend
12881         for perl files.
12883         * lisp/progmodes/perl-mode.el (perl-flymake-command): New
12884         defcustom.
12885         (perl--flymake-proc): New buffer-local variable.
12886         (perl-flymake): New function.
12887         (perl-mode): Add to flymake-diagnostic-functions.
12889 2017-11-05  João Távora  <joaotavora@gmail.com>
12891         Add a Flymake backend for Ruby
12893         * lisp/progmodes/ruby-mode.el (ruby-flymake-command): New
12894         defcustom.
12895         (ruby--flymake-proc): New buffer-local variable.
12896         (ruby-flymake): New function.
12897         (ruby-mode): Add flymake-diagnostic-functions.
12899 2017-11-05  Lele Gaifax  <lele@metapensiero.it>
12901         Add a Flymake backend for Python (bug#28808)
12903         Implement new Flymake backend with related customizable settings.
12905         * lisp/progmodes/python.el (python-flymake-command)
12906         (python-flymake-command-output-pattern)
12907         (python-flymake-msg-alist): New defcustom.
12908         (python--flymake-parse-output): New function, able to parse
12909         python-flymake-command output accordingly to
12910         python-flymake-command-output-pattern.
12911         (python-flymake): New function implementing the backend
12912         interface using python--flymake-parse-output for the real
12913         work.
12914         (python-mode): Add python-flymake to flymake-diagnostic-functions.
12916 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
12918         Allow "%" in Tramp host names
12920         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name): Hexify also host.
12922         * lisp/net/tramp.el (tramp-host-regexp): Allow "%" in host names.
12924 2017-11-04  Noam Postavsky  <npostavs@users.sourceforge.net>
12926         Use hybrid malloc for FreeBSD (Bug#28308)
12928         FreeBSD aarch64 does not provide sbrk, so gmalloc cannot be used; when
12929         using system malloc dumping does not work correctly (allocated data is
12930         invalid after dumping).
12931         * configure.ac: Set hybrid_malloc for freebsd.
12932         * src/gmalloc.c (gdefault_morecore) [!HAVE_SBRK]: Don't call sbrk.
12934 2017-11-04  Charles A. Roelli  <charles@aurox.ch>
12936         Add html-, mhtml- and python-mode support to semantic symref
12938         * lisp/cedet/semantic/symref/grep.el
12939         (semantic-symref-filepattern-alist): Fix the entry for
12940         'html-mode', which used a regexp-like syntax where only glob
12941         syntax is permitted.  As a result, 'xref-find-references' (M-?)
12942         can now find references in HTML files.  Also duplicate the same
12943         entry for the sake of 'mhtml-mode', and add a new one for
12944         'python-mode'.
12945         (semantic-symref-derive-find-filepatterns): In the documentation,
12946         clarify that returned patterns must follow the glob syntax.  Fix
12947         an 'if' test that always evaluates to nil.
12948         (semantic-symref-tool-grep):
12949         (semantic-symref-perform-search): Fix typos.
12951 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
12953         Improve documentation of 'window-scroll-functions'
12955         * doc/lispref/windows.texi (Window Hooks): Clarify the values of
12956         arguments of 'window-scroll-functions' functions.
12958         * src/xdisp.c (syms_of_xdisp) <window-scroll-functions>: Doc fix.
12960 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
12962         Fix subtle problems in tabulated-list-mode with line numbers
12964         * lisp/emacs-lisp/tabulated-list.el
12965         (tabulated-list-watch-line-number-width): Call
12966         tabulated-list-init-header instead of tabulated-list-revert.
12967         (tabulated-list-window-scroll-function): New function.
12968         (tabulated-list-mode): Put 'tabulated-list-window-scroll-function'
12969         on the buffer-local 'window-scroll-functions' list.
12971 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
12973         Make gdb-non-stop-setting default to nil on MS-Windows
12975         * lisp/progmodes/gdb-mi.el (gdb-non-stop-setting): Now nil on
12976         MS-Windows.
12978 2017-11-04  Mike Gulick  <mike.gulick@mathworks.com>  (tiny change)
12980         Fix gdb-mi prompt after "attach PID" command
12982         * lisp/progmodes/gdb-mi.el (gdbmi-bnf-console-stream-output): Set
12983         gdb-first-done-or-error non-nil.  (Bug#29020)
12985 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
12987         Fix doc string of 'window-configuration-change-hook'
12989         * src/window.c (syms_of_window) <window-configuration-change-hook>:
12990         Doc fix.  (Bug#29049)
12992 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
12994         Improve documentation of window hooks
12996         * doc/lispref/windows.texi (Window Hooks): Fix the description of
12997         window-configuration-change-hook.  (Bug#29049)
12998         <run-window-scroll-functions, run-window-configuration-change-hook>:
12999         Document these functions.
13001 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
13003         Fix hscroll suspension after cursor motion
13005         * src/xdisp.c (hscroll_window_tree): Trigger a thorough redisplay
13006         of the window when temporary suspension of hscrolling is
13007         disabled.  (Bug#29002)
13009 2017-11-03  Alan Mackenzie  <acm@muc.de>
13011         Introduce a function to CC Mode which displays the current function name
13013         Remove an erroneous interactive specification from two functions.
13015         * lisp/progmodes/cc-cmds.el (c-display-defun-name): New command.
13016         (c-defun-name, c-cpp-define-name): Remove interactive specification.
13018         * lisp/progmodes/cc-mode.el (c-mode-base-map): Add binding C-c C-z for the new
13019         command.
13021         * doc/misc/cc-mode.texi (Other Commands): Add documentation for the new
13022         command.
13024 2017-11-03  Eli Zaretskii  <eliz@gnu.org>
13026         Fix typos in ediff-wind.el
13028         * lisp/vc/ediff-wind.el (ediff-setup-windows-multiframe-merge):
13029         Fix typos in commentary.  (Bug#29138)
13031 2017-11-03  João Távora  <joaotavora@gmail.com>
13033         Examine tex-chktex--process in the correct buffer
13035         As in other Flymake backends, the process sentinel might run in
13036         arbitrary buffers where this variable's value doesn't make sense.
13038         For a way to trigger a problem due to this, see discussion starting in
13039         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00645.html
13041         * lisp/textmodes/tex-mode.el (tex-chktex): Use
13042         with-current-buffer.
13044 2017-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
13046         * nt/INSTALL.W64: Update to current mingw64 install instructions
13048 2017-11-03  João Távora  <joaotavora@gmail.com>
13050         Don't resignal errors in flymake-diag-region
13052         * lisp/progmodes/flymake.el (flymake-diag-region): Use
13053         flymake-log instead of flymake-error.
13055 2017-11-03  João Távora  <joaotavora@gmail.com>
13057         New xref-quit-and-goto-xref command bound to TAB (bug#28814)
13059         This is like xref-goto-xref, but quits the *xref* window just before
13060         the user jump to ref.
13062         * lisp/progmodes/xref.el (xref--show-location): Handle 'quit
13063         value for SELECT.
13064         (xref-goto-xref): Take optional QUIT arg.
13065         (xref-quit-and-goto-xref): New command.
13066         (xref--xref-buffer-mode-map): Bind "Q" and "TAB" to
13067         xref-quit-and-goto-xref.
13069         * doc/emacs/maintaining.texi (Xref Commands): Describe new bindings in
13070         *xref*.
13072         * etc/NEWS (Xref): Describe new binding.
13074 2017-11-03  João Távora  <joaotavora@gmail.com>
13076         Allow split-window-sensibly to split threshold in further edge case
13078         As a fallback, and to avoid creating a frame, split-window-sensibly
13079         would previously disregard split-height-threshold if the window to be
13080         split is the frame's root window.
13082         This change generalizes that: it disregards the threshold if the
13083         window to be split is the frame's only _usable_ window (it is either
13084         the only one, as before, or all the other windows are dedicated to
13085         some buffer and thus cannot be touched).
13087         This is required for the fix to bug#28814.
13089         * lisp/window.el (split-height-threshold): Adjust doc to match
13090         split-window-sensibly.
13091         (split-window-sensibly): Also disregard threshold if all other
13092         windows are dedicated.
13094 2017-11-03  João Távora  <joaotavora@gmail.com>
13096         Honor window-switching intents in xref-find-definitions (bug#28814)
13098         When there is more than one xref to jump to, and an *xref* window
13099         appears to help the user choose, the original intent to open a
13100         definition in another window or frame is remembered when the choice to
13101         go to or show a reference is finally made.
13103         * lisp/progmodes/xref.el (xref--show-pos-in-buf): Rewrite.
13104         (xref--original-window-intent): New variable.
13105         (xref--original-window): Rename from xref--window and move up
13106         here for clarity.
13107         (xref--show-pos-in-buf): Rewrite.  Don't take SELECT arg here.
13108         (xref--show-location): Handle window selection decision here.
13109         (xref--window): Rename to xref--original-window.
13110         (xref-show-location-at-point): Don't attempt window management here.
13111         (xref--show-xrefs): Ensure display-action intent is saved.
13113 2017-11-03  Paul Pogonyshev  <pogonyshev@gmail.com>
13115         * lisp/emacs-lisp/generator.el (iter-do): Add a debug declaration.
13117 2017-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
13119         * lisp/progmodes/flymake.el (flymake-start): Fix dead buffer case
13121         Don't try to flymake-start within a buffer that doesn't exist any more.
13123 2017-11-03  Basil L. Contovounesios  <contovob@tcd.ie>
13125         Fix buffer name comparison in async shell-command
13127         * lisp/simple.el (shell-command): Keep track of output-buffer
13128         by its name, not by its object.  (Bug#28997)
13130 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
13132         Change GCALIGNMENT back to an integer literal
13134         * src/lisp.h (GCALIGNMENT): Change it back to a macro
13135         that expands to a literal integer constant, for older GCC.
13136         I had mistakenly thought that only MSVC had the problem.
13137         Problem repored by Eli Zaretskii (Bug#29040#69).
13139 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
13141         * src/lisp.h (GCALIGNED): Clarify comment (Bug#29040).
13143 2017-11-03  Hong Xu  <hong@topbug.net>
13145         Improve the doc of eshell-cmpl-* custom variables (Bug#25069)
13147         * lisp/eshell/em-cmpl.el (eshell-cmpl--custom-variable-docstring): New
13148         function to generate the docstring for custom variables derived from
13149         pcomplete-* variables.
13150         (eshell-cmpl-file-ignore, eshell-cmpl-dir-ignore)
13151         (eshell-cmpl-ignore-case, eshell-cmpl-autolist)
13152         (eshell-cmpl-suffix-list, eshell-cmpl-recexact)
13153         (eshell-cmpl-man-function, eshell-cmpl-compare-entry-function)
13154         (eshell-cmpl-expand-before-complete, eshell-cmpl-cycle-completions)
13155         (eshell-cmpl-cycle-cutoff-length, eshell-cmpl-restore-window-delay)
13156         (eshell-command-completion-function, eshell-cmpl-command-name-function)
13157         (eshell-default-completion-function, eshell-cmpl-use-paring): Use it
13158         to set the docstring.
13160 2017-11-02  Alan Third  <alan@idiocy.org>
13162         Fix mouse-scrollbar offset on GNUstep and old macOS (bug#29053)
13164         * src/nsterm.m (EmacsScroller::mouseDown,
13165         EmacsScroller::mouseDragged): Take scroller buttons into account when
13166         calculating scroller knob position.
13168 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13170         Merge from Gnulib
13172         This incorporates:
13173         2017-10-29 timespec: prefer ‘assume’ to ‘assure’
13174         2017-10-27 timespec.h: use "assure" to avoid a spurious warning
13175         2017-10-09 getopt-posix: Fix build failure if ac_cv_header_getopt_h=no
13176         * build-aux/config.guess, build-aux/config.sub:
13177         * lib/timespec.h, lib/unistd.in.h:
13178         Copy from Gnulib.
13180 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13182         Fix alignment portability problems
13184         Do not assume that the natural alignment of Lisp objects is a
13185         multiple of GCALIGNMENT.  This improves on the portability of the
13186         recent fix for Bug#29040.
13187         * lib-src/make-docfile.c (close_emacs_globals):
13188         * src/buffer.c (buffer_defaults, buffer_local_symbols):
13189         * src/lisp.h (DEFUN):
13190         * src/thread.c (main_thread):
13191         Use GCALIGNED, not alignas (GCALIGNMENT).
13192         * src/alloc.c (COMMON_MULTIPLE):
13193         Move back here from lisp.h, since it is no longer used elsewhere.
13194         * src/lisp.h (GCALIGNMENT): No longer a macro, since we need not
13195         worry about MSVC.  Omit no-longer-needed consistency check.
13196         * src/thread.c (THREAD_ALIGNMENT): Remove.
13198 2017-11-02  Simen Heggestøyl  <simenheg@gmail.com>
13200         Fix completion of colon after CSS property (Bug#29056)
13202         * lisp/textmodes/css-mode.el (css-completion-at-point): Don't insert
13203         ": ;" after completing a CSS property unless the rest of the line is
13204         empty.
13206 2017-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
13208         * src/alloc.c (sweep_symbols): Tweak last change
13210         Avoid the double-free without the extra check.  Add an explanatory comment.
13212 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
13214         In frame parameters documentation mention desktop saving/restoring
13216         * doc/lispref/frames.texi (Frame Parameters): Mention that
13217         applications have to care about which parameters they want to
13218         get saved and restored by the desktop library.
13220 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
13222         Don't have frameset save the 'client' parameter (Bug#29067)
13224         * lisp/frameset.el (frameset-persistent-filter-alist): Never
13225         save 'client' parameter (Bug#29067).
13227 2017-11-02  Gemini Lasswell  <gazally@runbox.com>
13229         Handle generic variables in cl-defgeneric Edebug spec
13231         *lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix Edebug spec to
13232         match (setf name) and replace incorrect cl-lambda-list with listp
13233         (Bug#27747).
13235 2017-11-02  Noam Postavsky  <npostavs@gmail.com>
13237         Give a more sensible message if file-attributes fails (Bug#29070)
13239         * lisp/server.el (server-ensure-safe-dir): Don't claim the directory
13240         is a file if we fail to get anything from `file-attributes'.
13242 2017-11-01  Andreas Schwab  <schwab@linux-m68k.org>
13244         Avoid wrong value from file-attributes on Linux kernel before 3.6
13246         * src/dired.c (file_attributes): Handle unsupported fstat on O_PATH
13247         descriptors.  (bug#29070)
13249 2017-11-01  Noam Postavsky  <npostavs@gmail.com>
13251         Fix customization of debugger-print-function (Bug#29077)
13253         * lisp/emacs-lisp/debug.el (debugger-print-function): The :options
13254         keyword has no effect for :type 'function, use :type '(choice ...)
13255         instead.
13257 2017-10-31  Eli Zaretskii  <eliz@gnu.org>
13259         Avoid duplicate calls to xfree for the same pointer
13261         * src/alloc.c (sweep_symbols): Avoid freeing an already freed
13262         pointer to a symbol's buffer-local value.  (Bug#29066)
13264 2017-10-31  Phil Sainty  <psainty@orcon.net.nz>
13266         Don't clobber docstrings of explicitly-defined mode hook variables
13268         * lisp/emacs-lisp/derived.el (define-derived-mode):
13269         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): When defining the
13270         mode hook variable, do not clobber pre-existing docstrings.
13272 2017-10-31  Martin Rudalics  <rudalics@gmx.at>
13274         Avoid fullscreen ediff control frames by default (Bug#29026)
13276         * lisp/vc/ediff-wind.el (ediff-control-frame-parameters):
13277         Add parameter to avoid fullscreen control frames (Bug#29026).
13279 2017-10-31  Katsumi Yamaoka  <yamaoka@jpl.org>
13281         Fix the bug#24034 change (revno 9eb028f) causing infloop (bug#29047)
13283         * lisp/net/shr.el (shr-fill-line): Copy only face and image-displayer
13284         properties to gaps (bug#29047).
13286 2017-10-30  Eli Zaretskii  <eliz@gnu.org>
13288         Fix a typo in the ELisp manual
13290         * doc/lispref/functions.texi (Obsolete Functions): Fix a typo.
13291         (Bug#29068)
13293 2017-10-30  Martin Rudalics  <rudalics@gmx.at>
13295         Fix doc and doc-strings for minibuffer window related functions (Bug#28978)
13297         These fixes were suggested by Drew Adams.
13299         * src/window.c (Fminibuffer_selected_window): Disambiguate
13300         doc-string.
13301         * doc/lispref/minibuf.texi (Intro to Minibuffers)
13302         (Minibuffer Windows, Recursive Mini, Minibuffer Misc):  Avoid
13303         the term "currently active minibuffer window".  Disambiguate
13304         documentation of `minibuffer-selected-window'.
13306 2017-10-30  Alan Mackenzie  <acm@muc.de>
13308         Fix "Args out of range" error in c-determine-limit.  Fixes bug #28598.
13310         * lisp/progmodes/cc-engine.el (c-determine-limit-get-base): If the candidate
13311         position for BASE is below point-min, scan forward to the end of the current
13312         literal.
13313         (c-determine-limit): Add an extra arm to the final cond form, testing for BASE
13314         being at point-min.
13316 2017-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
13318         * lisp/progmodes/perl-mode.el: Fix electric indentation with RET
13320         (perl-electric-noindent-p): The `eolp' check should not apply to RET.
13321         Reported in https://emacs.stackexchange.com/questions/36337.
13323 2017-10-29  Tom Tromey  <tom@tromey.com>
13325         Extend mhtml submode region when in comment
13327         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Extend
13328         submode when start happens to be in a comment.
13330 2017-10-29  Tom Tromey  <tom@tromey.com>
13332         Fix mthml submode lighting at end of buffer
13334         * lisp/textmodes/mhtml-mode.el (mhtml--submode-lighter): Handle end of
13335         buffer correctly.
13337 2017-10-29  Tom Tromey  <tom@tromey.com>
13339         Remember more variables in mhtml-mode
13341         * lisp/textmodes/mhtml-mode.el (mhtml--crucial-variable-prefix): Add
13342         "completion-" and "major-mode".
13343         (mhtml--variable-prefix): Remove "major-mode".
13345 2017-10-29  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
13347         * etc/NEWS (EUDC): Deprecate BBDB 2.x backward compatibility.
13349 2017-10-29  Martin Rudalics  <rudalics@gmx.at>
13351         Fix minibuffer window related docs and strings (Bug#28978)
13353         * src/frame.c (Vdefault_minibuffer_frame): Fix doc-string.
13354         * src/window.c (Fminibuffer_selected_window): Fix doc-string.
13355         * doc/lispref/frames.texi (Buffer Parameters): Rewrite
13356         description of `minibuffer' parameter.
13357         * doc/lispref/minibuf.texi (Minibuffer Windows): Reorder
13358         entries and partly rewrite section.
13359         (Minibuffer Misc): Clarify description of
13360         `minibuffer-selected-window'.
13361         * etc/NEWS: Mention new semantics of 'minibuffer' frame
13362         parameter.
13364 2017-10-29  Mark Oteiza  <mvoteiza@udel.edu>
13366         Add ChkTeX flymake backend for latex-mode
13368         * lisp/textmodes/tex-mode.el (tex-flymake): New custom group.
13369         (tex-chktex-program, tex-chktex-extra-flags): New custom variables.
13370         (latex-mode): Add backend to flymake-diagnostic-functions.
13371         (tex-chktex--process): New variable.
13372         (tex-chktex-command, tex-chktex): New functions.
13374 2017-10-29  Glenn Morris  <rgm@gnu.org>
13376         Fix doc typos
13378         * lisp/simple.el (line-move-ignore-invisible):
13379         * lisp/sort.el (sort-regexp-fields):
13380         * lisp/cedet/ede.el (project-add-file):
13381         * lisp/gnus/message.el (message-bogus-recipient-p):
13382         * lisp/international/mule.el (define-coding-system):
13383         * lisp/progmodes/ebrowse.el (ebrowse-member-buffer-object-menu):
13384         * lisp/progmodes/xscheme.el (xscheme-allow-output-p)
13385         (scheme-interaction-mode, scheme-debugger-mode)
13386         (xscheme-yank-pop, xscheme-yank-push): Doc fixes.
13388 2017-10-29  Glenn Morris  <rgm@gnu.org>
13390         Fix some duplicate word typos
13392         * doc/misc/ede.texi (ede-target):
13393         * doc/misc/flymake.texi (Using Flymake):
13394         * doc/misc/gnus.texi (The namazu Engine): Fix typos.
13396 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
13398         * doc/lispref/commands.texi (Adjusting Point): Fix wording. (Bug#29042)
13400 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
13402         Avoid segfaults in 64-bit Windows builds
13404         * src/lisp.h (COMMON_MULTIPLE): Move here from alloc.c.
13405         * src/thread.c (THREAD_ALIGNMENT): New macro.
13406         (main_thread): Use THREAD_ALIGNMENT to align propertly.  (Bug#29040)
13408 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
13410         Fix conversion of pixel coordinates to buffer position
13412         * src/dispnew.c (buffer_posn_from_coords): Adapt to
13413         auto-hscroll-mode == current-line.
13415 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
13417         Fix doc strings in desktop.el
13419         * lisp/desktop.el (desktop-auto-save-timeout)
13420         (desktop-auto-save-set-timer): Doc fixes.  (Bug#28945)
13422 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
13424         Add Index to ERT manual
13426         * doc/misc/ert.texi: Add @syncodeindex directives.
13427         (Index): New node.
13428         (Top): Add Index to the top-level menus.
13429         Add index entries to all nodes.
13431 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
13433         Make manuals and NEWS consistent
13435         * etc/NEWS: Fix markings on several entries, and rearrange others
13436         as needed.
13438         * doc/emacs/programs.texi (Hideshow): Document the new
13439         outline-like bindings.
13440         * doc/emacs/search.texi (Query Replace): Document 'u' and 'U'.
13442 2017-10-28  Martin Rudalics  <rudalics@gmx.at>
13444         Don't allow (minibuffer-window-active-p nil) to return t
13446         * lisp/window.el (minibuffer-window-active-p): Return t
13447         only if WINDOW is a live window.
13449 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
13451         Clarify obsolescence message for 'whitespace-tab'
13453         * lisp/whitespace.el (whitespace-tab): Make the obsolescence
13454         message more clear about the replacement.
13456 2017-10-28  Glenn Morris  <rgm@gnu.org>
13458         Fix some duplicate words typos
13460         * lisp/erc/erc.el (erc-hide-current-message-p):
13461         * lisp/progmodes/flymake-proc.el (flymake-proc-diagnostic-type-pred):
13462         * doc/lispref/display.texi (Bidirectional Display, Delayed Warnings):
13463         * doc/lispref/functions.texi (Defining Functions):
13464         * doc/lispref/os.texi (Terminal-Specific):
13465         * doc/misc/sem-user.texi (Analyzer Debug):
13466         * doc/misc/srecode.texi (Special Variables): Fix typos.
13468 2017-10-28  Glenn Morris  <rgm@gnu.org>
13470         * lisp/button.el (button-activate): Fix doc typo.
13472         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Fix doc typo.
13474 2017-10-28  Glenn Morris  <rgm@gnu.org>
13476         Fix some doc typos
13478         * lisp/calendar/todo-mode.el (todo-next-item)
13479         (todo-previous-item, todo-toggle-item-header):
13480         * lisp/window.el (move-to-window-group-line):
13481         * src/editfns.c (Fformat):
13482         * test/lisp/calendar/todo-mode-tests.el (todo-test-move-item05):
13483         Fix doc typos.
13485 2017-10-27  Ken Brown  <kbrown@cornell.edu>
13487         Fix startup display on Cygwin
13489         * src/xterm.c (x_make_frame_visible) [CYGWIN]: Restore code that
13490         forces input to be read.  (Bug#24091)
13492 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
13494         * src/fileio.c (Fset_default_file_modes): Fix typo in doc string.
13496         * lisp/dired.el (dired-find-alternate-file): Doc fix.  (Bug#28963)
13498 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
13500         Improve documentation of how faces are applied to display stings
13502         * doc/lispref/display.texi (Displaying Faces): Describe how the
13503         faces of the "underlying" text affect overlay and display strings.
13504         (Display Margins): Add a cross-reference to "Displaying Faces".
13506 2017-10-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
13508         Improve pixel-scroll-mode
13510         Scroll vertically by number of pixels returned by
13511         'frame-char-height' with or without horizontally scrolled.
13512         (Bug#28922)
13514         * lisp/pixel-scroll.el (pixel-resolution-fine-flag): When t, scroll
13515         by number of pixels returned by 'frame-char-height'.
13516         (pixel-scroll-up): Scroll by 'frame-char-height'. Fix algorithm to
13517         move cursor to avoid unexpected jump.
13518         (pixel-scroll-down): Scroll by 'frame-char-height'.
13519         (pixel-bob-at-top-p): Consider number of pixels that is about to
13520         scroll.
13521         (pixel-posn-y-at-point): Consider existence of an overlay string.
13522         Return nil when horizontally scrolled.
13523         (pixel-point-at-top-p): Consider number of pixels that is about to
13524         scroll. Use different algorithm when horizontally scrolled.
13525         (pixel-point-at-bottom-p): Consider number of pixels that is about
13526         to scroll. Return nil when horizontally scrolled.
13527         (pixel-scroll-pixel-down): Move cursor when horizontally scrolled.
13528         (pixel--whistlestop-line-up): Change cosmetics and move cursor when
13529         horizontally scrolled.
13530         (pixel-line-height): Call 'pixel-visual-line-height' instead of
13531         'line-pixel-height'.
13532         (pixel-visual-line-height): New function to return height in pixels
13533         of text line where cursor is with or without horizontally scrolled,
13534         considering response of display engine.
13535         (pixel-visible-pos-in-window): New function to return position of
13536         a char shown on text line where cursor is on screen with or without
13537         horizontally scrolled.
13539 2017-10-27  Daniel Lublin  <daniel@lublin.se>  (tiny change)
13541         Support Certification Authority Authorization in dns-mode.el
13543         * lisp/textmodes/dns-mode.el (dns-mode-types): Add "CAA".
13544         (Bug#28911)
13546 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
13548         Improve documentation of set-default-file-modes
13550         * src/fileio.c (Fset_default_file_modes): Doc fix.  (Bug#28875)
13552         * doc/lispref/files.texi (Changing Files): Clarify how the bits in
13553         the argument of set-default-file-modes are used for setting file
13554         permissions.
13556 2017-10-27  Ulf Jasper  <ulf.jasper@web.de>
13558         Fix documentation of `newsticker-new-item-functions' (bug#29023).
13560         * lisp/net/newst-backend.el (newsticker-new-item-functions),
13561         (newsticker-new-item-functions-sample),
13562         (newsticker-download-enclosures): Fix docstring, rename
13563         variable feed to feedname (bug#29023).
13565         * doc/misc/newsticker.texi (Automatic Processing)
13566         (Automatic Processing): Fix documentation of
13567         `newsticker-new-item-functions' (bug#29023).
13569 2017-10-27  Tino Calancha  <tino.calancha@gmail.com>
13571         Require seq in rmc.el
13573         * lisp/emacs-lisp/rmc.el: Require seq (Bug#28975).
13574         * test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice): Add test.
13576 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
13578         Make an example code introduced in the Gnus info work (bug#29008)
13580         You can find it in the bottom of (info "(gnus)Foreign Groups").
13581         NOTE: this change is worth being merged to the trunk.
13583         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-emacs-bug-group):
13584         Allow a string for bug# (bug#29008).
13586 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
13588         Enable gnus-read-ephemeral-* to run multiple times (bug#29008)
13590         NOTE: *DO NOT* merge this change to the trunk.
13592         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group)
13593         (gnus-read-ephemeral-bug-group): Make it work for any number of times
13594         for the case `url-automatic-caching' is set (bug#29008).
13596 2017-10-27  Paul Eggert  <eggert@cs.ucla.edu>
13598         Port thread.c to OpenBSD ARM
13600         Problem reported by Jeremie Courreges-Anglas (Bug#29005).
13601         * src/thread.c (main_thread): Align to GCALIGNMENT.
13603 2017-10-26  Alan Mackenzie  <acm@muc.de>
13605         Fix another "wrong side of point" error in CC Mode.
13607         This fixes (a follow-up to) bug #28850.
13608         A internal generated form for scanning text to fontify had a LIMIT parameter.
13609         It also locally bound LIMIT to a value possibly beyond the original LIMIT,
13610         allowing point to move beyond the original LIMIT, and to create the wrong side
13611         error.  Fix it by checking point is not beyond LIMIT in the outer context
13612         before using it.
13614         * lisp/progmodes/cc-fonts.el (c-make-font-lock-search-form): Add a new
13615         parameter CHECK-POINT which, when non-nil, directs the function to generate a
13616         check on point.
13617         (c-make-font-lock-context-search-function): Invoke the above function with new
13618         argument value t.
13620 2017-10-26  Michael Albinus  <michael.albinus@gmx.de>
13622         Fix Bug#28959
13624         * lisp/net/tramp.el (tramp-handle-find-backup-file-name):
13625         Use `tramp-tramp-file-p' rather than `tramp-file-name-p'.  Add
13626         hop to backup file name.  (Bug#28959)
13628         * test/lisp/net/tramp-tests.el (tramp-test34-find-backup-file-name):
13629         New test.
13630         (tramp-test35-make-nearby-temp-file)
13631         (tramp-test36-special-characters)
13632         (tramp-test36-special-characters-with-stat)
13633         (tramp-test36-special-characters-with-perl)
13634         (tramp-test36-special-characters-with-ls, tramp-test37-utf8)
13635         (tramp-test37-utf8-with-stat, tramp-test37-utf8-with-perl)
13636         (tramp-test37-utf8-with-ls, tramp-test38-file-system-info)
13637         (tramp-test39-asynchronous-requests)
13638         (tramp-test40-recursive-load, tramp-test41-remote-load-path)
13639         (tramp-test42-delay-load, tramp-test43-unload): Rename.
13641 2017-10-26  Paul Eggert  <eggert@cs.ucla.edu>
13643         Fix duplicate .o file on QNX
13645         * configure.ac (CYGWIN_OBJ): Leave empty on QNX.
13646         Problem reported by Elad Lahav in:
13647         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00750.html
13649 2017-10-26  Dmitry Gutov  <dgutov@yandex.ru>
13651         Fix two js indentation problems
13653         Fix intentation problems reported in
13654         https://github.com/mooz/js2-mode/issues/463.
13655         * lisp/progmodes/js.el (js--continued-expression-p):
13656         Check syntax state after /.
13657         (js--multi-line-declaration-indentation):
13658         Check syntax state before "const".
13660 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
13662         Update documentation for windows build
13664         * admin/nt/dist-build/README-scripts: New File.
13666 2017-10-25  Alan Mackenzie  <acm@muc.de>
13668         Fix a "wrong side of point" error in CC Mode.  Fixes bug #28850.
13670         The cause was a scanning over a bracket pair taking us beyond the supplied
13671         LIMIT parameter in c-forward-declarator.
13673         * lisp/progmodes/cc-engine.el (c-forward-declarator): Add three checks (<
13674         (point) limit) whilst dealing with tokens after the declared identifier.
13676         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Don't supply a LIMIT
13677         argument to `c-forward-declarator' (twice), since we want to fontify up till
13678         the end of a declarator, not an arbitrary jit-lock chunk end.
13680 2017-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
13682         Fix autoload of flymake from elisp-mode during bootstrap (bug#28994)
13684         * lisp/loadup.el: add `progmodes` to load-path so we can find flymake.el.
13685         * lisp/kmacro.el: Require `replace` since we use query-replace-map.
13686         * lisp/replace.el: Require `text-mode` since we use text-mode-map.
13688 2017-10-25  Alan Third  <alan@idiocy.org>
13690         Fix non-native fullscreen on NS (bug#28872)
13692         * src/nsterm.m (EmacsView::updateFrameSize): Handle case where
13693         FRAME_TOOLBAR_HEIGHT returns a negative number.  Force WM to set size
13694         of frame.
13696 2017-10-25  Michael Albinus  <michael.albinus@gmx.de>
13698         Fix Bug#28982
13700         * admin/MAINTAINERS: Add test/lisp/url/url-tramp-tests.el.
13702         * lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp)
13703         (url-tramp-convert-tramp-to-url): Adapt to recent Tramp changes.
13705         * test/lisp/url/url-tramp-tests.el: New file.  (Bug#28982)
13707 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
13709         Fix windows build errors
13711         * admin/nt/dist-build/build-zips.sh: Correct name of zip file, build
13712           64 bit first
13714 2017-10-25  Noam Postavsky  <npostavs@gmail.com>
13716         Fix compile warning for non-w32 builds
13718         Since 2017-07-25 "ls-lisp: Add an unload function and enable lexical
13719         binding", the non-w32 builds would treat the undeclared
13720         w32-collate-ignore-punctuation variable as lexical.
13721         * lisp/ls-lisp.el (top-level): Declare it as a dynamic variable.
13723 2017-10-25  David Glasser  <glasser@davidglasser.net>  (tiny change)
13725         Display commit in package description, if available (Bug#28637)
13727         MELPA includes a :commit field in its
13728         packages (https://github.com/melpa/package-build/pull/6).  You can use
13729         this to tell if MELPA has processed a recently-merged change.  This
13730         commit adds that metadata to the package description buffer.
13732         * lisp/emacs-lisp/package.el: Display commit in package description.
13734 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13736         Port to QNX
13738         Simplified version of a patch proposed by Elad Lahav in:
13739         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00716.html
13740         which is based on a previous patch I proposed in:
13741         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00707.html
13742         * configure.ac (opsys, CFLAGS, LIBS_SYSTEM, hybrid_malloc)
13743         (system_alloc, FIRST_PTY_LETTER, CYGWIN_OBJ):
13744         Set appropriately for QNX.
13745         * src/unexelf.c [__QNX__]: Include <sys/elf.h> instead of <elf.h>.
13746         (unexec): Check for sbrk failure, and fall back on old BSS end.
13748 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
13750         * configure.ac: Tweak libcurses diagnostic.
13752 2017-10-24  Phillip Lord  <phillip.lord@russet.org.uk>
13754         Scripts to automate windows binary distribution
13756         * admin/nt/dist-build/README-windows-binaries,
13757           admin/nt/dist-build/build-dep-zips.py,
13758           admin/nt/dist-build/build-zips.sh: New Files
13760 2017-10-24  Gemini Lasswell  <gazally@runbox.com>
13762         Fix Edebug specs for map-let and with-maps-do
13764         * lisp/emacs-lisp/map.el (map-let): Fix Edebug spec (bug#24777).
13765         * test/lisp/emacs-lisp/map-tests.el (with-maps-do): Fix Edebug spec.
13767 2017-10-24  Michael Albinus  <michael.albinus@gmx.de>
13769         * test/lisp/net/tramp-tests.el (tramp-test41-delay-load): New test.
13771         (tramp-test42-unload): Rename.
13773 2017-10-24  Glenn Morris  <rgm@gnu.org>
13775         * admin/authors.el (authors-canonical-author-name):
13776         Ignore name issues in "lax" ChangeLogs.
13778         * test/lisp/progmodes/sql-tests.el
13779         (sql-tests-postgres-list-databases-error): Silence compiler.
13781 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
13783         Further work on Bug#28889
13785         * lisp/net/tramp.el (tramp-set-syntax): New defun.
13786         (tramp-syntax): Use it.  Change :package-version.  (Bug#28889)
13788 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
13790         Improve Tramp backward compatibility
13792         * lisp/net/tramp-compat.el (tramp-compat-tramp-file-name-slots):
13793         New defmacro.
13794         * lisp/net/tramp.el (with-parsed-tramp-file-name): Use it.
13796 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
13798         Improve backward compatibility of tramp-tests.el
13800         * test/lisp/net/tramp-tests.el (tramp--test-emacs26-p): Fix docstring.
13801         (tramp-test41-unload): Skip unless Emacs >= 26.
13803 2017-10-23  Martin Rudalics  <rudalics@gmx.at>
13805         Fix some ‘window-normalize-’ prefixed functions (Bug#28947)
13807         * lisp/window.el (window-normalize-buffer): Fix case where
13808         BUFFER-OR-NAME is a string specifying a dead buffer.  Fix
13809         doc-string (Bug#28947).
13810         (window-normalize-frame, window-normalize-window): Fix
13811         doc-strings (Bug#28947).
13813 2017-10-23  Paul Eggert  <eggert@cs.ucla.edu>
13815         Port to OpenIndiana
13817         Problem reported by Nelson H. F. Beebe (Bug#28893).
13818         Also see Bug#23748, Bug#9736, and Bug#5735.
13819         * configure.ac (tputs_library): Prefer libcurses to libtermcap,
13820         since OpenIndiana libtermcap lacks tparm.
13822 2017-10-22  Alexander Gramiak  <agrambot@gmail.com>
13824         Don't fill keywords after Emacs Lisp docstring
13826         This approach does mean that keywords that have spaces before them
13827         inside of docstrings aren't filled, but I think this is should be fine
13828         until Bug#28937 is fixed.
13830         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Add a colon to
13831         paragraph-start unconditionally, but require that it follows at least
13832         one space.  (Bug#24622)
13833         * test/lisp/emacs-lisp/lisp-tests.el: New tests for Bug#24622 and
13834         Bug#7751.
13836 2017-10-22  Alan Mackenzie  <acm@muc.de>
13838         Refactor c-forward-token-2 with new function c-forward-over-token-and-ws.
13840         Use the new function directly in several places where c-forward-token-2
13841         wouldn't move over the last token in the buffer.  This caused an infinite loop
13842         in c-restore-<>-properties.
13844         * lisp/progmodes/cc-engine.el (c-forward-over-token-and-ws): New function,
13845         extracted from c-forward-token-2.
13846         (c-forward-token-2): Refactor, calling the new function.
13847         (c-restore-<>-properties): Fix infinite loop.
13848         (c-forward-<>-arglist-recur, c-in-knr-argdecl)
13849         (c-looking-at-or-maybe-in-bracelist): Call the new function directly in place
13850         of c-forward-token-2.
13852         * lisp/progmodes/cc-cmds.el (c-defun-name) Call the new function directly in
13853         place of c-forward-token-2.
13855         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Call the new
13856         function directly in place of c-forward-token-2.
13858 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
13860         Avoid unnecessary rounding errors in timestamps
13862         Avoid the rounding errors of float-time when it’s easy.  E.g.,
13863         replace (< (float-time a) (float-time b)) with (time-less-p a b).
13864         * lisp/desktop.el (desktop-save):
13865         * lisp/ecomplete.el (ecomplete-add-item):
13866         * lisp/epg.el (epg-wait-for-completion):
13867         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
13868         * lisp/image-dired.el (image-dired-get-thumbnail-image)
13869         (image-dired-create-thumb-1):
13870         * lisp/info.el (info-insert-file-contents):
13871         * lisp/ls-lisp.el (ls-lisp-format-time):
13872         * lisp/net/ange-ftp.el (ange-ftp-file-newer-than-file-p)
13873         (ange-ftp-verify-visited-file-modtime):
13874         * lisp/net/rcirc.el (rcirc-ctcp-sender-PING):
13875         * lisp/textmodes/remember.el (remember-store-in-mailbox):
13876         * lisp/url/url-cookie.el (url-cookie-expired-p):
13877         Bypass float-time to avoid rounding errors.
13879         * lisp/files.el (dir-locals-find-file):
13881 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
13883         Fix xdg timestamp error on 32-bit Emacs
13885         * lisp/xdg.el (xdg-thumb-mtime): Return an Emacs timestamp,
13886         not an integer.  This avoids signaling an error on 32-bit
13887         Emacs, where timestamps typically do not fit into fixnums
13888         (Bug#28921).
13890 2017-10-22  John Williams  <jrw@pobox.com>  (tiny change)
13892         Test that advice doesn't trigger bytecomp warnings (Bug#28803)
13894         * test/lisp/emacs-lisp/bytecomp-tests.el
13895         (bytecomp-tests--test-no-warnings-with-advice): New test.
13897 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
13899         Another fix for unsafe directory error message (Bug#865)
13901         * lisp/server.el (server-ensure-safe-dir): Put file owner's uid, not
13902         current user's for the wrong owner case.  Show expanded file name in
13903         error message.
13905 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
13907         Handle https url for debbugs mbox (Bug#28831)
13909         In 2017-09-13 "Prefer HTTPS to FTP and HTTP in documentation",
13910         gnus-bug-group-download-format-alist was updated to use https for the
13911         debbugs.gnu.org mbox links, but gnus-read-ephemeral-bug-group assumed
13912         http links.
13913         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group): Use
13914         url-parse functions to get the host name, instead of ad-hoc regexps.
13916 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
13918         Ignore string properties when saving eshell history (Bug#28700)
13920         * lisp/eshell/em-hist.el (eshell-write-history): Remove properties
13921         before inserting history strings.
13922         (eshell-read-history): Remove obsolete comment.
13923         * test/lisp/eshell/em-hist-tests.el (eshell-write-readonly-history):
13924         New test.
13926 2017-10-21  Michael Albinus  <michael.albinus@gmx.de>
13928         Fix Bug#28889
13930         * lisp/net/tramp.el: Change autoload cookie to tramp-autoload cookie.
13931         (tramp-completion-file-name-regexp-default)
13932         (tramp-completion-file-name-handler-alist)
13933         (tramp-completion-file-name-handler): Remove autoload cookie.
13934         (tramp-initial-completion-file-name-regexp): Remove.
13935         (tramp-autoload-file-name-regexp): New defconst.
13936         (tramp-register-autoload-file-name-handlers): Use it.
13937         (with-parsed-tramp-file-name): Adapt docstring.  Compute
13938         `tramp-file-name' slots.  (Bug#28889)
13940 2017-10-21  Glenn Morris  <rgm@gnu.org>
13942         Update describe-function for recent Fdocumentation change
13944         * lisp/help-fns.el (describe-function-1):
13945         Handle Fdocumentation returning either void or invalid.
13947 2017-10-21  Charles A. Roelli  <charles@aurox.ch>
13949         Make flymake's mouse-wheel interaction portable (Bug#28732)
13951         * lisp/progmodes/flymake.el (flymake--mode-line-format): Bind
13952         'mouse-wheel-down-event' and 'mouse-wheel-up-event' instead of
13953         'mouse-4' and 'mouse-5'.  Update the tooltip text accordingly, and
13954         remove a stray newline in it.
13956 2017-10-21  Nick Helm  <nick@tenpoint.co.nz>
13958         Prevent eldoc from changing the mode line
13960         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Don't
13961         change the mode line if it is not displayed.  (Bug#28697)
13963 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
13965         Fix doc strings in simple.el
13967         * lisp/simple.el (shell-command-saved-pos)
13968         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
13970 2017-10-21  Phil Sainty  <psainty@orcon.net.nz>
13972         Avoid creating inconsistent buffer states in term-char-mode
13974         * lisp/term.el (term-mode, term-char-mode, term-line-mode)
13975         (term-emulate-terminal): Make buffer read-only in 'term-char-mode',
13976         except for the process filter's output.  Use 'read-only-mode-hook' to
13977         track and restore the user-set state of 'buffer-read-only' for
13978         'term-line-mode'.  (Bug#24837)
13979         (term-char-mode-buffer-read-only): New user option.
13980         (term-line-mode-buffer-read-only): New buffer-local variable.
13981         (term-line-mode-buffer-read-only-update): New function.
13982         (term-char-mode, term-line-mode): Use 'term-set-goto-process-mark'
13983         in pre-command-hook, and 'term-goto-process-mark-maybe' in
13984         post-command-hook to counter-act unexpected changes to point when
13985         using 'term-char-mode'.
13986         (term-char-mode-point-at-process-mark): New user option.
13987         (term-goto-process-mark): New buffer-local variable.
13988         (term-set-goto-process-mark): New function.
13989         (term-goto-process-mark-maybe): New function.
13990         (term-process-mark): New function.
13992         * etc/NEWS: Mention the new behavior and user options.
13994 2017-10-21  Bahodir Mansurov  <bahodir@mansurov.org>  (tiny change)
13996         New input method 'usbek-cyrillic'
13998         * lisp/leim/quail/cyrillic.el (uzbek-cyrillic): New input method.
13999         (Bug#28848)
14001         * etc/NEWS: Mention the new input method.
14003 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
14005         Document 'minibuffer-with-setup-hook'
14007         * doc/lispref/minibuf.texi (Minibuffer Misc): Document
14008         minibuffer-with-setup-hook.  (Bug#28877)
14010 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
14012         Simplify make-progress-reporter vs float-time
14014         * lisp/subr.el (make-progress-reporter): Remove no-longer-needed
14015         doc and code for the case where float-time is not supported,
14016         since float-time is always present now.
14018 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
14020         Fix two more minor Gnus typos
14022         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
14023         The old code had two minor bugs: first, it multiplied by 1/65536
14024         instead of by 1/86400.  Second, it called current-time twice and
14025         glued part of the two results together, resulting in a race.
14026         Fix both bugs by simplifying the code and using
14027         time-to-number-of-days.
14029 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
14031         Fix two minor Gnus typos
14033         * lisp/gnus/gnus-sum.el (gnus-summary-import-article):
14034         Remove unused local, and fix use of local that was never assigned to.
14036 2017-10-21  Glenn Morris  <rgm@gnu.org>
14038         Tweak Fdocumentation's error for an undefined function
14040         * src/doc.c (Fdocumentation): Restore the pre-25 behavior
14041         of signalling a void-function error for an undefined function.
14042         This seems cleaner than Emacs 25's "invalid-function: nil" error,
14043         which was (probably) an unintended consequence of changes to
14044         Findirect_function.
14046 2017-10-21  Glenn Morris  <rgm@gnu.org>
14048         Tweak format of list of old files in NEWS header
14050         * etc/NEWS: Stop list of old NEWS files growing without limit.
14051         * admin/admin.el (set-version): Handle either NEWS header format.
14053 2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
14055         * lisp/help-fns.el (describe-function-1):
14056         Fix help-fns-test-dangling-alias.  (Bug#28918)
14058         (cherry picked from commit e1d42f8f4a945669ff8b5159a569cb4b18f56e18)
14060 2017-10-20  Glenn Morris  <rgm@gnu.org>
14062         Fix flymake's loading of subr-x
14064         * lisp/progmodes/flymake.el, test/lisp/progmodes/flymake-tests.el:
14065         No need to load subr-x at run-time.
14067 2017-10-20  Michael Albinus  <michael.albinus@gmx.de>
14069         Fix Bug#28896
14071         * lisp/net/tramp-adb.el (tramp-adb-handle-rename-file):
14072         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
14073         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): Handle FILENAME
14074         being a directory.  (Bug#28896)
14076         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
14077         (tramp-test12-rename-file): Test also FILENAME being a directory.
14079 2017-10-20  João Távora  <joaotavora@gmail.com>
14081         Skip a Flymake test for old gcc versions
14083         Fixes: 28906
14085         * test/lisp/progmodes/flymake-tests.el
14086         (different-diagnostic-types): Skip this test for gcc versions
14087         < 5.
14089 2017-10-20  Eli Zaretskii  <eliz@gnu.org>
14091         Make :align-to account for display-line-numbers
14093         These changes also update the various bundled packages to use
14094         new feature, and better support customizations of the line-number
14095         face.
14096         * src/xdisp.c (calc_pixel_width_or_height): Improve commentary.
14097         Make :align-to count from the end of the line-number display when
14098         the offset or the width form reference that of the text area.
14099         (Bug#28855)
14101         * src/indent.c (Fline_number_display_width): Implement support for
14102         the PIXELWISE argument being 'columns'.  Update the doc string.
14103         (syms_of_indent): New symbol 'columns'.
14105         * lisp/ruler-mode.el (ruler-mode-window-col, ruler-mode-ruler):
14106         Call line-number-display-width with last argument 'columns'.
14108         * lisp/proced.el (proced-header-line): Call
14109         line-number-display-width with 2nd arg 'columns', which also fixes
14110         a problem when display-line-numbers is nil.
14112         * lisp/emacs-lisp/tabulated-list.el
14113         (tabulated-list-line-number-width): Call line-number-display-width
14114         with 2nd arg 'columns.
14115         (tabulated-list-entry-lnum-width): Remove unneeded defvar.
14116         (tabulated-list-print, tabulated-list-print-entry): No need to
14117         account for the value of tabulated-list-entry-lnum-width.
14118         (tabulated-list--current-lnum-width): New defvar.
14119         (tabulated-list-watch-line-number-width): New function.
14120         (tabulated-list-mode): Bind tabulated-list--current-lnum-width
14121         locally, and set up tabulated-list-watch-line-number-width as
14122         pre-redisplay-functions hook.
14124         * doc/lispref/display.texi (Size of Displayed Text): Document the
14125         'columns' value of the PIXELWISE argument.
14126         (Pixel Specification): Update and improve the documentation of the
14127         supported forms.
14129 2017-10-20  João Távora  <joaotavora@gmail.com>
14131         Augment Flymake API for third-party extensions
14133         See
14134         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00619.html
14136         * doc/misc/flymake.texi (Flymake error types): Rewrite
14137         example.
14138         (Flymake utility functions): Augment with new API.
14140         * lisp/progmodes/flymake.el (flymake-diagnostics): New function.
14141         (flymake--diag-accessor): New helper macro.
14142         (flymake-diagnostic-buffer, flymake-diagnostic-text)
14143         (flymake-diagnostic-beg, flymake-diagnostic-end)
14144         (flymake-diagnostic-backend): Accessors for diagnostic objects.
14145         (flymake--overlays): Use flymake-diagnostic property.
14146         (flymake--highlight-line): Simplify.  Only set
14147         flymake-diagnostic property.
14148         (flymake--handle-report, flymake-goto-next-error): Use
14149         flymake-diagnostic property.
14150         (flymake-show-diagnostic): Use diagnostic object.
14151         (flymake--diagnostics-buffer-entries): Use
14152         flymake-diagnostics.
14154 2017-10-20  Glenn Morris  <rgm@gnu.org>
14156         Improve treatment of Fortran's "class default"
14158         * lisp/progmodes/f90.el (f90-start-block-re, f90-no-block-limit):
14159         Handle "class default".  (Bug#28786)
14160         * test/automated/f90.el (f90-test-bug25039): Add "class default".
14162 2017-10-20  João Távora  <joaotavora@gmail.com>
14164         Flymake backends must check proc obsoleteness in source buffer
14166         Flymake backends that rely on sentinels running asynchronously and
14167         checking buffer-local variables that hold running processes should
14168         check for obsoleteness in the correct buffers, otherwise a (harmless)
14169         warning might be triggered.
14171         * doc/misc/flymake.texi (An annotated example backend):
14172         Check buffer-local proc in the current buffer.
14174         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
14175         Check buffer-local proc in the current buffer.
14177 2017-10-19  Michael Albinus  <michael.albinus@gmx.de>
14179         Skip an rsync test in tramp-tests.el
14181         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards):
14182         Skip for "rsync".
14184 2017-10-19  Martin Rudalics  <rudalics@gmx.at>
14186         On Windows default a frame's border width to zero (Bug#28873)
14188         * src/w32fns.c (Fx_create_frame): Default `border-width' to zero
14189         as everywhere else, see Bug#28873.
14191 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
14193         Spelling fixes
14195         * lisp/cedet/semantic/analyze/refs.el:
14196         (semantic-analyze-proto-impl-toggle): Fix recently-introduced
14197         misspelling of pop-to-buffer-same-window.
14199 2017-10-19  Bastian Beischer  <bastian.beischer@gmail.com>  (tiny change)
14201         Use pop-to-buffer-same-window instead of switch-to-buffer
14203         * lisp/cedet/semantic/decorate/include.el
14204         (semantic-decoration-include-visit):
14205         Use pop-to-buffer-same-window instead of switch-to-buffer
14206         (bug#28645).
14208         * lisp/cedet/semantic/analyze/refs.el
14209         (semantic-analyze-proto-impl-toggle): Same.
14211         * lisp/cedet/semantic/senator.el (senator-go-to-up-reference):
14212         Same.
14214         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-visit):
14215         Same.
14217         * lisp/cedet/semantic/complete.el (semantic-complete-jump):
14218         Same.
14220 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
14222         Fix the MSDOS build.
14224         * msdos/sed1v2.inp (GETADDRINFO_A_LIBS, LIBLCMS2, XDBE_LIBS)
14225         (XDBE_FLAGS, HYBRID_MALLOC, LIBSYSTEMD_CFLAGS)
14226         (LIBSYSTEMD_LIBS): Edit to empty.
14227         (LIBRESOLV, DEPFLAGS, MKDEPDIR, YMF_PASS_LDFLAGS)
14228         (PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS): Remove editing.
14229         Remove editing of lines that are no longer present in
14230         src/Makefile.in.
14231         * msdos/sed2v2.inp (NEED_MKTIME_INTERNAL)
14232         (NEED_MKTIME_WORKING): Define to 1.
14233         (HAVE_STRUCT_DIRENT_D_TYPE): Define to 1 for
14234         DJGPP >= 2.05.
14235         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 1.
14236         Define PACKAGE_VERSION, not VERSION.
14237         (FLEXIBLE_ARRAY_MEMBER): Define to empty.
14238         (HAVE_DECL_*_UNLOCKED): Define to 0.
14239         (HAVE___BUILTIN_FRAME_ADDRESS): Define to 1.
14240         (PENDING_*): Don't define, as Gnulib no longer supports that.
14241         Instead, define _IOERR as it is in libc/file.h.
14242         * msdos/sed3v2.inp: Use $(CURDIR) instead of $(shell cd) to
14243         determine the current directory.
14244         (UPDATE_MANIFEST, UTILITIES): Don't edit.
14245         * msdos/sedlisp.inp (FIND_DELETE): Edit to "-delete".
14246         * msdos/sedlibmk.inp (AUTO_DEPEND): Define to yes.
14247         (HYBRID_MALLOC): Edit to empty.
14248         (am__cd): Don't edit.
14249         (../config.status): Replaces $(top_builddir)/config.status.
14250         Define OMIT_GNULIB_MODULE_foo = true for modules not built for
14251         MS-DOS.  Convert GL_GENERATE_xxx_H_TRUE and
14252         GL_GENERATE_xxx_H_FALSE into values of GL_GENERATE_xxx_H.
14253         * msdos/mainmake.v2 (src): Use 'compile-one-process', and make
14254         the command line shorter to fit into 126-char limit of
14255         command.com.
14256         * config.bat: Generate src/deps/*.d files.  Rename more files
14257         like djtar on plain DOS would.
14258         Don't rename src/dir.h: it is long gone.  Edit
14259         lib/gnulib.mk.in using the same scripts as for
14260         lib/Makefile.in.
14261         * msdos/depfiles.bat: Create *.d files, not *.Po.
14263         * src/thread.c (Fmake_thread) [!THREADS_ENABLED]: Improve the
14264         error message.
14265         * src/thread.h [MSDOS]: Include <signal.h>.
14266         * src/sysselect.h (select) [MSDOS]: Undefine, to avoid
14267         compilation errors.
14268         * src/sysdep.c (block_interrupt_signal, restore_signal_mask):
14269         Expose to MSDOS build.
14270         * src/process.c (update_processes_for_thread_death)
14271         [!subprocess]: No-op implementation.
14272         [HAVE_SETRLIMIT]: Move inclusion of sys/resource.h and
14273         declaration of nofile_limit outside "#ifdef subprocesses", as
14274         it's needed for MSDOS.
14275         * src/msdos.c (faccessat): Declare fullname[].
14276         * src/msdos.h (ENOTSUP): Define to be identical to ENOSYS.
14277         Include termhooks.h.
14278         * src/conf_post.h [WINDOWSNT]: Include ms-w32.h only on
14279         WINDOWSNT, not DOS_NT.
14281         * admin/admin.el (set-version): Set version on PACKAGE_VERSION.
14283 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
14285         Fix line number display after 'widen'
14287         * src/xdisp.c (maybe_produce_line_number): Don't use data cached
14288         by line-number-mode on the first redisplay after the buffer is
14289         widened.  (Bug#28879)
14291 2017-10-18  Alan Third  <alan@idiocy.org>
14293         Remove resizable attribute on macOS undecorated frames (bug#28512)
14295         * src/nsterm.m (FRAME_DECORATED_FLAGS): Remove Cocoa specific #define.
14296         (initFrameFromEmacs): Remove Cocoa specific window style attributes.
14298 2017-10-18  Martin Rudalics  <rudalics@gmx.at>
14300         Fix handling of `border-width' in `frameset--restore-frame' (Bug#28873)
14302         * lisp/frameset.el (frameset--restore-frame): Don't process
14303         `border-width' parameter via ‘modify-frame-parameters’
14304         (Bug#28873).
14306 2017-10-18  Tino Calancha  <tino.calancha@gmail.com>
14308         Mention how to send CC to > 1 address in a bug report
14310         * admin/notes/bugtracker (* More detailed information):
14311         mention how to CC to more than 1 address (Bug#28833).
14313 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
14315         Improve format-time-string doc
14317         * doc/lispref/os.texi (Time Parsing): Fix some errors in the
14318         documentation for format-time-string.  Document ^, #, %s, and %z
14319         with colons.  Say that unrecognized sequences are output as-is.
14320         * src/editfns.c (Fformat_time_string): %S can stand for 60.
14321         Also mention unrecognized sequences.
14323 2017-10-17  Eli Zaretskii  <eliz@gnu.org>
14325         Improve documentation of 'line-number-display-width'
14327         * doc/lispref/display.texi (Size of Displayed Text): Document the
14328         additional 2 columns used for line-number display.
14330         * src/indent.c (Fline_number_display_width): Doc fix.  (Bug#28248)
14332 2017-10-17  İ. Göktuğ Kayaalp  <self@gkayaalp.com>
14334         Implement vc-default-dir-extra-headers for vc-rcs
14336         Add a do-nothing implementation for vc-rcs to suppress the message which
14337         the default function adds to the vc-dir buffer (Bug#28570).
14338         * lisp/vc/vc-rcs.el (vc-rcs-dir-extra-headers): New function.
14340 2017-10-17  Martin Rudalics  <rudalics@gmx.at>
14342         In NEWS give advice on use of `switch-to-buffer' (Bug#28645)
14344         * etc/NEWS: Mention that applications should prefer
14345         `pop-to-buffer-same-window' to `switch-to-buffer'.  (Bug#28645)
14347 2017-10-17  Tino Calancha  <tino.calancha@gmail.com>
14348             Noam Postavsky  <npostavs@gmail.com>
14350         Dont update primary selection with winner-undo
14352         * lisp/winner.el (winner-set):
14353         Dont update primary selection when select-enable-primary
14354         is non-nil (Bug#28631).
14356 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
14358         Work around ImageMagick bug 825
14360         This should fix several bugs reported recently against Emacs
14361         (Bug#28518, Bug#28626, Bug#28632, Bug#28633, Bug#28770).
14362         * src/image.c (imagemagick_load_image):
14363         Do not call MagickWandTerminus.
14365 2017-10-17  Noam Postavsky  <npostavs@gmail.com>
14367         Document rectangle-preview option more (Bug#27974)
14369         * lisp/rect.el (string-rectangle):
14370         * etc/NEWS.25: Mention `rectangle-preview'.
14372 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
14374         Do not reject https://gnu.org in commit messages
14376         * build-aux/git-hooks/commit-msg: Do not reject commit messages
14377         containing http: or ftp: URLs to gnu.org or fsf.org.  Instead,
14378         rewrite the messages to use https: URLs.
14380 2017-10-16  Gemini Lasswell  <gazally@runbox.com>
14382         Fix Edebug spec for cl-defun (bug#24255)
14384         * lisp/emacs-lisp/cl-macs.el: Modify the Edebug spec for
14385         `cl-lambda-list' to support destructuring argument lists.
14386         (cl-defun, cl-defmacro): Fix spelling errors in docstrings.
14387         * lisp/textmodes/rst.el: Remove alternate version of Edebug
14388         specs for `cl-lambda-list' and `cl-type-spec'.
14390 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
14392         Fix errors in kmacro.el post-command-hook
14394         * lisp/kmacro.el (kmacro-step-edit-active): Initialize to nil to
14395         avoid 'void-variable' errors.  (Bug#28818)
14396         * test/lisp/kmacro-tests.el
14397         (kmacro-tests-step-edit-cleans-up-hook): Now succeeds.  (Bug#18708)
14399 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
14401         Fix range-error in image-dired.el
14403         * lisp/image-dired.el (image-dired-create-thumb-1): Avoid
14404         overflowing an Emacs integer on 32-bit hosts.  (Bug#28809)
14406 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
14408         Fix 'line-number-display-width' in hscrolled windows
14410         * src/indent.c (line_number_display_width): Make sure a line
14411         number is generated even when the first line of the window is
14412         completely hscrolled out of view.  (Bug#28854)
14414 2017-10-16  Michael Albinus  <michael.albinus@gmx.de>
14416         Fix error in tramp-smb-handle-insert-directory
14418         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
14419         Insert size information only when FULL-DIRECTORY-P is non-nil.
14421 2017-10-16  Andy Moreton  <andrewjmoreton@gmail.com>
14423         Don't reject PBM header whitespace unnecessarily
14425         * lisp/image.el (image-type-header-regexps):
14426         Allow two or more CRs or LFs in initial whitespace sequences.  See:
14427         http://netpbm.sourceforge.net/doc/pbm.html
14429 2017-10-16  Paul Eggert  <eggert@cs.ucla.edu>
14431         Fix regression in display of PPM images
14433         Problem reported by Roland Winkler (Bug#28824#35).
14434         Based on a patch proposed by Andy Moreton (Bug#28824#38).
14435         * src/image.c (pbm_scan_index): New function.
14436         (pbm_load): Use it to decode raw data correctly when its top bit
14437         is set.
14439 2017-10-16  Eric Abrahamsen  <eric@ericabrahamsen.net>
14441         Require subr-x when compiling nnimap.el
14443         * lisp/gnus/nnimap.el (require): For the when-let* macro.
14445 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
14447         Fix ert-test finding by symbol (Bug#28849)
14449         In 2017-07-28 "* lisp/subr.el (define-symbol-prop): New function", the
14450         symbol used for ert tests in load-history was changed from
14451         `ert-deftest' to `ert--test', but a couple of other places were not
14452         updated accordingly.
14453         * lisp/emacs-lisp/ert.el (ert-find-test-other-window): Pass
14454         `ert--test' as the TYPE to `find-function-do-it'.
14455         (top-level): Use `ert--test' as the key to the
14456         `find-function-regexp-alist' entry.
14458 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
14460         Don't remember old debugger window (Bug#17882)
14462         * lisp/emacs-lisp/debug.el (debug): Unset debugger-previous-window
14463         when `debugger-will-be-back' is nil.
14465 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
14467         Disable python native completion on w32 (Bug#28580)
14469         * lisp/progmodes/python.el
14470         (python-shell-completion-native-disabled-interpreters): For windows-nt
14471         systems, put an empty string to match interpreters.
14473 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
14475         Let select-frame-by-name choose any frame when called from lisp (Bug#25521)
14477         * lisp/frame.el (select-frame-by-name): Choose from the whole list of
14478         frames in the non-interactive part, if not found on the current
14479         display.
14481 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
14483         * lisp/dired-aux.el (dired-create-directory): Doc fix.
14485 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
14487         Avoid compilation warnings in optimized builds
14489         * src/process.c (Fmake_network_process):
14490         * src/image.c (xbm_scan, gif_load):
14491         * src/fileio.c (Frename_file):
14492         * src/data.c (Fmake_local_variable):
14493         * src/buffer.c (fix_start_end_in_overlays):
14494         * lib-src/etags.c (process_file_name): Mark variables with UNINIT
14495         to avoid compiler warnings in optimized builds.
14497 2017-10-15  K. Handa  <handa@gnu.org>
14499         Improve customization of arabic-shaper-ZWNJ-handling.
14501         Make the effect of customizing arabic-shaper-ZWNJ-handling appear
14502         immediately.
14503         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Add :set
14504         value.
14505         * src/composite.c (Fclear_composition_cache): New function.
14506         (syms_of_composite): Defsubr it.
14508 2017-10-15  Charles A. Roelli  <charles@aurox.ch>
14510         Improve customization type of 'mouse-drag-and-drop-region'
14512         * lisp/mouse.el (mouse-drag-and-drop-region): Provide a more
14513         precise customization type.
14515 2017-10-15  Paul Eggert  <eggert@day>
14517         Encourage https: in commit messages
14519         * CONTRIBUTE: Prefer https: when citing.
14520         * build-aux/git-hooks/commit-msg:
14521         Diagnose http: and ftp: URLs to FSF or GNU hosts.
14523 2017-10-14  Martin Rudalics  <rudalics@gmx.at>
14525         Fix wording in Elisp manual's child frames section (Bug#28819)
14527         * doc/lispref/frames.texi (Child Frames): Fix wording (Bug#28819).
14529 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
14531         Another fix for C mode fontification of w32 source files
14533         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
14534         "CALLBACK", to correctly fontify functions with this attribute.
14536 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
14538         Fix fontification of ALIGN_STACK functions
14540         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
14541         "ALIGN_STACK", to correctly fontify functions with this attribute.
14543 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
14545         Make sure thread stack is properly aligned on MS-Windows
14547         * src/systhread.c: Include w32term.h instead of windows.h.
14548         (w32_beginthread_wrapper): Add ALIGN_STACK attribute, to ensure
14549         the thread's stack is correctly aligned.
14550         * src/w32term.h (ALIGN_STACK): Update commentary.
14552 2017-10-14  Paul Eggert  <eggert@cs.ucla.edu>
14554         Do not under-align pseudovectors
14556         Problem reported by Fabrice Popineau in:
14557         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00357.html
14558         Also see diagnosis by Eli Zaretskii in:
14559         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00476.html
14560         * src/alloc.c (vector_alignment):
14561         Now a multiple of alignof (max_align_t).
14563 2017-10-13  Simen Heggestøyl  <simenheg@gmail.com>
14565         Fix indentation bug in multi-line CSS selectors
14567         * lisp/textmodes/css-mode.el (css--colon-inside-selector-p): Fix
14568         indentation of multi-line CSS selectors that include both a
14569         pseudo-class and parenthesis.
14571         * test/manual/indent/css-mode.css: Add test for the above change.
14573 2017-10-13  Andreas Schwab  <schwab@linux-m68k.org>
14575         gnutls_mac_get_nonce_size has been added in gnutls 3.3
14577         * src/gnutls.c (HAVE_GNUTLS_MAC_GET_NONCE_SIZE)
14578         [GNUTLS_VERSION_NUMBER >= 0x030300]: Define.
14579         (gnutls_mac_get_nonce_size): Depend on
14580         HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
14581         (Fgnutls_macs): Use 0 for :mac-algorithm-noncesize if
14582         !HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
14584 2017-10-13  Paul Eggert  <eggert@cs.ucla.edu>
14586         * CONTRIBUTE: Suggest American English.
14588 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
14590         Fix this-command-keys for "M-x foo" commands
14592         * src/keyboard.c (Fset__this_command_keys): Don't assume KEYS is a
14593         unibyte string.  (Bug#28798)
14595 2017-10-12  Paul Eggert  <eggert@cs.ucla.edu>
14597         Let rename-file rename dirs across filesystems
14599         Problem diagnosed by Andreas Schwab (Bug#28792#65).
14600         This fixes a bug that I introduced in
14601         2017-09-10T22:39:24@eggert@cs.ucla.edu
14602         "Fix race with rename-file etc. with dir NEWNAME".
14603         * src/fileio.c (Frename_file): Copy a source directory across
14604         file system boundaries even if its name does not end in slash.
14606 2017-10-12  João Távora  <joaotavora@gmail.com>
14608         Simplify Flymake user documentation
14610         Fix some confusing parts of Flymake user documentation, like a
14611         repeated listing of situations leading to a syntax check.
14612         Documentation is now divided into three chapters only: "Using
14613         Flymake", "Extending Flymake", and a chapter for the legacy backend.
14615         Obsolete mention of "errors" and "lines" is replaced by
14616         "diagnostics/problems" and "regions" where appropriate.
14618         * doc/misc/flymake.texi (Overview of Flymake): Delete chapter.
14619         (Using Flymake): Merge with chapter "Overview of Flymake".
14620         (Installing Flymake): Delete chapter.
14621         (Flymake mode, Running the syntax check)
14622         (Navigating to error lines): Delete sections.
14623         (Syntax check statuses): Review and augment with x-references.
14624         (Backend exceptions): Mention shortcut in menu.
14626         * lisp/progmodes/flymake.el (flymake-menu): Tweak minor mode
14627         menu to not speak of "errors".
14628         (flymake-goto-next-error, flymake-goto-prev-error): Fix
14629         wording.
14631 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
14633         * etc/NEWS: Mention the new version of Org.
14635 2017-10-12  Noam Postavsky  <npostavs@gmail.com>
14637         Don't use (format "%s" ...) for string copying (Bug#28774)
14639         As of 2017-10-04 'Speed up (format "%s" STRING) and the like', (format
14640         "%s" STRING) no longer produces a new string.
14641         * lisp/ido.el (ido-completions): Use `copy-sequence' to make a new
14642         string, so that we can add text properties to (copies of) symbol
14643         names.
14645 2017-10-11  Alan Third  <alan@idiocy.org>
14647         Make frame-list-z-order on NS match Windows behavior (bug#28788)
14649         * src/nsfns.m (Fns_frame_list_z_order): If terminal isn't a frame,
14650         ignore it rather than returning nil.
14652 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
14654         Bump Emacs version to 26.0.90
14656         * README:
14657         * configure.ac:
14658         * msdos/sed2v2.inp:
14659         * nt/README.W32: Bump Emacs version.
14661 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
14663         Update authors.el
14665         * admin/authors.el (authors-valid-file-names)
14666         (authors-renamed-files-alist): Additions.
14668 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
14670         * admin/authors.el (authors-aliases): Additions.
14672         * ChangeLog.3: Update.
14674 2017-10-11  Radon Rosborough  <radon.neon@gmail.com>
14676         Fix docstring style for 'functionp'
14678         * src/eval.c (functionp): Make docstring start with verb.
14679         (Bug#28781)
14681 2017-10-11  Michael Albinus  <michael.albinus@gmx.de>
14683         Format shell commands in tramp.texi
14685         * doc/misc/tramp.texi (Obtaining Tramp, Remote shell setup):
14686         Format shell commands better.
14688 2017-10-10  João Távora  <joaotavora@gmail.com>
14690         Unbreak the button in the Flymake diagnostics buffer again
14692         Adding the 'keymap' property enabled RET but broke the mouse-action.
14694         * lisp/progmodes/flymake.el
14695         (flymake--diagnostics-buffer-entries): Use 'action' instead of 'keymap'.
14697 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
14699         Add mode map to Flymake diagnostic button
14701         * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries): Add
14702         keymap propery.
14704 2017-10-10  João Távora  <joaotavora@gmail.com>
14706         Tweak the Flymake diagnostics buffer again
14708         * lisp/progmodes/flymake.el
14709         (flymake-diagnostics-buffer-mode-map): Don't bind [mouse-1].
14710         (flymake-show-diagnostic): Rename from
14711         flymake-show-diagnostic-at-point.  Really use another window.
14712         (flymake-goto-diagnostic): Rename from
14713         flymake-goto-diagnostic-at-point.
14714         (flymake--diagnostics-buffer-entries): Use a button just for
14715         the message bit.
14717 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
14719         Simplify Flymake diagnostics buffer UX
14721         Don't create text-buttons unnecessarily, just bind RET and SPC in the
14722         diagnostics buffer to a command that figures out which diagnostic it
14723         was invoked on.
14725         * lisp/progmodes/flymake.el
14726         (flymake--diagnostics-buffer-mode-keymap): Renamed from
14727         flymake--diagnostics-buffer-button-keymap.
14728         (flymake-show-diagnostic-at-point): Don't take a button.
14729         (flymake-goto-diagnostic-at-point): Don't pass button to
14730         flymake-show-diagnostic-at-point.
14731         (flymake--diagnostics-buffer-entries): Simplify.
14733 2017-10-10  João Távora  <joaotavora@gmail.com>
14735         First stab at a Flymake diagnostics buffer
14737         The diagnostics buffer summarizes the diagnostics of a buffer in a
14738         tabulated list and is permanently updated after each Flymake check.
14740         * lisp/progmodes/flymake.el (flymake--handle-report): Call
14741         flymake-show-diagnostics-buffer under certain conditions.
14742         (flymake-menu, flymake--diagnostics-buffer-source)
14743         (flymake--diagnostics-buffer-button-keymap)
14744         (flymake-show-diagnostic-at-point)
14745         (flymake-goto-diagnostic-at-point)
14746         (flymake--diagnostics-buffer-entries)
14747         (flymake-diagnostics-buffer-mode)
14748         (flymake--diagnostics-buffer-name)
14749         (flymake-show-diagnostics-buffer): New definitions.
14751 2017-10-10  João Távora  <joaotavora@gmail.com>
14753         * etc/NEWS (Flymake): Rewrite entry.
14755 2017-10-10  Eli Zaretskii  <eliz@gnu.org>
14757         Improve the Flymake manual
14759         * doc/misc/flymake.texi: Add a 'coding' cookie.  Add a
14760         @syncodeindex directive for @vindex.  Use 2 spaces between
14761         sentences.  Lower-case @cindex entries.
14762         (Overview of Flymake): Fix use of @itemize and @pxref.  Fix
14763         punctuation and markup.
14764         (Backend exceptions): Use @emph instead of @dfn.  Add more
14765         indexing.
14766         (Customizable variables, Extending Flymake): Improve wording.
14767         (Flymake error types): Fix usage of @itemize.  Improve wording.
14768         (Backend functions): Fix punctuation.  Fix markup.  Add a
14769         cross-reference to ELisp manual.
14770         (Flymake utility functions): Add a cross-reference to ELisp manual.
14771         (An annotated example backend): Fix punctuation and typos.
14772         (Flymake mode, Running the syntax check)
14773         (Navigating to error lines, Backend exceptions)
14774         (Customizable variables, Flymake error types, Backend functions)
14775         (Flymake utility functions, Proc customization variables)
14776         (Locating a master file, Locating the buildfile)
14777         (Starting the syntax check process, Parsing the output)
14778         (Interaction with other modes): Fix indexing.  Add index entries
14779         for functions, variables, and concepts.
14781 2017-10-10  João Távora  <joaotavora@gmail.com>
14783         Fix two Flymake bugs
14785         * lisp/progmodes/flymake.el (define-fringe-bitmap): Protect
14786         against --without-x.
14787         (flymake--mode-line-format): Ensure mode-line's mouse-4 and mouse-5 work
14788         in their own windows.
14790 2017-10-10  João Távora  <joaotavora@gmail.com>
14792         Don't log "emergencies" in the Flymake legacy backend
14794         * lisp/progmodes/flymake-proc.el (flymake-proc--panic)
14795         (flymake-proc-legacy-flymake): Don't log "emergencies"
14797 2017-10-10  João Távora  <joaotavora@gmail.com>
14799         Add full documentation on new Flymake API
14801         Also, as a minor addition to this API, set flymake-text
14802         on the diagnostic overlay.  This enables a good example in
14803         the section "Customization Flymake annotations".
14805         * doc/misc/flymake.texi (Overview of Flymake)
14806         (Syntax check statuses): Rework.
14807         (Backend exceptions): Rename from "Troubleshooting"
14808         (Customizable variables): Add flymake-start-on-flymake-mode. Rework.
14809         (Extending Flymake): Write chapter.
14810         (Customizing Flymake annotations, Flymake backends)
14811         (Flymake utility functions, An annotated example backend):
14812         New sections and subsections
14814         * lisp/progmodes/flymake.el (flymake-diagnostic-functions)
14815         (flymake-diagnostic-types-alist): Rework docstring.
14816         (flymake--highlight-line): Set and use flymake-text property in overlay.
14817         (flymake-goto-next-error, flymake-goto-prev-error): Fix funny quotes.
14819 2017-10-10  João Távora  <joaotavora@gmail.com>
14821         Fix some Flymake docstrings and messages
14823         * lisp/progmodes/flymake.el
14824         (flymake-start-on-flymake-mode): fix typo.
14825         (flymake-mode): Add docstring.
14826         (flymake-mode-line-format): Fix help-echo indications. mouse-2
14827         describes flymake-mode.
14829 2017-10-10  João Távora  <joaotavora@gmail.com>
14831         Make three new Flymake commands for debugging common problems
14833         * lisp/progmodes/flymake.el (flymake-running-backends)
14834         (flymake-disabled-backends)
14835         (flymake-reporting-backends): Make interactive.
14836         (flymake--collect): Take optional arg.
14838 2017-10-09  Nicolas Petton  <nicolas@petton.fr>
14840         * admin/authors.el (authors-renamed-files-alist): addition.
14842 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
14844         Fix PWD check on DOS_NT
14846         * src/sysdep.c (get_current_dir_name_or_unreachable):
14847         Do not consider a file name like "a:b" to be absolute on DOS_NT.
14849 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
14851         Fix unlikely overflows with wd length
14853         * src/sysdep.c (get_current_dir_name_or_unreachable):
14854         Avoid integer overflow if working directory name is absurdly long.
14855         When allocating memory for getcwd, do not exceed MAXPATHLEN.
14857 2017-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
14859         * lisp/gnus/message.el: Improve last commit
14861         (message-clone-locals): Don't mistakenly match other variables whose
14862         name happens to include "message-default-charset".
14864 2017-10-09  Ken Olum  <kdo@cosmos.phy.tufts.edu>
14866         Fix problems when editing raw undecoded message (Bug#28671)
14868         * lisp/mail/rmailedit.el (rmail-cease-edit): If rmail-old-mime-state
14869         is set, meaning that we are editing the raw message, do not
14870         encode it again.  Delete old body after, not before, inserting
14871         new, to avoid moving marker at beginning of next message.
14873 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
14875         Avoid encoding errors in message.el
14877         * lisp/gnus/message.el (message-clone-locals): Don't clone
14878         message-default-charset.  (Bug#25645)
14880 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
14882         Improve doc string and prompt of 'grep-read-files'
14884         * lisp/progmodes/grep.el (grep-read-files): Clarify in the doc
14885         string and in the prompt that shell wildcards can be used.
14886         Suggested by Allen Li <vianchielfaura@gmail.com>.  (Bug#28615)
14888 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
14890         Avoid assertion violations when line numbers are displayed
14892         * src/xdisp.c (redisplay_window): Clear the window's desired glyph
14893         matrix before calling try_window with the same starting point.
14894         This avoids assertion violations when switching from a buffer
14895         without line numbers to a buffer with line numbers.  (Bug28710)
14897 2017-10-09  João Távora  <joaotavora@gmail.com>
14899         Be lazy when starting Flymake checks
14901         Don't start the check immediately if the buffer is not being
14902         displayed.  Wait until it is, using window-configuration-change-hook.
14904         This enables the user to batch-enable flymake-mode on many buffers and
14905         not have that operation exhaust system resources for checking each
14906         one.  Likewise, an editing or save operation in a currently
14907         non-displayed buffer does not immediately start a check.
14909         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode):
14910         Rename from flymake-start-syntax-check-on-find-file.
14911         (flymake-start-syntax-check-on-find-file): Obsolete alias for
14912         flymake-start-on-flymake-mode.
14913         (flymake-start): Redesign.  Affect the global post-command-hook
14914         and local window-configuraiton-change-hook.
14915         (flymake--schedule-timer-maybe)
14916         (flymake-after-change-function, flymake-after-save-hook): Pass
14917         t to flymake-start.
14919         * test/lisp/progmodes/flymake-tests.el (flymake-tests--call-with-fixture)
14920         (dummy-backends, recurrent-backend): Start flymake check
14921         explicitly and immediately.
14923 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
14925         Fix last change in frameset.el
14927         * lisp/frameset.el (frameset-filter-font-param): Fix a thinko in
14928         filtering the 'font' parameter.  (Bug#17352)
14930 2017-10-09  Martin Rudalics  <rudalics@gmx.at>
14932         Describe how window dividers can replicate vertical borders (Bug#27830)
14934         * doc/emacs/frames.texi (Scroll Bars): Describe how window
14935         dividers can be used to replicate vertical borders when scroll
14936         bars are disabled (Bug#27830).
14937         * doc/emacs/frames.texi (Window Dividers): Mention their use
14938         in replicating vertical borders.
14940 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
14942         Add line-number faces to the display-line-numbers group
14944         See https://lists.gnu.org/r/emacs-devel/2017-10/msg00151.html
14945         and its resulting thread.
14947         * lisp/display-line-numbers.el (display-line-numbers): Add to the
14948         convenience group.
14949         * lisp/faces.el (line-number):
14950         (line-number-current-line): Add to the display-line-numbers group.
14952 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
14954         Increase xterm click count only within double-click-fuzz
14956         * lisp/xt-mouse.el (xterm-mouse-event): Save the last click's position
14957         and check it against the current click's position.  (Bug#28658)
14959 2017-10-08  Alan Third  <alan@idiocy.org>
14961         Change pause in fullscreen toggling for NS port (bug#28496)
14963         * lisp/frame.el (toggle-frame-fullscreen): Replace sit-for with
14964         sleep-for, and reduce time.
14966 2017-10-08  Michael Albinus  <michael.albinus@gmx.de>
14968         Handle PARENTS properly in tramp-*-handle-make-directory
14970         * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
14971         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
14972         Handle PARENTS properly.
14974         * test/lisp/net/tramp-tests.el (tramp-test13-make-directory):
14975         Extend test.
14977 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
14979         Improve test for unreachable dirs
14981         * src/sysdep.c (get_current_dir_name_or_unreachable):
14982         New function, with most of the old contents of
14983         emacs_get_current_dir_name.
14984         (emacs_get_current_dir_name): Use it.  Use a simpler
14985         test for unreachable directory strings, and also apply
14986         it to getcwd etc. (Bug#27871)
14988 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
14990         * src/xsmfns.c (x_session_initialize): Fix memory leak.
14992 2017-10-08  K. Handa  <handa@gnu.org>
14994         New option for handling ZWNJ in Arabic text rendering
14996         Provide a new option 'arabic-shaper-ZWNJ-handling' that controls how
14997         to display ZWNJ in Arabic text rendering (Bug#28339).
14998         * lisp/language/misc-lang.el: Register arabic-shape-gstring in
14999         composition-function-table.
15000         (arabic-shaper-ZWNJ-handling): New variable.
15001         (arabic-shape-log): New variable.
15002         (arabic-shape-gstring): New function.
15003         * lisp/composite.el (lgstring-remove-glyph): New function.
15005 2017-10-08  Noam Postavsky  <npostavs@gmail.com>
15007         Make python prettify symbols into a defvar (Bug#28713)
15009         * lisp/progmodes/python.el (python-prettify-symbols-alist): New
15010         variable.
15011         (python--prettify-symbols-alist): Make into obsolete alias for
15012         `python-prettify-symbols-alist'.
15014 2017-10-07  Alan Third  <alan@idiocy.org>
15016         Fix fullscreen crash on macOS (bug#28496)
15018         * lisp/frame.el (toggle-frame-fullscreen): Wait for animation to
15019         complete on macOS.
15021 2017-10-07  Alan Third  <alan@idiocy.org>
15023         Fix crash when closing fullscreen frame on macOS (bug#28661)
15025         * src/nsterm.m (EmacsView::windowWillResize): Return new frame size
15026         unmodified if the frame isn't live.
15028 2017-10-07  Michael Albinus  <michael.albinus@gmx.de>
15030         Support gio tool in Tramp
15032         "gvfs-<command>" utilities have been deprecated in GVFS 1.31.1.  We
15033         must use "gio <command>" tool instead.
15035         * lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping): New defconst.
15036         (tramp-gvfs-handle-file-notify-add-watch): Support also "gio monitor"
15037         (tramp-gvfs-gio-tool-p): New defun.
15038         (tramp-gvfs-send-command): Use it.  Call gio tool if available.
15040 2017-10-07  João Távora  <joaotavora@gmail.com>
15042         Fix flymake-goto-next-error when message has %-constructs
15044         * lisp/progmodes/flymake.el (flymake-goto-next-error): Fix
15045         message call.  Add missing period in docstring.
15047 2017-10-07  Piotr Trojanek  <piotr.trojanek@gmail.com>
15049         * src/gnutls.c (syms_of_gnutls): Remove duplicated call to DEFSYM.
15051 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
15053         Move the entry about 'format' into Incompatible Lisp Changes
15055         * etc/NEWS: Move the entry about 'format' refraining from allocating
15056         new strings into Incompatible Lisp Changes.  (Bug#28625)
15058 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
15060         Fix glitches in displaying TTY menus
15062         * src/dispnew.c (update_frame_line): Accept an additional argument
15063         UPDATING_MENU_P; if non-zero, home the cursor before updating a
15064         frame's line.  All callers changed.
15065         (update_frame_1): Accept an additional argument UPDATING_MENU_P,
15066         and pass it to update_frame_line.  All callers changed.
15067         (update_frame_with_menu): Call update_frame_1 with last argument
15068         non-zero.  (Bug#17497)
15070 2017-10-06  Gemini Lasswell  <gazally@runbox.com>
15072         Create new Edebug spec for docstrings and use it in closures
15074         Since (:documentation FORM) can be used to create a docstring
15075         when lexical-binding is on, allow for that possibility in Edebug
15076         specs (bug#24773).
15077         * lisp/emacs-lisp/edebug.el: Define an Edebug spec for docstrings
15078         called lambda-doc and modify the Edebug specs for defun and
15079         defmacro to use it.
15080         (edebug-instrument-function): Check for generic functions first,
15081         to fix bug where edebug-step-in didn't work on methods now that
15082         cl-defgeneric has an Edebug spec.
15083         * lisp/subr.el (lambda): Modify Edebug spec to use lambda-doc.
15084         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Add Edebug spec
15085         (bug#27747).
15086         (cl-defmethod): Use lambda-doc in Edebug spec.
15087         * lisp/emacs-lisp/cl-macs.el: Modify Edebug spec for
15088         cl-declarations-or-string to use lambda-doc, and modify Edebug
15089         spec for cl-lambda-expr to use cl-declarations-or-string.
15090         * lisp/emacs-lisp/pcase.el (pcase-lambda): Modify Edebug spec to
15091         use lambda-doc, as well as &define and def-body which are
15092         necessary for using Edebug on code wrapped by lambda.
15093         * lisp/emacs-lisp/generator.el (iter-defun, iter-lambda): Add
15094         Edebug specs.
15096 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
15098         Avoid byte-compilation warnings in message.el
15100         * lisp/gnus/message.el: Require 'subr-x' when compiling, to
15101         avoid compiler warnings.
15103 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
15105         Fix bug in recent styled_format change
15107         Problem reported by Kaushal Modi in:
15108         https://lists.gnu.org/r/emacs-devel/2017-10/msg00141.html
15109         * src/editfns.c (styled_format): Fix bug where USE_SAFE_ALLOCA was
15110         not always followed by SAFE_FREE.  This bug was introduced in my
15111         patch 2017-09-26T23:31:57Z!eggert@cs.ucla.edu entitled "Avoid some
15112         unnecessary copying in Fformat etc."
15114 2017-10-06  João Távora  <joaotavora@gmail.com>
15116         Cleanup emacs-lisp-mode's use of Flymake
15118         * lisp/progmodes/elisp-mode.el (elisp-flymake--checkdoc-1):
15119         Delete.
15120         (elisp-flymake-checkdoc): Incorporate old
15121         elisp-flymake--checkdoc-1.
15122         (elisp-flymake--byte-compile-done): Simplify.  Don't cleanup
15123         here.
15124         (elisp-flymake-byte-compile): Remove spurious interactive spec.
15125         Simplify.  Cleanup on every possible exit.
15127 2017-10-06  João Távora  <joaotavora@gmail.com>
15129         Fix @include directive in Flymake doc
15131         * doc/misc/flymake.texi: Don't @include a relative path.
15133 2017-10-06  Mark Oteiza  <mvoteiza@udel.edu>
15135         Move read-multiple-choice to its own library
15137         * lisp/emacs-lisp/rmc.el: New file.
15138         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Remove.
15139         * lisp/gnus/message.el:
15140         * lisp/net/nsm.el: Change required library.
15142 2017-10-06  Piotr Trojanek  <piotr.trojanek@gmail.com>
15144         * src/process.c (syms_of_process): Remove duplicated call to DEFSYM.
15146         Fixes: Bug#28721
15148 2017-10-06  Lele Gaifax  <lele@metapensiero.it>
15150         Fix typos in Flymake documentation
15152         * doc/misc/flymake.texi (Syntax check statuses)
15153         (Adding support for a new syntax check tool)
15154         (Implementation overview, Locating the buildfile): Fix typos.
15156         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn)
15157         (flymake-proc--find-possible-master-files):Fix typos.
15158         (flymake-proc--panic)
15159         (flymake-proc-legacy-flymake): Fix function reference in doc.
15161         * lisp/progmodes/flymake.el (flymake-error)
15162         (flymake-diagnostic-functions): Fix typos.
15163         (flymake-diagnostic-types-alist): Rephrase and fix typos.
15164         (flymake--backend-state): Fix typos and rephrase.
15165         (flymake--handle-report): Delete empty line.
15166         (flymake--disable-backend)
15167         (flymake--run-backend): Fix typos.
15168         (flymake-goto-next-error, flymake-goto-prev-error): Rephrase.
15170 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
15172         Revert last change in 'shr-descend'
15174         * lisp/net/shr.el (shr-descend): Revert the part of the last
15175         change which introduced calls to shr-indirect-call into this
15176         function.  Add a comment explaining the rationale for that.
15177         (Bug#28402)
15179 2017-10-06  João Távora  <joaotavora@gmail.com>
15181         Don't error when turning on Flymake with no known backends
15183         Leave it to the mode line indicator to inform the user that there
15184         is still some configuration to do.
15186         * lisp/progmodes/flymake.el (flymake-mode): Simplify.
15188 2017-10-06  João Távora  <joaotavora@gmail.com>
15190         Delete a Flymake obsolete alias that can't possibly work
15192         The function `flymake-ler-make-ler' can't possibly work as an backward
15193         compatible interface to existing extensinos (even purely hypothetical
15194         ones, since none are known).  This is because every diagnostic
15195         considered by Flymake has to passed to a report-fn function.
15197         * lisp/progmodes/flymake.el (flymake-ler-make-ler): Delete.
15199 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
15201         Fix bug with unmounted directory on GNU/Linux
15203         * src/sysdep.c (emacs_get_current_dir_name): Do not use
15204         get_current_dir_name result unless it is absolute (Bug#27871).
15207 2017-10-05  Nicolas Petton  <nicolas@petton.fr>
15209         Update authors.el
15211         * admin/authors.el (authors-renamed-files-alist)
15212         (authors-valid-file-names): Additions.
15214 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
15216         Fix dynamic binding wrapper in iter-lambda (bug#25965)
15218         * lisp/emacs-lisp/generator.el (cps--make-dynamic-binding-wrapper):
15219         Remove extra evaluation of form.
15220         * test/lisp/emacs-lisp/generator-tests.el
15221         (cps-iter-lambda-with-dynamic-binding): New test.
15223 2017-10-05  Rasmus  <rasmus@gmx.us>
15225         Update Org to v9.1.2
15227         Please note this is a bugfix release.  See etc/ORG-NEWS for details.
15229 2017-10-05  Alan Mackenzie  <acm@muc.de>
15231         Fix irregularities with CC Mode fontification, particularly with "known types"
15233         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
15234         optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
15235         type.
15236         (c-font-lock-single-decl): New variable template-class, set to non-nil when we
15237         have a construct like the above.  Pass this as argument to
15238         c-font-lock-declarators.
15239         (c-font-lock-cut-off-declarators): Check more rigorously that a declaration
15240         being processed starts before the function's starting position.
15241         (c-complex-decl-matchers): Remove the redundant clause which fontified "types
15242         preceded by, e.g., "struct"".
15244         * lisp/progmodes/cc-langs.el (c-template-typename-kwds)
15245         (c-template-typename-key): New lang defconsts and defvar.
15247 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
15249         Fix breakage due to recent change in tabulated-list-print-entry
15251         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
15252         Update the doc string.
15253         (tabulated-list-print-entry): Revert to using only 2 arguments.
15254         Update the doc string.
15255         (tabulated-list-entry-lnum-width): New defvar.
15256         (tabulated-list-print): Compute the width of line-number display
15257         once, then store that value in tabulated-list-entry-lnum-width,
15258         for tabulated-list-printer to use.  (Bug#28704)
15260 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
15262         * lisp/ses.el (ses-print-cell): Fix alignment of text cells.  (Bug#27653)
15264 2017-10-05  Alexander Gramiak  <agrambot@gmail.com>
15266         Set xterm click count to 1 even with no last click
15268         * lisp/xt-mouse.el (xterm-mouse-event): Move the check for
15269         the last click so that click-count is initialized properly.
15270         Handle the value of t for double-click-time.
15271         (Bug#28658)
15273 2017-10-05  Vasilij Schneidermann  <mail@vasilij.de>
15275         Support indirection for all shr-tag-* calls
15277         The 'shr-external-rendering-functions' variable was previously only
15278         honored in the shr-descend function, now all direct calls to the
15279         shr-tag-* functions have been replaced by a call to
15280         'shr-indirect-call' which tries using an alternative rendering
15281         function first.
15283         * lisp/net/shr.el (shr-indirect-call): New helper function.
15284         (shr-descend, shr-tag-object, shr-tag-video):
15285         (shr-collect-extra-strings-in-table): Fix callers to call via
15286         shr-indirect-call.  (Bug#28402)
15288 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
15290         Speed up list-packages when 'visual' line numbers are displayed
15292         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
15293         Update the doc string.
15294         (tabulated-list-print-entry): Accept an additional optional
15295         argument INDENT.  Update the doc string.
15296         (tabulated-list-print): Compute the width of line-number display
15297         once, then call tabulated-list-printer with that value as 3rd
15298         argument.  (Bug#28704)
15300 2017-10-05  João Távora  <joaotavora@gmail.com>
15302         Misc. minor adjustments to Flymake
15304         - Add a half-decent minor-mode menu;
15305         - Fix "waiting for backends" mode line message;
15306         - Adjust the flymake-diag-region API;
15307         - Autoload the flymake-log macro;
15308         - Auto-disable the legacy backend in more situations;
15309         - Fix a couple of warnings in legacy backend.
15311         * lisp/progmodes/flymake-proc.el
15312         (flymake-proc--diagnostics-for-pattern): Use new
15313         flymake-diag-region.
15315         * lisp/progmodes/flymake-proc.el
15316         (flymake-proc-legacy-flymake): Do error when no
15317         buffer-file-name or not writable.
15318         (flymake-proc-legacy-flymake)
15319         (flymake-proc-simple-cleanup): Don't reference flymake-last-change-time
15321         * lisp/progmodes/flymake.el (flymake-diag-region):
15322         Autoload.  Take buffer as first argument.
15324         * lisp/progmodes/flymake.el (flymake-switch-to-log-buffer):
15325         New command.
15326         (flymake-menu): Add a simple menu.
15327         (flymake--mode-line-format): Use menu.  Fix message.  Switch to
15328         log buffer when clicking exceptional warnings.
15330 2017-10-05  Johan Bockgård  <bojohan@gnu.org>
15332         Fix search for ~/.Xdefaults-HOSTNAME
15334         * src/xrdb.c (get_environ_db): Fix typo when handling
15335         ~/.Xdefaults-HOSTNAME (Bug#28708).
15337 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15339         Speed up (format "%s" STRING) and the like
15341         Although the Lisp manual said that ‘format’ returns a
15342         newly-allocated string, this was not true for a few cases like
15343         (format "%s" ""), and fixing the documentation to allow reuse of
15344         arguments lets us improve performance in common cases like
15345         (format "foo") and (format "%s" "foo") (Bug#28625).
15346         * doc/lispref/strings.texi (Formatting Strings):
15347         * etc/NEWS:
15348         Say that the result of ‘format’ might not be newly allocated.
15349         * src/callint.c (Fcall_interactively):
15350         * src/dbusbind.c (XD_OBJECT_TO_STRING):
15351         * src/editfns.c (Fmessage, Fmessage_box):
15352         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
15353         Just use Fformat or Fformat_message, as that’s simpler and no
15354         longer makes unnecessary copies.
15355         * src/editfns.c (styled_format): Remove last argument, as it
15356         is no longer needed: all callers now want it to behave as if it
15357         were true.  All remaining callers changed.  Make this function
15358         static again.  Simplify the function now that we no longer
15359         need to worry about whether the optimization is allowed.
15361 2017-10-04  Alan Mackenzie  <acm@muc.de>
15363         Fontify untyped function declarations in C Mode correctly.
15365         Also correct two bugs where deleting WS at a BOL could leave an untyped
15366         function declaration unfontified.
15368         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Don't set the flag
15369         "top-level" when we're in a macro.
15370         (c-forward-decl-or-cast-1): Recognize top-level "foo(bar)" or "foo()" in C
15371         Mode as a implicitly typed function declaration.
15372         (c-just-after-func-arglist-p): Don't get confused by "defined (foo)" inside a
15373         macro.  It's not a function plus arglist.
15375         * lisp/progmodes/cc-langs.el (c-cpp-expr-functions-key): New defconst and
15376         defvar.
15378         * lisp/progmodes/cc-mode.el (c-fl-decl-end): After c-forward-declarator, move
15379         over any following parenthesis expression (i.e. parameter list).
15380         (c-change-expand-fl-region): When c-new-END is at a BOL, include that line in
15381         the returned region, to cope with deletions at column 0.
15383 2017-10-04  Michael Albinus  <michael.albinus@gmx.de>
15385         * lisp/net/tramp.el (tramp-tramp-file-p): Use `string-match-p'.
15387         Reported by Clément Pit-Claudel <cpitclaudel@gmail.com>.
15389 2017-10-04  Eli Zaretskii  <eliz@gnu.org>
15391         Avoid crashes on C-g when several threads wait for input
15393         * src/thread.h (m_getcjmp): New member of 'struct thread_state'.
15394         (getcjmp): Define to current thread's 'm_getcjmp'.
15395         * src/thread.c (maybe_reacquire_global_lock): Switch to main
15396         thread, since this is called from a SIGINT handler, which always
15397         runs in the context of the main thread.
15398         * src/lisp.h (sys_jmp_buf, sys_setjmp, sys_longjmp): Move the
15399         definitions before thread.h is included, as thread.h now uses
15400         sys_jmp_buf.
15401         * src/keyboard.c (getcjmp): Remove declaration.
15402         (read_char): Don't call maybe_reacquire_global_lock here.
15403         (handle_interrupt): Call maybe_reacquire_global_lock here, if
15404         invoked from the SIGINT handler, to make sure
15405         quit_throw_to_read_char runs with main thread's Lisp bindings and
15406         uses the main thread's jmp_buf buffer.  (Bug#28630)
15408 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15410         Warn if --without-pop is now the default
15412         * configure.ac (with_pop): Set to no-by-default if defaulting to "no".
15413         Warn about the change if defaulting to "no".  Update URLs.
15415 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15417         --with-pop is now the default only on MS-Windows
15419         Problem reported by N. Jackson (Bug#28597).
15420         This improves an earlier suggestion by Robert Pluim (Bug#28597#47).
15421         * INSTALL, configure.ac, etc/NEWS:
15422         Make --with-pop the default only on native MS-Windows.
15424 2017-10-03  Michael Albinus  <michael.albinus@gmx.de>
15426         Add support for `file-system-info' in Tramp
15428         * lisp/net/tramp.el (tramp-file-name-for-operation):
15429         Add `file-system-info'.
15431         * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info): New defun.
15432         (tramp-adb-file-name-handler-alist): Use it.
15434         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-system-attributes)
15435         (tramp-gvfs-file-system-attributes-regexp): New defconst.
15436         (tramp-gvfs-handle-file-system-info): New defun.
15437         (tramp-gvfs-file-name-handler-alist): Use it.
15438         (tramp-gvfs-get-directory-attributes): Fix property name.
15439         (tramp-gvfs-get-root-attributes): Support also file system attributes.
15441         * lisp/net/tramp-sh.el (tramp-sh-handle-file-system-info): New defun.
15442         (tramp-sh-file-name-handler-alist): Use it.
15443         (tramp-sh-handle-insert-directory): Insert size information.
15444         (tramp-get-remote-df): New defun.
15446         * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): New defun.
15447         (tramp-smb-file-name-handler-alist): Use it.
15448         (tramp-smb-handle-insert-directory): Insert size information.
15450         * test/lisp/net/tramp-tests.el (tramp-test37-file-system-info):
15451         New test.
15452         (tramp-test38-asynchronous-requests)
15453         (tramp-test39-recursive-load, tramp-test40-remote-load-path)
15454         (tramp-test41-unload): Rename.
15456 2017-10-03  João Távora  <joaotavora@gmail.com>
15458         Merge branch 'scratch/flymake-refactor-clean-for-emacs-26' into emacs-26
15460 2017-10-03  João Távora  <joaotavora@gmail.com>
15462         Start rewriting Flymake manual
15464         Missing the parts pertaining to the new customization API.
15466         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
15467         (Installing Flymake): Delete most of this.
15468         (Running the syntax check): Mention flymake-start.
15469         (Navigating to error lines): Rewrite.
15470         (Viewing error messages): Commente out.
15471         (Syntax check statuses, Troubleshooting): Rewrite a bit.
15472         (Customizable variables): New section under "Using
15473         Flymake".  Don't mention any proc variables here.
15474         (Configuring Flymake): Delete
15475         (Proc backend): New chapter
15476         (Proc customization variables): New chapter.
15478         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
15479         (Installing Flymake): Mostly scratch. Flymake comes with Emacs.
15480         (Running the syntax check): Simplify.
15481         (Viewing error messages): Dekete,
15482         (Syntax check statuses): Rewrite.
15483         (Troubleshooting): Simplify.
15484         (Customizable variables): Rewrite.
15485         (Extending Flymake): New chapter, empty for now.
15486         (The legacy Proc backend): New chapter.
15487         (Proc customizable variables)
15488         (Adding support for a new syntax check tool)
15489         (Implementation overview)
15490         (Making a temporary copy)
15491         (Locating a master file)
15492         (Getting the include directories)
15493         (Locating the buildfile)
15494         (Starting the syntax check process)
15495         (Parsing the output)
15496         (Interaction with other modes)
15497         (Example---Configuring a tool called via make)
15498         (Example---Configuring a tool called directly): Rewrite a bit.
15500 2017-10-03  João Távora  <joaotavora@gmail.com>
15502         Minimal tweak as an attempt to future-proof Flymake API
15504         Discussed with Stefan that this should allow Flymake to request more
15505         from backends in the future, while also allowing backends to report
15506         more accurately.
15508         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc)
15509         (elisp-flymake-byte-compile): Adjust to new API.
15511         * lisp/progmodes/flymake-proc.el ()
15512         (flymake-proc-legacy-flymake): Adjust to new API.
15514         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
15515         Review API again.
15516         (flymake--handle-report): Allow other keys.  Change ACTION to
15517         REPORT-ACTION.
15519 2017-10-03  João Távora  <joaotavora@gmail.com>
15521         Integrate Flymake elisp checkers into elisp-mode.el directly
15523         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Use
15524         elisp-flymake-checkdoc and elisp-flymake-byte-compile.
15525         (elisp-flymake--checkdoc-1, elisp-flymake-checkdoc)
15526         (elisp-flymake--byte-compile-done)
15527         (elisp-flymake--byte-compile-process)
15528         (elisp-flymake-byte-compile): Rename from flymake-elisp
15529         counterparts in deleted flymake-elisp.el
15530         (elisp-flymake--batch-compile-for-flymake): New helper.
15531         (checkdoc-create-error-function)
15532         (checkdoc-autofix-flag)
15533         (checkdoc-generate-compile-warnings-flag)
15534         (checkdoc-diagnostic-buffer): Forward declare.
15536         * lisp/progmodes/flymake-elisp.el: Delete.
15538 2017-10-03  João Távora  <joaotavora@gmail.com>
15540         Hook Flymake onto proper checkdoc and byte-compile interfaces
15542         The interfaces in bytecomp.el and checkdoc.el are mostly boilerplate,
15543         with little knowledge of actual internals or thought given to the
15544         usefulness of said interfaces in contexts other than Flymake's.
15546         * lisp/emacs-lisp/bytecomp.el
15547         (byte-compile-log-warning-function): New variable.
15548         (byte-compile-log-warning): Use it.
15549         (byte-compile--log-warning-for-byte-compile): New function.
15551         * lisp/emacs-lisp/checkdoc.el
15552         (checkdoc-create-error-function): New variable.
15553         (checkdoc-create-error): Use it.
15554         (checkdoc--create-error-for-checkdoc): New function.xo
15556         * lisp/progmodes/flymake-elisp.el (flymake-elisp--checkdoc-1):
15557         Use checkdoc-create-error-function.
15558         (flymake-elisp--batch-byte-compile): Use
15559         byte-compile-log-warning-function.
15561 2017-10-03  João Távora  <joaotavora@gmail.com>
15563         Tweak Flymake autoloads and dependencies
15565         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add to
15566         flymake-diagnostic-functions here.
15568         * lisp/progmodes/flymake-elisp.el[top]: Don't add to
15569         emacs-lisp-mode-hook.  Don't call flymake-elisp-setup-backends in
15570         every buffer.  (flymake-elisp-checkdoc) (flymake-elisp-byte-compile):
15571         Autoload.  (flymake-elisp-setup-backends): Remove.
15573         * lisp/progmodes/flymake.el: Add some top-level comments.
15574         (flymake-make-diagnostic)
15575         (flymake-mode, flymake-mode-on, flymake-mode-off): Add autoloads
15577         Where to fixup this shit?
15579 2017-10-03  João Távora  <joaotavora@gmail.com>
15581         Capitalize "Flymake" in docstrings and comments
15583         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
15584         (flymake-elisp-setup-backends): Capitalize "Flymake"
15586         * lisp/progmodes/flymake-proc.el:
15587         (flymake-proc-reformat-err-line-patterns-from-compile-el)
15588         (flymake-proc--panic, flymake-proc-legacy-flymake)
15589         (flymake-start-syntax-check, flymake-proc-compile)
15590         (define-obsolete-variable-alias): Capitalize "Flymake"
15592         * lisp/progmodes/flymake.el (flymake-fringe-indicator-position)
15593         (flymake-make-diagnostic, flymake-delete-own-overlays)
15594         (flymake-diagnostic-functions)
15595         (flymake-diagnostic-types-alist, flymake-is-running)
15596         (flymake-make-report-fn, flymake-mode-on, flymake-mode-off)
15597         (flymake-goto-next-error, flymake-goto-prev-error): Capitalize "Flymake"
15599 2017-10-03  João Távora  <joaotavora@gmail.com>
15601         Flymake backends can report multiple times per check
15603         Rewrote a significant part of the Flymake backend API.  Flymake now
15604         ignores the return value of backend functions: a function can either
15605         returns or errors.  If it doesn't error, a backend is no longer
15606         constrained to call REPORT-FN exactly once.  It may do so any number
15607         of times, cumulatively reporting diagnostics.  Flymake keeps track of
15608         outdated REPORT-FN instances and disconsiders obsolete reports.
15609         Backends should avoid reporting obsolete data by canceling any
15610         ongoing processing at every renewed call to the backend function.
15612         Consolidated flymake.el internal data structures to require less
15613         buffer-local variables.  Adjusted Flymake's mode-line indicator to the
15614         new semantics.
15616         Adapted and simplified the implementation of elisp and legacy
15617         backends, fixing potential race conditions when calling backends in
15618         rapid succession.
15620         Added a new test for a backend that calls REPORT-FN multiple
15621         times.  Simplify test infrastructure.
15623         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
15624         (flymake-elisp-byte-compile): Error instead of returning nil
15625         if not in emacs-lisp-mode.
15626         (flymake-elisp--byte-compile-process): New buffer-local variable.
15627         (flymake-elisp-byte-compile): Mark (and kill) previous process
15628         obsolete process before starting a new one.  Don't report if
15629         obsolete process.
15631         * lisp/progmodes/flymake-proc.el
15632         (flymake-proc--current-process): New buffer-local variable.
15633         (flymake-proc--processes): Remove.
15634         (flymake-proc--process-filter): Don't bind
15635         flymake-proc--report-fn.
15636         (flymake-proc--process-sentinel): Rewrite.  Don't report if
15637         obsolete process.
15638         (flymake-proc-legacy-flymake): Rewrite.  Mark (and kill)
15639         previous process obsolete process before starting a new
15640         one.  Integrate flymake-proc--start-syntax-check-process
15641         helper.
15642         (flymake-proc--start-syntax-check-process): Delete.
15643         (flymake-proc-stop-all-syntax-checks): Don't use
15644         flymake-proc--processes, iterate buffers.
15645         (flymake-proc-compile):
15647         * lisp/progmodes/flymake.el (subr-x): Require it
15648         explicitly.
15649         (flymake-diagnostic-functions): Reword docstring.
15650         (flymake--running-backends, flymake--disabled-backends)
15651         (flymake--diagnostics-table): Delete.
15652         (flymake--backend-state): New buffer-local variable and new defstruct.
15653         (flymake--with-backend-state, flymake--collect)
15654         (flymake-running-backends, flymake-disabled-backends)
15655         (flymake-reporting-backends): New helpers.
15656         (flymake-is-running): Use flymake-running-backends.
15657         (flymake--handle-report): Rewrite.
15658         (flymake-make-report-fn): Ensure REPORT-FN runs in the correct
15659         buffer or not at all.
15660         (flymake--disable-backend, flymake--run-backend): Rewrite.
15661         (flymake-start): Rewrite.
15662         (flymake-mode): Set flymake--backend-state.
15663         (flymake--mode-line-format): Rewrite.
15665         * test/lisp/progmodes/flymake-tests.el
15666         (flymake-tests--wait-for-backends): New helper.
15667         (flymake-tests--call-with-fixture): Use it.
15668         (included-c-header-files): Fix whitespace.
15669         (flymake-tests--diagnose-words): New helper.
15670         (dummy-backends): Rewrite for new semantics.  Use cl-letf.
15671         (flymake-tests--assert-set): Use quote.
15672         (recurrent-backend): New test.
15674 2017-10-03  João Távora  <joaotavora@gmail.com>
15676         Flymake uses proper idle timers
15678         Also, flymake-no-changes-timeout can be set to nil to disable
15679         automatic periodic checks.  But even in that situation the idle timer
15680         still runs at a reduced rate to detect changes in the variable and
15681         revert that decision.
15683         * lisp/progmodes/flymake.el (flymake-no-changes-timeout): Improve doc.
15684         (flymake-last-change-time): Delete.
15685         (flymake--schedule-timer-maybe): New helper.
15686         (flymake-after-change-function): Use it.
15687         (flymake-on-timer-event): Delete
15688         (flymake-mode): Don't scheduler timer.
15690 2017-10-03  João Távora  <joaotavora@gmail.com>
15692         Flymake variable flymake-diagnostic-functions now a special hook
15694         * lisp/progmodes/flymake-proc.el: Use add-hook to affect
15695         flymake-diagnostic-functions.
15697         * lisp/progmodes/flymake-elisp.el
15698         (flymake-elisp-setup-backends): Use add-hook.
15700         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
15701         Revise docstring.
15702         (flymake-start): Use run-hook-wrapped.
15704 2017-10-03  João Távora  <joaotavora@gmail.com>
15706         Batch of minor Flymake cleanup actions agreed to with Stefan
15708         Discussed with Stefan, in no particular order
15710         - Remove aliases for symbols thought to be internal to flymake-proc.el
15711         - Don’t need :group in defcustom and defface in flymake.el
15712         - Fix docstring of flymake-make-diagnostic
15713         - Fix docstring of flymake-diagnostic-functions to clarify keywords.
15714         - Mark overlays with just the property ’flymake, not ’flymake-overlay
15715         - Tune flymake-overlays for performance
15716         - Make flymake-mode-on and flymake-mode-off obsolete
15717         - Don’t use hash-table-keys unless necessary.
15718         - Copyright notice in flymake-elisp.
15720         Added some more
15722         - Clarify docstring of flymake-goto-next-error
15723         - Clarify a comment in flymake--run-backend complaining about ert-deftest.
15724         - Prevent compilation warnings in flymake-proc.el
15725         - Remove doctring from obsolete aliases
15727         Now the changelog:
15729         * lisp/progmodes/flymake-elisp.el: Proper copyright notice.
15731         * lisp/progmodes/flymake-proc.el (flymake-warning-re)
15732         (flymake-proc-diagnostic-type-pred)
15733         (flymake-proc-default-guess)
15734         (flymake-proc--get-file-name-mode-and-masks): Move up to
15735         beginning of file to shoosh compiler warnings
15736         (define-obsolete-variable-alias): Delete many obsolete aliases.
15738         * lisp/progmodes/flymake.el (flymake-error-bitmap)
15739         (flymake-warning-bitmap, flymake-note-bitmap)
15740         (flymake-fringe-indicator-position)
15741         (flymake-start-syntax-check-on-newline)
15742         (flymake-no-changes-timeout, flymake-gui-warnings-enabled)
15743         (flymake-start-syntax-check-on-find-file, flymake-log-level)
15744         (flymake-wrap-around, flymake-error, flymake-warning)
15745         (flymake-note): Don't need :group in these defcustom and defface.
15746         (flymake--run-backend): Clarify comment
15747         (flymake-mode-map): Remove.
15748         (flymake-make-diagnostic): Fix docstring.
15749         (flymake--highlight-line, flymake--overlays): Identify flymake
15750         overlays with just ’flymake.
15751         (flymake--overlays): Reverse order of invocation for
15752         cl-remove-if-not and cl-sort.
15753         (flymake-mode-on)
15754         (flymake-mode-off): Make obsolete.
15755         (flymake-goto-next-error, flymake-goto-prev-error): Fix docstring.
15756         (flymake-diagnostic-functions): Clarify keyword arguments in
15757         docstring.
15759         Maybe squash in that one where I remove many obsoletes
15761 2017-10-03  João Távora  <joaotavora@gmail.com>
15763         Explicitly add a(n empty) keymap for Flymake
15765         Too early to decide what will be in it, if anything.  Though "M-n" and
15766         "M-p" would be great.
15768         * lisp/progmodes/flymake-ui.el (flymake-mode-map): New variable
15770 2017-10-03  João Távora  <joaotavora@gmail.com>
15772         Flymake uses some new fringe bitmaps
15774         Also fix behavior whereby flymake wouldn't react to a change in the
15775         variable.
15777         * lisp/progmodes/flymake-ui.el (flymake-error-bitmap)
15778         (flymake-warning-bitmap): Update bitmaps.
15779         (flymake-note-bitmap): New defcustom.
15780         (flymake-double-exclamation-mark): New bitmap.
15781         (flymake-error, flymake-warning, flymake-note)
15782         (flymake--highlight-line): 'bitmap property must be a symbol.
15783         Also set default face to flymake-error.
15784         (flymake--fringe-overlay-spec): Bitmap property can be a
15785         variable symbol.
15787 2017-10-03  João Távora  <joaotavora@gmail.com>
15789         Remove old flymake-display-err-menu-for-current-line, it's useless
15791         See https://lists.gnu.org/r/emacs-devel/2017-09/msg00949.html
15793         * lisp/progmodes/flymake-ui.el
15794         (flymake-popup-current-error-menu): Remove.
15796 2017-10-03  João Távora  <joaotavora@gmail.com>
15798         Treat Flymake errors as just another type of diagnostic
15800         * lisp/progmodes/flymake.el (flymake--diag-errorp): Remove.
15801         (flymake--handle-report, flymake-popup-current-error-menu):
15802         Don't use it.
15804 2017-10-03  João Távora  <joaotavora@gmail.com>
15806         Fix three Flymake bugs when checking C header files
15808         The first of these problems is longstanding: if an error-less B.h is
15809         included from error-ridden A.h, flymake's legacy parser will panic
15810         (and disable itself) since it sees a non-zero exit for a clean file.
15811         To fix this, recommend returning 'true' in the documentation for the
15812         check-syntax target.
15814         Another problem was introduced by the parser rewrite.  For error
15815         patterns spanning more than one line, point may be left in the middle
15816         of a line and thus render other patterns useless.  Those patterns were
15817         written for the old line-by-line parser.  To make them useful again,
15818         move to the beginning of line in those situations.
15820         The third problem was also longstanding and happened on newer GCC's:
15821         The "In file included from" prefix confused
15822         flymake-proc-get-real-file-name.  Fix this.
15824         Also updated flymake--diag-region to fallback to highlighting a full
15825         line less often.
15827         Add automatic tests to check this.
15829         * lisp/progmodes/flymake-proc.el
15830         (flymake-proc--diagnostics-for-pattern): Fix bug when patterns
15831         accidentally spans more than one line.  Don't create
15832         diagnostics without error messages.
15833         (flymake-proc-real-file-name-considering-includes): New
15834         helper.
15835         (flymake-proc-allowed-file-name-masks): Use it.
15837         * lisp/progmodes/flymake.el (flymake-diag-region): Make COL
15838         argument explicitly optional.  Only fall back to full line in extreme
15839         cases.
15841         * test/lisp/progmodes/flymake-tests.el
15842         (included-c-header-files): New test.
15843         (different-diagnostic-types): Update.
15845         * test/lisp/progmodes/flymake-resources/Makefile
15846         (check-syntax): Always return success (0) error code.
15847         (CC_OPTS): Add -Wextra
15849         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c
15850         (main): Rewrite comments.
15852         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
15853         Include some dummy header files.
15855         * test/lisp/progmodes/flymake-resources/no-problems.h: New file.
15857         * test/lisp/progmodes/flymake-resources/some-problems.h: New file.
15859         * doc/misc/flymake.texi (Example---Configuring a tool called
15860         via make): Recommend adding "|| true" to the check-syntax target.
15862 2017-10-03  João Távora  <joaotavora@gmail.com>
15864         Add interactive flymake-start function
15866         * lisp/progmodes/flymake.el (flymake-on-timer-event)
15867         (flymake-after-change-function, flymake-mode): Call
15868         flymake-start.
15869         (flymake-start): Rename from flymake--start-syntax-check.
15871 2017-10-03  João Távora  <joaotavora@gmail.com>
15873         A couple of Flymake backends for emacs-lisp-mode
15875         Loading flymake-elisp.el doesn't setup flymake-mode to turn on
15876         automatically, but it affects emacs-lisp-mode-hook so that
15877         flymake-diagnostic-functions is setup with a suitable buffer-local
15878         value.  The variable flymake-diagnostic-funtions in every live
15879         emacs-lisp-mode buffer is also adjusted.
15881         * lisp/progmodes/flymake.el (top): Require flymake-elisp.
15883         * lisp/progmodes/flymake-elisp.el: New file.
15885 2017-10-03  João Távora  <joaotavora@gmail.com>
15887         Fancy Flymake mode-line construct displays status
15889         Imitates compilation-mode's mode-line a bit, and uses its faces.
15891         * lisp/progmodes/flymake.el
15892         (flymake-error, flymake-warning, flymake-note): Add
15893         mode-line-face to these flymake error types.
15894         (flymake-note): Notes don't need a noisy fringe bitmap.
15895         (flymake-lighter): Delete.
15896         (flymake--update-lighter): Delete.
15897         (flymake--mode-line-format): New function and variable.
15898         (flymake--diagnostics-table): New buffer-local variable.
15899         (flymake--handle-report): Don't update "lighters".  Affect
15900         flymake--diagnostics-table.
15901         (flymake--run-backend): Init flymake--diagnostics-table for backend.
15902         (flymake-mode): Use flymake--mode-line-format.
15903         (flymake-mode): Don't update lighter.
15904         (flymake--highlight-line): Be more careful when overriding a
15905         nil default overlay property.
15907 2017-10-03  João Távora  <joaotavora@gmail.com>
15909         Tweak Flymake commands flymake-goto-[next/prev]-error
15911         Add filters, useful for backends like the upcoming
15912         flymake-elisp-checkdoc backend, for example, which litters everything
15913         with low-priority notes.
15915         Also re-implement wraparound for flymake-goto-next-error. Manual
15916         mentions this, so it's probably a good idea to keep it.  Added a new
15917         customization variable flymake-wrap-around to control it.
15919         * lisp/progmodes/flymake.el (flymake-goto-prev-error)
15920         (flymake-goto-next-error): Accept FILTER argument.
15921         (flymake-wrap-around): New variable.
15922         (flymake-goto-next-error): Wrap around according to flymake-wrap-around.
15924         * test/lisp/progmodes/flymake-tests.el
15925         (different-diagnostic-types, dummy-backends): Pass FILTER to
15926         flymake-goto-prev-error.
15927         (different-diagnostic-types)
15928         (dummy-backends): Use flymake-wrap-around.
15930 2017-10-03  João Távora  <joaotavora@gmail.com>
15932         Flymake's flymake-proc.el backend slightly easier to debug
15934         Misc cleanup in flymake-proc.el
15936         Improve description of what this file contains.
15938         Better name for the backend function.  Fix the case where it is run
15939         interactively.
15941         Keep the output buffer alive iff the external process panics.
15943         * lisp/progmodes/flymake-proc.el
15944         (flymake-proc-legacy-flymake): Rename from
15945         flymake-proc-start-syntax-check.  Allow running interactively.
15946         (flymake-start-syntax-check): Obsolete alias for
15947         flymake-proc-legacy-flymake.
15948         (flymake-proc-start-syntax-check): Delete.
15949         (flymake-diagnostic-functions): Include flymake-proc-legacy-flymake
15950         (flymake-proc--process-sentinel): Keep output buffer alive.
15951         Clarify with comments.
15952         (flymake-proc--diagnostics-for-pattern)
15953         (flymake-proc--process-sentinel)
15954         (flymake-proc--safe-delete-directory)
15955         (flymake-proc--start-syntax-check-process): Use condition-case-unless-debug.
15957 2017-10-03  João Távora  <joaotavora@gmail.com>
15959         Simplify Flymake logging and erroring
15961         Use display-warning and a dedicated *Flymake log* buffer.
15963         To ease readability, flymake log messages are now prefixed with a
15964         common prefix and the buffer that originated them.
15966         Some situations of over-zealous logging are fixed.
15968         Use byte-compiler info, if available, to determine whence the
15969         flymake-related log message is coming.
15971         * lisp/progmodes/flymake-proc.el
15972         (flymake-proc--diagnostics-for-pattern): Improve log message.
15973         (flymake-proc--panic): Always flymake-log an error
15974         (flymake-proc--safe-delete-file)
15975         (flymake-proc--safe-delete-directory):
15976         Downgrade warning
15977         (flymake-proc-start-syntax-check): Simplify slightly.
15978         (flymake-proc--start-syntax-check-process): Simplify.
15979         (flymake-proc--init-find-buildfile-dir)
15980         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
15981         No need to warn twice.
15983         * lisp/progmodes/flymake.el (flymake-log): Convert to macro.
15984         (flymake--log-1): New helper.
15985         (flymake-log-level): Deprecate.
15986         (flymake-error): New helper.
15987         (flymake-ler-make-ler, flymake--handle-report, flymake-mode):
15988         Use flymake-error.
15989         (flymake-on-timer-event)
15990         (flymake--handle-report, flymake--disable-backend)
15991         (flymake--run-backend, flymake-start, flymake-mode-on)
15992         (flymake-mode-off, flymake-after-change-function)
15993         (flymake-after-save-hook, flymake-find-file-hook): Adjust
15994         flymake-log calls.
15996         * test/lisp/progmodes/flymake-tests.el
15997         (flymake-tests--call-with-fixture): Only log errors.
15999 2017-10-03  Philipp Stephani  <phst@google.com>
16001         Work around deprecation of gtk_style_context_get_background_color
16003         * src/gtkutil.c (xg_check_special_colors): Replace call to
16004         gtk_style_context_get_background_color with its definition.
16006 2017-10-03  João Távora  <joaotavora@gmail.com>
16008         New Flymake API variable flymake-diagnostic-functions
16010         Lay groundwork for multiple active backends in the same buffer.
16012         Backends are lisp functions called when flymake-mode sees fit.  They
16013         are responsible for examining the current buffer and telling
16014         flymake.el, via return value, if they can syntax check it.
16015         Backends should return quickly and inexpensively, but they are also
16016         passed a REPORT-FN argument which they may or may not call
16017         asynchronously after performing more expensive work.
16019         REPORT-FN's calling convention stipulates that a backend calls it with
16020         a list of diagnostics as argument, or, alternatively, with a symbol
16021         denoting an exceptional situation, usually some panic resulting from a
16022         misconfigured backend.  In keeping with legacy behavior,
16023         flymake.el's response to a panic is to disable the issuing backend.
16025         The flymake--diag object representing a diagnostic now also keeps
16026         information about its source backend.  Among other uses, this allows
16027         flymake to selectively cleanup overlays based on which backend is
16028         updating its diagnostics.
16030         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn):
16031         New dynamic variable.
16032         (flymake-proc--process): New variable.
16033         (flymake-can-syntax-check-buffer): Remove.
16034         (flymake-proc--process-sentinel): Simplify.  Use
16035         unwind-protect.  Affect flymake-proc--processes here.
16036         Bind flymake-proc--report-fn.
16037         (flymake-proc--process-filter): Bind flymake-proc--report-fn.
16038         (flymake-proc--post-syntax-check): Delete
16039         (flymake-proc-start-syntax-check): Take mandatory
16040         report-fn.  Rewrite.  Bind flymake-proc--report-fn.
16041         (flymake-proc--process-sentinel): Rewrite and simplify.
16042         (flymake-proc--panic): New helper.
16043         (flymake-proc--start-syntax-check-process): Record report-fn
16044         in process.  Use flymake-proc--panic.
16045         (flymake-proc-stop-all-syntax-checks): Use mapc.  Don't affect
16046         flymake-proc--processes here.  Record interruption reason.
16047         (flymake-proc--init-find-buildfile-dir)
16048         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
16049         Use flymake-proc--panic.
16050         (flymake-diagnostic-functions): Add
16051         flymake-proc-start-syntax-check.
16052         (flymake-proc-compile): Call
16053         flymake-proc-stop-all-syntax-checks with a reason.
16055         * lisp/progmodes/flymake.el (flymake-backends): Delete.
16056         (flymake-check-was-interrupted): Delete.
16057         (flymake--diag): Add backend slot.
16058         (flymake-delete-own-overlays): Take optional filter arg.
16059         (flymake-diagnostic-functions): New user-visible variable.
16060         (flymake--running-backends, flymake--disabled-backends): New
16061         buffer-local variables.
16062         (flymake-is-running): Now a function, not a variable.
16063         (flymake-mode-line, flymake-mode-line-e-w)
16064         (flymake-mode-line-status): Delete.
16065         (flymake-lighter):  flymake's minor-mode "lighter".
16066         (flymake-report): Delete.
16067         (flymake--backend): Delete.
16068         (flymake--can-syntax-check-buffer): Delete.
16069         (flymake--handle-report, flymake--disable-backend)
16070         (flymake--run-backend, flymake--run-backend):  New helpers.
16071         (flymake-make-report-fn): Make a lambda.
16072         (flymake--start-syntax-check): Iterate
16073         flymake-diagnostic-functions.
16074         (flymake-mode): Use flymake-lighter.  Simplify.  Initialize
16075         flymake--running-backends and flymake--disabled-backends.
16076         (flymake-find-file-hook): Simplify.
16078         * test/lisp/progmodes/flymake-tests.el
16079         (flymake-tests--call-with-fixture): Use flymake-is-running the
16080         function.  Check if flymake-mode already active before activating it.
16081         Add a thorough test for flymake multiple backends
16083         * lisp/progmodes/flymake.el (flymake--start-syntax-check):
16084         Don't use condition-case-unless-debug, use condition-case
16086         * test/lisp/progmodes/flymake-tests.el
16087         (flymake-tests--assert-set): New helper macro.
16088         (dummy-backends): New test.
16090 2017-10-03  João Távora  <joaotavora@gmail.com>
16092         More Flymake cleanup before advancing to backend redesign
16094         Diagnostics are reported for buffers, not necessarily files.  It’s the
16095         backend’s responsibility to compute the buffer where the diagnostic is
16096         applicable.  For now, this has to match the buffer where flymake-mode
16097         is active and which is at the origin of the backend call.
16099         flymake.el knows nothing about line/column diagnostics (except for
16100         backward-compatible flymake-ler-make-ler, which must yet be tested).
16101         It’s also the backend’s reponsibility to compute a BEG and END
16102         positions for the diagnostic in the relevant buffer.
16104         * lisp/progmodes/flymake-proc.el
16105         (flymake-proc--diagnostics-for-pattern): Convert LINE/COL to
16106         region here.  Check file buffer here.
16107         (flymake-proc--process-sentinel): Don’t kill output buffer if
16108         high enough log level.
16110         * lisp/progmodes/flymake.el (flymake-diag-region): Make this a utility
16111         function.  (flymake--highlight-line): Diagnostic has region now.
16112         (flymake-popup-current-error-menu): Don’t add file and line numbers to
16113         already this silly menu.  (flymake--fix-line-numbers): Remove.
16114         (flymake-report): No need to fix diagnostics here.
16116 2017-10-03  João Távora  <joaotavora@gmail.com>
16118         Protect Flymake's eager checks against commands like fill-paragraph
16120         If flymake-start-syntax-check-on-newline is t, check should start as
16121         soon as a newline is seen by after-change-functions.  But don't rush
16122         it: since the buffer state might not be final, we might end up with
16123         invalid diagnostic regions after some commands silently insert and
16124         delete newlines (looking at you, fill-paragraph).
16126         * lisp/progmodes/flymake.el (flymake-after-change-function): Pass
16127         `deferred' to flymake--start-syntax-check.
16128         (flymake--start-syntax-check): Take optional `deferred' arg.
16130 2017-10-03  João Távora  <joaotavora@gmail.com>
16132         Flymake highlights GCC info/notes as detected by flymake-proc.el
16134         * lisp/progmodes/flymake-proc.el
16135         (flymake-proc--diagnostics-for-pattern): Rewrite (using cl-loop) to
16136         honour more sophisticated flymake-proc-diagnostic-type-pred.
16137         (flymake-warning-re): Is now an obsolete alias for
16138         flymake-proc-diagnostic-type-pred.
16139         (flymake-proc-diagnostic-type-pred): Rename and augment from
16140         flymake-proc-warning-predicate.  (flymake-proc-warning-predicate):
16141         Delete.
16143         * lisp/progmodes/flymake.el (flymake-note): New face.
16144         (flymake-diagnostic-types-alist): Simplify.
16145         (flymake-note): New overlay category.
16146         (flymake--lookup-type-property): Only lookup single keys, not lists.
16147         (flymake--diag-errorp): Rewrite.
16148         (flymake--highlight-line): Use flymake--lookup-type-property.
16150         * test/lisp/progmodes/flymake-tests.el
16151         (different-diagnostic-types): Rename from errors-and-warnings.
16152         Check notes.
16153         (flymake-tests--call-with-fixture): Use
16154         flymake-proc-diagnostic-type-pred.
16156 2017-10-03  João Távora  <joaotavora@gmail.com>
16158         Flymake checks file names before considering diagnostics
16160         The error patterns for gcc picked up errors for the Makefile itself,
16161         for example.  These shouldn't count as actual errors.
16163         * lisp/progmodes/flymake.el (flymake-report): Check
16164         matching file names.
16166 2017-10-03  João Távora  <joaotavora@gmail.com>
16168         Echo Flymake error messages when navigating errors interactively
16170         Perhaps binding M-n and M-p to flymake-goto-next-error and
16171         flymake-goto-prev-error also wouldn't be a bad idea.
16173         * lisp/progmodes/flymake.el (flymake-goto-next-error): Use
16174         target overlay's help-echo.
16176 2017-10-03  João Távora  <joaotavora@gmail.com>
16178         Add a new Flymake test for multiple errors and warnings
16180         * test/lisp/progmodes/flymake-tests.el
16181         (flymake-tests--call-with-fixture): Save excursion.
16182         (errors-and-warnings): New test.
16184         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
16185         New test fixture.
16187 2017-10-03  João Távora  <joaotavora@gmail.com>
16189         Flymake warning face easier to distinguish
16191         A orange wavy underline is very hard to tell from a red wavy
16192         underline.
16194         * lisp/progmodes/flymake.el (flymake-warning): Change color to
16195         "deep sky blue"
16197 2017-10-03  João Távora  <joaotavora@gmail.com>
16199         Flymake's flymake-proc.el parses column numbers from gcc/javac errors
16201         Column numbers are not a great way of marking diagnostic regions, but
16202         that's probably all that can be expected from the flymake-proc.el
16203         backend.  For now, try (end-of-thing 'sexp) to discover the
16204         diagnostic's end position.
16206         * lisp/progmodes/flymake-proc.el ()
16207         (flymake-proc-err-line-patterns): Also parse column numbers,
16208         if available, for gcc/javac warnings.
16210 2017-10-03  João Távora  <joaotavora@gmail.com>
16212         New Flymake variable flymake-diagnostic-types-alist and much cleanup
16214         A new user-visible variable is introduced where different diagnostic
16215         types can be categorized.  Flymake backends can also contribute to
16216         this variable.  Anything that doesn’t match an existing error type
16217         is considered.
16219         The variable’s alists are used to propertize the overlays pertaining
16220         to each error type.  The user can override the built-in properties by
16221         either by modifying the alist, or by modifying the properties of a
16222         special "category" symbol, named by the `flymake-category' entry in
16223         the alist.
16225         The `flymake-category' entry is especially useful for, say, the author
16226         of foo-flymake-backend, who issues diagnostics of type :foo-note, that
16227         should behave like notes, except with no fringe bitmap:
16229            (add-to-list 'flymake-diagnostic-types-alist
16230                         '(:foo-note
16231                           . ((flymake-category . flymake-note)
16232                              (bitmap . nil))))
16234         For essential properties like `severity', `priority', etc, a default
16235         value is produced.  Some properties like `evaporate' cannot be
16236         overriden.
16238         * lisp/progmodes/flymake.el (flymake--diag): Rename from
16239         flymake-ler.
16240         (flymake-ler-make): Obsolete alias for flymake-diagnostic-make
16241         (flymake-ler-errorp): Rewrite using flymake--severity.
16242         (flymake--place-overlay): Delete.
16243         (flymake--overlays): Now a cl-defun with &key args.  Document.
16244         Use `overlays-at' if BEG is non-nil and END is nil.
16245         (flymake--lookup-type-property): New helper.
16246         (flymake--highlight-line): Rewrite.
16247         (flymake-diagnostic-types-alist): New API variable.
16248         (flymake--diag-region)
16249         (flymake--severity, flymake--face)
16250         (flymake--fringe-overlay-spec): New helper.
16251         (flymake-popup-current-error-menu): Use new flymake-overlays.
16252         (flymake-popup-current-error-menu, flymake-report): Use
16253         flymake--diag-errorp.
16254         (flymake--fix-line-numbers): Use flymake--diag-line.
16255         (flymake-goto-next-error): Pass :key to flymake-overlays
16257         * lisp/progmodes/flymake-proc.el
16258         (flymake-proc--diagnostics-for-pattern): Use flymake-diagnostic-make.
16260 2017-10-03  João Távora  <joaotavora@gmail.com>
16262         Refactor Flymake tests in preparation for more tests
16264         Introduce a slightly more generic fixture macro.
16266         Also make flymake-tests.el friendlier to interactive runs, by not
16267         killing buffers visited by the user.
16269         * test/lisp/progmodes/flymake-tests.el
16270         (flymake-tests--call-with-fixture): New helper from
16271         flymake-tests--current-face.  Don't kill file buffers already
16272         being visited before the test starts.
16273         (flymake-tests--with-flymake): New macro.
16274         (flymake-tests--current-face): Delete.
16275         (warning-predicate-rx-gcc, warning-predicate-function-gcc)
16276         (warning-predicate-rx-perl, warning-predicate-function-perl):
16277         Use flymake-test--with-flymake.
16279 2017-10-03  João Távora  <joaotavora@gmail.com>
16281         Allow running Flymake tests from interactive sessions
16283         * test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory):
16284         Expand to reasonable value if no
16285         EMACS_TEST_DIRECTORY. (flymake-tests--current-face): Work around
16286         "weirdness" of bug 17647 with read-event.
16288 2017-10-03  João Távora  <joaotavora@gmail.com>
16290         Flymake diagnostics now apply to arbitrary buffer regions
16292         Make Flymake UI some 150 lines lighter
16294         Strip away much of the original implementation's complexity in
16295         manipulating objects representing diagnostics as well as creating and
16296         navigating overlays.
16298         Lay some groundwork for a more flexible approach that allows for
16299         different classes of diagnostics, not necessarily line-based.
16300         Importantly, one overlay per diagnostic is created, whereas the
16301         original implementation had one per line, and on it it concatenated
16302         the results of errors and warnings.
16304         This means that currently, an error and warning on the same line are
16305         problematic and the warning might be overlooked but this will soon be
16306         fixed by setting appropriate priorities.
16308         Since diagnostics can highlight arbitrary regions, not just lines, the
16309         faces were renamed.
16311         Tests pass and backward compatibility with interactive functions is
16312         maintained, but probably any third-party extension or customization
16313         relying on more than a trivial set of flymake.el internals has stopped
16314         working.
16316         * lisp/progmodes/flymake-proc.el
16317         (flymake-proc--diagnostics-for-pattern): Use new flymake-ler-make
16318         constructor syntax.
16320         * lisp/progmodes/flymake.el (flymake-ins-after)
16321         (flymake-set-at, flymake-er-make-er, flymake-er-get-line)
16322         (flymake-er-get-line-err-info-list, flymake-ler-set-file)
16323         (flymake-ler-set-full-file, flymake-ler-set-line)
16324         (flymake-get-line-err-count, flymake-get-err-count)
16325         (flymake-highlight-err-lines, flymake-overlay-p)
16326         (flymake-make-overlay, flymake-region-has-flymake-overlays)
16327         (flymake-find-err-info)
16328         (flymake-line-err-info-is-less-or-equal)
16329         (flymake-add-line-err-info, flymake-add-err-info)
16330         (flymake-get-first-err-line-no)
16331         (flymake-get-last-err-line-no, flymake-get-next-err-line-no)
16332         (flymake-get-prev-err-line-no, flymake-skip-whitespace)
16333         (flymake-goto-line, flymake-goto-next-error)
16334         (flymake-goto-prev-error, flymake-patch-err-text): Delete
16335         functions no longer used.
16336         (flymake-goto-next-error, flymake-goto-prev-error): Rewrite.
16337         (flymake-report): Rewrite.
16338         (flymake-popup-current-error-menu): Rewrite.
16339         (flymake--highlight-line): Rename from
16340         flymake-highlight-line.  Call `flymake--place-overlay.
16341         (flymake--place-overlay): New function.
16342         (flymake-ler-errorp): New predicate.
16343         (flymake-ler): Simplify.
16344         (flymake-error): Rename from
16345         flymake-errline.
16346         (flymake-warning): Rename from flymake-warnline.
16347         (flymake-warnline, flymake-errline): Obsoletion aliases.
16349         * test/lisp/progmodes/flymake-tests.el (warning-predicate-rx-gcc)
16350         (warning-predicate-function-gcc, warning-predicate-rx-perl)
16351         (warning-predicate-function-perl): Use face `flymake-warning'.
16353 2017-10-03  João Távora  <joaotavora@gmail.com>
16355         Move symbols in flymake-proc.el to separate namespace
16357         Every symbol in this flymake now starts with the prefix flymake-proc-.
16359         Make obsolete aliases for (almost?) every symbol.
16361         Furthermore, many flymake-proc.el symbols are prefixed with
16362         "flymake-proc--", that is they were considered internal.
16364         Some customization variables, interactive functions, and other symbols
16365         considered useful to user customizations or third-party libraries are
16366         considered "public" or "external" and so use a "flymake-proc-" prefix.
16368         * lisp/progmodes/flymake-proc.el: Every symbol renamed.
16370         * test/lisp/progmodes/flymake-tests.el
16371         (flymake-tests--current-face): Use
16372         flymake-proc-warning-predicate, not flymake-warning-predicate.
16374         * lisp/progmodes/flymake-proc.el
16375         (flymake-proc--get-project-include-dirs-function)
16376         (flymake-proc--get-project-include-dirs-imp)
16377         (flymake-proc--get-include-dirs-dot) (flymake-proc--get-tex-args)
16378         (flymake-proc--find-make-buildfile)
16379         (flymake-proc--get-syntax-check-program-args)
16380         (flymake-proc--init-create-temp-source-and-master-buffer-copy)
16381         (flymake-proc--init-find-buildfile-dir)
16382         (flymake-proc--get-full-nonpatched-file-name)
16383         (flymake-proc--get-full-patched-file-name) (flymake-proc--base-dir,
16384         flymake-proc--temp-master-file-name) (flymake-proc--master-file-name)
16385         (flymake-proc--temp-source-file-name)
16386         (flymake-proc--delete-temp-directory) (flymake-proc--kill-process)
16387         (flymake-proc--start-syntax-check-process)
16388         (flymake-proc--compilation-is-running)
16389         (flymake-proc--safe-delete-directory) (flymake-proc--safe-delete-file)
16390         (flymake-proc--get-program-dir) (flymake-proc--restore-formatting)
16391         (flymake-proc--clear-project-include-dirs-cache)
16392         (flymake-proc--project-include-dirs-cache)
16393         (flymake-proc--get-system-include-dirs)
16394         (flymake-proc--get-project-include-dirs)
16395         (flymake-proc--add-project-include-dirs-to-cache)
16396         (flymake-proc--get-project-include-dirs-from-cache)
16397         (flymake-proc--post-syntax-check) (flymake-proc--process-sentinel)
16398         (flymake-proc--process-filter) (flymake-proc--create-master-file)
16399         (flymake-proc--find-buffer-for-file)
16400         (flymake-proc--copy-buffer-to-temp-buffer)
16401         (flymake-proc--read-file-to-temp-buffer)
16402         (flymake-proc--save-buffer-in-file) (flymake-proc--replace-region,
16403         flymake-proc--check-include)
16404         (flymake-proc--check-patch-master-file-buffer)
16405         (flymake-proc--master-file-compare)
16406         (flymake-proc--find-possible-master-files)
16407         (flymake-proc--included-file-name, flymake-proc--same-files)
16408         (flymake-proc--fix-file-name, flymake-proc--find-buildfile)
16409         (flymake-proc--clear-buildfile-cache)
16410         (flymake-proc--add-buildfile-to-cache)
16411         (flymake-proc--get-buildfile-from-cache)
16412         (flymake-proc--find-buildfile-cache)
16413         (flymake-proc--get-real-file-name-function)
16414         (flymake-proc--get-cleanup-function) (flymake-proc--get-init-function)
16415         (flymake-proc--get-file-name-mode-and-masks)
16416         (flymake-proc--processes): Rename to internal symbol from
16417         flymake-proc- version.
16419 2017-10-03  João Távora  <joaotavora@gmail.com>
16421         Completely rewrite Flymake's subprocess output processing
16423         Instead of parsing and matching regexps line-by-line, insert
16424         subprocess output in a separate buffer and parse using
16425         `search-forward-regexp'.  This eventually enables multi-line error
16426         patterns and simplifies code all around.  Store per-check information
16427         in the subprocess using `process-get' and `process-put'.  Treat error
16428         messages, warnings, etc. more generically as "diagnostics".  Create
16429         these objects as soon as possible, reusing existing `flymake-ler'
16430         structure.  Fix some whitespace.
16432         * lisp/progmodes/flymake.el (cl-lib): Require also when
16433         loading.
16434         (flymake--fix-line-numbers): Rename from
16435         flymake-fix-line-numbers.  Simplify.
16436         (flymake-report): Call flymake--fix-line-numbers.  Rearrange
16437         plain diagnostics list into alist format expected by
16438         flymake-highlight-err-lines.
16440         * lisp/progmodes/flymake-proc.el (flymake-process-filter): Insert
16441         process output and parse in dedicated output buffer.
16442         (flymake-proc--diagnostics-for-pattern): New helper function.
16443         (flymake-process-sentinel): Call flymake-post-syntax-check with
16444         collected diagnostics.  Kill output buffer.
16445         (flymake-post-syntax-check): Receive diagnostics as third argument.
16446         (flymake-parse-output-and-residual, flymake-new-err-info)
16447         (flymake-parse-residual, flymake-parse-err-lines)
16448         (flymake-split-output, flymake-proc-parse-line)
16449         (flymake-output-residual): Delete.
16450         (flymake-start-syntax-check-process): Use make-process.  Setup
16451         dedicated an output buffer
16453 2017-10-03  João Távora  <joaotavora@gmail.com>
16455         Flymake provides flymake-report re-entry point for backends
16457         * lisp/progmodes/flymake-proc.el (flymake-post-syntax-check):
16458         Simplify.  Call flymake-report.
16460         * lisp/progmodes/flymake.el (flymake-report): New function.
16462 2017-10-03  João Távora  <joaotavora@gmail.com>
16464         Split Flymake into flymake.el into flymake-proc.el (again!)
16466         After deciding that this work would continue on master only, which
16467         caused two commits named
16469            Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
16471         and
16473            Revert "Add flymake-backends defcustom"
16475         to be added to the emacs-26 branch, further discussion reversed that
16476         decision.
16478            See:
16480              https://lists.gnu.org/r/emacs-devel/2017-09/msg01020.html
16481              https://lists.gnu.org/r/emacs-devel/2017-09/msg01030.html
16483         This means that those two commits MUST be merged to master AFTER ALL.
16485         flymke-proc.el contains the main syntax-checking backend, while
16486         flymake.el keeps mostly the UI part.
16488         * lisp/progmodes/flymake-proc.el: New file.  Require flymake.
16490         * lisp/progmodes/flymake.el: Require flymake-proc.el at the end.
16492 2017-10-03  Nicolas Petton  <nicolas@petton.fr>
16494         Update authors.el
16496         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
16497         (authors-renamed-files-alist): Additions.
16499 2017-10-03  Noam Postavsky  <npostavs@gmail.com>
16501         Give more helpful messages for python completion setup failures
16503         * lisp/progmodes/python.el (python-shell-completion-native-setup): In
16504         case the completion setup failed with some exception, print out the
16505         exception type and message.  If libedit is detected, raise an
16506         exception, since this is known to fail.
16508 2017-10-02  Eli Zaretskii  <eliz@gnu.org>
16510         Fix the --without-x build
16512         * src/frame.c (Ficonify_frame) [HAVE_WINDOW_SYSTEM]: Use
16513         frame_parent only in GUI builds to avoid compilation errors in
16514         --without-x builds.  (Bug#28611)
16516 2017-10-02  Paul Eggert  <eggert@day>
16518         Fix customization of zoneinfo-style-world-list
16520         A customizable variable's initial value cannot depend on that of
16521         another customizable variable, since the variables are initialized
16522         in other than textual order.  Problem reported by N. Jackson
16523         (Bug#24291).
16524         * lisp/time.el (display-time-world-list): Default to t,
16525         a special value that expands to zoneinfo-style-word-list
16526         if that works, and to legacy-style-word-list otherwise.
16527         (time--display-world-list): New function.
16528         (display-time-world, display-time-world-timer): Use it.
16530 2017-10-02  Alan Mackenzie  <acm@muc.de>
16532         Fix a CC Mode brace stack cache bug.
16534         * lisp/progmodes/cc-engine.el (c-update-brace-stack): Call
16535         c-beginning-of-current-token after a failing search operation, to ensure we
16536         don't cache a point inside a token.
16538 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
16540         * etc/PROBLEMS: Document Bug#26638.
16542 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
16544         Prefer HTTPS to HTTP for gnu.org
16546         This fixes some URLs I omitted from my previous pass,
16547         notably those in lists.gnu.org.  Although lists.gnu.org
16548         does not yet support TLS 1.1, TLS 1.0 is better than nothing.
16549         * lisp/erc/erc.el (erc-official-location):
16550         * lisp/mail/emacsbug.el (report-emacs-bug):
16551         Use https:, not http:.
16553 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
16555         Merge from Gnulib
16557         This is mostly to change http: to https: in licenses.
16558         * COPYING, build-aux/config.guess, build-aux/config.sub:
16559         * doc/emacs/doclicense.texi, doc/emacs/gpl.texi:
16560         * doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi:
16561         * doc/lispref/gpl.texi, doc/misc/doclicense.texi:
16562         * doc/misc/gpl.texi, etc/COPYING, leim/COPYING:
16563         * lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING:
16564         * msdos/COPYING, nt/COPYING, src/COPYING:
16565         Copy from Gnulib.
16567 2017-10-01  Simen Heggestøyl  <simenheg@gmail.com>
16569         Keep eww buffer current when looking up CSS on MDN
16571         * lisp/textmodes/css-mode.el (css-lookup-symbol): Keep the eww buffer
16572         current when looking up CSS documentation on MDN.  This fixes a bug
16573         where the eww buffer's content sometimes get mangled when switching
16574         buffers mid-render.
16576 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
16578         Workaround for faulty localtime() under macOS 10.6
16580         * lisp/org/org-clock.el (org-clock--oldest-date): Only execute
16581         'decode-time' on times later than year -2**31 under macOS 10.6.
16582         See Bug#27706.
16584 2017-10-01  Alan Mackenzie  <acm@muc.de>
16586         Doc amendment for syntax-ppss.
16588         * doc/lispref/syntax.texi (Position Parse): Note, twice, that syntax-ppss is
16589         equivalent to parse-partial-sexp from the beginning of THE VISIBLE PART OF the
16590         buffer.  Final part of the fix for bug #22983.
16592 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
16594         Remove incorrect NEWS entry about 'find-library'
16596         * etc/NEWS (Changes in Emacs 26.1): Remove an entry about
16597         'find-library' taking a prefix argument to pop to a different
16598         window.  This behavior was added in "Allow a prefix argument to
16599         find-library to pop to a different window" (commit e1f2d14a), and
16600         then removed in "New commands: find-library-other-window,
16601         find-library-other-frame" (commit 021430f4).
16603 2017-10-01  Alan Mackenzie  <acm@muc.de>
16605         Remove inadvertent changes to syntax.texi in last commit.
16607         * doc/lispref/syntax.texi (Position Parse): revert changes.
16609 2017-10-01  Alan Mackenzie  <acm@muc.de>
16611         Amend documentation for text-quoting-style becoming a user option.
16613         * doc/lispref/control.texi (Signaling Errors):
16614         * doc/lispref/display.texi (Displaying Messages):
16615         * doc/lispref/strings.texi (Formatting Strings):
16616         Edit for brevity, farming out the details to the new
16617         Text Quoting Style node.
16618         * doc/lispref/help.texi (Text Quoting Style): New section.
16619         Move detailed discussion of text-quoting-style here.
16620         Add discussion about how to output grave accent and apostrophe in
16621         documentation and messages.  Adjust xrefs to point to this section
16622         when appropriate.
16623         * etc/NEWS: text-quoting-style semantics have not changed.
16625 2017-10-01  Alan Mackenzie  <acm@muc.de>
16627         Make the value nil in text-quoting-style mean what it does in Emacs 25.
16629         This is a partial reversion of yesterday's commit by the same author, which
16630         changed the meaning of nil and introduced the new value t.
16632         * src/doc.c (text_quoting_style, text-quoting-style)
16633         (internal--text-quoting-flag): Revert yesterday's changes.
16635         * lisp/cus-start.el: (top level): Amend the entry for text-quoting-style.
16637         * etc/NEWS: Amend the entry for text-quoting-style.
16639         * doc/lispref/control.texi (Signalling Errors)
16640         * doc/lispref/display.texi (Displaying Messages)
16641         * doc/lispref/strings.texi (Formatting Strings): Bind text-quoting-style to
16642         grave rather than nil to inhibit translation of quotes.
16644         * doc/lispref/help.texi (Keys in Documentation): Revert the description of the
16645         proposed new default, t.
16647 2017-10-01  Alan Mackenzie  <acm@muc.de>
16649         Make text-quoting-style customizable.  Introduce t and new meaning for nil.
16651         A value of nil for text-quoting-style now means "no translation".  t means
16652         "Use curved quotes if displayable".
16654         * src/doc.c (text-quoting-style (function)): modify for new semantics.
16655         (text-quoting-style (variable)): Amend the doc string, set the default value
16656         to t.
16658         * lisp/cus-start.el: (top level): Create a customize entry for
16659         text-quoting-style in group display.
16661         * etc/NEWS: Amend the entry for text-quoting-style.
16663         * doc/emacs/display.texi (Text Display): Describe the translation of ASCII
16664         quotes to curved quotes, and how to influence or inhibit it.
16666         * doc/lispref/control.texi (Signalling Errors)
16667         * doc/lispref/display.texi (Displaying Messages)
16668         * doc/lispref/strings.texi (Formatting Strings): Describe binding
16669         text-quoting-style to nil to inhibit unwanted quote translation.
16671         * doc/lispref/help.texi (Keys in Documentation): Change text-quoting-style
16672         from a variable to a user option.  Describe its changed set of values.  State
16673         that it can be customized freely.
16675 2017-10-01  Michael Albinus  <michael.albinus@gmx.de>
16677         eshell.texi improvements
16679         * doc/misc/eshell.texi (Built-ins): eshell/sudo is a compiled
16680         Lisp function in `em-tramp.el'.  Mention also $*, $1, $2, ...
16681         (Aliases): Add $*, $1, $2, ... to the variable index.
16683 2017-08-15  Alan Third  <alan@breton-build.holly.idiocy.org>
16685         Fix ns-win.el on GNUstep
16687         * lisp/term/ns-win.el: Appkit version check only works on macOS, so
16688         don't try it when not using Cocoa.
16690 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
16692         Fix reference style in org.texi
16694         * doc/misc/org.texi (A Texinfo example): Fix reference style.
16696 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
16698         Improve handling of iconification of child frames (Bug#28611)
16700         * src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option.
16701         (syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible.
16702         (iconify_child_frame): New option.
16703         * lisp/cus-start.el (iconify-child-frame): Add customization
16704         properties.
16705         * doc/lispref/frames.texi (Child Frames): Describe new option
16706         `iconify-child-frame'.  Don't index "top-level frame" twice.
16708 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
16710         Revert "Don't lose arguments to eshell aliases (Bug#27954)"
16712         It broke the established argument handling methods provided by eshell
16713         aliases (Bug#28568).
16714         * doc/misc/eshell.texi (Aliases): Fix example, call out use of
16715         arguments in aliases.
16716         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Ignore
16717         ARGS.
16719 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
16721         Make "unsafe directory" error message more informative (Bug#865)
16723         * lisp/server.el (server-ensure-safe-dir): Produce a description for
16724         each "unsafe" condition.
16726 2017-10-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
16728         Fix slot typecheck in eieio-persistent
16730         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
16731           An `or' form can specify multiple potential classes (or null) as
16732           valid types for a slot, but previously only the final element of the
16733           `or' was actually checked. Now returns all valid classes in the `or'
16734           form.
16735           (eieio-persistent-validate/fix-slot-value): Check if proposed value
16736           matches any of the valid classes.
16737         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
16738           (eieio-test-multiple-class-slot): Test this behavior.
16740 2017-09-30  Dmitry Gutov  <dgutov@yandex.ru>
16742         Fix semantic-ia-fast-jump
16744         * lisp/cedet/semantic/ia.el (semantic-ia--fast-jump-helper):
16745         Use `pop-to-buffer-same-window' (bug#28645).
16747 2017-09-30  Kaushal Modi  <kaushal.modi@gmail.com>
16749         Bind vc-region-history
16751         * lisp/vc/vc-hooks.el (vc-prefix-map):
16752         Bind `vc-region-history' to 'C-x v h', which was earlier bound to
16753         `vc-insert-headers' (Bug#27644).
16754         * doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
16755         * doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
16756         'C-x v h' with `vc-insert-headers'.
16757         (https://lists.gnu.org/r/emacs-devel/2017-09/msg00957.html)
16759 2017-09-30  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
16761         Exit macro definition on undefined keys
16763         * lisp/subr.el (undefined): Error out of kmacro definition, if any.
16764         (Bug#28008)
16766 2017-09-30  Tim Landscheidt  <tim@tim-landscheidt.de>  (tiny change)
16768         Reset bidi-paragraph-direction on article rendering
16770         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Reset
16771         bidi-paragraph-direction on article rendering.  (Bug#28454)
16773 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
16775         Fix url-http use of url-current-object
16777         * lisp/url/url-http.el (url-http): Bind url-current-object before
16778         calling url-http-find-free-connection.  (Bug#28515)
16780 2017-09-30  Andy Moreton  <andrewjmoreton@gmail.com>
16782         Avoid assertions in vc-hg.el on MS-Windows
16784         * lisp/vc/vc-hg.el (vc-hg--pcre-to-elisp-re)
16785         (vc-hg--slurp-hgignore, vc-hg--read-repo-requirements)
16786         (vc-hg-state-fast): Use file-name-absolute-p and directory-name-p
16787         instead of relying on Unix file-name syntax.  This avoids
16788         assertion violations on MS-Windows.
16790 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
16792         Improve documentation of 'copy-sequence'
16794         * src/fns.c (Fcopy_sequence):
16795         * doc/lispref/sequences.texi (Sequence Functions): Mention the
16796         exception when copying an empty sequence.  (Bug#28627)
16798 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
16800         Minor update of ack.texi
16802         * doc/emacs/ack.texi (Acknowledgments): Update Eli Zaretskii's
16803         contributions.
16805 2017-09-30  N. Jackson  <nljlistbox2@gmail.com>  (tiny change)
16807         * doc/emacs/emacs.texi (Acknowledgments): Add more contributors.
16809 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
16811         Improve indexing of multi-file/buffer Isearch commands
16813         * doc/emacs/maintaining.texi (Identifier Search): Change wording
16814         of index entries to make them different from those for multi-file
16815         isearch commands.  (Bug#28584)
16816         * doc/emacs/search.texi (Other Repeating Search): Index the
16817         multi-* commands.  (Bug#28584)  Rearrange the indexing to keep
16818         each index entry close to its subject.
16820 2017-09-30  Mark Oteiza  <mvoteiza@udel.edu>
16822         Add CAM02 JCh and CAM02-UCS J'a'b' conversions
16824         * src/lcms.c (rad2deg, parse_jch_list, parse_jab_list, xyz_to_jch):
16825         (jch_to_xyz, jch_to_jab, jab_to_jch): New functions.
16826         (lcms-jch->xyz, lcms-jch->xyz, lcms-jch->jab, lcms-jab->jch): New Lisp
16827         functions.
16828         (lcms-cam02-ucs): Refactor.
16829         (syms_of_lcms2): Declare new functions.
16830         * test/src/lcms-tests.el (lcms-roundtrip, lcms-ciecam02-gold):
16831         (lcms-jmh->cam02-ucs-silver): New tests.
16832         * etc/NEWS: Mention new functions.
16834 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
16836         Fix uses of @kindex in the Emacs manual
16838         * doc/emacs/programs.texi (Expressions, Semantic, Hungry Delete):
16839         * doc/emacs/mark.texi (Global Mark Ring)
16840         (Disabled Transient Mark):
16841         * doc/emacs/buffers.texi (Select Buffer):
16842         * doc/emacs/mule.texi (File Name Coding): Fix @kindex entries
16843         which used @key.  Reported by Marcin Borkowski <mbork@mbork.pl>.
16845 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
16847         Merge from gnulib
16849         This incorporates:
16850         2017-09-28 string: code style
16851         2017-09-25 sys_types: update URL
16852         2017-09-23 install-sh: do not assume / = //
16853         2017-09-21 mktime: port to OpenVMS
16854         * build-aux/install-sh, m4/mktime.m4, m4/string_h.m4:
16855         * m4/sys_types_h.m4: Copy from Gnulib.
16856         * lib/gnulib.mk.in: Regenerate.
16858 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
16860         Prefer HTTPS to HTTP for gnu.org
16862         This catches some URLs I missed in my previous scan,
16863         or perhaps were added after the scan.
16865 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
16867         Wait for frame visibility with timeout in w32term too
16869         * src/w32term.c (syms_of_w32term) [x-wait-for-event-timeout]: New
16870         variable.
16871         (x_make_frame_visible): Wait for frame to become visible according to
16872         its value.
16873         (input_signal_count): Remove.
16875 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
16877         Bring back the busy wait after x_make_frame_visible (Bug#25521)
16879         But wait specfically for a MapNotify event, and only for a
16880         configurable amount of time.
16881         * src/xterm.c (syms_of_xterm) [x-wait-for-event-timeout]: New
16882         variable.
16883         (x_wait_for_event): Use it instead of hardcoding the wait to 0.1s.
16884         (x_make_frame_visible): Call x_wait_for_event at the end.
16885         * etc/NEWS: Announce x_wait_for_event.
16887 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
16889         Fix last doc string change in simple.el
16891         * lisp/simple.el (shell-command-saved-pos)
16892         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
16894 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
16896         Revert "bug#28609: simple.el"
16898         This reverts commit a75ab3b3fb8ab69ef38a94403d061f88f3b5b63e.
16900 2017-09-29  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
16902         bug#28609: simple.el
16904         Correct grammar; also, call a pair a pair.
16906         (cherry picked from commit 25ef543a97a80718cc4eb33734d393420a43f41e)
16908 2017-09-29  Rasmus  <rasmus@gmx.us>
16910         Merge branch 'emacs-26' into scratch/org-mode-merge
16912 2017-09-29  Noam Postavsky  <npostavs@gmail.com>
16914         Fix ert backtrace saving for non-`signal'ed errors (Bug#28333)
16916         * lisp/emacs-lisp/ert.el (ert--run-test-debugger): Take the frames
16917         above the `debugger' frame, rather than assuming there will be a
16918         `signal' frame.
16920 2017-09-28  Alan Third  <alan@idiocy.org>
16922         Revert "Fix build on macOS (bug#28571)"
16924         This reverts commit fec63089d53d2196b0348086aeed70277fbc02c0.
16926         Prematurely pushed.
16928 2017-09-28  Alan Third  <alan@idiocy.org>
16930         Fix build on macOS (bug#28571)
16932         * src/conf_post.h (HAVE_FUTIMENS, HAVE_FUTIMESAT, HAVE_UTIMENSAT)
16933         [DARWIN_OS]: Undefine.
16935 2017-09-28  Simen Heggestøyl  <simenheg@gmail.com>
16937         Add tests for `css-current-defun-name'
16939         * test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name)
16940         (css-test-current-defun-name-nested)
16941         (css-test-current-defun-name-complex): New tests for
16942         `css-current-defun-name'.
16944 2017-09-28  Martin Rudalics  <rudalics@gmx.at>
16946         In w32fullscreen_hook don't add decorations to undecorated frames
16948         * src/w32term.c (w32fullscreen_hook): Do not add (or try to
16949         remove) decorations for undecorated frames.
16951 2017-09-28  João Távora  <joaotavora@gmail.com>
16953         Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
16955         In other words, re-coalesce the two files,
16956         lisp/progmodes/flymake-proc.el and lisp/progmodes/flymake-ui.el, back
16957         into a single one, lisp/progmodes/flymake.el.
16959         The changesets "Prefer HTTPS to FTP and HTTP in documentation" and
16960         "allow nil init in flymake-allowed-file-name-masks to disable flymake"
16961         are kept in place in the new lisp/progmodes/flymake.el.
16963         This reverts Git commit eb34f7f5a29e7bf62326ecb6e693f28878be28cd.
16965         Don't merge this back to master as development happening there builds
16966         upon this work. See also
16967         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html.
16969 2017-09-28  João Távora  <joaotavora@gmail.com>
16971         Revert "Add flymake-backends defcustom"
16973         This reverts Git commit 13993c46a21495167517f76d2e36b6c09ac5e89e.
16975         Don't merge this back to master as development happening there builds
16976         upon this work. See also
16977         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html
16979 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
16981         * src/editfns.c (styled_format): Fix typo in previous change.
16983 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
16985         Avoid some unnecessary copying in Fformat etc.
16987         This patch is just for performance; it should not affect behavior.
16988         On my platform, it made the microbenchmark (format "%S" load-path)
16989         run about 45% faster.  It should also speed up calls like (message
16990         "%s" STRING).
16991         * src/callint.c (Fcall_interactively):
16992         * src/dbusbind.c (XD_OBJECT_TO_STRING):
16993         * src/editfns.c (Fmessage, Fmessage_box):
16994         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
16995         Use styled_format instead of Fformat or Fformat_message,
16996         to avoid unnecessary copying.
16997         * src/editfns.c (styled_format): New arg NEW_RESULT.
16998         All uses changed.  Reuse an input string if it has the
16999         right value and if !NEW_RESULT.
17000         * src/lisp.h (style_format): New decl.
17002 2017-09-26  John Wiegley  <johnw@newartisans.com>
17004         lisp/simple.el: Indicate when a list of pairs is meant in a docstring
17006 2017-09-26  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
17008         bug#28609: simple.el
17010         Correct grammar; also, call a pair a pair.
17012 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
17014         Use a separate syntax-ppss cache for narrowed buffers
17016         * lisp/emacs-lisp/syntax.el (syntax-ppss-wide):
17017         New variable, to contain the data from `syntax-ppss-last' and
17018         `syntax-ppss-cache'.
17019         (syntax-ppss-cache, syntax-ppss-last): Remove.
17020         (syntax-ppss-narrow, syntax-ppss-narrow-start): New variables.
17021         (syntax-ppss-flush-cache): Flush both caches.
17022         (syntax-ppss--data): Return the appropriate last result and
17023         buffer cache for the current restriction.
17024         (syntax-ppss, syntax-ppss-debug): Use it (bug#22983).
17026 2017-09-26  Joerg Behrmann  <behrmann@physik.fu-berlin.de>  (tiny change)
17028         Improve python3-compatibility of fallback completion (Bug#28499)
17030         * lisp/progmodes/python.el (python-eldoc-setup-code): Use
17031         inspect.getfullargspec instead of inspect.getargspec to avoid a
17032         deprecation warning on every usage of eldoc in python-mode.
17034 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
17036         Fix subr-x-tests when running from elc
17038         * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-and-let*-test-group-1):
17039         Use `eval' around the `should-error' cases.
17041 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
17043         * lisp/eshell/esh-util.el (eshell-condition-case): Add debug declaration.
17045 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
17047         Make sh-indentation into an alias for sh-basic-offset (Bug#21751)
17049         * lisp/progmodes/sh-script.el (sh-indentation): Redefine as obsolete
17050         variable alias for `sh-basic-offset'.
17051         (sh-mode, sh-smie--indent-continuation)
17052         (sh-smie-rc-rules, sh-basic-indent-line): Replace `sh-indentation'
17053         with `sh-basic-offset'.
17055 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
17057         Fix loading of smie-config rules (Bug#24848)
17059         * lisp/emacs-lisp/smie.el (smie-config--setter): Use `set-default'
17060         instead of `setq-default'.
17061         (smie-config): Use `custom-initialize-set' instead of
17062         `custom-initialize-default' as the :initialize argument.
17064         * lisp/progmodes/sh-script.el (sh-learn-buffer-indent): Mention that
17065         we call `smie-config-guess' so that the user will have a chance to
17066         find the correct docstring to consult.  Remove hedging comments
17067         regarding use of abnormal hooks.
17069 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
17071         Reset default-directory inside *xref-grep* buffer
17073         * lisp/progmodes/xref.el (xref-collect-matches):
17074         Reset default-directory, too. (Bug#28575)
17076 2017-09-25  Michael Albinus  <michael.albinus@gmx.de>
17078         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Special
17079         code for smb.
17081 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
17083         Loosen strict parsing requirement for desktop files
17085         There are other desktop-looking files, for instance those having to do
17086         with MIME typess, that would benefit from being able to be read by this
17087         function.  It helps to have some flexibility.
17088         * lisp/xdg.el (xdg-desktop-read-file): Remove an error condition.
17089         * test/lisp/xdg-tests.el: Remove a test.
17091 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
17093         * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
17095 2017-09-25  Martin Rudalics  <rudalics@gmx.at>
17097         Fix documentation of `make-frame' and related variables and hooks
17099         * lisp/frame.el (before-make-frame-hook)
17100         (after-make-frame-functions, frame-inherited-parameters)
17101         (make-frame): Fix doc-strings.
17102         * doc/lispref/frames.texi (Creating Frames): Fix description
17103         of `make-frame' and related variables and hooks.
17105 2017-09-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
17107         Accept new `always' value for option `buffer-offer-save'
17109         Also revert ee512e9a82
17111         * lisp/files.el (buffer-offer-save): In addition to nil and t, now
17112           allows a third symbol value, `always'. A buffer where this option is
17113           set to `always' will always be offered for save by
17114           `save-some-buffers'.
17115           (save-some-buffers): Check the exact value of this buffer-local
17116           variable. No longer check the buffer name, or the value of
17117           `write-contents-functions'.
17118         * doc/lispref/buffers.texi (Killing Buffers): Note change in manual.
17119         * doc/lispref/files.texi (Saving Buffers): Remove note about buffer
17120           names.
17121         * etc/NEWS: Mention in NEWS.
17123 2017-09-24  Alan Third  <alan@idiocy.org>
17125         Improve new NS scrolling variable names
17127         * src/nsterm.m (ns-use-system-mwheel-acceleration): Replace with
17128         'ns-use-mwheel-acceleration'.
17129         (ns-touchpad-scroll-line-height): Replace with
17130         'ns-mwheel-line-height'.
17131         (ns-touchpad-use-momentum): Replace with 'ns-use-mwheel-momentum'.
17132         * etc/NEWS: Change variable names.
17134 2017-09-24  Philipp Stephani  <phst@google.com>
17136         Document 'replace-buffer-contents' in the manual.
17138         * doc/lispref/text.texi (Replacing): New node.
17140 2017-09-23  Alan Third  <alan@idiocy.org>
17142         Fix undecorated frame resizing issues on NS (bug#28512)
17144         * src/nsterm.m (EmacsView::updateFrameSize): Don't wait for the
17145         toolbar on undecorated frames.
17146         (EmacsView::initFrameFromEmacs): Group window flags correctly.
17148 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
17150         Fix doc string of 'dired-listing-switches'
17152         * lisp/dired.el (dired-listing-switches): Fix the quoting
17153         example.  (Bug#28569)
17155 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
17157         Documentation improvements for 'display-line-numbers'
17159         * doc/emacs/display.texi (Display Custom): Document a few more
17160         options for display-line-numbers.  (Bug#28533)  Fix a typo.
17162 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
17164         Fix last change in bat-mode.el
17166         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fix last
17167         change.  (Bug#28311)
17169 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
17171         Fix restoring in GUI sessions desktop saved in TTY sessions
17173         * lisp/frameset.el (frameset-filter-font-param): New function.
17174         (frameset-persistent-filter-alist): Use it for processing the
17175         'font' frame parameter.  (Bug#17352)
17177 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
17179         Improve syntax highlighting in bat-mode
17181         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Improve
17182         font-locking of environment variables.  Suggested by Achim Gratz
17183         <Stromeko@nexgo.de>.  (Bug#28311)  (Bug#18405)
17185 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
17187         Document the 'list-FOO' convention
17189         * doc/lispref/tips.texi (Coding Conventions): Document the
17190         list-FOO convention.
17192 2017-09-22  Mark Oteiza  <mvoteiza@udel.edu>
17194         Expose viewing conditions in CAM02-UCS metric
17196         Also add tests from the colorspacious library.  Finally, catch an
17197         errant calculation, where degrees were not being converted to radians.
17198         * src/lcms.c (deg2rad, default_viewing_conditions):
17199         (parse_viewing_conditions): New functions.
17200         (lcms-cam02-ucs): Add comments pointing to references used.  Expand
17201         the docstring and explain viewing conditions.  JCh hue is given in
17202         degrees and needs to be converted to radians.
17203         (lcms-d65-xyz): Remove.  No need to duplicate this in Lisp or make the
17204         API needlessly impure.
17205         * test/src/lcms-tests.el: Reword commentary.
17206         (lcms-rgb255->xyz): New function.
17207         (lcms-cri-cam02-ucs): Fix let-binding.
17208         (lcms-dE-cam02-ucs-silver): New test, assimilated from colorspacious.
17210 2017-09-21  Alan Third  <alan@idiocy.org>
17212         Revert "Set frame size to actual requested size (bug#18215)"
17214         This reverts commit d31cd79b40dbd5459b16505a4ee4340210499277.
17216         See bug#28536. I misunderstood bug#18215. It wasn't a bug.
17218 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
17220         Add tests for Edebug
17222         * test/lisp/emacs-lisp/edebug-tests.el: New file.
17223         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el: New file.
17225 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
17227         Catch more messages in ert-with-message-capture
17229         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): Capture
17230         messages from prin1, princ and print.
17231         (ert--make-message-advice): New function.
17232         (ert--make-print-advice): New function.
17234 2017-09-21  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
17236         Support setting region from secondary selection and vice versa
17238         * lisp/mouse.el (secondary-selection-exist-p): New function to
17239         allow callers to tell existence of the secondary selection
17240         in current buffer.
17241         (secondary-selection-to-region): New function to set
17242         beginning and end of the region from those of the secondary
17243         selection.
17244         (secondary-selection-from-region): New function to set
17245         beginning and end of the secondary selection from those of
17246         the region.  (Bug#27530)
17248         * etc/NEWS: Mention the new functions.
17250 2017-09-20  Paul Eggert  <eggert@cs.ucla.edu>
17252         Fix new copy-directory bug with empty dirs
17254         Problem reported by Afdam Plaice (Bug#28520) and by Eli Zaretskii
17255         (Bug#28483#34).  This is another bug that I introduced in my
17256         recent copy-directory changes.
17257         * lisp/files.el (copy-directory): Work with empty subdirectories, too.
17258         * test/lisp/files-tests.el (files-tests--copy-directory):
17259         Test for this bug.
17261 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
17263         * doc/lispref/strings.texi (Formatting Strings): Improve indexing.
17265 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
17267         Fix 2 testsuite tests for MS-Windows
17269         * test/lisp/ibuffer-tests.el (test-buffer-list): Don't try to
17270         create files with "*" in their names.
17271         * test/src/editfns-tests.el (format-time-string-with-zone): Adapt
17272         results to MS-Windows build.  Reported by Fabrice Popineau
17273         <fabrice.popineau@gmail.com>.
17275 2017-09-20  Mark Oteiza  <mvoteiza@udel.edu>
17277         Rename timer-list to list-timers
17279         * doc/emacs/anti.texi (Antinews):
17280         * doc/lispref/os.texi (Timers):
17281         * etc/NEWS:
17282         * lisp/emacs-lisp/timer-list.el:
17283         (timer-list-mode): Rename timer-list to list-timers.
17285 2017-09-19  Alan Third  <alan@idiocy.org>
17287         Provide native touchpad scrolling on macOS
17289         * etc/NEWS: Describe changes.
17290         * lisp/term/ns-win.el (mouse-wheel-scroll-amount,
17291         mouse-wheel-progressive-speed): Set to smarter values for macOS
17292         touchpads.
17293         * src/nsterm.m (emacsView::mouseDown): Use precise scrolling deltas to
17294         calculate scrolling for touchpads and mouse wheels.
17295         (syms_of_nsterm): Add variables 'ns-use-system-mwheel-acceleration',
17296         'ns-touchpad-scroll-line-height' and 'ns-touchpad-use-momentum'.
17297         * src/keyboard.c (make_lispy_event): Pass on .arg when relevant.
17298         * src/termhooks.h (event_kind): Update comments re. WHEEL_EVENT.
17299         * lisp/mwheel.el (mwheel-scroll): Use line count.
17300         * lisp/subr.el (event-line-count): New function.
17302 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
17304         Fix MinGW64 build broken by recent MinGW64 import libraries
17306         * configure.ac (W32_LIBS): Put -lusp10 before -lgdi32, as latest
17307         MinGW64 import libraries require that.  (Bug#28493)
17309         * src/Makefile.in: Adjust commentary to the new order of w32
17310         libraries.
17312 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
17314         Fix crashes in 'move-point-visually' in minibuffer windows
17316         * src/xdisp.c (Fmove_point_visually): Fix off-by-one error in
17317         comparing against the last valid glyph_row of a window glyph
17318         matrix.  (Bug#28505)
17320 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
17322         * src/emacs.c (usage_message): Don't mention 'find-file'.
17324 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
17326         Fix a minor inaccuracy in the Emacs manual
17328         * doc/emacs/cmdargs.texi (Action Arguments): Don't mention
17329         'find-file', as the implementation has changed.  Reported by
17330         Everton J. Carpes <everton.carpes@gmail.com> in
17331         https://lists.gnu.org/r/help-gnu-emacs/2017-09/msg00146.html.
17333 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
17335         Fix errors in flyspell-post-command-hook
17337         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Handle the
17338         case of a nil Nth element of the language dictionary slot.  This
17339         avoids errors in 'flyspell-post-command-hook' when switching
17340         dictionaries with some spell-checkers.  (Bug#28501)
17342 2017-09-19  Michael Albinus  <michael.albinus@gmx.de>
17344         Work on Tramp's file-truename
17346         * lisp/net/tramp-sh.el (tramp-perl-file-truename):
17347         Check also for symlinks.
17348         (tramp-sh-handle-file-truename): Move check for a symlink
17349         cycle to the end.  Do not blame symlinks which look like a
17350         remote file name.
17352         * lisp/net/tramp.el (tramp-handle-file-truename): Expand result.
17354 2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>
17356         Fix bug with make-directory on MS-Windows root
17358         * lisp/files.el (files--ensure-directory): Treat any error, not
17359         just file-already-exists, as an opportunity to check whether DIR
17360         is already a directory (Bug#28508).
17362 2017-09-19  Tom Tromey  <tom@tromey.com>
17364         Fix log-view-diff-common when point is after last entry
17366         Bug#28466
17367         * lisp/vc/log-view.el (log-view-diff-common): If point is after last
17368         entry, look at the previous revision.
17370 2017-09-18  Ken Brown  <kbrown@cornell.edu>
17372         Adapt fileio-tests--symlink-failure to Cygwin
17374         * test/src/fileio-tests.el (fileio-tests--symlink-failure)
17375         [CYGWIN]: Skip the case of a symlink target starting with '\';
17376         this is treated specially on Cygwin.
17378 2017-09-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
17380         Ignore buffers whose name begins with a space in save-some-buffers
17382         * lisp/files.el (save-some-buffers): Consider these buffers
17383           "internal", and don't prompt the user to save them.
17384         * doc/lispref/files.texi: Document.
17386 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
17388         Improve tramp-interrupt-process robustness
17390         * lisp/net/tramp.el (tramp-interrupt-process): Wait, until the
17391         process has disappeared.
17393 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
17395         Minor Tramp doc update
17397         * doc/misc/tramp.texi (Frequently Asked Questions):
17398         Mention `vc-handled-backends'.
17400 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
17402         Fix gensym
17404         * lisp/subr.el (gensym): Actually implement the default prefix.
17405         * test/lisp/subr-tests.el (subr-tests--gensym): New test.
17407 2017-09-18  Rasmus  <rasmus@gmx.us>
17409         Update Org to v9.1.1
17411         Please see etc/ORG-NEWS for major changes.
17413 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
17415         Cleanup in files-tests.el
17417         * test/lisp/files-tests.el (files-tests--make-directory)
17418         (files-tests--copy-directory): Cleanup temporary directories.
17420 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
17422         Remove old cl-assert calls in 'newline'
17424         * lisp/simple.el (newline): Remove cl-assert calls
17425         that didn't seem to be helping us debug Bug#18913,
17426         and that caused problems as reported in Bug#28280.
17427         Suggested by Glenn Morris (Bug#28280#8).
17429 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
17431         Avoid crash with C-g C-g in GC
17433         Problem reported by Richard Stallman (Bug#17406).
17434         Based on fix suggested by Eli Zaretskii (Bug#28279#16).
17435         * src/term.c (tty_send_additional_strings):
17436         Use only safe accessors, to avoid crash when C-g C-g in GC.
17438 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
17440         Fix format-time-string %Z bug with negative tz
17442         * src/editfns.c (tzlookup): Fix sign error in %Z when a purely
17443         numeric zone is negative (Bug#28746).
17444         * test/src/editfns-tests.el (format-time-string-with-zone):
17445         Add test for this bug.
17447 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
17449         message-citation-line-format %Z is now tz name
17451         * etc/NEWS:
17452         * lisp/gnus/message.el (message-citation-line-format):
17453         Fix doc to match new behavior (Bug#28476).
17455 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
17457         Use doc-view or pdf-tools on any window-system
17459         * lisp/net/mailcap.el (mailcap-mime-data): Simply check for
17460         window-system.
17462 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
17464         Fix bug with min and max and NaNs
17466         * src/data.c (minmax_driver): Fix bug with (min 0 NaN), which
17467         mistakenly yielded 0.  Also, pacify GCC in a better way.
17468         * test/src/data-tests.el (data-tests-min): Test for the bug.
17470 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
17472         Fix recently-introduced copy-directory bug
17474         Problem reported by Andrew Christianson (Bug#28451):
17475         * lisp/files.el (copy-directory): If COPY-CONTENTS, make the
17476         destination directory if it does not exist, even if it is a
17477         directory name.  Simplify, and omit unnecessary test for an
17478         already-existing non-directory target, since make-directory
17479         diagnoses that for us now.
17480         * test/lisp/files-tests.el (files-tests--copy-directory):
17481         Test for this bug.
17483 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
17485         Merge from Gnulib
17487         This incorporates:
17488         2017-09-16 manywarnings: port to GCC on 64-bit MS-Windows
17489         2017-09-13 all: Replace many more http URLs by https URLs
17490         * build-aux/config.guess, build-aux/config.sub:
17491         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
17492         * lib/allocator.h, lib/count-leading-zeros.h:
17493         * lib/count-trailing-zeros.h, lib/dup2.c, lib/filevercmp.c:
17494         * lib/fstatat.c, lib/fsync.c, lib/ftoastr.c, lib/ftoastr.h:
17495         * lib/intprops.h, lib/signal.in.h, lib/stdio-impl.h, lib/stdio.in.h:
17496         * lib/unistd.in.h, lib/utimens.c, m4/alloca.m4, m4/extern-inline.m4:
17497         * m4/fstatat.m4, m4/gnulib-common.m4, m4/manywarnings.m4:
17498         * m4/std-gnu11.m4, m4/sys_types_h.m4, m4/vararrays.m4:
17499         Copy from Gnulib.
17500         * lib/gnulib.mk.in: Regenerate.
17502 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
17504         Fix compatibility problem in Tramp
17506         * lisp/net/tramp.el (tramp-interrupt-process): Better error handling.
17508         * lisp/net/tramp-compat.el (default-toplevel-value): Move up.
17509         (top): Do not call `tramp-change-syntax' anymore.
17510         (tramp-compat-directory-name-p): New defalias.
17512         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
17513         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
17514         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
17515         (tramp-smb-handle-copy-file): Use it.
17517         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
17518         Modify test.
17520 2017-09-17  Eli Zaretskii  <eliz@gnu.org>
17522         Avoid GCC 7 compilation warning in eval.c
17524         * src/eval.c (push_handler_nosignal): Use CACHEABLE to work around
17525         GCC compilation warning.  Suggested by Paul Eggert <eggert@cs.ucla.edu>
17526         in https://lists.gnu.org/r/emacs-devel/2017-09/msg00492.html.
17528 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
17530         Adapt Tramp version.  Do not merge
17532         * doc/misc/trampver.texi:
17533         * lisp/net/trampver.el: Change version to "2.3.3.26.1".
17534         (customize-package-emacs-version-alist): Add Tramp version
17535         integrated in Emacs 26.1.
17537 2017-09-17  Tom Tromey  <tom@tromey.com>
17539         Search for Syntax section when viewing MDN
17541         * lisp/textmodes/css-mode.el (css--mdn-after-render): Also search for
17542         "Syntax" section.
17544 2017-09-17  Tom Tromey  <tom@tromey.com>
17546         Allow smerge-keep-current to work for empty hunks
17548         Bug#25555
17549         * lisp/vc/smerge-mode.el (smerge-get-current): Allow point to be at
17550         match-end.
17551         * test/lisp/vc/smerge-mode-tests.el: New file.
17553 2017-09-17  Tom Tromey  <tom@tromey.com>
17555         Call vc-setup-buffer in vc-git-log-{in,out}going
17557         Bug#28427:
17558         * lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing): Call
17559         vc-setup-buffer.
17561 2017-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
17563         Fix last change to textmodes/page-ext.el
17565         * lisp/textmodes/page-ext.el (pages-directory): Make buffer writable
17566         while we build it (bug#28431).
17568 2017-09-16  Glenn Morris  <rgm@gnu.org>
17570         * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcms2 not present.
17572 2017-09-16  Glenn Morris  <rgm@gnu.org>
17574         * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.
17576         (cherry picked from commit 8081df26911c63aadfce4ee8f6a7223d814baeaf)
17578 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
17580         Fix compilation warning in etags.c
17582         * lib-src/etags.c (etags_mktmp) [DOS_NT]: Don't dereference a NULL
17583         pointer.  Reported by Richard Copley <rcopley@gmail.com>.
17585 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
17587         Add lisp variable lcms-d65-xyz
17589         This serves as the default optional argument for functions in this
17590         library.
17591         * src/lcms.c (lcms-d65-xyz): New variable.
17592         (lcms-cam02-ucs): Use it.  Use better word in docstring.  Fix bug
17593         color1 -> color2.
17594         * test/src/lcms-tests.el: Add some tests for lcms-cri-cam02-ucs.
17595         (lcms-colorspacious-d65): New variable.
17597 2017-09-16  Gemini Lasswell  <gazally@runbox.com>
17599         * lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (bug#24765)
17601 2017-09-16  Andy Moreton  <andrewjmoreton@gmail.com>
17603         Avoid MinGW64 compiler warnings in unexw32.c
17605         * src/unexw32.c (pDWP) [MINGW_W64]: Define to "16llx" only for the
17606         64-bit build.
17608 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
17610         Start emacs-26 release branch
17612         * configure.ac:
17613         * nt/README.W32:
17614         * README:
17615         * msdos/sed2v2.inp: Increment Emacs version to 26.0.60.
17617         * lisp/cus-edit.el (customize-changed-options-previous-release):
17618         Update value to "25.3".
17620 2017-09-16  Alan Mackenzie  <acm@muc.de>
17622         Cope better with C++ and Objective-C protection keywords in class declarations
17624         This fix fixes the fontification of a method inside a class at the time it is
17625         typed, when there is a protection keyword clause preceding it.
17627         * lisp/progmodes/cc-engine.el (c-forward-keyword-clause): Handle protection
17628         keywords.
17629         (c-looking-at-decl-block): Avoid scanning forward over protection keyword
17630         clauses too eagerly.
17632         * lisp/progmodes/cc-langs.el (c-protection-key c-post-protection-token): New
17633         lang defconsts and defvars.
17635         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When we encounter a protection
17636         keyword following a semicolon or brace, move forward over it before attempting
17637         to parse a type.
17639 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
17641         Fix order of sorted overlays returned by 'overlays-at'
17643         * src/buffer.c (Foverlays_at): If SORTED is non-nil, reverse the
17644         list of results, to have their order as per the documentation.
17645         (Bug#28390)
17647         * etc/NEWS: Mention the change in the behavior of overlays-at.
17649 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
17651         Disable execution of unsafe Lisp by Enriched Text mode
17653         * src/xdisp.c (handle_display_spec): If the display property is
17654         wrapped in 'disable-eval' form, disable Lisp evaluation while
17655         processing this property.
17656         (handle_single_display_spec): Accept new argument ENABLE_EVAL_P.
17657         If that argument is false, don't evaluate Lisp while processing
17658         display properties.
17660         * lisp/textmodes/enriched.el
17661         (enriched-allow-eval-in-display-props): New defcustom.
17662         (enriched-decode-display-prop): If
17663         enriched-allow-eval-in-display-props is nil, wrap the display
17664         property with 'disable-eval' to disable Lisp evaluation when the
17665         display property is processed for display.  (Bug#28350)
17666         * lisp/gnus/mm-view.el (mm-inline-text): Re-enable processing of
17667         enriched text.
17669         * doc/lispref/display.texi (Display Property): Document the
17670         'disable-eval' wrapping of 'display' properties.
17671         * doc/emacs/text.texi (Enriched Properties): Document
17672         'enriched-allow-eval-in-display-props'.
17674         * etc/NEWS: Describe the security issues with Enriched Text mode
17675         and their solution.
17677 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
17679         Avoid MinGW64 compilation warning in w32.c
17681         * src/w32.c (sys_strerror): Provide a prototype for MinGW64.
17683 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
17685         Fix MS-Windows build broken by recent changes in lcms.c
17687         * src/lcms.c [WINDOWSNT]: Define types for cmsWhitePointFromTemp
17688         and cmsxyY2XYZ function pointers.
17689         (init_lcms_functions) [WINDOWSNT]: Load cmsWhitePointFromTemp and
17690         cmsxyY2XYZ from liblcms2.
17691         (cmsWhitePointFromTemp, cmsxyY2XYZ) [WINDOWSNT]: Redirect to the
17692         corresponding function pointers.
17693         (Flcms_temp_to_white_point): Minor stylistic changes.  Doc fix.
17694         (syms_of_lcms2): Defsubr Slcms_temp_to_white_point.
17696 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
17698         Avoid GCC 7 compilation warning in data.c
17700         * src/data.c (minmax_driver): Use UNINIT to avoid compilation
17701         warnings.  Reported by Fabrice Popineau
17702         <fabrice.popineau@centralesupelec.fr>.
17704 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
17706         Add lcms-temp->white-point and initial tests
17708         * src/lcms.c (lcms-temp->white-point): New function.
17709         * test/src/lcms-tests.el: New file.
17711 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
17713         Use cl-print in timer list
17715         * lisp/emacs-lisp/timer-list.el (timer-list): Use cl-print
17716         for handling functions.
17717         (timer-list-mode): Capitalize major mode name.  Set bidi direction
17718         as in tabulated-list-mode.
17720 2017-09-15  Vincent Belaïche  <vincentb1@users.sourceforge.net>
17722         Make landscape layout with geometry package rather than a PostScript special.
17724         * lisp/calendar/cal-tex.el (cal-tex-preamble): Make 12pt the
17725         default class option.
17726         (cal-tex-year, cal-tex-cursor-month-landscape): Pass landscape
17727         request to `cal-tex-insert-preamble' function call within the
17728         class option string.
17729         (cal-tex-cursor-month): Don't pass any longer "12pt" argument
17730         to `cal-tex-insert-preamble' function, as it is default.
17731         (cal-tex-insert-preamble): Suppress landscape and size
17732         argument, and replace them by a class-options string
17733         argument. Do not insert any longer "\special{landscape}" in
17734         case of landscape layout, as the job is made by the geometry
17735         package.
17737 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
17739         * lisp/json.el (json-read-keyword): Revert previous change to catch EOL.
17741 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
17743         One more attempt to avoid GCC 7 warnings in dispnew.c
17745         * src/dispnew.c (adjust_glyph_matrix): Use eassume instead of
17746         eassert, to avoid compilation warnings about NULL pointer
17747         dereferences.
17749 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
17751         Fix color-distance docstring
17753         Also feed the translated color to the metric argument.
17754         * src/xfaces.c (color-distance): Reword docstring to be more helpful.
17755         Avoid duplicating effort in lcms2 by passing the translated 16 bit RGB
17756         instead of the function's color arguments.
17758 2017-09-15  Michael Albinus  <michael.albinus@gmx.de>
17760         Improve Tramp behavior according to bug#27986
17762         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
17763         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
17764         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
17765         (tramp-smb-handle-copy-file): Check, that NEWNAME is a
17766         directory name when existing.  Use `file-name-as-directory'
17767         where appropriate.
17769 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
17771         More JSON optimization
17773         Last I checked, inlining json-skip-whitespace didn't make much
17774         difference.  However, changing defsubsts to define-inline results
17775         in roughly 15% reduction in read time on a 200K file.
17776         * lisp/json.el (json-advance, json-peek, json-pop):
17777         (json-skip-whitespace): Inline with define-inline.
17778         (json-read-keyword): Don't use whitespace syntax.
17779         (json-add-to-object): Simpler condition.
17781 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
17783         Avoid crashes due to invalid error forms from sentinels/filters
17785         * src/process.c (exec_sentinel_error_handler): Make sure the error
17786         form passed to cmd_error_internal is a cons cell.  (Bug#28430)
17788 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
17790         Avoid compilation warnings with GCC 7 on MS-Windows
17792         * src/w32term.c (w32_setup_relief_color, construct_mouse_click)
17793         (w32_read_socket): Initialize variables to shut up bogus
17794         compilation warnings from GCC 7.
17795         * src/unexw32.c (COPY_CHUNK, COPY_PROC_CHUNK): Cast to DWORD_PTR
17796         to avoid compiler warnings about printing signed values using %x
17797         format spec.
17798         * src/dispnew.c (adjust_glyph_matrix): Add eassert to avoid
17799         compiler warning about possible NULL pointer dereference.
17800         * src/lisp.h (pI): Tweak the definition some more for MinGW64.
17802 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
17804         Define gnutls_rnd for WINDOWSNT and HAVE_GNUTLS3 case only
17806         * src/fns.c (gnutls_rnd): Define for WINDOWSNT and HAVE_GNUTLS3
17807         case only to avoid unused macros warning otherwise.
17809 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
17811         In w32heap.c bump up DUMPED_HEAP_SIZE
17813         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump up DUMPED_HEAP_SIZE
17814         to 13*1024*1024 for 32-bit non-wide-integer builds.
17816 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
17818         Bind n,p in timer-list
17820         * lisp/emacs-lisp/timer-list.el (timer-list-mode-map): Bind n and p
17821         to next- and previous-line, respectively.
17823 2017-09-14  Glenn Morris  <rgm@gnu.org>
17825         * lisp/net/tls.el (tls-program): Fix :version.
17827 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
17829         * configure.ac (--with-lcms2, --without-lcms2): New options.
17831 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
17833         Avoid 64-bit compilation warnings in unexw32.c
17835         * src/unexw32.c (pDWP): New macro.
17836         (COPY_CHUNK, COPY_PROC_CHUNK): Declare 'count' as DWORD_PTR.  Use
17837         pDWP for printing values that can be either 32-bit or 64-bit wide.
17839 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
17841         Fix warnings about formats in printf-like functions on MS-Windows
17843         * src/lisp.h (pI) [__MINGW32__]: Provide definition that will
17844         hopefully DTRT with both MinGW64 and mingw.org's MinGW.  See
17845         https://lists.gnu.org/r/emacs-devel/2017-09/msg00171.html
17846         for the details.
17847         * src/conf_post.h (PRINTF_ARCHETYPE) [MINGW_W64]: Separate
17848         definition specific to MinGW64.
17849         (PRINTF_ARCHETYPE) [__MINGW32__]: For mingw.org's MinGW, use
17850         __mingw_printf__ in ANSI-compatible mode.
17852 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
17854         Support lcms2 in MS-Windows builds
17856         * lisp/term/w32-win.el (dynamic-library-alist): Include
17857         association for the lcms2 library.
17859         * src/lcms.c [WINDOWSNT]: Include windows.h and w32.h.  Use
17860         DEF_DLL_FN to define pointers to dynamically loaded lcms2
17861         functions.
17862         (cmsCIE2000DeltaE, cmsCIECAM02Init, cmsCIECAM02Forward)
17863         (cmsCIECAM02Done): New macros.
17864         (init_lcms_functions, Flcms2_available_p): New functions.
17865         (Flcms_cie_de2000, Flcms_cam02_ucs) [WINDOWSNT]: Call
17866         init_lcms_functions.
17867         (syms_of_lcms2): Defsubr lcms2-available-p.
17868         * src/w32fns.c (syms_of_w32fns): DEFSYM Qlcms2.
17870         * configure.ac: Include lcms2 in the final report and in
17871         emacs_config_features.
17873         * nt/INSTALL:
17874         * nt/INSTALL.W64: Update with the information about lcms2 library.
17876 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
17878         Port renameat_noreplace to openSUSE 12.3
17880         Problem reported by M. Nomiya in:
17881         https://lists.gnu.org/r/emacs-devel/2017-09/msg00363.html
17882         * src/sysdep.c (renameat_noreplace):
17883         Call renameat2 only if CYGWIN.
17885 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
17887         Prefer HTTPS to FTP and HTTP in documentation
17889         Most of this change is to boilerplate commentary such as license URLs.
17890         This change was prompted by ftp://ftp.gnu.org's going-away party,
17891         planned for November.  Change these FTP URLs to https://ftp.gnu.org
17892         instead.  Make similar changes for URLs to other organizations moving
17893         away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
17894         fsf.org when this works, as this will further help defend against
17895         man-in-the-middle attacks (for this part I omitted the MS-DOS and
17896         MS-Windows sources and the test tarballs to keep the workload down).
17897         HTTPS is not fully working to lists.gnu.org so I left those URLs alone
17898         for now.
17900 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
17902         Prefer HTTPS to HTTP for gnu.org
17904         This patch just changes code files; a followup companion patch
17905         (much larger) will affect the commentary.  This part is
17906         separated out to make it easier to review.
17907         * .dir-locals.el (change-log-mode):
17908         * lisp/org/org-info.el (org-info-other-documents)
17909         (org-info-map-html-url):
17910         * lisp/org/ox-html.el (org-html-creator-string):
17911         * lisp/startup.el (fancy-startup-text, fancy-about-text)
17912         (fancy-splash-head):
17913         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
17914         * test/lisp/thingatpt-tests.el (thing-at-point-test-data):
17915         Use HTTPS instead of HTTP.
17917 2017-09-13  Simen Heggestøyl  <simenheg@gmail.com>
17919         Add tests for color.el
17921         * lisp/color.el (color-name-to-rgb, color-complement): Clarify in
17922         docstrings that RGB triplets should use four digits per component.
17923         (color-rgb-to-hsl): Break line to avoid "Hidden behind deeper element"
17924         warning.
17926         * test/lisp/color-tests.el: New file.
17928 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
17930         Make gnutls-verify-error work again with url-retrieve-synchronously
17932         * lisp/url/url-gw.el (url-open-stream): Only use :nowait if
17933         we're doing async connections (bug#26835).
17935         * lisp/url/url-parse.el (url): Add an asynchronous slot.
17937         * lisp/url/url.el (url-asynchronous): New variable.
17938         (url-retrieve-internal): Store the value.
17939         (url-retrieve-synchronously): Bind the variable.
17941 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
17943         Improve backward compatibility of tramp-tests
17945         * test/lisp/net/tramp-tests.el (seq): Don't require.
17946         (tramp--test-emacs26-p): New defun.
17947         (tramp-test10-write-region, tramp-test11-copy-file)
17948         (tramp-test12-rename-file, tramp-test15-copy-directory)
17949         (tramp-test21-file-links): Use it.
17950         (tramp-test16-file-expand-wildcards): Use `copy-sequence'.
17952 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
17954         * lisp/net/trampver.el (customize-package-emacs-version-alist):
17956         Add Tramp version integrated in Emacs 25.3.
17958 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
17960         Add clarification to if-let* docstring
17962         Also make its behavior consistent with and-let* in that empty bindings
17963         results in success, not failure.
17964         * lisp/emacs-lisp/subr-x.el: Edit docstring, change else to then.
17966 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
17968         Make fully qualified domain names more fully qualified
17970         * lisp/gnus/message.el (message-make-fqdn): Don't try to use a
17971         system-name without any periods as a fully qualified domain name.
17973 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17975         Remove unused file lib/getopt_.h
17977         * lib/getopt_.h: Remove.  It was renamed to lib/getopt.in.h etc.
17978         on 2011-01-08, but I forgot to remove the old file.
17980 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
17982         Remove "baroque" use of prefix argument from gensym
17984         'cl-gensym' was simply moved here, but let us take an opportunity to
17985         shed some historical baggage.
17986         * lisp/subr.el (gensym): Remove special treatment of PREFIX as a
17987         number.  Use "g" as prefix to differentiate from cl-gensym defaults.
17988         * doc/lispref/symbols.texi (Creating Symbols): Update accordingly.
17989         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter, cl-gensym): Restore.
17991 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
17993         Provide an lcms2 feature
17995         * src/lcms.c (syms_of_lcms2): Provide "lcms2".
17997 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
17999         Add lcms2 interface
18001         configure.ac: Add boilerplate for configuring and detecting liblcms2.
18002         etc/NEWS: Mention new configure option and color-distance change.
18003         src/Makefile.in: Add references to lcms.c and liblcms.
18004         src/emacs.c: Define lcms2 symbols.
18005         src/lcms.c: New file.
18006         src/lisp.h: Add declaration for lcms2.
18007         src/xfaces.c: Add optional METRIC argument.
18009 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
18011         Add other D series white points and some simple conversions
18013         * lisp/color.el (color-d75-xyz, color-d55-xyz, color-d50-xyz): New
18014         constants.
18015         (color-xyz-to-xyy, color-xyy-to-xyz, color-lab-to-lch):
18016         (color-lch-to-lab): New functions.
18018 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
18020         Permit non-integral color gradients
18022         * lisp/color.el (color-gradient): Float the step-number.
18024 2017-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
18026         Protect against malformed MIME messages that cause inf-loop (bugfix)
18028         * lisp/gnus/gnus-art.el (gnus-article-mime-handles):
18029         Protect against malformed MIME messages that cause inf-loop.
18031 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
18033         Merge from Gnulib
18035         This incorporates:
18036         2017-09-13 all: prefer https: URLs
18037         This just changes http: to https: in comments,
18038         in files copied from Gnulib.
18040 2017-09-13  Dmitry Gutov  <dgutov@yandex.ru>
18042         Call vc-resynch-buffer in vc-git-resolve-when-done
18044         * lisp/vc/vc-git.el (vc-git-resolve-when-done):
18045         Call vc-resynch-buffer on the current file (bug#28121).
18046         Move its autoload to before this function.
18048 2017-09-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
18050         Allow write-contents-functions to short-circuit buffer save
18052         Bug#28412
18054         * lisp/files.el (basic-save-buffer): Re-arrange function so that
18055           write-contents-functions are run earlier. If they return non-nil,
18056           consider the buffer saved without requiring the buffer to be
18057           visiting a file.
18058           (save-some-buffers): This function should consider any buffer with a
18059           buffer-local value for write-contents-functions eligible for
18060           saving.
18061         * test/lisp/files-tests.el (files-test-no-file-write-contents): New
18062           test.
18063         * doc/lispref/files.texi (Saving Buffers): Mention in docs.
18064         * etc/NEWS: And in NEWS.
18066 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
18068         * etc/NEWS.25: Copy from emacs-25 etc/NEWS.
18070 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
18072         Less chatter for ’make info/dir’
18074         * Makefile.in (${srcdir}/info/dir): Tweak shell command so
18075         that an ordinary make says just "GEN info/dir" rather than
18076         also having a seemingly-unrelated mv line.
18078 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
18080         Tweak Gnus doc re gnus-copy-file
18082         * doc/misc/gnus.texi (Saving Articles):
18083         Document behavior with directory name targets (Bug#27986).
18084         Problem reported by Katsumi Yamaoka in:
18085         https://lists.gnu.org/r/emacs-devel/2017-09/msg00216.html
18087 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
18089         Update uses of if-let and when-let
18091         * lisp/dom.el (dom-previous-sibling):
18092         * lisp/emacs-lisp/package.el (package--with-work-buffer):
18093         (package--sort-deps-in-alist, package--sort-by-dependence):
18094         (package-install-from-archive, package-install):
18095         (package-menu-execute, package-menu--populate-new-package-list):
18096         * lisp/filenotify.el (file-notify--rm-descriptor):
18097         (file-notify--event-watched-file, file-notify--event-file-name):
18098         (file-notify--event-file1-name, file-notify-rm-watch):
18099         (file-notify-valid-p):
18100         * lisp/gnus/message.el (message-toggle-image-thumbnails):
18101         * lisp/gnus/nnimap.el (nnimap-request-move-article):
18102         * lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
18103         * lisp/mpc.el (mpc-format):
18104         * lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
18105         (eww-save-history):
18106         * lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
18107         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
18108         * lisp/svg.el (svg-remove):
18109         * lisp/textmodes/css-mode.el (css--named-color):
18110         (css--colon-inside-funcall):
18111         * lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
18112         (html-current-buffer-ids): Use if-let* and when-let* instead.
18114 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
18116         Implement and-let*
18118         This also includes changes to if-let and when-let.  The single tuple
18119         special case is ambiguous, and binding a symbol to nil is not as
18120         useful as binding it to its value outside the lexical scope of the
18121         binding.  (Bug#28254)
18122         * etc/NEWS: Mention.
18123         * lisp/emacs-lisp/subr-x.el (internal--listify):
18124         (internal--build-binding-value-form): Extend to account for
18125         solitary symbols and (EXPR) items in binding varlist.
18126         (if-let*, when-let*): Nix single tuple case and incumbent
18127         bind-symbol-to-nil behavior.
18128         (and-let*): New macro.
18129         (if-let, when-let): Mark obsolete.  Redefine in terms of if-let*, so
18130         they implicitly gain the new features without breaking existing code.
18131         * test/lisp/emacs-lisp/subr-x-tests.el: Adjust tests for: lack of
18132         single-tuple special case, lack of binding solitary symbols to nil,
18133         and the introduction of uninterned symbols for (EXPR) bindings.  Add
18134         SRFI-2 test suite adapted to Elisp.
18136 2017-09-12  Eli Zaretskii  <eliz@gnu.org>
18138         Fix minor typos in the Emacs manual
18140         * doc/emacs/text.texi (Org Organizer):
18141         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of Org nodes.
18143 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
18145         Merge Emacs 25.3 fixes
18147         The security patches released for Emacs 25.3 were less drastic
18148         than what we had immediately put into master.  Adjust master to
18149         match 25.3 (Bug#28350).
18150         * lisp/textmodes/enriched.el (enriched-translations):
18151         Re-enable FUNCTION and display translations that are safe.
18152         (enriched-handle-display-prop): Bring back.
18153         (enriched-decode-display-prop): Bring back, but disable
18154         the unsafe part.
18156 2017-09-12  Alan Mackenzie  <acm@muc.de>
18158         Don't match C++ template delims starting within a token.  FIxes bug #28418.
18160         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): After failing an
18161         attempted match from the start of a token (in particular, "<<"), move to the
18162         next token rather than the nex character before searching for the next "<".
18164 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
18166         Move gensym to core Elisp
18168         * doc/lispref/symbols.texi (Creating Symbols): Mention gensym right
18169         after make-symbol.
18170         * etc/NEWS: Mention.
18171         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Alias to
18172         gensym-counter.
18173         (cl-gensym): Alias to gensym.
18174         * lisp/emacs-lisp/cl.el: Remove gensym from list of aliases.
18175         * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper):
18176         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture):
18177         (ert--expand-should-1, ert--expand-should):
18178         (ert--should-error-handle-error):
18179         * lisp/emacs-lisp/generator.el (cps--gensym):
18180         * lisp/emacs-lisp/gv.el (setf):
18181         * lisp/emacs-lisp/inline.el (inline--do-letlisteval):
18182         * lisp/emacs-lisp/pcase.el (pcase--make-docstring, pcase-dolist):
18183         (pcase--funcall, pcase--u1): Use gensym.
18184         * lisp/subr.el (gensym-counter): New variable.
18185         (gensym): New function, assimilated from cl-lib.
18187 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
18189         Fix cl-gentemp
18191         * lisp/emacs-lisp/cl-macs.el (cl--gentemp-counter): New variable.
18192         (cl-gentemp): Use it.  Change prefix to "T".
18194 2017-09-12  Sam Steingold  <sds@gnu.org>
18196         gnus-score-file-name: Do not append empty suffix.
18198 2017-09-12  Michael Albinus  <michael.albinus@gmx.de>
18200         Extend tramp-tests according to bug#27986
18202         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
18203         (tramp-test12-rename-file, tramp-test15-copy-directory)
18204         (tramp-test21-file-links): Extend tests.
18205         (tramp-test13-make-directory, tramp-test14-delete-directory):
18206         Specifiy error symbol in `should-error'.
18208 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
18210         Add cl-print method for hash tables
18212         * lisp/emacs-lisp/cl-print.el (cl-print-object): New method.
18214 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
18216         Add docstrings to cl-print entry points
18218         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): Fix docstring.
18219         (cl-prin1, cl-prin1-to-string): Add docstrings.
18221 2017-09-12  Glenn Morris  <rgm@gnu.org>
18223         Improve reproducibility of generated leim-list.el
18225         * lisp/international/quail.el (quail-update-leim-list-file):
18226         Sort the quail directory listing, for more stable output.
18228 2017-09-11  Mark Oteiza  <mvoteiza@udel.edu>
18230         Include sxhash of object with printed bytecode
18232         This printing, while succint, is rather opaque.  At least give an
18233         immediate clue of whether different byte code printouts are for the
18234         same or different byte code objects.
18235         * lisp/emacs-lisp/cl-print.el (cl-print-object): Add object sxhash to
18236         printed token "#<bytecode>".
18238 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
18240         Update documentation of 'max-lisp-eval-depth'
18242         * doc/lispref/eval.texi (Eval): Update the documented default
18243         value of 'max-lisp-eval-depth'.
18245 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
18247         Another place to produce debugging output in etags
18249         * lib-src/etags.c (Ruby_functions): One more place to print
18250         debugging output under --debug.
18252 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
18254         Improve documentation of etags-related features
18256         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
18257         'xref-prompt-for-identifier'.  (Bug#28403)
18258         (Etags Regexps): Document \D back references in etags regexps.
18260 2017-09-11  Alan Third  <alan@idiocy.org>
18262         Fix macOS compatibility versions for vibrant dark theme (bug#28415)
18264         * src/nsterm.m (ns_set_appearance, EmacsView::initFrameFromEmacs):
18265         Change macOS compatibility from 10.9 to 10.10.
18267 2017-09-11  Michael Albinus  <michael.albinus@gmx.de>
18269         Further optimization in Tramp's file name decomposition
18271         * lisp/net/tramp.el (tramp-syntax): Recompute all file name
18272         components.  Call `custom-set-variables' after loading.
18273         (tramp-build-prefix-format, tramp-build-prefix-regexp)
18274         (tramp-build-method-regexp)
18275         (tramp-build-postfix-method-format)
18276         (tramp-build-postfix-method-regexp)
18277         (tramp-build-prefix-ipv6-format)
18278         (tramp-build-prefix-ipv6-regexp)
18279         (tramp-build-postfix-ipv6-format)
18280         (tramp-build-postfix-ipv6-regexp)
18281         (tramp-build-postfix-host-format)
18282         (tramp-build-postfix-host-regexp)
18283         (tramp-build-file-name-regexp)
18284         (tramp-build-completion-file-name-regexp): New defuns.
18285         (tramp-prefix-format, tramp-prefix-regexp)
18286         (tramp-method-regexp, tramp-postfix-method-format)
18287         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
18288         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
18289         (tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
18290         (tramp-postfix-host-regexp)
18291         (tramp-remote-file-name-spec-regexp)
18292         (tramp-file-name-structure, tramp-file-name-regexp)
18293         (tramp-completion-file-name-regexp): Convert defuns into defvars.
18294         (tramp-prefix-regexp-alist)
18295         (tramp-postfix-method-regexp-alist)
18296         (tramp-prefix-ipv6-regexp-alist)
18297         (tramp-postfix-ipv6-regexp-alist)
18298         (tramp-postfix-host-regexp-alist)
18299         (tramp-remote-file-name-spec-regexp-alist): Remove.
18300         (tramp-build-remote-file-name-spec-regexp)
18301         (tramp-build-file-name-structure): Simplify.
18302         (tramp-completion-file-name-regexp-alist): New defconst.
18303         (tramp-tramp-file-p, tramp-dissect-file-name)
18304         (tramp-make-tramp-file-name)
18305         (tramp-completion-make-tramp-file-name)
18306         (tramp-rfn-eshadow-update-overlay-regexp)
18307         (tramp-register-file-name-handlers)
18308         (tramp-completion-handle-file-name-all-completions)
18309         (tramp-completion-dissect-file-name, tramp-clear-passwd):
18310         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
18311         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
18312         (tramp-compute-multi-hops): Use variables but functions for
18313         file name components.
18315         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
18316         Use variables but functions for file name components.
18318 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18320         Port tramp-tests to new copy-directory behavior
18322         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
18323         Use directory name as arg for copy-directory when we want
18324         the special behavior.
18326 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18328         Adjust thumbs to new rename-file behavior
18330         * etc/NEWS: Mention this.
18331         * lisp/thumbs.el (thumbs-rename-images): Treat the destination
18332         as special only if it is a directory name.  When there is
18333         a marked list, turn the destination into a directory name
18334         if it is not already.
18336 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18338         Adjust ob-tangle to new copy-file behavior
18340         * lisp/org/ob-tangle.el (org-babel-tangle-publish):
18341         Port to new copy-file behavior.
18343 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18345         Make gnus-copy-file act like copy-file etc.
18347         * etc/NEWS: Mention this.
18348         * lisp/gnus/gnus-util.el (gnus-copy-file): Treat the destination
18349         as special only if it is a directory name.
18351 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18353         Make write-file act like copy-file etc.
18355         Change write-file to be consistent with the new behavior
18356         of copy-file, etc.
18357         * etc/NEWS: Mention this.
18358         * lisp/files.el (write-file): Treat the destination as special
18359         only if it is a directory name.
18361 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18363         Make copy-directory act like copy-file etc.
18365         Do the special dance with the destination only if it is a
18366         directory name, for consistency with copy-file etc. (Bug#27986).
18367         * doc/emacs/files.texi (Copying and Naming):
18368         * doc/lispref/files.texi (Create/Delete Dirs):
18369         * etc/NEWS: Document this.
18370         * lisp/files.el (copy-directory): Treat NEWNAME as special
18371         only if it is a directory name.
18373 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18375         Fix some make-directory bugs
18377         * lisp/files.el (files--ensure-directory): New function.
18378         (make-directory): Use it to avoid bugs when (make-directory FOO t)
18379         is invoked on a non-directory, or on a directory hierarchy that
18380         is being built by some other process while Emacs is running.
18381         * test/lisp/files-tests.el (files-tests--make-directory): New test.
18383 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
18385         Fix race with rename-file etc. with dir NEWNAME
18387         This changes the behavior of rename-file etc. slightly.
18388         The old behavior mostly disagreed with the documentation, and had
18389         a race condition bug that could allow attackers to modify victims'
18390         write-protected directories (Bug#27986).
18391         * doc/lispref/files.texi (Changing Files): Document that in
18392         rename-file etc., NEWFILE is special if it is a directory name.
18393         * etc/NEWS: Document the change in behavior.
18394         * src/fileio.c (directory_like): Remove.  All uses removed.
18395         (expand_cp_target): Test only whether NEWNAME is a directory name,
18396         not whether it is currently a directory.  This avoids a race.
18397         (Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
18398         Document behavior if NEWNAME is a directory name.
18399         (Frename_file): Simplify now that the destdir behavior occurs
18400         only when NEWNAME is a directory name.
18401         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
18402         (tramp-test12-rename-file, tramp--test-check-files):
18403         Adjust tests to match new behavior.
18405 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
18407         Extend --debug printouts in etags
18409         * lib-src/etags.c (regex_tag_multiline, readline): Under
18410         "--debug", print tags found via regexps.
18412 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
18414         Add --debug option to etags
18416         * lib-src/etags.c (make_tag): Print found tags under --debug.
18417         (longopts): Add --debug.
18419 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
18421         Spelling fixes
18423         * lisp/progmodes/cc-langs.el:
18424         (c-ambiguous-overloadable-or-identifier-prefixes): Rename from
18425         c-ambiguous-overloadable-or-identifier-prefices.  Caller changed.
18427 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
18429         Merge from gnulib
18431         This incorporates:
18432         2017-09-08 stddef: Avoid conflict with system-defined max_align_t
18433         2017-08-24 warnings: fix compilation with old autoconf
18434         2017-08-23 glob: merge from glibc with Zanella glob changes
18435         2017-08-17 random: Fix test compilation failure on Cygwin 1.5.25
18436         * doc/misc/texinfo.tex, lib/flexmember.h, lib/stddef.in.h:
18437         * lib/stdlib.in.h, m4/manywarnings.m4, m4/stdlib_h.m4:
18438         * m4/warnings.m4:
18439         Copy from Gnulib.
18440         * lib/gnulib.mk.in: Regenerate.
18442 2017-09-10  Ken Brown  <kbrown@cornell.edu>
18444         Implement renameat_noreplace on recent Cygwin
18446         * src/sysdep.c [CYGWIN]: Include cygwin/fs.h.
18447         (renameat_noreplace) [RENAME_NOREPLACE]: Use renameat2.
18448         (Bug#27986)
18450 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
18452         Avoid warnings about file names in autoloads on MS-Windows
18454         * configure.ac (srcdir) [mingw32]: Downcase the drive letter, to
18455         avoid warnings from find-file-noselect when making autoloads.  For
18456         the details, see
18457         https://lists.gnu.org/r/emacs-devel/2017-09/msg00049.html.
18459 2017-09-10  Mark Oteiza  <mvoteiza@udel.edu>
18461         Avoid looking at localized strings
18463         * lisp/xdg.el (xdg-desktop-read-group): Add condition to catch
18464         localized strings.
18465         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure
18466         parsing l10n strings doesn't error but is essentially a no-op.
18468 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
18470         * etc/NEWS.25: Document 25.3 changes.
18472 2017-09-10  Lars Ingebrigtsen  <larsi@gnus.org>
18474         Remove unsafe enriched mode translations
18476         * lisp/gnus/mm-view.el (mm-inline-text):
18477         Do not worry about enriched or richtext type.
18478         * lisp/textmodes/enriched.el (enriched-translations):
18479         Remove translations for FUNCTION, display (Bug#28350).
18480         (enriched-handle-display-prop, enriched-decode-display-prop): Remove.
18482 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
18484         Be more consistent about "directory name" in manual
18486         This clarifies the documentation, partly in response to the
18487         discussion in Bug#27986.
18489 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
18491         Remove more compilation warnings in MinGW64 build
18493         * src/w32.c (faccessat, map_w32_filename):
18494         * src/w32fns.c (w32_wnd_proc):
18495         * src/w32term.c (w32_horizontal_scroll_bar_handle_click)
18496         (w32_scroll_bar_handle_click): Use FALLTHROUGH to avoid compiler
18497         warnings with GCC 7 and later.
18499 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
18501         Improve --enable-gcc-warnings for MinGW64
18503         This partially reverts my 2016-05-30 patch.  Apparently MinGW64
18504         still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26)
18505         does not.  Also, pacify tparam.c, which isn’t used on Fedora.
18506         * lib-src/etags.c (process_file_name, TeX_commands):
18507         * src/buffer.c (fix_overlays_before):
18508         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
18509         (cons_to_signed):
18510         * src/editfns.c (Ftranslate_region_internal):
18511         Prefer UNINIT to some stray value, as this simplifies
18512         code-reading later.
18513         * src/eval.c (CACHEABLE): New macro.
18514         (internal_lisp_condition_case): Use it.
18515         * src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
18517 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
18519         Fix font-lock in Compilation mode
18521         * lisp/progmodes/compile.el (compilation-face): Restore function
18522         lost during recent changes.  (Bug#28349)
18524 2017-09-09  Mark Oteiza  <mvoteiza@udel.edu>
18526         Add function to read all entries in a group
18528         Use that to extend xdg-desktop-read-file.  Also fix a bug where all
18529         entries in all groups were read and returned by xdg-desktop-read-file.
18530         * lisp/xdg.el (xdg-desktop-read-group): New function.
18531         (xdg-desktop-read-file): Use it.
18532         * test/data/xdg/malformed.desktop: New file.
18533         * test/data/xdg/test.desktop: Add another section.
18534         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Test presence of a key
18535         in another group.  Test reading a prescribed group.  Test detecting a
18536         malformed key=value.
18538 2017-09-09  Gemini Lasswell  <gazally@runbox.com>
18540         Reduce Tramp's memory usage
18542         Construct Tramp syntax strings and regular expressions once instead
18543         of every time they are used, and store them in alists keyed by Tramp
18544         syntax.
18545         * lisp/net/tramp.el (tramp-build-remote-file-name-spec-regexp)
18546         (tramp-build-file-name-structure): New functions.
18547         (tramp-prefix-format-alist, tramp-prefix-regexp-alist)
18548         (tramp-method-regexp-alist)
18549         (tramp-postfix-method-format-alist)
18550         (tramp-postfix-method-regexp-alist)
18551         (tramp-prefix-ipv6-format-alist, tramp-prefix-ipv6-regexp-alist)
18552         (tramp-postfix-ipv6-format-alist)
18553         (tramp-postfix-ipv6-regexp-alist)
18554         (tramp-postfix-host-format-alist)
18555         (tramp-postfix-host-regexp-alist)
18556         (tramp-remote-file-name-spec-regexp-alist)
18557         (tramp-file-name-structure-alist): New constants.
18558         (tramp-lookup-syntax): New function.
18559         (tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
18560         (tramp-postfix-method-format, tramp-postfix-method-regexp)
18561         (tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
18562         (tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
18563         (tramp-postfix-host-format, tramp-postfix-host-regexp)
18564         (tramp-remote-file-name-spec-regexp, tramp-file-name-structure):
18565         Use it.
18567 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
18569         Fix compilation warnings in MinGW64 build using GCC 7
18571         Reported by Richard Copley <rcopley@gmail.com>.
18572         * src/w32heap.c (init_heap): Declare enable_lfh only for
18573         mingw.org's MinGW build.
18575         * src/w32console.c (w32con_write_glyphs):
18576         * src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some
18577         mismatches of data type vs format spec.
18579         * src/w32fns.c (compute_tip_xy):
18580         * src/w32proc.c (stop_timer_thread):
18581         * src/w32notify.c (remove_watch):
18582         * src/eval.c (internal_lisp_condition_case):
18583         * src/editfns.c (Ftranslate_region_internal):
18584         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
18585         (cons_to_signed):
18586         * src/buffer.c (fix_overlays_before): Initialize variables to
18587         avoid compiler warnings.
18589         * lib-src/etags.c (TeX_commands, process_file_name): Initialize
18590         variables to avoid compilation warnings.
18592 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
18594         Avoid infloop when scrolling under scroll-preserve-screen-position
18596         * src/window.c (window_scroll_pixel_based): If screen position is
18597         to be preserved, make sure its recorded Y coordinate is outside
18598         the scroll margin.  (Bug#28342)
18600 2017-09-09  Michael Albinus  <michael.albinus@gmx.de>
18602         Clarification in tramp-texi
18604         * doc/misc/tramp.texi (Connection caching): Two connections are
18605         regarded as different now when they differ in the port number only.
18607 2017-09-09  Miles Bader  <miles@gnu.org>
18609         * admin/quick-install-emacs: Tweak configure.ac parsing
18611 2017-09-09  Miles Bader  <miles@gnu.org>
18613         Use text-property buttons in rcirc-markup-urls
18615         * lisp/net/rcirc.el (rcirc-markup-urls): Use `make-text-button'
18616         instead of `make-button'; the former is much more efficient in large
18617         buffers, and for the purposes of rcirc, changes no functionality.
18619 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
18621         Fix line-pixel-height for lines of variable height
18623         * src/xdisp.c (Fline_pixel_height): Start moving from the
18624         beginning of the screen line, to capture the full metrics of the
18625         line.  (Bug#28391)
18627 2017-09-08  Alex Branham  <branham@utexas.edu>  (tiny change)
18629         New variable 'dired-confirm-killing-deleted-buffers'
18631         * lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers):
18632         New variable.
18633         * lisp/dired.el (dired-clean-up-after-deletion): Kill buffers
18634         visiting deleted files without confirming if
18635         dired-clean-confirm-killing-deleted-buffers is nil.  (Bug#28373)
18636         * etc/NEWS: Document the change.
18638 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
18640         Support SVN files with svn:externals property
18642         * lisp/vc/vc-svn.el (vc-svn-parse-status): Don't ignore files
18643         marked with the svn:externals property.
18645 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
18647         List locally removed files in vc-dir with SVN back-end
18649         * lisp/vc/vc-svn.el (vc-svn-after-dir-status): List files marked
18650         with ?! as needs-update.
18652 2017-09-08  Ken Olum  <kdo@cosmos.phy.tufts.edu>
18654         Fix Rmail editing with reapplying encoding to message body
18656         * lisp/mail/rmailedit.el (rmail-cease-edit):  If no
18657         content-type in edited headers, look for one in original
18658         headers and add it to edited headers.  (Bug #26918)
18659         Use a marker to track start of new body, so that
18660         content-transfer-encoding gets applied only to body.  (Bug #27353).
18661         Ensure blank line at end of message after encoding, not
18662         before.
18664 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
18666         Document last change in dired.el
18668         * etc/NEWS (Dired): Document the last change in dired.el.
18669         (Bug#27435)
18671 2017-09-08  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
18673         Make mouse clicks in Dired more customizable
18675         * lisp/dired.el (dired-mouse-find-file): Allow callers to
18676         specify functions to visit file/directory.
18677         (dired-mouse-find-file-other-window)
18678         (dired-mouse-find-file-other-frame): New functions to visit
18679         files in another window/frame.  (Bug#27435)
18681 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
18683         Avoid compiler warnings on MS-Windows with GCC 6 and 7
18685         * src/w32font.c (SUBRANGE): Use unsigned arithmetic for
18686         bit-shifting, to avoid compiler warnings.
18687         (w32font_text_extents): Tell GCC NGLYPHS is non-negative, to avoid
18688         a warning.  For details of the warning, see
18689         https://lists.gnu.org/r/emacs-devel/2017-09/msg00093.html.
18690         * src/term.c (keys) [WINDOWSNT]: Don't define, as it is not used
18691         in that build.
18692         * src/sound.c (sound_perror): Ifdef away on WINDOWSNT, as this
18693         function is not used in that build.
18695         * configure.ac: Disable -Wsuggest-attribute=format on MS-Windows.
18697 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
18699         Fix 'directory-file-name' on DOS_NT systems as well
18701         * src/fileio.c (directory_file_name) [DOS_NT]: Fix the DOS_NT case
18702         to be consistent with last change.
18704         * test/src/fileio-tests.el (fileio-tests--odd-symlink-chars):
18705         Disable on MS-Windows.
18706         (fileio-tests--directory-file-name-dos-nt)
18707         (fileio-tests--file-name-as-directory-dos-nt): New tests.
18709 2017-09-08  Wilson Snyder  <wsnyder@wsnyder.org>
18711         Fix various verilog-mode.el issues.
18713         * lisp/progmodes/verilog-mode.el (verilog-expand-dirnames): Fix expanding
18714         "*/*", msg2284. Reported by Jonathan Ferguson.
18715         (ignore-errors): Fix ignore-errors error on Emacs 22.3, bug1177. Reported
18716         by Victor Lau.
18717         (verilog-getopt, verilog-getopt-file) (verilog-library-flags,
18718         verilog-substitute-file-name-path): Support -F in verilog getopt files,
18719         bug1171. Reported by George Cuan.
18720         (verilog-do-indent): Fix misindenting symbols starting with t,
18721         bug1169. Reported by Hoai Tran.
18722         (verilog-read-auto-template-middle): Fix slow template matching on
18723         AUTOINST. Reported by Jeffrey Huynh.
18724         (verilog-pretty-expr): The extra whitespace addition before "=" operators
18725         is now done only if the whole assignment block contains the 2-character
18726         "<=" operator.  Remove the unused argument _myre.  Use `unless',
18727         `save-excursion' and `when' functions where possible.  Internal variables
18728         refactored for clarity.  Follow elisp convention for closing parentheses.
18729         By Kaushal Modi.
18730         (verilog-get-lineup-indent-2): Update docstring.  Internal variables
18731         refactored for clarity.  Earlier EDPOS argument was expected to be a
18732         marker; it is now renamed to END and is now expected to be a position.
18733         Use `when' instead of `if'.  By Kaushal Modi.
18734         (electric-verilog-terminate-line): Remove the unused second argument from
18735         `verilog-pretty-expr' call.  By Kaushal Modi.
18736         (verilog-calc-1): Fix indentation of a virtual class definition after a
18737         typedef class, bug1080.  By Kaushal Modi.
18739 2017-09-08  Katsumi Yamaoka  <yamaoka@jpl.org>
18741         Don't use summary window to visit group buffer (bugfix)
18743         * lisp/gnus/gnus-sum.el (gnus-summary-jump-to-group): Make sure that
18744         the window to open the group buffer doesn't visit the summary buffer.
18745         This fixes a bug: `gnus-summary-next-article' sometimes causes an error
18746         by trying to select nonexistent summary window.
18748 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
18750         Fix bug: (directory-file-name "///") returned "//"
18752         * src/fileio.c (directory_file_name): For "///" and longer,
18753         return "/", not "//", as per POSIX.
18754         * test/src/fileio-tests.el (fileio-tests--directory-file-name)
18755         (fileio-tests--file-name-as-directory): New tests.
18757 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
18759         Remove obsolete vc-mistrust-permissions doc
18761         * doc/emacs/vc1-xtra.texi (RCS and SCCS): Remove documentation
18762         for vc-mistrust-permissions, which no longer exists.
18764 2017-09-07  Alan Third  <alan@idiocy.org>
18766         Set frame size to actual requested size (bug#18215)
18768         * src/nsterm.m (x_set_window_size): Don't use
18769         FRAME_TEXT_TO_PIXEL_WIDTH or FRAME_TEXT_TO_PIXEL_HEIGHT.
18771 2017-09-07  Paul Eggert  <eggert@cs.ucla.edu>
18773         autogen.sh: omit bogus chatter if no .git
18775         Problem reported by Angelo Graziosi in:
18776         https://lists.gnu.org/r/emacs-devel/2017-09/msg00045.html
18777         * autogen.sh (git_config): Do not execut 'git' if $do_git fails.
18779 2017-09-07  Glenn Morris  <rgm@gnu.org>
18781         Skip emacsclient tests if --enable-profiling was used
18783         * test/lib-src/emacsclient-tests.el
18784         (emacsclient-test-call-emacsclient): Make it a macro.
18785         Handle "Profiling timer expired" return from emacsclient.  (Bug#28319)
18786         (emacsclient-test-alternate-editor-allows-arguments)
18787         (emacsclient-test-alternate-editor-allows-quotes): Update for above.
18789 2017-09-06  Eli Zaretskii  <eliz@gnu.org>
18791         Fix a minor markup problem in ELisp manual
18793         * doc/lispref/functions.texi (Mapping Functions): Fix the order of
18794         @example and @group.  For the details, see
18795         https://lists.gnu.org/r/bug-texinfo/2017-09/msg00007.html.
18797 2017-09-06  Mark Oteiza  <mvoteiza@udel.edu>
18799         Add XDG desktop file parsing and tests
18801         * lisp/xdg.el: Add support for Desktop Entry Specification.
18802         (xdg--user-dirs-parse-line): Check if file is readable.
18803         (xdg-desktop-group-regexp, xdg-desktop-entry-regexp): New variables.
18804         (xdg--desktop-parse-line, xdg-desktop-read-file, xdg-desktop-strings):
18805         New functions.
18806         * test/lisp/xdg-tests.el:
18807         * test/data/xdg/test.desktop:
18808         * test/data/xdg/wrong.desktop: New files.
18810 2017-09-06  Glenn Morris  <rgm@gnu.org>
18812         Allow for adjusting line length of test backtraces
18814         * test/Makefile.in (TEST_BACKTRACE_LINE_LENGTH): New option.
18815         (%.log): Respect backtrace line length.
18817 2017-09-06  Glenn Morris  <rgm@gnu.org>
18819         Allow customizing line length of ert backtraces in batch mode
18821         * lisp/emacs-lisp/ert.el (ert-batch-backtrace-right-margin):
18822         Make it a user option.
18823         (ert-run-tests-batch): Handle ert-batch-backtrace-right-margin nil.
18825 2017-09-06  Glenn Morris  <rgm@gnu.org>
18827         Minor emacsclient-tests simplification
18829         * test/lib-src/emacsclient-tests.el (emacsclient-test-emacs):
18830         Simplify.  Also work when running installed.
18832 2017-09-06  Alan Third  <alan@idiocy.org>
18834         Revert "Force screen update after drawing cursor glyph (bug#23774)"
18836         This reverts commit 1b492fa5456e2b6face8d0856f11d17e432693b0.
18838         See bug#28358
18840 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
18842         Refactor some loops in mailcap.el
18844         * lisp/net/mailcap.el (mailcap-mime-types):
18845         (mailcap-file-default-commands): Convert nested maps to loops.
18847 2017-09-05  Glenn Morris  <rgm@gnu.org>
18849         emacsclient-tests: remove some debug statements
18851         * test/lib-src/emacsclient-tests.el
18852         (emacsclient-test-call-emacsclient): Remove debug statements.
18854 2017-09-05  Simen Heggestøyl  <simenheg@gmail.com>
18856         Handle non-zero exit status from psql more gracefully
18858         * lisp/progmodes/sql.el (sql-postgres-list-databases): Handle non-zero
18859         exit statuses from `psql -ltX' more gracefully by returning nil.
18861         * test/lisp/progmodes/sql-tests.el
18862         (sql-tests-postgres-list-databases-error): New test.
18864 2017-09-05  Eli Zaretskii  <eliz@gnu.org>
18866         Avoid losing Ctrl-C keystrokes in compilation mode on MS-Windows
18868         * src/w32proc.c (sys_kill): Preserve the up/down state of the
18869         Ctrl key across the simulated Ctrl-C keystroke.  (Bug#28348)
18871 2017-09-05  Andreas Schwab  <schwab@linux-m68k.org>
18873         * src/image.c (Fimagemagick_types): Doc fix.
18875 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
18877         Move soundex.el test to a proper test
18879         * test/lisp/soundex-tests.el: New file.
18880         * lisp/soundex.el: Use lexical-binding.  Remove commented test.
18882 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
18884         Add tests for mailcap.el
18886         * test/data/mailcap/mime.types: New file.
18887         * test/lisp/net/mailcap-tests.el: New file.
18889 2017-09-05  Michael Albinus  <michael.albinus@gmx.de>
18891         Doc precisment about remote link targets
18893         * doc/lispref/files.texi (Truenames): Explain handling of
18894         targets of `file-truename' and `make-symbolic-link', which
18895         look like a remote file name.
18897         * etc/NEWS: Precise examples for symlinks which look like
18898         remote file names.  MUSTBENEW of `write-region' is not
18899         propagated to file name handlers.
18901 2017-09-05  John Wiegley  <johnw@newartisans.com>
18903         Remove an opinionated section on "What Eshell is not"
18905         I don't find this information to accurately reflect possible use cases
18906         for Eshell; plus, it doesn't offer much in the way of information,
18907         just opinion.
18909 2017-09-05  Ken Brown  <kbrown@cornell.edu>
18911         Fix configure test for Xpm
18913         Problem reported by Ashish Shukla in
18914         https://lists.gnu.org/r/emacs-devel/2017-09/msg00020.html.
18915         * configure.ac (HAVE_XPM) [HAVE_X11]: Include X11/xpm.h instead of
18916         noX/xpm.h in configure test.
18918 2017-09-04  Paul Eggert  <eggert@cs.ucla.edu>
18920         Revert recent float→double Motif change
18922         Problem reported by Martin Rudalics in:
18923         https://lists.gnu.org/r/emacs-devel/2017-09/msg00014.html
18924         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
18925         (x_set_toolkit_scroll_bar_thumb)
18926         (x_set_toolkit_horizontal_scroll_bar_thumb):
18927         Go back to using ‘float’ temporaries rather than ‘double’.
18928         Although quite possibly this masks an underlying bug,
18929         we lack time to look into that now.
18931 2017-09-04  Glenn Morris  <rgm@gnu.org>
18933         emacsclient-tests: add some debug statements
18935         * test/lib-src/emacsclient-tests.el
18936         (emacsclient-test-call-emacsclient): Add debug statements.
18938 2017-09-04  Michael Albinus  <michael.albinus@gmx.de>
18940         Work on Tramp's (symbolic) links
18942         * doc/misc/tramp.texi (Traces and Profiles): Mention the
18943         backtrace when tramp-verbose is greater than or equal to 10.
18945         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
18946         Use `tramp-handle-add-name-to-file'.
18948         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Use
18949         `tramp-handle-add-name-to-file' and `tramp-handle-file-truename'.
18951         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link): Improve.
18953         * lisp/net/tramp-smb.el (tramp-smb-errors):
18954         Add "NT_STATUS_CONNECTION_DISCONNECTED" and
18955         "NT_STATUS_OBJECT_PATH_SYNTAX_BAD".
18956         (tramp-smb-file-name-handler-alist): Use `tramp-handle-file-truename'.
18957         (tramp-smb-do-file-attributes-with-stat): Return non-nil only
18958         if one of the attributes is non-nil.
18959         (tramp-smb-handle-file-local-copy): Use `file-truename'.
18960         (tramp-smb-handle-file-truename): Move to tramp.el.
18961         (tramp-smb-handle-insert-directory): Show symlinks.
18962         (tramp-smb-handle-make-symbolic-link): Improve.
18963         (tramp-smb-read-file-entry): Handle extended file modes in Samba.
18965         * lisp/net/tramp.el (tramp-handle-add-name-to-file)
18966         (tramp-handle-file-truename): New defuns.
18968         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
18969         (tramp--test-check-files): Make check for "smb".
18971 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
18973         Embed JSON readtable into json-read
18975         Also unroll dispatch into a cond.
18976         * lisp/json.el (json-readtable): Remove.
18977         (json-readtable-dispatch): New macro.  Assimilate json-readtable.
18978         (json-read): Use the macro.
18980 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
18982         Hexify strings in EWW search queries
18984         Previously, inputting "cats & dogs" would lose dogs because the
18985         ampersand signifies a query parameter.  Instead, hexify each word while
18986         preserving quotes with split-string.
18987         * lisp/net/eww.el (eww--dwim-expand-url): Join hexified words together
18988         with + separators, instead of replacing whitespace with +.
18990 2017-09-03  Glenn Morris  <rgm@gnu.org>
18992         emacsclient-tests: call-process may return non-integer
18994         * test/lib-src/emacsclient-tests.el
18995         (emacsclient-test-alternate-editor-allows-arguments)
18996         (emacsclient-test-alternate-editor-allows-quotes):
18997         Handle non-integer return from call-process.
18999 2017-09-03  Eli Zaretskii  <eliz@gnu.org>
19001         * lisp/simple.el (visual-line-mode): Doc fix.  (Bug#28337)
19003 2017-09-03  Alan Third  <alan@idiocy.org>
19005         Force screen update after drawing cursor glyph (bug#23774)
19007         * src/nsterm.m (ns_draw_window_cursor): Force a screen update after
19008         drawing the glyph over the cursor.
19010 2017-09-03  Alan Mackenzie  <acm@muc.de>
19012         Correct the fontification of quote marks after buffer changes in CC Mode.
19014         * lisp/progmodes/cc-defs.el
19015         (c-search-forward-char-property-with-value-on-char): New macro.
19017         * lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
19018         (c-parse-quotes-after-change): Rewrite the functions, simplifying
19019         considerably, and removing unnecessary optimizations.
19020         Invalidate two caches after manipulating text properties.
19022 2017-09-03  Alan Mackenzie  <acm@muc.de>
19024         Fix fontification of "operator~" in C++ Mode.
19026         * lisp/progmodes/cc-langs.el (c-ambiguous-overloadable-or-identifier-prefices)
19027         (c-ambiguous-overloadable-or-identifier-prefix-re): New c-lang-defconsts/vars.
19029         * lisp/progmodes/cc-engine.el (c-forward-name): Do not try to parse "~" (and
19030         two other symbols) as a cast without good evidence.  Prefer an overloaded
19031         operator in ambiguous cases.
19033 2017-09-03  Martin Rudalics  <rudalics@gmx.at>
19035         In delete_frame do not delete terminal for any toolkit build
19037         * src/frame.c (delete_frame): Neither delete terminal for
19038         non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499,
19039         Bug#27816).
19041 2017-09-02  Philipp Stephani  <phst@google.com>
19043         Improve error messages for improper plists (Bug#27726)
19045         * src/fns.c (Fplist_put, Flax_plist_get, Flax_plist_put)
19046         (Fplist_member, syms_of_fns): Use ‘plistp’ as pseudo-predicate for
19047         improper plists instead of ‘listp.’
19049         * test/src/fns-tests.el (plist-get/odd-number-of-elements)
19050         (lax-plist-get/odd-number-of-elements)
19051         (plist-put/odd-number-of-elements)
19052         (lax-plist-put/odd-number-of-elements)
19053         (plist-member/improper-list): Add unit tests.
19055 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
19057         Fix decrypting in plstore.el on MS-Windows
19059         * lisp/plstore.el (plstore-open): Bind coding-system-for-read to
19060         raw-text, instead of using insert-file-contents-literally.
19061         (Bug#28114)
19063 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
19065         * src/fileio.c (Fexpand_file_name): Doc fix.  (Bug#27982)
19067 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
19069         Rewrite Antinews for Emacs 26
19071         * doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26.
19072         * doc/lispref/elisp.texi (Top): Update the top-level menu's
19073         Antinews entry.
19074         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26.
19075         * doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews
19076         entry.
19078         * etc/NEWS: Rearrange some entries in a more reasonable order.
19080 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
19082         Fix a mis-binding in a test
19084         * test/lisp/progmodes/python-tests.el
19085         (python-shell-calculate-process-environment-3): Fix binding of
19086         process-environment.  A level of parens was missing.
19088         This was found after Glenn Morris noticed a similar problem with the
19089         patch for Bug#28319.
19091 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
19093         Fix a mis-binding and a bad defun name in a test (Bug#28319)
19095         test/lib-src/emacs-client-tests.el (call-emacsclient): Rename
19096         emacsclient-test-call-emacsclient.
19097         (emacsclient-test-alternate-editor-allows-arguments)
19098         (emacsclient-test-alternate-editor-allows-quotes): Fix let-binding of
19099         process-environment.
19101         Thanks to Glenn Morris for noticing these errors.
19103 2017-09-02  Glenn Morris  <rgm@gnu.org>
19105         * test/Makefile.in (check-no-automated-subdir): Silence by default.
19107         * test/Makefile.in (ELFILES): Sort, for a reproducible order.
19109 2017-09-01  Mark Oteiza  <mvoteiza@udel.edu>
19111         Turn off checkdoc complaint about default argument order
19113         * etc/NEWS: Mention change.
19114         * lisp/emacs-lisp/checkdoc.el (checkdoc-arguments-in-order-flag):
19115         Disable by default, note version.
19117 2017-09-01  Reuben Thomas  <rrt@sc3d.org>
19119         Stop emacsclient tests hanging (Bug#28319)
19121         * test/lib-src/emacsclient-tests.el
19122         (emacsclient-test-alternate-editor-allows-arguments): Use a
19123         non-existent file to communicate with server, so that any existing
19124         default server will not be hijacked (in fact, the test does
19125         not need a server).
19126         (emacsclient-test-alternate-editor-allows-quotes): Likewise.
19128 2017-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
19130         * lisp/obsolete/html2text.el: Don't require CL
19132         (html2text-clean-anchor): Mark unused arg.
19134 2017-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
19136         Don't remove undisplayers from inlined MIME parts (bugfix)
19138         * lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header):
19139         Don't remove undisplayers from inlined MIME parts (bugfix);
19140         Simplify criterion that finds attachments.
19142 2017-08-31  Mark Oteiza  <mvoteiza@udel.edu>
19144         Make ucs-names a hash table (Bug#28302)
19146         * etc/NEWS: Mention the type change.
19147         * lisp/descr-text.el (describe-char): Use gethash to access ucs-names.
19148         Hardcode BEL's name into the function instead of needlessly mapping
19149         over the hash table in the spirit of rassoc.
19150         * lisp/international/mule-cmds.el (ucs-names): Fix variable and
19151         function docstrings.  Initialize a hash table for ucs-names--the
19152         number of entries is 42845 here.  Switch to hash-table
19153         getters/setters.
19154         (mule--ucs-names-annotation): Use hash-table getter.
19155         (char-from-name): Upcase the string if ignore-case is truthy.
19156         * lisp/leim/quail/latin-ltx.el: Use maphash instead of dolist.
19158 2017-08-31  Alan Third  <alan@idiocy.org>
19160         Remove unneeded version checks (bug#28222)
19162         * src/macfont.h (CGContextSetFontSmoothingStyle): Remove version
19163         check.
19164         * src/macfont.m (macfont_draw): Remove version check, and test for
19165         existence of CGContextSetFontSmoothingStyle.
19167 2017-08-31  Alan Mackenzie  <acm@muc.de>
19169         Fix a glitch in CC Mode's syntactic whitespace cache.
19171         * lisp/progmodes/cc-engine.el (c-forward-sws): Deal correctly with a block
19172         comment close at the end of a macro.
19174 2017-08-31  Alan Mackenzie  <acm@muc.de>
19176         Correct the fontification of C++ Mode enclosed declarations.
19178         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): abolish the
19179         spurious check that the character before the start of an enclosed declaration
19180         must be ; or }.  It might also be {.
19182 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
19184         In xterm.c fix some recently introduced compiler warnings
19186         * src/xterm.c (xaw_jump_callback)
19187         (x_set_toolkit_scroll_bar_thumb): Fix some recently introduced
19188         -Wdouble-promotion warnings.
19190 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
19192         Restrict fix of Bug#24963 and Bug#25887 to GTK builds
19194         * src/xterm.c (handle_one_xevent): Restrict earlier fix of
19195         Bug#24963 and Bug#25887 to avoid that a non-GTK Emacs won't
19196         react to state changes received via ConfigureNotify.
19198 2017-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
19200         Respect directory a user enters (bug#28299)
19202         * lisp/gnus/mm-decode.el (mm-save-part):
19203         Respect directory a user enters (bug#28299).
19205 2017-08-31  Samuel Freilich  <sfreilich@google.com>
19207         Do not split line before width of fill-prefix
19209         When auto-filling a paragraph, don't split a line before the width of the
19210         fill-prefix, creating a subsequent line that is as long or longer (Bug#20774).
19211         * lisp/simple.el (do-auto-fill): Only consider break-points that are later in
19212         the line than the width of the fill-prefix.  This is a more general solution
19213         than the previous logic, which only skipped over the exact fill-prefix.  The
19214         fill-prefix doesn't necessarily match the prefix of the first line of a
19215         paragraph in adaptive-fill-mode.
19217 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
19219         Support lazy loading for autogenerated usage docstrings too (Bug#27748)
19221         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
19222         Consider any documentation that ended up in code as a docstring (e.g.,
19223         autogenerated (fn ARG1 ARG2) type things), not just what the user
19224         passed.
19226 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
19228         Drop docstrings from cl-defsubst produced inline bodies (Bug#27748)
19230         * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Use macroexp-parse-progn
19231         to drop the docstring.  Add a simple docstring to the compiler-macro.
19233 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
19235         Quote file-truename symlink to "../foo:bar:"
19237         Problem reported by Michael Albinus (Bug#28264#19).
19238         * lisp/files.el (files--splice-dirname-file): Fix bug where
19239         a relative symlink to "../foo:bar:" did not quote the result.
19241 2017-08-30  Reuben Thomas  <rrt@sc3d.org>
19243         Add support for arguments in emacsclient's ALTERNATE_EDITOR (Bug #25082)
19245         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
19246         corresponding command-line argument, into quote- or space-separated
19247         tokens.  If a token starts with a quote, then it naturally is expected
19248         to end with a quote; escaping is not supported. This is enough to cope
19249         with the typical case of requiring the initial path to be quoted,
19250         common on Windows where it may contain spaces.
19251         * etc/NEWS: Document.
19252         * doc/emacs/misc.texi: Likewise.
19253         * doc/man/emacsclient.1: Tweak to remove the implication that only an
19254         editor can be specified (the manual already mentions a “command”).
19255         Fix a small error where “EDITOR” is referred to rather than
19256         “ALTERNATE_EDITOR”.
19257         * test/lib-src/emacsclient-tests.el: Add tests.
19259 2017-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
19261         * lisp/man.el (Man-softhyphen-to-minus): Avoid string-as-multibyte.
19263 2017-08-30  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>  (tiny change)
19265         Correct "hide others" shortcut on macOS (bug#28215)
19267         * lisp/term/ns-win.el: Fix shortcut for ns-do-hide-others.
19269 2017-08-30  Eli Zaretskii  <eliz@gnu.org>
19271         Sync NEWS with the documentation
19273         * etc/NEWS: Mark entries according to documentation.
19275         * doc/lispref/functions.texi (Mapping Functions): Document 'mapcan'.
19277 2017-08-30  Michael Albinus  <michael.albinus@gmx.de>
19279         Improve symlinks for Tramp
19281         * lisp/files.el (files--splice-dirname-file): Quote whole file.
19283         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
19284         Do not expand TARGET, it could be remote.
19285         (tramp-sh-handle-file-truename): Check for cyclic symlink also
19286         in case of readlink.  Quote result if it looks remote.
19287         (tramp-sh-handle-file-local-copy): Use `file-truename'.
19289         * test/lisp/net/tramp-tests.el (tramp-test08-file-local-copy)
19290         (tramp-test09-insert-file-contents): Test also file missing.
19291         (tramp-test21-file-links): Extend test.
19293 2017-08-30  Martin Rudalics  <rudalics@gmx.at>
19295         Preserve display's foreground color when clearing internal borders (Bug#28278)
19297         * src/xterm.c (x_after_update_window_line): Preserve display's
19298         foreground color when clearing internal borders (Bug#28278).
19300 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
19302         Use cl-print for all values printed by `describe-variable'
19304         * lisp/help-fns.el (describe-variable): Use cl-prin1 for original and
19305         global values too.
19307 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
19309         Minor simplification for byte-compile-constant-push
19311         * lisp/emacs-lisp/bytecomp.el (byte-compile-constant): Move the meat
19312         of the code from here...
19313         (byte-compile-constant-push): ... to here.  No need to bind
19314         byte-compile--for-effect anymore.
19316 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
19318         Prefer file-name-quote to concat "/:"
19320         Suggested by Michael Albinus (Bug#28264#13).
19321         * lisp/files.el (files--splice-dirname-file): Use file-name-quote
19322         rather than attempting to do it by hand.
19324 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
19326         * configure.ac: fix typo in previous change
19328 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
19330         Be more conservative in link time optimization doc
19332         While testing --enable-link-time-optimization with GCC 7.1.1
19333         I ran into a serious GCC code-generation bug which makes me
19334         think that --enable-link-time-optimization should be
19335         discouraged for typical installs (Bug#28213).  See:
19336         https://bugzilla.redhat.com/show_bug.cgi?id=1486455
19338 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
19340         Make garbage collection more conservative
19342         Check for a pointer anywhere within the object, as opposed to just
19343         the start of the object.  This is needed for gcc -Os -flto on
19344         x86-64 (Bug#28213).  This change means that the garbage collector
19345         is more conservative, and will incorrectly keep objects that it
19346         does not need to, but that is better than incorrectly discarding
19347         objects that should be kept.
19348         * src/alloc.c (ADVANCE, VINDEX): Now functions, not macros;
19349         this is easier to debug.
19350         (setup_on_free_list): Rename from SETUP_ON_FREE_LIST.
19351         Now a function with two args, not a macro with three.
19352         All callers changed.
19353         (live_string_holding, live_cons_holding, live_symbol_holding)
19354         (live_misc_holding, live_vector_holding, live_buffer_holding):
19355         New functions, which check for any object containing the addressed
19356         byte, not just for an object at the given address.
19357         (live_string_p, live_cons_p, live_symbol_p, live_misc_p)
19358         (live_vector_p, live_buffer_p):
19359         Redefine in terms of the new functions.
19360         (live_float_p): Refactor slightly to match the new functions.
19361         (mark_maybe_object, mark_maybe_pointer): Use the new functions.
19362         Don’t bother checking mark bits, as mark_object already does that,
19363         and omitting the checks here simplifies the code.  Although
19364         mark_maybe_object can continue to insist that tagged pointers
19365         still address the start of the object, mark_maybe_pointer now is
19366         more conservative and checks for pointers anywhere into an object.
19368 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
19370         Improve stack-top heuristic
19372         This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part
19373         of the stack when scanning for heap roots, causing Emacs to crash
19374         later (Bug#28213).  The problem is that Emacs's hack for getting an
19375         address near the stack top does not work when link-time optimization
19376         moves stack variables around.
19377         * configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro.
19378         * lib-src/make-docfile.c (DEFUN_noinline): New constant.
19379         (write_globals, scan_c_stream): Support noinline.
19380         * src/alloc.c (NEAR_STACK_TOP): New macro.
19381         (SET_STACK_TOP_ADDRESS): Use it.
19382         (flush_stack_call_func, Fgarbage_collect): Now noinline.
19384 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
19386         Align stack bottom properly.
19388         This is needed for gcc -Os -flto on x86-64 (Bug#28213).
19389         * src/emacs.c (main): Align stack-bottom variable as a pointer,
19390         since mark_memory requires this.
19392 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
19394         Avoid spinning waiting for git-gui.exe on Windows
19396         * src/w32proc.c (waitpid): If GetExitCodeProcess returns
19397         STILL_ACTIVE, and we were called with WNOHANG, pretend that the
19398         process exited.  (Bug#28268)
19400 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
19402         Document '--module-assertions'
19404         * doc/emacs/cmdargs.texi (Initial Options): Document the
19405         '--module-assertions' command-line option.
19406         * doc/lispref/loading.texi (Dynamic Modules): Add a
19407         cross-reference to the description of '--module-assertions'.
19409         * etc/NEWS: Update the NEWS entry for --module-assertions.
19411 2017-08-29  Alan Third  <alan@idiocy.org>
19413         Add news entry about new macOS features
19415         * etc/NEWS: Add entry about ns-appearance, ns-transparent-titlebar and
19416         ns-use-thin-smoothing.
19418 2017-08-29  Alan Third  <alan@idiocy.org>
19420         Fix cross macOS version building (bug#28222)
19422         * src/macfont.h (CGContextSetFontSmoothingStyle): Function
19423         declaration.
19424         * src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.
19426 2017-08-29  Ben Bonfil  <bonfil@gmail.com>  (tiny change)
19428         Enable thin font smoothing in macOS (bug#28222)
19430         * src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing.
19431         * src/macfont.m (macfont_draw): Use font smoothing.
19433 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
19435         Minor improvement in documentation of display-line-numbers
19437         * doc/emacs/display.texi (Display Custom): Document the
19438         display-line-numbers-mode and related options.
19440 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
19442         Avoid aborting in 'waitpid' on MS-Windows
19444         * src/w32proc.c (waitpid): Don't allow quitting if called with
19445         WNOHANG in OPTIONS.  (Bug#28268)
19447 2017-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
19449         * lisp/progmodes/sh-script.el: Test "in-string" of the right char!
19451         (sh-syntax-propertize-function): Fix off-by-one error.
19452         Fixes bug#23526.
19454 2017-08-29  Rasmus  <rasmus@gmx.us>
19456         Update Org to v9.0.10
19458         Please see etc/ORG-NEWS for major changes. Note, this is a bugfix
19459         release.
19461 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
19463         Silence false alarms for symlinks to sources
19465         Problem reported by Glenn Morris (Bug#28264).
19466         * lisp/files.el (files--splice-dirname-file): New function.
19467         (file-truename, file-chase-links): Use it.
19469 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
19471         Simplify remove_slash_colon
19473         * src/process.c (remove_slash_colon): Simplify
19474         and avoid a special case for "/:" by itself.
19476 2017-08-28  Tassilo Horn  <tsdh@gnu.org>
19478         Remove font family from minibuffer-prompt face
19480         * etc/themes/tsdh-light-theme.el (tsdh-light): Remove font family from
19481         minibuffer-prompt face.
19483 2017-08-28  Michael Albinus  <michael.albinus@gmx.de>
19485         Further fixes in tramp-smb.el
19487         * lisp/net/tramp-smb.el (tramp-smb-handle-file-truename): New defun.
19488         (tramp-smb-file-name-handler-alist): Use it.
19489         (tramp-smb-handle-make-symbolic-link): Unquote target.
19491         * test/lisp/net/tramp-tests.el
19492         (tramp--test-ignore-make-symbolic-link-error): New defmacro.
19493         (tramp-test18-file-attributes, tramp-test21-file-links)
19494         (tramp--test-check-files): Use it.
19496 2017-08-28  Paul Eggert  <eggert@cs.ucla.edu>
19498         Don’t assume -g3 in .gdbinit
19500         * src/.gdbinit (EMACS_INT_WIDTH, USE_LSB_TAG):
19501         Use reasonable defaults if not in the symbol table.
19503 2017-08-28  Robert Pluim  <rpluim@gmail.com>  (tiny change)
19505         Use string-match to check for dotfiles in ido
19507         * lisp/ido.el (ido-make-file-list): Use string-match to check
19508         for dotfiles instead of substring, as when using tramp
19509         simplified syntax ido-temp-list may contain empty strings.
19511 2017-08-28  Mark Oteiza  <mvoteiza@udel.edu>
19513         Font-lock FDO desktop files correctly
19515         Single and double quotes do not have a special meaning in
19516         desktop files.
19517         https://standards.freedesktop.org/desktop-entry-spec/latest/
19518         * etc/NEWS: Mention new mode.
19519         * lisp/files.el (auto-mode-alist): Split out an entry for handling
19520         the .desktop extension with conf-desktop-mode.
19521         * lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
19522         variable with rules for booleans and format specifiers.
19523         (conf-unix-mode): Remove desktop file entry example from docstring.
19524         (conf-desktop-mode): New derived major mode.
19526 2017-08-27  Tom Tromey  <tom@tromey.com>
19528         Fix auto-fill bug in js-mode
19530         * lisp/progmodes/js.el (js-do-auto-fill): New function.
19531         (js-mode): Set normal-auto-fill-function.
19532         * test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New
19533         test.
19535 2017-08-27  Noam Postavsky  <npostavs@gmail.com>
19537         Disable completion while entering python multiline statements
19539         The "legacy" completion mechanism sends newlines to the running python
19540         process to get the list of completions, which confuses things if the
19541         user is in the middle of entering a multiline statement (Bug#28051).
19542         It's better to disable completion in this case.
19543         * lisp/progmodes/python.el (python-shell--block-prompt): New variable.
19544         (python-shell-prompt-set-calculated-regexps): Set it.
19545         (python-shell-completion-at-point): Return 'ignore' as the completion
19546         function when the current prompt is a block prompt.
19548 2017-08-27  Michael Albinus  <michael.albinus@gmx.de>
19550         Tramp cleanup
19552         * lisp/net/tramp-sh.el (tramp-sh-extra-args): Remove compat code.
19553         (tramp-sh-handle-make-symbolic-link): More robust check for
19554         TARGET remoteness.
19556         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
19557         Disable copying by tar temporarily, it doesn't work reliably.
19558         (tramp-smb-do-file-attributes-with-stat): Resolve symlink.
19559         (tramp-smb-handle-make-symbolic-link): Fix implementation.
19561         * lisp/net/tramp.el (tramp-handle-file-symlink-p): Simplify.
19563         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
19564         Extend test.
19566 2017-08-27  Glenn Morris  <rgm@gnu.org>
19568         Fix previous xterm.h change for non-gtk builds
19570         * src/xterm.h (GTK_CHECK_VERSION) [!USE_GTK]: Define it.
19572 2017-08-27  Philipp Stephani  <phst@google.com>
19574         Fix GdkSettings-related deprecation warnings
19576         * src/gtkutil.c (xg_initialize): Don’t set deprecated and ignored
19577         gtk-menu-bar-accel setting in new versions of GTK+.  Use g_object_set
19578         instead of deprecated gtk_settngs_set_string_property otherwise.
19580 2017-08-27  Philipp Stephani  <phst@google.com>
19582         Always use gtk_window_move in new versions
19584         * src/gtkutil.c (my_log_handler): Don’t define in new versions of
19585         GTK+.
19586         (xg_set_geometry): Always use gtk_window_move in new versions of GTK+.
19588         * src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
19589         is ignored.
19591         * lisp/subr.el (x-gtk-use-window-move): Make obsolete.
19593 2017-08-27  Charles A. Roelli  <charles@aurox.ch>
19595         Fix 'diff-goto-source' when buffer is narrowed (Bug#21262)
19597         * lisp/vc/diff-mode.el (diff-find-file-name): Save the current
19598         narrowing, and widen the buffer before searching for the name of the
19599         file corresponding to the diff.
19601         With thanks to Noam Postavsky.
19603 2017-08-27  Philipp Stephani  <phst@google.com>
19605         Remove use of a deprecated GTK+ function in new versions
19607         * src/gtkutil.c (xg_make_tool_item): Use gtk_widget_set_focus_on_click
19608         if available
19610 2017-08-27  Philipp Stephani  <phst@google.com>
19612         Stop using deprecated GdkScreen monitor functions in newer GDK
19614         * src/xfns.c (Fx_display_monitor_attributes_list): Use GdkMonitor
19615         objects instead of the deprecated GdkScreen functions in GDK 3.22+
19617 2017-08-27  Philipp Stephani  <phst@google.com>
19619         Use GdkSeat in new GDK versions
19621         * src/gtkutil.c (xg_event_is_for_scrollbar): Use GdkSeat instead of
19622         GdkDeviceManager in GDK 3.20+
19624 2017-08-27  Philipp Stephani  <phst@google.com>
19626         * src/xterm.c (XTflash): Don’t use gdk_cairo_create in GDK 3.22+
19628 2017-08-27  Philipp Stephani  <phst@google.com>
19630         Remove call of deprecated GDK function
19632         * src/xterm.h (XSync): Don’t call gdk_window_process_all_updates in
19633         GDK 3.22 or later.
19635 2017-08-27  Alan Mackenzie  <acm@muc.de>
19637         Amend the CC Mode macro cache to cope with changes at the macro start
19639         Fixes bug #28233.
19641         * lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Fix an off-by-1
19642         error.
19644 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
19646         Fix over-protection of byte-compiled files
19648         Problem reported by Sven Joachim (Bug#28244).
19649         Also, fix similar problem for autoload files.
19650         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
19651         Set temp file modes to the buffer-file-name file modes (or 666
19652         if not available) as adjusted by umask.
19653         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
19654         Set temp file modes to 666 as adjusted by umask.
19656 2017-08-27  Tom Tromey  <tom@tromey.com>
19658         Refine conf-toml-mode font-lock
19660         Bug#28218
19661         * lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use
19662         conf-toml-recognize-section.  Use \s- in variable regexp.
19663         (conf-toml-recognize-section): New function.
19665 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
19667         Do not munge contents of local symbolic links
19669         This lets Emacs deal with arbitrary local symlinks without
19670         mishandling their contents (Bug#28156).  For example,
19671         (progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
19672         now consistently creates a symbolic link from '/tmp/x' to '~'.
19673         Formerly, it did that only if the working directory was on the
19674         same filesystem as /tmp; otherwise, it expanded the '~' to
19675         the user's home directory.
19676         * lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
19677         instead of rolling our own code.
19678         * lisp/files.el (files--name-absolute-system-p): New function.
19679         (file-truename, file-chase-links): Use it to avoid mishandling
19680         symlink contents that begin with ~.
19681         (copy-directory, move-file-to-trash):
19682         Use concat rather than expand-file-name, to avoid mishandling
19683         symlink contents that begin with ~.
19684         * src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
19685         target unless interactive.  Strip leading "/:" if interactive.
19686         (emacs_readlinkat): Do not prepend "/:" to the link target if
19687         it starts with "/" and contains ":" before NUL.
19688         * test/src/fileio-tests.el (try-link): Rename from try-char,
19689         and accept a string instead of a char.  All uses changed.
19690         (fileio-tests--symlink-failure): Also test leading ~, and "/:",
19691         to test the new behavior.
19693 2017-08-27  Reuben Thomas  <rrt@sc3d.org>
19695         Remove invalid regexp for shell builtins for wksh
19697         * lisp/progmodes/sh-script.el (sh-builtins): Shell built-ins have to
19698         be literal strings, so remove a regexp for wksh. In any case, it’s a
19699         defunct proprietary shell.
19701 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
19703         Improve doc for file-name-absolute-p.
19705 2017-08-26  Michael Albinus  <michael.albinus@gmx.de>
19707         Fix Tramp part of Bug#28156
19709         * lisp/files.el (file-name-non-special): Use `file-name-quote'
19710         instead prefixing "/:", the file could already be quoted.
19712         * lisp/net/tramp.el (tramp-error): Handle null arguments.
19713         (tramp-handle-make-symbolic-link):
19714         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
19715         (tramp-sh-handle-add-name-to-file):
19716         * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
19717         (tramp-smb-handle-make-symbolic-link): Adapt implementation to
19718         stronger semantics in Emacs.  (Bug#28156)
19720         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
19721         Extend test.
19723 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
19725         Fix bugs merged with bug#25428
19727         * lisp/simple.el (auto-fill-mode, visual-line-mode): Doc fix.
19728         (Bug#13926)  (Bug#25434)  (Bug#25435)
19730 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
19732         Improve documentation of Info virtual files and nodes
19734         * lisp/info.el (Info-virtual-files, Info-virtual-nodes): Doc fix.
19735         (Bug#28237)
19737 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
19739         * lisp/delsel.el (delete-selection-mode): Doc fix.  (Bug#25428)
19741 2017-08-26  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)
19743         Support multi-lingual detection of SEE ALSO man sections
19745         * lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO
19746         section detection in several langages: French, German, Spanish,
19747         Portuguese, Italian, Polish, Turkish, Japanese, Chinese.  (Bug#28142)
19749 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
19751         Improve expand-file-name doc
19753         * doc/lispref/files.texi (Relative File Names, Directory Names)
19754         (File Name Expansion):
19755         * doc/lispref/minibuf.texi (Reading File Names):
19756         Document expand-file-name behavior with ~ more clearly
19757         and accurately.
19758         * doc/misc/org.texi (Batch execution): Simplify example
19759         script so that it does not need expand-file-name and thus
19760         will not mishandle file names with leading ~.
19762 2017-08-26  Jefferson Carpenter  <jeffersoncarpenter2@gmail.com>  (tiny change)
19764         Support all perl variable declarators and prefixes (Bug#27613)
19766         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
19767         (perl-font-lock-keywords-2): Match declators 'anon', 'argument', 'has',
19768         'local', 'state', 'supersede', 'let', and 'temp'.
19770 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
19772         Fix file-attributes race on GNU hosts
19774         * doc/lispref/files.texi (File Attributes):
19775         Document file-attributes atomicity.
19776         * etc/NEWS: Document the fix.
19777         * src/dired.c (file_attributes): New args DIRNAME and FILENAME,
19778         for diagnostics.  All callers changed.  On platforms like
19779         GNU/Linux that support O_PATH, fix a race condition in
19780         file-attributes and similar functions, so that these functions do
19781         not return nonsense if a directory entry is replaced while getting
19782         its attributes.  On non-GNU platforms, do a better (though not
19783         perfect) job of detecting the race, and return nil if detected.
19785 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
19787         Simplify expand_and_dir_to_file
19789         * src/fileio.c (expand_and_dir_to_file): Simplify by omitting 2nd
19790         argument, since in practice it always has the default value.  All
19791         callers changed.  Prefer C99 style decls in nearby code.
19793 2017-08-25  Eli Zaretskii  <eliz@gnu.org>
19795         Fix file-name completion on network shares
19797         * src/w32.c (faccessat): Don't assume that F_OK is non-zero.
19798         (Bug#28207)
19800 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
19802         Fix a FIXME with an exegetical comment
19804         * lisp/progmodes/sh-script.el (sh-builtins): Explain why we have a
19805         regexp for wksh builtins.
19807 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
19809         Minor docstring language fix
19811         * lisp/progmodes/sh-script.el (sh-show-indent): Remove spurious “the”.
19813 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
19815         Remove old commented code from sh-script.el
19817         * lisp/progmodes/sh-script.el (sh-abbrevs): Remove commented function
19818         and variable, commented since 2001.
19820 2017-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
19822         * lisp/emacs-lisp/package.el: Don't let failure stop us
19824         (package-activate-1): Don't throw an error for missing deps.
19825         (package-unpack): Don't bother compiling if activation failed.
19826         (package-initialize): Report failures but keep activating other packages.
19828 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
19830         Prefer ‘double’ for FP temps in xterm.c
19832         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
19833         (x_set_toolkit_scroll_bar_thumb)
19834         (x_set_toolkit_horizontal_scroll_bar_thumb): Prefer ‘double’ to
19835         ‘float’ for individual local floating-point temporaries.
19837 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
19839         Avoid using string-to-multibyte in ispell.el
19841         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Use
19842         decode-coding-string instead. Note that decode-coding-string returns a
19843         string that satisfies multibyte-string-p even if its input is pure
19844         ASCII and the third argument is t, so the result of
19845         ispell-get-decoded-string is always a multibyte string.
19847 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
19849         Store the regexp just when there are matches
19851         * lisp/hi-lock.el (hi-lock-set-pattern): When font-lock-mode is
19852         disabled and there are no matches do not store REGEXP
19853         in hi-lock-interactive-patterns.
19855 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
19857         Keep face available if there are no matches
19859         If font-lock-mode is disabled in the current buffer, and
19860         there are no matches for REGEXP, then keep FACE available
19861         for a next search.
19862         * lisp/hi-lock.el (hi-lock-set-pattern): Add FACE into
19863         hi-lock--unused-faces if font-lock-mode is disabled and
19864         there are no matches.
19865         * test/lisp/hi-lock-tests.el (hi-lock-test-set-pattern): Add test.
19867 2017-08-24  Michael Albinus  <michael.albinus@gmx.de>
19869         Minor improvements for tramp-interrupt-process, documentation
19871         * doc/lispref/processes.texi (Signals to Processes):
19872         * etc/NEWS: Document interrupt-process-functions.
19874         * lisp/net/tramp.el (tramp-interrupt-process): Test also for
19875         `process-live-p'.
19877         * src/process.c (Vinterrupt_process_functions): Fix docstring.
19879         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
19880         Extend test.
19882 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
19884         Fix a comment whitespace typo.
19886         src/fileio.c: A double space was added after "..", used in a code
19887         example. Make it a single space.
19889 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
19891         Remove old commented code and obsolete comments
19893         * lisp/files.el (locate-dominating-files): Remove old commented
19894         implementation from 9 years ago.  Since the current version
19895         appears (at least to me) not just more efficient but clearer than the
19896         version removed, also delete a comment in the new version referring to
19897         the old version. Remove old commented heuristic code,
19898         and explanatory comments.
19900 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
19902         Remove old duplicate commented code
19904         * lisp/files.el (file-relative-name): Remove old commented version,
19905         replaced 14 years ago in commit 753ad9889.
19907 2017-08-24  Tom Tromey  <tom@tromey.com>
19909         Add conf-toml-mode
19911         * etc/NEWS: Mention conf-toml-mode.
19912         * lisp/files.el (auto-mode-alist): Add entry for .toml.
19913         * lisp/textmodes/conf-mode.el (conf-toml-mode-syntax-table)
19914         (conf-toml-font-lock-keywords): New defvars.
19915         (conf-toml-mode): New mode.
19917 2017-08-23  Alan Third  <alan@idiocy.org>
19919         Use lisp type in log message (bug#28176)
19921         * src/nsimage.m (ns_load_image): Use make_number on index.
19923 2017-08-23  Alan Third  <alan@idiocy.org>
19925         Fix PNGs on macOS (bug#28176)
19927         * src/nsimage.m (ns_load_image): Remove index check.
19928         (EmacsImage::getAnimatedBitmapImageRep): New function.
19929         (EmacsImage::getMetadata): Use getAnimatedBitmapImageRep.
19930         (EmacsImage::setFrame): Use getAnimatedBitmapImageRep and check index
19931         is valid.
19933 2017-08-23  Alan Third  <alan@idiocy.org>
19935         Add ability to change macOS WM theme (bug#27973)
19937         * src/frame.c (make_frame, frame_parms, syms_of_frame)
19938         [NS_IMPL_COCOA]: Add ns-appearance and ns-transparent-titlebar
19939         options.
19940         * src/frame.h (ns_appearance_type) [NS_IMPL_COCOA]: Add enum to
19941         represent NSAppearance options.
19942         (struct frame) [NS_IMPL_COCOA]: Add ns_appearance and
19943         ns_transparent_titlebar frame parameters.
19944         * src/nsfns.m (ns_frame_parm_handlers) [NS_IMPL_COCOA]: Add
19945         ns_set_appearance and ns_set_transparent_titlebar handlers.
19946         (Sx_create_frame): Handle ns-appearance and ns-transparent-titlebar
19947         frame parameters.
19948         (Qdark): Add new symbol for use with ns-appearance.
19949         * src/nsterm.h (ns_set_appearance, ns_set_transparent_titlebar)
19950         [NS_IMPL_COCOA]: Add prototypes.
19951         * src/nsterm.m (ns_set_appearance, ns_set_transparent_titlebar)
19952         [NS_IMPL_COCOA]: New functions.
19953         (initFrameFromEmacs) [NS_IMPL_COCOA]: Handle ns-appearance and
19954         ns-transparent-titlebar frame parameters.
19955         * doc/lispref/frames.texi (Window Management Parameters): Document
19956         ns-apperance and ns-transparent-titlebar.
19958 2017-08-22  Alan Mackenzie  <acm@muc.de>
19960         When looking for the end of a declarator, prevent macros fouling up the search
19962         The practical implication of this bug was a random jit-lock chunk remaining
19963         entirely unfontified.
19965         * lisp/progmodes/cc-mode.el (c-fl-decl-end): If point starts inside a macro,
19966         restrict two forward searches to the end of that macro.
19968 2017-08-22  Michael Albinus  <michael.albinus@gmx.de>
19970         Test `file-expand-wildcards' for Tramp
19972         * lisp/net/tramp-compat.el (tramp-advice-file-expand-wildcards):
19973         Remove, not needed anymore.
19975         * test/lisp/net/tramp-tests.el (top): Require seq.el.
19976         (tramp-test16-directory-files): Simplify.
19977         (tramp-test16-file-expand-wildcards): New test.
19978         (tramp-test28-interrupt-process): Skip for older Emacsen.
19980 2017-08-22  Alexander Gramiak  <agrambot@gmail.com>
19982         Add tests for cl-macs.el (Bug#27559)
19984         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-loop): Remove
19985         duplicate.
19986         (cl-loop-destructuring-with): Move to cl-macs-tests.el.
19987         * test/lisp/emacs-lisp/cl-macs-tests.el: New file.
19989 2017-08-22  Noam Postavsky  <npostavs@gmail.com>
19991         Optimize skkdic conversion (Bug#28043)
19993         The primary speedup comes from the optimizing lookup-nested-alist and
19994         set-nested-alist for the case where the key is a string.  This brings
19995         the time down to less than half the original.
19997         * lisp/international/mule-util.el (lookup-nested-alist)
19998         (set-nested-alist): Use `assq' instead of `assoc' when KEYSEQ is a
19999         string.
20001         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
20002         (skkdic-convert-okuri-nasi): Use progress-reporter functions instead
20003         of calculating ratio of work done inline.
20005         (skkdic-reduced-candidates): Call `char-category-set' on the first
20006         character of the string directly, instead of using a regexp for the
20007         character category.
20008         (skkdic--japanese-category-set): New constant.
20009         (skkdic-collect-okuri-nasi): Just set
20010         `skkdic-okuri-nasi-entries-count' at once at the end rather than
20011         updating it throughout the loop.
20013         (skkdic-convert-postfix skkdic-convert-prefix)
20014         skkdic-get-candidate-list, skkdic-collect-okuri-nasi)
20015         (skkdic-extract-conversion-data): Use `match-string-no-properties'
20016         instead of `match-string'.
20018 2017-08-22  Reuben Thomas  <rrt@sc3d.org>
20020         Treat tests in lib-src like tests in src
20022         * test/Makefile.in (test_template): Depend on a .c source file for a
20023         test under lib-src, as for src.  (Thanks, Glenn Morris for pointing me
20024         in the right direction.)
20026 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
20028         Port /bin/sh scripts to Solaris 10
20030         Its /bin/sh builtin ‘test’ command does not support -e.
20031         * autogen.sh, build-aux/git-hooks/pre-commit:
20032         * build-aux/gitlog-to-emacslog, make-dist:
20033         Use test -r, not test -e.
20035 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
20037         Avoid losing the buffer restriction in flyspell-mode
20039         * src/intervals.c (get_local_map): Don't allow C-g to quit as long
20040         as we have the buffer widened, to make sure the restriction is
20041         preserved.  (Bug#28161)
20043 2017-08-21  Sven Joachim  <svenjoac@gmx.de>
20045         Fix the 'versionclean' target in src/Makefile
20047         * src/Makefile.in (versionclean): Don't accidentally remove
20048         emacs-module.h.  (Bug#28169)
20050 2017-08-21  Michael Albinus  <michael.albinus@gmx.de>
20052         Implement `interrupt-process-functions'
20054         * lisp/net/tramp.el (tramp-interrupt-process): Rename from
20055         `tramp-advice-interrupt-process'.  Adapt according to changed API.
20056         (top): Add it to `interrupt-process-functions'.
20058         * src/process.c (Finternal_default_interrupt_process): New defun.
20059         (Finterrupt_process): Change implementation, based on
20060         Vinterrupt_process_functions.
20061         (Vinterrupt_process_functions): New defvar.
20063         * test/lisp/net/tramp-tests.el (tramp-test40-unload): Do not
20064         test removal of advice.
20066 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
20068         Avoid floating-point exceptions while drawing underwave
20070         * src/w32term.c (x_get_scale_factor):
20071         * src/xterm.c (x_get_scale_factor): Don't let the scale factors
20072         become less than 1.  Reported by Yuri D'Elia <wavexx@thregr.org> in
20073         https://lists.gnu.org/r/emacs-devel/2017-08/msg00459.html.
20075 2017-08-21  Sam Steingold  <sds@gnu.org>
20077         mark flymake-mode as safe local variable when the value is nil
20079 2017-08-21  Sam Steingold  <sds@gnu.org>
20081         allow nil init in flymake-allowed-file-name-masks to disable flymake
20083         (flymake-allowed-file-name-masks): Update doc and :type.
20084         (flymake-get-file-name-mode-and-masks): Handle nil init.
20086 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
20088         Remove the workaround for bug#20719
20090         * lisp/cedet/semantic/symref/grep.el
20091         (semantic-symref-grep-use-template): Remove the workaround for
20092         bug#20719, it's been fixed for a while now.
20094 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
20096         Fix byte-compilation warnings in semantic/symref/grep
20098         * lisp/cedet/semantic/symref/grep.el (greppattern): Remove.
20099         (grepflags): Rename to semantic-symref-grep-flags.
20100         (semantic-symref-grep-expand-keywords): Update accordingly.
20101         (semantic-symref-grep-use-template): Remove the last two
20102         arguments to make sure they don't shadow the (not renamed)
20103         global variables.
20104         (semantic-symref-perform-search)
20105         (semantic-symref-parse-tool-output-one-line): Use slot names
20106         instead of keywords, like the byte-compiler wants us to.
20108 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
20110         Simplify eldoc-message
20112         * lisp/emacs-lisp/eldoc.el (eldoc-message): Simplify.
20113         Don't use ARGS because no callers pass them.  Discussed in bug#27230.
20115 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
20117         Work around w32-python-2.x bug to fix prompt detection (Bug#21376)
20119         * lisp/progmodes/python.el (python-shell-prompt-detect): Don't put
20120         carriage returns into the temporary file when running in unbuffered
20121         mode, the w32 build of python 2.7 chokes on them.
20123 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
20125         Add missing require
20127         * lisp/textmodes/ispell.el: Require subr-x. (Thanks, Eli Zaretskii.)
20129 2017-08-20  Michael Albinus  <michael.albinus@gmx.de>
20131         Implement `interrupt-process' for remote processes (Bug#28066)
20133         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process):
20134         Support sending signals remotely.
20135         (tramp-open-connection-setup-interactive-shell):
20136         Trace "remote-tty" connection property.
20138         * lisp/net/tramp.el (tramp-advice-interrupt-process): New defun.
20139         (top): Add advice to `interrupt-process'.  (Bug#28066)
20141         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
20142         New test.
20143         (tramp-test29-shell-command)
20144         (tramp-test30-environment-variables)
20145         (tramp-test30-environment-variables-and-port-numbers)
20146         (tramp-test31-explicit-shell-file-name)
20147         (tramp-test32-vc-registered)
20148         (tramp-test33-make-auto-save-file-name)
20149         (tramp-test34-make-nearby-temp-file)
20150         (tramp-test35-special-characters)
20151         (tramp-test35-special-characters-with-stat)
20152         (tramp-test35-special-characters-with-perl)
20153         (tramp-test35-special-characters-with-ls, tramp-test36-utf8)
20154         (tramp-test36-utf8-with-stat, tramp-test36-utf8-with-perl)
20155         (tramp-test36-utf8-with-ls)
20156         (tramp-test37-asynchronous-requests)
20157         (tramp-test38-recursive-load, tramp-test39-remote-load-path)
20158         (tramp-test40-unload): Rename.
20159         (tramp-test40-unload): Test also removal of advice.
20161 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
20163         Document Enchant support
20165         * doc/emacs/fixit.texi: Mention Enchant.
20166         * doc/misc/efaq.texi: Likewise.
20167         * etc/NEWS: Add an item on Enchant support.
20169 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
20171         Remove old comments and a redundant FIXME
20173         * lisp/textmodes/ispell.el (ispell-process-line): Remove some old
20174         commented code, a redundant FIXME, and outdated usage instructions.
20176 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
20178         Add Enchant support to ispell.el (Bug#17742)
20180         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
20181         (ispell-really-enchant): Add variable.
20182         (ispell-check-version): If using Enchant, check it’s new enough (at
20183         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
20184         without.)
20185         (ispell-enchant-dictionary-alist): Add variable.
20186         (ispell-find-enchant-dictionaries): Add function, based on
20187         ispell-find-aspell-dictionaries.
20188         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
20189         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
20190         old ispell name to locale mapping code for Enchant too.
20191         (ispell-send-replacement): Make it work with Enchant.
20193 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
20195         * lisp/term.el (term-mode): Use `window-text-height' (Bug#5615).
20197 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
20199         Stop printing '4' in .elc files after 'define-symbol-prop' calls
20201         * lisp/emacs-lisp/bytecomp.el (byte-compile-define-symbol-prop):
20202         Return nil in case we have compiled the form, to prevent a redundant
20203         constant from getting added to the compiled output.
20205 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
20207         Change recent symlink tests to just test ASCII
20209         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
20210         Be less ambitious about testing non-ASCII chars and encoding
20211         errors, as there are too many portability issues.
20213 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
20215         Don’t adjust CRLF in file names
20217         * doc/misc/gnus.texi (Non-ASCII Group Names):
20218         * etc/NEWS:
20219         * test/lisp/net/tramp-tests.el (tramp--test-utf8):
20220         Use utf-8-unix, not utf-8, for default-file-name-coding-system, so
20221         that CRLF in file names is left alone.
20222         * lisp/international/mule-cmds.el (set-default-coding-systems):
20223         Do not alter CRLF in file name coding systems.
20224         (prefer-coding-system): Ignore differences in CRLF processing when
20225         checking whether we used the user-specified file name coding system.
20226         * test/src/fileio-tests.el: New file.
20228 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
20230         Make list-processes support display-line-numbers
20232         * lisp/simple.el (process-menu-mode): Move the call to
20233         tabulated-list-init-header from here...
20234         (list-processes--refresh): ...to here.  (Bug#27895)
20236 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
20238         Improve support of display-line-numbers in package.el
20240         * lisp/emacs-lisp/package.el (package-menu--refresh): Redisplay
20241         the header.  (Bug#27895)
20242         * lisp/emacs-lisp/tabulated-list.el
20243         (tabulated-list-line-number-width): Fix the case when
20244         display-line-numbers is nil.
20246 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
20248         Improve support of display-line-numbers in tabulated-list-mode
20250         * lisp/emacs-lisp/tabulated-list.el
20251         (tabulated-list-line-number-width): New function.
20252         (tabulated-list-init-header, tabulated-list-print-entry): Use it.
20253         (Bug#27895)
20255 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
20257         Fix one more issue reported by Alex (Bug#27999)
20259         * doc/lispref/windows.texi (Preserving Window Sizes)
20260         (Window Parameters): Use the term `window-preserved-size'
20261         instead of `preserved-size' (Bug#27999).
20263 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
20265         Rename `no-delete-other-window' to `no-delete-other-windows'
20267 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
20269         Fix two side window problems noted by Alex (Bug#27999)
20271         * lisp/window.el (display-buffer-in-side-window): Fix doc-string
20272         typo.
20273         (delete-other-windows): Rename the `no-delete-other-window'
20274         parameter to `no-delete-other-windows' (see the discussion in
20275         Bug#27999 for the rationale of this change).
20276         * doc/lispref/windows.texi (Deleting Windows)
20277         (Frame Layouts with Side Windows, Window Parameters): Rename
20278         `no-delete-other-window' to `no-delete-other-windows'.
20280 2017-08-19  Alex Schroeder  <alex@gnu.org>
20282         Use define-minor-mode for rcirc-omit-mode
20284 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
20286         Clarify behavior of symlinks and directories
20288         * doc/lispref/files.texi (Saving Buffers): Document how functions
20289         like rename-file work with symlinks and directories.  This patch
20290         attempts to document the current behavior better, in preparation
20291         for possibly changing it.  See Bug#27986.
20293 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
20295         Fix recently-introduced file descriptor leak
20297         * src/fileio.c (Fmake_temp_file_internal):
20298         Don’t leak a file descriptor if write_region signals an error.
20300 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
20302         Improve make-temp-file performance on local files
20304         * lisp/files.el (make-temp-file): Let make-temp-file-internal do
20305         the work of inserting the text.
20306         * src/fileio.c (Fmake_temp_file_internal): New arg TEXT.
20307         All callers changed.
20309 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
20311         Don't lose arguments to eshell aliases (Bug#27954)
20313         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Use ARGS.
20315 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
20317         * lisp/files.el (make-temp-file): Fix directory use case.
20319 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
20321         Fix and document make-temp-file optional text parameter
20323         * lisp/files.el (make-temp-file): Fix initial TEXT parameter.
20324         (files--make-magic-temp-file): Support optional TEXT parameter.
20325         * etc/NEWS: Document it.
20326         * doc/lispref/files.texi: Document it.
20327         * test/lisp/auth-source-tests.el: Minor reformat.
20329 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
20331         * test/lisp/auth-source-tests.el: Avoid `string-join' to be simple.
20333         * test/lisp/auth-source-tests.el: Minor cleanups to use CL.
20335 2017-08-19  João Távora  <joaotavora@gmail.com>
20337         Fix default value of electric-pair-pairs and electric-pair-text-pairs
20339         (Bug#24901)
20341         A previous change, titled "Add support for curly quotation marks to
20342         electric-pair-mode", attempted to add these characters to the default
20343         value of these variables.  But it did so in a quoted list, preventing
20344         evaluation of the relevant expressions and resulting in an invalid
20345         format.
20347         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs):
20348         Use backquote and comma.
20350 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
20352         * lisp/elec-pair.el (electric-pair-text-pairs): Don't autoload (Bug#24901).
20354         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Require `elec-pair'
20355         explicitly in the interactive case.
20357 2017-08-19  Mats Lidell  <mats.lidell@cag.se>
20359         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
20361 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
20363         Add auth-source tests and codify its API better
20365         The auth-source behavior was unclear in some API use cases, so these
20366         extra tests codify and test it. For details see
20367         https://github.com/DamienCassou/auth-password-store/issues/29
20369         * lisp/files.el (make-temp-file): Add new initial TEXT parameter.
20370         * test/lisp/auth-source-tests.el (auth-source-test-searches): Add
20371           auth-source tests and simplify them with the new `make-temp-file'.
20373 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
20375         Don't call the same hook twice due to obsolete aliases
20377         * lisp/international/robin.el (robin-activate):
20378         * lisp/international/quail.el (quail-activate):
20379         * lisp/international/mule-cmds.el (deactivate-input-method):
20380         * lisp/emulation/viper-init.el (viper-deactivate-input-method):
20381         Don't call the same hook twice, when the obsolete and the
20382         advertised symbols are aliased.  (Bug#28118)
20384 2017-08-18  Felipe Ochoa  <felipe@fov.space>  (tiny change)
20386         A new face for show-paren in expression mode
20388         * lisp/faces.el (show-paren-match-expression): Define the new face.
20389         * lisp/paren.el (show-paren-function): Apply the different face
20390         when in expression mode.  (Bug#28047)
20392 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
20394         Non-ASCII support for man page section and header names
20396         * lisp/man.el (Man-name-regexp, Man-page-header-regexp)
20397         (Man-heading-regexp): Replace ASCII character classes by
20398         equivalent classes that allow non-ASCII characters.  Suggested by
20399         Grégory Mounié <Gregory.Mounie@imag.fr>.  (Bug#27978)
20401 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
20403         Implement HiDPI support for underwave on MS-Windows
20405         * src/w32term.c (x_get_scale_factor): New function.
20406         (w32_draw_underwave): Use it.
20407         * src/xterm.c (x_draw_underwave): Offset the wave starting point
20408         to make it identical with original code.
20410 2017-08-18  Stephen Pegoraro  <spegoraro@tutive.com>  (tiny change)
20412         Support HiDPI displays for wave style underlines
20414         * src/xterm.c (x_draw_underwave): Compute height, length and thickness
20415         based on scale factor.
20416         (x_get_scale_factor): New function.
20418 2017-08-18  Bastien  <bzg@gnu.org>
20420         Delete library-of-babel.org
20422         * etc/org/library-of-babel.org: Delete file.
20424 2017-08-18  Glenn Morris  <rgm@gnu.org>
20426         * doc/emacs/files.texi (Copying and Naming): Avoid confusing texi2pdf.
20428 2017-08-18  Noam Postavsky  <npostavs@gmail.com>
20430         Remove custom version parsing from epg-config.el (Bug#27963)
20432         * lisp/epg-config.el (epg-config--compare-version)
20433         (epg-config--parse-version): Remove.
20434         (epg-check-configuration): Use `version<=' instead.
20436 2017-08-18  Mark Oteiza  <mvoteiza@udel.edu>
20438         Treat control characters in JSON strings as invalid
20440         * lisp/json.el (json-peek): Reduce to following-char.
20441         (json-pop, json-read): Zero (null char) means end of file.
20442         (json-read-escaped-char): Delimit URL properly.
20443         (json-read-string): Signal error for ASCII control characters.
20444         * test/lisp/json-tests.el (test-json-peek): Check for zero instead of
20445         :json-eof symbol.
20446         (test-json-read-string): New test for control characters in JSON
20447         strings.
20449 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
20451         Support Posix semantics of 'rename' on MS-Windows
20453         * src/w32.c (sys_rename_replace): Support Posix semantics of
20454         'rename': return an error if OLD is a directory while NEW is not,
20455         or vice versa.
20457 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
20459         * src/w32.c (sys_rename_replace): Support renaming a directory.
20461 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
20463         Fix the MS-Windows build
20465         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_open): Omit Gnulib module
20466         'open'.
20468         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Restore definition.
20470 2017-08-17  João Távora  <joaotavora@gmail.com>
20472         Add flymake-backends defcustom
20474         * lisp/progmodes/flymake-proc.el (flymake-proc-can-syntax-check-buffer):
20475         Rename from flymake-can-syntax-check-file.  Suitable for adding to
20476         flymake-backends.
20477         (flymake-proc-start-syntax-check): Rename from
20478         flymake-start-syntax-check.  Don't check again if buffer can be
20479         checked.
20480         (add-to-list flymake-backends): Hook only flymake-ui.el
20482         * lisp/progmodes/flymake-ui.el (flymake-backends): New
20483         defcustom.
20484         (flymake-on-timer-event, flymake-after-change-function)
20485         (flymake-after-save-hook, flymake-find-file-hook): Call new
20486         flymake--start-syntax-check-buffer and
20487         flymake--can-syntax-check-buffer.
20488         (flymake-mode): Call flymake--can-syntax-check-buffer and set
20489         flymake-backend.
20490         (flymake--backend): New buffer-local variable.
20492 2017-08-17  João Távora  <joaotavora@gmail.com>
20494         Split flymake.el into flymake-proc.el and flymake-ui.el
20496         flymake.el is now a stub that requires both files.
20498         * lisp/progmodes/flymake-proc.el: New file.
20500         * lisp/progmodes/flymake-ui.el: New file.
20502         * lisp/progmodes/flymake.el: Split into flymake-ui.el and
20503           flymake-proc.el.  Require both files.
20505 2017-08-17  Michael Albinus  <michael.albinus@gmx.de>
20507         Set `default-directory' for watchdog in tramp-test.el
20509         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
20510         Set `default-directory' for watchdog.
20512 2017-08-17  Andreas Schwab  <schwab@suse.de>
20514         * lisp/term/konsole.el: New file.
20516 2017-08-17  Noam Postavsky  <npostavs@gmail.com>
20518         * lisp/woman.el (woman-push, woman-pop): Remove.  (Bug#27962)
20520         (woman2-RS): Use plain `push' instead of `woman-push'.
20521         (woman2-RE): Conditionally `pop' instead of `woman-pop'.
20523 2017-08-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
20525         Merge from Gnulib; use ‘open’ for O_CLOEXEC
20527         This incorporates:
20528         2017-08-15 renameat: ensure declaration in <stdio.h> on NetBSD
20529         2017-08-15 extensions: enable NetBSD specific extensions
20530         2017-08-14 open: support O_CLOEXEC
20531         2017-08-13 reallocarray: new module
20532         * admin/merge-gnulib (AVOIDED_MODULES): Remove ‘open’, since
20533         it now supports O_CLOEXEC and this simplifies Emacs.
20534         * build-aux/config.guess, lib/fcntl.in.h, lib/stdio.in.h:
20535         * lib/stdlib.in.h, m4/extensions.m4, m4/stdlib_h.m4:
20536         Copy from Gnulib.
20537         * lib/cloexec.c, lib/cloexec.h, lib/open.c:
20538         * m4/mode_t.m4, m4/open-cloexec.m4, m4/open.m4:
20539         New files, copied from Gnulib.
20540         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
20541         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]:
20542         Remove, as Gnulib does this for us.
20543         * src/filelock.c (create_lock_file):
20544         * src/sysdep.c (emacs_open, emacs_pipe):
20545         Don’t worry about O_CLOEXEC == 0, as Gnulib no longer sets it to 0.
20547 2017-08-16  Alan Third  <alan@idiocy.org>
20548             Charles A. Roelli  <charles@aurox.ch>
20550         Allow use of run-time OS version checks on macOS (bug#27810)
20552         * src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS.
20553         (MAC_OS_X_VERSION_10_6, MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8,
20554         MAC_OS_X_VERSION_10_9, MAC_OS_X_VERSION_10_12, HAVE_NATIVE_FS): Remove
20555         defines.
20556         (NSWindowStyleMaskFullScreen,
20557         NSWindowCollectionBehaviorFullScreenPrimary,
20558         NSApplicationPresentationFullScreen,
20559         NSApplicationPresentationAutoHideToolbar): Define in macOS 10.6.
20560         * src/nsterm.m (colorForEmacsRed, colorUsingDefaultColorSpace,
20561         check_native_fs, ns_read_socket, ns_select, runAlertPanel,
20562         initFrameFromEmacs, windowDidMiniaturize, windowDidEnterFullScreen,
20563         windowDidExitFullScreen, isFullscreen, updateCollectionBehavior,
20564         toggleFullScreen, constrainFrameRect, scrollerWidth, syms_of_nsterm):
20565         Allow use of run-time checks and replace version check macros.
20566         * src/nsfns.m (ns_screen_name): Use run-time OS version checks.
20567         * src/macfont.m (macfont_draw): Use run-time OS version checks.
20568         * src/nsmenu.m (menuWillOpen): Use run-time OS version checks.
20570 2017-08-16  Alan Third  <alan@idiocy.org>
20572         Add multiframe image support to NS port (bug#21714)
20574         * src/nsimage.m (ns_load_image): Handle multiple frames.
20575         (EmacsImage::getMetadata, EmacsImage::setFrame): New functions.
20576         * src/nsterm.h (EmacsImage::getMetadata, EmacsImage::setFrame): New
20577         function prototypes.
20579 2017-08-16  Tino Calancha  <tino.calancha@gmail.com>
20581         files-tests.el: Remove unused lexical variable
20583         * test/lisp/files-tests.el (file-test--do-local-variables-test);
20584         Remove unused var 'files-test-queried'.
20586 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
20588         * doc/emacs/files.texi (Copying and Naming): Mention
20590         restrictions to add-name-to-file and make-symbolic-link on
20591         remote systems.
20593 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
20595         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Further support ftp-ssl.
20597 2017-08-16  Noam Postavsky  <npostavs@gmail.com>
20599         Add tests for previous commit
20601         * test/lisp/progmodes/elisp-mode-tests.el
20602         (elisp-mode-tests--face-propertized-string): New function.
20603         (elisp--highlight-function-argument-indexed)
20604         (elisp--highlight-function-argument-keyed-1)
20605         (elisp--highlight-function-argument-keyed-2): New tests.
20607 2017-08-16  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
20609         Fix eldoc highlighting for &key args (Bug#27272)
20611         * lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument):
20612         Only switch to keyword-based searching if INDEX point beyond `&key' in
20613         the argument list.  All arguments prior to the `&key' are position
20614         based.  Additionally, be more strict about what is a keyword when
20615         searching for the current keyword.
20617 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
20619         Do not assume regular Git .git/hooks dir
20621         Apparently Gitlab doesn’t create .git/hooks, like regular Git does.
20622         Problem reported by Ted Zlatanov in:
20623         https://lists.gnu.org/r/emacs-devel/2017-08/msg00380.html
20624         * autogen.sh (git_sample_hook_src): New function.  Use it to work
20625         even if .git/hooks or its samples do not exist.
20627 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
20629         New manual section "Copying and Naming"
20631         * doc/emacs/files.texi (Copying and Naming):
20632         New section, split off from Misc File Ops and containing the
20633         operations that copy, name or rename files.  This fixes some
20634         confusion caused by the incorrect phrase "The same rule applies
20635         to all the remaining commands in this section" in the old manual.
20636         This change does not affect the confusion about directories (see
20637         Bug#27986 for ongoing discussion).
20639 2017-08-15  Eli Zaretskii  <eliz@gnu.org>
20641         Fix the MS-Windows build
20643         * src/fileio.c (Frename_file): Don't use ENOTSUP if it is equal to
20644         ENOSYS.  (Bug#28097)  (Bug#27986)
20646 2017-08-15  Ted Zlatanov  <tzz@lifelogs.com>
20648         * .gitlab-ci.yml: run "autogen.sh autoconf" to avoid Git.
20650         * .gitlab-ci.yml: add Git to the installed packages.
20652 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
20654         Support indentation of detached Less CSS rulesets
20656         * lisp/textmodes/css-mode.el (css-smie-rules): Provide better support
20657         for indentation of detached rulesets passed to Less mixins.
20659         * test/manual/indent/less-css-mode.less: New file.
20661 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
20663         Fixes and tweaks for the new Less CSS mode
20665         * etc/NEWS: Add an entry for the new mode.
20667         * lisp/textmodes/less-css-mode.el (less-css): Tweak docstring.
20668         (less-css-lessc-command): Tweak docstring. Don't mark it as
20669         safe. Don't autoload.
20670         (less-css-compile-at-save, less-css-lessc-options)
20671         (less-css-output-directory): Tweak docstrings. Don't autoload.
20672         (less-css-output-file-name): Tweak docstring. Don't mark it as safe.
20673         (less-css-input-file-name): Tweak docstring. Don't autoload.
20674         (less-css-compile-maybe): Use `when' for one-armed `if'.
20675         (less-css--output-path): Tweak docstring.
20676         (less-css--maybe-shell-quote-command): Remove function.
20677         (less-css-compile): Don't autoload. Tweak docstring and message. Fix
20678         compiler warning. Use `string-join' instead of `mapconcat'.
20679         (less-css-font-lock-keywords): Use `font-lock-variable-name-face' for
20680         variables.
20681         (less-css-mode-syntax-table, less-css-mode-map): New variables.
20682         (less-css-mode): Change status line mode name from "LESS" to
20683         "Less". Tweak docstring. Move syntax table definitions to
20684         `less-css-mode-syntax-table'.
20685         (less-css-indent-line): Remove function.
20687 2017-08-15  Steve Purcell  <steve@sanityinc.com>
20689         New major mode: Less CSS mode
20691         * lisp/textmodes/less-css-mode.el: New file.
20693 2017-08-15  Tino Calancha  <tino.calancha@gmail.com>
20695         archive-int-to-mode: Fix order of testing S_ISUID, S_ISGID bits
20697         * lisp/arc-mode.el (archive-int-to-mode):
20698         Swap order of 2048 and 1024 tests (Bug#28092).
20699         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode):
20700         Update test.
20702 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
20704         Improve rename-file port to macOS
20706         * src/fileio.c (Frename_file): On macOS, renameat_noreplace can
20707         fail with errno == ENOTSUP on file systems where it is not
20708         supported, according to the Apple documentation.
20710 2017-08-15  Noam Postavsky  <npostavs@gmail.com>
20712         Speed up ./configure with more caching (Bug#27960)
20714         * configure.ac: Cache the 'GTK compiles', 'GSettings is in gio',
20715         'LN_S', '-znocombreloc', 'sysinfo', 'gcc autodepends', '-b link',
20716         'Xkb', 'Xpm preprocessor', 'tputs library' 'GLib', 'signals via
20717         characters', and 'Windows API header' checks.  Remove pause after
20718         warning about GTK bug.
20720 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
20722         Improve rename-file behavior on macOS
20724         Problem reported by Philipp Stephani (Bug#27986).
20725         * src/fileio.c (Frename_file):
20726         Worry about file name case sensitivity only if CYGWIN or DOS_NT.
20727         * src/sysdep.c (renameat_noreplace): Use renameatx_np on macOS,
20728         since this provides the necessary atomicity guarantees.
20730 2017-08-14  Glenn Morris  <rgm@gnu.org>
20732         Clean up temp files after some tests
20734         * test/lisp/emacs-lisp/bytecomp-tests.el
20735         (bytecomp-tests--with-temp-file): Also delete .elc file if present.
20736         * test/lisp/progmodes/etags-tests.el
20737         (etags-buffer-local-tags-table-list): Delete temp file at end.
20739 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
20741         Implement renameat_noreplace for MS-Windows
20743         * src/sysdep.c (renameat_noreplace) [WINDOWSNT]: Implement minimal
20744         emulation for MS-Windows.  (Bug#27986)
20746 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
20748         Fix 'rename' on MS-Windows
20750         * src/w32.c (sys_rename_replace): Use the FORCE argument only if
20751         the primitive rename errors out with EEXIST.
20753 2017-08-14  Michael Albinus  <michael.albinus@gmx.de>
20755         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Support ftp-ssl.
20757 2017-08-14  Mark Oteiza  <mvoteiza@udel.edu>
20759         Tiny JSON performance improvement
20761         Get rid of some needless uses of apply.  Measuring with
20762           (benchmark-run 10 (json-read-file "test.json"))
20763         showed 1.5-2.5% reduction of execution time.
20764         * lisp/json.el (json-peek): Nix let-binding.
20765         (json-read-string): Use concat for making a string from chars.
20766         (json-read-array): Use cond and more appropriate conversion instead
20767         of blindly applying.
20769 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
20771         Be consistent in spelling 'ok-if-already-exists'.
20773 2017-08-13  Alexander Gramiak  <agrambot@gmail.com>
20775         Use 'header-line-highlight' face in proced and erc
20777         * lisp/erc/erc-list.el (erc-list-button):
20778         * lisp/proced.el (proced-format): Use the 'header-line-highlight
20779         face.  (Bug#28033)
20781 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
20783         Remove feeds with dead uris from newsticker--raw-url-list-defaults
20785         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
20786           Remove feeds with dead uris.
20788 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
20790         Fix vertical cursor motion when cursor is on the fringe
20792         * lisp/simple.el (line-move-visual): Fix an off-by-one error in
20793         setting temporary-goal-column when newline overflows into the
20794         fringe.  Support that use case in R2L paragraphs as well.
20796 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
20798         Fix vertical cursor motion across too wide images
20800         * src/indent.c (Fvertical_motion): If lines are truncated and we
20801         end up beyond the right margin of the window, don't assume we are
20802         in the next screen line, unless VPOS actually says so.  (Bug#28071)
20804 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
20806         Add test suites for arc-mode and tar-mode
20808         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
20809         * test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
20810         New tests.
20812 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
20814         * lisp/tar-mode.el (tar-grind-file-mode): Fix docstring
20816 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
20818         Fix uri of Emacs Wiki
20820         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults): Fix
20821           uri of Emacs Wiki.  (Bug#27981)
20823 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
20825         Fix make-temp-file bug with ""/"."/".." prefix
20827         The bug with "." and ".." has been present for a while; I
20828         introduced the bug with "" earlier today in my patch for Bug#28023.
20829         * lisp/files.el (make-temp-file): Do not use expand-file-name if
20830         PREFIX is empty or "." or "..", as it does the wrong thing.
20831         Compute absolute-prefix here ...
20832         (files--make-magic-temp-file): ... instead of here ...
20833         * src/fileio.c (Fmake_temp_file_internal): ... or here.
20835         * lisp/files.el (make-temp-file): If the prefix is empty, append
20836         "/" to the absolute prefix so that the new files are children
20837         rather than siblings of temporary-file-directory.  This fixes a
20838         bug introduced in the previous change.
20839         * test/lisp/files-tests.el (files-test-make-temp-file-empty-prefix):
20840         New test, for the bug.
20842 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
20844         Improve make-temp-file performance on local files
20846         For the motivation behind this patch, please see Bug#28023 and:
20847         http://emacshorrors.com/posts/make-temp-name.html
20848         Although, given the recent changes to Tramp, the related security
20849         problem in make-temp-file is already fixed, make-temp-file still has
20850         several unnecessary system calls.  In the typical case on GNU/Linux,
20851         this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
20852         getpid, unlink, umask) by 2 (open, close).
20853         * admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
20854         that Emacs is using it directly.
20855         * configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
20856         no longer needed.
20857         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
20858         * lisp/files.el (files--make-magic-temp-file): Rename from
20859         make-temp-file.
20860         (make-temp-file): Use make-temp-file-internal for
20861         non-magic file names.
20862         * src/fileio.c: Include tempname.h.
20863         (make_temp_name_tbl, make_temp_name_count)
20864         (make_temp_name_count_initialized_p, make_temp_name): Remove.
20865         (Fmake_temp_file_internal): New function.
20866         (Fmake_temp_name): Use it.
20867         * src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
20868         instead of make_temp_name.
20870 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
20872         Document internal-use naming conventions
20874         * doc/lispref/functions.texi (Function Names):
20875         * doc/lispref/variables.texi (Tips for Defining):
20876         Document naming conventions for internal-use functions and vars.
20877         See Bug#28023#59.
20879 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
20881         Simplify re and document 'autoconf.sh all'
20883         * GNUmakefile (ALL_IF_GIT): Remove; no longer needed, now that
20884         ./autogen.sh defaults to "all".  All uses removed.
20885         * README: Mention autoconf.sh's effect on Git configuration.
20887 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
20889         Default autogen.sh to 'all'
20891         This addresses a problem noted by RMS in:
20892         https://lists.gnu.org/r/emacs-devel/2017-08/msg00052.html
20893         * autogen.sh (do_git): Set to true if this script is invoked
20894         with no arguments and there is a .git subdirectory.
20896 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
20898         Adjust jka-compr to recent Tramp changes.
20900         * lisp/jka-compr.el (jka-compr-write-region):
20901         Two new args LOCKNAME and MUSTBENEW.
20903 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
20905         Improve doc strings of 2 functions in simple.el
20907         * lisp/simple.el (beginning-of-visual-line)
20908         (move-beginning-of-line): Doc fix.  Reported by
20909         Justin Burkett <justin@burkett.cc>.
20911 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
20913         Fix completion on directory names on MS-DOS/MS-Windows
20915         * src/msdos.c (faccessat):
20916         * src/w32.c (faccessat): Support relative file names, and add D_OK
20917         to 'mode' if the argument is a directory.  This unbreaks file-name
20918         completion when the completion result is a directory.
20920 2017-08-12  Michael Albinus  <michael.albinus@gmx.de>
20922         Implement EXCL of write-region for Tramp
20924         * lisp/net/ange-ftp.el (ange-ftp-write-region):
20925         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region)
20926         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
20927         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region)
20928         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
20929         Implement MUSTBENEW.
20931         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
20932         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
20933         (tramp-sh-handle-add-name-to-file)
20934         (tramp-do-copy-or-rename-file)
20935         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
20936         Adapt error message for `file-already-exists'.
20938         * src/lisp.h:
20939         * src/eval.c (call8): New function.
20941         * src/fileio.c (write_region): Pass also lockname and
20942         mustbenew to the file name handler.
20944         * test/lisp/net/tramp-tests.el (tramp-test10-write-region):
20945         Add tests for MUSTBENEW.
20947 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
20949         Adapt Proced display to display-line-numbers
20951         * lisp/proced.el (proced-header-line): Account for the width taken
20952         by display-line-numbers.  (Bug#27895)
20954 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
20956         Adapt tabulated list when display-line-number is turned on
20958         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Add
20959         a hook to revert the display when display-line-numbers is turned
20960         on.  (Bug#27895)
20962 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
20964         Use Gnulib 'tempname' on MS-Windows
20966         * lib-src/ntlib.h (mkdir, open): Remove redefinitions.  They are
20967         now in nt/inc/ms-w32.h.
20968         * lib-src/ntlib.c (sys_mkdir, sys_open): New functions.
20969         (mkostemp): Remove.
20971         * src/w32.c (mkostemp): Remove.
20972         (sys_mkdir): Accept a second (unused) argument.
20973         * src/fileio.c (Fmake_directory_internal): Remove the WINDOWSNT
20974         specific call to mkdir.  (Bug#28023)
20976         * nt/inc/ms-w32.h (mkdir): Remove from "#ifdef emacs" and redefine
20977         to accept 2 arguments.
20978         (open): Remove from "#ifdef emacs".
20979         * nt/mingw-cfg.site (ac_cv_func_mkostemp): Remove.
20980         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_mkostemp)
20981         (OMIT_GNULIB_MODULE_tempname): Remove.
20983 2017-08-12  Alexander Gramiak  <agrambot@gmail.com>
20985         Add new face 'header-line-highlight'
20987         * lisp/faces.el: Define the face.
20988         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
20989         * lisp/info.el (Info-fontify-node): Use the new face.
20990         * doc/emacs/display.texi (Standard Faces):
20991         * etc/NEWS: Document the new face.  (Bug#28033)
20993 2017-08-12  Arash Esbati  <arash@gnu.org>
20995         Make a case-sensitive match for strings
20997         * lisp/textmodes/reftex.el (reftex-typekey-check): Temporarily
20998         let-bind `case-fold-search' to nil in order to be case-sensitive
20999         when matching a string.  (Bug#27518)
21001 2017-08-11  Stephen Berman  <steve@rosalinde.fritz.box>
21003         Fix a minor todo-mode regression
21005         * lisp/calendar/todo-mode.el (todo-get-overlay): Wrap in
21006         save-excursion.  This fixes a regression introduced by the fix
21007         for bug#27609, whereby trying to raise the priority of the
21008         first item or lower the priority of the last item, which
21009         should be noops, moves point to the item's start.  Clarify
21010         comment.
21012         * test/lisp/calendar/todo-mode-tests.el
21013         (todo-test-raise-lower-priority): Add test cases for trying to
21014         raise first item and lower last item.
21015         (with-todo-test): Clear abbreviated-home-dir, since we change HOME.
21016         (todo-test-toggle-item-header02): Remove ":expected-result
21017         :failed" and tests of point after todo-next-item, since the
21018         effect when using Todo mode is not reproducible in the test
21019         environment.  Add commentary about this.
21021 2017-08-11  Paul Eggert  <eggert@cs.ucla.edu>
21023         Improve performance for rename-file etc.
21025         Although this does not fix Bug#27986, it is a step forward.
21026         I plan to propose a more-significant patch later.
21027         * lisp/files.el (directory-name-p): Move from here ...
21028         * src/fileio.c (Fdirectory_name_p): ... to here.
21029         (directory_like, cp_like_target): New static functions.
21030         (Fcopy_file, Frename_file, Fadd_name_to_file)
21031         (Fmake_symbolic_link):
21032         Use them, to avoid directory-testing syscalls on file names that
21033         must be directories if they exist.  Omit unnecessary
21034         initializations and CHECK_STRING calls.
21035         (Frename_file): Don't call file_name_case_insensitive_p
21036         twice on the same file.  Compare both file names expanded, instead
21037         of the old name expanded and the new one unexpanded.
21039 2017-08-11  Noam Postavsky  <npostavs@gmail.com>
21041         Respect buffer-local value of tags-table-list (Bug#27772)
21043         * lisp/progmodes/etags.el (visit-tags-table-buffer): Save the current
21044         buffer around the `tags-table-including' calls so as to get buffer
21045         local variables from the right buffer later.
21046         * test/lisp/progmodes/etags-tests.el (etags-visit-tags-table-buffer):
21047         New test.
21048         * test/lisp/progmodes/etags-tests.el (etags-tests--test-dir): New
21049         constant.
21050         (etags-bug-158, etags-bug-23164): Use it so that when running the test
21051         interactively, setting EMACS_TEST_DIRECTORY is not needed.
21053 2017-08-10  Tom Tromey  <tom@tromey.com>
21055         Fix auto-filling regression
21057         Bug#28003
21058         * lisp/newcomment.el (comment-indent-new-line): Check
21059         comment-auto-fill-only-comments.  Reverts earlier change.
21060         * lisp/simple.el (internal-auto-fill): Call auto-fill-function, not
21061         do-auto-fill.
21063 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
21065         Merge from gnulib
21067         This incorporates:
21068         2017-08-09 tempname: do not depend on secure_getenv
21069         2017-08-08 extensions: add _OPENBSD_SOURCE
21070         2017-08-06 manywarnings: Add support for C++
21071         2017-08-06 warnings, manywarnings: Add support for multiple languages
21072         * admin/merge-gnulib: Don't use m4/manywarnings-c++.m4.
21073         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
21074         * lib/secure_getenv.c, m4/secure_getenv.m4: Remove.
21075         * lib/tempname.c, m4/extensions.m4, m4/manywarnings.m4, m4/warnings.m4:
21076         Copy from gnulib.
21078 2017-08-09  Eli Zaretskii  <eliz@gnu.org>
21080         Fix crashing emacs-module tests on MS-Windows
21082         * src/w32fns.c (syms_of_w32fns) <w32-disable-abort-dialog>: New
21083         variable.
21084         (emacs_abort): If w32-disable-abort-dialog is non-nil, abort right
21085         away, without displaying the Abort dialog, which waits for the user.
21087         * test/src/emacs-module-tests.el (module--test-assertion): Run the
21088         inferior Emacs with the w32 abort dialog disabled.  Expect the
21089         status of the aborted Emacs sub-process to be 3 on MS-Windows and
21090         2 on MS-DOS.
21092 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
21094         dired-delete-file:  Dont't ask for empty dirs
21096         * lisp/dired.el (dired--yes-no-all-quit-help): New defun.
21097         (dired-delete-file): Use it.  Dont't ask for empty dirs (Bug#27940).
21099         * test/lisp/dired-tests.el (dired-test-with-temp-dirs):
21100         New auxiliar macro.
21101         (dired-test-bug27940): Add new test.
21103 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
21105         Ask files for deletion in buffer order: top first, botton later
21107         * lisp/dired.el (dired-do-flagged-delete, dired-do-delete):
21108         Call `nreverse' t invert the output of `dired-map-over-marks'.
21110 2017-08-09  Alexander Gramiak  <agrambot@gmail.com>
21112         Use help-mode xrefs in describe-font
21114         * lisp/international/mule-diag.el (describe-font): Use help-setup-xref
21115         (Bug#27890).
21117 2017-08-09  Katsumi Yamaoka  <yamaoka@jpl.org>
21119         Don't try to jump to non-existent part (bug#28013)
21121         * lisp/gnus/gnus-art.el (gnus-article-edit-part): Don't try to jump to
21122         the next part if there is the only one part in the article (bug#28013).
21124 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
21126         Replace some uses of eval
21128         There are a number of places where eval is used unnecessarily to get
21129         or set the value of a symbol.
21130         * lisp/calendar/calendar.el (diary-date-forms): Use default-value in
21131         custom setter.
21132         * lisp/desktop.el (desktop-clear): Use set-default instead.
21133         * lisp/international/ogonek.el (ogonek-read-encoding): Use
21134         symbol-value.
21136 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
21138         Convert uses of looking-at in viper-ex to following-char
21140         * lisp/emulation/viper-ex.el (viper-get-ex-token): Bind
21141         (following-char) and use it in the subsequent cond's clauses.
21142         (viper-ex, ex-quit, viper-get-ex-file): Use following-char instead.
21143         Convert single branch ifs to when
21145 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
21147         Some cleanup in message.el
21149         * lisp/gnus/message.el (message-cross-post-insert-note):
21150         (message-strip-forbidden-properties): Mark unused args.
21151         (message-canlock-generate): Remove extinct variable
21152         sha1-maximum-internal-length.
21153         (message-make-mail-followup-to): Use loop's thereis clause.
21155 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
21157         Document make-temp-name magic limitations
21159         * doc/lispref/files.texi (Unique File Names):
21160         * src/fileio.c (Fmake_temp_name): Document that make-temp-name
21161         does not guarantee uniqueness on magic file names.
21163 2017-08-08  Tom Tromey  <tom@tromey.com>
21165         Show number of errors in compilation-mode mode-line
21167         Bug#25354
21168         * lisp/progmodes/compile.el (compilation-num-errors-found): Provide
21169         default value.
21170         (compilation-num-warnings-found, compilation-num-infos-found): New
21171         defvars.
21172         (compilation-mode-line-errors): New defconst.
21173         (compilation-face): Remove.
21174         (compilation-type, compilation--note-type): New functions.
21175         (compilation-parse-errors): Call compilation--note-type.
21176         (compilation-start): Include compilation-mode-line-errors in
21177         mode-line-process.
21178         (compilation-setup): Initialize compilation-num-* variables to 0.
21179         (compilation-handle-exit): Include compilation-mode-line-errors in
21180         mode-line-process.
21181         * doc/emacs/building.texi (Compilation): Document new feature.
21183 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
21185         Do some cleanup in mailcap.el
21187         * lisp/net/mailcap.el: Use lexical-binding.
21188         (mailcap--set-user-mime-data, mailcap-possible-viewers): Use pcase
21189         destructuring.
21190         (mailcap-mime-data): Remove some entries for ancient functions.
21191         (mailcap-parse-mailcaps, mailcap-mime-info): Nix single-branch ifs.
21192         (mailcap-parse-mimetype-file): Just use append.
21193         (mailcap-command-p): Remove unused function.
21195 2017-08-08  Tino Calancha  <tino.calancha@gmail.com>
21197         query-replace: Undo replacements performed with 'comma
21199         During a `query-replace', the char ',' replaces the character
21200         at point and doesn't move point;  right after, the char 'u'
21201         must undo such replacement (Bug#27268).
21202         * lisp/replace.el (replace--push-stack):
21203         New macro extracted from `perform-replace'.
21204         (perform-replace): Use it.
21205         * test/lisp/replace-tests.el (query-replace--undo): Add test.
21207 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
21209         Don't define gv expanders in compiler's runtime (Bug#27016)
21211         This prevents definitions being compiled from leaking into the current
21212         Emacs doing the compilation.
21213         * lisp/emacs-lisp/gv.el (gv-define-expander): Use function-put instead
21214         of `put' with `eval-and-compile'.
21215         * test/lisp/emacs-lisp/gv-tests.el: New tests.
21217 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
21219         Let the cl-typep effects of defclass work during compilation (Bug#27718)
21221         * lisp/emacs-lisp/eieio.el (defclass): Use `define-symbol-prop'
21222         instead of `put'.
21223         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
21224         (eieio-tests--dummy-function): Remove.
21225         (eieio-test-25-slot-tests, eieio-test-23-inheritance-check): Don't
21226         expect to fail if compiled.
21228 2017-08-08  Stefan Monnier  <monnier@IRO.UMontreal.CA>
21229             Noam Postavsky  <npostavs@gmail.com>
21231         Let `define-symbol-prop' take effect during compilation
21233         * src/fns.c (syms_of_fns): New variable `overriding-plist-environment'.
21234         (Fget): Consult it.
21235         * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): Let-bind
21236         it to nil.
21237         (byte-compile-define-symbol-prop): New function, handles compilation
21238         of top-level `define-symbol-prop' and `function-put' calls by putting
21239         the symbol setting into `overriding-plist-environment'.
21241 2017-08-08  Gemini Lasswell  <gazally@runbox.com>
21243         Add a test of handling of circular values to testcover-tests
21245         * test/lisp/emacs-lisp-testcover-resources/testcases.el
21246         (testcover-testcase-cyc1): New function.
21247         (testcover-tests-circular-lists-bug-24402): New test.
21249 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
21251         Don't error on circular values in testcover
21253         * lisp/emacs-lisp/testcover.el (testcover-after, testcover-1value):
21254         Consider circular lists to be non-equal instead of signaling error.
21256 2017-08-08  Alexander Gramiak  <agrambot@gmail.com>
21258         Catch argument and macroexpansion errors in ert
21260         This kludge catches errors caused by evaluating arguments in ert's
21261         should, should-not, and should-error macros; it also catches
21262         macroexpansion errors inside of the above macros (Bug#24402).
21264         * lisp/emacs-lisp/ert.el: (ert--should-signal-hook): New function.
21265         (ert--expand-should-1): Catch macroexpansion errors.
21266         * test/lisp/emacs-lisp/ert-tests.el (ert-test-should-error-argument)
21267         (ert-test-should-error-macroexpansion): Tests for argument and
21268         expansion errors.
21270 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
21272         Revert "Add Enchant support to ispell.el (Bug#17742)"
21274         This reverts commit 7136e6723d87b51ae3089f5ceef6b14621bfaf87.
21276 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
21278         Revert "Add support for arguments in ALTERNATE_EDITOR to emacsclient"
21280         This reverts commit 28f1fe97daa13e13714e6c43c9a6fbb0c0e99a26.
21282 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
21284         Add support for arguments in ALTERNATE_EDITOR to emacsclient
21286         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
21287         corresponding command-line argument, into space-separated tokens.
21288         * etc/NEWS: Document.
21289         * test/lib-src/emacsclient-tests.el: Add a test.
21291 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
21293         Add Enchant support to ispell.el (Bug#17742)
21295         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
21296         (ispell-really-enchant): Add variable.
21297         (ispell-check-version): If using Enchant, check it’s new enough (at
21298         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
21299         without.)
21300         (ispell-enchant-dictionary-alist): Add variable.
21301         (ispell-find-enchant-dictionaries): Add function, based on
21302         ispell-find-aspell-dictionaries.
21303         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
21304         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
21305         old ispell name to locale mapping code for Enchant too.
21306         (ispell-send-replacement): Make it work with Enchant.
21308 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
21310         Allow async command output buffer to be shown only on output
21312         * lisp/simple.el (async-shell-command-display-buffer): Add
21313         defcustom.
21314         (shell-command): Use the new defcustom to determine whether to show
21315         the buffer immediately, or add a process filter that shows it only
21316         when there is some output.
21317         * etc/NEWS: Document the new variable.
21318         * doc/emacs/misc.texi: Likewise.
21320         Thanks to Juri Linkov and Eli Zaretskii for advice and guidance.
21322 2017-08-07  Eli Zaretskii  <eliz@gnu.org>
21324         Fix infinite recursion under prettify-symbols-mode and linum-mode
21326         * src/xdisp.c (get_overlay_strings_1)
21327         (handle_single_display_spec, push_prefix_prop): Invalidate the
21328         composition information before starting to iterate on a string.
21329         Otherwise we might think in set_iterator_to_next that we are
21330         delivering characters from a composition, and do all kinds of
21331         nonsensical things, like over-step the string end.  (Bug#27761)
21333 2017-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
21335         * lisp/gnus/gnus-bcklg.el (gnus-backlog-request-article): Fix thinko.
21337 2017-08-07  Martin Rudalics  <rudalics@gmx.at>
21339         Fix doc-string of `delete-other-windows'
21341         * lisp/window.el (delete-other-windows): Fix doc-string.
21343 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
21345         Fix a couple more make-temp-file races
21347         * lisp/files.el (basic-save-buffer-2, move-file-to-trash):
21348         Use make-temp-name, not make-temp-file with retry.
21349         (basic-save-buffer-2): Use condition-case, instead of
21350         unwind-protect with a success flag.
21352 2017-08-07  Noam Postavsky  <npostavs@gmail.com>
21354         Merge null and without-null regexp alists (Bug#27840, Bug#27873)
21356         * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Allow for NUL
21357         characters following filename in grep context lines.
21358         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
21359         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): Remove.
21360         (grep-regexp-alist): Recombine their contents here.
21361         (grep-mode):
21362         * lisp/cedet/semantic/symref/grep.el
21363         (semantic-symref-parse-tool-output-one-line):
21364         * lisp/progmodes/xref.el (xref-collect-matches): Use the variable
21365         `grep-regexp-alist' rather than the function.
21367 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
21369         Fix some crashes on self-modifying Elisp code
21371         Prompted by a problem report by Alex in:
21372         https://lists.gnu.org/r/emacs-devel/2017-08/msg00143.html
21373         * src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
21374         Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
21375         it is likely to run a bit faster with typical hardware caches.
21376         (Fif): Use Fcdr instead of XCDR, to avoid crashing on
21377         self-modifying S-expressions.
21378         (Fsetq, Flet, eval_sub): Count the number of arguments as we go
21379         instead of trusting an Flength prepass, to avoid problems when the
21380         code is self-modifying.
21381         (Fquote, Ffunction, Fdefvar, Fdefconst): Prefer !NILP to CONSP
21382         where either will do.  This is mostly to document the fact that
21383         the value must be a proper list.  It's also a tiny bit faster on
21384         typical machines nowadays.
21385         (Fdefconst, FletX): Prefer XCAR+XCDR to Fcar+Fcdr when either will do.
21386         (eval_sub): Check that the args are a list as opposed to some
21387         other object that has a length. This prevents e.g. (if . "string")
21388         from making Emacs dump core in some cases.
21389         * test/src/eval-tests.el (eval-tests--if-dot-string)
21390         (eval-tests--let-with-circular-defs, eval-tests--mutating-cond):
21391         New tests.
21393 2017-08-06  Eli Zaretskii  <eliz@gnu.org>
21395         * etc/tutorials/TUTORIAL.he: Update to match recent changes to TUTORIAL.
21397 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
21399         Minor tweak in a dired test
21401         * test/lisp/dired-tests.el (dired-test-bug27968):
21402         Ensure the new header has different length than the original one.
21404 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
21406         dired-delete-file: Do not TAB complete the user answer
21408         This action might delete directories containing valuable information.
21409         Before previous commit, we prompted users with `yes-or-no-p'
21410         which doesn't TAB complete the user answer.  Let's play safe and
21411         keep requiring full answers.
21412         * lisp/dired.el (dired-delete-file): Use `read-string'
21413         instead of `completing-read' to read the user answers.
21415 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
21417         dired-do-delete: Allow to delete dirs recursively without prompts
21419         * lisp/dired.el (dired-delete-file): Accept 2 additional answers:
21420         'all', to delete all directories recursively and no prompt anymore.
21421         'quit', to cancel directory deletions (Bug#27940).
21422         Show help message when user inputs 'help'.
21423         (dired-do-flagged-delete): Bind locally dired-recursive-deletes
21424         so that we can overwrite its global value.
21425         Wrapp the loop within a catch '--delete-cancel to catch when
21426         the user abort the directtry deletion.
21427         * doc/emacs/dired.texi (Dired Deletion): Update manual.
21428         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.1):
21429         Announce this change.
21431 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
21433         Fix a couple of make-temp-file races
21435         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
21436         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
21437         Use make-temp-file, not make-temp-name, to avoid an unlikely race
21438         that could lose data.  Remove the deletion hook as quickly as
21439         possible after the file is renamed; though a race still remains
21440         here, it is smaller than before.
21442 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
21444         Dired w/ eshell-ls: Handle shell wildcards in file name
21446         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
21447         Use eshell-extended-glob (Bug#27844).
21448         * test/lisp/dired-tests.el (dired-test-bug27844): Add test.
21450 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
21452         dired-revert: save line numbers instead of positions
21454         Positions might change if the length of one dired header line
21455         changes; this happen, for instance, if we add new files.
21456         Instead, line numbers are invariant under shrinks/enlargements
21457         of the file header.
21458         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
21459         * lisp/dired.el (dired-save-positions): Save the line numbers at point.
21460         (dired-restore-positions): Use forward-line to restore the original
21461         position (Bug#27968).
21462         * test/lisp/dired-tests.el (dired-test-bug27968): Add test.
21464 2017-08-06  Tom Tromey  <tom@tromey.com>
21466         Respect comment-auto-fill-only-comments
21468         Respect comment-auto-fill-only-comments when auto-filling and a
21469         comment syntax is defined.
21471         * lisp/newcomment.el (comment-indent-new-line): Do not check
21472         comment-auto-fill-only-comments.
21473         * lisp/simple.el (internal-auto-fill): New defun.
21474         * src/cmds.c (internal_self_insert): Call Qinternal_auto_fill, not
21475         auto_fill_function.
21476         (syms_of_cmds): Define Qinternal_auto_fill.
21478 2017-08-05  Richard Stallman  <rms@gnu.org>
21480         * etc/tutorials/TUTORIAL: Update.
21482 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
21484         Unify CNS11643-15 in a way that avoids segfaults
21486         * lisp/international/mule-conf.el: Redo unification of
21487         cns11643-15.  (Bug#27964)
21488         (chinese-cns11643-15): Add the missing :unify-map attribute.
21490 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
21492         Avoid segfaults while producing Punct.el
21494         * lisp/international/mule-conf.el: Undo unification of
21495         cns11643-15, as that causes segfaults during bootstrap.
21496         (Bug#27964)
21498 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
21500         Make header line in some modes be sensitive to display-line-numbers
21502         * lisp/ruler-mode.el (ruler-mode-ruler, ruler-mode-window-col):
21503         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header)
21504         (tabulated-list-print-entry): Account for the width taken by
21505         line-number display.  (Bug#27895)
21507 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
21509         Fix a bug in 'generate-new-buffer-name'
21511         * src/buffer.c (Fgenerate_new_buffer_name): Test IGNORE for being
21512         nil before calling string-equal, since the latter will compare
21513         "nil and 'nil' as equal.  (Bug#27966)
21515         * test/src/buffer-tests.el
21516         (test-generate-new-buffer-name-bug27966): New test.
21518 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
21520         Unify CNS11643-15
21522         * lisp/international/mule-conf.el (chinese-cns11643-15): Add a
21523         unify-charset form for it.  (Bug#27964)
21525 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
21527         Improve test of error message when Emacs cannot be suspended
21529         * lisp/term/x-win.el (x-win-suspend-error):
21530         * lisp/term/ns-win.el (ns-suspend-error): Improve the error
21531         message.  (Bug#27901)
21533 2017-08-05  Alexander Gramiak  <agrambot@gmail.com>
21535         Make "C-h o" show faces as well as variables
21537         * lisp/faces.el (describe-face): Return (buffer-string).  Reorder
21538         the placement of variables/faces in describe-symbol, to put more
21539         emphasis on the variable entry rather than the face.  (Bug#24543)
21541 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
21543         Fix files-tests.el for MS-Windows
21545         * test/lisp/files-tests.el
21546         (files-tests--file-name-non-special--subprocess): Fix this test
21547         for MS-Windows.
21549 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
21551         Improve documentation of 'region-extract-function'
21553         * lisp/simple.el (region-extract-function): Rename the argument to
21554         METHOD.  Doc fix.  (Bug#27927)
21556 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
21558         Merge from gnulib
21560         This incorporates:
21561         2017-08-04 manywarnings: port to 64-bit GCC builds of Emacs
21562         2017-08-01 manywarnings: port to 32-bit GCC bug
21563         * lib/gnulib.mk.in: Regenerate.
21564         * m4/manywarnings.m4: Copy from gnulib.
21566 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
21568         Port recent rename changes to Ubuntu 14.04
21570         * src/sysdep.c (renameat_noreplace) [!RENAME_NOREPLACE]:
21571         Don’t use syscall.  Problem reported by Tino Calancha (Bug#27946#10).
21573 2017-08-05  Tino Calancha  <tino.calancha@gmail.com>
21575         insert-directory-wildcard-in-dir-p: Tweak regexp
21577         This function must return non-nil for a wildcard like '/*/*.txt'.
21578         * lisp/files.el (insert-directory-wildcard-in-dir-p): Adjust regexp.
21579         * test/lisp/files-tests.el (files-tests--insert-directory-wildcard-in-dir-p):
21580         Add test.
21582 2017-08-04  Toby S. Cubitt  <tsc25@cantab.net>
21584         Implement iterator generator for avl-trees.
21586         * lisp/emacs-lisp/avl-tree.el (avl-tree-iter): New iter-defun.
21588 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
21590         ls-lisp: Drop eshell dependencies
21592         Use 'file-expand-wildcards' instead of 'eshell-extended-glob' to
21593         expand the wildcards.
21594         Suggested by Fabrice Popineau in:
21595         https://lists.gnu.org/r/emacs-devel/2017-08/msg00108.html
21596         * lisp/ls-lisp.el (ls-lisp--dired): Use file-expand-wildcards.
21598 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
21600         Fix dired-test-bug27631 on MS-Windows
21602         Skip the test if Dired use 'ls' emulation with lisp.  The same
21603         bug is tested in their respective test suites: ls-lisp-tests.el
21604         and em-ls-tests.el.
21605         * test/lisp/dired-tests.el (dired-test-bug27631): Skip test if 'ls-lisp'
21606         or 'eshell' features are enabled.
21608 2017-08-04  Eli Zaretskii  <eliz@gnu.org>
21610         Fix dired-test-bug25609 on MS-Windows
21612         * test/lisp/dired-tests.el (dired-test-bug25609): On MS-Windows,
21613         pass temporary files through file-truename, to avoid bogus
21614         failures due to file-name comparison as strings.
21616 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
21618         Fix 2 tests that fail in MS-Windows
21620         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
21621         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
21622         Add comments to explain the test logic.
21623         Pass '--binary' option to 'patch' program in windows environments.
21624         Check explicitly that a backup is created before compare file contents.
21626         * test/lisp/dired-tests.el (dired-test-bug25609):
21627         Declare variable 'dired-dwim-target' right before the test.
21628         Add comments to explain the test logic.
21629         Ensure, before test the bug condition, that we are displaying the
21630         2 dired buffers created in this test, and no other dired buffer
21631         is shown.
21633 2017-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
21635         * lisp/shell.el (explicit-shell-file-name): Mention shell-file-name
21637         * lisp/files.el (insert-directory): Don't hardcode "-c".
21638         * lisp/term.el (term, ansi-term): Use shell-file-name.
21640 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
21642         Fix version numbers for some GnuTLS features
21644         Problem reported by Glenn Morris (Bug#27708#58).
21645         * src/gnutls.c (HAVE_GNUTLS_X509_SYSTEM_TRUST):
21646         New macro.  Use it instead of low-level version number checks.
21647         (HAVE_GNUTLS_AEAD): Move here from gnutls.h, and rename from
21648         HAVE_GNUTLS3_AEAD.  All uses changed.  Indent preprocessor lines.
21649         * src/gnutls.h (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST)
21650         (HAVE_GNUTLS3_HMAC): Remove, since these were available
21651         before GnuTLS 3.0.0 and the code checks them only if HAVE_GNUTLS3
21652         is defined.  Remove all uses; this simplifies the code a bit.
21654 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
21656         Port recent rename changes to RHEL 7 + NFS
21658         Problem reported by Ted Zlatanov in:
21659         https://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
21660         * src/fileio.c (Frename_file): On RHEL 7 + NFS, renameat2 can fail
21661         with errno == EINVAL when it is not supported.  So treat that case
21662         like errno == ENOSYS.  Also, when ok_if_already_exists is neither
21663         nil nor an integer, just call plain rename; this avoids an extra
21664         syscall to renameat2 when the latter fails with errno == EINVAL or
21665         ENOSYS or ENOENT.
21667 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
21669         Port GnuTLS usage to Ubuntu 16.04.2 LTS
21671         * src/gnutls.h (HAVE_GNUTLS3_AEAD): Define only if GnuTLS 3.5.1 or
21672         later, as opposed to the old 3.4.0 or later.
21674 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
21676         Simplify configuration of HAVE_GNUTLS3 etc.
21678         There's only one GnuTLS, so configuring these symbols at
21679         'configure' time is overkill.  Simplify things by moving their
21680         configuration to src/gnutls.h (Bug#27708).
21681         * configure.ac (HAVE_GNUTLS3, HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
21682         (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST): Move these definitions
21683         from here ...
21684         * src/gnutls.h: ... to here, and simplify.
21686 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
21688         Default to --with-mailutils if it is installed
21690         * configure.ac (with_mailutils): Default to 'yes' if GNU Mailutils
21691         is installed.  See:
21692         https://lists.gnu.org/r/emacs-devel/2017-08/msg00054.html
21694 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
21696         Clarify when autogen.sh should run only autoconf
21698         * Makefile.in (configure, bootstrap): Run ‘./autogen.sh autoconf’,
21699         not plain ‘./autogen.sh’, to make it clear that only
21700         autoconf-related tools should be run here.
21702 2017-08-02  Toon Claes  <toon@iotcl.com>
21704         .gitlab-ci.yml: Use stretch Debian image instead of unstable
21706 2017-08-02  Stephen Berman  <stephen.berman@gmx.net>
21708         Add debugging messages to a Dired test
21710         * test/lisp/dired-tests.el (dired-test-bug27243-01): Log
21711         positions saved and restored by dired-revert to try and find
21712         out why the test fails on Hydra.
21714 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
21716         ls-lisp: Autoload call instead of cookie
21718         * lisp/ls-lisp.el (eshell-extended-glob): autoload call instead of cookie.
21720 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
21722         When renaming a file, ask only if EEXIST or ENOSYS
21724         * src/fileio.c (Frename_file): Avoid calling Ffile_directory_p
21725         more than once on FILE.  Use renameat_noreplace, so that we can
21726         ask the user (and unlink and retry) only if this fails with errno
21727         == EEXIST or ENOSYS.  This avoids the need to ask the user for
21728         permission to do an operation that will fail anyway.  Simplify
21729         computation of ok_if_already_exists for subsidiary functions.
21730         * src/filelock.c (rename_lock_file): Prefer renameat_noreplace
21731         if it works, as this avoids the need to link and unlink.
21732         * src/lisp.h (renameat_noreplace): New decl.
21733         * src/sysdep.c [HAVE_LINUX_FS_H]: Include linux/fs.h and sys/syscall.h.
21734         (renameat_noreplace): New function.
21736 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
21738         When creating a link, ask only if EEXIST
21740         * src/fileio.c (Fadd_name_to_file, Fmake_symbolic_link):
21741         Ask the user (and unlink and retry) only if link creation fails
21742         with errno == EEXIST.  This avoids the need to ask the user for
21743         permission to do an operation that will fail anyway.
21745 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
21747         dired-align-file: Inherit text properties in inserted spaces
21749         * lisp/dired.el (dired-align-file): Inherit text
21750         properties in inserted spaces (Bug#27899).
21751         * test/lisp/dired-tests.el (dired-test-bug27899): Add test.
21753 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
21755         Don't assume /bin/sh as the 'sh' location in the local host
21757         * lisp/dired.el (dired-insert-directory): Use executable-find in
21758         a local host.
21760 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
21762         Move dired tests using ls emulation to different files
21764         Suggested in:
21765         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
21766         * test/lisp/dired-tests.el (dired-test-bug27693)
21767         (dired-test-bug27762, dired-test-bug27817)
21768         (dired-test-bug27631, dired-test-bug27843): Delete those
21769         parts requiring either ls-lisp or eshell-ls.
21771         * test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762)
21772         (ls-lisp-test-bug27631, ls-lisp-test-bug27693):
21773         Add all dired tests using ls-lisp here.
21775         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631)
21776         (em-ls-test-bug27817, em-ls-test-bug27843): New test file.  Add
21777         all dired tests using eshell-ls here.
21779 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
21781         * test/lisp/ls-lisp-tests.el: Rename it from ls-lisp.el
21783 2017-08-02  Katsumi Yamaoka  <yamaoka@jpl.org>
21785         * lisp/gnus/mm-uu.el (mm-uu-org-src-code-block-extract):
21786         Say the handle is already decoded.
21787         cf. <yw.87lgnh5cfv.fsf@alex.chromebook> in the info-gnus-english list.
21789 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
21791         Don’t worry about unlink if errno == ENOENT
21793         * src/fileio.c (Fdelete_file):
21794         * src/keyboard.c (Fopen_dribble_file): Do not report failure to
21795         remove a file if unlink fails with errno == ENOENT.  This can
21796         happen even if Emacs is the only program removing the file, in
21797         case an NFS cache overflows.  The file does not exist if errno ==
21798         ENOENT, so it is OK to proceed.
21800 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
21802         Fix misalignment in Dired when dired-directory is a cons
21804         * lisp/dired.el (dired--need-align-p, dired--align-all-files):
21805         New defuns.
21806         (dired-internal-noselect): Call dired--align-all-files when
21807         dired-directory is a cons (Bug#27762).
21808         * test/lisp/dired-tests.el (dired-test-bug27762): Test should pass.
21810 2017-08-01  Eli Zaretskii  <eliz@gnu.org>
21812         Fix some dired-tests.el on MS-Windows
21814         * test/lisp/dired-tests.el (dired-test-bug27243-01)
21815         (dired-test-bug27243-02): On MS-Windows, pass test-dir through
21816         file-truename, to avoid bogus failures due to file-name comparison
21817         as strings.
21819 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
21821         Insert subdir content if dir-or-list is a string w/o wildcards
21823         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
21824         Append '("-d") into 'eshell-ls-dired-initial-args'
21825         if 'dired-directory' is a cons or there are wildcars (Bug#27843).
21826         * test/lisp/dired-tests.el (dired-test-bug27843): Add test.
21828 2017-08-01  Stephen Berman  <stephen.berman@gmx.net>
21830         Update todo-mode defcustoms in a less hideous way
21832         * lisp/calendar/todo-mode.el (todo-reevaluate-filelist-defcustoms)
21833         (todo-reevaluate-default-file-defcustom)
21834         (todo-reevaluate-category-completions-files-defcustom)
21835         (todo-reevaluate-filter-files-defcustom): Delete these functions.
21836         (todo-update-filelist-defcustoms): New function.  This replaces
21837         todo-reevaluate-filelist-defcustoms, using the 'custom-type'
21838         property instead of re-evaluating the defcustoms.
21839         (todo-add-file, todo-rename-file, todo-delete-file)
21840         (todo-delete-category, todo-move-category)
21841         (todo-convert-legacy-files, todo-check-file): Replace call of
21842         todo-reevaluate-filelist-defcustoms by
21843         todo-update-filelist-defcustoms.
21844         (todo-show, todo-category-completions): Replace call of
21845         todo-reevaluate-* function by use of 'custom-type' property.
21847 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
21849         Add more should form calls in a failing dired test
21851         Some dired tests fail intermittently in hydra.  Add few
21852         more should form calls for debugging.
21853         See:
21854         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
21855         * test/lisp/dired-tests.el (dired-test-bug27243-01): Add few more should
21856         forms for debugging.
21858 2017-08-01  Michael Albinus  <michael.albinus@gmx.de>
21860         Follow SAUNA recommendations for display-line-numbers-type
21862         * lisp/display-line-numbers.el (display-line-numbers-type): Do not autoload.
21864         * lisp/menu-bar.el (display-line-numbers-type): Declare.
21866 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
21868         Avoid most stat calls when completing file names
21870         * admin/merge-gnulib (GNULIB_MODULES): Add d-type.
21871         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
21872         * m4/d-type.m4: New file, copied from gnulib.
21873         * src/dired.c (DT_UNKNOWN, DT_DIR, DT_LINK)
21874         [!HAVE_STRUCT_DIRENT_D_TYPE]: New constants.
21875         (dirent_type): New function.
21876         (file_name_completion): Use it, to avoid unnecessary calls to
21877         stat-like functions on GNU/Linux and other platforms with d_type.
21878         (file_name_completion_stat): Just follow the link; there is no
21879         need to try first with AT_SYMLINK_NOFOLLOW since the directory
21880         entry was already checked to exist.
21882 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
21884         dired-tests: Unload tested features after test them
21886         Some tests are for Dired with ls-lisp or eshell-ls.
21887         Requiring these features add an advice on `dired' and
21888         might affect other tests.
21889         Do not require these features at the top of the file; require
21890         then inside the tests and unload then at the end.
21891         * test/lisp/dired-tests.el (dired-test-bug27693)
21892         (dired-test-bug7131, dired-test-bug27817, dired-test-bug27631):
21893         require ls-lisp and/or eshell-ls inside the test; unload the
21894         features at the end.
21896 2017-07-31  Michael Albinus  <michael.albinus@gmx.de>
21898         Small adaptions for directory wildcards
21900         * lisp/dired.el (dired-insert-directory): Remove "--dired"
21901         when there are wildcards, and the directory is remote.
21903         * test/lisp/net/tramp-tests.el (tramp--test-make-temp-name):
21904         Adapt docstring.
21905         (tramp-test17-dired-with-wildcards): Skip for all methods but
21906         those from tamp-sh.p.
21908 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
21910         * lisp/dired.el (dired-trivial-filenames): Use \` and \' to match
21911         string bounds.
21913 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
21915         Merge from gnulib
21917         This incorporates:
21918         2017-07-30 Don't interpret EOVERFLOW to mean nonexistence
21919         * lib/tempname.c: Copy from gnulib.
21921 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
21923         ls-lisp: Do not require em-glob at top of the file
21925         Require em-glob inside 'ls-lisp--dired'.  This is necessary to
21926         not break the Emacs build.
21927         See following thread for details:
21928         https://lists.gnu.org/r/emacs-devel/2017-07/msg01083.html
21929         * lisp/ls-lisp.el (dired-goto-next-file)
21930         (dired-read-dir-and-switches, eshell-extended-glob):
21931         Add function declarations.
21932         * lisp/eshell/em-ls.el (dired-goto-next-file): Fix function declaration.
21934 2017-07-30  Michael Albinus  <michael.albinus@gmx.de>
21936         * lisp/dired.el (dired-insert-directory): Move `file-remote-p' check up.
21938         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): New test.
21940 2017-07-30  Simen Heggestøyl  <simenheg@gmail.com>
21942         Change default CSS property face
21944         * lisp/textmodes/css-mode.el (css-property): Inherit from
21945         `font-lock-keyword-face' instead of `font-lock-variable-name-face' to
21946         distinguish CSS properties from variables.
21948 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
21950         Dired: Handle posix wildcards in directory part
21952         Allow Dired to handle calls like
21953         \(dired \"~/foo/*/*.el\"), that is, with wildcards within
21954         the directory part of the file argument (Bug#27631).
21955         * lisp/files.el (insert-directory-wildcard-in-dir-p): New predicate.
21956         (insert-directory-clean): New defun extracted from insert-directory.
21957         (insert-directory)
21958         * lisp/dired.el (dired-internal-noselect)
21959         (dired-insert-directory): Use the new predicate; when it's true,
21960         handle the directory wildcards with a shell call.
21961         * lisp/eshell/em-ls.el (eshell-ls-use-in-dired): Add/remove both advices.
21962         (eshell-ls-unload-hook): New defun.  Use it in
21963         eshell-ls-unload-hook instead of an anonymous function.
21964         (eshell-ls--dired)
21965         * lisp/ls-lisp.el (ls-lisp--dired):
21966         Advice dired to handle wildcards in the directory part with both
21967         eshell-ls and ls-lisp.
21968         * etc/NEWS: Announce it.
21969         * doc/emacs/dired.texi (Dired Enter): Update manual.
21970         * test/lisp/dired-tests.el (dired-test-bug27631): Add test.
21972 2017-07-29  Tino Calancha  <tino.calancha@gmail.com>
21974         * lisp/find-lisp.el: Enable lexical binding
21976         * lisp/find-dired.el: Enable lexical binding
21978 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
21980         * lisp/kmacro.el: Use lexical binding.
21982 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
21984         Use lexical-binding in dired-aux.el
21986         * lisp/dired.el: Use lexical binding.
21987         (dired-do-shell-command): Remove unused bindings.
21989 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
21991         * lisp/ido.el: Use lexical binding.
21993         * lisp/whitespace.el: Use lexical binding.
21995 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
21997         artist.el: Avoid error with keyboard command invocation
21999         * lisp/textmodes/artist.el (artist-mouse-choose-operation):
22000         Call x-popup-menu with t instead of last-nonmenu-event as the
22001         value of the position argument; this allows invoking the
22002         command from the keyboard without raising an error (bug#27819).
22004 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
22006         Preserve point under 'dired-auto-revert-buffer' (third case)
22008         * lisp/files.el (find-file): Use pop-to-buffer-same-window
22009         instead of switch-to-buffer.  This preserves Dired window
22010         point when dired-auto-revert-buffer is non-nil.  (Bug#27243)
22012         * test/lisp/dired-tests.el (dired-test-bug27243-01)
22013         (dired-test-bug27243-02, dired-test-bug27243-03): New tests.
22014         The first two replace a previous test that combined them; that
22015         test intermittently fails in the Hydra build system, so maybe
22016         separating the two cases will help locate the point of
22017         failure.  The third test involves find-file but is here
22018         because it, like the others, is testing the effect of
22019         dired-auto-revert-buffer.
22021 2017-07-29  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
22023         Do not unset user key remaps in dired-x
22025         * lisp/dired-x.el (dired-x-bind-find-file): Don't map any keys if user
22026         sets dired-x-hands-off-my-keys.  (Bug#27828)
22028 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
22030         Improve documentation of 'occur'
22032         * doc/emacs/search.texi (Other Repeating Search):
22033         * lisp/replace.el (occur): Make the documentation of 'occur' be
22034         more accurate when matches overlap.  (Bug#27818)
22036 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
22038         Minor copyedits of comments in faces.el
22040         * lisp/faces.el (face-font-family-alternatives): More info about
22041         requirements from "Monospace Serif".
22043 2017-07-29  Paul Eggert  <eggert@cs.ucla.edu>
22045         Do not worry about paxctl on newer NetBSD
22047         Problem reported privately by Thomas Klausner.
22048         * configure.ac (emacs_uname_r): New var.  Use it to avoid paxctl
22049         on newer NetBSD platforms, where it is not needed.  Also use it to
22050         simplify Cygwin diagnostic.
22052 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
22054         Clarify documentation of ':inherit' face attribute
22056         * doc/lispref/display.texi (Face Attributes): Document the special
22057         treatment of 'unspecified' in the ':inherit' attribute.
22059 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
22061         * lisp/password-cache.el (password-data): Use a hash-table
22063         * lisp/auth-source.el (auth-source-magic): Remove.
22064         (auth-source-forget+, auth-source-forget-all-cached): Adjust to new
22065         format of password-data.
22066         (auth-source-format-cache-entry): Just use a cons.
22068         (password-cache-remove, password-cache-add, password-reset)
22069         (password-read-from-cache, password-in-cache-p): Adjust accordingly.
22071         (Bug#26699)
22073 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
22075         * lisp/subr.el (define-symbol-prop): New function
22077         (symbol-file): Make it find symbol property definitions.
22079         * lisp/emacs-lisp/pcase.el (pcase-defmacro):
22080         * lisp/emacs-lisp/ert.el (ert-set-test): Use it instead of `put'.
22081         (ert-describe-test): Adjust call to symbol-file accordingly.
22083 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
22085         * lisp/subr.el (method-files): Move function to cl-generic.el
22087         * lisp/emacs-lisp/cl-generic.el (cl-generic-p): New function.
22088         (cl--generic-method-files): New function, moved from subr.el.
22089         * lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use them.
22090         * test/lisp/emacs-lisp/cl-generic-tests.el:
22091         * test/lisp/subr-tests.el: Move and adjust method-files tests accordingly.
22093 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
22095         Preserve this-command-keys across recursive-edit invocations
22097         * src/minibuf.c (read_minibuf, read_minibuf_unwind): Save and
22098         restore this-command-keys, to preserve it across recursive-edit.
22099         (Bug#27470)
22101 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
22103         Improve doc string of 'locate-dominating-file'
22105         * lisp/files.el (locate-dominating-file): Doc fix.  (Bug#27798)
22107 2017-07-28  Drew Adams  <drew.adams@oracle.com>
22109         New commands 'apropos-local-variable', 'apropos-local-value'
22111         * lisp/apropos.el (apropos-local-variable, apropos-local-value):
22112         New functions.  (Bug#27424)
22114         * doc/emacs/help.texi (Apropos): Document 'apropos-local-variable'
22115         and 'apropos-local-value'.
22116         * etc/NEWS: Mention the new commands.
22118 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
22120         * lisp/loadhist.el (unload-feature): Remove ad-hoc ELP code
22122         * lisp/emacs-lisp/elp.el (loadhist-unload-element): Un-instrument functions.
22124 2017-07-27  Alan Mackenzie  <acm@muc.de>
22126         Fix C++ class initializers not always being fontified at mode start.
22128         The problem here happened when an "outer list" of declarations moved beyond an
22129         "inner list" containing class initializers.  These weren't being checked for
22130         by the code.
22132         Also, fix places in c-get-fontification-context where point is undefined.
22134         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): when argument
22135         not-front-decl is set, test for class initializers.  Also, anchor point in
22136         places where it is moved and is otherwise undefined.
22138 2017-07-27  Alan Mackenzie  <acm@muc.de>
22140         Fix variables in C++ "for" statement not always being fontified.
22142         The error happened when there was a comma inside template delimiters.
22144         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): In "for"
22145         statements, recognize template delimiters containing "," and "&".
22147 2017-07-27  Michael Albinus  <michael.albinus@gmx.de>
22149         Add watchdog process to tramp-test36-asynchronous-requests
22151         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
22152         New defun.
22153         (tramp-test36-asynchronous-requests): Use a watchdog process,
22154         listening for SIGUSR1.
22156 2017-07-27  Alan Mackenzie  <acm@muc.de>
22158         CC Mode: Fix declarator being cut off from terminator by end of jit-lock chunk
22160         If a declarator is so cut off, extend the fontification chunk to include it.
22162         * lisp/progmodes/cc-mode.el (c-fl-decl-end): New function.
22163         (c-change-expand-fl-region, c-context-expand-fl-region): Use the new function.
22165 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
22167         * lisp/vc/smerge-mode.el: Avoid N² blow up in degenerate cases
22169         (smerge--refine-long-words): New var.
22170         (smerge--refine-chopup-region): Use it.
22172 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
22174         * lisp/url/url-cookie.el: Use lexical-binding
22176         (url-cookie-host-can-set-p): Remove unused var `last'.
22177         Use string-suffix-p.
22178         (url-cookie-list): De morgan.
22179         (url-cookie-quit): Remove.
22180         (url-cookie-mode): Inherit from special-mode.
22181         (url-cookie-mode-map): Simplify accordingly.
22183 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
22185         * lisp/calendar/todo-mode.el (todo-print-buffer-function): Rework docstring.
22187         * lisp/ruler-mode.el (ruler-mode-ruler): Document problem.
22189 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
22191         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
22193         Record this as the function's definition site if it's the first def.
22195 2017-07-26  Glenn Morris  <rgm@gnu.org>
22197         * doc/lispref/loading.texi (When to Autoload): New section.
22199 2017-07-26  Glenn Morris  <rgm@gnu.org>
22201         Stop using unibyte buffers for ert backtraces
22203         * lisp/emacs-lisp/ert.el
22204         (ert-results-pop-to-backtrace-for-test-at-point):
22205         Set multibyte true, not false.  This copies a
22206         debugger-setup-buffer change from 2009-08-30, and stops the
22207         "Backtrace for" header line containing ^X and ^Y.
22209 2017-07-26  Dmitry Gutov  <dgutov@yandex.ru>
22211         Fix semantic-symref-parse-tool-output-one-line after 644cdd1aa0
22213         * lisp/cedet/semantic/symref/grep.el
22214         (semantic-symref-grep--line-re): Delete.
22215         (semantic-symref-parse-tool-output-one-line):
22216         Use regexp and group numbers from (grep-regexp-alist).
22218 2017-07-26  Grégoire Jadi  <daimrod@omecha.info>
22220         Fix cl-defmethod indentation
22222         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
22223         Declare (indent defun).  Fixes bug#23994.
22225 2017-07-26  Martin Rudalics  <rudalics@gmx.at>
22227         Fix two customization types in frame.el
22229         * lisp/frame.el (window-divider-default-bottom-width)
22230         (window-divider-default-right-width): Fix customization types.
22232 2017-07-26  Tino Calancha  <tino.calancha@gmail.com>
22234         Dired: Support eshell-ls from the beginning if the user wants to
22236         * lisp/dired.el (dired-insert-directory): Check for eshell-ls
22237         as well (Bug#27817).
22238         * test/lisp/dired-tests.el (dired-test-bug27817): Add test.
22240 2017-07-26  Mark Oteiza  <mvoteiza@udel.edu>
22242         * lisp/progmodes/sh-script.el (sh-mode): Recognize mkshrc.
22244 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
22246         * lisp/emacs-lisp/eieio-compat.el (eieio--defgeneric-init-form):
22248         Adjust to change in cl-generic-ensure-function.
22250 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
22252         ls-lisp: Add an unload function and enable lexical binding
22254         Enable lexical binding.
22255         * lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
22256         * test/lisp/ls-lisp-tests.el (ls-lisp-unload): Add test.
22258 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
22260         register-read-with-preview: Quit if user input C-g or ESC
22262         * lisp/register.el (register-read-with-preview):
22263         Quit if user input C-g or ESC (bug#27634).
22264         * doc/emacs/regs.texi (Registers): Update manual.
22265         * test/lisp/register-tests.el (register-test-bug27634): Add test.
22267 2017-07-25  Mark Oteiza  <mvoteiza@udel.edu>
22269         Recognize MirBSD Korn shell rc file
22271         * lisp/files.el (auto-mode-alist): Add .mkshrc to the list.
22273 2017-07-25  Glenn Morris  <rgm@gnu.org>
22275         * configure.ac: Be explicit about ImageMagick version in summary.
22277 2017-07-25  Andreas Schwab  <schwab@linux-m68k.org>
22279         Properly align global lispsym
22281         * lib-src/make-docfile.c (close_emacs_globals): Wrap struct
22282         Lisp_Symbols inside struct.
22283         * src/alloc.c (sweep_symbols): Update use of lispsym.
22284         * src/lisp.h (builtin_lisp_symbol): Likewise.
22286 2017-07-25  Paul Eggert  <eggert@cs.ucla.edu>
22288         Do not use ImageMagick 7 and later
22290         Suggested by Glenn Morris (Bug#25967#15).
22291         * configure.ac (IMAGEMAGICK_MODULE): Reject 7 and later.
22293 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
22295         * lisp/progmodes/perl-mode.el: Add support for indented here docs
22297         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
22298         Recognize the new <<~ syntax for indented here docs.
22299         (perl-syntax-propertize-special-constructs): Adjust search of the
22300         end of here docs accordingly.
22302         * test/manual/indent/perl.perl: Add test for indented here docs.
22304 2017-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>
22306         (loadhist-unload-element): Move ERT and cl-generic methods
22308         * lisp/loadhist.el (loadhist-unload-element): Don't define cl-generic
22309         and ert methods here.
22310         (loadhist-unload-element) <(head define-type)>: Remove unused var `slots'.
22312         * lisp/emacs-lisp/cl-generic.el (loadhist-unload-element): Define
22313         unload method for cl-defmethod.
22314         (cl-generic-ensure-function): Remove redundant `defalias'.
22316         * lisp/emacs-lisp/ert.el (ert-set-test): Move the current-load-list
22317         setting here...
22318         (ert-deftest): ...from here.
22319         (loadhist-unload-element): Define unload method for ert-deftest.
22321 2017-07-24  Michael Albinus  <michael.albinus@gmx.de>
22323         Fix Bug#27371
22325         * lisp/loadhist.el (loadhist-unload-element): Declare for
22326         different entry types of `load-history'.
22327         (loadhist--restore-autoload): New variable.
22328         (loadhist--unload-function): New defun.
22329         (unload-feature): Use `loadhist-unload-element'.  Recommended by
22330         Stefan Monnier.  (Bug#27371)
22332         * test/lisp/net/tramp-tests.el (tramp-test39-unload):
22333         Check, that the `tramp-file-name' structure has been unloaded.
22335 2017-07-24  Grégoire Jadi  <gjadi@omecha.info>
22337         Ensure that we parse images right in shr.el
22339         * lisp/net/shr.el (shr-image-fetched): Go back to the
22340         beginning of the buffer before trying to parse the image
22341         fetched.
22343 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
22345         Update .gitignore for Valgrind and no Automake
22347         * .gitignore: Remove .deps/ since we no longer use Automake.
22348         Add vgcore.*[0-9], for debugging Emacs with Valgrind+GDB.
22350 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
22352         Merge from gnulib
22354         This incorporates:
22355         2017-07-23 Rename module 'strftime' to 'nstrftime'
22356         * admin/merge-gnulib (GNULIB_MODULES): Add nstrftime, remove strftime.
22357         * build-aux/config.guess: Copy from gnulib.
22358         * lib/nstrftime.c: Rename from lib/strftime.c.
22359         * m4/nstrftime.m4: Rename from m4/strftime.m4.
22360         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
22362 2017-07-23  Philipp Stephani  <phst@google.com>
22364         Add 'rx' pattern for pcase.
22366         * lisp/emacs-lisp/rx.el (rx): New pcase macro.
22367         * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add unit test.
22369 2017-07-23  Mark Oteiza  <mvoteiza@udel.edu>
22371         Use a named function for global minor mode turn-on argument
22373         * lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
22374         New function.
22375         (global-display-line-numbers-mode): Use it.
22377 2017-07-23  Charles A. Roelli  <charles@aurox.ch>
22379         Enable GUI Emacs without 'make install' on macOS (Bug #27645)
22381         * nextstep/INSTALL: Correct it, and mention that Emacs can be run
22382         from 'src/emacs'.
22384         * src/nsterm.m (applicationDidFinishLaunching:): When Emacs is
22385         launched outside of a macOS application bundle, change its
22386         activation policy from the default 'prohibited' to 'regular'.
22388 2017-07-23  Alan Mackenzie  <acm@muc.de>
22390         Convert CC Mode's c-found-types from an obarray to a hash table.
22392         * lisp/progmodes/cc-engine.el (c-clear-found-types): create a hash table
22393         rather than an obarray.
22394         (c-copy-found-types): Remove.
22395         (c-add-type, c-unfind-type, c-check-type, c-list-found-types): Amend to use
22396         the new hash table.
22397         (c-forward-<>-arglist): Use copy-hash-table rather than c-copy-found-types.
22399 2017-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
22401         Fix image/svg+xml display in shr
22403         * lisp/net/shr.el (shr-put-image): Display svg images as svg
22404         (bug#27799).  I suspect the previous change was checked in by
22405         accident in conjuction with some other svg changes.
22407 2017-07-23  Michael Albinus  <michael.albinus@gmx.de>
22409         * lisp/display-line-numbers.el (display-line-numbers-type): Autoload it.
22411 2017-07-23  Glenn Morris  <rgm@gnu.org>
22413         Don't automatically enable Gconf if Gsettings was found
22415         * configure.ac (HAVE_GCONF) [HAVE_GSETTINGS]:
22416         Don't test for Gconf unless specifically requested.
22417         Gconf was deprecated in favor of Gsettings several years ago.
22419 2017-07-23  Glenn Morris  <rgm@gnu.org>
22421         * configure.ac (MODULES_SUFFIX): Always give it a value.
22423         This prevents a Makefile thinko like "rm *${MODULE_SUFFIX}".
22425 2017-07-23  Glenn Morris  <rgm@gnu.org>
22427         * doc/emacs/frames.texi (Fonts): Mention Gsettings.
22429 2017-07-22  Michael Albinus  <michael.albinus@gmx.de>
22431         Add line numbers display to the Options menu
22433         * lisp/menu-bar.el (toggle-display-line-numbers): Remove.
22434         (menu-bar-display-line-numbers-mode): New defun.
22435         (menu-bar-showhide-line-numbers-menu): New defvar.
22436         (menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'
22438 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
22440         Signal error for symbol names with strange quotes (Bug#2967)
22442         * src/lread.c (read1): Signal an error when a symbol starts with a
22443         non-escaped quote-like character.
22444         * test/src/lread-tests.el (lread-tests--funny-quote-symbols): New
22445         test.
22446         * etc/NEWS: Announce change.
22448 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
22450         Revert "Let delete-selection-mode work with popup-menu commands (Bug#27569)"
22452         It turns out that this change is not needed, and it leaves several
22453         command loops settings not done.
22455         https://lists.gnu.org/r/emacs-devel/2017-07/msg00757.html
22456         https://lists.gnu.org/r/emacs-devel/2017-07/msg00840.html
22458 2017-07-22  Alexander Gramiak  <agrambot@gmail.com>
22460         Add a minor mode interface for display-line-numbers
22462         * lisp/cus-start.el: Use the new display-line-numbers group.
22463         * lisp/display-line-numbers.el: New file.
22465         * doc/emacs/custom.texi (Init Rebinding): Re-add entry that used to
22466         belong to linum-mode.
22467         * doc/emacs/modes.texi (Minor Modes): Summarize the mode.
22468         * etc/NEWS: Document display-line-numbers-mode and its customization
22469         variables, and mention that display-line-numbers-width is
22470         buffer-local.
22472         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-width>: Fix a
22473         typo.
22475 2017-07-22  vividsnow  <vividsnow@gmail.com>  (tiny change)
22477         Support indented HERE-DOCs in cperl-mode
22479         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Support
22480         indented here-docs.  (Bug#27254) (Bug#27697)
22482 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
22484         Document the support for "scrollBar" X resource
22486         * doc/emacs/xresources.texi (Table of Resources): Document the new
22487         'scrollBar' setting.
22488         * etc/NEWS: Document the new 'scrollBar' setting.
22490 2017-07-22  Matthew Bauer  <mjbauer95@gmail.com>  (tiny change)
22492         Add 'scroll-bar-mode' to settings in 'x-apply-session-resources'
22494         * lisp/startup.el (x-apply-session-resources): Add scroll-bar-mode
22495         settings.
22497 2017-07-22  Alexander Kuleshov  <kuleshovmail@gmail.com>
22499         Update ld-script mode (bug#27629)
22501         * lisp/progmodes/ld-script.el: (ld-script-keywords): New commands
22502         NOCROSSREFS_TO and HIDDEN added.  Fix documentation sections
22503         numbers for PROVIDE/PROVIDE_HIDDEN commands.
22504         (ld-script-builtins): New builtin function LOG2CEIL added.
22506 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
22508         Index 'rectangle' in the ELisp manual
22510         * doc/lispref/text.texi (Registers): Index the "rectangle" value.
22511         (Bug#27541)
22513 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
22515         * lisp/subr.el (add-to-history): Doc fix.  (Bug#27494)
22517 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
22519         Doc fixes for kmacro.el functions
22521         * lisp/kmacro.el (kmacro-start-macro, kmacro-call-macro)
22522         (kmacro-end-and-call-macro): Don't use "permanent name", as that
22523         could be misinterpreted.  (Bug#27492)
22525 2017-07-22  Charles A. Roelli  <charles@aurox.ch>
22527         ElDoc: add docstrings and minor refactoring
22529         * lisp/emacs-lisp/eldoc.el (eldoc-edit-message-commands): Add
22530         docstring.
22531         (turn-on-eldoc-mode): Fix capitalization.
22532         (eldoc--supported-p): Add docstring.
22533         (eldoc-schedule-timer): Add docstring and use
22534         'eldoc--supported-p'.
22535         (eldoc-message): Add docstring and make calling convention
22536         clearer.
22537         (eldoc--message-command-p):
22538         (eldoc-pre-command-refresh-echo-area):
22539         (eldoc-display-message-p):
22540         (eldoc-display-message-no-interference-p):
22541         (eldoc-print-current-symbol-info):
22542         (eldoc-docstring-format-sym-doc):
22543         (eldoc-add-command, eldoc-add-command-completions):
22544         (eldoc-remove-command, eldoc-remove-command-completions):
22545         Add docstring.  (Bug#27230)
22547 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
22549         Mention 'C-M-i' as key binding for 'ispell-complete-word'
22551         * doc/emacs/fixit.texi (Spelling): ispell-complete-word
22552         can also be invoked by C-M-i.  (Bug#27349)
22554 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
22556         Fix the eww-search-words description in the Emacs manual
22558         * doc/emacs/search.texi (Word Search):
22559         Include the key binding for eww-search-words in the manual.
22560         Fix the spelling of the 'eww-search-words' command.
22562 2017-07-22  Andrew L. Moore  <slewsys@gmail.com>
22564         Introduce defcustom 'executable-prefix-env'
22566         * lisp/progmodes/executable.el (executable-prefix): Update the doc
22567         string.
22568         (executable-prefix-env): New defcustom.
22569         (executable-set-magic): Use executable-prefix-env.
22571         * etc/NEWS: Document the new variable.
22573 2017-07-22  Glenn Morris  <rgm@gnu.org>
22575         * test/lisp/ibuffer-tests.el: Delete temporary files.
22577 2017-07-21  Glenn Morris  <rgm@gnu.org>
22579         Further attempt to avoid hang in network-stream-tests
22581         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv6-nowait):
22582         Limit the time we wait for the external process.
22584 2017-07-21  Glenn Morris  <rgm@gnu.org>
22586         Stop skipping many ibuffer tests by default
22588         * test/lisp/ibuffer-tests.el (ibuffer-0autoload):
22589         Rename so it sorts first.
22590         (ibuffer-save-filters, ibuffer-filter-inclusion-1)
22591         (ibuffer-filter-inclusion-2, ibuffer-filter-inclusion-3)
22592         (ibuffer-filter-inclusion-4, ibuffer-filter-inclusion-5)
22593         (ibuffer-filter-inclusion-6, ibuffer-filter-inclusion-7)
22594         (ibuffer-filter-inclusion-8, ibuffer-decompose-filter)
22595         (ibuffer-and-filter, ibuffer-or-filter, ibuffer-format-qualifier)
22596         (ibuffer-unary-operand): Require ibuf-ext so tests not skipped.
22598 2017-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
22600         Use lexical-binding in todo-mode.el
22602         Adjust code accordingly and make various minor improvements.
22604         * lisp/calendar/todo-mode.el: Enable lexical-binding.
22605         (dayname, monthname, day, month, year): Make forward defvars
22606         of these keywords from macros defined in calendar.el; wrap
22607         them in with-no-warnings.
22608         (todo-files, todo-files-function, todo-date-pattern)
22609         (todo-mode-line-function, todo-show, todo-forward-category)
22610         (todo-edit-item--header, todo-set-category-number)
22611         (todo-adjusted-category-label-length)
22612         (todo-total-item-counts, todo-filter-items)
22613         (todo-print-buffer-function, todo-convert-legacy-date-time)
22614         (todo-category-number, todo-category-completions)
22615         (todo-read-file-name, todo-read-category)
22616         (todo-validate-name, todo-read-date)
22617         (todo-set-show-current-file, todo-modes-set-1)
22618         (todo-modes-set-2, todo-modes-set-3, todo-mode):
22619         Use #' instead of ' to quote functions.
22620         (todo-files): Use \' instead of $ in regexp.
22621         (todo--files-type-list): New function.
22622         (todo-default-todo-file, todo-category-completions-files)
22623         (todo-filter-files, todo-multiple-filter-files)
22624         (todo-reevaluate-default-file-defcustom)
22625         (todo-reevaluate-category-completions-files-defcustom)
22626         (todo-reevaluate-filter-files-defcustom): Use it.
22627         (todo-show, todo-rename-file, todo-move-category)
22628         (todo-edit-item--text, todo-edit-quit, todo-edit-item--header)
22629         (todo-item-undone, todo-unarchive-items, todo-search)
22630         (todo-filter-items, todo-filter-items-1, todo-find-item)
22631         (todo-category-select, todo-read-date)
22632         (todo-nondiary-marker-matcher, todo-date-string-matcher)
22633         (todo-diary-expired-matcher, todo-convert-legacy-files)
22634         (todo-read-category): Reformat to avoid code hiding behind a
22635         more deeply embedded element.
22636         (todo-forward-category, todo-set-category-number):
22637         Use 'funcall' instead of 'apply'.
22638         (todo-toggle-mark-item, todo-edit-item--diary-inclusion)
22639         (todo-edit-category-diary-inclusion)
22640         (todo-insert-sort-button, todo-insert-category-line)
22641         (todo-multiple-filter-files): Mark unused local variables.
22642         (todo-edit-item--header, todo-move-item, todo-print-buffer)
22643         (todo-edit-item--header, todo-move-item, todo-check-file)
22644         (todo-edit-item--next-key): Remove unused local variables.
22645         (todo-insert-sort-button, todo-insert-category-line):
22646         Use a closure instead of a backquoted lambda.
22647         (todo-update-categories-display, todo-print-buffer): Simplify code.
22648         (todo-print-buffer-function): Document calling convention.
22649         (todo-category-completions): Use cl-pushnew instead of add-to-list.
22650         (todo-mode-map, todo-archive-mode-map)
22651         (todo-categories-mode-map, todo-filtered-items-mode-map):
22652         Remove superfluous call of suppress-keymap, since it's already
22653         in the parent special-mode-map.
22655 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
22657         dired: Revert buffer when DIRNAME is a cons
22659         * lisp/dired.el (dired-internal-noselect): Revert buffer if DIR-OR-LIST
22660         is a cons, or dired-directory is a cons and DIR-OR-LIST a string (Bug#7131).
22661         Update the comments.
22662         * test/lisp/dired-tests.el (dired-test-bug7131): Test should pass.
22664 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
22666         Handle when dired-directory is a cons in some Dired functions
22668         * lisp/dired-aux.el (dired-rename-subdir-1)
22669         * lisp/dired-x.el (dired-mark-omitted):
22670         Handle when dired-directory is a cons.
22672 2017-07-21  Noam Postavsky  <npostavs@gmail.com>
22674         Make eshell-next-prompt more reliable (Bug#27405)
22676         * lisp/eshell/em-prompt.el (eshell-next-prompt): Search for
22677         `eshell-prompt-regexp' (and `read-only' text-property if
22678         `eshell-highlight-prompt' is set) rather than trying to use
22679         `forward-paragraph'.
22680         (eshell-previous-prompt): Don't count prompt on current line.
22682 2017-07-21  Paul Eggert  <eggert@cs.ucla.edu>
22684         Simplify recent gnutls.c changes
22686         * src/gnutls.c (clear_storage) [HAVE_GNUTLS3_AEAD]: Remove.
22687         All uses replaced by calls to explicit_bzero; that’s clear enough.
22688         (gnutls_symmetric_aead) [HAVE_GNUTLS3_AEAD]: Simplify by
22689         coalescing duplicate actions.  There is no need to invoke
22690         SAFE_FREE before calling ‘error’.
22692 2017-07-20  Michael Albinus  <michael.albinus@gmx.de>
22694         Stylistic changes in tramp-cache.el
22696         * lisp/net/tramp-cache.el (tramp-get-file-property)
22697         (tramp-set-file-property): Use `bound-and-true-p'.  Add
22698         counter variables to `tramp-cache-unload-hook'.
22700 2017-07-20  Glenn Morris  <rgm@gnu.org>
22702         * admin/notes/hydra: Small updates.
22704 2017-07-20  Glenn Morris  <rgm@gnu.org>
22706         Make tramp unloading handle debug counter variables
22708         * lisp/net/tramp-cache.el (tramp-get-file-property)
22709         (tramp-set-file-property): Add counter variables to tramp-unload-hook.
22711 2017-07-20  Eli Zaretskii  <eliz@gnu.org>
22713         Fix hscrolling calculations when display-line-numbers is set
22715         * src/xdisp.c (move_it_in_display_line_to): Account for line
22716         numbers in hscrolled lines.  (Bug#27756)
22718 2017-07-20  Katsumi Yamaoka  <yamaoka@jpl.org>
22720         Fix the bogus change made 13 years ago (bug#27084)
22722         * lisp/gnus/gnus-sum.el (gnus-summary-toggle-header):
22723         Fix the way to test if there is no visible header (bug#27084).
22725 2017-07-20  Noam Postavsky  <npostavs@gmail.com>
22727         Use grep's --null option (Bug#6843)
22729         * lisp/progmodes/grep.el (grep-use-null-filename-separator): New option.
22730         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
22731         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): New
22732         constants, replacing `grep-regexp-alist'.
22733         (grep-regex-alist): Mark the variable obsolete, add a new function of
22734         the same name to replace it.
22735         (grep-compute-defaults): Compute default for
22736         `grep-use-null-filename-separator'.
22737         (grep-mode): Set compilation-error-regexp-alist (buffer locally) to the
22738         value of `grep-with-null-regexp-alist' or `grep-fallback-regexp-alist'
22739         according to `grep-use-null-filename-separator'.
22740         * lisp/progmodes/xref.el (xref-collect-matches): Call
22741         `grep-regex-alist' instead of the obsolete variable.  Don't hardcode
22742         grep-regexp-alist match groups.
22743         * etc/NEWS: Announce new use of --null.  Move 'grep-save-buffers'
22744         item under "Grep" heading as well.
22746 2017-07-19  Philipp Stephani  <phst@google.com>
22748         * src/gnutls.c (clear_storage): Define only if needed.
22750 2017-07-19  Stephen Berman  <stephen.berman@gmx.net>
22752         Adjust todo-quit to recent change in dired
22754         * lisp/calendar/todo-mode.el (todo-quit): Use quit-window instead of
22755         bury-buffer to exit todo-mode.  This restores the desired behavior
22756         of not immediately returning to the exited todo-mode buffer on
22757         quitting another buffer, which a dired bug fix had changed (see
22758         https://lists.gnu.org/r/emacs-devel/2017-07/msg00739.html).
22760 2017-07-19  Tino Calancha  <tino.calancha@gmail.com>
22762         Add test for bugs 7131, 27762
22764         Require 'ls-lisp' at top of the file.
22765         * test/lisp/dired-tests.el (dired-test-bug7131, dired-test-bug27762):
22766         New tests.
22767         (dired-test-bug27693): Delete Dired buffer at the end.
22769 2017-07-18  Michael Albinus  <michael.albinus@gmx.de>
22771         * admin/notes/hydra: Mention environment variable EMACS_HYDRA_CI.
22773 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
22775         * lisp/emacs-lisp/nadvice.el (advice--defalias-fset): Strip advices
22777         This tries to make sure that (defalias F (symbol-function F)) stays a no-op.
22779 2017-07-18  Glenn Morris  <rgm@gnu.org>
22781         Use a more specific test for running on hydra.nixos.org
22783         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
22784         * test/Makefile.in (WRITE_LOG):
22785         * test/lisp/filenotify-tests.el:
22786         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
22787         (eieio-test-method-order-list-6):
22788         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
22789         (eieio-test-37-obsolete-name-in-constructor):
22790         * test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.
22792 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
22794         Avoid infloop due to Eshell's "smart" redisplay
22796         * src/xdisp.c (pos_visible_p): Save and restore the window's
22797         mode-line and header-line height.  (Bug#27752)
22799 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
22801         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): Accept `[]'
22803 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
22805         Fix indentation when display-line-numbers is non-nil
22807         * src/xdisp.c (x_produce_glyphs): Fix a typo in deciding whether
22808         to go one more tab stop to display a TAB.  (Bug#27743)
22810 2017-07-18  Lars Ingebrigtsen  <larsi@gnus.org>
22812         Don't use gtk_widget_get_scale_factor on old GTK3 versions
22814         * src/gtkutil.c (xg_get_scale): gtk_widget_get_scale_factor is
22815         only present since GTK 3.10.
22817 2017-07-18  Noam Postavsky  <npostavs@gmail.com>
22819         Let delete-selection-mode work with popup-menu commands (Bug#27569)
22821         * lisp/menu-bar.el (popup-menu): Run `pre-command-hook' with
22822         `this-command' set to the selected command.
22824 2017-07-18  Paul Eggert  <eggert@cs.ucla.edu>
22826         Port gnutls.c to older (buggier?) GnuTLS
22828         Problem reported for GnuTLS 3.2.1 by Glenn Morris in:
22829         https://lists.gnu.org/r/emacs-devel/2017-07/msg00716.html
22830         https://lists.gnu.org/r/emacs-devel/2017-07/msg00742.html
22831         Although I don't see how this bug can occur with vanilla GnuTLS 3.2.1,
22832         perhaps hydra was using a modified GnuTLS.
22833         * src/gnutls.c (Fgnutls_ciphers): Don't assume GNUTLS_CIPHER_NULL
22834         is at the end of the list returned by gnutls_cipher_list,
22835         or that the earlier ciphers all have non-null names.
22837 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
22839         Fix relocation with named cell referred to by a one-symbol formula.
22841         * lisp/ses.el (ses-replace-name-in-formula): Fix bug for it to
22842         work also with one symbol formulas.
22844         * test/lisp/ses-tests.el
22845         (ses-tests-renaming-cell-with-one-symbol-formula): Add new
22846         test for renaming with relocating a one symbol formula.
22848 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
22850         Fix symbol completion and document it.
22852         * doc/misc/ses.texi (Configuring what printer function
22853         applies): Add description of keys for completing local printer
22854         symbols and listing local printers in a help buffer.
22855         (Formulas): Add decription for key to list the named cell
22856         symbols in a help buffer.
22858         * lisp/ses.el (ses-completion-keys): New constant.
22859         (ses--completion-table): New defvar.
22860         (ses--list-orig-buffer): New defvar.
22861         (ses-mode-edit-map): Fixed for symbol completion, plus add
22862         help functions to list named cells or local printers.
22863         (ses-edit-cell-complete-symbol)
22864         (ses--edit-cell-completion-at-point-function): New defuns for
22865         completion during formula edition.
22866         (ses-edit-cell): Redefine dynamically edit keymap for
22867         completion keys to point at the right function.
22868         (ses-read-printer-complete-symbol)
22869         (ses--read-printer-completion-at-point-function): New defuns
22870         for completion during printer edition.
22871         (ses-read-printer): Redefine dynamically edit keymap for
22872         completion keys to point at the right function.
22873         (ses-list-local-printers): New defun.
22874         (ses-list-named-cells): New defun.
22876 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
22878         Move comments around
22880 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
22882         Make scaling work (?) on pre-GTK3 systems
22884         * src/gtkutil.c (xg_get_gdk_scale): Reinstate function.
22885         (xg_get_scale): Use it on non-GTK3 systems.
22887 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
22889         Always return the GDK scale
22891         * src/gtkutil.c (xg_get_scale): Return the GDK scale always.
22893 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
22895         Remove usage of the GDK_SCALE variable
22897         * src/gtkutil.c (xg_get_gdk_scale): Remove.
22898         (xg_get_default_scrollbar_height)
22899         (xg_get_default_scrollbar_width): Pass in a frame to check for
22900         scaling.
22901         (xg_frame_set_char_size): Use the API for querying scale
22902         instead of looking at the GDK_SCALE variable.
22903         (xg_get_default_scrollbar_width): Ditto.
22904         (xg_get_default_scrollbar_height): Ditto.
22905         (xg_update_scrollbar_pos): Ditto.
22907         * src/xfns.c (x_set_scroll_bar_default_height): Pass in the
22908         frame to get the width.
22910 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
22912         Get positions of menus and tooltips right on HiDPI
22914         * src/gtkutil.c (xg_get_scale): New function.
22915         (xg_show_tooltip): Use it.
22917         * src/xmenu.c (create_and_show_popup_menu): Put menus in the
22918         right place.
22920 2017-07-17  Eli Zaretskii  <eliz@gnu.org>
22922         Allow user control on what starts and ends a paragraph for bidi
22924         * src/buffer.h (struct buffer): New members
22925         bidi_paragraph_separate_re_ and bidi_paragraph_start_re_.
22926         * src/buffer.c (bset_bidi_paragraph_start_re)
22927         (bset_bidi_paragraph_separate_re): New setters/
22928         (Fbuffer_swap_text): Swap the values of bidi-paragraph-start-re and
22929         bidi-paragraph-separate-re.
22930         (init_buffer_once): Init the values of bidi-paragraph-start-re and
22931         bidi-paragraph-separate-re.
22932         (syms_of_buffer) <bidi-paragraph-start-re, bidi-paragraph-separate-re>:
22933         New per-buffer variables.
22934         * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
22935         Support bidi-paragraph-start-re and bidi-paragraph-separate-re.
22936         (bidi_move_to_visually_next): Handle correctly the case when the
22937         separator matches an empty string.  (Bug#27526)
22939         * doc/emacs/mule.texi (Bidirectional Editing):
22940         * doc/lispref/display.texi (Bidirectional Display): Document
22941         bidi-paragraph-start-re and bidi-paragraph-separate-re.
22943         * etc/NEWS: Mention bidi-paragraph-start-re and
22944         bidi-paragraph-separate-re.
22946 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
22948         * lisp/emacs-lisp/map.el (map-put): Fix redundancy in docstring.
22950 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
22952         alist-get: Add optional arg TESTFN
22954         If TESTFN is non-nil, then it is the predicate to lookup
22955         the alist.  Otherwise, use 'eq' (Bug#27584).
22956         * lisp/subr.el (alist-get): Add optional arg FULL.
22957         * lisp/emacs-lisp/map.el (map-elt, map-put): Add optional arg TESTFN.
22958         * lisp/emacs-lisp/gv.el (alist-get): Update expander.
22959         * doc/lispref/lists.texi (Association Lists): Update manual.
22960         * etc/NEWS: Announce the changes.
22961         * test/lisp/emacs-lisp/map-tests.el (test-map-put-testfn-alist)
22962         (test-map-elt-testfn): New tests.
22964 2017-07-17  Michael Albinus  <michael.albinus@gmx.de>
22966         Fix `tramp-test39-unload'
22968         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case-p)
22969         (tramp--test-instrument-test-case): Rename.  Adapt all callees.
22970         (tramp-test36-asynchronous-requests): Bind `timer-max-repeats'.
22971         (tramp-test39-unload): Expect it to pass.  Ignore buffer-local
22972         variables and autoload functions; they are not removed.  Check
22973         also for `-function(s)'.
22975 2017-07-17  Stephen Berman  <stephen.berman@gmx.net>
22977         Preserve point under 'dired-auto-revert-buffer' (second case)
22979         * lisp/dired.el (dired): Use pop-to-buffer-same-window instead
22980         of switch-to-buffer.  This preserves Dired window point when
22981         dired-auto-revert-buffer is non-nil.  (Bug#27243)
22983         * test/lisp/dired-tests.el (dired-test-bug27243): New test.
22985 2017-07-17  Martin Rudalics  <rudalics@gmx.at>
22987         Have Fgnutls_available_p return Qnil when GNUTLS is undefined
22989         * src/gnutls.c (Fgnutls_available_p): Return Qnil when GNUTLS is
22990         undefined to allow --with-gnutls=no builds to proceed.
22992 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
22994         * src/gnutls.c: Restore some comments.
22996 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
22998         Use memset, not bzero
23000         * src/ftcrfont.c (ftcrfont_glyph_extents): Use memset instead
23001         of the (less-portable) bzero.
23003 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
23005         Use explicit_bzero to clear GnuTLS keys
23007         * admin/merge-gnulib (GNULIB_MODULES): Add explicit_bzero.
23008         * lib/explicit_bzero.c, m4/explicit_bzero.m4: New files.
23009         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
23010         * src/gnutls.c (clear_storage): New function.
23011         (gnutls_symmetric_aead): Use it instead of memset.
23013 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
23015         Merge from gnulib
23017         This incorporates:
23018         2017-07-16 explicit_bzero: new module
23019         2017-07-15 getdtablesize: Add minimal support for OpenVMS.
23020         * lib/getdtablesize.c, lib/string.in.h, m4/getdtablesize.m4:
23021         * m4/string_h.m4:
23022         Copy from Gnulib.
23023         * lib/gnulib.mk.in: Regenerate.
23025 2017-07-17  Dieter Deyke  <dieter.deyke@gmail.com>
23027         Fix vc-src-dir-status-files
23029         * lisp/vc/vc-src.el (vc-src-dir-status-files): Fix broken
23030         copy-paste from b1a765b3 (bug#27641).
23032 2017-07-16  Wilfred Hughes  <me@wilfred.me.uk>
23034         Fix mismatched parens
23036         * etc/NEWS.21: Remove excess parenthesis in code example
23038 2017-07-16  Alan Third  <alan@idiocy.org>
23040         Add missing declare-function for new function
23042         * lisp/frame.el: Add declare function for
23043         ns-mouse-absolute-pixel-position.
23045 2017-07-16  R. Bernstein  <rocky@gnu.org>
23047         Realgud for tango themes
23049 2017-07-16  Noam Postavsky  <npostavs@gmail.com>
23051         Fix test when running from test/lisp/subr-tests.elc
23053         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests): Don't
23054         assume a lambda expression will be `equal' to its quoted form.  That's
23055         not true if the lambda expression has been compiled.
23057 2017-07-15  Alan Third  <alan@idiocy.org>
23059         Fix some frame handling issues on NS
23061         * lisp/frame.el (mouse-absolute-pixel-position): Use new NS function.
23062         * src/nsfns.m (Sns_mouse_absolute_pixel_position): New function.
23063         * src/nsterm.m (x_make_frame_visible): Re-establish parent-child
23064         relationship if it's broken.
23066 2017-07-15  Tino Calancha  <tino.calancha@gmail.com>
23068         ls-lisp: Fix file size format
23070         * lisp/ls-lisp.el (ls-lisp-filesize-d-fmt, ls-lisp-filesize-f-fmt)
23071         (ls-lisp-filesize-b-fmt): Add space in front (Bug#27693).
23072         * test/lisp/dired-tests.el (dired-test-bug27693): Add test.
23074 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
23076         Avoid link errors with older versions of GnuTLS
23078         * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
23079         (Fgnutls_macs, Fgnutls_digests): Conditionally compile code that
23080         calls GnuTLS functions which might be unavailable in older
23081         versions of GnuTLS.
23083 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
23085         Improve comments in faces.el
23087         * lisp/faces.el (face-font-family-alternatives): Improve
23088         commentary.
23090 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
23092         Improve some GnuTL error messages
23094         * src/gnutls.c (gnutls_symmetric_aead, gnutls_symmetric):
23095         * src/fns.c (Fsecure_hash_algorithms): Fix error messages.
23097 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
23099         Fix the Elisp manual wrt GnuTL cryptography
23101         * doc/lispref/elisp.texi (Top): Update the master menu.
23102         * doc/lispref/text.texi (GnuTLS Cryptography): Add a @menu, to
23103         avoid errors in makeinfo.
23105 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
23107         Fix compilation of gnutls.c with older GnuTLS
23109         * src/gnutls.c (syms_of_gnutls): Condition some defsubr's
23110         on HAVE_GNUTLS3, to avoid compilation errors when GnuTLS
23111         v3.X is not available.  Reported by Colin Baxter <m43cap@yandex.com>.
23113 2017-07-15  rocky  <rb@dustyfeet.com>
23115         Realgud for two more light themes
23117 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
23119         Rearrange MS-Windows code that dynamically loads GnuTLS functions
23121         * src/gnutls.c [WINDOWSNT]: Reorganize definitions and loading
23122         of functions using the same preprocessing directives as in the code.
23124 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
23126         Fix the MS-Windows build broken in gnutls.c
23128         * src/gnutls.c (Fgnutls_available_p) [WINDOWSNT]: Move the DLL
23129         loading code to after 'capabilities' has been calculated.  Remove
23130         redundant comments.
23132 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
23134         src/image.c (compute_image_size): Remove superfluous checks.
23136         * src/image.c (compute_image_size): Remove superfluous checks.
23138 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
23140         Make combinations of :width/:max-height image specs work reliably
23142         * doc/lispref/display.texi (ImageMagick Images): Document
23143         :width/:max-height combinations (etc) (bug #25583).
23145         * src/image.c (compute_image_size): Handle :width/:max-height
23146         (etc) combinations consistently (by letting "max" win and
23147         preserve ratio).
23149         * test/manual/image-size-tests.el (image-size-tests): Add
23150         tests for :width/:max-height (etc) combinations.
23152 2017-07-15  Glenn Morris  <rgm@gnu.org>
23154         Fix recent theme changes
23156         * etc/themes/manoj-dark-theme.el, etc/themes/tsdh-dark-theme.el:
23157         Fix typos in recent changes.
23159 2017-07-15  Paul Eggert  <eggert@cs.ucla.edu>
23161         GnuTLS integer-overflow and style fixes
23163         This tweaks the recently-added GnuTLS improvements so that
23164         they avoid some integer-overflow problems and follow typical
23165         Emacs style a bit better.
23166         * configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
23167         (HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
23168         configure-time results are displayed.
23169         * src/fns.c (extract_data_from_object): Return char *, not char
23170         const *, since one gnutls caller wants a non-const pointer.  Use
23171         CONSP rather than !NILP when testing for conses.  Use CAR_SAFE
23172         instead of rolling our own code.  Prefer signed types to unsigned
23173         when either will do.  Report problems for lengths out of range,
23174         instead of silently mishandling them.
23175         * src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
23176         callers.  All callers of gnutls_sterror changed.
23177         (Fgnutls_boot): Check for integers out of range rather than
23178         silently truncating them.
23179         (gnutls_symmetric_aead): Check for integer overflow in size
23180         calculations.
23181         (gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
23182         Prefer signed to unsigned integers where either will do.
23183         (gnutls_symmetric_aead, gnutls_symmetric):
23184         Work even if ptrdiff_t is wider than ‘long’.
23185         (gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
23186         Check for integer overflow in algorithm selection.
23188 2017-07-14  Noam Postavsky  <npostavs@gmail.com>
23190         * .gitlab-ci.yml: Don't install a C++ compiler.  Suppress apt interaction.
23192 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
23194         Fix the MS-Windows build due to added GnuTLS functions
23196         * src/gnutls.c [WINDOWSNT]: Add DEF_DLL_FN for new functions.
23197         (init_gnutls_functions) [WINDOWSNT]: Add LOAD_DLL_FN for new
23198         functions.  Add #define redirections for new functions.
23199         (gnutls_symmetric_aead): Fix format specs to be more portable when
23200         printing ptrdiff_t arguments.
23201         * src/fns.c (gnutls_rnd) [WINDOWSNT]: Redirect to w32_gnutls_rnd
23202         wrapper.
23203         * src/gnutls.h [WINDOWSNT]: Add prototype for w32_gnutls_rnd.
23205         * test/lisp/net/gnutls-tests.el (gnutls-tests-tested-macs)
23206         (gnutls-tests-tested-digests, gnutls-tests-tested-ciphers): Call
23207         gnutls-available-p, otherwise GnuTLS functions might not be loaded
23208         from the DLL on MS-Windows.
23210 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
23212         * lisp/emacs-lisp/bytecomp.el: Fix bug#14860.
23214         * lisp/emacs-lisp/bytecomp.el (byte-compile--function-signature): New fun.
23215         Dig into advice wrappers to find the "real" signature.
23216         (byte-compile-callargs-warn, byte-compile-arglist-warn): Use it.
23217         (byte-compile-arglist-signature): Don't bother with "new-style" arglists,
23218         since bytecode functions are now handled in byte-compile--function-signature.
23220         * lisp/files.el (create-file-buffer, insert-directory):
23221         Remove workaround introduced for (bug#14860).
23223         * lisp/help-fns.el (help-fns--analyse-function): `nadvice` is preloaded.
23225         * lisp/help.el (help-function-arglist):
23226         Dig into advice wrappers to find the "real" signature.
23228 2017-07-14  Ted Zlatanov  <tzz@lifelogs.com>
23230         GnuTLS HMAC and symmetric cipher support
23232             * etc/NEWS: Add news for new feature.
23234             * doc/lispref/text.texi (GnuTLS Cryptography): Add
23235             documentation.
23237             * configure.ac: Add macros HAVE_GNUTLS3_DIGEST,
23238             HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_AEAD, HAVE_GNUTLS3_HMAC.
23240             * src/fns.c (Fsecure_hash_algorithms): Add function to list
23241             supported `secure-hash' algorithms.
23242             (extract_data_from_object): Add data extraction function that
23243             can operate on buffers and strings.
23244             (secure_hash): Use it.
23245             (Fsecure_hash): Mention `secure-hash-algorithms'.
23247             * src/gnutls.h: Include gnutls/crypto.h.
23249             * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
23250             (gnutls_symmetric, Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
23251             (Fgnutls_macs, Fgnutls_digests, Fgnutls_hash_mac, Fgnutls_hash_digest)
23252             (Fgnutls_available_p): Implement GnuTLS cryptographic integration.
23254             * test/lisp/net/gnutls-tests.el: Add tests.
23256 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
23258         * lisp/emacs-lisp/cl-lib.el (cl--random-time): Remove as well
23260         It's also defined in cl-extra.el.
23262 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
23264         Do not convert ij and IJ to compatibility chars
23266         * lisp/leim/quail/latin-alt.el: Omit lines for ij and IJ in Dutch.
23267         Problem reported by James Cloos (Bug#518#10).
23269 2017-07-14  Toon Claes  <toon@iotcl.com>
23271         Remove Turkish ligatures from Dutch input method
23273         * lisp/leim/quail/latin-alt.el: Remove Turkish ligatures (Bug#518).
23275 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
23277         Improve stack-overflow heuristic on GNU/Linux
23279         Problem reported by Steve Kemp (Bug#27585).
23280         * src/eval.c (near_C_stack_top): Remove.  All uses replaced
23281         by current_thread->stack_top.
23282         (record_in_backtrace): Set current_thread->stack_top.
23283         This is for when the Lisp interpreter calls itself.
23284         * src/lread.c (read1): Set current_thread->stack_top.
23285         This is for recursive s-expression reads.
23286         * src/print.c (print_object): Set current_thread->stack_top.
23287         This is for recursive s-expression printing.
23288         * src/thread.c (mark_one_thread): Get stack top first.
23289         * src/thread.h (struct thread_state.stack_top): Now void *, not char *.
23291 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
23293         Remove duplicate cl--random-state definition
23295         * lisp/emacs-lisp/cl-lib.el (cl--random-state): Remove.
23296         This variable is now defined in cl-extra.el (Bug#27617).
23298 2017-07-14  Michael Albinus  <michael.albinus@gmx.de>
23300         Adjust timer in tramp-test36-asynchronous-requests
23302         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
23303         Adjust timer if it takes too much time.
23305 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
23307         Always display rmail progress report under user control
23309         * lisp/mail/rmail.el (rmail-show-message-1): Delete the second
23310         copy of '(message "Showing message %d..." msg)'.  (Bug#27535)
23312 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
23314         Avoid byte-compilation warnings for advised functions
23316         * lisp/files.el (insert-directory, create-file-buffer): Add an
23317         advertised-calling-convention form to shut up byte-compilation
23318         warnings.  (Bug#14860)
23320 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
23322         Add assertion related to display-line-numbers
23324         * src/xdisp.c (maybe_produce_line_number): Add assertion for the
23325         condition regarding IT->glyph_row->used[TEXT_AREA] expected by the
23326         code.  (Bug#27668)
23328 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
23330         Prevent display corruption when display-line-numbers is set
23332         * src/xdisp.c (try_window_reusing_current_matrix): If giving up
23333         due to display-line-numbers, clear the window's desired glyph
23334         matrix before returning, as the following call to try_window will
23335         call display_line, which expects rows of the desired matrix
23336         cleared.  (Bug#27668)
23338 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
23340         Revert "Use fixed-pitch font for display-line-numbers"
23342         This reverts commit d014a5e15c1110af77e7a96f06ccd0f0cafb099f.
23343         * lisp/faces.el (line-number): Don't use a fixed-pitch font, by
23344         popular demand.  For relevant discussions, see
23346          https://lists.gnu.org/r/emacs-devel/2017-07/msg00433.html
23347          https://lists.gnu.org/r/emacs-devel/2017-07/msg00445.html
23349 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
23351         Merge from gnulib
23353         This incorporates:
23354         2017-07-13 Improve cross-compilation guesses for native Windows
23355         2017-07-11 More systematic m4 quoting and indentation
23356         2017-07-10 Make sure $host and $host_os are defined when used
23357         2017-07-03 stdioext: Port to OpenVMS
23358         2017-06-24 xalloc-oversized: port to icc
23359         * doc/misc/texinfo.tex, lib/fpending.c, lib/stdio-impl.h:
23360         * lib/xalloc-oversized.h, m4/dirfd.m4, m4/gettimeofday.m4:
23361         * m4/lstat.m4, m4/mktime.m4, m4/pselect.m4, m4/putenv.m4:
23362         * m4/stdint.m4, m4/strtoimax.m4, m4/utimes.m4:
23363         Copy from Gnulib.
23365 2017-07-13  Alan Mackenzie  <acm@muc.de>
23367         C++ Mode.  Fix anomaly occurring when a ">" is deleted then reinserted.
23369         This fontification anomaly happened because after deleting the ">",
23370         c-forward-<>-arglist parses the preceding identifier as a putative type but
23371         stores it in c-found-types before it becomes clear it is not an unambiguous
23372         type.  c-forward-<>-arglist fails, leaving the spurious type id in
23373         c-found-types.  Fix this by "binding" c-found-types "to itself" in
23374         c-forward-<>-arglist, and restoring the original value when that function call
23375         fails.
23377         * lisp/progmodes/cc-engine.el (c-copy-found-types): New function.
23378         (c-forward-<>-arglist): Record the original value of c-found-types at the
23379         beginning of the function, and restore it at the end on failure.
23381         * lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens): Rewrite more
23382         accurately.
23384 2017-07-13  Vincent Belaïche  <vincentb1@users.sourceforge.net>
23386         Add tests for SES, and fix one more cell renaming bug.
23388         * lisp/ses.el (ses-relocate-all): In case of insertion, do not
23389         relocate value for named cells as they keep the same symbol.
23390         (ses-rename-cell): Set new cell name symbol to cell value --- do not
23391         rely on recalculating.  Push cells with updated data --- cell name,
23392         cell reference list, or cell formula --- to deferred write list.
23394         * test/lisp/ses-tests.el: New file, with 7 tests for SES.
23396 2017-07-12  Alan Mackenzie  <acm@muc.de>
23398         Fix some bugs in c-defun-name.  This fixes bug #25623.
23400         * lisp/progmodes/cc-cmds.el (c-defun-name): Fix some bugs to do with structs,
23401         etc.
23403 2017-07-12  Vasilij Schneidermann  <mail@vasilij.de>
23405         Make prog-mode-map the parent of c-mode-base-map.  Fixes bug #26658.
23407         * lisp/progmodes/cc-mode.el (top level): Make prog-mode-map the parent of
23408         c-mode-base-map if possible.
23410 2017-07-12  Alan Mackenzie  <acm@muc.de>
23412         CC Mode: create and use c-set-keymap-parent.
23414         * lisp/progmodes/cc-defs.el (c-set-keymap-parent): New macro.
23416         * lisp/progmodes/cc-mode.el (top-level): Remove cc-bytecomp-defun for
23417         set-keymap-parents.
23418         (c-make-inherited-keymap): Use c-set-keymap-parent in place of inline code.
23420 2017-07-12  Martin Rudalics  <rudalics@gmx.at>
23422         Minor tweaks of new line number display variables
23424         * src/xdisp.c (Vdisplay_line_numbers): Tweak doc-string.
23425         (Vdisplay_line_number_width): Rename to
23426         Vdisplay_line_numbers_width.
23427         (maybe_produce_line_number): Comply with above rename.
23428         * lisp/cus-start.el (standard):
23429         * lisp/frame.el (top-level):
23430         * etc/NEWS: Comply with renaming of
23431         `display-line-number-width' to `display-line-numbers-width'.
23433 2017-07-12  Eli Zaretskii  <eliz@gnu.org>
23435         Avoid assertion violations in close_infile_unwind
23437         * src/lread.c (close_infile_unwind): A temporary band-aid solution
23438         for bug#27642: allow 'infile' be NULL.
23440 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
23442         Use fixed-pitch font for display-line-numbers
23444         * lisp/faces.el (line-number): Use a fixed-pitch font by default,
23445         even if the default face uses a variable-pitch font.  Reported by
23446         James Cloos <cloos@jhcloos.com>.
23448 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
23450         Improve documentation of display-line-numbers
23452         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: Improve the
23453         doc string.  Suggested by Alex <agrambot@gmail.com>.
23455 2017-07-11  Nicolas Petton  <nicolas@petton.fr>
23457         Add an optional testfn parameter to assoc
23459         * src/fns.c (assoc): New optional testfn parameter used for comparison
23460         when provided.
23461         * test/src/fns-tests.el (test-assoc-testfn): Add tests for the new
23462         'testfn' parameter.
23463         * src/buffer.c:
23464         * src/coding.c:
23465         * src/dbusbind.c:
23466         * src/font.c:
23467         * src/fontset.c:
23468         * src/gfilenotify.c:
23469         * src/image.c:
23470         * src/keymap.c:
23471         * src/process.c:
23472         * src/w32fns.c:
23473         * src/w32font.c:
23474         * src/w32notify.c:
23475         * src/w32term.c:
23476         * src/xdisp.c:
23477         * src/xfont.c: Add a third argument to Fassoc calls.
23478         * etc/NEWS:
23479         * doc/lispref/lists.texi: Document the new 'testfn' parameter.
23481 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
23483         Use `with-demoted-errors' in Tramp
23485         * lisp/net/tramp.el (tramp-with-demoted-errors): New defmacro.
23487         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Use it.
23489 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
23491         Add Quick Start Guide to Tramp manual
23493         * doc/misc/tramp.texi: Use consequently "@value{tramp}" and
23494         "MS Windows".
23495         (Quick Start Guide): New node.
23497         * doc/misc/trampver.texi:
23498         * lisp/net/trampver.el: Change version to "2.3.3-pre".
23500 2017-07-10  Glenn Morris  <rgm@gnu.org>
23502         Fix failing module tests on GNU/Linux
23504         * test/src/emacs-module-tests.el
23505         (module--test-assertions--load-non-live-object)
23506         (module--test-assertions--call-emacs-from-gc):
23507         Avoid test failures due to backtraces.
23509 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
23511         Fix core dump in substitute-object-in-subtree
23513         Without this fix, (substitute-object-in-subtree #0=(#0# 'a) 'a)
23514         would dump core, since the C code would recurse indefinitely through
23515         the infinite structure.  This patch adds an argument to the function,
23516         and renames it to lread--substitute-object-in-subtree as the function
23517         is not general-purpose and should not be relied on by outside code.
23518         See Bug#23660.
23519         * src/intervals.c (traverse_intervals_noorder): ARG is now void *,
23520         not Lisp_Object, so that callers need not cons unnecessarily.
23521         All callers changed.  Also, remove related #if-0 code that was
23522         “temporary” in the early 1990s and has not been compilable for
23523         some time.
23524         * src/lread.c (struct subst): New type, for substitution closure data.
23525         (seen_list): Remove this static var, as this info is now part of
23526         struct subst.  All uses removed.
23527         (Flread__substitute_object_in_subtree): Rename from
23528         Fsubstitute_object_in_subtree, and give it a 3rd arg so that it
23529         doesn’t dump core when called from the top level with an
23530         already-cyclic structure.  All callers changed.
23531         (SUBSTITUTE): Remove.  All callers expanded and then simplified.
23532         (substitute_object_recurse): Take a single argument SUBST rather
23533         than a pair OBJECT and PLACEHOLDER, so that its address can be
23534         passed around as part of a closure; this avoids the need for an
23535         AUTO_CONS call.  All callers changed.  If the COMPLETED component
23536         is t, treat every subobject as potentially circular.
23537         (substitute_in_interval): Take a struct subst * rather than a
23538         Lisp_Object, for the closure data.  All callers changed.
23539         * test/src/lread-tests.el (lread-lread--substitute-object-in-subtree):
23540         New test, to check that the core dump does not reoccur.
23542 2017-07-10  Philipp Stephani  <phst@google.com>
23544         Minor simplification of module_free_global_ref
23546         * src/emacs-module.c (module_free_global_ref): Remove unused variable
23547         'hashcode'.  Inline variable 'value' that's only used once.
23549 2017-07-10  Philipp Stephani  <phst@google.com>
23551         Re-add a useful assertion
23553         * src/emacs-module.c (module_free_global_ref): Re-add assertion that
23554         the reference count is zero.  This assertion was removed in commit
23555         8afaa1321f8088bfb877fe4b6676e8517adb0bb7, but it's not included in the
23556         test performed by XFASTINT before, because the previous reference
23557         count could have been zero already in the case of a buggy
23558         implementation.  This assertion might have detected Bug#27587.
23560 2017-07-10  Valentin Gatien-Baron  <vgatien-baron@janestreet.com>  (tiny change)
23562         Fix bug in module_free_global_ref (Bug#27587)
23564         * src/emacs-module.c (module_free_global_ref): Actually remove entry
23565         from hash table.
23567 2017-07-09  Philipp Stephani  <phst@google.com>
23569         Further improve electric quote support for Markdown (Bug#24709)
23571         Markdown sets both 'comment-start' and 'comment-use-syntax' to non-nil
23572         values.  Therefore 'electric-quote-mode' recognized it as a
23573         programming mode.  Fix this by first checking whether the current
23574         major mode is derived from 'text-mode'.
23576         * lisp/electric.el (electric-quote-post-self-insert-function): Treat
23577         'text-mode' as stronger signal than comment syntax.
23579         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
23580         (electric-quote-markdown-in-code): Adapt unit tests.
23582 2017-07-09  Philipp Stephani  <phst@google.com>
23584         Remove pointless code in 'electric-quote-mode'
23586         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
23587         pointless form.
23589 2017-07-09  Philipp Stephani  <phst@google.com>
23591         Refactor 'electric-quote-mode'
23593         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
23594         local variable 'start', which was misnamed and only used once.
23596 2017-07-09  Saulius Menkevičius  <saulius.menkevicius@gmail.com>  (tiny change)
23598         Avoid crashes on MS-Windows starting 64-bit .NET executables
23600         * src/w32proc.c (w32_executable_type): Don't assume that the
23601         import directory in a DLL will always be non-NULL.  (Bug#27527)
23603 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
23605         Avoid compilation warning in files.el
23607         * lisp/files.el (auto-save-visited-file-name): Avoid obsoletion
23608         warning due to its use in auto-save-visited-mode.
23610 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
23612         Improve indexing of VC-related stuff in the Emacs manual
23614         * doc/emacs/maintaining.texi (Version Control): Add a "VC" index
23615         entry.  (Bug#27627)
23617 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
23619         Speed up display of line numbers for very large buffers
23621         * src/xdisp.c (maybe_produce_line_number): Speed up line counting
23622         using values cached by mode-line display of line numbers.
23623         (Bug#27622)
23625 2017-07-09  Alexander Kuleshov  <kuleshovmail@gmail.com>
23627         Define internal_border_parts for window systems only (Bug#27615)
23629         * src/keyboard.c: (internal_border_parts): Define only
23630         when HAVE_WINDOW_SYSTEM is enabled.  (Bug#27615)
23632 2017-07-09  R. Bernstein  <rocky@gnu.org>
23634         Add realgud faces faces to whiteboard...
23636         Adjust wheatgrass to use underline for enabled/disabled breakpoints
23638 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
23640         Optimize UCS normalization tests
23642         Brings the the time for `ucs-normalize-part1' from 200s down to 130s.
23643         * test/lisp/international/ucs-normalize-tests.el
23644         (ucs-normalize-tests--parse-column): Use character instead of string
23645         of length 1 for terminator.  Convert return value into string since
23646         all callers need that form anyway.
23647         (ucs-normalize-tests--normalization-equal-p): Rename from
23648         ucs-normalize-tests--normalize.  Use dedicated buffer instead of
23649         messing with narrowing.  Take string to compare against and insert it
23650         into buffer so that compare-buffer-substrings can be used instead of
23651         allocating a new string from buffer contents.
23652         (ucs-normalize-tests--normalization-chareq-p): New macro, specialized
23653         for comparing single character.
23654         (ucs-normalize-tests--rule1-holds-p)
23655         (ucs-normalize-tests--rule2-holds-p): Turn into defsubst.
23656         (ucs-normalize-tests--rule1-failing-for-partX): Use `eq' instead of
23657         `='.
23659 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
23661         Update failing lines for UCS normalize tests
23663         * test/lisp/international/ucs-normalize-tests.el
23664         (ucs-normalize-tests--failing-lines-part2): Update for new
23665         admin/unidata/NormalizationTest.txt version.
23667 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
23669         Semi-automate the procedure for updating UCS normalize test bad lines
23671         * test/lisp/international/ucs-normalize-tests.el: Remove incorrect
23672         commentary describing a manual procedure for producing the updated
23673         failing lines, it did not actually work.  Replace it with pointer to
23674         new function which prints the updated values.
23675         (ucs-normalize-tests--rule1-holds-p): Renamed from
23676         ucs-normalize-tests--invariants-hold-p.
23677         (ucs-normalize-tests--rule2-holds-p): Renamed from
23678         ucs-normalize-tests--invariants-rule2-hold-p.
23679         (ucs-normalize-tests--rule1-failing-for-partX): Renamed from
23680         ucs-normalize-tests--invariants-failing-for-part.
23681         (ucs-normalize-tests--rule1-failing-for-lines): Renamed from
23682         ucs-normalize-tests--invariants-failing-for-lines.
23683         (ucs-normalize-tests--part2-rule1-failed-lines): New variable.
23684         (ucs-normalize-part2): Set it.
23685         (ucs-normalize-part1): Always run through to end of test before
23686         checking for failures.
23687         (ucs-normalize-tests--insert-failing-lines)
23688         (ucs-normalize-check-failing-lines): New functions, used to update
23689         the *--failing-lines-part* variables.
23691 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
23693         * lisp/cus-start.el (standard): Spelling fix.
23695 2017-07-08  Philipp Stephani  <phst@google.com>
23697         Module assertions: check for garbage collections
23699         It's technically possible to write a user pointer finalizer that calls
23700         into Emacs module functions.  This would be disastrous because it
23701         would allow arbitrary Lisp code to run during garbage collection.
23702         Therefore extend the module assertions to check for this case.
23704         * src/emacs-module.c (module_assert_thread): Also check whether a
23705         garbage collection is in progress.
23707         * test/data/emacs-module/mod-test.c (invalid_finalizer)
23708         (Fmod_test_invalid_finalizer): New test module functions.
23709         (emacs_module_init): Register new test function.
23711         * test/src/emacs-module-tests.el (module--test-assertion)
23712         (module--with-temp-directory): New helper macros.
23713         (module--test-assertions--load-non-live-object): Rename existing
23714         unit test, use helper macros.
23715         (module--test-assertions--call-emacs-from-gc): New unit test.
23717 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
23719         Capitalize the menu entry for display-line-numbers
23721         * lisp/menu-bar.el (menu-bar-showhide-menu): Capitalize menu item
23722         for display-line-numbers.  Suggested by Martin Rudalics
23723         <rudalics@gmx.at>.
23725 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
23727         Update Unicode data and files to Unicode 10.0
23729         * admin/notes/unicode:
23730         * admin/unidata/README:
23731         * admin/unidata/BidiBrackets.txt:
23732         * admin/unidata/BidiMirroring.txt:
23733         * admin/unidata/Blocks.txt:
23734         * admin/unidata/IVD_Sequences.txt:
23735         * admin/unidata/NormalizationTest.txt:
23736         * admin/unidata/SpecialCasing.txt:
23737         * admin/unidata/UnicodeData.txt:
23738         * lisp/international/characters.el:
23739         * lisp/international/fontset.el (script-representative-chars):
23740         * lisp/international/mule-cmds.el (ucs-names): Update per Unicode 10.0.
23742 2017-07-08  Alexander Gramiak  <agrambot@gmail.com>
23744         Support '=' in Scheme and Lisp tags in 'etags'
23746         * lib-src/etags.c (get_lispy_tag): New function.
23747         (L_getit, Scheme_functions): Use get_lispy_tag (Bug#5624).
23748         * test/manual/etags/CTAGS.good:
23749         * test/manual/etags/ETAGS.good_1:
23750         * test/manual/etags/ETAGS.good_2:
23751         * test/manual/etags/ETAGS.good_3:
23752         * test/manual/etags/ETAGS.good_4:
23753         * test/manual/etags/ETAGS.good_5:
23754         * test/manual/etags/ETAGS.good_6:
23755         * test/manual/etags/Makefile:
23756         * test/manual/etags/el-src/TAGTEST.EL: Update tests.
23757         * test/manual/etags/scm-src/test.scm: New tests for Scheme.
23759 2017-07-08  Alexander Kuleshov  <kuleshovmail@gmail.com>
23761         Avoid compiler warnings in xdisp.c debugging code
23763         * src/xdisp.c (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
23764         Use pD directives for ptrdiff_t values instead of pI, to avoid
23765         compilation warnings on 64-bit hosts.  (Bug#27597)
23767 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
23769         Commentary enhancement in frame.el
23771         * lisp/frame.el: Explain how to test whether a variable needs to
23772         be added to the list of those which are watched for buffer
23773         redisplay.
23775 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
23777         Support display of line numbers natively
23779         This merges branch 'line-numbers'.
23780         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
23781         function.
23782         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
23783         * src/dispextern.h (struct it): New members pt_lnum, lnum,
23784         lnum_bytepos, lnum_width, and lnum_pixel_width.
23785         * src/indent.c (line_number_display_width): New function,
23786         refactored from line-number width calculations in vertical-motion.
23787         (Fvertical_motion): Call line_number_display_width when the width
23788         of line-number display is needed.
23789         (Fline_number_display_width): New defun.
23790         (syms_of_indent): Defsubr it.
23791         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
23792         the width used up by line numbers by looking near the window-start
23793         point.  If window-start is outside of the accessible portion,
23794         temporarily widen the buffer.
23795         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
23796         space taken by the line-number display.
23797         * src/xdisp.c (display_count_lines_logically)
23798         (display_count_lines_visually, maybe_produce_line_number)
23799         (should_produce_line_number, row_text_area_empty): New functions.
23800         (try_window_reusing_current_matrix): Don't use this method when
23801         display-line-numbers is in effect.
23802         (try_window_id, try_cursor_movement): Disable these optimizations
23803         when the line-number-current-line face is different from
23804         line-number face and for relative line numbers.
23805         (try_window_id, redisplay_window, try_cursor_movement): For
23806         visual line-number display, disable the same redisplay
23807         optimizations as for relative.
23808         (x_produce_glyphs): Adjust tab stops for the horizontal
23809         space taken by the line-number display.
23810         (hscroll_window_tree): Adjust hscroll calculations to line-number
23811         display.
23812         (DISP_INFINITY): Renamed from INFINITY to avoid clashes with
23813         math.h; all users changed.
23814         (set_cursor_from_row): Fix calculation of cursor X coordinate in
23815         R2L rows with display-produced glyphs at the beginning.
23816         (display_line): Use should_produce_line_number to determine
23817         whether a line number should be produced for each glyph row, and
23818         maybe_produce_line_number to produce line numbers.
23819         Don't display line numbers in the minibuffer and in tooltip
23820         frames.
23821         Call row_text_area_empty to verify that a glyph
23822         row's text area is devoid of any glyphs that came from a buffer or
23823         a string.  This fixes a bug with empty-lines indication
23824         disappearing when line numbers or line-prefix are displayed.
23825         (syms_of_xdisp) <display-line-numbers, display-line-numbers-widen>
23826         <display-line-number-width>: New buffer-local variables.
23827         <display-line-numbers-current-absolute>: New variable.
23829         * lisp/cus-start.el (standard): Provide customization forms for
23830         display-line-numbers and its sub-features.
23831         * lisp/faces.el (line-number, line-number-current-line): New faces.
23832         * lisp/frame.el: Add display-line-numbers, display-line-numbers-widen,
23833         display-line-numbers-current-absolute, and
23834         display-line-number-width to the list of variables that should
23835         trigger redisplay of the current buffer.
23836         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
23837         turn display-line-numbers on and off.
23838         (toggle-display-line-numbers): New function.
23839         * lisp/simple.el (last--line-number-width): New internal variable.
23840         (line-move-visual): Use it to adjust temporary-goal-column when
23841         line-number display changes its width.
23843         * doc/emacs/basic.texi (Position Info): Add cross-reference to
23844         "Display Custom", for line-number display.
23845         * doc/emacs/custom.texi (Init Rebinding):
23846         * doc/emacs/modes.texi (Minor Modes): Remove references to
23847         linum-mode.
23848         * doc/emacs/display.texi (Display Custom): Describe the
23849         line-number display.
23850         * doc/lispref/display.texi (Size of Displayed Text): Document
23851         line-number-display-width.
23853         * etc/NEWS: Document display-line-numbers and its customizations.
23855 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
23857         Fix more ungetc bugs with encoding errors
23859         * src/lread.c (infile): New variable, replacing ...
23860         (instream): ... this.  All uses changed.
23861         (readbyte_from_stdio): New function, which deals with lookahead.
23862         (readbyte_from_file, Fget_file_char): Use it.
23863         (Fget_file_char): When misused, signal an error instead of
23864         relying on undefined behavior.
23865         (close_infile_unwind): New function.
23866         (Fload): Use it.
23867         (readevalloop): 2nd arg is now struct infile *, not FILE *.
23868         All callers changed.
23869         (read1): Handle lookahead when copying doc strings with
23870         encoding errors.
23872 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
23874         Avoid ungetc when loading charset maps from files
23876         * src/charset.c (read_hex): New args LOOKAHEAD and TERMINATOR,
23877         replacing the old EOF.  All callers changed.  This avoids the
23878         need to call ungetc.
23880 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
23882         Fix ungetc bug when reading an encoding error
23884         * src/lread.c (readchar, read_emacs_mule_char): Fix off-by-one
23885         error when reading an encoding error from a file, e.g., a symbol
23886         in an .elc file whose name is "\360\220\200\360".
23888 2017-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
23890         * lisp/wid-edit.el (widget-color--choose-action): Use a closure
23892         * lisp/window.el (display-buffer--special-action): Use a closure.
23894 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
23896         Add new todo-mode.el tests
23898         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
23899         Declare an Edebug spec.  Restore pre-test-run state of test files.
23900         (todo-test--show, todo-test--move-item)
23901         (todo-test--insert-item): New functions.
23902         (todo-test-get-archive): Remove, as subsumed by
23903         todo-test--show.  Adjust all callers.
23904         (todo-test--is-current-buffer): Rename from
23905         todo-test-is-current-buffer and adjust uses.
23906         (todo-test-item-highlighting): Use todo-test--show.
23907         (todo-test-revert-buffer01, todo-test-revert-buffer02)
23908         (todo-test-raise-lower-priority)
23909         (todo-test-todo-mark-unmark-category, todo-test-move-item01)
23910         (todo-test-move-item02, todo-test-move-item03)
23911         (todo-test-move-item04, todo-test-move-item05)
23912         (todo-test-toggle-item-header01)
23913         (todo-test-toggle-item-header02)
23914         (todo-test-toggle-item-header03)
23915         (todo-test-toggle-item-header04)
23916         (todo-test-toggle-item-header05)
23917         (todo-test-toggle-item-header06)
23918         (todo-test-toggle-item-header07): New tests.
23920         * test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
23921         * test/lisp/calendar/todo-mode-resources/todo-test-1.todo:
23922         Modify to accommodate new tests.
23924 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
23926         todo-mode.el: Fix handling of hidden item headers (bug#27609)
23928         * lisp/calendar/todo-mode.el (todo--item-headers-hidden): New variable.
23929         (todo-toggle-item-header): Use it.  Make this command a noop
23930         if the file has no items.
23931         (todo-move-item, todo-item-done): Instead of concatenating the
23932         items to move into one string, make a list of them to
23933         facilitate handling hidden headers.  Adjust insertion accordingly.
23934         (todo-archive-done-item): Handle hidden headers in archive file.
23935         (todo-unarchive-items): Handle hidden headers in todo file.
23936         (todo-backward-item): Use todo--item-headers-hidden and handle
23937         moving backward work when item date-time headers are hidden.
23938         (todo-remove-item): Delete date-time header overlay.
23939         (todo-get-overlay, todo-insert-with-overlays): Make them work
23940         with hidden date-time headers.
23941         (todo-modes-set-2): Make todo--item-headers-hidden buffer local.
23943 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
23945         Fix several todo-mode bugs found while debugging bug#27609
23947         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Calculate
23948         current category only once.
23949         (todo-mark-category): Update number of marked items to avoid
23950         spurious duplication in todo-categories-with-marks alist and
23951         corruption of the todo-categories alist.  Handle empty line
23952         when there are no todo items and done items are shown.
23953         (todo-set-item-priority): Make noop if called from
23954         todo-raise-item-priority or todo-lower-item-priority when
23955         point is on a done todo item or an empty line.
23956         (todo-move-item): Use markers instead of integer positions to
23957         correctly handle deleting the now moved items from the source
23958         category (without markers an infinite loop arises when moving
23959         marked item to a preceding category).
23960         (todo-unarchive-items): Put point on the (first) restored done
23961         item, instead of leaving it at the end of the done items
23962         separator string.
23963         (todo-revert-buffer): Ensure buffer remains read-only after
23964         reverting.
23966 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
23968         Exclude blank columns from value of line-number-display-width
23970         * src/indent.c (Fline_number_display_width): Don't add 2 to the
23971         number of columns we return, to make this consistent with
23972         display-line-number-width.
23974 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
23976         Fix vertical-motion across the place where line-number width changes
23978         * src/indent.c (line_number_display_width): New function,
23979         refactored from line-number width calculations in vertical-motion.
23980         (Fvertical_motion): Call line_number_display_width when the width
23981         of line-number display is needed.
23982         (Fline_number_display_width): New defun.
23983         (syms_of_indent): Defsubr it.
23985         * doc/lispref/display.texi (Size of Displayed Text): Document
23986         line-number-display-width.
23988         * etc/NEWS: Mention line-number-display-width.
23990         * lisp/simple.el (last--line-number-width): New internal variable.
23991         (line-move-visual): Use it to adjust temporary-goal-column when
23992         line-number display changes its width.
23994 2017-07-07  Martin Rudalics  <rudalics@gmx.at>
23996         Remove Vwindow_text_change_functions and related code
23998         Vwindow_text_change_functions had been provided for implementing
23999         line numbers but apparently was never functional or in use.
24001         * src/xdisp.c (redisplay_window): Remove handling of
24002         Vwindow_text_change_functions.
24003         (syms_of_xdisp): Remove Qwindow_text_change_functions.
24004         (Vwindow_text_change_functions): Remove variable.
24005         * doc/lispref/hooks.texi (Standard Hooks): Remove entry for
24006         `window-text-change-functions'.
24008 2017-07-07  Mark Oteiza  <mvoteiza@udel.edu>
24010         Convert more uses of looking-at to following-char
24012         More followup to Karl Fogel's commit a84da83c1.
24013         * lisp/dired-aux.el (dired-add-entry, dired-subdir-hidden-p):
24014         * lisp/dired-x.el (dired-mark-unmarked-files, dired-mark-sexp):
24015         * lisp/help-fns.el (doc-file-to-man, doc-file-to-info):
24016         * lisp/proced.el (proced-toggle-marks):
24017         * lisp/progmodes/f90.el (f90-indent-line):
24018         * lisp/ses.el (ses-load):
24019         * lisp/tar-mode.el (tar-expunge): Replace instances of looking-at with
24020         char comparisons using following-char.
24022 2017-07-07  Noam Postavsky  <npostavs@gmail.com>
24024         Don't skip epg tests (Bug#23561)
24026         * test/lisp/epg-tests.el (with-epg-tests): Ignore REQUIRE-PASSPHRASE
24027         parameter, since we supply the passphrase via pinentry-program for all
24028         GPG versions (as of 2017-02-28 "Fix epg-tests with dummy-pinentry
24029         program (Bug#23619)").
24030         (epg-tests-program-alist-for-passphrase-callback): Remove.
24032 2017-07-06  Eli Zaretskii  <eliz@gnu.org>
24034         Implement line numbers that disregard narrowing
24036         * src/xdisp.c (display_count_lines_logically): New function,
24037         counts line numbers disregarding narrowing.  Suggested by Andy
24038         Moreton <andrewjmoreton@gmail.com>.
24039         (maybe_produce_line_number): Call display_count_lines_logically
24040         instead of display_count_lines.  Adapt BEGV, ZV, etc. to
24041         display-line-numbers-widen.
24042         (syms_of_xdisp) <display-line-numbers-widen>: New buffer-local
24043         variable.
24045         * lisp/cus-start.el (standard): Provide a customization form for
24046         display-line-numbers-widen.
24047         * lisp/frame.el: Add display-line-numbers-widen,
24048         display-line-numbers-current-absolute, and
24049         display-line-number-width to the list of variables that should
24050         trigger redisplay of the current buffer.
24052         * doc/emacs/display.texi (Display Custom): Document
24053         display-line-numbers-widen.
24055 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
24057         Fix lisp-comment-indent for single-semicolon case
24059         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): Only check for
24060         open paren if we're looking at multiple comment characters.
24061         * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-comment-indent-1)
24062         (lisp-comment-indent-2): New tests.
24064 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
24066         Spelling fixes
24068         * lisp/org/org-table.el (org-table-sort-lines):
24069         Fix misspelling in prompt.
24070         * lisp/org/ox-ascii.el (org-ascii--describe-datum):
24071         Fix misspelling in call to org-element-lineage.
24073 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
24075         Don't put whitespace between open paren and comment in Lisp modes (Bug#19740)
24077         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): If current
24078         line's code ends in open paren, set comment indentation exactly to
24079         column following it.
24080         (lisp-mode-variables): Set `comment-indent-function' to
24081         `lisp-comment-indent'.
24083 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
24085         Allow comment-indent-functions to specify exact indentation (Bug#385)
24087         * lisp/newcomment.el (comment-choose-indent): Interpret a cons of two
24088         integers as indicating a range of acceptable indentation.
24089         (comment-indent): Don't apply `comment-inline-offset',
24090         `comment-choose-indent' already does that.
24091         (comment-indent-function):
24092         * doc/emacs/programs.texi (Options for Comments): Document new
24093         acceptable return values.
24094         * etc/NEWS: Announce it.
24096 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
24098         Check for integer overflow in xbm images
24100         * src/image.c (XBM_TK_OVERFLOW): New constant.
24101         (xbm_scan): Check for integer overflow instead of relying on
24102         undefined behavior.  Check that octal digits are actually octal.
24104 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
24106         Convert hex digits more systematically
24108         This makes the code a bit smaller and presumably faster, as
24109         it substitutes a single lookup for conditional jumps.
24110         * src/character.c (hexdigit): New constant.
24111         (syms_of_character) [HEXDIGIT_IS_CONST]: Initialize it.
24112         * src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST): New macros.
24113         (hexdigit): New decl.
24114         (char_hexdigit): New inline function.
24115         * src/charset.c: Do not include c-ctype.h.
24116         * src/charset.c (read_hex):
24117         * src/editfns.c (styled_format):
24118         * src/image.c (xbm_scan):
24119         * src/lread.c (read_escape):
24120         * src/regex.c (ISXDIGIT) [emacs]:
24121         Use char_hexdigit insted of doing it by hand.
24123 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
24125         Don’t use -Woverride-init
24127         I have some further changes in mind that would also need to
24128         disable the -Woverride-init warnings.  In practice these warnings
24129         seem to be more trouble than they’re worth, so disable them in the
24130         cc command line.
24131         * configure.ac: Disable -Woverride-init here ...
24132         * src/bytecode.c: ... rather than here.
24134 2017-07-05  Glenn Morris  <rgm@gnu.org>
24136         * lisp/progmodes/python.el (auto-mode-alist): Add .pyi.  (Bug#27847)
24138         * lisp/org/ox-html.el (org-html-infojs-template): Update copyright.
24140 2017-07-05  Glenn Morris  <rgm@gnu.org>
24142         Small fix for bug-reference.el
24144         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
24145         Autoload safety property.  (Bug#27481)
24147 2017-07-05  Michael Albinus  <michael.albinus@gmx.de>
24149         Suppress timers in Tramp
24151         * lisp/net/tramp.el (tramp-file-name-handler): Don't trigger timers.
24153         * test/lisp/net/tramp-tests.el
24154         (tramp-test36-asynchronous-requests): Trigger timers.
24155         (tramp-test37-recursive-load, tramp-test38-remote-load-path):
24156         Set `default-directory' to a trustworthy value.
24158 2017-07-05  rocky  <rb@dustyfeet.com>
24160         Add realgud face definitions
24162         Add realgud faces to tdsh-dark-theme
24164 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
24166         * lisp/progmodes/cc-awk.el: Mark unused args
24168         * lisp/progmodes/cc-bytecomp.el: Mark unused args
24170 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
24172         * lisp/progmodes/cc-defs.el (lookup-syntax-properties): Move ...
24174         ... before first use
24176 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
24178         * lisp/progmodes/cc-vars.el: Mark unused args
24180 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
24182         * lisp/progmodes/cc-langs.el: Mark unused args
24184         (c-primary-expr-regexp): Remove unused vars ambiguous-prefix-ops and
24185         unambiguous-prefix-ops.
24187 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
24189         * lisp/progmodes/cc-engine.el: Mark unused args
24191         (c-beginning-of-statement-1, c-guess-basic-syntax):
24192         Remove unused var c-in-literal-cache.
24193         (c-debug-sws-msg): Silence byte-compiler, even if we don't use the arg.
24194         (c-append-to-state-cache): Remove unused var `bra+1s'.
24195         (c-remove-stale-state-cache): Remove unused var `pps-point-state'.
24196         (c-invalidate-state-cache-1): Remove unused var `pa'.
24197         (c-forward-decl-or-cast-1): Change comments so they don't look like
24198         outline headers.
24199         (c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
24200         Declare before first use.
24201         (c-forward-decl-or-cast-1): Remove unused var `backup-kwd-sym'.
24202         (c-backward-over-enum-header): Remove unused var `up-sexp-pos'.
24204 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
24206         * lisp/progmodes/cc-cmds.el: Remove unused vars
24208         (c-syntactic-context): Declare as dynbound.
24209         (c-beginning-of-defun, c-end-of-defun): Remove unused var `start'.
24211 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
24213         * lisp/progmodes/cc-guess.el: Remove unused var
24215         (c-guess-view-reorder-offsets-alist-in-style): Remove redundantly bound
24216         and computed variable `guessed-syntactic-symbols'.
24218 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
24220         * lisp/progmodes/cc-align.el: Mark unused arguments
24222 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
24224         * lisp/progmodes/cc-mode.el: Mark unused arguments
24226         (c-parse-quotes-before-change, c-parse-quotes-after-change):
24227         Remove unused vars.
24229 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
24231         Mention `ffap-url-unwrap-local' in find-file-at-point's docstring (Bug#27564)
24233         * lisp/ffap.el (find-file-at-point): Mention `ffap-url-unwrap-local'
24234         and `ffap-url-unwrap-remote'.
24236 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
24238         Fix infloop in uncomment-region-default (Bug#27112)
24240         When `comment-continue' has only blanks, `comment-padright' produces a
24241         regexp that matches the empty string, so `uncomment-region-default'
24242         will loop infinitely.
24243         * lisp/newcomment.el (comment-padright): Only return a regexp if STR
24244         has nonblank characters.
24246 2017-07-04  Eli Zaretskii  <eliz@gnu.org>
24248         Fix display of current line number in visual mode
24250         * src/xdisp.c (maybe_produce_line_number): Fix visual-mode display
24251         of current line when line-number-current-line face was customized.
24252         Reported by Filipe Silva <filipe.silva@gmail.com>.
24254 2017-07-03  Philipp Stephani  <phst@google.com>
24256         Use hook instead of face list to inhibit electric quoting
24258         This is more flexible and doesn't couple electric quoting to font
24259         locking.
24260         Give that 'electric-quote-code-faces' was just introduced, remove it
24261         without formal deprecation.
24263         * lisp/electric.el (electric-quote-inhibit-functions): New abnormal
24264         hook variable.
24265         (electric-quote-post-self-insert-function): Run the hook.  Remove
24266         use of old 'electric-quote-code-faces' variable.
24268         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
24269         (electric-quote-markdown-in-code): Adapt unit tests.
24271 2017-07-03  Ingo Lohmar  <i.lohmar@gmail.com>
24273         Offer non-aligned indentation in lists in js-mode (Bug#27503)
24275         * lisp/progmodes/js.el (js--proper-indentation):
24276         New customization option 'js-indent-align-list-continuation'.
24277         Affects argument lists as well as arrays and object properties.
24278         * test/manual/indent/js-indent-align-list-continuation-nil.js:
24279         Test the change.
24281 2017-07-03  Eli Zaretskii  <eliz@gnu.org>
24283         Avoid errors in vertical-motion when buffer is narrowed
24285         * src/indent.c (Fvertical_motion): If need to start from
24286         window-start, and it is outside of the accessible portion,
24287         temporarily widen the buffer.  This avoids errors in evil-mode.
24288         Reported by James Nguyen <james@jojojames.com>.
24290 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
24292         (Re-)activate remote tests of filenotify-tests.el
24294         * test/lisp/filenotify-tests.el
24295         (file-notify-test-remote-temporary-file-directory):
24296         Declare default host for mock method.  Offer home directory
24297         for mock method if it doesn't exist.
24298         (file-notify-test09-watched-file-in-watched-dir-remote):
24299         Remove, it doesn't work reliably.
24301 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
24303         Reset ansi escape context before printing eshell prompt (Bug#27407)
24305         * lisp/eshell/em-prompt.el (eshell-emit-prompt): Reset
24306         `ansi-color-context-region'.
24308 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
24310         Let ansi-color overlay hooks work in eshell (Bug#27407)
24312         * lisp/ansi-color.el (ansi-color-make-extent): Add
24313         `ansi-color-freeze-overlay' to `insert-behind-hooks' as well.
24314         * lisp/eshell/esh-mode.el (eshell-output-filter): Let-bind
24315         `inhibit-modification-hooks' to nil while inserting the string.
24317 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
24319         Fix and simplify ansi escape detection (Bug#21381)
24321         * lisp/ansi-color.el (ansi-color-regexp, ansi-color-drop-regexp):
24322         Remove.
24323         (ansi-color-control-seq-regexp): New constant, matches all escape
24324         sequences.
24325         (ansi-color-filter-apply, ansi-color-apply)
24326         (ansi-color-filter-region, ansi-color-apply-on-region): Use it instead
24327         of matching color sequences separately from ignored sequences.
24328         Differentiate color sequences simply by checking the last character.
24330 2017-07-03  Damien Cassou  <damien@cassou.me>
24332         Add absolute optional parameter to line-number-at-pos (Bug#26417)
24334         * lisp/simple.el (line-number-at-pos): Add a second optional
24335           argument 'absolute'.
24336         * test/lisp/simple-tests.el: Add tests for 'line-number-at-pos'.
24338 2017-07-03  R. Bernstein  <rocky@gnu.org>
24340         Add realgud faces
24342 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
24344         Fix tramp-tests.el for hydra
24346         * test/Makefile.in: Remove instrumentation for tramp-tests.
24348         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
24349         Remove instrumentation.  Wrap with a timeout.  Give hydra
24350         another timer value.  Set `default-directory' in timer.
24352 2017-07-03  Bastien  <bzg@gnu.org>
24354         Merge branch 'master' into scratch/org-mode-merge
24356         Merge branch 'master' into scratch/org-mode-merge
24358 2017-07-03  Tino Calancha  <tino.calancha@gmail.com>
24360         dired-do-shell-command: Fix check for wildcards
24362         * lisp/dired-aux.el (dired-do-shell-command): Replace just '?', '*'
24363         and '`?' i.e., keep the whitespaces.
24364         * test/lisp/dired-aux-tests.el (dired-test-bug27496): Add test.
24366 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
24368         Split shr-copy-url dwim behavior into separate functions (Bug#26826)
24370         * lisp/net/shr.el (shr-url-at-point, shr-probe-url)
24371         (shr-probe-and-copy-url, shr-maybe-probe-and-copy-url): New functions,
24372         split out from `shr-copy-url'.
24373         (shr-copy-url): Only copy the url, don't fetch it.
24374         (shr-map): Bind 'w' and 'u' to `shr-maybe-probe-and-copy-url', which
24375         has the same behavior as the old `shr-copy-url'.
24376         * etc/NEWS: Announce changes.
24378 2017-07-02  Alex Branham  <branham@utexas.edu>  (tiny change)
24380         Make eww-search-words prompt for query if nothing selected
24382         * lisp/net/eww.el (eww-search-words): Make eww-search-words prompt the
24383         user for a search query if the region is inactive or if the region is
24384         just whitespace.
24386 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
24388         * lisp/emacs-lisp/cl-print.el (cl-print-compiled-button): t by default.
24390         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace):
24391         * lisp/help-fns.el (describe-variable): No need to let-bind
24392         `cl-print-compiled-button' to t anymore.
24394 2017-07-02  Philipp Stephani  <phst@google.com>
24396         Electric quotes: Improve support for Markdown mode (Bug#24709)
24398         Introduce a new user option 'electric-quote-context-sensitive'.  If
24399         non-nil, have ' insert an opening quote if sensible.
24401         Also introduce a new variable 'electric-quote-code-faces'.  Major
24402         modes such as 'markdown-mode' can add faces to this list to treat text
24403         as inline code and disable electric quoting.
24405         * lisp/electric.el (electric-quote-context-sensitive): New user
24406         option.
24407         (electric-quote-code-faces): New variable.
24408         (electric-quote-post-self-insert-function): Treat ' as ` if
24409         desired and applicable; disable electric quoting for given faces.
24411         * test/lisp/electric-tests.el (electric-quote-opening-single)
24412         (electric-quote-closing-single, electric-quote-opening-double)
24413         (electric-quote-closing-double)
24414         (electric-quote-context-sensitive-backtick)
24415         (electric-quote-context-sensitive-bob-single)
24416         (electric-quote-context-sensitive-bob-double)
24417         (electric-quote-context-sensitive-bol-single)
24418         (electric-quote-context-sensitive-bol-double)
24419         (electric-quote-context-sensitive-after-space-single)
24420         (electric-quote-context-sensitive-after-space-double)
24421         (electric-quote-context-sensitive-after-letter-single)
24422         (electric-quote-context-sensitive-after-letter-double)
24423         (electric-quote-context-sensitive-after-paren-single)
24424         (electric-quote-context-sensitive-after-paren-double)
24425         (electric-quote-markdown-in-text)
24426         (electric-quote-markdown-in-code): New unit tests.
24428 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
24430         * doc/misc/tramp.texi: Replace ftp:// and http:// URLs by https://.
24432 2017-07-02  Eli Zaretskii  <eliz@gnu.org>
24434         Avoid off-by-one errors in column C-n/C-p calculations
24436         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
24437         the width used up by line numbers by looking near the window-start
24438         point.
24440 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
24442         Ask confirmation for all suspicious wildcards
24444         * lisp/dired-aux.el (dired-do-shell-command): Check that all
24445         the wildcards are right.  Otherwise, ask for confirmation (Bug#27496).
24447 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
24449         Extend dired-do-shell-command substitutions
24451         Substitute "`?`" inside command with the current file name.
24452         See details in:
24453         https://lists.gnu.org/r/emacs-devel/2017-06/msg00618.html
24454         * lisp/dired-aux.el (dired-quark-subst-regexp, dired-star-subst-regexp):
24455         Mark as obsolete.
24456         (dired-isolated-string-re): New defun.
24457         (dired--star-or-qmark-p): New predicate.
24458         (dired-do-shell-command): Use dired--star-or-qmark-p.  Substitute "`?`"
24459         with the current file name.
24460         * doc/emacs/dired.texi (Shell Commands in Dired): Update manual.
24462 2017-07-02  Alan Mackenzie  <acm@muc.de>
24464         Fix bug in yesterday's CC Mode commit.
24466         * lisp/progmodes/cc-mode.el (c-quoted-number-head-before-point): Check a
24467         search has succeded before using the match data.
24468         (c-quoted-number-head-before-point, c-quoted-number-head-after-point):
24469         Specify that the position of the extremity of the head or tail is in the
24470         match data.
24472 2017-07-02  Philipp Stephani  <phst@google.com>
24474         Remove FIXME comments about sentinel values
24476         These FIXMEs can't be addressed because they would require breaking
24477         changes to the module API.  Furthermore, other module functions don't
24478         return sentinel values as well, so users generally have to call
24479         non_local_exit_check anyway.
24481         * src/emacs-module.c (module_set_user_ptr)
24482         (module_set_user_finalizer, module_vec_set, module_vec_size): Remove
24483         FIXME comments.
24485 2017-07-02  Philipp Stephani  <phst@google.com>
24487         Adapt Lisp reference to reader changes
24489         The reader now warns about some unescaped character literals, but
24490         still allows them for compatibility reasons.  Slightly adapt the
24491         manual to forbid them officially.
24493         * doc/lispref/objects.texi (Basic Char Syntax): Document that
24494         backslashes are now required before some characters.
24496 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
24498         Fix Bug#27502
24500         * lisp/autorevert.el (auto-revert-find-file-function): New defun.
24501         (find-file-hook): Use it.  (Bug#27502)
24502         (auto-revert-remove-current-buffer): New defun.
24503         (auto-revert-mode, auto-revert-buffers): Use it.
24505 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
24507         Let test summary go through even if some logs were not generated
24509         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): Check
24510         for existence of log files before reading.
24512 2017-07-01  Philipp Stephani  <phst@google.com>
24514         * src/module-env-25.h (copy_string_contents): Fix comment.
24516 2017-07-01  Philipp Stephani  <phst@google.com>
24518         Also mark module init function as noexcept if possible
24520         * src/emacs-module.h.in (emacs_module_init): Mark as noexcept if
24521         possible.
24523 2017-07-01  Philipp Stephani  <phst@google.com>
24525         Improve C++98 compatibility
24527         * src/emacs-module.h.in (emacs_funcall_exit): Lose trailing comma.
24528         C++98 doesn't allow trailing commas in enumerations.
24530 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
24532         Minor copyedits of manuals regarding bidi conformance
24534         * doc/emacs/mule.texi (Bidirectional Editing):
24535         * doc/lispref/display.texi (Bidirectional Display): Update the
24536         bidi conformance text.
24538 2017-07-01  Alan Mackenzie  <acm@muc.de>
24540         Make C++ digit separators work.  Amend the handling of single quotes generally
24542         Single quotes, even in strings and comments, are now marked with the
24543         "punctuation" syntax-table property, except where they are validly bounding a
24544         character literal.  They are font locked with font-lock-warning-face except
24545         where they are valid.  This is done in C, C++, ObjC, and Java Modes.
24547         * lisp/progmodes/cc-defs.el (c-clear-char-property-with-value-on-char-function)
24548         (c-clear-char-property-with-value-on-char, c-put-char-properties-on-char): New
24549         functions/macros.
24551         * lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes): New function.
24552         (c-basic-matchers-before): invoke c-font-lock-invalid-single-quotes.
24554         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove
24555         c-before-after-change-digit-quote from wherever it occurs.  Insert
24556         c-parse-quotes-before-change into the entries for the languages where it is
24557         needed.
24558         (c-before-font-lock-functions): Remove c-before-after-change-digit-quote from
24559         wherever it occurs.  Insert c-parse-quotes-after-change into the entries for
24560         the languages which need it.
24561         (c-has-quoted-numbers): New lang-defconst/-defvar.
24563         * lisp/progmodes/cc-mode.el (c-before-after-change-digit-quote): Remove.
24564         (c-maybe-quoted-number-head, c-maybe-quoted-number-tail)
24565         (c-maybe-quoted-number): New defconsts.
24566         (c-quoted-number-head-before-point, c-quoted-number-tail-after-point)
24567         (c-quoted-number-straddling-point, c-parse-quotes-before-change)
24568         (c-parse-quotes-after-change): New functions.
24570 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
24572         Ignore mouse-movement for describe-key-briefly (Bug#12204)
24574         * lisp/help.el (help-read-key-sequence): Add optional argument ot
24575         ignore `mouse-movement' events.
24576         (describe-key-briefly): Use it.
24577         * doc/emacs/help.texi (Key Help):
24578         * etc/NEWS: Mention that mouse movement is ignored.
24580 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
24582         Refactor key describing commands
24584         * lisp/help.el (help-read-key-sequence, help--analyze-key): New
24585         functions, extracted from `describe-key' and `describe-key-briefly'.
24586         (describe-key, describe-key-briefly): Use them.
24588 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
24590         Improve display of tabs with line numbers
24592         * src/xdisp.c (x_produce_glyphs): Improve calculation of next tab
24593         stop in hscrolled lines.  Prevent aborts in compute_line_metrics.
24595 2017-07-01  Alan Third  <alan@idiocy.org>
24597         Fix threads on NS (bug#25265)
24599         src/nsterm.h (ns_select): Compiler doesn't like sigmask being const.
24600         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
24601         src/nsterm.m (ns_select): Call thread_select from within ns_select.
24602         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
24603         (ns_send_appdefined): Don't wait for main thread when sending app
24604         defined event.
24605         src/process.c (wait_reading_process_output): Call thread_select from
24606         within ns_select.
24607         src/systhread.c (sys_cond_broadcast) [HAVE_NS]: Break ns_select out of
24608         its event loop using ns_run_loop_break.
24610 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
24612         Avoid slow redisplay under 'visual' mode of line numbers
24614         * src/xdisp.c (display_count_lines_visually): Avoid very slow
24615         redisplay when this function is invoked very far from point.
24616         Reported by Alex <agrambot@gmail.com>.
24618 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
24620         * lisp/help-fns.el (describe-variable): Let-bind cl-print-compiled-button.
24622 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
24624         * lisp/emacs-lisp/cl-extra.el (cl--random-state): New defstruct
24626         (cl--random-state, cl--random-time): Move from cl-lib.el.
24627         (cl-random): Use struct accessors.
24628         (cl-random-state-p): Remove, provided by the defstruct.
24629         (cl-make-random-state): Rewrite to struct constructor.
24631 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
24633         * lisp/emacs-lisp/debug.el (debugger-list-functions): Remove obsolete msg
24635 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
24637         Improve documentation of faces related to display-line-numbers
24639         * lisp/faces.el (line-number, line-number-current-line): Warn
24640         against using non-monospaced fonts.
24642 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
24644         Fix relative-number display with non-nil display-line-number-width
24646         * src/xdisp.c (maybe_produce_line_number): Don't treat a zero
24647         value of display-line-number-width as acceptable.
24648         Handle the case of 'relative' with display-line-number-width
24649         non-nil and smaller than the absolute line number requires.
24650         Reported by Alex <agrambot@gmail.com>.
24652 2017-06-30  Michael Albinus  <michael.albinus@gmx.de>
24654         Release Tramp 2.3.2
24656         * doc/misc/tramp.texi (Android shell setup): Show default file name.
24657         Structure section.
24659         * doc/misc/trampver.texi:
24660         * lisp/net/trampver.el: Change version to "2.3.2".
24662         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
24663         Offer home directory for mock method if it doesn't exist.
24665 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
24667         Add documentation for display-line-numbers
24669         * doc/emacs/custom.texi (Init Rebinding):
24670         * doc/emacs/modes.texi (Minor Modes): Remove references to
24671         linum-mode.
24672         * doc/emacs/display.texi (Display Custom): Describe the
24673         line-number display.
24674         (Optional Mode Line): Fix the index entry to not conflict with
24675         that in "Display Custom".
24676         * doc/emacs/basic.texi (Position Info): Add cross-reference to
24677         "Display Custom", for line-number display.
24679         * src/xdisp.c (syms_of_xdisp): <display-line-numbers>: Mention
24680         display-line-numbers-disable in the doc string.
24682         * lisp/cus-start.el (standard): Fix lst change.
24684 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
24686         Support displaying zero as the number of the current line
24688         * src/xdisp.c (syms_of_xdisp)
24689         <display-line-numbers-current-absolute>: New variable.
24690         <display-line-numbers>: Doc fix.
24691         (maybe_produce_line_number): Support nil value of
24692         display-line-numbers-current-absolute.
24694         * lisp/cus-start.el (standard): Add customization form for
24695         display-line-numbers-current-absolute.
24697         * etc/NEWS: Document recently introduced features.
24699 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
24701         Speed up the visual-mode relative line numbers
24703         * src/xdisp.c (display_count_lines_visually): Introduce a
24704         shortcut: if a relative line number was already calculated for
24705         this iterator object, just increase it instead of the
24706         expensive call to move_it_to.  Argument list changed to pass a
24707         pointer to the iterator object.
24708         (maybe_produce_line_number): Adjust for change in signature of
24709         display_count_lines_visually.  Record the relative line number and
24710         the corresponding byte position in the iterator object also in the
24711         'visual' mode.
24713 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
24715         Fix hscrolling with line numbers on TTY frames
24717         * src/xdisp.c (hscroll_window_tree): Correct the X offset
24718         calculations on TTY frames.
24719         * src/term.c (produce_glyphs): Use it->lnum_pixel_width instead of
24720         a kludge using it->lnum_width.
24722 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
24724         Fix TAB display when the line-number face uses a smaller/larger font
24726         * src/dispextern.h (struct it): New member lnum_pixel_width.
24727         * src/xdisp.c (maybe_produce_line_number): Compute the width of
24728         the line-number display in pixels.
24729         (x_produce_glyphs): Use it->lnum_pixel_width instead of a kludge
24730         that used it->lnum_width and made assumptions about pixel width.
24732 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
24734         Escape NUL bytes in X selections (Bug#6991)
24736         * lisp/term/w32-win.el (w32--set-selection):
24737         * lisp/select.el (xselect--encode-string): Replace NUL bytes with
24738         "\0".
24739         * doc/emacs/killing.texi: Document new behavior.
24740         * etc/NEWS (times): Announce it.
24742 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
24744         Hide byte code in backtraces (Bug#6991)
24746         * lisp/emacs-lisp/debug.el (debugger-print-function): New defcustom,
24747         defaulting to `cl-print'.
24748         (debugger-insert-backtrace, debugger-setup-buffer): Use it instead of
24749         `prin1'.
24750         * etc/NEWS: Announce it.
24752 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
24754         Don't redundantly cl-print arglist in function docstring again
24756         * lisp/emacs-lisp/cl-print.el (cl-print-object): Don't print arglist
24757         part of docstring.
24758         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Update
24759         test accordingly.
24761 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
24763         Escape control characters in backtraces (Bug#6991)
24765         * src/print.c (syms_of_print): Add new variable,
24766         print-escape-control-characters.
24767         (print_object): Print control characters with octal escape codes when
24768         print-escape-control-characters is true.
24769         * lisp/subr.el (backtrace):
24770         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Bind
24771         `print-escape-control-characters' to t.
24773 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
24775         Improve ert backtrace recording
24777         Change ert to use the new `backtrace-frames' function instead of
24778         collecting frames one by one with `backtrace-frame'.  Additionally,
24779         collect frames starting from `signal' instead the somewhat arbitrary
24780         "6 from the bottom".  Skipping 6 frames would skip the expression that
24781         actually caused the signal that triggered the debugger.  Possibly 6
24782         was chosen because in the case of a failed test, the triggering frame
24783         is an `ert-fail' call, which is not so interesting.  But in case of a
24784         test throwing an error, this drops the `error' call which is too much.
24786         * lisp/emacs-lisp/debug.el (debugger-make-xrefs): Remove.
24787         * lisp/emacs-lisp/ert.el (ert--make-xrefs-region): Bring in relevant
24788         code from `debugger-make-xrefs'.
24789         (ert--print-backtrace): Add DO-XREFS parameter, delegate to
24790         `debugger-insert-backtrace'.
24791         (ert--run-test-debugger): Record the backtrace frames starting from
24792         the instigating `signal' call.
24793         (ert-run-tests-batch): Pass nil for `ert--print-backtrace's new
24794         DO-XREFS parameter.
24795         (ert-results-pop-to-backtrace-for-test-at-point): Pass t as DO-XREFS
24796         to `ert--print-backtrace' and remove call to `debugger-make-xrefs'.
24797         * test/lisp/emacs-lisp/ert-tests.el (ert-test-record-backtrace): Check
24798         the backtrace list instead of comparing its string representation.
24799         Expect `signal' to be the first frame.
24801 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
24803         Operate on frame list instead of printed backtrace
24805         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function,
24806         prints the given backtrace frames.
24807         (debugger-setup-buffer): Use it instead of editing the backtrace
24808         buffer text.
24810 2017-06-29  Eli Zaretskii  <eliz@gnu.org>
24812         Minor fixes
24814         * src/xdisp.c (maybe_produce_line_number): Fix bug that caused
24815         line numbers to be displayed in empty lines beyond ZV.
24816         (x_produce_glyphs): Start fixing TAB display in truncated lines.
24818 2017-06-29  Michael Albinus  <michael.albinus@gmx.de>
24820         Improve timer handling when Tramp accepts output
24822         * lisp/net/tramp-compat.el: Avoid compiler warning.
24824         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
24825         Remove lock machinery.
24827         * lisp/net/tramp.el (tramp-locked, tramp-locker): Move up.
24828         (tramp-file-name-handler): Add lock machinery from
24829         `tramp-sh-file-name-handler'.  Allow timers to run.
24830         (tramp-accept-process-output): Remove nasty workaround.
24831         Suppress timers.
24833         * test/lisp/net/tramp-tests.el (shell-command-sentinel):
24834         Suppress run in tests.
24835         (tramp--instrument-test-case-p): New defvar.
24836         (tramp--instrument-test-case): Use it in order to allow nested calls.
24837         (tramp--test-message, tramp--test-backtrace): New defsubst,
24838         will be used for occasional test instrumentation.
24839         (tramp-test00-availability, tramp-test31-vc-registered): Use them.
24840         (tramp-test28-shell-command)
24841         (tramp--test-shell-command-to-string-asynchronously): Suppress
24842         nasty messages.  Don't overwrite sentinel.
24843         (tramp-test36-asynchronous-requests): Rewrite major parts.
24844         Expect :passed.
24846 2017-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
24848         * lisp/url/url-history.el: Use lexical-binding
24850         (url-completion-function): Mark as obsolete.
24851         Mark unused args accordingly.
24853 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
24855         Don't assume url structs are vectors (Bug#27333)
24857         * lisp/url/url-history.el (url-history-update-url): Use `url-p'
24858         instead of `vectorp'.
24860 2017-06-28  Mark Oteiza  <mvoteiza@udel.edu>
24862         Replace with dolist some uses of while
24864         * lisp/calc/calc-units.el (calc-permanent-units):
24865         (math-compare-unit-names, math-simplify-units-quotient):
24866         (math-build-units-table-buffer): Use dolist to replace extra bindings
24867         and some while loops.
24869 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
24871         Make tcl-auto-fill-mode obsolete (Bug#10772)
24873         * lisp/progmodes/tcl.el (tcl-auto-fill-mode): Declare obsolete.
24874         * etc/NEWS: Announce it.
24876 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
24878         Don't read eshell/which output from *Help* buffer (Bug#26894)
24880         * lisp/help-fns.el (help-fns--analyse-function)
24881         (help-fns-function-description-header): New functions, extracted from
24882         describe-function-1.
24883         (describe-function-1): Use them.
24884         * lisp/eshell/esh-cmd.el (eshell/which): Use
24885         `help-fns-function-description-header' instead of
24886         `describe-function-1'.
24888 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
24890         Support default-text-properties
24892         * src/xdisp.c (should_produce_line_number): Call get-char-property
24893         at ZV as well, to support default-text-properties.
24895 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
24897         Avoid segfaults when some display vector is an empty string
24899         * src/xdisp.c (next_element_from_display_vector): Don't try
24900         accessing the dpvec[] array if its size is zero.  (Bug#27504)
24902 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
24904         Initial support for visually-relative line numbers
24906         Works very slowly.
24908         * src/xdisp.c (display_count_lines_visually): New function.
24909         (maybe_produce_line_number): Support 'visual' mode of line-number
24910         display.
24911         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
24912         also when glyph_row is NULL.  This is important for move_it_*
24913         functions.
24914         (syms_of_xdisp) <display-line-number-width>: Now buffer-local.
24915         (try_window_id, redisplay_window, try_cursor_movement): For
24916         'visual' line-number display, disable the same redisplay
24917         optimizations as for 'relative'.
24919         * lisp/cus-start.el (standard): Add new value for the
24920         customization form of display-line-numbers.
24922 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
24924         Update IT's metrics while simulating display
24926         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
24927         also when glyph_row is NULL.  This is important for move_it_*
24928         functions.
24930 2017-06-26  Teemu Likonen  <tlikonen@iki.fi>
24932         Fix bug in handling GnuPG's TRUST_MARGINAL status
24934         * lisp/epg.el (epg--status-TRUST_MARGINAL): Change symbol `marginal'
24935         to `good'.
24937 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
24939         Prefer `when' instead of 1-branch `if'
24941         * lisp/dired-aux.el (dired-do-shell-command): Store condition value
24942         in local variable ok.
24943         Use `when' instead of 1-branch `if'.
24945 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
24947         Use #' instead of (function ...)
24949         * lisp/dired-aux.el (dired-do-chxxx, dired-clean-directory)
24950         (dired-mark-confirm, dired-query, dired-byte-compile)
24951         (dired-load, dired-update-file-line, dired-after-subdir-garbage)
24952         (dired-relist-file, dired-rename-subdir, dired-do-create-files)
24953         (dired-mark-read-file-name, dired-do-copy, dired-do-symlink)
24954         (dired-do-hardlink, dired-do-rename, dired-do-rename-regexp)
24955         (dired-do-copy-regexp, dired-do-hardlink-regexp)
24956         (dired-do-symlink-regexp, dired-create-files-non-directory)
24957         (dired-upcase, dired-downcase)
24959         * lisp/dired.el (dired-mode, dired-copy-filename-as-kill)
24960         (dired-internal-do-deletions, dired-internal-do-deletions):
24961         Prefer #' instead of (function ...).
24963 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
24965         Don't quote lambda forms
24967         * lisp/dired.el (dired-re-maybe-mark, dired-map-over-marks)
24968         (dired-mark, dired-desktop-buffer-misc-data)
24970         * lisp/dired-aux.el (dired-do-create-files, dired-do-create-files-regexp)
24971         (dired-create-files-non-directory, dired-insert-subdir-validate)
24972         (dired-alist-sort, dired-do-shell-command): Don't quote lambda forms.
24974 2017-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
24976         * lisp/progmodes/cc-fonts.el: Remove/mark unused vars
24978         (c-font-lock-declarators): Remove unused vars `id-end', `paren-depth',
24979         and `brackets-after-id'.
24980         (c-font-lock-objc-methods): Mark unused args.
24982 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
24984         Omit null-pointer test in intervals.h FRAME
24986         * src/intervals.h (ROOT_INTERVAL_P, ONLY_INTERVAL_P)
24987         (INTERVAL_LAST_POS): Omit unnecessary parens.
24988         (LENGTH): Omit test for null pointer.  The argument is never null.
24989         The unnecessary test causes GCC 7.1.0 to assume that the argument
24990         might be null, and therefore to issue false alarms when the
24991         argument is dereferenced in other expressions.
24993 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
24995         Parenthesize frame.h macro definitions
24997         * src/frame.h (FRAME_TOOL_BAR_POSITION)
24998         (FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
24999         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
25000         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT)
25001         (FRAME_OVERRIDE_REDIRECT, FRAME_UNDECORATED, FRAME_PARENT_FRAME)
25002         (FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
25003         (FRAME_NO_ACCEPT_FOCUS, FRAME_NO_SPECIAL_GLYPHS, FRAME_Z_GROUP)
25004         (FRAME_Z_GROUP_NONE, FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_BELOW)
25005         (FRAME_HAS_HORIZONTAL_SCROLL_BARS): Parenthesize macro definiens
25006         to allow arbitrary expression arguments.
25008 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
25010         Port recent frame changes to GCC 7
25012         * src/frame.c (keep_ratio): New arg P.  Caller changed.  Since it
25013         is non-null, it avoids a GCC 7 warning that FRAME_PARENT_FRAME
25014         might return null.  This also avoids a run-time test.
25016 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
25018         Minor aesthetic fix of last change.
25020 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
25022         Allow to disable display of line numbers beyond EOB
25024         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
25025         function.
25026         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
25027         * src/xdisp.c (should_produce_line_number): When at ZV, call
25028         disable_line_numbers_overlay_at_eob to determine whether line
25029         numbers should be displayed beyond ZV.
25031 2017-06-25  Michael Albinus  <michael.albinus@gmx.de>
25033         Fix Android 6/7 problems in Tramp
25035         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Fix link part.
25036         (tramp-adb-handle-directory-files-and-attributes)
25037         (tramp-adb-handle-file-name-all-completions): Insert "."  and
25038         ".." only when needed.
25039         (tramp-adb-get-ls-command): Force one column output for toybox.
25041 2017-06-25  Stefan-W. Hahn  <stefan.hahn@s-hahn.de>  (tiny change)
25043         * lisp/subr.el (setq-local): Add debug declaration (Bug#27408).
25045 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
25047         Fix line number display for overlay/display strings with newlines
25049         * src/xdisp.c (maybe_produce_line_number): Fix the condition for
25050         producing space glyphs instead of a line number to include the
25051         case of display strings and overlays.
25053 2017-06-25  Alan Mackenzie  <acm@muc.de>
25055         Make CC Mode load cl-lib rather than cl in Emacs 26.
25057         * lisp/progmodes/cc-cmds.el (c-declaration-limits): Remove unused local
25058         variable.
25060         * lisp/progmodes/cc-defs.el (c--mapcan-status): Remove.
25061         (c--cl-library): New variable.
25062         (Top level): Amend the form which requires library cl or cl-lib.
25063         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
25064         (c--delete-duplicate): Amend to use c--cl-library instead of
25065         c--mapcan-status.
25067         * lisp/progmodes/cc-engine.el (c-syntactic-skip-backward)
25068         (c-back-over-compound-identifier): Remove unused local variables.
25070         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove an unused
25071         local variable.
25073         * lisp/progmodes/cc-langs.el (Top level): Amend to use c--cl-library instead
25074         of c--mapcan-status.
25076         * lisp/progmodes/cc-styles.el (Top level): Add a cc-bytecomp-defun to try to
25077         silence a compiler warning.
25079 2017-06-25  Martin Rudalics  <rudalics@gmx.at>
25081         Provide additional support for child frames
25083         Provide mouse dragging and resizing of frames.  Allow resizing
25084         frames proportionally.  Provide additional functionality for
25085         child frames.  Minor bug fixes.
25087         * lisp/frame.el (frame-border-width, frame-pixel-width)
25088         (frame-pixel-height): Alias to `frame-internal-border-width',
25089         `frame-native-width' and `frame-native-height'.
25090         (frame-inner-width, frame-inner-height, frame-outer-width)
25091         (frame-outer-height): New functions.
25092         * lisp/minibuffer.el (completion-auto-help): Fix typo.
25093         * lisp/mouse.el (mouse-drag-line, mouse-drag-mode-line)
25094         (mouse-drag-header-line): Allow moving a frame by dragging the
25095         mode line of its bottommost window (on a minibuffer-less frame)
25096         or the header line of its topmost window.
25097         (mouse-drag-vertical-line): Mention argument in doc-string.
25098         (mouse-resize-frame, mouse-drag-frame, mouse-drag-left-edge)
25099         (mouse-drag-top-left-corner, mouse-drag-top-edge)
25100         (mouse-drag-top-right-corner, mouse-drag-right-edge)
25101         (mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
25102         (mouse-drag-bottom-left-corner): New functions for resizing a
25103         frame by dragging its internal border together with
25104         corresponding key bindings.
25105         * lisp/tooltip.el (tooltip-frame-parameters): Add
25106         'no-special-glyphs' to default parameters and update version
25107         tag.
25108         * lisp/window.el (frame-auto-hide-function): Add choice to make
25109         frame invisible and update version tag.
25110         (window--delete): Handle 'auto-hide-function' frame parameter.
25111         (window--maybe-raise-frame): Respect 'no-focus-on-map' and
25112         'no-accept-focus' frame parameters.
25113         (display-buffer--action-function-custom-type): Add
25114         `display-buffer-in-child-frame'.
25115         (display-buffer): Mention `display-buffer-in-child-frame' in
25116         doc-string.
25117         (display-buffer-in-child-frame): New action function for
25118         `display-buffer'.
25119         (window--sanitize-margin): Return zero when MARGIN cannot be
25120         sanitized.
25121         (fit-frame-to-buffer): Major rewrite to handle child frames and
25122         'fit-frame-to-buffer-sizes' and 'fit-frame-to-buffer-margins'
25123         frame parameters.
25124         (window-largest-empty-rectangle--maximums-1)
25125         (window-largest-empty-rectangle--maximums)
25126         (window-largest-empty-rectangle--disjoint-maximums)
25127         (window-largest-empty-rectangle): New functions.
25129         * src/dispextern.h (WINDOW_WANTS_MODELINE_P)
25130         (WINDOW_WANTS_HEADER_LINE_P): Remove.  Functionality is now
25131         provided by corresponding functions window_wants_modeline and
25132         window_wants_header_line in window.c.  Adjust users.
25133         * src/dispnew.c (adjust_glyph_matrix)
25134         (buffer_posn_from_coords): Use window_wants_modeline and
25135         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
25136         WINDOW_WANTS_HEADER_LINE_P.
25137         * src/frame.c (keep_ratio): New function.
25138         (adjust_frame_size): Call keep_ratio for each of F's child
25139         frames.
25140         (make_frame): Initialize no_special_glyphs slot.
25141         (frame_internal_border_part): New function.
25142         (Fframe_pixel_width, Fframe_pixel_height, Fborder_width): Rename
25143         to Fframe_native_width, Fframe_native_height mand
25144         Fframe_internal_border_width.
25145         (frame_parm_table): Add Qno_special_glyphs entry.
25146         (frame_float_type): New enumeration type.
25147         (frame_float): New function to handle frame size and position
25148         ratios.
25149         (x_set_frame_parameters): Handle size and position ratios.
25150         (x_set_no_special_glyphs): New function
25151         (x_figure_window_size): Handle size and position ratios.
25152         (syms_of_frame): Add Qdisplay_monitor_attributes_list,
25153         Qno_special_glyphs, Qframe_edges, Qkeep_ratio, Qwidth_only,
25154         Qheight_only, Qleft_only and Qtop_only.
25155         * src/frame.h (internal_border_part): New enumeration type.
25156         (struct frame): New slot no_special_glyphs.
25157         (FRAME_NO_SPECIAL_GLYPHS): New macro.
25158         * src/gtkutil.c (xg_frame_restack): Return immediately for
25159         GTK versions before 2.18.0.
25160         * src/keyboard.c (internal_border_parts): New array constant.
25161         (make_lispy_position): For frames with border dragging enabled
25162         return internal border part.
25163         (syms_of_keyboard): New symbols Qdrag_internal_border,
25164         Qleft_edge, Qtop_left_corner, Qtop_edge, Qtop_right_corner,
25165         Qright_edge, Qbottom_right_corner, Qbottom_edge and
25166         Qbottom_left_corner.
25167         * src/minibuf.c (read_minibuf_unwind): When exiting the
25168         minibuffer deal with frames that have the 'minibuffer-exit'
25169         parameter set.
25170         (syms_of_minibuf): New symbol Qminibuffer_exit.
25171         * src/nsfns.m (frame_parm_handler): Add entry for
25172         x_set_no_special_glyphs.
25173         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
25174         Intitialize new cursor types for dragging frame borders.
25175         * src/nsterm.h (struct ns_output): Add new cursor types for
25176         dragging frame borders.
25177         * src/w32fns.c (w32_frame_parm_handlers): Add entry for
25178         x_set_no_special_glyphs.
25179         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
25180         Intitialize new cursor types for dragging frame borders.
25181         * src/w32term.h (struct w32_output): Add new cursor types for
25182         dragging frame borders.
25183         * src/window.c (coordinates_in_window)
25184         (Fwindow_line_height, window_internal_height): Use
25185         window_wants_modeline and window_wants_header_line instead of
25186         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
25187         (Fwindow_lines_pixel_dimensions): New function.
25188         (window_parameter): New function.
25189         (Fwindow_parameter): Call window_parameter.
25190         (window_wants_mode_line, window_wants_header_line): New
25191         functions replacing the macros WINDOW_WANTS_MODELINE_P and
25192         WINDOW_WANTS_HEADER_LINE_P from dispextern.h.
25193         (syms_of_window): New symbols Qmode_line_format and
25194         Qheader_line_format.
25195         * src/window.h: Reorganize and re-comment macros.  Use
25196         window_wants_modeline and window_wants_header_line instead of
25197         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
25198         (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P): Minor rewrite.
25199         (WINDOW_BUFFER): New macro.
25200         (WINDOW_BOX_LEFT_EDGE_COL, WINDOW_BOX_RIGHT_EDGE_COL): Remove.
25201         * src/xdisp.c (window_text_bottom_y, window_box_height)
25202         (window_box, start_display)
25203         (compute_window_start_on_continuation_line)
25204         (try_cursor_movement, redisplay_window)
25205         (try_window_reusing_current_matrix, try_window_id)
25206         (display_line, expose_window): Use window_wants_modeline and
25207         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
25208         WINDOW_WANTS_HEADER_LINE_P.
25209         (pos_visible_p, display_mode_lines): Respect W's
25210         'mode-line-format' and 'header-line-format' window parameters.
25211         (init_iterator): Use window_wants_modeline and
25212         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
25213         WINDOW_WANTS_HEADER_LINE_P.  For tip frames respect
25214         no_special_glyphs value.
25215         (note_mouse_highlight): Set frame border cursors when on
25216         internal border.
25217         (x_draw_right_divider, x_draw_bottom_divider): Try to improve
25218         drawing of window dividers.
25219         * src/xfns.c (mouse_cursor): Add entries for border parts.
25220         (mouse_cursor_types): Add entries for cursor types to drag
25221         frame borders.
25222         (INSTALL_CURSOR): Add entries for new cursor types to drag
25223         frame borders.
25224         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
25225         (x_frame_parm_handlers): Add entry for
25226         x_set_no_special_glyphs.
25227         (Vx_window_left_edge_shape, Vx_window_top_left_corner_shape)
25228         (Vx_window_top_edge_shape, Vx_window_top_right_corner_shape)
25229         (Vx_window_right_edge_shape)
25230         (Vx_window_bottom_right_corner_shape)
25231         (Vx_window_bottom_edge_shape)
25232         (Vx_window_bottom_left_corner_shape): New variables.
25233         (x_frame_restack): Call xg_frame_restack only for GTK versions
25234         starting with 2.18.0.
25235         * src/xterm.c (x_free_frame_resources): Remove new cursors for
25236         dragging frame borders.
25237         * src/xterm.h (struct x_output): Add new cursor types for
25238         dragging frame borders.
25240         * doc/lispref/display.texi (Size of Displayed Text): Document
25241         `window-lines-pixel-dimensions'.
25242         * doc/lispref/elisp.texi (Top): Add entry for "Mouse Dragging
25243         Parameters".
25244         * doc/lispref/frames.texi (Frame Size): Replace
25245         frame-pixel-width/-height by frame-native-width/-height.  Add
25246         frame-inner-width/-height and frame-outer-width/-height docs.
25247         (Position Parameters): Describe specifying position as ratios.
25248         Clarify remark about positions relative to bottom/ridge display
25249         edge.
25250         (Size Parameters): Describe specifying sizes as ratios.
25251         Describe 'fit-frame-to-buffer-margins' and
25252         'fit-frame-to-buffer-sizes' parameters.
25253         (Layout Parameters): Describe 'no-special-glyphs' parameter.
25254         (Frame Interaction Parameters): Describe 'auto-hide-function',
25255         'minibuffer-exit' and 'keep-ratio' parameters.
25256         (Mouse Dragging Parameters): New section describing
25257         'drag-internal-border', 'drag-with-header-line',
25258         'drag-with-mode-line', 'snap-width', 'top-visible' and
25259         'bottom-visible' parameters.
25260         (Management Parameters): Mention that `override-redirect' has
25261         no effect on MS Windows.
25262         (Font and Color Parameters): Mention child frames for `alpha'
25263         parameter.
25264         (Child Frames): Rewrite section with description and cross
25265         references to new frame parameters added.
25266         * doc/lispref/modes.texi (Mode Line Basics): Mention
25267         'mode-line-format' and 'header-line-format' window parameters.
25268         * doc/lispref/windows.texi (Resizing Windows): Mention effect
25269         of `fit-frame-to-buffer-margins' for child frames.
25270         (Display Action Functions): New action function
25271         `display-buffer-in-child-frame'.
25272         (Quitting Windows): Mention `make-frame-invisible' as optional
25273         value of `frame-auto-hide-function' and `auto-hide-function'
25274         frame paameter.
25275         (Coordinates and Windows): Describe new function
25276         `window-largest-empty-rectangle'.
25277         (Window Parameters): Describe new parameters 'mode-line-format'
25278         and 'header-line-format'.  Index all window parameters described
25279         in this section.
25281 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
25283         Adjust lm-verify to accept current notices
25285         Problem reported by Mike Kupfer in:
25286         https://lists.gnu.org/r/emacs-devel/2017-06/msg00512.html
25287         * lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
25288         Do not require later lines in a copyright notice to have more
25289         indentation than earlier lines.
25291 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
25293         Minor change in NEWS.
25295         Improve documentation in NEWS.
25297 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
25299         Move additional hscrolling code into a suitable 'if'
25301         * src/xdisp.c (hscroll_window_tree): Make additional calculations
25302         regarding glyphs produced for line numbers conditional on
25303         line-number display.
25305 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
25307         Partial fix of hscroll of truncated lines with line numbers
25309         * src/xdisp.c (x_produce_glyphs, hscroll_window_tree): Adjust
25310         hscroll calculations to line-number display.
25311         * src/term.c (produce_glyphs): Adjust tab stop to window's
25312         hscroll.  These two changes fix horizontal scrolling when line
25313         numbers are displayed.  But there's still a bug: the horizontal
25314         shift of lines that begin with a TAB is different from the rest.
25315         * src/xdisp.c (move_it_in_display_line_to): Call
25316         should_produce_line_number to determine whether a line number
25317         should be produced for this screen line.
25319 2017-06-24  Noam Postavsky  <npostavs@gmail.com>
25321         Don't change byte-compile-delete-errors at runtime (Bug#27340)
25323         * lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile
25324         time.
25326 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
25328         Allow Lisp program to disable line-number display for specific lines
25330         * etc/NEWS: Update the documentation.
25332         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-disable>: New
25333         symbol.
25334         (should_produce_line_number): New function.
25335         (display_line): Use should_produce_line_number to determine
25336         whether a line number should be produced for each glyph row.
25338 2017-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
25340         * lisp/net/html2text.el: Move to obsolete/.
25342 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
25344         Support a separate face for displaying the current line's number
25346         * lisp/faces.el (line-number-current-line): New face.
25348         * src/xdisp.c (syms_of_xdisp) <line-number-current-line>: New
25349         symbol.
25350         (try_window_id, try_cursor_movement): Disable these optimizations
25351         when the line-number-current-line face is different from
25352         line-number face.
25353         (maybe_produce_line_number): Display the current line in the
25354         line-number-current-line face, if it's different from line-number.
25356 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
25358         Change display of current line in relative mode
25360         * src/xdisp.c (maybe_produce_line_number): In relative mode
25361         display the current line number as its absolute value, not as zero.
25363 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
25365         Rename display-line-width
25367         * etc/NEWS:
25368         * src/xdisp.c (syms_of_xdisp, maybe_produce_line_number):
25369         * lisp/cus-start.el: Rename display-line-width to
25370         display-line-number-width.
25372 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
25374         Fix tab stops when line numbers are displayed
25376         * src/xdisp.c (x_produce_glyphs):
25377         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
25378         space taken by the line-number display.
25380 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
25382         Fix crashes on TTY frames due to negative lnum_width.
25384         Don't display line numbers in the minibuffer and in tooltip frames.
25386 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
25388         Fix problems with line-number updates in Follow mode
25390         * src/xdisp.c (redisplay_window): If forced window-start requires
25391         to move a window's point, and the window is under relative
25392         line-number display, force another round of redisplay to update
25393         the relative line numbers.  This fixes follow-mode "redisplay" of
25394         its window group.
25396         * lisp/frame.el: Add display-line-numbers to the list of variables
25397         that should trigger redisplay of the current buffer.
25399 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
25401         Fix display of line numbers with fonts larger than the default
25403         * src/xdisp.c (maybe_produce_line_number): Update the metrics in
25404         IT, not in IT->glyph_row, since the latter gets overwritten in
25405         display_line.  Fixes display of line numbers when the font used
25406         for them is larger than that of the default face.
25408 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
25410         Fix background color beyond EOB and cursor display
25412         * src/xdisp.c:  (maybe_produce_line_number): Use the default face
25413         for background of the blank glyphs in the line-number area which
25414         are drawn beyond EOB.
25415         (display_line): Reset the glyph row's displays_text_p flag only on
25416         empty lines that don't display line numbers.  This fixes cursor
25417         display beyond EOB.  Fix the bidi information in the glyphs
25418         produced for line numbers.  Set the avoid_cursor_p flag of glyphs
25419         produced for line numbers.
25421 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
25423         Fix display of indicate-empty-lines when line numbers are displayed
25425         * src/xdisp.c (row_text_area_empty): New function.
25426         (display_line): Call row_text_area_empty to verify that a glyph
25427         row's text area is devoid of any glyphs that came from a buffer or
25428         a string.  This fixes a bug with empty-lines indication
25429         disappearing when line numbers or line-prefix are displayed.
25430         (display_line): Delete the argument FORCE; all callers changed.
25431         Remove the condition for actually producing the glyphs for the
25432         line number, as even if the number didn't change we need to
25433         produce empty space.
25435 2017-06-23  Vincent Belaïche  <vincentb1@users.sourceforge.net>
25437         Fix symbol relocation when the relocated cell is renamed.
25439         * lisp/ses.el (ses-sym-rowcol):  Check that the renamed cell
25440         hashmap has been instantiated before getting data from it.  When
25441         editing several spreadsheets, and you have spreadsheet #1 with a
25442         cell named `foo', and no renamed cell in spreadsheet #2, then if
25443         you make a formula with `foo' in spreadsheet #2, not doing this
25444         check will make an error.
25445         (ses-cell-set-formula): Robustify versus incorrect cell references
25446         given in the user provided formula.  An explicit error message is
25447         provided after the action when the user gives an incorrect cell
25448         reference, but the formula edition is not changed.  This means that
25449         if the incorrect reference is to a cell that is created someday,
25450         then this new cell will not have the edited cell in its reference
25451         list.  Fixing this can still be done by editing again the first
25452         cell formula.
25453         (ses-relocate-symbol): Do not create symbol of referred-to cell
25454         when this is a renamed cell.
25456 2017-06-23  Rasmus  <rasmus@gmx.us>
25458         Synchronize with the "emacs-sync" branch from Org
25460 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
25462         Remove getc_unlocked configure-time check
25464         * configure.ac (getc_unlocked): Remove check, as unlocked-io now
25465         does this for us.
25467 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
25469         Use unlocked stdio more systematically
25471         This can improve performance significantly on stdio-bottlenecked code.
25472         E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
25473         * admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
25474         * lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
25475         * lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
25476         * lib-src/profile.c, lib-src/update-game-score.c:
25477         Include unlocked-io.h instead of stdio.h, since these programs are
25478         single-threaded.
25479         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
25480         * lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
25481         * src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
25482         * src/lread.c, src/term.c:
25483         Include sysstdio.h, possibly instead of stdio.h, to define
25484         the unlocked functions if the system does not provide them.
25485         * src/charset.c, src/lread.c (getc_unlocked):
25486         Remove, since sysstdio.h now defines it if needed.
25487         * src/cm.c (cmputc, cmcheckmagic):
25488         * src/dispnew.c (update_frame, update_frame_with_menu)
25489         (update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
25490         * src/emacs.c (main, Fdump_emacs):
25491         * src/fileio.c (Fdo_auto_save, Fset_binary_mode):
25492         * src/image.c (slurp_file, png_read_from_file, png_load_body)
25493         (our_stdio_fill_input_buffer):
25494         * src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
25495         * src/lread.c (readbyte_from_file):
25496         * src/minibuf.c (read_minibuf_noninteractive):
25497         * src/print.c (printchar_to_stream, strout)
25498         (Fredirect_debugging_output):
25499         * src/sysdep.c (reset_sys_modes, procfs_ttyname)
25500         (procfs_get_total_memory):
25501         * src/term.c (tty_ring_bell, tty_send_additional_strings)
25502         (tty_set_terminal_modes, tty_reset_terminal_modes)
25503         (tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
25504         (tty_write_glyphs_with_face, tty_insert_glyphs)
25505         (tty_menu_activate):
25506         * src/xfaces.c (Fx_load_color_file):
25507         Use unlocked stdio when it should be safe.
25508         * src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
25509         (fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
25510         (fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
25511         (putc_unlocked, putchar_unloced): Provide substitutes if not declared.
25513 2017-06-22  Glenn Morris  <rgm@gnu.org>
25515         * lisp/net/shr.el (shr-fill-text): Actually fill the text.  (Bug#27399)
25517 2017-06-22  Michal Nazarewicz  <mina86@mina86.com>
25519         unidata: don’t check special casing in unidata-check  (bug#26656)
25521         * admin/unidata/unidata-gen.el (unidata-check): Do not test special
25522         casing mapping of characters since that mapping is not constructed from
25523         the unidata.txt file.
25524         Also, check for integer decoder and cons char earlier so that less
25525         unnecessary processing is performed.
25527 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
25529         * lisp/descr-text.el (describe-char): Avoid string-*-multibyte
25531         Avoid string-to-multibyte and string-as-unibyte.
25532         Don't make *Help* unibyte just because the char was in a unibyte buffer.
25534 2017-06-22  Rasmus  <rasmus@gmx.us>
25536         Add Org schemas.xml contents to Emacs schemas.xml
25538         Entries from the Org version of schemas.xml have been added to
25539         the Emacs version of schemas.xml.
25541 2017-06-22  Rasmus  <rasmus@gmx.us>
25543         Update Org to v9.0.9
25545         Please see etc/ORG-NEWS for details.
25547 2017-06-22  Vincent Belaïche  <vincentb1@users.sourceforge.net>
25549         Do not hard code A1 cell reference, as it may be renamed.
25551         * lisp/ses.el (ses-recalculate-all): `A1' -> `(ses-cell-symbol 0 0)'
25553 2017-06-22  Martin Rudalics  <rudalics@gmx.at>
25555         Fix make_hash_table calls in lread.c
25557         * src/lread.c (readevalloop, read_internal_start): Fix
25558         make_hash_table calls to make build succeed.
25560 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
25562         Merge several Lisp reader speedups.
25564 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
25566         Create less garbage to collect while reading symbols.
25568         * src/lread.c (read1): When interning a symbol, only create a new
25569         string object for the name if we're going to use it for a new symbol
25570         object.
25572 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
25574         Replace read_objects assoc list with two hash tables.
25576         For larger input files with lots of shared data structures, an
25577         association list is too slow.
25579         * src/lread.c (read_objects_map, read_objects_completed): New
25580         variables, replacing read_objects.
25581         (readevalloop): Initialize them with hash tables before starting a
25582         top-level read, if they're not already empty hash tables, and reset
25583         them to Qnil afterwards if something was added to the hash tables.
25584         (read_internal_start): Likewise.
25585         (read1): Store first the placeholder and later the newly read object
25586         into read_objects_map under the specified object number.  If the new
25587         object can contain a reference to itself, store it in
25588         read_objects_completed.
25589         (substitute_objects_recurse): Check read_objects_completed instead of
25590         read_objects for the known possibly-recursive objects.
25591         (syms_of_lread): Update initializations.
25593 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
25595         Use getc_unlocked.
25597         * configure.ac: Check for getc_unlocked.
25598         * src/charset.c (read_hex, load_charset_map_from_file): Use
25599         getc_unlocked instead of getc.
25600         (getc_unlocked) [!HAVE_GETC_UNLOCKED]: Fall back to getc.
25601         * src/lread.c (readbyte_from_file, Fget_file_char, read1,
25602         getc_unlocked): Likewise.
25604 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
25606         Reduce lread substitutions.
25608         * src/lread.c (read1): After reading an object using the "#n=" syntax,
25609         if the read object is a cons cell, instead of recursively substituting
25610         the placeholder with the new object, mutate the placeholder cons cell
25611         itself to have the correct car and cdr values.
25613 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
25615         Short-circuit substitutions for some simple types.
25617         Values that don't contain other values cannot be circular, so checking
25618         for circular objects is a waste of cycles.
25620         * src/lread.c (substitute_object_recurse): If the subtree being
25621         examined is a symbol, number, or property-less string, just return
25622         it.
25624 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
25626         Limit style_format to MAX_ALLOCA
25628         * src/editfns.c (styled_format): Subtract initial buffer size
25629         from sa_avail, since it is nontrivial.
25631 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
25633         Limit bidi_find_bracket_pairs to MAX_ALLOCA
25635         * src/bidi.c (MAX_BPA_STACK): Now a constant, not a macro.
25636         Shrink it to allow for the two struct bidi_it objects in
25637         the same frame.
25638         (PUSH_BPA_STACK): Avoid integer overflow with enormous bidi cache.
25639         (bidi_find_bracket_pairs): Use compile-time check instead of runtime.
25641 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
25643         Limit insert-file-contents to MAX_ALLOCA
25645         * src/fileio.c (READ_BUF_SIZE): Don’t allocate more than
25646         MAX_ALLOCA bytes in a single stack array.
25648 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
25650         Remove malloc_find_address relic
25652         * src/gmalloc.c (register_heapinfo, _malloc_internal_nolock):
25653         Omit unnecessary initialization.
25655 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
25657         Fix temacs hybrid_malloc core dump
25659         Without this patch, ./temacs would dump core sometimes on Fedora
25660         25 x86-64.  The problem was that the hybrid allocator assumed that
25661         all pointers into bss_sbrk_buffer are allocated via gmalloc.  This
25662         assumption is not true on Fedora, because the standard memory
25663         allocator calls gdefault_morecore, which means its blocks are
25664         interleaved with our blocks.  Usually the code happened to work,
25665         because our data structures agreed with the glibc data structures,
25666         but this was merely luck due to a shared pedigree, and as glibc
25667         mutates our luck has run out.
25668         * src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [HYBRID_MALLOC]:
25669         Remove; no longer needed.
25670         (BLOCK): Use unsigned division, as that does the right thing near zero.
25671         (register_heapinfo, __malloc_internal_nolock, __free_internal_nolock)
25672         (_realloc_internal_nolock):
25673         Big blocks now have type -1, not 0, as 0 now means the block is
25674         not ours.
25675         (morecore_nolock): Omit now-unnecessary casts to size_t.
25676         (allocated_via_gmalloc) [HYBRID_MALLOC]: New function.
25677         (hybrid_free, hybrid_realloc) [HYBRID_MALLOC]: Use it, to
25678         avoid calling the wrong free or realloc function in some cases.
25680 2017-06-21  Katsumi Yamaoka  <yamaoka@jpl.org>
25682         Make gnus-article-date-user work
25684         * lisp/gnus/gnus-art.el (article-date-ut):
25685         Work for unfolded multi-line Date header.
25686         (article-transform-date):
25687         Refactor; add header name if it is missing in user-defined date line.
25688         (article-date-user): Fix name of date type.
25690 2017-06-21  Noam Postavsky  <npostavs@gmail.com>
25692         Keep order of completion candidates (Bug#25995, Bug#24676)
25694         * lisp/minibuffer.el (completion-pcm--filename-try-filter)
25695         (completion-pcm--all-completions): Use nreverse to undo the reversing
25696         caused by using push in the loop.
25698 2017-06-21  Glenn Morris  <rgm@gnu.org>
25700         * src/lread.c (syms_of_lread) <load-history>: Doc fix.
25702 2017-06-21  Alex Gramiak  <agrambot@gmail.com>
25704         Mark prolog indent variables as safe (bug#27369)
25706         * lisp/progmodes/prolog.el (prolog-indent-width)
25707         (prolog-left-indent-regexp, prolog-paren-indent-p)
25708         (prolog-paren-indent): Add :safe property.
25710 2017-06-20  Simen Heggestøyl  <simenheg@gmail.com>
25712         Remove `:options' from `css-electric-keys'
25714         * lisp/textmodes/css-mode.el (css-electric-keys): Remove `:options`
25715         since it just duplicates the default value.
25717 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
25719         Fix crash when built by GNU Gold linker on x86
25721         Problem reported by Andrés Musetti (Bug#27248).
25722         * src/widget.c (emacsFrameClassRec): Do not initialize superclass here.
25723         (emacsFrameClass): Now a function (which initializes the
25724         superclass) instead of a variable.  All uses changed.
25726 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
25728         Simplify autogen.sh version checking
25730         * autogen.sh (get_version): Simplify and make more reliable
25731         by using expr rather than echo | sed.  Check exit status of program.
25732         Run program in subshell in case it cannot be executed.
25733         (check_version): Check exit status of command rather than its output.
25734         Check return status of get_version.
25736 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
25738         Delete old Date header in a simple way
25740         * lisp/gnus/gnus-art.el (article-date-ut): Don't rely on text prop
25741         when searching the old Date header boundary in order to delete it.
25743 2017-06-20  Bastien  <bzg@gnu.org>
25745         Revert "Don't bind org-agenda key to an anonymous function"
25747         This reverts commit 49c0ff29c2e0243ba35ec17e3e3af49369be43db.
25749 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
25751         Bind enable-local-variables to nil globally (fix dbe3e41)
25753         * lisp/gnus/mm-view.el (mm-display-inline-fontify):
25754         Bind enable-local-variables to nil globally instead of making it
25755         buffer-local; remove let-bind of local-enable-local-variables.
25756         cf. <b4mtw3bbfp5.fsf@jpl.org> in the emacs-devel list.
25758 2017-06-20  Glenn Morris  <rgm@gnu.org>
25760         kill-matching-buffers to optionally not confirm
25762         * lisp/files.el (kill-matching-buffers):
25763         Add option to not confirm killing.  (Bug#27286)
25765 2017-06-20  Glenn Morris  <rgm@gnu.org>
25767         * lisp/files.el (local-enable-local-variables): Doc fix.
25769 2017-06-20  Glenn Morris  <rgm@gnu.org>
25771         autogen.sh: try to check for tool being present but broken
25773         * autogen.sh (get_version): Check return status of "--version".
25774         (check_version): Try to distinguish between a missing tool
25775         and a broken one.  (Bug#27288)
25777 2017-06-19  Glenn Morris  <rgm@gnu.org>
25779         Avoid a custom-variable-type error (bug#27363)
25781         * lisp/cus-edit.el (custom-variable-type):
25782         Avoid an error due to plist-put becoming stricter of late.
25784 2017-06-19  Glenn Morris  <rgm@gnu.org>
25786         Don't put deleted packages in the trash (bug#14967)
25788         * lisp/emacs-lisp/package.el (package-delete):
25789         Don't pay attention to delete-by-moving-to-trash.
25791 2017-06-19  Nicolas Petton  <nicolas@petton.fr>
25793         Revert "Add current-line in simple.el"
25795         This reverts commit ae98cdf9431604d0f722f1db217ca06debfbb7b6.
25797 2017-06-19  Damien Cassou  <damien@cassou.me>
25799         Add current-line in simple.el
25801         * lisp/simple.el (current-line): New function.
25802         * test/lisp/simple-tests.el: Add tests for current-line.
25804 2017-06-19  Katsumi Yamaoka  <yamaoka@jpl.org>
25806         Don't try to eval local variables in Gnus article
25808         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Disable local vars.
25810 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
25812         Fix emacs-module.h cleaning
25814         * src/Makefile.in (clean): Do not remove emacs-module.h.in.
25815         (bootstrap-clean): Remove emacs-module.h.
25817 2017-06-18  Andreas Schwab  <schwab@linux-m68k.org>
25819         * lisp/url/url-util.el (url-get-url-at-point): Add missing group
25820         in regex.
25822 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
25824         * lib/gettext.h: Merge from gnulib.
25826 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
25828         Merge from gnulib
25830         This (and my previous patch) incorporate:
25831         2017-06-17 diffseq: port to GCC 7 with --enable-gcc-warnings
25832         2017-06-15 gettext-h: Update comment
25833         * lib/diffseq.h: Copy from gnulib.
25835 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
25837         * test/Makefile.in: Don't suppress test failure for single tests.
25839 2017-06-17  Philipp Stephani  <phst@google.com>
25841         emacs-module.h: Create emacs_env_26
25843         This was part of the original design of the module
25844         API (https://lists.gnu.org/r/emacs-devel/2015-02/msg00960.html),
25845         but I didn't take it into account when adding the should_quit
25846         function.
25848         Instead of duplicating the environment fields or using the C
25849         preprocessor, use configure to build emacs-module.h.
25851         * configure.ac: Expand emacs-module.h template.
25853 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
25855         Improve documentation of replace-buffer-contents
25857         * etc/NEWS (replace-buffer-contents): Fix formatting.
25859         * src/editfns.c (Freplace_buffer_contents): Doc fix.
25861 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
25863         Finish up native display of line numbers
25865         * src/xdisp.c (maybe_produce_line_number): Produce a blank before
25866         the number, for R2L rows.  Increment 'g' in the loop even if
25867         glyph_row is NULL.  Accept 2nd argument FORCE and produce the
25868         line-number glyphs if it is non-zero.
25869         (move_it_in_display_line_to): Account for the space taken by the
25870         line-number glyphs.  Call maybe_produce_line_number with 2nd
25871         argument non-zero.
25872         (set_cursor_from_row): Fix calculation of cursor X coordinate in
25873         R2L rows with display-produced glyphs at the beginning.
25874         (syms_of_xdisp) <line-number>: New face symbol.
25875         <relative, display-line-width>: New symbols.
25876         (maybe_produce_line_number): Use the line-number face for
25877         displaying line numbers.  Support relative line-number display.
25878         Support user-defined width for displaying line numbers.
25879         (try_cursor_movement, try_window_id): Disable these optimizations
25880         when displaying relative line numbers.
25881         * src/dispextern.h (struct it): New member 'pt_lnum'.
25883         * lisp/faces.el (line-number): New face.
25884         * lisp/cus-start.el (standard): Provide customization forms for
25885         display-line-numbers and display-line-width.
25886         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
25887         turn display-line-numbers on and off.
25889         * etc/NEWS: Document the new feature.
25891 2017-06-17  Philipp Stephani  <phst@google.com>
25893         Allow local variables section to begin with a square bracket
25895         Fixes Bug#27391.
25897         * lisp/international/mule.el (find-auto-coding): Fix regular
25898         expression for "Local Variables" section.
25900         * test/lisp/international/mule-tests.el (find-auto-coding--bug27391):
25901         Add unit test.
25903 2017-06-17  Philipp Stephani  <phst@google.com>
25905         Remove unnecessary point motion
25907         * src/editfns.c (Freplace_buffer_contents): Remove unnecessary point
25908         motion.
25910 2017-06-17  Philipp Stephani  <phst@google.com>
25912         Add command to replace buffer contents
25914         Add a new command 'replace-buffer-contents' that uses the Myers diff
25915         algorithm to non-destructively replace the accessible portion of the
25916         current buffer.  The Myers algorithm is implemented in Gnulib.
25918         * src/editfns.c (Freplace_buffer_contents): New command.
25919         (set_bit, bit_is_set, buffer_chars_equal): New helper functions.
25920         (syms_of_editfns): Define new command.
25922         * test/src/editfns-tests.el (replace-buffer-contents-1)
25923         (replace-buffer-contents-2): New unit tests.
25925         * src/buffer.h (BUF_FETCH_CHAR_AS_MULTIBYTE): New helper macro.
25927         * admin/merge-gnulib (GNULIB_MODULES): Add diffseq.h and minmax.h.
25929 2017-06-17  Andreas Schwab  <schwab@linux-m68k.org>
25931         * lisp/international/characters.el: Update list of zero and full
25932         width characters according to Unicode 9.0.0.
25934 2017-06-17  Simen Heggestøyl  <simenheg@gmail.com>
25936         Complete CSS property values less eagerly (Bug#27392)
25938         * lisp/textmodes/css-mode.el (css--complete-property-value): Be less
25939         eager by looking for a colon after the property which values are being
25940         completed for.
25942         * test/lisp/textmodes/css-mode-tests.el (css-test-complete-property):
25943         Add a test case ensuring that properties that are prefixes of other
25944         properties don't hinder further completion.
25946 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
25948         Handle integer indices for eshell variables (Bug#26055)
25950         * lisp/eshell/esh-var.el (eshell-index-value): Convert index to number
25951         if it's been marked as one, just like `eshell-lisp-command' does.
25953 2017-06-17  Mark Oteiza  <mvoteiza@udel.edu>
25955         Don't bind org-agenda key to an anonymous function
25957         * lisp/org/org-agenda.el: Bind "g" to named command.
25958         (org-agenda-redo-all): New command.  Extend the previous functionality
25959         through a prefix argument.
25961 2017-06-17  Dmitry Gutov  <dgutov@yandex.ru>
25963         Add test for the fix in the parent commit
25965         * test/src/undo-tests.el (undo-test-skip-invalidated-markers):
25966         New test, for the fix in the parent commit.
25968 2017-06-17  Nitish Chandra  <nitishchandrachinta@gmail.com>  (tiny change)
25970         primitive-undo: Update only the currently valid markers
25972         * lisp/simple.el (primitive-undo):
25973         Update only the currently valid markers (bug#25599).
25975 2017-06-16  Eli Zaretskii  <eliz@gnu.org>
25977         Initial version of native display of line numbers
25979         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: New
25980         buffer-local variable.
25981         Include <math.h>.
25982         (maybe_produce_line_number): New function.
25983         (DISP_INFINITY): Rename from INFINITY, since math.h defines INFINITY.
25984         (try_window_reusing_current_matrix): Don't use this method when
25985         display-line-numbers is in effect.
25986         * src/dispextern.h (struct it): New members 'lnum'.
25988 2017-06-16  Philipp Stephani  <phst@google.com>
25990         Correctly detect URLs surrounded by parentheses in comments
25992         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url):
25993         Make parentheses match work inside comments.
25995         * test/lisp/thingatpt-tests.el (thing-at-point-url-in-comment): Add
25996         unit test.
25998 2017-06-16  Michael Albinus  <michael.albinus@gmx.de>
26000         Fix load-path issue when it contains remote directories
26002         * lisp/net/tramp.el (tramp-file-name-handler): Use `autoloadp'.
26003         (tramp-use-absolute-autoload-file-names): New defun.  Call it
26004         after loading tramp.el.
26006         * test/lisp/net/tramp-tests.el (tramp-test38-remote-load-path):
26007         New test.
26008         (tramp-test39-unload): Rename.
26010 2017-06-16  Alan Mackenzie  <acm@muc.de>
26012         Ensure C++ initializer lists don't get fontified.
26014         * lisp/progmodes/cc-cmds.el (c-block-comment-flag): Move declaration to solve
26015         compiler warning.
26017         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add an extra
26018         clause to handle C++ member initialization lists.
26019         (c-font-lock-single-decl): New function, extracted from
26020         c-font-lock-declarations.
26021         (c-font-lock-declarations): Call c-font-lock-single-decl in place of inline
26022         code.
26023         (c-font-lock-cut-off-declarators): Make more rigorous by calling
26024         c-get-fontification-context, c-forward-decl-or-cast-1, and
26025         c-font-lock-single-decl in place of rather approximate code.
26027 2017-06-16  Alan Mackenzie  <acm@muc.de>
26029         Fix hang in CC Mode when ":" is typed after identifier at EOB.
26031         * lisp/progmodes/cc-engine.el (c-forward-declarator): Fix coding error
26032         confusing ":" and EOB.
26034 2017-06-15  Alan Mackenzie  <acm@muc.de>
26036         Create a toggle between block and line comments in CC Mode.
26038         Also (unrelated change) initialize the modes' keymaps at each loading.
26040         * lisp/progmodes/cc-cmds.el (c-update-modeline): amend for the new information
26041         on the modeline.
26042         (c-block-comment-flag): New variable.
26043         (c-toggle-comment-style): New function.
26045         * lisp/progmodes/cc-langs.el (c-block-comment-starter)
26046         (c-line-comment-starter): Make them c-lang-defvars.
26047         (c-block-comment-is-default): New c-lang-defvar.
26048         (comment-start, comment-end): Make the default values dependent on
26049         c-block-comment-is-default.
26051         * lisp/progmodes/cc-mode.el (c-mode-base-map): Define C-c C-k in this map.
26052         (c-basic-common-init): Initialize c-block-comment-flag.
26053         (c-mode-map, c++-mode-map, objc-mode-map, java-mode-map, idl-mode-map)
26054         (pike-mode-map, awk-mode-map): Make entries in these key maps each time the
26055         mode is loaded rather than just once per Emacs session.
26057         * doc/misc/cc-mode.texi (Comment Commands): Introduce the notion of comment
26058         style.
26059         (Minor Modes): Define comment style.  Describe how comment style influences
26060         the information displayed on the modeline.  Document c-toggle-comment-style.
26061         (FAQ): Add a question about toggling the comment style.
26063 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
26065         Pacify clang without munging C source
26067         * configure.ac (WARN_CFLAGS): With Clang, use
26068         -Wno-tautological-compare regardless of --enable-gcc-warnings.
26069         (WERROR_CFLAGS): Simplify assignments, and guarantee it’s always set.
26070         * lib/strftime.c: Copy from gnulib, reverting Clang-specific
26071         change which I hope is no longer needed.
26072         * src/emacs.c (main): Revert rlim_t change, as rlim_t is signed on
26073         some older non-POSIX hosts.
26075 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
26077         No need to complicate make-docfile.c for Clang
26079         * lib-src/make-docfile.c (put_filename): Undo recent change.
26080         The Clang false alarm occurs only with CFLAGS=-save-temps and
26081         we needn’t worry about pacifying unusual compiler configurations.
26083 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
26085         Port './configure CC=clang' to Fedora 25
26087         * configure.ac (HAVE_IMAGEMAGICK): Disable if even a
26088         standard function like MagickRelinquishMemory does not link.
26090 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
26092         Don’t worry about __STDC_VERSION__ in emacs-module
26094         * src/emacs-module.h: Remove __STDC_VERSION__ check.  In the past
26095         we’ve found that some compilers do not define this symbol even
26096         when they work well enough.  If necessary features like stdbool.h
26097         are missing the compiler will complain eventually anyway.
26099 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
26101         Port cleanup check to Oracle Studio 12.5
26103         * src/conf_post.h (__has_attribute_cleanup): Resurrect.
26104         * src/emacs-module.c: Verify __has_attribute (cleanup), but in an
26105         #if this time.
26107 2017-06-14  Bastien  <bzg@gnu.org>
26109         Fix misformatted changelog entry
26111 2017-06-14  Eli Zaretskii  <eliz@gnu.org>
26113         Avoid compiler warning in image.c on MS-Windows
26115         * src/image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: Avoid
26116         compilation warning under -Warray-bounds by temporarily disabling
26117         the -Warray-bounds option.
26119 2017-06-14  Michael Albinus  <michael.albinus@gmx.de>
26121         Fix Bug#27315
26123         * lisp/net/tramp-cache.el (tramp-cache-read-persistent-data):
26124         New defvar.
26125         (top): Use it.
26127         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
26128         Check for connected, not for connectable.  (Bug#27315)
26129         (tramp-process-actions):
26130         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
26131         Use `tramp-cache-read-persistent-data'.
26133         * test/lisp/net/tramp-tests.el (top): Set also
26134         `tramp-cache-read-persistent-data'.
26136 2017-06-14  Noam Postavsky  <npostavs@gmail.com>
26138         Give a fixed default value for icomplete-prospects-height (Bug#26939)
26140         * lisp/icomplete.el (icomplete-prospects-height): Default to 2.
26141         (icomplete-prospects-length): Remove.
26142         * etc/NEWS: Announce removal.
26144 2017-06-14  Philipp Stephani  <phst@google.com>
26146         Remove some tautological comparisons involving rlim_t
26148         Clang on macOS warns about these with -Wtautological-compare.  POSIX
26149         guarantees that rlim_t is
26150         unsigned (cf.
26151         http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
26152         so these resource limits can never be negative.
26154         * src/emacs.c (main): Remove tautological comparisons.
26156 2017-06-14  Philipp Stephani  <phst@google.com>
26158         Use --module-assertions if modules are available
26160         Using --module-assertions helps us find bugs in the test module.  But
26161         we can use it only if Emacs was compiled with module support.
26163         * test/Makefile.in (MODULES_EMACSOPT): New variable.
26164         (emacs): Use it.
26166 2017-06-14  Philipp Stephani  <phst@google.com>
26168         Define --module-assertions only of modules are available
26170         Fixes Bug#27352.
26172         * src/emacs.c (usage_message, standard_args): Define
26173         --module-assertions only if Emacs has been compiled with module
26174         support.
26176 2017-06-14  Katsumi Yamaoka  <yamaoka@jpl.org>
26178         gnus-article-read-summary-keys: Don't move point for WDD and WDW commands
26180         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys):
26181         No need to restore window config for WDD and WDW commands.
26183 2017-06-14  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
26185         lisp/net/soap-client.el: Bump version to 3.1.3
26187         * lisp/net/soap-client.el: Bump version to 3.1.3.
26188         (soap-name-p): Fix checkdoc issue.
26190 2017-06-14  Alex Harsanyi  <AlexHarsanyi@gmail.com>
26192         Fix an HTTP encoding error in soap-client.el
26194         * lisp/net/soap-client.el (soap-invoke-internal): Make
26195         SOAPAction header a UTF-8 encoded string.
26197 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
26199         Port cleanup attribute to Oracle Studio 12.5
26201         * INSTALL (--with-modules): List cleanup attribute as prereq.
26202         * src/conf_post.h (__has_attribute_cleanup): Remove; no longer needed.
26203         * src/emacs-module.c (MODULE_SETJMP_1): Don’t attempt to verify
26204         (__has_attribute (cleanup)), as Oracle Studio 12.5 supports
26205         __has_attribute only inside preprocessor expressions.  The C
26206         compiler should check the cleanup attribute in the next line anyway.
26207         (module_reset_handlerlist): Remove an unnecessary ‘const’
26208         that causes Oracle Studio 12.5 to refuse to compile.
26210 2017-06-14  Glenn Morris  <rgm@gnu.org>
26212         Fix running tests in without-modules builds
26214         * test/Makefile.in (EMACSOPT): Remove option that is only defined
26215         with-modules.  emacs-module-tests.el passes it where needed.
26217 2017-06-13  Glenn Morris  <rgm@gnu.org>
26219         * test/Makefile.in (src/emacs-module-tests.log): Out-of-tree fix.
26221 2017-06-13  Philipp Stephani  <phst@google.com>
26223         Inline test module Makefile into main test Makefile
26225         The test/data/emacs-module/Makefile only built a single target, and
26226         inlining it into test/Makefile simplifies dependency tracking and
26227         reduces code duplication.
26229         * configure.ac: Don't build test/data/emacs-module/Makefile.
26231         * Makefile.in ($(test_module)): Inline compilation.
26232         (clean): Also clean test module outputs.
26234 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
26236         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Do not handle locally on w32.
26238 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
26240         Minor tweaks in Tramp manual
26242         * doc/misc/trampver.texi: Add prefixwithspace flag.
26244         * doc/misc/tramp.texi (Password handling): Harmonize example.
26245         (File name completion): Use prefixwithspace flag.
26246         (Frequently Asked Questions): Explain `tramp-histfile-override'.
26248 2017-06-13  Philipp Stephani  <phst@google.com>
26250         Silence two Clang warnings by introducing additional local variables
26252         * lib/strftime.c (libc_hidden_def):
26253         * lib-src/make-docfile.c (put_filename): Introduce local variables to
26254         silence Clang warnings.
26256 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
26258         Fix wrong indentation after string literal (Bug#27306)
26260         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-state)
26261         (lisp-indent-calc-next): Remove `depth' field, use (car ppss) instead.
26262         * test/lisp/emacs-lisp/lisp-mode-tests.el
26263         (lisp-indent-region-after-string-literal): New test.
26265 2017-06-13  Philipp Stephani  <phst@google.com>
26267         Fix version checks for emacs-module.h
26269         We don't need C11 or C++11 because stdbool.h is in C99, and for C++ we
26270         don't need it at all.
26272 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
26274         Buttonize #<bytecode> part of printed functions (Bug#25226)
26276         * lisp/emacs-lisp/cl-print.el: Autoload `disassemble-1'.
26277         (cl-print-compiled-button): New variable.
26278         (help-byte-code): New button type, calls `disassemble' in its action.
26279         (cl-print-object): Use it if `cl-print-compiled-button' is
26280         non-nil.
26282 2017-06-12  Philipp Stephani  <phst@google.com>
26284         Print module structure sizes when initializing test module
26286         * test/data/emacs-module/mod-test.c (emacs_module_init): Print
26287         compile-time and runtime sizes of module structures to ease debugging
26289 2017-06-12  Glenn Morris  <rgm@gnu.org>
26291         Small portability fix for emacs-module.h (bug#27346)
26293         * src/emacs-module.h (EMACS_ATTRIBUTE_NONNULL) [!__has_attribute]:
26294         Avoid 'error: missing binary operator before token "("'.
26296 2017-06-12  Glenn Morris  <rgm@gnu.org>
26298         Give a more informative failure in module assertion test
26300         * test/src/emacs-module-tests.el (module--test-assertions):
26301         Rephrase final check to give a more informative failure.
26303 2017-06-12  Philipp Stephani  <phst@google.com>
26305         Fix off-by-one error
26307         * test/data/emacs-module/mod-test.c (emacs_module_init): Fix
26308         off-by-one error.
26310 2017-06-12  Glenn Morris  <rgm@gnu.org>
26312         Clean up after module assertion tests
26314         * test/src/emacs-module-tests.el (module--test-assertions):
26315         Use a temporary directory to contain any core dumps.
26317 2017-06-12  Glenn Morris  <rgm@gnu.org>
26319         Small improvement for module assertion test
26321         * test/src/emacs-module-tests.el (module--test-assertions):
26322         Don't rely on the precise form of an "Abort" message.
26324 2017-06-12  Glenn Morris  <rgm@gnu.org>
26326         Improve previous test/data/emacs-module/Makefile change
26328         * test/data/emacs-module/Makefile.in (clean):
26329         Avoid doing unpleasant things if run in a build without modules.
26331 2017-06-12  Glenn Morris  <rgm@gnu.org>
26333         Small improvements for test/data/emacs-module/Makefile
26335         * test/data/emacs-module/Makefile.in (%.o):
26336         Fix emacs-module dependency.
26337         (SECONDARY): Stop make automatically deleting *.o.
26338         (clean): New rule.
26340 2017-06-12  Glenn Morris  <rgm@gnu.org>
26342         * make-dist: Skip some more generated files in test/.
26344 2017-06-12  Alan Third  <alan@idiocy.org>
26346         Note how fullscreen differs on the NS port
26348         doc/lispref/frames.texi (Size Parameters):
26349         doc/emacs/frames.texi (Tool Bars): Add a description of how macOS
26350         hides the tool-bar and menu-bar in fullscreen.
26352 2017-06-12  Alan Third  <alan@idiocy.org>
26354         Add no-focus-on-map to NS build (bug#25408)
26356         * src/nsfns.m (ns_frame_parm_handlers): Add x_set_no_focus_on_map.
26357         (x-create-frame): Check for no-focus-on-map.
26358         * src/nsterm.h (x_set_no_focus_on_map): New function.
26359         * src/nsterm.m (x_set_no_focus_on_map): New function.
26360         (ns_raise_frame): Add parameter for specifying whether to focus the
26361         frame.
26362         (ns_frame_raise_lower):
26363         (x_make_frame_visible): Handle new parameter for ns_raise_frame.
26365 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
26367         _Noreturn not noreturn
26369         _Noreturn is more portable to non-C11 platforms.  See:
26370         https://www.gnu.org/software/gnulib/manual/html_node/stdnoreturn_002eh.html
26371         * src/emacs-module.c: Use _Noreturn, not noreturn.  No need to
26372         include <stdnoreturn.h>.  Reindent to fit in 80 columns.
26374 2017-06-12  Glenn Morris  <rgm@gnu.org>
26376         Update make-dist for recent test/ changes
26378         * make-dist: No longer distribute test/data/emacs-module/Makefile.
26380 2017-06-12  Michael Albinus  <michael.albinus@gmx.de>
26382         Handle port and domain in Tramp's password cache
26384         * doc/misc/tramp.texi (Password handling): Explain port and
26385         domain handling in authinfo.
26387         * lisp/net/tramp.el (tramp-process-actions, tramp-clear-passwd):
26388         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askpassword):
26389         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
26390         (tramp-maybe-open-connection):
26391         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
26392         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
26393         (tramp-smb-maybe-open-connection): Handle also domain and port.
26395 2017-06-12  Eli Zaretskii  <eliz@gnu.org>
26397         Avoid compilation warnings with pre-C99 libc
26399         * src/emacs-module.c (module_free_global_ref)
26400         (module_assert_runtime, module_assert_env, value_to_lisp): Use 'pD'
26401         instead of C99 't' format descriptor.
26403 2017-06-12  Philipp Stephani  <phst@google.com>
26405         Flush all output streams before aborting
26407         Maybe the stdout buffer still contains something interesting that
26408         should be flushed.
26410         * src/emacs-module.c (module_abort): Flush all output streams before
26411         aborting.
26413 2017-06-12  Philipp Stephani  <phst@google.com>
26415         Remove an assertion that doesn't test Emacs invariants
26417         * src/emacs-module.c (module_copy_string_contents): Remove an
26418         assertion that doesn't test Emacs invariants.
26420 2017-06-12  Philipp Stephani  <phst@google.com>
26422         Test module: add necessary version checks
26424         * test/data/emacs-module/mod-test.c (emacs_module_init): Add necessary
26425         version checks.
26427 2017-06-12  Philipp Stephani  <phst@google.com>
26429         Use additional CFLAGS from configure
26431 2017-06-12  Philipp Stephani  <phst@google.com>
26433         Use Autoconf to generate the test module Makefile
26435         This makes it easier to pass compilation flags around.
26437         * configure.ac: Also build test module Makefile.
26439         * test/data/emacs-module/Makefile.in: New makefile template.
26441         * test/Makefile.in ($(test_module)): No longer necessary to pass
26442         @MODULES_SUFFIX@ around.
26444         * .gitignore: Test module Makefile can now be ignored.
26446 2017-06-12  Philipp Stephani  <phst@google.com>
26448         Also compile test module as C11
26450         * test/data/emacs-module/Makefile (CFLAGS): Compile test module as C11
26452 2017-06-12  Philipp Stephani  <phst@google.com>
26454         Implement module assertions for users
26456         Add a new command-line option '-module-assertions' that users can
26457         enable developing or debugging a module.  If this option is present,
26458         Emacs performs additional checks to verify that modules fulfill their
26459         requirements.  These checks are expensive and crash Emacs if modules
26460         are invalid, so disable them by default.
26462         This is a command-line option instead of an ordinary variable because
26463         changing it while Emacs is running would cause data structure
26464         imbalances.
26466         * src/emacs.c (main): New command line option '-module-assertions'.
26468         * src/emacs-module.c (module_assert_main_thread)
26469         (module_assert_runtime, module_assert_env, module_assert_value):
26470         New functions to assert module requirements.
26471         (syms_of_module): New uninterned variable 'module-runtimes'.
26472         (init_module_assertions, in_main_thread, module_abort): New helper
26473         functions.
26474         (initialize_environment): Initialize value list.  If assertions are
26475         enabled, use a heap-allocated environment object.
26476         (finalize_environment): Add assertion that environment list is never
26477         empty.
26478         (finalize_runtime_unwind): Pop module runtime object stack.
26479         (value_to_lisp): Assert that the value is valid.
26480         (lisp_to_value): Record new value if assertions are enabled.
26481         (mark_modules): Mark allocated object list.
26482         (MODULE_FUNCTION_BEGIN_NO_CATCH)
26483         (module_non_local_exit_check, module_non_local_exit_clear)
26484         (module_non_local_exit_get, module_non_local_exit_signal)
26485         (module_non_local_exit_throw): Assert thread and environment.
26486         (module_get_environment): Assert thread and runtime.
26487         (module_make_function, module_funcall, module_intern)
26488         (module_funcall, module_make_integer, module_make_float)
26489         (module_make_string, module_make_user_ptr, module_vec_get)
26490         (funcall_module, Fmodule_load): Adapt callers.
26491         (module_make_global_ref): If assertions are enabled, use the global
26492         environment to store global values.
26493         (module_free_global_ref): Remove value from global value list.
26495         * test/Makefile.in (EMACSOPT): Enable module assertions when testing
26496         modules.
26498         * test/data/emacs-module/mod-test.c (Fmod_test_invalid_store)
26499         (Fmod_test_invalid_load): New functions to test module assertions.
26500         (emacs_module_init): Bind the new functions.
26502         * test/src/emacs-module-tests.el (mod-test-emacs): New constant for
26503         the Emacs binary file.
26504         (mod-test-file): New constant for the test module file name.
26505         (module--test-assertions): New unit test.
26507 2017-06-12  Philipp Stephani  <phst@google.com>
26509         emacs-module: Use __attribute__((nonnull))
26511         Annotate all parameters with __attribute__((nonnull)) that may not be
26512         NULL.
26514 2017-06-12  Philipp Stephani  <phst@google.com>
26516         Explicitly require C11 or C++11 in emacs-module.h
26518         We already implicitly require them by including stdbool.h.  Just make
26519         the error message a bit clearer, and remove an unnecessary version
26520         comparison.
26522 2017-06-12  Philipp Stephani  <phst@google.com>
26524         Add missing 'require' forms to prevent compiler warnings.
26526         * lisp/eshell/esh-ext.el (esh-arg, esh-proc): Add missing
26527         requirements.
26529 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
26531         Merge from gnulib
26533         This incorporates:
26534         2017-06-11 getopt-posix: port to glibc 2.25.90
26535         2017-06-04 same-inode: port better to VMS 8.2 and later
26536         * doc/misc/texinfo.tex, lib/getopt-pfx-core.h, lib/getopt-pfx-ext.h:
26537         * m4/sys_types_h.m4: Copy from gnulib.
26539 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
26541         Remove Lisp_Misc_Float
26543         * src/data.c (Ftype_of): Do not worry about Lisp_Misc_Float.
26544         * src/lisp.h (Lisp_Misc_Float): Remove.  This placeholder has been
26545         unused for two decades; if we ever want to change floats to be a
26546         misc type we can bring it back then.
26548 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
26550         Make two symbols private to emacs-module.c
26552         * src/lisp.h (allocate_module_function, XSET_MODULE_FUNCTION):
26553         Move from here ...
26554         * src/emacs-module.c: ... to here.
26556 2017-06-12  Glenn Morris  <rgm@gnu.org>
26558         Merge from origin/emacs-25
26560         da62c1532e4 (origin/emacs-25) Improve the documentation of filesets
26562 2017-06-12  Glenn Morris  <rgm@gnu.org>
26564         Merge from origin/emacs-25
26566         e80f6a210b0 Describe problems with Microsoft Intellipoint
26567         a73ec1edb07 More accurate documentation of the ':box' face attribute
26569 2017-06-12  Glenn Morris  <rgm@gnu.org>
26571         Merge from origin/emacs-25
26573         eaa00584ceb Improve documentation of 'gnutls-verify-error'
26574         908498cc01b ; etc/PROBLEMS: Describe GTK-related crashes on elementar...
26575         741daec617e ; Describe the problem with ksh when resizing shell window
26577 2017-06-11  Michael Albinus  <michael.albinus@gmx.de>
26579         Some further improvements for tramp-gvfs.el
26581         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
26582         (tramp-gvfs-get-file-attributes)
26583         (tramp-gvfs-maybe-open-connection): Handle davs? properly.
26584         (tramp-gvfs-handler-askquestion): Improve `yes-or-no-p' prompt.
26585         Show question also in batch mode.  Cache result.
26587         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
26588         Support completion for host names and ports.
26590 2017-06-11  Simen Heggestøyl  <simenheg@gmail.com>
26592         Fix highlighting of CSS selectors with double hyphens
26594         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Fix
26595         highlighting of selectors that contain double hyphens.  They would be
26596         mistaken for a variable.
26598 2017-06-11  Philipp Stephani  <phst@google.com>
26600         Support threads in modules
26602         Rather than checking for the main thread, check for the current
26603         thread.
26605         * src/emacs-module.c (check_thread): New function.
26606         (MODULE_FUNCTION_BEGIN_NO_CATCH, module_get_environment)
26607         (module_non_local_exit_check, module_non_local_exit_clear)
26608         (module_non_local_exit_get, module_non_local_exit_signal)
26609         (module_non_local_exit_throw, module_is_not_nil, module_eq): Use it.
26611 2017-06-11  Philipp Stephani  <phst@google.com>
26613         Allow non-local exits in module initializers
26615         Previously signals, throws, and quits from module initialization
26616         functions were ignored.  These function aren't special, and better
26617         errors can be reported using signals than with the initialization
26618         return code, so allow non-local exits.
26620         * src/emacs-module.c (module_signal_or_throw): New helper function.
26621         (Fmodule_load, funcall_module): Use it.
26622         (Fmodule_load): Also allow quitting.
26624 2017-06-11  Noam Postavsky  <npostavs@gmail.com>
26626         Let eshell/sudo handle absolute command names (Bug#27167)
26628         * lisp/eshell/esh-ext.el (eshell-find-interpreter): Don't change
26629         absolute paths into relative ones.
26631 2017-06-10  Alan Third  <alan@idiocy.org>
26633         Don't wait for toolbar in NS native fullscreen
26635         * src/nsterm.m (EmacsView:updateFrameSize): Don't short-circuit the
26636         function when in fullscreen.
26638 2017-06-10  Alexander Gramiak  <agrambot@gmail.com>
26640         Fix the placement of GTK menus on multi-monitor systems
26642         menu_position_func did not properly use the current monitor's
26643         resolution.  Also see commit '2016-02-06 22:12:53 +0100'.
26645         * lisp/frame.el (frame-monitor-attribute, frame-monitor-geometry)
26646         (frame-monitor-workarea): New functions.
26648         * src/xmenu.c (menu_position_func): Take into account the workarea of
26649         the monitor that contains the mouse.  (Bug#23568)
26651 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
26653         Clarify documentation of 'face-spec-set'
26655         * lisp/faces.el (face-spec-set): Clarify the description of
26656         SPEC-TYPE in the doc string.
26658         * doc/lispref/display.texi (Defining Faces): Clarify the
26659         description of 'face-spec-set's SPEC-TYPE argument.  (Bug#27246)
26661 2017-06-10  Michael Albinus  <michael.albinus@gmx.de>
26663         Fix domain port and handling in tramp-gvfs.el
26665         * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
26666         Return nil if BYTE-ARRAY is nil.
26667         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
26668         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
26669         Fix domain and port handling.
26671         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
26672         Ignore errors.
26674 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
26676         Improve documentation of 'face-spec-set-2'
26678         * lisp/faces.el (face-spec-recalc, face-spec-set-2): Rename 'spec'
26679         to 'face-attrs'.
26680         (face-spec-choose, face-spec-set-2): Doc fix.  (Bug#27238)
26682 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
26684         Fix handling of Python/Guile commands with arguments in gdb-mi.el
26686         * lisp/progmodes/gdb-mi.el (gdb-python-guile-commands-regexp): New
26687         variable.
26688         (gdb-control-commands-regexp): Use it.
26689         (gdb-send): Don't increment gdb-control-level if the command
26690         matches gdb-python-guile-commands-regexp and has non-empty
26691         arguments.  Reported by David Boles <boles@ieee.org> in
26692         https://lists.gnu.org/r/emacs-devel/2017-06/msg00009.html.
26694 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
26696         Preserve point in Dired windows under 'dired-auto-revert-buffer'
26698         * lisp/dired.el (dired-find-file): When dired-auto-revert-buffer
26699         is non-nil, bind switch-to-buffer-preserve-window-point to nil
26700         while calling find-file.  (Bug#27243)
26702 2017-06-09  Philipp Stephani  <phst@google.com>
26704         Give test files a -tests.el suffix
26706         Rename a couple of test files that have the same name as the library
26707         they test.  This harmonizes the naming pattern and makes it possible
26708         to have the tests directories in the load path.
26710 2017-06-09  Philipp Stephani  <phst@google.com>
26712         Fix another compiler warning on macOS
26714         * src/image.c (x_query_frame_background_color): Don't define if we
26715         have NextStep but no image support.
26717 2017-06-09  Philipp Stephani  <phst@google.com>
26719         Add garbage collection support for module environments
26721         * src/emacs-module.c (mark_modules): New function.
26722         (initialize_environment): Properly initialize Lisp objects.
26723         * src/alloc.c (garbage_collect_1): Call it.
26725 2017-06-08  Glenn Morris  <rgm@gnu.org>
26727         Make autogen.sh report relevant environment variables
26729         * autogen.sh (check_version):
26730         Indicate if using an environment variable.
26732 2017-06-08  Noam Postavsky  <npostavs@gmail.com>
26734         Split variable macro env from function env
26736         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove.
26737         (cl-symbol-macrolet): Instead of adding each binding directly into the
26738         main environment with a special key format, put all symbol macro
26739         bindings into a single entry in the main environment under
26740         `:cl-symbol-macros'.
26741         (cl--sm-macroexpand): Look up symbol bindings in the
26742         `:cl-symbol-macros' entry of the environment.
26744 2017-06-07  Glenn Morris  <rgm@gnu.org>
26746         * make-dist: Directory modules/mod-test no longer exists.
26748 2017-06-07  Glenn Morris  <rgm@gnu.org>
26750         More authors.el updates
26752         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
26753         (authors-renamed-files-alist): Additions.
26755 2017-06-07  Glenn Morris  <rgm@gnu.org>
26757         * make-dist: Check a release has a ChangeLog with a release notice.
26759         * make-dist: Use existing ChangeLog if present.
26761 2017-06-07  Michael Albinus  <michael.albinus@gmx.de>
26763         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Fix port handling.
26765 2017-06-07  Lars Ingebrigtsen  <larsi@gnus.org>
26767         (url-cookie-host-can-set-p): Protect against zero-length domains
26769         * lisp/url/url-cookie.el (url-cookie-host-can-set-p): Protect
26770         against zero-length domains.
26772         Backtrace of a real-world site that triggers a bug:
26774         Debugger entered--Lisp error: (args-out-of-range "" 0)
26775           url-cookie-host-can-set-p("www.washingtonpost.com" "")
26776           url-cookie-handle-set-cookie("utm_term=0;Expires=Thursday,
26777           01-January-1970 00:00:00 GMT; path=/; domain=")
26778           url-http-handle-cookies()
26780 2017-06-06  Glenn Morris  <rgm@gnu.org>
26782         More authors.el updates
26784         * admin/authors.el (authors-obsolete-files-regexps)
26785         (authors-valid-file-names, authors-renamed-files-alist)
26786         (authors-renamed-files-regexps): Additions.
26788 2017-06-06  Glenn Morris  <rgm@gnu.org>
26790         More small authors.el updates
26792         * admin/authors.el (authors-aliases): Fix recent addition.
26793         (authors-obsolete-files-regexps, authors-no-scan-regexps)
26794         (authors-ignored-files, authors-valid-file-names)
26795         (authors-renamed-files-alist): Additions.
26797 2017-06-06  Glenn Morris  <rgm@gnu.org>
26799         Make authors.el report names that were ignored
26801         * admin/authors.el (authors-ignored-names): New.
26802         (authors-canonical-author-name): Add file and position arguments.
26803         Record ignored authors.
26804         (authors-scan-change-log, authors-scan-el):
26805         Pass file and position to authors-canonical-author-name.
26806         (authors): Also print authors that were ignored.
26808 2017-06-06  Glenn Morris  <rgm@gnu.org>
26810         * admin/authors.el (authors-aliases): Additions.
26812 2017-06-06  Tino Calancha  <tino.calancha@gmail.com>
26814         * test/lisp/subr-tests.el (subr-tests-bug22027): Add test.
26816 2017-06-06  Noam Postavsky  <npostavs@gmail.com>
26818         * lisp/subr.el (read-passwd): Don't delete return value (Bug#22027).
26820 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
26822         Enable ElDoc messages after the newline command
26824         * lisp/emacs-lisp/eldoc.el:
26825         Add "newline" to the eldoc-add-command-completions call (bug#27228).
26827 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
26829         Enable eldoc-mode explicitly inside read--expression
26831         * lisp/simple.el (read--expression): Call eldoc-mode (bug#27202).
26833 2017-06-06  Andy Moreton  <andrewjmoreton@gmail.com>
26835         Fix check for package-unsigned-archives during retrieval
26837         * lisp/emacs-lisp/package.el (package--download-one-archive):
26838         Fix check for package-unsigned-archives.
26840 2017-06-05  Noah Friedman  <friedman@splode.com>
26842         Merge etc/emacs-buffer.gdb from emacs-25 to master.
26844 2017-06-05  Philipp Stephani  <phst@google.com>
26846         Fix undefined behavior in mapbacktrace
26848         * src/eval.c (Fmapbacktrace): Don't assume that PDL is still valid.
26850 2017-06-05  Eli Zaretskii  <eliz@gnu.org>
26852         Fix emacs-module-tests on MS-Windows
26854         * src/print.c (print_vectorlike): Make sure module function's
26855         address prints with a leading "0x".  This fixes emacs-module-tests
26856         on MS-Windows.  Fix whitespace.
26857         * src/dynlib.c (dynlib_addr): Remove unused variable.  Update
26858         commentary.
26860 2017-06-05  Philipp Stephani  <phst@google.com>
26862         Use unwind protection to clean up data structures in modules
26864         Reuse existing functionality and simplify the code a bit.
26866         * src/emacs-module.c (Fmodule_load): Use unwind protection to clean up
26867         runtime object.
26868         (funcall_module): Use unwind protection to clean up environment
26869         object.
26870         (finalize_environment): Simplify signature.
26871         (finalize_environment_unwind, finalize_runtime_unwind): New functions.
26873 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
26875         Some minor tweaks in tramp-tests.el
26877         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-relative):
26878         Let it pass for all gfvs based methods.
26879         (tramp-test24-file-name-completion): Run method and host
26880         completion for all syntaxes only when expensive tests are enabled.
26881         Do not check host completion for gvfs based methods.
26882         (tramp--test-gvfs-p): Add optional METHOD argument.
26883         (tramp--test-afp-or-smb-p): Remove.
26885 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
26887         Fix error in Tramp rsync method
26889         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-c" argument.
26890         Otherwise, `tramp-test10-write-region' could fail.
26892 2017-06-05  Philipp Stephani  <phst@google.com>
26894         Inline module_has_cleanup
26896         This constant is only used once, and we fail compilation anyway if
26897         it's false.
26899         * src/emacs-module.c (MODULE_SETJMP_1): Inline __has_attribute.
26901 2017-06-05  Philipp Stephani  <phst@google.com>
26903         Add missing dependency to test module source file
26905 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
26907         Omit space that broke ‘make check’
26909         * src/print.c (print_vectorlike): Omit stray space.
26911 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
26913         Remove easserts etc. from emacs-module.c
26915         Most of these seem to run afoul of the comment "Do NOT use
26916         'eassert' for checking validity of user code in the module."
26917         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH)
26918         (module_non_local_exit_check, module_non_local_exit_clear)
26919         (module_non_local_exit_get, module_non_local_exit_signal)
26920         (module_non_local_exit_throw, module_make_string):
26921         Remove unnecessary easserts that pointers are nonnull.
26922         Hardware checks this for us nowadays, and the checks
26923         just clutter up the code.
26924         (module_extract_integer): Remove unnecessary verify that
26925         a C signed integer is in the range INTMAX_MIN..INTMAX_MAX.
26926         The C standard guarantees this.
26927         (module_copy_string_contents): Remove unnecessary eassert
26928         that Lisp strings are null-terminated.
26929         (module_function_arity): Remove unnecessary easserts that
26930         function arities are in range.
26932 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
26934         Remove unnecessary checking in emacs-module.c
26936         * src/emacs-module.c (module_copy_string_contents):
26937         Remove checking, as string lengths are always nonnegative and less
26938         than STRING_BYTES_BOUND, and this is checked elsewhere.
26939         (module_make_string): Check length against STRING_BYTES_BOUND, a
26940         tighter bound than MOST_POSITIVE_FIXNUM.  (funcall_module): Don't
26941         assume that an out-of-range integer is nonnegative.
26943 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
26945         SCHARS and STRING_BYTES are nonnegative
26947         Tell the compiler that SCHARS and STRING_BYTES are nonnegative, in
26948         the hopes that this will optimize a bit better.  Also, check this
26949         at runtime if ENABLE_CHECKING.
26950         * src/lisp.h (SCHARS, STRING_BYTES):
26951         eassume that these functions return nonnegative values.
26952         (STRING_SET_CHARS) [ENABLE_CHECKING]:
26953         eassert that newsize is nonnegative.
26955 2017-06-05  Noam Postavsky  <npostavs@gmail.com>
26957         * lisp/desktop.el (desktop-clear): Skip the daemon's frame (Bug#26912).
26959 2017-06-04  Philipp Stephani  <phst@google.com>
26961         Remove an unused error symbol
26963         * src/emacs-module.c (syms_of_module): Remove unused error symbol
26964         'invalid-module-call'.
26966 2017-06-04  Philipp Stephani  <phst@google.com>
26968         Support quitting in modules
26970         The idea is that modules should call env->should_quit from time to
26971         time and return as quickly as possible if it returns true.
26973         * src/emacs-module.c (module_should_quit): New module function.
26974         (initialize_environment): Use it.
26975         (funcall_module): Process potential pending quit.
26977         * src/eval.c (maybe_quit): Add reference to module_should_quit.
26979 2017-06-04  Philipp Stephani  <phst@google.com>
26981         Use more specific errors for module load failure
26983         * src/emacs-module.c (syms_of_module): Add more specific error
26984         symbols.
26985         (Fmodule_load): Use them.
26987 2017-06-04  Philipp Stephani  <phst@google.com>
26989         Remove an unneeded assertion
26991         * src/emacs-module.c (module_copy_string_contents): Remove unneeded
26992         assertion.  If this assertion triggers, we raise an error anyway.
26994 2017-06-04  Philipp Stephani  <phst@google.com>
26996         Guard against signed integer overflows
26998         * src/emacs-module.c (module_extract_integer)
26999         (module_copy_string_contents, module_make_string): Guard against
27000         signed integer overflows.
27002 2017-06-04  Philipp Stephani  <phst@google.com>
27004         Add a couple more assertions to the module code
27006         These can help module authors debug crashes.
27008         * src/emacs-module.c (module_non_local_exit_check)
27009         (module_non_local_exit_clear, module_non_local_exit_get)
27010         (module_non_local_exit_signal, module_non_local_exit_throw)
27011         (module_copy_string_contents, module_make_string)
27012         (funcall_module, initialize_environment): Add assertions
27014 2017-06-04  Philipp Stephani  <phst@google.com>
27016         Use ATTRIBUTE_MAY_ALIAS where alias violations are likely
27018         In particular, alias violations are likely for the return values of
27019         dlsym(3), which get cast around arbitrarily.
27021         * src/emacs-module.c (Fmodule_load): Use ATTRIBUTE_MAY_ALIAS.
27023 2017-06-04  Philipp Stephani  <phst@google.com>
27025         Simplify interface of dynlib_attr.
27027         Instead of returning bool, set the argument pointers to NULL if the
27028         information is not available.
27030         * src/dynlib.c (dynlib_addr): Don't return bool.
27032 2017-06-04  Philipp Stephani  <phst@google.com>
27034         Rationalize environment lifetime management functions
27036         * src/emacs-module.c (Fmodule_load, funcall_module): Adapt callers.
27037         (finalize_environment): Add parameter for public part of the
27038         environment, like 'initialize_environment'.  Add assertions.
27040 2017-06-04  Philipp Stephani  <phst@google.com>
27042         Rework printing of module functions
27044         Fix a FIXME in emacs-module.c.  Put the printing into print.c, like
27045         other types.
27047         * src/print.c (print_vectorlike): Add code to print module functions.
27049         * src/emacs-module.c (funcall_module): Stop calling
27050         'module_format_fun_env'.  Now that module functions are first-class
27051         objects, they can be added to signal data directly.
27052         (module_handle_signal): Remove now-unused function
27053         'module_format_fun_env'.
27055         * test/src/emacs-module-tests.el (mod-test-sum-test): Adapt unit test.
27057         * src/eval.c (funcall_lambda): Adapt call to changed signature of
27058         'funcall_module'.
27060 2017-06-04  Philipp Stephani  <phst@google.com>
27062         Define helper macro to reduce code duplication
27064         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH): New helper
27065         macro.
27066         (MODULE_FUNCTION_BEGIN, module_type_of, module_is_not_nil, module_eq):
27067         Use it.
27069 2017-06-04  Philipp Stephani  <phst@google.com>
27071         Remove two FIXMEs that can't be fixed
27073 2017-06-04  Eli Zaretskii  <eliz@gnu.org>
27075         Avoid slow startup in daemon mode when global-linum-mode is on
27077         * lisp/linum.el (linum-on): Don't turn on linum-mode in a
27078         non-client frame of a daemon session.  (Bug#27210)
27080 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
27082         Fix eldoc bug with curved quote
27084         * lisp/progmodes/elisp-mode.el (elisp-get-fnsym-args-string):
27085         Substitute quotes in documentation before returning it (Bug#27159).
27087 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
27089         Tune ‘format’ after recent fix
27091         * doc/lispref/strings.texi (Formatting Strings):
27092         * src/editfns.c (Fformat): Format field numbers no longer need
27093         to be unique, reverting the previous doc change since that has
27094         now been fixed.  Also, document that %% should not have modifiers.
27095         * src/editfns.c (styled_format): Improve performance.  Remove
27096         the need for the new prepass over the format string, by using
27097         a typically-more-generous bound for the info array size.
27098         Initialize the info array lazily.  Move string inspection to
27099         the same area to help caching.  Avoid the need for a
27100         converted_to_string bitfield by using EQ.  Cache arg in a
27101         local and avoid some potential aliasing issues to help the
27102         compiler.  Info array is now 0-origin, not 1-origin.
27104 2017-06-04  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
27106         Improve of file-local-name use in vc-git-checkin
27108         * lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
27109         when calling git commit.
27111 2017-06-03  Simen Heggestøyl  <simenheg@gmail.com>
27113         Support a new CSS indentation style
27115         * lisp/textmodes/css-mode.el (css-smie-rules): Indent after property
27116         immediately followed by a newline.
27118         * test/manual/indent/css-mode.css: Add test for the change above.
27120         * test/manual/indent/scss-mode.scss: Ditto.
27122 2017-06-03  Philipp Stephani  <phst@google.com>
27124         Fix a bug when using format field numbers
27126         Previously styled_format overwrite the argument vector.  This is no
27127         longer possible because there might be more than one specification per
27128         argument.  Use the existing auxiliary info array instead.
27130         * src/editfns.c (styled_format): Record arguments in the info
27131         structure instead of overwriting them.
27132         * test/src/editfns-tests.el (format-with-field): Add unit test.
27134 2017-06-03  Paul Eggert  <eggert@cs.ucla.edu>
27136         Document uniqueness limitation of ‘format’
27138         * doc/lispref/strings.texi (Formatting Strings):
27139         * src/editfns.c (Fformat):
27140         Document that field numbers should be unique within a format.
27142 2017-06-03  Glenn Morris  <rgm@gnu.org>
27144         Small rmailmm fix (bug#27203)
27146         * lisp/mail/rmailmm.el (rmail-mime-insert-bulk):
27147         Fall back to HOME if no match in rmail-mime-attachment-dirs-alist.
27149 2017-06-03  Glenn Morris  <rgm@gnu.org>
27151         * admin/authors.el (authors-aliases): Addition.
27153 2017-06-03  Glenn Morris  <rgm@gnu.org>
27155         Add watch for password back to inferior python comint filter
27157         It was removed along with other items for speed (bug#16875),
27158         but doesn't seem to have been causing an issue, and it's useful to
27159         have it there (bug#27154).
27160         * lisp/progmodes/python.el (inferior-python-mode):
27161         Add comint-watch-for-password-prompt to comint-output-filter-functions.
27163 2017-06-03  Ryan  <rct@thompsonclan.org>  (tiny change)
27165         Use completing-read-default in tmm-prompt
27167         tmm uses completing-read, but customizes its behavior so much
27168         that any alternative completing-read-function will almost
27169         certainly break it.  For example, both ido-ubiquitous and ivy have
27170         special code to deactivate themselves for tmm.
27171         * lisp/tmm.el (tmm-prompt): Use completing-read-default instead of
27172         completing-read.  (Bug#27193)
27174 2017-06-02  Mats Lidell  <mats.lidell@cag.se>
27176         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL (Bug#20371)
27178 2017-06-02  Glenn Morris  <rgm@gnu.org>
27180         Fix with-todo-test
27182         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
27183         HOME should be a directory, not a file.  Delete it when finished.
27185 2017-06-02  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
27187         Update TUTORIAL.it
27189         * etc/tutorials/TUTORIAL.it: Adjust to recent changes in TUTORIAL.
27191 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
27193         Fix cursor position in Dired buffers after dired-sort-toggle
27195         * src/xdisp.c (display_and_set_cursor): Record cursor coordinates
27196         even if the frame is marked as garbaged.  (Bug#27187)
27198 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
27200         Update TUTORIAL.he
27202         * etc/tutorials/TUTORIAL.he: Adjust to recent changes in TUTORIAL.
27204 2017-06-02  Noam Postavsky  <npostavs@gmail.com>
27206         * etc/tutorials/TUTORIAL: Explain how to stop the tutorial (Bug#20371).
27208 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
27210         Limit format fields to more POSIX-like spec
27212         * doc/lispref/strings.texi (Formatting Strings):
27213         Don’t allow mixing numbered with unnumbered format specs.
27214         * src/editfns.c (styled_format): Don’t bother checking for field 0,
27215         since it doesn’t crash and the behavior is not specified.
27216         * test/src/editfns-tests.el (format-with-field): Adjust tests to
27217         match current doc.  Add more tests for out-of-range fields.
27219 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
27221         Improve performance by avoiding strtoumax
27223         This made (string-to-number "10") 20% faster on my old desktop,
27224         an AMD Phenom II X4 910e running Fedora 25 x86-64.
27225         * admin/merge-gnulib (GNULIB_MODULES): Remove strtoumax.
27226         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
27227         * lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, m4/strtoull.m4:
27228         * m4/strtoumax.m4: Remove.
27229         * src/editfns.c (str2num): New function.
27230         (styled_format): Use it instead of strtoumax.  Use ptrdiff_t
27231         instead of uintmax_t.  Check for integer overflow.
27232         * src/lread.c (LEAD_INT, DOT_CHAR, TRAIL_INT, E_EXP):
27233         Move to private scope and make them enums.
27234         (string_to_number): Compute integer value directly during
27235         first pass instead of revisiting it with strtoumax later.
27237 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
27239         Minor improvements to format field numbers
27241         * src/editfns.c (styled_format): Allow field numbers in a %% spec.
27242         No need for a special diagnostic for field numbers greater than
27243         PTRDIFF_MAX.  Reword diagnostic for field 0.
27244         * test/src/editfns-tests.el (format-with-field): Adjust to match.
27246 2017-06-02  Philipp Stephani  <phst@google.com>
27248         Implement field numbers in format strings
27250         A field number explicitly specifies the argument to be formatted.
27251         This is especially important for potential localization work, since
27252         grammars of various languages dictate different word orders.
27254         * src/editfns.c (Fformat): Update documentation.
27255         (styled_format): Implement field numbers.
27257         * doc/lispref/strings.texi (Formatting Strings): Document field numbers.
27259         * lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn): Adapt.
27261         * test/src/editfns-tests.el (format-with-field): New unit test.
27263 2017-06-01  Alexander Gramiak  <agrambot@gmail.com>
27265         Limit scope of local overriding-terminal-local-map
27267         The function `binding' may call isearch-done, which globally sets
27268         overriding-terminal-local-map to nil (Bug#23007).
27269         * lisp/isearch.el (isearch-mouse-2): Don't bind
27270         overriding-terminal-local-map around the call to `binding'.
27272 2017-06-01  Stephen Berman  <stephen.berman@gmx.net>
27274         Correct and isolate the todo-mode test environment
27276         This avoids having to set todo-mode variables globally in the test
27277         file and prevents any exisiting user todo-mode files from influencing
27278         the tests.
27280         * test/lisp/calendar/todo-mode-tests.el:
27281         (with-todo-test): New macro.
27282         (todo-test-todo-quit01, todo-test-todo-quit02)
27283         (todo-test-item-highlighting): Use it.
27285 2017-06-01  Alan Third  <alan@idiocy.org>
27287         Fix build errors on macOS 10.6 (bug#27059)
27289         * src/nsfns.m (compute_tip_xy): Don't use CGRectContainsPoint.
27291 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
27293         Improve testing of octal and hex display of raw bytes
27295         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
27296         (test-redisplay-5): Add a test with a large codepoint.
27298 2017-06-01  Vasilij Schneidermann  <mail@vasilij.de>
27300         Add customizable to display raw bytes as hex
27302         * src/xdisp.c (get_next_display_element): Dispatch used format string
27303         for unprintables based on new display-raw-bytes-as-hex variable.
27304         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
27306         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
27308         * doc/emacs/display.texi: Document the new variable.
27309         * etc/NEWS: Mention display-raw-bytes-as-hex.
27311         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
27312         (test-redisplay-5): New tests.
27313         (test-redisplay): Call test-redisplay-5.
27315 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
27317         Revert "Add customizable to display raw bytes as hex"
27319         This reverts commit 7c9ac111c5e5d92e620b666893993d5dc562e483.
27321 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
27323         Add customizable to display raw bytes as hex
27325         * src/xdisp.c (get_next_display_element): Dispatch used format string
27326         for unprintables based on new display-raw-bytes-as-hex variable.
27327         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
27329         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
27331         * doc/emacs/display.texi: Document the new variable.
27332         * etc/NEWS: Mention display-raw-bytes-as-hex.
27334         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
27335         (test-redisplay-5): New tests.
27336         (test-redisplay): Call test-redisplay-5.
27338 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
27340         Fix linum under text-scaling when leuven-theme is used
27342         * etc/themes/leuven-theme.el (linum): Make the 'linum' face
27343         inherit from 'default' and 'shadow', so that margins are enlarged
27344         as expected under text-scaling.
27346 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
27348         Free cwd when no longer needed
27350         * lib-src/emacsclient.c (main): Don’t dally when freeing cwd.
27352 2017-06-01  Anders Waldenborg  <anders@0x63.nu>  (tiny change)
27354         Fix memory leak of cwd string in emacsclient (Bug#26628)
27356         * lib-src/emacsclient.c (main): emacsclient retrieves the current
27357         working directory using get_current_dir_name which returns a newly
27358         allocated string.  Make sure this string is freed before exiting.
27360 2017-06-01  Glenn Morris  <rgm@gnu.org>
27362         Quieten compilation of some test files
27364         * test/lisp/dired-tests.el (dired-test-bug25609): Mark unused args.
27365         * test/src/data-tests.el (binding-test-set-constant-t)
27366         (binding-test-set-constant-nil, binding-test-set-constant-keyword)
27367         (binding-test-set-constant-nil): Silence compiler.
27368         * test/src/regex-tests.el (regex-tests-BOOST): Escape char literal.
27370 2017-06-01  Glenn Morris  <rgm@gnu.org>
27372         Use true names for invocation- and source-directory
27374         * src/emacs.c (init_cmdargs) <Vinvocation_directory>:
27375         * src/lread.c (init_lread) <Vsource_directory>: Use true names.
27377 2017-06-01  Glenn Morris  <rgm@gnu.org>
27379         Avoid elisp-mode test failures when source dir has multiple names
27381         * test/lisp/progmodes/elisp-mode-tests.el (emacs-test-dir):
27382         Use the true name of the directory.
27384 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
27386         Fix bug with "%%" in error format
27388         * src/doprnt.c (doprnt): Format "%%" correctly.
27389         Problem reported by Philipp Stephani in:
27390         https://lists.gnu.org/r/emacs-devel/2017-05/msg00901.html
27392 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
27394         * src/editfns.c (Fmessage): Improve doc string (Bug#23425#130).
27396 2017-06-01  Katsumi Yamaoka  <yamaoka@jpl.org>
27398         Revert mml-generate-mime-1 (bug#27141)
27400         * lisp/gnus/mml.el (mml-generate-mime-1): Reverted to emacs-25 version
27401         with slight modernizations (bug#27141).
27403 2017-05-31  Michael Albinus  <michael.albinus@gmx.de>
27405         Fix Bug#27108
27407         * lisp/recentf.el (recentf-load-list): Bind `non-essential',
27408         in order to avoid Tramp password requests during Emacs
27409         startup.  (Bug#27108)
27411 2017-05-31  Glenn Morris  <rgm@gnu.org>
27413         * test/Makefile.in (.SECONDARY): Stop make deleting .elc files.
27415 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
27417         Document current-line hscrolling in ELisp manual
27419         * doc/lispref/windows.texi (Horizontal Scrolling): Document the
27420         new mode of auto-hscrolling only the current line.
27422 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
27424         Support lower bound on hscrolling when only current line scrolls
27426         * doc/emacs/display.texi (Horizontal Scrolling): Document the new
27427         mode of auto-hscrolling only the current line.
27429         * src/xdisp.c (init_iterator): When hscrolling only the
27430         current line, apply the window's min_hscroll here, so that
27431         non-current lines will be hscrolled by that minimum.
27432         Suggested by Stephen Berman <stephen.berman@gmx.net>.
27433         (hscroll_window_tree): Account for window's min_hscroll when
27434         deciding whether to recompute the hscroll.
27435         (display_line): Subtract window's min_hscroll from x_incr, as that
27436         was already accounted for in init_iterator.  (Bug#27008)
27438 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
27440         cl-print: handle circular objects when `print-circle' is nil (Bug#27117)
27442         * lisp/emacs-lisp/cl-print.el (cl-print--currently-printing): New variable.
27443         (cl-print-object): When `print-circle' is nil, bind it to a list of
27444         objects that are currently printing to avoid printing the same object
27445         endlessly.
27446         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle): New test.
27448 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
27450         Further simplify test/Makefile, optionally load elc tests
27452         * test/Makefile.in: Use make's error ignoring feature instead of
27453         suppressing test errors with shell.  Compile test files in the main
27454         make invocation instead of a recursive 'make' call.  Optionally load
27455         .elc test files if TEST_LOAD_EL is set to something other than 'yes'.
27456         Remove obsolete commentary.
27458 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
27460         Avoid inflooping in redisplay due to Spacemacs and linum-mode
27462         * src/xdisp.c (redisplay_internal): Limit the number of redisplay
27463         retries when a frame becomes garbaged as result of redisplaying
27464         it.  (Bug#27115)
27466 2017-05-31  Tino Calancha  <tino.calancha@gmail.com>
27468         * src/editfns.c (decode-time): Fix docstring.
27470 2017-05-31  Glenn Morris  <rgm@gnu.org>
27472         * admin/update_autogen: Remove bzr support.
27474 2017-05-31  Glenn Morris  <rgm@gnu.org>
27476         Avoid subr test failure when source dir has multiple names
27478         * test/lisp/subr-tests.el (subr-tests--this-file):
27479         Use the true name of the file.  The following test does a string
27480         comparison of this value with that from method-files, which uses
27481         load-history, which contains true names.
27483 2017-05-31  Dmitry Gutov  <dgutov@yandex.ru>
27485         Extract eldoc--supported-p
27487         * lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
27488         (turn-on-eldoc-mode, eldoc-mode): Use it.
27489         (https://lists.gnu.org/r/emacs-devel/2017-05/msg00865.html)
27491 2017-05-30  Glenn Morris  <rgm@gnu.org>
27493         Make "make check" less verbose by default
27495         * test/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_ELC, am__v_ELC_)
27496         (am__v_ELC_0, am__v_ELC_1, AM_V_GEN, am__v_GEN_, am__v_GEN_0)
27497         (am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
27498         New, copied from lisp/Makefile.in.
27499         (%.elc, %.log): Simplify and quieten.
27501 2017-05-30  Alan Mackenzie  <acm@muc.de>
27503         Mode line "%q" construct: Just use one number when both would be the same.
27505         * src/xdisp.c (decode_mode_spec): recode the "%q" bit appropriately.
27507 2017-05-30  Alan Mackenzie  <acm@muc.de>
27509         Merge branch 'master' of /home/acm/emacs/emacs.git/master
27511 2017-05-30  Alan Mackenzie  <acm@muc.de>
27513         c-defun-name: Return fully qualified method names when wanted in C++, etc.
27515         * lisp/progmodes/cc-cmds.el (c-defun-name): Use
27516         c-back-over-compound-identifier in place of c-backward-token-2 near the end
27517         of the function.
27519 2017-05-30  Glenn Morris  <rgm@gnu.org>
27521         Reduce scope of recent test/Makefile HOME change
27523         * test/Makefile.in (%.log): Move setting of HOME here from top-level.
27525 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
27527         Skip .#* temporaries when finding sources
27529         Without this patch, ‘make check’ can fail with the diagnostic
27530         ‘invalid syntax in conditional’ if there is an Emacs temporary
27531         file whose name starts with ‘.#’, because the ‘#’ is treated as
27532         the start of a Make comment.
27533         * lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
27534         * test/Makefile.in (ELFILES):
27535         Skip files starting with ‘.’, so that the .#* files do not cause
27536         trouble.  (We cannot easily skip just files starting with ‘.#’,
27537         since ‘#’ starts a Make comment!)
27539 2017-05-30  Alan Mackenzie  <acm@muc.de>
27541         Merge branch 'master' of /home/acm/emacs/emacs.git/master
27543 2017-05-30  Alan Mackenzie  <acm@muc.de>
27545         Fix the mouse help/key map on the "%p" part of the mode line.
27547         * lisp/bindings.el (mode-line-percent-position): give it a
27548         `risky-local-variable' property.
27549         (mode-line-position): correct the quoting on the mode-line-percent-position
27550         part of the variable, allowing the properties to be properly recognized.
27552 2017-05-30  Alan Mackenzie  <acm@muc.de>
27554         Fix the mouse help/key map on the "%p" part of the mode line.
27556         * lisp/bindings.el (mode-line-percent-position): give it a
27557         `risky-local-variable' property.
27558         (mode-line-position): correct the quoting on the mode-line-percent-position
27559         part of the variable, allowing the properties to be properly recognized.
27561 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
27563         Merge from gnulib
27565         * build-aux/config.guess: Copy from gnulib.
27566         * lib/gnulib.mk.in: Regenerate.
27568 2017-05-30  Glenn Morris  <rgm@gnu.org>
27570         Stop make check interacting with HOME
27572         * test/Makefile.in (HOME): Export a non-existent value.
27574 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
27576         Update .gitattributes to match sources better
27578         * .gitattributes: Remove nt/nmake.defs.  Move dostorture.c, c.C,
27579         algrthms.html.  Use pattern for todo-mode.  Improve patterns for
27580         Ada, C, ObjC, shell.  Add Pascal.  Remove unused pattern *.ruby.
27581         Add config.guess and config.sub as shell files.
27583 2017-05-30  Noam Postavsky  <npostavs@gmail.com>
27585         Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to '--bg-daemon'
27587         * doc/emacs/cmdargs.texi (Initial Options):
27588         * doc/lispref/os.texi (Startup Summary):
27589         * etc/NEWS:
27590         * etc/emacs.service:
27591         * src/emacs.c (main):
27592         * src/lisp.h: Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to
27593         '--bg-daemon'.
27595 2017-05-30  Glenn Morris  <rgm@gnu.org>
27597         todo-mode: don't assume an ordering of tests
27599         * test/lisp/calendar/todo-mode-tests.el (todo-test-todo-quit02)
27600         (todo-test-item-highlighting): Avoid prompting for input file.
27602 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
27604         Improve .gdbinit Lisp value pretty-printing
27606         * src/.gdbinit (to_string): Use an unsigned representation for
27607         Lisp values, as requested by Eli Zaretskii (Bug#27098).
27608         Also, use "make_number(N)" for Lisp integers.
27610 2017-05-30  Dmitry Gutov  <dgutov@yandex.ru>
27612         Turn global-eldoc-mode into a globalized minor mode
27614         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode):
27615         Turn into globalized mode (bug#19853).
27616         (turn-on-eldoc-mode): Make it into a wrapper instead of alias.
27617         (eldoc-mode): Only show the message when called interactively.
27619 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
27621         Use regexp matching instead of checking exit status
27623         * lisp/progmodes/xref.el (xref-collect-matches):
27624         See if the output buffer contents look like Grep output
27625         instead of checking exit status (bug#23451).
27627 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
27629         Add initial tests for todo-mode.el
27631         *test/lisp/calendar/todo-mode-tests.el:
27632         *test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
27633         *test/lisp/calendar/todo-mode-resources/todo-test-1.todo: New files.
27635         * .gitattributes: Ignore trailing whitespace in todo-mode test
27636         data files, since it is part of the todo-mode file format.
27638 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
27640         Make `todo-toggle-item-highlighting' work on multiline items (bug#27133)
27642         * lisp/calendar/todo-mode.el (todo-hl-line-range): New named function,
27643         replacing an anonymous function for the sake of `describe-variable'.
27644         (todo-modes-set-2): Use it as buffer-local value of hl-line-range-function
27645         and remove boundp test of this variable, so its value is available on
27646         invoking `todo-toggle-item-highlighting'.
27648 2017-05-29  Alan Third  <alan@idiocy.org>
27650         Fix build error on macOS 10.6
27652         * src/nsfns.m (compute_tip_xy): Cast NSRect to CGRect and NSPoint to
27653         CGPoint.
27655 2017-05-29  Jules Tamagnan  <jtamagnan@gmail.com>  (tiny change)
27657         Comply with pep 8 style guide for backslash in assignment (Bug#24809)
27659         * lisp/progmodes/python.el (python-indent--calculate-indentation):
27660         Increase indent by `python-indent-offset' after
27661         `:after-backslash-assignment-continuation'.
27663 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
27665         Add suggestion to docstring
27667         * lisp/subr.el (interactive-p): Mention commandp, as this is often
27668           what users are actually looking for.
27670 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
27672         Ensure button-get works in any buffer
27674         * lisp/button.el (button-get): Previously we assumed that button-get
27675           was called in the buffer containing the button.  In other buffers,
27676           button-get always returned nil.  Fix this by passing the relevant
27677           buffer from the marker.
27679 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
27681         Signal error if find-grep returns a nonzero status
27683         * lisp/progmodes/xref.el (xref-collect-matches): Signal error
27684         if find-grep returns a nonzero status (bug#23451).  Remove the
27685         comment: even if some output is present, a non-zero status
27686         means something went wrong and it can't be relied upon.
27688 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
27690         Make sure exiting todo-mode buffer buries it (bug#27121)
27692         This failed due to commit ea3ae33b from 2013-05-16, which prevented
27693         quitting todo-mode buffer after visiting todo-archive buffer from
27694         making the archive buffer current again.  Avoid this now by simply
27695         killing the archive buffer, since there's no need to keep it a live
27696         buffer.  Consequently, quitting a todo-mode buffer can now use
27697         bury-buffer without an argument, which ensures that is will not
27698         becomes current on quitting the buffer that replaced it in the window.
27700         * lisp/calendar/todo-mode.el (todo-quit): Kill todo-archive-mode
27701         buffer instead of burying it.  This now allows exiting the
27702         todo-mode buffer by bury-buffer without an argument, so do that.
27704 2017-05-28  Michael Albinus  <michael.albinus@gmx.de>
27706         Some tweaks, almost all for Tramp adb method
27708         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
27709         Use `make-tramp-file-name'.
27710         (tramp-adb-get-device): Use `tramp-file-name-port-or-default'.
27711         (tramp-adb-maybe-open-connection): Set "prompt" property.
27712         (tramp-adb-wait-for-output): Use it.
27714         * lisp/net/tramp-cache.el (tramp-cache-print): Use `elt'.
27715         (tramp-dump-connection-properties): Check also that there are
27716         properties to be saved.  Don't save "started" property of
27717         "ftp" method.
27719         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
27720         Use `make-tramp-file-name'.
27722         * lisp/net/tramp.el (tramp-remote-file-name-spec-regexp):
27723         Host could be empty.
27724         (tramp-file-name-port-or-default): New defun.
27725         (tramp-dissect-file-name): Simplify `make-tramp-file-name' call.
27726         (tramp-handle-file-name-case-insensitive-p): Use a progress reporter.
27727         (tramp-call-process, tramp-call-process-region):
27728         Use `make-tramp-file-name'.
27730         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
27731         Revert change from 2017-05-24.
27732         (tramp-test05-expand-file-name-relative): Let it also pass for
27733         "adb" method.
27735 2017-05-28  Jürgen Hötzel  <juergen@archlinux.org>
27737         Fix Tramp for Android 7
27739         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp):
27740         Username part of prompt is empty on Android 7.
27741         (tramp-adb-ls-toolbox-regexp):
27742         Ignore addition links column on Android 7.
27743         (tramp-adb-get-ls-command):
27744         Dont use --color=none when using toybox (Android 7).  It's not
27745         possible to disable coloring explicitly for toybox ls.
27747 2017-05-27  Svante Carl v. Erichsen  <Svante.v.Erichsen@web.de>  (tiny change)
27749         Fix cl-indent for `loop' with :keywords (Bug#15543)
27751         * lisp/emacs-lisp/cl-indent.el (lisp-extended-loop-p): Allow for
27752         ":keywords".
27754 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
27756         Depromiscuify inotify with IN_MASK_ADD
27758         Use IN_MASK_ADD instead of using a no-longer-promiscuous-enough
27759         mask.  This simplifies the code and restores the ability to
27760         use IN_ACCESS, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE, and IN_OPEN
27761         in some cases (Bug#26973).
27762         * src/inotify.c (INOTIFY_DEFAULT_MASK): Remove.
27763         (Finotify_add_watch): Use IN_MASK_ADD instead.
27765 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
27767         Restore inotify onlydir support
27769         There was no need to remove it in the 2017-03-26 inotify change,
27770         as it is like IN_DONT_FOLLOW and does not affect other watchers
27771         for the same file.
27772         * src/inotify.c (symbol_to_inotifymask, Finotify_add_watch)
27773         (syms_of_inotify): Bring back onlydir.
27775 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
27777         Simplify computation of inotify mask
27779         * src/inotify.c (add_watch): Accept uint32_t imask instead
27780         of Lisp_Object aspect.  Caller changed.
27781         (Finotify_add_watch): Use aspect_to_inotifymask earlier, to
27782         simplify the code.
27784 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
27786         Improve the documentation of filesets
27788         * doc/emacs/files.texi (Filesets): Fix the description of
27789         fileset-init's effect on the menu bar.  (Bug#27015)
27791 2017-05-27  Philipp Stephani  <phst@google.com>
27793         Don't attempt to recover from undefined behavior in some cases
27795         These functions can only be run in batch mode and exit Emacs on
27796         return, so nothing can be recovered.  Disable unsafe recover
27797         mechanisms so that we get real failures and good stack traces on
27798         fatal signals.
27800         * lisp/emacs-lisp/bytecomp.el (batch-byte-compile)
27801         (batch-byte-recompile-directory):
27802         * lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit)
27803         (ert-summarize-tests-batch-and-exit): Don't attempt to recover
27804         from undefined behavior.
27806 2017-05-27  Philipp Stephani  <phst@google.com>
27808         Avoid another compiler warning on macOS
27810         When configured with --without-ns, HAVE_NS is not defined on macOS,
27811         thus 'memory-limit' calls the deprecated sbrk(2) function.  Avoid that
27812         by using the pre-defined __APPLE__ preprocessor macro.
27814         * src/alloc.c (Fmemory_limit): Never use sbrk(2) on macOS.
27816 2017-05-27  Luke Yen-Xun Lee  <luke.yx.lee@gmail.com>
27818         Fix ruler-mode text-scaling issues
27820         * lisp/ruler-mode.el (ruler-mode-text-scaled-width): New function
27821         for computing scaled text width.
27822         (ruler-mode-text-scaled-window-hscroll)
27823         (ruler-mode-text-scaled-window-width): Compute text scaled
27824         `window-width' value.
27825         (ruler-mode-mouse-grab-any-column, ruler-mode-mouse-add-tab-stop)
27826         (ruler-mode-ruler): Change `window-hscroll' into
27827         `ruler-mode-text-scaled-window-hscroll', and change `window-width'
27828         into `ruler-mode-text-scaled-window-width'.
27830 2017-05-27  Martin Rudalics  <rudalics@gmx.at>
27832         Minor doc and doc-string fixes (Bug#27091)
27834         * src/window.c (Fset_window_scroll_bars): Fix doc-string.
27836         * doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
27837         (Display Margins): Mention that `set-window-buffer' may override
27838         settings made by `set-window-fringes', `set-window-scroll-bars'
27839         and `set-window-margins'.
27840         * doc/lispref/windows.texi (Buffers and Windows): Fix doc of
27841         `set-window-buffer'.
27843 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
27845         Avoid args-out-of-range errors on fringe clicks after "C-h k"
27847         * src/keyboard.c (echo_truncate): Don't call Ftruncate if the echo
27848         message is already shorter than NCHARS.  (Bug#27040)
27850 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
27852         Fix GUD "Stop" display when running pdb
27854         * lisp/progmodes/gud.el (gud-menu-map): Don't call gdb-show-stop-p
27855         when GUD mode is 'pdb'.  (Bug#27024)
27857 2017-05-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
27859         Support drag and drop of region by mouse (Bug#26725)
27861         * doc/emacs/frames.texi (Drag and Drop): Document support of drag
27862         and drop region by mouse.
27863         * lisp/mouse.el (mouse-drag-region): Call mouse-drag-and-drop-region
27864         when start-event is on region.
27865         (mouse-drag-and-drop-region): New function, moves the region by
27866         (mouse-drag-and-drop-region): New defcustom.
27867         * etc/NEWS: Mention mouse-drag-and-drop-region.
27869 2017-05-27  Noam Postavsky  <npostavs@gmail.com>
27871         * lisp/emacs-lisp/eieio.el (defclass): Fix quote in warning message.
27873 2017-05-27  Alan Third  <alan@idiocy.org>
27875         Check if instancetype supported in ObjC
27877         * configure.ac: Add check for instancetype.
27878         * src/nsterm.h [!NATIVE_OBJC_INSTANCETYPE]: Define instancetype.
27880 2017-05-26  Wilfred Hughes  <me@wilfred.me.uk>
27882         Mark keywordp as a safe, error-free function
27884         * lisp/emacs-lisp/byte-opt.el: Add keywordp to
27885           side-effect-and-error-free-fns.
27887 2017-05-26  Paul Eggert  <eggert@cs.ucla.edu>
27889         * src/inotify.c: Add FIXME comments.
27891 2017-05-26  Andreas Politz  <politza@hochschule-trier.de>
27893         Fix Bug#26973
27895         * src/inotify.c (INOTIFY_DEFAULT_MASK): Removing ACCESS, OPEN
27896         and CLOSE events on order do let other processes also reading
27897         from their descriptors.  (Bug#26973).
27899 2017-05-26  Michael Albinus  <michael.albinus@gmx.de>
27901         Remove Emacs 23 compat code from Tramp
27903         * doc/misc/tramp.texi (Remote processes): Don't mention
27904         Emacs 24 explicitly.
27905         (Frequently Asked Questions): Remove Emacs 23 from
27906         compatibility list.
27908         * lisp/net/tramp.el:
27909         * lisp/net/tramp-adb.el:
27910         * lisp/net/tramp-cache.el:
27911         * lisp/net/tramp-gvfs.el:
27912         * lisp/net/tramp-sh.el:
27913         * lisp/net/tramp-smb.el: Replace compat function calls.
27915         * lisp/net/tramp-compat.el (remote-file-name-inhibit-cache)
27916         (tramp-compat-condition-case-unless-debug)
27917         (tramp-compat-copy-file, tramp-compat-copy-directory)
27918         (tramp-compat-delete-file, tramp-compat-delete-directory)
27919         (tramp-compat-process-live-p): Remove them.
27921         * lisp/net/trampver.el: Make version check fit for Emacs 24.
27923 2017-05-26  Katsumi Yamaoka  <yamaoka@jpl.org>
27925         Work for application/x-tar-gz and image/svg+xml
27927         ;; Try inlining the attachment in the article <87wp94dzj6.fsf@gmail.com>
27928         ;; of bug#27078 in the Emacs bug list using Gnus.
27930         * lisp/gnus/mm-archive.el (mm-archive-decoders):
27931         Add a decoder for application/x-tar-gz.
27932         (mm-dissect-archive): Error out if a decoder is not found.
27934         * lisp/gnus/mm-decode.el (mm-get-image): Allow image/svg+xml.
27936 2017-05-26  Tino Calancha  <tino.calancha@gmail.com>
27938         test-calc-23889: Skip test on 32-bit platforms
27940         This test fails on some 32-bit platforms as mentioned in
27941         https://lists.gnu.org/r/emacs-devel/2017-05/msg00737.html
27942         * test/lisp/calc/calc-tests.el (test-calc-23889): Skip when
27943         the Lisp integer is not big enough.
27945 2017-05-25  Alan Third  <alan@idiocy.org>
27947         Fix NS tooltips showing in the wrong place (bug#27053)
27949         * src/nsfns.m (compute_tip_xy): Get current mouse position instead of
27950         last recorded position.
27952 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
27954         lisp/net/soap-client.el: Bump version to 3.1.2
27956         * lisp/net/soap-client.el: Bump version to 3.1.2.
27958 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
27960         Fix soap-inspect.el doc strings
27962         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute): Fix doc
27963         string.
27964         (soap-inspect-xs-attribute-group): Likewise.
27966 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
27968         Fix two soap-client.el byte compilation warnings
27970         * lisp/net/soap-client.el (url-http-response-status): Add defvar.
27971         (soap-fetch-xml-from-url): Remove special declaration of
27972         url-http-response-status.
27973         (soap-invoke-internal): Likewise.
27975 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
27977         lisp/net/soap-client.el: Require cl-lib version 0.6.1
27979         * lisp/net/soap-client.el: Require cl-lib version 0.6.1.
27981 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
27982             Stefan Monnier  <monnier@iro.umontreal.ca>
27984         lisp/net/soap-client.el: Shorten some long lines
27986         * lisp/net/soap-client.el (soap-encode-xs-element): Remove
27987         unnecessary progn.
27988         (soap-xs-add-union): Wrap long line.
27990 2017-05-25  Alex Harsanyi  <AlexHarsanyi@gmail.com>
27991             Stefan Monnier  <monnier@iro.umontreal.ca>
27993         Remove cl dependency in soap-client.el and soap-inspect.el
27995         * lisp/net/soap-inspect.el: Replace cl library with cl-lib, case
27996         with cl-case, destructuring-bind with cl-destructuring-bind and
27997         loop with cl-loop.
27999         * lisp/net/soap-client.el: Replace cl library with cl-lib,
28000         defstruct with cl-defstruct, assert with cl-assert, case with
28001         cl-case, ecase with cl-ecase, loop with cl-loop and
28002         destructuring-bind with cl-destructuring-bind.
28004 2017-05-25  Michael Albinus  <michael.albinus@gmx.de>
28006         Switch Tramp to cl-lib
28008         * lisp/net/tramp-compat.el (cl-lib): Require it rather than cl.
28010         * lisp/net/tramp-ftp.el: Don't require cl.
28012         * lisp/net/tramp-gvfs.el: Don't require cl.
28013         (tramp-gvfs-handler-mounted-unmounted)
28014         (tramp-gvfs-connection-mounted-p): Use `cl-*' macros.
28016         * lisp/net/tramp-sh.el: Don't require cl.
28017         (tramp-set-file-uid-gid): Use `shell-quote-argument'.
28018         (tramp-sh-gvfs-monitor-dir-process-filter)
28019         (tramp-sh-inotifywait-process-filter): Use `cl-*' macros.
28021         * lisp/net/tramp-smb.el: Don't require cl.
28022         (tramp-smb-read-file-entry): Use `cl-*' macros.
28024         * lisp/net/tramp.el (cl-lib): Require it rather than cl.
28025         (tramp-parse-file, tramp-parse-shostkeys-sknownhosts)
28026         (tramp-parse-passwd, tramp-parse-etc-group)
28027         (tramp-parse-putty): Use `cl-*' macros.
28029 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
28031         * CONTRIBUTE: Suggest autogen.sh's 'all' operand.
28033 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
28035         Port ATTRIBUTE_MAY_ALIAS to recent icc
28037         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS) [__ICC]:
28038         Define to empty.  Otherwise, icc (ICC) 17.0.4 20170411 says
28039         “warning #2621: attribute "__may_alias__" does not apply here”
28040         for constructs like ‘struct sockaddr *sa = (whatever);
28041         struct sockaddr_in __attribute__ ((__may_alias__)) *sin
28042         = (struct sockaddr_in *) sa;’.
28044 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
28046         Merge from gnulib
28048         This incorporates:
28049         2017-05-25 port to recent icc
28050         * lib/intprops.h: Copy from gnulib.
28052 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
28054         Fix Tramp for python.el
28056         * lisp/net/tramp.el (tramp-get-connection-process): Check,
28057         that VEC is a `tramp-file-name' structure.
28059 2017-05-24  Alan Third  <alan@idiocy.org>
28061         Raise version of macOS we define instancetype for (bug#27059)
28063         * src/nsterm.m: Increase supported version number.
28065 2017-05-24  Alan Third  <alan@idiocy.org>
28067         Define new types on macOS 10.6 (bug#27041)
28069         * src/nsterm.h: Enable instancetype typedef for older macOS, and use
28070         correct NSUInteger instead of int.
28072 2017-05-24  Glenn Morris  <rgm@gnu.org>
28074         Don't autoload new dns-mode command
28076         * lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
28077         Remove autoload cookie.
28079 2017-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
28081         * src/fns.c (sxhash): Fix records hashing (bug#27057, bug#26639)
28083         (sxhash_vector): Make it work on pseudo vectors as well.
28084         (sxhash): Treat records like vectors.
28086 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
28088         Adapt tramp-tests.el according to new defstruct
28090         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
28091         Fix test according to new defstruct.
28092         (tramp-test29-environment-variables-and-port-numbers):
28093         Expect it now as passed.  Cleanup at the end.
28095 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
28097         Introduce a defstruct `tramp-file-name' as central data structure.
28099         This solves also Bug#27009.
28101         * lisp/net/tramp.el (tramp-current-domain)
28102         (tramp-current-port): New defvars.
28103         (tramp-file-name): New defstruct.
28104         (tramp-file-name-user-domain, tramp-file-name-host-port)
28105         (tramp-file-name-equal-p): New defuns.
28106         (tramp-file-name-p, tramp-file-name-method)
28107         (tramp-file-name-user, tramp-file-name-host)
28108         (tramp-file-name-localname, tramp-file-name-hop)
28109         (tramp-file-name-real-user, tramp-file-name-domain)
28110         (tramp-file-name-real-host, tramp-file-name-port):
28111         Remove defuns.  They are provided by the defstruct, or not
28112         needed anymore.
28113         (tramp-dissect-file-name, tramp-buffer-name)
28114         (tramp-make-tramp-file-name, tramp-get-buffer)
28115         (tramp-set-connection-local-variables)
28116         (tramp-debug-buffer-name, tramp-message)
28117         (tramp-error-with-buffer, with-parsed-tramp-file-name)
28118         (tramp-completion-dissect-file-name1)
28119         (tramp-handle-file-name-as-directory)
28120         (tramp-handle-file-name-directory)
28121         (tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
28122         (tramp-handle-find-backup-file-name)
28123         (tramp-handle-insert-file-contents, tramp-process-actions)
28124         (tramp-check-cached-permissions, tramp-local-host-p)
28125         (tramp-get-remote-tmpdir, tramp-call-process)
28126         (tramp-call-process-region, tramp-read-passwd)
28127         (tramp-clear-passwd):
28128         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
28129         (tramp-adb-handle-expand-file-name)
28130         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
28131         (tramp-adb-handle-process-file)
28132         (tramp-adb-maybe-open-connection):
28133         * lisp/net/tramp-cache.el (tramp-get-hash-table)
28134         (tramp-get-file-property, tramp-set-file-property)
28135         (tramp-flush-file-property, tramp-flush-directory-property)
28136         (tramp-get-connection-property)
28137         (tramp-set-connection-property, tramp-connection-property-p)
28138         (tramp-flush-connection-property, tramp-cache-print)
28139         (tramp-list-connections, tramp-dump-connection-properties)
28140         (tramp-parse-connection-properties):
28141         * lisp/net/tramp-cmds.el (tramp-cleanup-connection):
28142         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
28143         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
28144         (tramp-gvfs-url-file-name, tramp-gvfs-handler-askpassword)
28145         (tramp-gvfs-handler-mounted-unmounted)
28146         (tramp-gvfs-mount-spec, tramp-gvfs-get-remote-uid)
28147         (tramp-gvfs-get-remote-gid)
28148         (tramp-gvfs-maybe-open-connection):
28149         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
28150         (tramp-do-copy-or-rename-file-out-of-band)
28151         (tramp-sh-handle-expand-file-name)
28152         (tramp-sh-handle-start-file-process)
28153         (tramp-sh-handle-process-file, tramp-compute-multi-hops)
28154         (tramp-maybe-open-connection)
28155         (tramp-make-copy-program-file-name, tramp-get-remote-path)
28156         (tramp-get-inline-coding):
28157         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
28158         (tramp-smb-handle-expand-file-name)
28159         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
28160         (tramp-smb-handle-set-file-acl)
28161         (tramp-smb-maybe-open-connection): Adapt according to defstruct.
28163 2017-05-24  Stephen Berman  <steve@rosalinde.fritz.box>
28165         Fix and improve UI of scroll bar menu (bug#27047)
28167         In addition, since the Emacs manual writes "scroll bar", "tool
28168         bar" and "menu bar", use this convention in the Show/Hide menues
28169         and tooltips as well.
28171         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Make
28172         pressing a radio button in the menu actually show that it was
28173         pressed.  Replace the two radio buttons to turn the horizontal
28174         scroll bar on and off with a single check-box toggle and add a
28175         separator between this and the vertical scroll bar radio
28176         buttons.  Use conventional spelling.
28177         (menu-bar-horizontal-scroll-bar)
28178         (menu-bar-no-horizontal-scroll-bar): Remove, since now unused.
28179         (menu-bar-showhide-tool-bar-menu, menu-bar-showhide-menu)
28180         (menu-bar-mode): Use conventional spelling.
28182 2017-05-24  Katsumi Yamaoka  <yamaoka@jpl.org>
28184         Remove string-as-unibyte
28186         * lisp/gnus/canlock.el (canlock-sha1): Remove useless variable.
28187         (canlock-make-cancel-key): No need to use string-as-unibyte.
28189 2017-05-24  Tino Calancha  <tino.calancha@gmail.com>
28191         Fix concatenation of "^" with diff-file-junk-re
28193         This regexp contains "\\|", thus a concatenation
28194         of "^" with it just matches the beginning of line for the
28195         first alternative in diff-file-junk-re.
28196         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Concat "^" with
28197         diff-file-junk-re wrapped in a shy group.
28199 2017-05-24  Glenn Morris  <rgm@gnu.org>
28201         Suppress intermittent test failure on hydra
28203         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
28204         (eieio-test-37-obsolete-name-in-constructor): Skip on hydra.
28206 2017-05-24  Peder O. Klingenberg  <peder@klingenberg.no>
28208         New dns-mode command for IPv6 address conversion
28210         This converts IPv6 addresses to a format suitable for
28211         reverse lookup zone files.  (Bug#26820)
28212         * lisp/textmodes/dns-mode.el (dns-mode-map, dns-mode-menu):
28213         Add dns-mode-ipv6-to-nibbles.
28214         (dns-mode-ipv6-to-nibbles, dns-mode-reverse-and-expand-ipv6):
28215         New functions.
28216         * test/lisp/dns-mode-tests.el: New file.
28218 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
28220         Protect *Backtrace* from being killed (Bug#26650)
28222         * lisp/emacs-lisp/debug.el (debugger-mode): Call `top-level' in
28223         `kill-buffer-hook'.
28225 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
28227         Give a name to lisp-mode's adaptive-fill-function (Bug#22730)
28229         * lisp/emacs-lisp/lisp-mode.el (lisp-adaptive-fill): New function.
28230         (lisp-mode-variables): Use it.
28232 2017-05-23  Philipp Stephani  <phst@google.com>
28234         vc-hg.el: Silence byte compiler warning
28236         * lisp/vc/vc-hg.el (compilation-arguments): Forward-declare.
28238 2017-05-23  Paul Eggert  <eggert@cs.ucla.edu>
28240         Don't warn about missing brances on macOS
28242         On macOS, removing -Wmissing-braces is not enough; the warning has to
28243         be disabled explicitly.
28245 2017-05-23  Wilfred Hughes  <me@wilfred.me.uk>
28247         Don't treat ' as a string delimiter in RPM spec files
28249         ' is commonly used as an apostrophe in the prose sections of spec
28250         files, which was erroneously highlighted as strings. See for example
28251         http://kmymoney2.sourceforge.net/phb/rpm-example.html
28253         * lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
28254           punctuation in RPM spec files.
28256 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
28258         * lisp/emacs-lisp/cl-indent.el: Don't require CL.  Use lexical-binding.
28260         (common-lisp-indent-function-1): Remove unused var `last-point`.
28261         (lisp-indent-error-function): Move defvar before first use.
28263 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
28265         * lisp/international/rfc1843.el: Don't require CL.  Use lexical-binding.
28267         * lisp/international/utf7.el: Don't require CL.  Use lexical-binding.
28269         * lisp/net/shr.el: Use cl-lib instead of cl.
28271 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
28273         * test/src/fns-tests.el, test/src/data-tests.el: Don't use `cl`
28275         * test/src/data-tests.el (binding-test-manual, binding-test-setq-default)
28276         (binding-test-makunbound, data-tests-varalias-watchers)
28277         (data-tests-local-variable-watchers): Silence compiler warnings.
28279 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
28281         * lisp/vc/vc-hg.el (compilation-directory): Silence byte-compiler.
28283 2017-05-23  Alan Third  <alan@idiocy.org>
28285         Fix GNUstep build
28287         * src/nsterm.h [NS_IMPL_GNUSTEP]: Add typedefs for Cocoa-only types.
28288         (NSWindowStyleMaskUtilityWindow): #define to NSUtilityWindowMask in
28289         GNUstep and old versions of macOS.
28290         * src/nsfns.m (ns-set-mouse-absolute-pixel-position): Function only
28291         works in cocoa, not GNUstep.
28293 2017-05-23  Michael Albinus  <michael.albinus@gmx.de>
28295         Add test for Bug#27009 in tramp-tests.el
28297         * lisp/net/tramp-sh.el (tramp-compute-multi-hops):
28298         Check `tramp-file-name-real-host' for being a local host.
28300         * lisp/net/tramp.el (tramp-postfix-host-regexp): Fix docstring.
28302         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
28303         Declare default host for mock method.
28304         (tramp-test29-environment-variables-and-port-numbers): New test.
28306 2017-05-23  Glenn Morris  <rgm@gnu.org>
28308         Don't advertise s_client in tls.el docs
28310         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
28311         Don't mention s_client in docs.
28313         (cherry picked from commit 622c24a2b75a564b9861fc3ca7a7878741e8568d)
28315 2017-05-23  Rob Browning  <rlb@defaultvalue.org>
28317         Remove s_client usage from tls.el
28319         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
28320         Ref http://bugs.debian.org/766397
28321         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
28324         (cherry picked from commit 6e45de6bacc508db11b15b2c8ba86aad8c0570df)
28326 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
28328         * lisp/mail/rfc2047.el (rfc2047-decode-encoded-words): Set `words` to nil.
28330 2017-05-22  Sam Steingold  <sds@gnu.org>
28332         Fix "g" in hg&git push&pull buffers
28334         lisp/vc/vc-git.el (vc-git--pushpull): Set locally
28335         `compilation-directory' and `compilation-arguments'.
28336         lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.
28338 2017-05-22  Eli Zaretskii  <eliz@gnu.org>
28340         Fix current-line hscrolling in buffers with header-line
28342         * src/xdisp.c (display_line): When testing the glyph row's
28343         vertical position against the cursor position, account for header
28344         line, if any.  (Bug#27014)
28346 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
28348         * lisp/mail/rfc2047.el: Use cl-lib & lexical-binding, silence warning
28350         (rfc2047-decode-encoded-words): Use dolist.
28351         (rfc2047-decode-string): Avoid string-to-multibyte.
28352         (rfc2047-pad-base64): Use pcase.
28354 2017-05-21  Dima Kogan  <dima@secretsauce.net>
28356         Make ff-find-other-file symmetric for C++ (Bug#20192)
28358         `cc-other-file-alist' has a mapping of file extensions to switch
28359         between headers and sources, but the mappings weren't completely
28360         symmetric.  In particular .cpp would map to .hh, but .hh would NOT map
28361         to .cpp.
28363         * lisp/find-file.el (cc-other-file-alist): Map ".hh" and ".h" to all
28364         C++ extensions to make them symmetric with the C++ extensions that map
28365         to them.  This lets repeated invocations of `ff-find-other-file'
28366         toggle between all pairs of sources/headers.
28368 2017-05-21  Philipp Stephani  <phst@google.com>
28370         Fix definition of whitespace in JSON
28372         See
28373         https://lists.gnu.org/r/emacs-devel/2017-05/msg00115.html.
28375         * lisp/json.el (json-skip-whitespace): Fix definition.
28376         * test/lisp/json-tests.el (test-json-skip-whitespace): Adapt unit
28377         test.
28379 2017-05-21  Philipp Stephani  <phst@google.com>
28381         Improve module function terminology
28383         Module functions were previously called "function environments" when
28384         the functions created by module_make_functions were lambdas.  Now we
28385         can adapt the terminology and rename "function environments" to
28386         "module functions" everywhere.  This also removes the name clash
28387         between "function environments" and "module environments."
28389         * src/emacs-module.c (module_make_function): Adapt comment to reality;
28390         stop using "function environment" terminology.
28391         (funcall_module): Stop using "function environment" terminology.
28393 2017-05-21  Philipp Stephani  <phst@google.com>
28395         Avoid uninitialized read
28397         * src/nsterm.m (ns_read_socket): Don't read uninitialized variable 'nevents'.
28399 2017-05-21  Philipp Stephani  <phst@google.com>
28401         Fix call of registerServicesMenuSendTypes
28403         * src/nsterm.m (initFrameFromEmacs:): nil is not allowed for
28404         returnTypes; pass an empty array instead.
28406 2017-05-21  Philipp Stephani  <phst@google.com>
28408         Clean up code around 'ns-list-services'
28410         * src/nsfns.m (Fns_list_services): Remove unreachable code.  In this
28411         branch NS_IMPL_COCOA cannot be defined.
28412         (interpret_services_menu): Define only if called to avoid compiler
28413         warnings about unused static functions.
28415 2017-05-21  Philipp Stephani  <phst@google.com>
28417         Remove unused automatic variables
28419         * src/nsterm.m (ns_read_socket):
28420         * src/macfont.m (macfont_open): Remove unused automatic variables.
28422 2017-05-21  Philipp Stephani  <phst@google.com>
28424         Nextstep: Replace deprecated enumerators
28426         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:): Replace
28427         deprecated enumerator.
28429 2017-05-21  Philipp Stephani  <phst@google.com>
28431         Nextstep: remove some deprecated method calls
28433         * src/nsterm.m (mouseDown:):
28434         * src/nsmenu.m (runMenuAt:forFrame:keymaps:): Remove call to
28435         deprecated method.  The return value is always nil.
28436         * src/macfont.m (mac_font_shape_1): Replace call to deprecated method.
28438 2017-05-21  Philipp Stephani  <phst@google.com>
28440         Remove trailing semicolons in method definitions
28442         These semicolons are ignored and cause compiler warnings.
28444         * src/nsimage.m (setPixelAtX:Y:toRed:green:blue:alpha:):
28445         * src/nsterm.m (init, updateFrameSize:):
28446         (setFrame:): Remove trailing semicolon.
28448 2017-05-21  Philipp Stephani  <phst@google.com>
28450         Remove calls to deprecated setUsesScreenFonts
28452         * src/macfont.m (mac_screen_font_get_metrics): Don't call setUsesScreenFonts.
28453         (mac_font_shape_1): Remove screen_font_p parameter.
28454         (mac_screen_font_shape): Remove screen_font_p argument.
28456 2017-05-21  Philipp Stephani  <phst@google.com>
28458         Make a function static that isn't used outside this file
28460         * src/kqueue.c (kqueue_directory_listing): Make static.
28462 2017-05-21  Philipp Stephani  <phst@google.com>
28464         Use NSCharacterCollection instead of CTCharacterCollection
28466         This should not cause behavior changes, but fixes a compiler warning
28467         due to implicit conversions between the enums.
28469         * src/macfont.m (macfont_cache, macfont_lookup_cache)
28470         (macfont_get_glyph_for_cid, macfont_get_uvs_table)
28471         (macfont_variation_glyphs): Use NSCharacterCollection.
28473 2017-05-21  Philipp Stephani  <phst@google.com>
28475         Remove unused function print_regions
28477 2017-05-21  Philipp Stephani  <phst@google.com>
28479         Declare Nextstep unexec functions in lisp.h
28481         This removes compiler warnings about missing prototypes on macOS.
28483 2017-05-21  Philipp Stephani  <phst@google.com>
28485         Nextstep: Use instancetype explicit return type
28487         This removes compiler warnings on macOS and improves type safety.
28489         * src/nsterm.m (initFrameFromEmacs:):
28490         (menuDown:):
28491         (toolbarClicked:):
28492         (toggleToolbar:):
28493         (setMiniwindowImage:):
28494         (initFrame:window:):
28495         (condemn, reprieve, setPosition:portion:whole:):
28496         (repeatScroll:):
28497         * src/nsmenu.m (initWithTitle:):
28498         (initWithTitle:frame:):
28499         (initForView:withIdentifier:):
28500         (init, initWithContentRect:styleMask:backing:defer:):
28501         (initFromContents:isQuestion:):
28502         * src/nsimage.m (allocInitFromFile:):
28503         (initFromXBM:width:height:fg:bg:):
28504         (setXBMColor:):
28505         (initForXPMWithDepth:width:height:): Use instancetype as return
28506         type instead of implicit id.
28508 2017-05-21  Tino Calancha  <tino.calancha@gmail.com>
28510         * lisp/emacs-lisp/package.el (package-delete): Delete readme file as well.
28512 2017-05-21  Alan Mackenzie  <acm@muc.de>
28514         Enhance mode-line percentage offset facility, with "%o" and "%q"
28516         "%o" will display the percentage "travel" of the window through the buffer.
28517         "%q" will display a combination of the percentage offsets of the top and
28518         bottom of the window.  The new user option mode-line-percent-position will
28519         facilitate selecting a setting for this part of the mode line.
28521         * lisp/bindings.el (mode-line-percent-position): New customizable user option.
28522         (mode-line-position): Use mode-line-percent-position in place of "%p", etc.
28524         * src/xdisp.c (decode_mode_spec): Add handlers for "%o" and "%q".
28526         * doc/lispref/modes.texi (Mode Line Variables): Document
28527         mode-line-percent-position.
28528         (%-Constructs): Document %o and %q.
28530         * etc/NEWS: Add an entry for these new facilities.
28532 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
28534         Work around macOS bug in create_process, too
28536         * src/process.c (create_process) [DARWIN_OS]:
28537         Reset SIGCHLD after vfork here, too.
28539 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
28541         Work around macOS bug with vforked child
28543         * src/callproc.c (call_process) [DARWIN_OS]:
28544         Include workaround for apparent macOS bug.
28546 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
28548         Pacify --enable-gcc-warnings without modules
28550         * src/print.c (print_vectorlike): New function, taken from
28551         part of print_object.  This one is indented properly, and
28552         pacifies --enable-gcc-warnings by using a default case
28553         instead of listing all the enum values, sometimes
28554         incompletely.
28555         (print_object): Use it.
28557 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
28559         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code
28561         It does not appear to be needed (Bug#24441).
28562         * etc/PROBLEMS: Remove DARWIN_OS_CASE_SENSITIVE_FIXME stuff.
28563         * src/fileio.c (file_name_case_insensitive_p):
28564         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code.
28566 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
28568         Narrow DARWIN_OS_CASE_SENSITIVE_FIXME to 1 choice
28570         * etc/PROBLEMS: Document this (Bug#24441).
28571         * src/fileio.c (file_name_case_insensitive_p): Prefer pathconf
28572         with _PC_CASE_SENSITIVE, if it works, to
28573         DARWIN_OS_CASE_SENSITIVE_FIXME code.
28574         Support just one method for DARWIN_OS_CASE_SENSITIVE_FIXME,
28575         which matches the Apple documentation more precisely.
28577 2017-05-21  Tom Tromey  <tom@tromey.com>
28579         Fix mhtml-mode fontification bug
28581         Bug#26922
28582         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Call
28583         sgml-syntax-propertize-inside if not in a submode.
28584         * test/manual/indent/html-multi-4.html: New file.
28586 2017-05-21  Ryan  <rct@thompsonclan.org>  (tiny change)
28588         Fix ido-enable-dot-prefix for empty choice (Bug#26997)
28590         * lisp/ido.el (ido-set-matches-1): Only check first character of
28591         item if it's non-empty.
28593 2017-05-21  Ari Roponen  <ari.roponen@gmail.com>
28595         * lisp/svg.el (svg-line): Fix x/y typo.  (Bug#26953)
28597 2017-05-21  Glenn Morris  <rgm@gnu.org>
28599         Prevent loading vc-bzr writing to ~/.bzr.log
28601         * lisp/vc/vc-bzr.el (vc-bzr-status-switches): Disable bzr logging.
28603 2017-05-21  Glenn Morris  <rgm@gnu.org>
28605         Prevent running vc-tests writing to ~/.bzr.log
28607         * test/lisp/vc/vc-tests.el (vc-test--create-repo)
28608         (vc-test--register, vc-test--working-revision)
28609         (vc-test--checkout-model): Set temporary BZR_HOME, to disable logging.
28611 2017-05-21  Noam Postavsky  <npostavs@gmail.com>
28613         Don't end non-hook variable with "-hook" (Bug#26623)
28615         * lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
28616         follow-inside-post-command-hook, update uses.
28618 2017-05-21  Charles A. Roelli  <charles@aurox.ch>
28620         Fix macOS mouse movement
28622         * lisp/frame.el (ns-set-mouse-absolute-pixel-position): New
28623         function (Lisp).
28624         (set-mouse-absolute-pixel-position): Change it to call
28625         `ns-set-mouse-absolute-pixel-position' on macOS.
28626         * src/nsfns.m (Fns_set_mouse_absolute_pixel_position): New
28627         function.
28628         * src/nsterm.h (NS_PARENT_WINDOW_TOP_POS): Use the primary
28629         screen's height as a base for calculating global coordinates.
28630         * src/nsterm.m (frame_set_mouse_pixel_position): Fix it in macOS.
28631         * test/lisp/mouse-tests.el (bug26816-mouse-frame-movement): Test
28632         movement of mouse relative to frame.
28634 2017-05-21  Alan Third  <alan@idiocy.org>
28636         Show tooltip on correct screen (bug#26905)
28638         * src/nsfns.m (compute_tip_xy): Find the correct screen for the
28639         tooltip and constrain it to that screen.
28641 2017-05-21  Andreas Politz  <politza@hochschule-trier.de>
28643         Don't save unrelated buffers before recompiling directory (Bug#25964)
28645         * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Only save
28646         buffers visiting lisp files under the directory being compiled.
28648 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
28650         Minor fixes for arity ranges in emacs modules
28652         * src/emacs-module.c (module_make_function):
28653         Check that arities fit into fixnums, for func-arity’s benefit.
28654         (funcall_module): Avoid unnecessary conversion to EMACS_INT.
28655         (module_function_arity): Allow arities greater than SHRT_MAX.
28657 2017-05-20  Philipp Stephani  <phst@google.com>
28659         Reimplement module functions
28661         Instead of a lambda, create a new type containing all data required to
28662         call the function, and support it in the evaluator.  Because this type
28663         now also needs to store the function documentation, it is too big for
28664         Lisp_Misc; use a pseudovector instead.  That also has the nice benefit
28665         that we don't have to add special support to the garbage collector.
28667         Since the new type is user-visible, give it a predicate.
28669         Now we can easily support 'help-function-args' and 'func-arity'; add
28670         unit tests for these.
28672         * src/lisp.h (allocate_module_function, MODULE_FUNCTIONP)
28673         (XMODULE_FUNCTION): New pseudovector type 'module function'.
28675         * src/eval.c (FUNCTIONP): Also treat module functions as functions.
28676         (funcall_lambda, Ffuncall, eval_sub): Add support for calling module
28677         functions.
28678         (Ffunc_arity): Add support for detecting the arity of module
28679         functions.
28681         * src/emacs-module.c (module_make_function): Adapt to new structure.
28682         Return module function object directly instead of wrapping it in a
28683         lambda; remove FIXME.
28684         (funcall_module): New function to call module functions.  Replaces
28685         `internal--module-call' and is called directly from eval.c.
28686         (syms_of_module): Remove internal helper function, which is no longer
28687         needed.
28688         (module_function_arity): New helper function.
28690         * src/data.c (Ftype_of): Adapt to new implementation.
28691         (Fmodule_function_p, syms_of_data): New user-visible function.  Now
28692         that module functions are first-class objects, they deserve a
28693         predicate.  Define it even if not compiled with --enable-modules so
28694         that Lisp code doesn't have to check for the function's existence.
28696         * src/doc.c (Fdocumentation): Support module functions.
28698         * src/print.c (print_object): Adapt to new implementation.
28700         * src/alloc.c (mark_object): Specialized garbage collector support is
28701         no longer needed.
28703         * lisp/help.el (help-function-arglist): Support module functions.
28704         While there, simplify the arity calculation by using `func-arity',
28705         which does the right thing for all kinds of functions.
28707         * test/data/emacs-module/mod-test.c: Amend docstring so we can test
28708         the argument list.
28710         * test/src/emacs-module-tests.el (mod-test-sum-docstring): Adapt to
28711         new docstring.
28712         (mod-test-non-local-exit-signal-test): Because `internal--module-call'
28713         is gone, the backtrace has changed and no longer leaks the
28714         implementation.
28715         (module--func-arity): New test for `func-arity'.
28716         (module--help-function-arglist): New test for `help-function-arglist'.
28718 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
28720         Avoid crashes in GC due to unescaped characters warning
28722         * src/lread.c (load_warn_unescaped_character_literals): Don't cons
28723         Lisp objects from stack-based variables.  (Bug#26961)
28725 2017-05-20  Charles A. Roelli  <charles@aurox.ch>
28727         New commands: find-library-other-window, find-library-other-frame
28729         * lisp/emacs-lisp/find-func.el (find-library-other-window)
28730         (find-library-other-frame): New commands to complement the
28731         existing 'find-library' command.  (Bug#26712)
28732         (read-library-name): New function to read a library name.
28733         * etc/NEWS: Mention 'find-library-other-window' and
28734         'find-library-other-frame'.
28736 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
28738         Fix automatic hscrolling of only the current line
28740         * src/xdisp.c (display_line): When hscrolling only the current
28741         line, increment iterator's first_visible_x and last_visible_x
28742         values to account for the hscroll.  This propagates the hscroll
28743         effect on the iterator geometry all the way down to the
28744         subroutines called by display_line, and avoids scrolling bugs
28745         under large hscroll values.  (Bug#26994)
28747 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
28749         Add handlerlist assertion to module code
28751         * src/emacs-module.c (module_reset_handlerlist):
28752         Check handlerlist.  Suggested by Philipp Stephani in:
28753         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
28755 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
28757         Port --enable-gcc-warnings to clang 3.9.1
28759         * configure.ac (WERROR_CFLAGS): Omit -Wmissing-braces for Clang,
28760         to shut off a false alarm.  Problem reportd by Philipp Stephani in:
28761         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
28763 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
28765         Limit integers printed as characters (Bug#16828)
28767         * lisp/simple.el (eval-expression-print-maximum-character): New
28768         variable.
28769         (eval-expression-print-format): Only display value as character if
28770         it's less than or equal to `eval-expression-print-maximum-character'.
28771         (eval-expression-get-print-arguments): Check
28772         eval-expression-print-maximum-character, allow negative arg to
28773         override it.
28774         (eval-expression):
28775         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
28776         (elisp--eval-last-sexp-print-value): Handle new variable.
28777         * doc/emacs/building.texi (Lisp Eval): Document new variable and
28778         behavior.
28779         * etc/NEWS: Announce it.
28780         * test/lisp/progmodes/elisp-mode-tests.el
28781         (eval-last-sexp-print-format-small-int)
28782         (eval-last-sexp-print-format-small-int-echo)
28783         (eval-last-sexp-print-format-large-int)
28784         (eval-last-sexp-print-format-large-int-echo):
28785         * test/lisp/simple-tests.el (eval-expression-print-format-small-int)
28786         (eval-expression-print-format-small-int-echo)
28787         (eval-expression-print-format-large-int)
28788         (eval-expression-print-format-large-int-echo): New tests.
28790 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
28792         Refactor lisp eval result printing
28794         * lisp/simple.el (eval-expression-print-format): Don't check
28795         `standard-output' or `current-prefix-arg'.
28796         (eval-expression-get-print-arguments): New function, centralizes
28797         decision about how to print results of `eval-expression' and
28798         `eval-last-sexp'.
28799         (eval-expression):
28800         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp-print-value):
28801         Use it.
28803 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
28805         Check that signed right shift is arithmetic
28807         * src/data.c (ash_lsh_impl): Verify that signed right shift is
28808         arithmetic; if we run across a compiler that uses a logical shift
28809         we’ll need to complicate the code before removing this
28810         compile-time check.  Help the compiler do common subexpression
28811         elimination better.
28813 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
28815         Minor .gitignore fixes
28817         * .gitignore: modules/mod-test/Makefile was renamed to
28818         test/data/emacs-module/Makefile.
28819         Omit [0-9]*.core, subsumed by *.core.
28820         test/indent/*.new was renamed to test/manual/indent/*.new.
28821         Add *.swp, for Vim.
28823 2017-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
28825         * lisp/emacs-lisp/package.el: Quote `package-desc' in docstrings
28827 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
28829         Describe problems with Microsoft Intellipoint
28831         * etc/PROBLEMS: Describe problems with Microsoft Intellipoint and
28832         mouse-2 events.  For the details, see
28833         https://lists.gnu.org/r/help-emacs-windows/2017-05/msg00009.html.
28835 2017-05-19  Nick Helm  <nick@tenpoint.co.nz>  (tiny change)
28837         Fix turning off whitespace-mode
28839         * lisp/whitespace.el (whitespace-display-char-on): Correct the way
28840         the original buffer-display-table is saved and restored when
28841         global-whitespace-mode is active.  (Bug#26892)
28843         * test/lisp/whitespace-tests.el
28844         (whitespace-tests-whitespace-mode-on): New function.
28845         (whitespace-tests-display-tables): New test.
28847 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
28849         Minor tweaks in tramp-tests.el
28851         * test/lisp/net/tramp-tests.el (tramp--test-afp-or-smb-p): New defun.
28852         (tramp-test05-expand-file-name-relative): Use it.
28853         (tramp-test38-unload): Run only in batch mode.
28855 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
28857         Fix a problem with OpenSSH 7 in Tramp
28859         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Set also
28860         "ConnectTimeout" during test.  Otherwise, OpenSSH 7 will hang.
28862 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
28864         Improve documentation of 'split-string'
28866         * doc/lispref/strings.texi (Creating Strings): Rearrange text to
28867         make it more readable.  (Bug#26925)
28869 2017-05-19  Ruslan Bekenev  <furyinbox@gmail.com>
28871         Fix typos in doc strings
28873         * lisp/mail/rfc2231.el (rfc2231-encode-string):
28874         * lisp/mail/rfc2047.el (rfc2047-encode-parameter):
28875         * lisp/mail/rfc2045.el (rfc2045-encode-string): Fix typos in doc
28876         strings.  (Bug#26103)
28878 2017-05-19  Philipp Stephani  <phst@google.com>
28880         Fix module tests on some systems
28882         If dladdr(3) isn't available or didn't work, the printed
28883         representation of a module function will not include the file name,
28884         but only the address.  Make the tests pass in that case.
28886         * test/src/emacs-module-tests.el (module-function-object): Fix match for
28887         module function printed representation
28889 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
28891         Add an optional arguments to string-trim
28893         * lisp/emacs-lisp/subr-x.el (string-trim-left, string-trim-right)
28894         (string-trim): Add optional args that serve as defaults per the
28895         original behavior.  (Bug#26908)
28897 2017-05-19  Stephen Berman  <steve@rosalinde.fritz.box>
28899         Fix typo in last change to auto-hscroll-mode
28901         * lisp/cus-start.el (standard): Fix typo in value of auto-hscroll-mode.
28903 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
28905         Support remote editing in emacsclient via Tramp
28907         * lib-src/emacsclient.c (main, decode_options)
28908         (print_help_and_exit, longopts): New option '--tramp' / '-T' which
28909         specifies how emacs should use tramp to find remote files.
28911         * doc/emacs/misc.texi (TCP Emacs server): New subsection describing
28912         the various knobs to tune server.el for TCP opereation.
28913         (emacsclient Options): Reference "TCP Emacs server" from description of
28914         --server-file.  Document the new '--tramp' / '-T' options.
28915         * doc/emacs/emacs.texi (Top): Update the top-level menu.
28917         * etc/NEWS: Mention the new option.
28919 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
28921         * lisp/replace.el (query-replace-regexp-eval): Doc fix.
28923 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
28925         Attempt to work around macOS vfork bug
28927         Problem reported by YAMAMOTO Mitsuharu in:
28928         https://lists.gnu.org/r/emacs-devel/2017-05/msg00342.html
28929         This is related to the fix for Bug#26397.
28930         * src/callproc.c (call_process_cleanup, call_process) [!MSDOS]:
28931         Report internal error if wait_for_termination fails.
28932         * src/sysdep.c (get_child_status): Return -1 if waitpid is
28933         buggy, instead of aborting.
28934         (wait_for_termination): Return bool success value.
28935         All callers changed.
28937 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
28939         Adjust defcustom form for 'auto-hscroll-mode'
28941         * lisp/cus-start.el (standard) <auto-hscroll-mode>: Adjust the
28942         defcustom form.  Suggested by Stephen Berman <stephen.berman@gmx.net>.
28944 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
28946         Fix DARWIN_OS_CASE_SENSITIVE_FIXME==2 false alarm
28948         * src/fileio.c (file_name_case_insensitive_p):
28949         Don’t compile the (DARWIN_OS_CASE_SENSITIVE_FIXME == 2)
28950         code unless DARWIN_OS_CASE_SENSITIVE_FIXME is 2.
28951         Problem reported by Philipp Stephani in:
28952         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
28954 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
28956         Port --enable-gcc-warnings to clang 3.9.1
28958         * configure.ac (WERROR_CFLAGS): Omit -Wdouble-promotion if clang.
28959         Problem reported by Philipp Stephani in:
28960         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
28962 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
28964         Clean up compiler warning in emacs-module.c
28966         * src/emacs-module.c (MODULE_SETJMP_1): Use the local var
28967         instead of leaving it unused, to pacify picky compilers.
28968         (module_reset_handlerlist): Now takes a dummy pointer to a struct
28969         handler *, instead of a dummy pointer to an int.  All uses changed.
28971 2017-05-19  Philipp Stephani  <phst@google.com>
28973         Clean up some compiler warnings
28975         * src/sysdep.c (system_process_attributes) [DARWIN_OS]:
28976         Remove unused locals.
28978 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
28980         Support hscrolling only the current line
28982         * src/xdisp.c (hscrolling_current_line_p): New function.
28983         (init_iterator): If auto-hscrolling just the current line, don't
28984         increment the iterator's first_visible_x and last_visible_x
28985         variables.
28986         (hscroll_window_tree): Recompute window's hscroll when moving
28987         vertically to another screen line.
28988         (redisplay_window): If we are hscrolling only the current line,
28989         disable the optimizations that rely on the current matrix being
28990         up-to-date.
28991         (display_line): Accept an additional argument CURSOR_VPOS, the
28992         vertical position of the current screen line which might need
28993         hscrolling; all callers changed.  Compute first_visible_x and
28994         last_visible_x specially when auto-hscrolling current line, by
28995         repeating the calculation that is done in init_iterator in other
28996         modes.
28997         (syms_of_xdisp) <auto-hscroll-mode>: No longer boolean, it can now
28998         accept a 3rd value 'current-line, to turn on the mode where
28999         only the current line is hscrolled.
29001         * etc/NEWS: Mention the new auto-hscroll-mode value.
29003 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
29005         Fix last change in line-move-finish
29007         * lisp/simple.el (line-move-finish): Fix last change.  This corrects a
29008         regression in C-n and C-p when lines are truncated, introduced by the
29009         change in 2017-05-10.
29011 2017-05-18  Simen Heggestøyl  <simenheg@gmail.com>
29013         Expand docstring for CSS mode
29015         * lisp/textmodes/css-mode.el (css-completion-at-point, css-mode):
29016         Expand docstrings.
29018 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
29020         Use the expression angle units while simplifying it
29022         Don't use the angle mode, use the angle units included
29023         in the expression instead (Bug#23889).
29024         * lisp/calc/calc-alg.el (calc-input-angle-units): New defun.
29025         (math-simplify): Use it.
29026         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
29027         Don't use calc-angle-mode if math-simplifying-units is non-nil.
29028         * lisp/calc/calc-math.el (calcFunc-nroot, math-from-radians)
29029         (math-to-radians-2, math-from-radians-2): Don't convert angle
29030         to radians if math-simplifying-units is non-nil.
29031         * test/lisp/calc/calc-tests.el (test-calc-23889): Add test.
29033 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
29035         Revert "Ignore angle mode while simplifying units"
29037         This reverts commit 713e922243fb60d850f7b0ff83f3e2a3682f1832.
29038         This commit causes Bug#25652.
29040 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
29042         Avoid undefined behavior in struct sockaddr
29044         Problem noted by Philipp Stephani in:
29045         https://lists.gnu.org/r/emacs-devel/2017-05/msg00391.html
29046         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
29047         New macros.
29048         * src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
29049         (connect_network_socket, network_interface_info)
29050         (server_accept_connection): Use it when aliasing non-char objects.
29052 2017-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>
29054         * lisp/vc/smerge-mode.el (smerge-refine-regions): Work in multi-bufs
29056         Rename from smerge-refine-subst.  Allow the `beg's to be markers.
29057         Add autoload cookie.
29058         (smerge--refine-forward): Rename from smerge-refine-forward.
29059         (smerge--refine-chopup-region): Rename from smerge-refine-chopup-region.
29060         Assume that its `beg` arg is a marker.
29061         (smerge--refine-highlight-change): Rename from
29062         smerge-refine-highlight-change.  Remove `buf` arg.
29063         (smerge-refine-subst): Redefine as an obsolete alias.
29065 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
29067         Work around AddressSanitizer bug with vfork
29069         Problem reported by Jim Meyering in:
29070         https://lists.gnu.org/r/emacs-devel/2017-05/msg00246.html
29071         * src/conf_post.h (vfork) [ADDRESS_SANITIZER]: Define to fork.
29072         Unfortunately with the AddressSanitizer in Fedora 25 x86-64, the
29073         vforked child messes up the parent’s shadow memory.  This is too
29074         bad, as we’d rather have AddressSanitizer catch memory-access bugs
29075         related to vfork.
29077 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
29079         Catch IPv4/IPv6 issues at compile time
29081         * src/process.c (connect_network_socket): Use verify,
29082         not eassert, so that any problems are caught at compile-time.
29083         Avoid dodgy cast by using a local var of the correct type.
29085 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
29087         Pacify --enable-gcc-warnings --with-x-toolkit=no
29089         * src/composite.c (autocmp_chars) [!HAVE_WINDOW_SYSTEM]:
29090         Avoid unused local.
29092 2017-05-17  Glenn Morris  <rgm@gnu.org>
29094         * admin/update_autogen (commit): Pull before push.
29096 2017-05-17  Glenn Morris  <rgm@gnu.org>
29098         autoload-rubric no longer provides a feature by default
29100         * lisp/emacs-lisp/autoload.el (autoload-rubric):
29101         Stop providing a feature unless explicitly requested.
29102         (autoload-find-generated-file): Update autoload-rubric call.
29104 2017-05-17  Eli Zaretskii  <eliz@gnu.org>
29106         Remove redundant code in connect_network_socket
29108         * src/process.c (connect_network_socket) [HAVE_GETSOCKNAME]:
29109         Remove redundant type-casting and variables.  Don't call
29110         'getsockname' to find the port for AF_LOCAL sockets.
29111         [AF_INET6]: Add an assertion to verify that the ports in the IPv4
29112         and IPv6 structures are at the same offset and have the same size.
29114 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
29116         Fix minor timezone memory leak
29118         * src/editfns.c (wall_clock_tz): Remove; unused.
29120 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
29122         Do not discard AddressSanitizer stderr
29124         * src/emacs.c (close_output_streams) [ADDRESS_SANITIZER]:
29125         Do not close stderr.
29127 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
29129         Simplify procname code to avoid GCC bug
29131         * src/process.c (server_accept_connection): Simplify and avoid
29132         multiple calls and struct literals in the last case of a switch.
29133         The old code ran afoul of GCC bug 80659, which caused an internal
29134         compiler error.  Problem reported by Jim Meyering in:
29135         https://lists.gnu.org/r/emacs-devel/2017-05/msg00182.html
29136         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659
29138 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
29140         Pacify GCC 7 with --enable-gcc-warnings
29142         * src/regex.c (regex_compile): Swap labels, so that the
29143         FALLTHROUGH immediately precedes the case label.
29145 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
29147         Merge with gnulib, pacifying GCC 7
29149         This incorporates:
29150         2017-05-16 manywarnings: update for GCC 7
29151         2017-05-15 sys_select: Avoid "was expanded before it was required"
29152         * configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
29153         -Wformat-overflow=2 options, due to too many false alarms.
29154         * doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
29155         Copy from gnulib.
29156         * m4/gnulib-comp.m4: Regenerate.
29157         * src/coding.c (decode_coding_iso_2022):
29158         Fix bug uncovered by -Wimplicit-fallthrough.
29159         * src/conf_post.h (FALLTHROUGH): New macro.
29160         Use it to mark all switch cases that fall through.
29161         * src/editfns.c (styled_format): Use !, not ~, on bool.
29162         * src/gtkutil.c (xg_check_special_colors):
29163         When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
29164         (xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
29165         this bug was actually caught by Clang.
29166         * src/search.c (boyer_moore):
29167         Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
29168         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
29169         Tell GCC that glyph->u.glyphless.ch must be a character.
29171 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
29173         Make autoloading Tramp more robust
29175         * lisp/net/tramp.el (tramp-file-name-for-operation):
29176         Use `default-directory' where appropriate.
29177         (tramp-file-name-handler): Do not autoload.
29178         (tramp-autoload-file-name-handler): Reintroduce function.
29179         (tramp-register-autoload-file-name-handlers): Use it.
29181 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
29183         Extend tramp-tests.el
29185         * test/lisp/net/tramp-tests.el (tramp-change-syntax):
29186         Remove declaration, not needed anymore.
29187         (tramp-test05-expand-file-name-relative): New test.
29188         (tramp-test10-write-region): Extend test.
29190 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
29192         * lisp/net/tramp.el: Avoid recursive load of Tramp.  (Bug#26943)
29194 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
29196         Make `indent-line-to' respect field boundaries (Bug#26891)
29198         * lisp/indent.el (indent-line-to): Use `back-to-indentation' instead
29199         of `backward-to-indentation'.
29201 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
29203         Make sure indent-sexp stops at end of sexp (Bug#26878)
29205         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Check endpos before
29206         indenting.
29207         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-stop): New
29208         test.
29210 2017-05-16  Glenn Morris  <rgm@gnu.org>
29212         Stop some epg tests failing on rhel7 with gpg 2.0.22 (bug#23619)
29214         * test/lisp/epg-tests.el (with-epg-tests):
29215         Also set GNUPGHOME in the environment of child processes.
29216         This avoids problems if gpg does not pass --homedir to spawned agent.
29218 2017-05-16  Glenn Morris  <rgm@gnu.org>
29220         Add oldxmenu to system-configuration-features
29222         * configure.ac (HAVE_OLDXMENU): New.
29223         (emacs_config_features): Add oldxmenu.
29225 2017-05-15  Ted Zlatanov  <tzz@lifelogs.com>
29227         * .gitlab-ci.yml: Adjust disclaimer as per RMS.
29229 2017-05-15  Eli Zaretskii  <eliz@gnu.org>
29231         Remove unneeded stuff from nt/inc/sys/time.h
29233         * nt/inc/sys/time.h (_TIMEVAL_DEFINED, struct timevat, timerisset)
29234         (timercmp, timerclear): Don't define.  Instead, include the system
29235         header sys/time.h, and add only the interval timers stuff.  This
29236         avoids compiler warnings about 'gettimeofday's prototype, and also
29237         avoids redefinition of macros from system headers.
29239 2017-05-15  Paul Eggert  <eggert@cs.ucla.edu>
29241         Fix address violation found by AddressSanitizer
29243         * src/process.c (connect_network_socket):
29244         Use struct sockaddr_storage, not struct sockaddr_in, to store info
29245         about a socket address.  Problem reported by Philipp Stephani in:
29246         https://lists.gnu.org/r/emacs-devel/2017-05/msg00314.html
29247         This fix is based on a patch by Philipp in:
29248         https://lists.gnu.org/r/emacs-devel/2017-05/msg00357.html
29250 2017-05-14  Gemini Lasswell  <gazally@runbox.com>
29252         Make edebug-step-in work on generic methods (Bug#22294)
29254         * lisp/emacs-lisp/edebug.el (edebug-match-cl-generic-method-args):
29255         New function to implement the edebug-form-spec property of
29256         the symbol cl-generic-method-args.
29257         (edebug-instrument-function): If the function is a generic
29258         function, find and instrument all of its methods. Return a list
29259         instead of a single symbol.
29260         (edebug-instrument-callee): Now returns a list. Update docstring.
29261         (edebug-step-in): Handle the list returned by edebug-instrument-callee.
29262         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use name and
29263         cl-generic-method-args in its Edebug spec.
29264         * lisp/emacs-lisp/eieio-compat.el (defmethod): Use name and
29265         cl-generic-method-args in its Edebug spec.
29266         * lisp/subr.el (method-files): New function.
29267         * test/lisp/subr-tests.el (subr-tests--method-files--finds-methods)
29268         (subr-tests--method-files--nonexistent-methods): New tests.
29270 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
29272         Merge from gnulib
29274         This incorporates:
29275         2017-05-14 same-inode: Adapt for windows-stat-inodes
29276         2017-05-14 windows-stat-inodes: New module
29277         2017-05-14 stat-time: Adapt for windows-stat-timespec
29278         * lib/gnulib.mk.in: Regenerate.
29279         * lib/stat-time.h, lib/sys_types.in.h, m4/sys_types_h.m4:
29280         Copy from gnulib.
29282 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
29284         Remove gettimeofday from w32 sources
29286         * lib-src/ntlib.c (gettimeofday):
29287         * nt/inc/sys/time.h (gettimeofday, struct timezone): Remove unused
29288         function 'gettimeofday' and all of its supporting code.
29290 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
29292         Fix the MS-Windows build
29294         * nt/inc/sys/time.h (gettimeofday):
29295         * src/w32.c (gettimeofday): Adjust signature to match Gnulib.
29297 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
29299         More accurate documentation of the ':box' face attribute
29301         * doc/lispref/display.texi (Face Attributes): Fix the description
29302         of negative width of the ':box' attribute.  (Bug#26920)
29304 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
29306         Merge from gnulib
29308         This incorporates:
29309         2017-05-13 largefile: Simplify
29310         2017-05-13 largefile: Improve and document
29311         2017-05-13 truncate: New module
29312         2017-05-13 windows-stat-timespec: New module
29313         2017-05-13 windows-stat-override: New module
29314         2017-05-11 getopt-posix: port to mingw
29315         2017-05-11 gettimeofday: Increase precision on mingw
29316         2017-05-10 time: Fix missing initialization of HAVE_TIMEZONE_T
29317         2017-05-10 Implement a way to opt out from MSVC support
29318         2017-05-09 tzset: Expand comment about TZ problem on native Windows
29319         * build-aux/config.guess, lib/dup2.c, lib/fcntl.c, lib/fsync.c:
29320         * lib/getdtablesize.c, lib/getopt.c, lib/gettimeofday.c:
29321         * lib/mktime.c, lib/stat-time.h, lib/sys_stat.in.h, lib/unistd.in.h:
29322         * lib/utimens.c, m4/gettimeofday.m4, m4/largefile.m4:
29323         * m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/time_h.m4, m4/time_rz.m4:
29324         * m4/unistd_h.m4: Copy from gnulib.
29325         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
29327 2017-05-14  Marcin Borkowski  <mbork@mbork.pl>
29329         Merge branch 'fix/bug-21072'
29331 2017-05-14  Ted Zlatanov  <tzz@lifelogs.com>
29333         * .gitlab-ci.yml: Add setup for GitLab CI builds.
29335 2017-05-13  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
29337         New minor mode 'pixel-scroll-mode'
29339         * lisp/pixel-scroll.el: New file.
29341         * etc/NEWS: Mention pixel-scroll-mode.
29343 2017-05-13  Philipp  <phst@google.com>
29345         Make `old-style-backquotes' variable internal
29347         * src/lread.c (load_warn_old_style_backquotes, Fload, read1)
29348         (syms_of_lread): Rename `old-style-backquotes' to
29349         `lread--old-style-backquotes', and clarify that it's for internal
29350         use only.
29351         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename
29352         variable.
29353         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Add
29354         unit test.
29355         * test/lisp/emacs-lisp/bytecomp-tests.el
29356         (bytecomp-tests--old-style-backquotes): Add unit test.
29358 2017-05-13  Philipp Stephani  <phst@google.com>
29360         Improve unescaped character literal warnings
29362         * src/lread.c (load_warn_unescaped_character_literals)
29363         (syms_of_lread):
29364         lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Improve
29365         formatting of unescaped character literal warnings.
29367         * test/src/lread-tests.el (lread-tests--unescaped-char-literals):
29368         test/lisp/emacs-lisp/bytecomp-tests.el
29369         (bytecomp-tests--unescaped-char-literals): Adapt unit tests.
29371 2017-05-12  Alan Mackenzie  <acm@muc.de>
29373         Fontify C++ for loop variable as variable, even when followed by parentheses
29375         In the following: "for (auto *Friend : Class->friends()) {", "Friend" was
29376         getting fontified as a function, due to insufficient checking of the tokens
29377         between it and "()".
29379         * lisp/progmodes/cc-langs.el (c-:-op-cont-tokens, c-:-op-cont-regexp): New
29380         lang-consts/vars.
29382         * lisp/progmodes/cc-engine.el (c-forward-declarator): After finding a putative
29383         declarator's identifier, check for a ":" token inside a for's parentheses, and
29384         abort the search for "(" if this is found.
29386 2017-05-12  Michael Albinus  <michael.albinus@gmx.de>
29388         Make Tramp backward compatible
29390         * lisp/net/tramp-cmds.el (tramp-change-syntax):
29391         Set tramp-autoload cookie.
29393         * lisp/net/tramp-compat.el: Run `tramp-change-syntax' at
29394         startup, if necessary.
29396         * lisp/net/tramp.el (tramp-syntax): Use `tramp-compat-user-error'.
29397         (tramp-register-autoload-file-name-handlers): Do not mark
29398         `operations' for `tramp-file-name-handler'.
29399         (tramp-register-file-name-handlers): Remove also
29400         `tramp-autoload-file-name-handler' for backward compatibility.
29401         (tramp-register-foreign-file-name-handler): Use `delete-dups'.
29403         * test/lisp/net/tramp-tests.el (tramp-change-syntax): Declare.
29405 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
29407         Modify `beginning-of-defun-comments'
29409         * lisp/emacs-lisp/lisp.el (beginning-of-defun-comments): Try not to stop
29410         in the middle of a multiline comment.
29412 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
29414         Fix elisp-tests-with-temp-buffer compilation
29416         * test/lisp/emacs-lisp/lisp-tests.el (elisp-tests-with-temp-buffer):
29417         Don't refer to the =!NAME= as "markers" since they produce variables
29418         with just plain positions, not marker objects.  Explicitly specify
29419         that CONTENTS is evaluated at compile time.  Don't re-evaluate
29420         CONTENTS at runtime.  Fix debug specification.  Suppress warnings due
29421         to BODY not using =!NAME= variables.
29422         (elisp-test-point-position-regex): Rename from
29423         `elisp-test-point-marker-regex'.
29424         (mark-defun-test-buffer): Wrap in `eval-and-compile'.
29426 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
29428         * lisp/emacs-lisp/lisp.el (mark-defun): Simplify moving the point.
29430 2017-05-12  Marcin Borkowski  <mbork@mbork.pl>
29432         Fix Bug#21072 and rework `mark-defun'
29434         * test/lisp/progmodes/elisp-mode-tests.el (mark-defun-test-buffer):
29435           New variable
29436         (mark-defun-no-arg-region-inactive)
29437         (mark-defun-no-arg-region-active)
29438         (mark-defun-arg-region-active)
29439         (mark-defun-pos-arg-region-inactive)
29440         (mark-defun-neg-arg-region-inactive, mark-defun-bob): Add tests for
29441         the new `mark-defun'.
29443         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p):
29444           New function.
29445         (beginning-of-defun-comments): New function.
29446         (mark-defun): Fix bug#21072, also rewrite large parts of `mark-defun'
29447         to accept a numerical prefix argument.
29449 2017-05-12  Alfred M. Szmidt  <ams@gnu.org>
29451         * lisp/mail/rmail.el (rmail-ignored-headers): Add 3 headers to ignore.
29453 2017-05-12  Eli Zaretskii  <eliz@gnu.org>
29455         Improve doc strings in net-utils.el
29457         * lisp/net/net-utils.el (ifconfig, iwconfig, netstat, arp)
29458         (route, traceroute, nslookup, ftp, smbclient)
29459         (smbclient-list-shares, finger, whois)
29460         (network-connection-to-service, network-service-connection)
29461         (network-connection-reconnect): Improve doc strings.
29463 2017-05-12  Andrew Robbins  <contact@andrewrobbins.info>
29465         Extend DNS lookup commands to allow specifying the name server
29467         * lisp/net/net-utils.el (ffap-string-at-point): Removed due to
29468         'net-utils-machine-at-point' obviating this autoloaded
29469         function (Bug#25426).
29470         (dig-program-options): New customization variable.
29471         (nslookup-host, dns-lookup-host, run-dig): Can now specify
29472         optional name server argument interactively (by prefix arg) and
29473         non-interactively.
29475         * etc/NEWS: Mention the extension of DNS lookup commands.
29477 2017-05-12  Glenn Morris  <rgm@gnu.org>
29479         Don't hard-code loaddefs files in lisp/Makefile
29481         * lisp/Makefile.in (loaddefs): New variable.
29482         (AUTOGENEL): Use $loaddefs, and include directory.
29483         (bootstrap-clean): Update for AUTOGENEL change.
29485 2017-05-11  Katsumi Yamaoka  <yamaoka@jpl.org>
29487         Kill modified buffers silently when quitting (bug#26862)
29489         * lisp/gnus/gnus-start.el (gnus-clear-system): Run do-auto-save to make
29490         sure that latest drafts are saved, and kill modified buffers silently.
29492 2017-05-10  Perry E. Metzger  <perry@piermont.com>
29494         Implement 1-based column numbering in mode line
29496         * src/xdisp.c (decode_mode_spec): Implement the %C construct.
29498         * lisp/bindings.el (column-number-indicator-zero-based): New
29499         defcustom.
29500         (mode-line-position): Use %C when
29501         column-number-indicator-zero-based is nil.
29503         * src/xdisp.c (syms_of_xdisp) <frame-title-format>:
29504         * src/buffer.c (syms_of_buffer) <mode-line-format>:
29505         * doc/lispref/modes.texi (%-Constructs):
29506         * doc/lispref/frames.texi (Frame Titles): Document the %C
29507         construct.
29509         * doc/emacs/display.texi (Optional Mode Line): Document
29510         'column-number-indicator-zero-based'.
29512         * etc/NEWS: Mention 'column-number-indicator-zero-based' and the
29513         %C construct.
29515 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
29517         Ensure cursor's foreground color is in sync with 'default' face
29519         * src/w32term.c (x_set_cursor_gc): Don't reuse cursor GC if its
29520         foreground color is different from the background of the glyph
29521         string's face.  (Bug#26851)
29523 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
29525         Fix vertical cursor motion when columns are of unequal size
29527         * lisp/simple.el (line-move-finish): In line-move-visual mode, use
29528         vertical-motion to move to the goal column, as the goal column
29529         should in that case be interpreted in units of frame's canonical
29530         character width.  (Bug#26852)
29532 2017-05-10  Glenn Morris  <rgm@gnu.org>
29534         Fix finding test .el files
29536         * test/Makefile.in (ELFILES): Exclude the data/ directory.
29537         * test/src/lread-tests.el (lread-test-bug26837): Revert previous.
29539 2017-05-10  Tino Calancha  <tino.calancha@gmail.com>
29541         Tweak a recent test
29543         This test fails in my local machine because the data files
29544         are compiled, and the test doesn't expect that.
29545         * test/src/lread-tests.el (lread-test-bug26837): Match a suffix
29546         ending with '.elc' when the data files are compiled.
29548 2017-05-10  Glenn Morris  <rgm@gnu.org>
29550         Put license information in each generated uni-*.el
29552         * admin/unidata/unidata-gen.el (unidata-gen-file):
29553         Get Copyright line from copyright.html.
29554         Put information in file header, not separate README.
29555         (unidata-gen-charprop): Mention the source location.
29556         * lisp/international/README: Remove file.
29558 2017-05-10  Noam Postavsky  <npostavs@gmail.com>
29560         Fix lisp-indent-region and indent-sexp (Bug#26619)
29562         The new lisp-indent-region introduced in 2017-04-22 "Add new
29563         `lisp-indent-region' that doesn't reparse the code." is broken because
29564         it doesn't save the calculated indent amounts for already seen sexp
29565         depths.  Fix this by unifying the indent-sexp and lisp-indent-region
29566         code.  Furthermore, only preserve position 2 of the running parse
29567         when the depth doesn't change.
29568         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Use an OLDSTATE that
29569         corresponds with the start point when calling parse-partial-sexp.
29570         (lisp-indent-state): New struct.
29571         (lisp-indent-calc-next): New function, extracted from indent-sexp.
29572         (indent-sexp, lisp-indent-region): Use it.
29573         (lisp-indent-line): Take indentation, instead of parse state.
29574         * test/lisp/emacs-lisp/lisp-mode-tests.el
29575         (lisp-mode-tests--correctly-indented-sexp): New constant.
29576         (lisp-indent-region, lisp-indent-region-defun-with-docstring):
29577         (lisp-indent-region-open-paren, lisp-indent-region-in-sexp): New
29578         tests.
29580 2017-05-10  Dmitry Gutov  <dgutov@yandex.ru>
29582         Simplify url-encode-url and add a test
29584         * lisp/url/url-util.el (url-encode-url): Simplify.
29585         url-generic-parse-url copes with multibyte strings just fine
29586         (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24117#185).
29588         * test/lisp/url/url-parse-tests.el
29589         (url-generic-parse-url/multibyte-host-and-path): New test.
29591 2017-05-10  Glenn Morris  <rgm@gnu.org>
29593         More informative error when required feature missing
29595         * src/fns.c (Frequire): Include file name in missing feature error.
29596         * doc/lispref/loading.texi (Named Features): Don't quote actual error.
29598 2017-05-10  Glenn Morris  <rgm@gnu.org>
29600         Put re-loaded file back at start of load-history (bug#26837)
29602         * src/lread.c (readevalloop): Fix the "whole buffer" check to
29603         operate in the correct buffer.
29604         (Feval_buffer): Move point back to the start after checking
29605         for lexical binding.
29606         * test/src/lread-tests.el (lread-test-bug26837): New test.
29607         * test/data/somelib.el, test/data/somelib2.el: New test data files.
29609 2017-05-09  Eli Zaretskii  <eliz@gnu.org>
29611         Improve documentation of 'gnutls-verify-error'
29613         * lisp/net/gnutls.el (gnutls-verify-error): Improve and expand
29614         doc string.  (Bug#26845)
29616 2017-05-09  Glenn Morris  <rgm@gnu.org>
29618         Don't duplicate autoload code in package.el
29620         * lisp/emacs-lisp/autoload.el (autoload-rubric): Add a package option.
29621         * lisp/emacs-lisp/package.el (autoload-rubric): Declare.
29622         (package-autoload-ensure-default-file): Use autoload-rubric.
29624 2017-05-09  Michael Albinus  <michael.albinus@gmx.de>
29626         * test/lisp/net/tramp-tests.el: Keep additional test.
29628 2017-05-09  Marcin Borkowski  <mbork@mbork.pl>
29630         Add elisp-tests-with-temp-buffer, a new testing macro
29632         * test/lisp/emacs-lisp/lisp-tests.el
29633         (elisp-test-point-marker-regex) New variable.
29634         (elisp-tests-with-temp-buffer): New macro to help test functions
29635         moving the point and/or mark.
29637 2017-05-09  Noam Postavsky  <npostavs@gmail.com>
29639         Revert "Output number of characters added to file (Bug#354)"
29641         The extra message text turned out to be quite annoying in practice,
29642         and is generally more trouble than it's worth.  Also revert several
29643         related changes.
29645         Partially revert "Handle `write-region' messages in Tramp properly"
29646         Revert "New var write-region-verbose, default nil"
29647         Revert "* src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)"
29648         Revert "Minor tuneup of write-region change"
29649         Revert "Adjust write-region so file name is at the beginning again"
29650         Revert "Fix handling of non-integer START param to write-region"
29651         Revert "Output number of characters added to file (Bug#354)"
29653         * doc/emacs/files.texi (Misc File Ops):
29654         * etc/NEWS:
29655         * lisp/epa-file.el (epa-file-write-region):
29656         * lisp/gnus/mm-util.el (mm-append-to-file):
29657         * lisp/jka-compr.el (jka-compr-write-region):
29658         * lisp/net/ange-ftp.el (ange-ftp-write-region):
29659         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
29660         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
29661         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
29662         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
29663         * lisp/net/tramp.el (tramp-handle-write-region-message):
29664         * src/fileio.c (write_region, syms_of_fileio):
29665         * test/lisp/net/tramp-tests.el (tramp-test10-write-region): Remove
29666         extra characters from file writing messages.
29668 2017-05-09  Noah Friedman  <friedman@splode.com>
29670         (ybuffer-list): $alist must be ptr-unmasked at the end of the loop,
29671         because $ptr is modified by ygetptr and we use $ptr immediately at the
29672         beginning.
29674 2017-05-08  Ken Brown  <kbrown@cornell.edu>
29676         Skip a test from filenotify-tests.el on Cygwin
29678         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
29679         Skip the last part of the test on Cygwin; it fails due to timing
29680         issues.
29681         (file-notify--test-read-event):  Remove `sit-for' that was added
29682         for Cygwin.
29684 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
29686         Merge from gnulib
29688         This incorporates:
29689         2017-05-08 intprops: don’t depend on ‘verify’
29690         2017-05-07 utimens: on native Windows, improve resolution if fd < 0
29691         2017-05-07 utimens: Improve error code on native Windows
29692         * lib/intprops.h, lib/utimens.c: Copy from gnulib.
29694 2017-05-08  Wilson Snyder  <wsnyder@wsnyder.org>
29696         Fix various verilog-mode.el issues.
29698         * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix SystemVerilog
29699         2012 import breaking AUTOINST.  Reported by Johannes Schaefer.
29700         (verilog-auto-wire-type, verilog-insert-definition): Fix AUTOWIRE using
29701         logic in top-level non-SystemVerilog module, bug1142.  Reported by Marcin K.
29702         (verilog-define-abbrev-table) (verilog-mode-abbrev-table): Don't expand
29703         abbrev inside comment/strings, bug1102. Reported by Slava Yuzhaninov.
29704         (verilog-auto): Fix AUTORESET widths pulling from AUTOREGINPUT,
29705         msg2143. Reported by Galen Seitz.
29706         (verilog-modify-compile-command): Fix expansion of __FLAGS__ when
29707         compile-command is globally set, bug1119.  Reported by Galen Seitz.
29709 2017-05-08  Michael Albinus  <michael.albinus@gmx.de>
29711         Handle `write-region' messages in Tramp properly
29713         * lisp/net/tramp.el (tramp-handle-write-region-message): New defsubst.
29714         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
29715         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
29716         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
29717         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use it.
29719         * lisp/net/tramp.el (tramp-password-prompt-regexp)
29720         (tramp-completion-mode-p):
29721         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
29722         (tramp-append-tramp-buffers):
29723         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
29724         Use `bound-and-true-p'.
29726         * lisp/net/tramp-compat.el (tramp-compat-delete-file):
29727         Don't check for `boundp' anymore.
29729         * test/lisp/net/tramp-tests.el (ert-x): Require it.
29730         (tramp--test-messages): New defvar.
29731         (tramp-test10-write-region): Extend test.
29733 2017-05-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
29735         Fix glyph string generation for multi-font compositions (Bug#26742)
29737         * src/xdisp.c (glyph_string_containing_background_width): New function.
29738         (draw_glyphs): Use it to get correct background width.
29739         (compute_overhangs_and_x): Don't change x in the middle of composite
29740         characters.
29742 2017-05-07  Philipp Stephani  <phst@google.com>
29744         Fix all unescaped character literals
29746 2017-05-07  Alan Mackenzie  <acm@muc.de>
29748         CC Mode internal cache: Handle a cache pos being inside a two-char construct.
29750         Cache c-state-semi-nonlit-pos-cache was failing when a cache position was,
29751         e.g., between the two characters of an opening comment "/*", and additionally
29752         there were an odd number of quote marks (apostrophes) in the comment.  This
29753         happened in .../src/xdisp.c in the Emacs master branch around 2017-05-02 at
29754         buffer position 615001.
29756         * lisp/progmodes/cc-defs.el (c-emacs-features): Repurpose symbol
29757         pps-extended-state to mean that there are at least 11 elements in the parser
29758         state.
29760         * lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state)
29761         (c-parse-ps-state-to-cache): Rewrite these to use enhanced cache element list
29762         types which indicate potentially being inside two-char constructs.
29763         (c-parse-ps-state-below): Rewrite to use the new versions of the above two
29764         functions.
29766 2017-05-07  Glenn Morris  <rgm@gnu.org>
29768         Silence an mh-compat compiler warning
29770         * lisp/mh-e/mh-compat.el (mh-url-unreserved-chars): Always define.
29772 2017-05-07  Glenn Morris  <rgm@gnu.org>
29774         Evaluate mh-require when compiling
29776         * lisp/mh-e/mh-alias.el, lisp/mh-e/mh-folder.el:
29777         * lisp/mh-e/mh-gnus.el, lisp/mh-e/mh-search.el:
29778         Evaluate mh-require when compiling, as require is automatically.
29779         * lisp/mh-e/mh-gnus.el: No longer disable byte-compilation.
29781 2017-05-07  Glenn Morris  <rgm@gnu.org>
29783         Remove obsolete method of changing byte-compile-dest-file
29785         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
29786         Define unconditionally.
29788 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
29790         New var write-region-verbose, default nil
29792         By popular demand, write-region char counts are now off by default
29793         (Bug#26796).
29794         * src/fileio.c (write-region-verbose): New Lisp var.
29795         (write_region): Output char count only if the var is non-nil.
29796         * doc/emacs/files.texi (Misc File Ops), etc/NEWS: Document this.
29798 2017-05-07  Glenn Morris  <rgm@gnu.org>
29800         Write autoloads file atomically
29802         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
29803         New function, to save buffer atomically.
29804         (autoload-save-buffers, update-directory-autoloads):
29805         Use autoload--save-buffer.
29806         * lisp/Makefile.in ($(lisp)/loaddefs.el):
29807         No longer write to a temp file by hand.
29809 2017-05-07  Glenn Morris  <rgm@gnu.org>
29811         Write autoloads file once only
29813         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file):
29814         Simplify.  Don't bother about ensuring the output file exists.
29815         (autoload-generated-file): Add doc.
29816         (autoload-ensure-writable): Update doc.
29817         (autoload-ensure-file-writeable): Handle non-existing file.
29818         (autoload-ensure-default-file): Remove function.
29820 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
29822         Port .gdbinit to GDB 7.11.1 + Python 2.7.12
29824         * src/.gdbinit (Lisp_Object_Printer.to_string):
29825         Explicitly convert integer val to 'int', so that
29826         older GDBs do not complain about the conversion.
29827         * src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]:
29828         Give the struct a tag, so that older GDB pretty-printers have a
29829         tag to hang their hat on.
29831 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
29833         Pretty-print const Lisp_Objects in .gdbinit
29835         * src/.gdbinit (Emacs_Pretty_Printers.__call__):
29836         Compare unqualified type to Lisp_Object, to do the right thing
29837         when the expression has type ‘Lisp_Object const’.
29838         Problem reported by Eli Zaretskii in:
29839         https://lists.gnu.org/r/emacs-devel/2017-05/msg00138.html
29841 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
29843         Pacify GCC setjmp/longjmp warning
29845         * src/eval.c (internal_lisp_condition_case): Do not modify local
29846         var VAR, to pacify GCC’s setjmp/longjmp warning which in some
29847         cases mistakenly diagnoses VAR possibly being modified between a
29848         setjmp and a longjmp.
29850 2017-05-06  Philipp  <phst@google.com>
29852         Fix bootstrap build of files.el
29854         * lisp/files.el (file-name-non-special): Don't use cl-letf.
29856 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
29858         Fix last change for MS-Windows
29860         * test/src/emacs-module-tests.el (module-function-object): Port to
29861         MS-Windows.
29863 2017-05-06  Philipp Stephani  <phst@google.com>
29865         Introduce new misc type for module function
29867         This resolves a couple of FIXMEs in emacs-module.c.
29869         * src/lisp.h (MODULE_FUNCTIONP, XMODULE_FUNCTION): New functions.
29871         * src/alloc.c (make_module_function): New function.
29872         (mark_object): GC support.
29874         * src/data.c (Ftype_of, syms_of_data): Handle module function type.
29876         * src/print.c (print_object): Print support for new type.
29878         * src/emacs-module.c (module_make_function, Finternal_module_call):
29879         Use new module function type, remove FIXMEs.
29880         (module_format_fun_env): Adapt and give it external linkage.
29882         * test/src/emacs-module-tests.el (module-function-object): Add unit
29883         test.
29885 2017-05-06  Philipp Stephani  <phst@google.com>
29887         Fix quoted files for 'verify-visited-file-modtime'
29889         Fixes Bug#25951.
29891         * lisp/files.el (file-name-non-special): Set the file name for the
29892         correct buffer.
29894         * test/lisp/files-tests.el (files-tests--file-name-non-special--buffers):
29895         Add unit test.
29896         (files-tests--with-advice, files-tests--with-temp-file): New helper
29897         macros.
29899 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
29901         * src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)
29903 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
29905         Turn on GC_CHECK_MARKED_OBJECTS by default under ENABLE_CHECKING
29907         * src/alloc.c (GC_CHECK_MARKED_OBJECTS): Define to 1 by default of
29908         ENABLE_CHECKING is defined.
29909         (mark_object): Test for GC_CHECK_MARKED_OBJECTS being non-zero,
29910         instead of being defined.
29912 2017-05-06  Tom Tromey  <tom@tromey.com>
29914         Fix erc-join with channel password
29916         Bug#25349
29917         * lisp/erc/erc-join.el (erc-autojoin-after-ident): Switch order of
29918         server names.
29919         (erc-autojoin-channels, erc-autojoin-add, erc-autojoin-remove):
29920         Likewise.
29921         (erc-server-join-channel): Move to erc.el.
29922         * lisp/erc/erc.el (erc-server-join-channel): Move from erc-join.el.
29923         (erc-cmd-JOIN): Use erc-server-join-channel.
29925 2017-05-06  Tino Calancha  <tino.calancha@gmail.com>
29927         Ensure the created temp file in a test is new
29929         * test/lisp/buff-menu-tests.el (buff-menu-24962): Use `make-temp-file'
29930         to create the temp file.
29932 2017-05-06  Glenn Morris  <rgm@gnu.org>
29934         Decruftify dns-mode.el a little bit
29936         * lisp/textmodes/dns-mode.el (dns-mode-control-entities):
29937         New constant.
29938         (dns-mode-control-entity, dns-mode-bad-control-entity)
29939         (dns-mode-type, dns-mode-class): New faces.
29940         (dns-mode-control-entity-face, dns-mode-bad-control-entity-face)
29941         (dns-mode-type-face, dns-mode-class): Make these variables use the
29942         new faces, and mark as obsolete.
29943         (dns-mode-font-lock-keywords): Use dns-mode-control-entities.
29945 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
29947         Pretty-print Lisp_Object values in GDB
29949         * src/.gdbinit: Add a pretty-printer for Lisp_Object values.  Now,
29950         GDB displays them as "XIL(0xXXX)" rather than displaying them
29951         as "..." when CHECK_LISP_OBJECT_TYPE is in effect and as "DDDDD"
29952         otherwise.
29954 2017-05-05  Peder O. Klingenberg  <peder@klingenberg.no>
29956         Tweak dns-mode font-lock
29958         * lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
29959         Highlight $TTL as a control entity.  (Bug#26780)
29961 2017-05-05  Glenn Morris  <rgm@gnu.org>
29963         Fontify the doc-string in some CL forms as such
29965         * lisp/emacs-lisp/lisp-mode.el (defconstant, defparameter):
29966         Add the doc-string-elt property.  (Bug#26778)
29968 2017-05-05  Glenn Morris  <rgm@gnu.org>
29970         * lisp/emacs-lisp/cl-lib.el (cl-mapcar): Remove recent autoload cookie.
29972 2017-05-05  Dmitry Gutov  <dgutov@yandex.ru>
29974         cl-defmethod: Make the edebug spec more technically correct
29976         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Denote the
29977         edebug spec part for qualifiers as [&rest atom], per
29978         https://lists.gnu.org/r/emacs-devel/2017-05/msg00053.html.
29980 2017-05-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
29982         Fix MH-E not to load cl at runtime (Bug#25552)
29984         * lisp/mh-e/mh-acros.el (defun-mh): Check at runtime, not
29985         compile time, whether the target is bound.
29986         * lisp/mh-e/mh-compat.el: Enable compilation.  Pull in
29987         mh-acros at compile time.
29988         Authored-by: Glenn Morris <rgm@gnu.org>, Noam Postavsky
29989         <npostavs@users.sourceforge.net>
29991 2017-05-04  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
29993         Multiline support in NS "Open Selected File" service.
29995         * lisp/term/ns-win.el (ns-open-file-service): new function. Wraps the
29996         original call in a (split-string) to create as many calls as there
29997         are lines.
29998         (ns-spi-service-call): Call `ns-open-file-service' instead of
29999         `dnd-open-file'.
30001 2017-05-04  Göktuğ Kayaalp  <self@gkayaalp.com>
30003         Require cl-lib at runtime in vc-hg
30005         * lisp/vc/vc-hg.el: Require cl-lib at runtime as well (bug#26609).
30007 2017-05-04  Tino Calancha  <tino.calancha@gmail.com>
30009         Inherit incompatible/obsolete package faces from error
30011         Don't use the same face for installed packages as for incompatible
30012         or obsolete ones.
30013         * lisp/emacs-lisp/package.el (package-status-incompat): Inherit from error.
30015 2017-05-04  Michael Albinus  <michael.albinus@gmx.de>
30017         Set process property `adjust-window-size-function' to `ignore' in Tramp
30019         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
30020         (tramp-adb-maybe-open-connection):
30021         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
30022         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
30023         (tramp-maybe-open-connection):
30024         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
30025         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
30026         (tramp-smb-maybe-open-connection): Set process property
30027         `adjust-window-size-function' to `ignore'.
30029 2017-05-04  Nicolas Petton  <nicolas@petton.fr>
30031         * lisp/emacs-lisp/seq.el: Bump seq version.
30033 2017-05-04  Damien Cassou  <damien@cassou.me>
30035         Add seq-set-equal-p to test for set equality
30037         * lisp/emacs-lisp/seq.el (seq-set-equal-p): Add function to compare
30038           two lists as if they were sets.
30040         * test/lisp/emacs-lisp/seq-tests.el (test-seq-set-equal-p): Add test
30041           for seq-set-equal-p.
30043 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
30045         Spelling fixes
30047         * lisp/gnus/nndiary.el (nndiary-last-occurrence):
30048         Rename from nndiary-last-occurence.
30049         (nndiary-next-occurrence):
30050         Rename from nndiary-next-occurence.  All uses changed.
30052 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
30054         Merge from pkg-config
30056         * m4/pkg.m4: Copy from pkg-config 0.29.1.
30058 2017-05-04  Tom Tromey  <tom@tromey.com>
30060         Add color highlighting to css-mode
30062         Bug#25525
30063         * lisp/textmodes/css-mode.el (css--color-map): New constant.
30064         (css-value-class-alist): Use css--color-map.
30065         (css--number-regexp, css--percent-regexp)
30066         (css--number-or-percent-regexp, css--angle-regexp): New constants.
30067         (css--color-skip-blanks, css--rgb-color, css--hsl-color): New
30068         functions.
30069         (css--colors-regexp): New constant.
30070         (css--hex-color, css--named-color, css--compute-color)
30071         (css--contrasty-color, css--fontify-colors)
30072         (css--fontify-region): New functions.
30073         (css-mode): Set font-lock-fontify-region-function.
30074         (css-mode-syntax-table): Set syntax on more characters.
30075         (css-fontify-colors): New defcustom.
30076         (scss-mode-syntax-table): Define syntax for ?$ and ?%.
30077         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
30078         Update.
30079         (css-test-rgb-parser, css-test-hsl-parser)
30080         (css-test-named-color): New tests.
30081         * etc/NEWS: Add entry.
30083 2017-05-03  Michael Albinus  <michael.albinus@gmx.de>
30085         Fix Bug#26763
30087         * lisp/files.el (delete-directory): Call file name handler
30088         with `trash' argument.
30090         * lisp/net/ange-ftp.el (ange-ftp-delete-directory):
30091         * lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory):
30092         Add TRASH arg.  Implement it.  (Bug#26763)
30093         (tramp-get-remote-trash): Check for `delete-by-moving-to-trash'.
30095         * lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory):
30096         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
30097         Add _TRASH arg.
30099 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
30101         Use ptrdiff_t, not int, for stack sizes
30103         * src/thread.c (invoke_thread_function):
30104         * src/xterm.c (x_cr_export_frames):
30105         Don’t assume SPECPDL_INDEX fits in ‘int’.
30107 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
30109         Check list object type if --enable-gcc-warnings
30111         * configure.ac (--enable-check-lisp-object-type):
30112         Default to "yes" if --enable-gcc-warnings is not "no".
30113         * etc/NEWS: Mention this.
30114         * src/eval.c (internal_lisp_condition_case): Fix some glitches
30115         with 'volatile' uncovered by the above: in particular, 'clauses'
30116         should be a pointer to volatile storage on the stack, and need not
30117         be volatile itself.  Use an int, not ptrdiff_t, to count clauses.
30118         Don’t bother gathering binding count if VAR is nil.  Use
30119         more-specific local names to try to clarify what’s going on.
30121 2017-05-02  Glenn Morris  <rgm@gnu.org>
30123         Tweak auth-source-pass.el to avoid run-time subr-x
30125         * lisp/auth-source-pass.el (auth-source-pass--parse-data):
30126         Avoid needing subr-x at run-time.
30128 2017-05-02  Charles A. Roelli  <charles@aurox.ch>
30130         Constrain non-child frames to screen area in OS X
30132         * src/nsterm.m (constrainFrameRect:toScreen:): Constrain non-child
30133         frames in OS X, if they would otherwise go offscreen.
30135         (Bug#25818)
30137 2017-05-02  Michael Albinus  <michael.albinus@gmx.de>
30139         Fix error in completion for separate Tramp syntax
30141         * lisp/net/tramp.el (tramp-completion-file-name-regexp-separate):
30142         Tweak regexp.
30144         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
30145         Run method and host name completion for all syntaxes.
30147 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
30149         Avoid compilation warnings
30151         * src/w32fns.c (Fx_file_dialog, w32_parse_and_hook_hot_key):
30152         * src/w32term.c (x_draw_glyph_string):
30153         * src/w32fns.c (compute_tip_xy):
30154         * src/w32font.c (w32font_text_extents):
30155         * src/w32menu.c (set_frame_menubar):
30156         * src/search.c (Freplace_match): Avoid compiler warnings in
30157         optimized builds.
30159 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
30161         Merge from gnulib
30163         This incorporates:
30164         2017-05-02 utimens: port to Emacs + MS-Windows
30165         * lib/utimens.c: Copy from gnulib.
30167 2017-05-02  Gemini Lasswell  <gazally@runbox.com>
30169         Fix Edebug specs for 'cl-defmethod' and 'defmethod'
30171         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Change Edebug spec
30172         to make Edebug generate a new symbol for each method (Bug#24753) and
30173         to support a string following :extra (Bug#23995).
30174         * lisp/emacs-lisp/eieio-compat.el (defmethod): Change Edebug spec to
30175         make Edebug generate a new symbol for each method (Bug#24753).
30177 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
30179         Temporary fix for the MS_Windows build
30181         * nt/inc/ms-w32.h (WIN32_LEAN_AND_MEAN): Define to an empty value,
30182         to be consistent with Gnulib's utimens.c.  This is because utimens.c
30183         unconditionally defines WIN32_LEAN_AND_MEAN to an empty value, so the
30184         previous definition here conflicted with that.
30186 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
30188         Port format-time-string to MS-Windows better
30190         * test/src/editfns-tests.el (format-time-string-with-zone):
30191         Port test cases to MS-Windows.
30193 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
30195         Merge from gnulib
30197         This incorporates:
30198         2017-05-01 New module 'localtime-buffer'
30199         2017-04-30 utimens: Add support for native Windows
30200         * admin/merge-gnulib (AVOIDED_MODULES): Add tzset.
30201         * configure.ac (tzset): No need for Emacs itself to check now.
30202         * lib/gettimeofday.c, lib/time.in.h, lib/time_rz.c, lib/utimens.c:
30203         * m4/gettimeofday.m4, m4/time_h.m4, m4/time_rz.m4: Copy from gnulib.
30204         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
30205         * lib/localtime-buffer.c, lib/localtime-buffer.h:
30206         * m4/localtime-buffer.m4: New files, copied from gnulib.
30207         * src/editfns.c (init_editfns): Assume tzset is callable.
30209 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
30211         Speed up project-find-regexp for simple regexps
30213         * lisp/progmodes/xref.el (xref--regexp-syntax-dependent-p):
30214         New function.
30215         (xref--collect-matches): Use it.  Don't try to enable the
30216         appropriate major mode and file-local variables if the regexp
30217         does not depend on the buffer's syntax (bug#26710).
30218         (xref--collect-matches-1): Don't syntax-propertize in that
30219         case either.
30221 2017-05-01  Philipp Stephani  <phst@google.com>
30223         Warn about missing backslashes during load
30225         * src/lread.c (load_warn_unescaped_character_literals, Fload, read1)
30226         (syms_of_lread): Warn if unescaped character literals are
30227         found (Bug#20152).
30228         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Check for
30229         unescaped character literals during byte compilation.
30230         * test/src/lread-tests.el (lread-tests--unescaped-char-literals): New
30231         unit test.
30232         (lread-tests--with-temp-file, lread-tests--last-message): Helper
30233         functions for unit test.
30234         * test/lisp/emacs-lisp/bytecomp-tests.el
30235         (bytecomp-tests--unescaped-char-literals): New unit test.
30236         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file):
30237         Helper macro for unit test.
30239 2017-05-01  Ken Brown  <kbrown@cornell.edu>
30241         * configure.ac: Suggest Mailutils on Cygwin.
30243 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
30245         Don’t stress-test time zones near the Epoch
30247         * test/src/editfns-tests.el (format-time-string-with-zone)
30248         (format-time-string-with-outlandish-zone): Don’t format
30249         timestamps near the Epoch, as this runs into bugs on MS-Windows,
30250         and we don’t want to worry about those bugs.
30252 2017-05-01  Glenn Morris  <rgm@gnu.org>
30254         Tweak vc-tests.el for bzr
30256         * test/lisp/vc/vc-tests.el (vc-test--working-revision):
30257         Handle test environments where HOME does not exist.
30259 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
30261         vc-git-state: Return `ignored' as appropriate with newer Git
30263         * lisp/vc/vc-git.el
30264         (vc-git--program-version): New variable.
30265         (vc-git--program-version): New function.
30266         (vc-git-state): Use it to choose whether to add '--ignored' (bug#19343).
30268 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
30270         vc-git-state: Bring back CentOS 6 compatibility
30272         * lisp/vc/vc-git.el (vc-git-state):
30273         Bring back CentOS 6 compatibility (bug#19343).
30275 2017-05-01  Martin Rudalics  <rudalics@gmx.at>
30277         Rewrite w32fns.c's `x_set_menu_bar_lines'
30279         * src/w32fns.c (x_set_menu_bar_lines): Redraw frame immediately
30280         regardless of whether menu bar is added or removed.  Clear
30281         under internal border iff a W32 window exists.  Store either 0
30282         or 1 as new parameter value.
30283         (x_change_tool_bar_height): Use FRAME_W32_WINDOW instead of
30284         FRAME_X_WINDOW.
30286 2017-05-01  Michael Albinus  <michael.albinus@gmx.de>
30288         Fix filenotify-tests.el for cygwin
30290         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
30291         Add an additional `sit-for'.
30292         (file-notify-test02-rm-watch): Add an additional
30293         `file-notify--test-read-event' call.
30295 2017-05-01  Jonathan Ganc  <jonganc@gmail.com>
30297         Speed up vc-git-status and make it more precise
30299         * lisp/vc/vc-git.el (vc-git-state)
30300         (vc-git--git-status-to-vc-state): Update 'vc-git-state' to use
30301         'git status', so that 'vc-git-state' can now return 'ignored',
30302         'conflict', or 'unregistered' when appropriate.  Discussed in
30303         bug#26066.  Fixes bug#19343.
30305 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
30307         Fix Git revision navigation in currently removed directories
30309         * lisp/vc/vc-git.el (vc-git-next-revision): Use the repo root as
30310         default-directory because FILE's parent directory might not exist
30311         anymore (bug#26345).
30313 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
30315         Merge from gnulib
30317         This incorporates:
30318         2017-04-30 strftime-fixes: New module
30319         2017-04-30 mktime: Work around TZ problem on native Windows
30320         2017-04-30 ctime, localtime: New modules
30321         2017-04-30 gettimeofday: Provide higher resolution on native Windows
30322         2017-04-29 utime-h: Modernize handling of 'struct utimbuf'
30323         2017-04-29 Make use of module 'utime-h'
30324         2017-04-30 Fix a few typos
30325         * admin/merge-gnulib (AVOIDED_MODULES): Avoid utime-h, too.
30326         * lib/gettimeofday.c, lib/mktime.c, lib/time.in.h, lib/utimens.c:
30327         * m4/gettimeofday.m4, m4/include_next.m4, m4/mktime.m4:
30328         * m4/strftime.m4, m4/time_h.m4, m4/timegm.m4, m4/utimens.m4:
30329         Copy from gnulib.
30330         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
30332 2017-04-30  Eli Zaretskii  <eliz@gnu.org>
30334         Don't lose key bindings on mis-spelled text in flyspell-mode
30336         * lisp/textmodes/flyspell.el (flyspell-mouse-map): Bind mouse-2
30337         explicitly.
30338         (make-flyspell-overlay): If the mis-spelled text already has a
30339         'keymap' property, make that keymap the parent of
30340         flyspell-mouse-map, so as not to lose the parent's bindings.
30341         (Bug#26672)
30343 2017-04-30  Martin Rudalics  <rudalics@gmx.at>
30345         Fix `delete-frame' behavior including Bug#26682
30347         * src/frame.c (other_frames): Accept two arguments now.  Don't
30348         care about minibuffer window.  Don't care about visibility when
30349         called from delete_frame with FORCE true (Bug#26682).
30350         (delete_frame, Fmake_frame_invisible): Adjust other_frames
30351         calls.
30352         * src/w32term.c (w32_read_socket): Don't add a move frame event
30353         for an invisible frame.
30354         * lisp/frame.el (handle-delete-frame): Don't kill Emacs when
30355         attempting to delete a surrogate minibuffer frame.
30357 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
30359         Merge from gnulib
30361         This avoids incorporating the following, which I suspect are
30362         more trouble for Emacs than they’re worth:
30363         2017-04-29 stat, fstat: fix time_t etc. on native Windows platforms
30364         * admin/merge-gnulib (AVOIDED_MODULES): Avoid stat, too.
30365         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
30366         * lib/pathmax.h, lib/stat.c, m4/pathmax.m4, m4/stat.m4: Remove.
30368 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
30370         Fix buffer overflow in make-docfile
30372         * lib-src/make-docfile.c (scan_c_stream): Check for buffer
30373         overflow when reading an identifier.  Use a static buffer for NAME
30374         rather than a small dynamically-allocated buffer.
30376 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
30378         Merge from gnulib
30380         This incorporates:
30381         2017-04-29 getopt: port to Solaris 10 with circa-1997 glibc getopt.h
30382         * lib/getopt-pfx-ext.h: Copy from gnulib.
30383         * lib/gnulib.mk.in: Regenerate.
30385 2017-04-30  Tino Calancha  <tino.calancha@gmail.com>
30387         Fix dependency error during bootstrap
30389         * lisp/files.el: Require pcase and easy-mmode at compile time.
30391 2017-04-30  Mats Lidell  <mats.lidell@cag.se>
30393         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
30395 2017-04-29  Philipp Stephani  <phst@google.com>
30397         Reimplement auto-saving to visited files
30399         This reacts to confusing behavior of 'auto-save-visited-file-name',
30400         cf. Bug#25478.
30402         * lisp/files.el (auto-save-visited-interval): New customization option.
30403         (auto-save-visited-mode): New global minor mode.
30404         (auto-save-visited-file-name): Make obsolete.
30405         (auto-save--timer): New internal helper variable.
30407         * doc/emacs/files.texi (Auto Save Files): Document
30408         'auto-save-visited-mode' instead of obsolete
30409         'auto-save-visited-file-name'.
30410         (Auto Save Control): Document customization option
30411         'auto-save-visited-interval'.
30413 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
30415         Allow bypassing of some checks when merging
30417         * build-aux/git-hooks/pre-commit: Don't check merged-in changes.
30419 2017-04-29  Philipp Stephani  <phst@google.com>
30421         Integrate module test with normal test suite
30423         * test/Makefile.in (ELFILES): Exclude module test if modules aren't
30424         configured.
30425         (EMACS_TEST_DIRECTORY): Expand test directory so that it's set
30426         correctly even if Emacs changes the current directory.
30427         ($(srcdir)/src/emacs-module-tests.log)
30428         ($(test_module)): Proper dependency tracking for test module.
30430         * test/data/emacs-module/Makefile (ROOT): Adapt to new location.
30431         Remove 'check' target and EMACS variable, which are no longer
30432         necessary.
30433         (SO): Change to include period.
30435         * test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
30436         environment variable to reliably find test data.
30438         * configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
30439         substitutions.
30441 2017-04-28  Glenn Morris  <rgm@gnu.org>
30443         Broaden comint-password-prompt-regexp
30445         * lisp/comint.el (comint-password-prompt-regexp):
30446         Broaden the regexp, for non-English locales.  (Bug#26698)
30448 2017-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
30450         * lisp/auth-source.el (auth-source-backend-parse): `return' -> cl-return.
30452 2017-04-28  Bartosz Duszel  <bartosz.duszel@gmail.com>
30454         Don't pass the value of point to 'push-mark', as that's the default.
30456         * lisp/textmodes/bib-mode.el (mark-bib):
30457         * lisp/simple.el (mark-whole-buffer, yank):
30458         * lisp/ses.el (ses--advice-yank, ses-mark-row, ses-mark-column):
30459         * lisp/progmodes/xscheme.el (xscheme-yank):
30460         * lisp/progmodes/verilog-mode.el (verilog-mark-defun):
30461         * lisp/progmodes/perl-mode.el (perl-mark-function):
30462         * lisp/progmodes/pascal.el (pascal-mark-defun):
30463         * lisp/progmodes/meta-mode.el (meta-mark-defun):
30464         * lisp/progmodes/icon.el (mark-icon-function):
30465         * lisp/progmodes/cc-cmds.el (c-mark-function):
30466         * lisp/obsolete/vip.el (ex-goto):
30467         * lisp/obsolete/vi.el (vi-put-before):
30468         * lisp/mouse.el (mouse-yank-primary):
30469         * lisp/menu-bar.el (menu-bar-select-yank):
30470         * lisp/mail/sendmail.el (mail-yank-original):
30471         * lisp/hexl.el (hexl-beginning-of-buffer, hexl-end-of-buffer):
30472         * lisp/emulation/viper-cmd.el (viper-mark-beginning-of-buffer)
30473         (viper-mark-end-of-buffer):
30474         * lisp/cedet/semantic/senator.el (senator-mark-defun):
30475         * lisp/allout.el (allout-mark-topic): Remove unnecessary argument
30476         `(point)' from calls to `push-mark'.  (Bug#25565)
30478 2017-04-28  Glenn Morris  <rgm@gnu.org>
30480         Merge from origin/emacs-25
30482         784602b1050 (origin/emacs-25) ; Add release notice
30483         3a34412caae (tag: emacs-25.2) Set Emacs version to 25.2 and update AU...
30484         56a4461a48d ; Move stray item from admin/notes/repo to CONTRIBUTE
30485         2b0d1118199 ; CONTRIBUTE: Remove stray header.
30486         f2ab09ec60d Fix a typo in indexing the user manual
30487         bc55a574235 * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
30488         a6d50401b4b Document 'line-pixel-height'
30489         0c55cf43e61 * search.c (Fre_search_forward, Fre_search_backward): Imp...
30490         c7ed57eaef4 Mention that processes start in default-directory (Bug#18...
30491         856ec9ffa1f * src/xdisp.c (vmessage, message): Clarify commentary.
30492         849a0aaa1c9 Belated fixes for admin.el's M-x make-manuals-dist
30493         84938d79698 default-directory: Remark that it must be a directory name
30494         3f0d047d2eb Delete confuse statement in manual
30495         ee1bd94dd0c Improve packaging documentation
30496         fb18bff91f0 Expand manual section on quitting windows
30497         9a737079645 Fix docstring of dabbrev-abbrev-char-regexp
30498         afe8849bac1 * doc/misc/cl.texi (Iteration Clauses): Clarify example (...
30499         ada79442c07 ;* doc/misc/info.texi (Choose menu subtopic): Improve ind...
30500         d38fd9229c0 Narrow scope of modification hook renabling in org-src fo...
30501         e0e9db4c84a ; Spelling fix
30503         # Conflicts:
30504         #       README
30505         #       etc/AUTHORS
30506         #       etc/HISTORY
30507         #       lisp/ldefs-boot.el
30509 2017-04-28  Glenn Morris  <rgm@gnu.org>
30511         * doc/misc/auth.texi: Commas don't work in node names.
30513         * test/lisp/auth-source-pass-tests.el: Fix loading of cl-lib.
30515 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
30517         Test format-time-string with zone arg
30519         * test/src/editfns-tests.el (format-time-string-with-zone)
30520         (format-time-string-with-outlandish-zone): New tests.
30522 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
30524         Merge from gnulib
30526         This incorporates:
30527         2017-04-24 time_rz: fix heap buffer overflow vulnerability
30528         2017-04-23 stat-time: Update comments.
30529         2017-04-22 ftoastr: cite a newer paper
30530         2017-04-21 gettext-h: Avoid -Wundef warning.
30531         * lib/ftoastr.c, lib/gettext.h, lib/stat-time.h, lib/time_rz.c:
30532         * m4/getopt.m4: Copy from gnulib.
30533         * m4/gnulib-comp.m4: Regenerate.
30535 2017-04-27  Damien Cassou  <damien@cassou.me>
30537         auth-source-pass: Add documentation; fix tests and indentation.
30539         * doc/misc/auth.texi: Document new integration with Pass. Use @itemize
30540           instead of @enumerate.
30541         * lisp/auth-source-pass.el: Fix indentation.
30542           (auth-source-pass--remove-directory-name): Remove.
30543         * test/lisp/auth-source-pass-tests.el: Adjust test macros.
30545 2017-04-27  foudfou  <foudil.newbie+git@gmail.com>
30547         auth-source-pass: Enable finding entries by "host/username"
30549         * lisp/auth-source-pass.el: Enable finding entries by "host/username".
30550         * test/lisp/auth-source-pass-tests.el: Adjust tests to check it.
30552 2017-04-27  Damien Cassou  <damien@cassou.me>
30554         Integrate auth-source with password-store
30556         * lisp/auth-source-pass.el: auth-source backend for password-store.
30557         * test/lisp/auth-source-pass-tests.el: Tests for auth-source-pass
30558           behavior.
30560 2017-04-27  Damien Cassou  <damien@cassou.me>
30562         * lisp/auth-source.el: Document parser functions.
30564 2017-04-27  Ted Zlatanov  <tzz@lifelogs.com>
30566         auth-source: factor out parsers and add tests
30568         * lisp/auth-source.el: Factor out the source parsers. Clean up comments.
30569         * test/lisp/auth-source-tests.el: Add tests.
30571 2017-04-27  Martin Rudalics  <rudalics@gmx.at>
30573         Fix doc and customization type of `window-combination-limit' (Bug#26673)
30575         * src/window.c (Vwindow_combination_limit): Fix doc-string.
30576         * lisp/cus-start.el (window-combination-limit): Fix
30577         customization type.
30578         * doc/lispref/windows.texi (Recombining Windows): Fix
30579         documentation of `window-combination-limit'.
30581 2017-04-27  Tino Calancha  <tino.calancha@gmail.com>
30583         Drop face from hi-lock--unused-faces only when used
30585         * lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is already
30586         highlighted, then push FACE into hi-lock--unused-faces (Bug#26666).
30587         * test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.
30589 2017-04-26  Alan Third  <alan@idiocy.org>
30591         Fix macOS version check (bug#26664)
30593         * src/nsterm.m (initFrameFromEmacs): Prevent window tabbing mode on
30594         macOS versions 10.12+.
30596 2017-04-26  Glenn Morris  <rgm@gnu.org>
30598         Make charprop.el provide a feature
30600         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
30601         Provide a feature.
30602         * lisp/loadup.el: Use the charprop feature.
30604 2017-04-26  Glenn Morris  <rgm@gnu.org>
30606         * lisp/loadup.el: Get charprop.el into etc/DOC again.
30608 2017-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
30610         * lisp/ido.el (ido-everywhere): Use add-function.
30612 2017-04-26  Martin Rudalics  <rudalics@gmx.at>
30614         Try to fix latest fix of w32_mouse_position
30616         * src/w32term.c (w32_mouse_position): Fix a bug introduced by
30617         latest fix and try to make the affected code more rigorous.
30619 2017-04-26  Eli Zaretskii  <eliz@gnu.org>
30621         Avoid segfaults when 'find-font' is invoked for a TTY frame
30623         * src/font.c (font_pixel_size): Don't call GUI functions if F is a
30624         text-mode frame.  (Bug#26646)
30626 2017-04-26  Michael Albinus  <michael.albinus@gmx.de>
30628         * lisp/net/tramp.el (tramp-set-connection-local-variables-for-buffer):
30630         New defun.
30632 2017-04-26  Glenn Morris  <rgm@gnu.org>
30634         * src/Makefile.in (leimdir): Remove variable, no longer used.
30636 2017-04-26  Glenn Morris  <rgm@gnu.org>
30638         Generate leim-list via lisp/Makefile, not src/Makefile
30640         * src/Makefile.in ($(leimdir)/leim-list.el): Remove rule.
30641         (emacs$(EXEEXT)): Don't depend on leim-list.
30642         * lisp/Makefile.in ($(lisp)/loaddefs.el): Depend on gen-lisp again.
30644 2017-04-25  Alan Third  <alan@idiocy.org>
30646         Fix define for GNUstep builds
30648         * src/nsterm.m (initFrameFromEmacs): Fix the ifdef so that GNUstep
30649         doesn't see the code.
30651 2017-04-25  Glenn Morris  <rgm@gnu.org>
30653         Suppress intermittent test failure on hydra
30655         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
30656         (eieio-test-method-order-list-6): Skip on hydra.
30658 2017-04-25  Alan Third  <alan@idiocy.org>
30660         Fix some NS frame handling issues
30662         * src/nsterm.m (FRAME_DECORATED_FLAGS, FRAME_UNDECORATED_FLAGS): New
30663         defines intended to make things tidier.
30664         (x_set_undecorated): Use the new defines.
30665         (windowWillResize): Don't use new macOS 12+ only feature.
30666         (initFrameFromEmacs): Use the new defines, and disable automatic
30667         window tabbing feature in macOS 12.
30668         (x_set_undecorated, x_set_parent_frame, x_set_no_accept_focus,
30669         x_set_z_group): Add NSTRACE notices.
30671 2017-04-25  Glenn Morris  <rgm@gnu.org>
30673         Avoid parallel race condition
30675         * lisp/Makefile.in ($(lisp)/loaddefs.el): Remove gen-lisp for now.
30677 2017-04-25  Glenn Morris  <rgm@gnu.org>
30679         Generate each unicode lisp file independently
30681         This is better for parallel builds, eg it eliminates race
30682         conditions from having one process write multiple files.
30683         * admin/unidata/Makefile.in (lparen, unifiles): New variables.
30684         Parse unidata-gen.el, not charprop.el, to get the list of uni- files.
30685         (all): Explicitly list the output lisp files.
30686         (PHONY_EXTRAS): Remove.
30687         (${unidir}/charprop.el): Change rule to just be for this file.
30688         (${unifiles}): New rule to write each unicode lisp file.
30689         (extraclean): Simplify.
30690         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
30691         Quieten in batch mode.
30692         (unidata-gen-files): Remove, no longer used.
30693         * lisp/loadup.el: Update command-line parser.
30695 2017-04-25  Glenn Morris  <rgm@gnu.org>
30697         Further refactoring in unidata-gen.el
30699         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
30700         New function, split from unidata-gen-files.
30701         (unidata-gen-files): Use unidata-gen-charprop.
30703 2017-04-25  Glenn Morris  <rgm@gnu.org>
30705         Allow unidata-gen-file to work independently
30707         * admin/unidata/unidata-gen.el (unidata-gen-file):
30708         Make it work as a stand-alone function in batch mode.
30709         (unidata-gen-files): Pass extra arguments to unidata-gen-file.
30711 2017-04-25  Glenn Morris  <rgm@gnu.org>
30713         Preparatory refactoring in unidata-gen.el
30715         * admin/unidata/unidata-gen.el (unidata-gen-file):
30716         New function, split from unidata-gen-files.
30717         (unidata-gen-files): Use unidata-gen-file.
30719 2017-04-25  Glenn Morris  <rgm@gnu.org>
30721         Write each generated character property lisp file only once
30723         * admin/unidata/unidata-gen.el (unidata-file-alist):
30724         Rename from unidata-prop-alist.  All users changed.
30725         Use file name rather than property name as the key.
30726         (unidata-prop-prop): New function.
30727         (unidata-prop-index, unidata-prop-generator, unidata-prop-docstring)
30728         (unidata-prop-describer, unidata-prop-default, unidata-prop-val-list):
30729         Change to parse the argument rather than unidata-prop-alist.
30730         (unidata-gen-table-character, unidata-gen-table)
30731         (unidata-gen-table-symbol, unidata-gen-table-integer)
30732         (unidata-gen-table-numeric, unidata-gen-table-word-list)
30733         (unidata-gen-table-name, unidata-gen-table-decomposition)
30734         (unidata-gen-table-special-casing): Pass index as an argument.
30735         (unidata-check): Adapt to unidata-file-alist.
30736         Pass index to generator functions.
30737         (unidata-gen-files): Adapt to unidata-file-alist.
30738         Write each output file once only.  Overwrite rather than delete.
30740 2017-04-25  Andrew G Cohen  <cohen@andy.bu.edu>
30742         Fix requesting sparse articles in gnus
30744         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Delete the
30745         sparse article number from the list, not its id.
30747 2017-04-25  Glenn Morris  <rgm@gnu.org>
30749         Don't advertise s_client in tls.el docs
30751         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
30752         Don't mention s_client in docs.
30754 2017-04-25  Rob Browning  <rlb@defaultvalue.org>
30756         Remove s_client usage from tls.el
30758         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
30759         Ref http://bugs.debian.org/766397
30760         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
30762 2017-04-25  Glenn Morris  <rgm@gnu.org>
30764         Further robustify cedet bootstrap to loaddefs not yet built
30766         * lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
30767         Avoid void-function error when bootstrapping and semantic/loaddefs.el
30768         does not yet exist.
30770 2017-04-24  Alan Third  <alan@idiocy.org>
30772         Fix XBM color rendering in NS port (bug#22060)
30774         src/nsimage.m (setXBMColor): Fix calculation of xbm_fg.
30776 2017-04-24  Vibhav Pant  <vibhavp@gmail.com>
30778         Add support for IRCv3 message tags.
30780         * lisp/erc/erc-backend.el:
30781           erc-response: Add `tags' element.
30782           Add (erc-parse-tags).
30783           (erc-parse-server-response): Use (erc-parse-tags) to parse message
30784           tags (if any), and store them in `erc-resopnse' struct.
30786         * lisp/erc/erc.el: (erc-display-message): Expose message tags with text
30787           properties of the corresponding message line.
30789 2017-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
30791         Add image sizing tests for an image that's narrow
30793         Needlessly refactor tests for clarity
30795 2017-04-23  Philipp Stephani  <phst@google.com>
30797         Add missing remappings for Ido mode
30799         Among others, add a remapping for C-x 4 d, cf. Bug#26360.
30801         * lisp/ido.el (ido-mode): Remap missing commands.
30802         (ido-file-internal, ido-visit-buffer): Add support for new
30803         methods.
30804         (ido-display-buffer-other-frame)
30805         (ido-find-alternate-file-other-window, ido-dired-other-window)
30806         (ido-dired-other-frame): New commands.
30808         * test/lisp/ido-tests.el (ido-tests--other-window-frame): Add unit
30809         test for the bindings.
30811 2017-04-23  Martin Rudalics  <rudalics@gmx.at>
30813         Let w32_mouse_position pick a child window only if it has a child frame
30815         * src/w32term.c (w32_mouse_position): When using a frame found
30816         by ChildWindowFromPoint make sure it's a child frame (Bug#26615,
30817         maybe).
30819 2017-04-23  Noam Postavsky  <npostavs@gmail.com>
30821         Don't require bytecomp for running ert tests
30823         "Fix ert-tests when running compiled" 2016-12-06 accidentally
30824         introduced a dependency on `bytecomp' into `ert'.  As mentioned in
30825         "Avoid ert test failures" 2017-04-18, the accidental dependency of ert
30826         on bytecomp was masked by loading other libraries until recently.
30828         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Only use
30829         `byte-compile-macro-environment' if it's bound.
30830         * test/src/eval-tests.el: Add defvar for dynamic variable
30831         `byte-compile-debug'.
30833 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
30835         Eliminate unneeded warp-to-article in gnus article referral
30837         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread):
30838         (gnus-summary-refer-article): Remove gnus-warp-to article call.
30840 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
30842         Allow limiting gnus summary buffers to a thread
30844         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Include
30845         an optional argument to allow limiting the summary buffer to just the
30846         thread-related articles.
30847         (gnus-refer-thread-limit-to-thread): Introduce customizable variable
30848         to control whether thread-referral adds the thread to the summary
30849         buffer or limits to just the thread.
30850         (gnus-summary-refer-thread): Use the new variable.
30852 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
30854         Correct gnus-newsgroup-limits in gnus when including thread
30856         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Should
30857         only add one list of thread-related articles to gnus-newsgroup-limits
30858         rather than two.
30860 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
30862         Improve gnus thread matching of similar subjects
30864         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread):
30865         Use the more liberal gnus-general-simplify-subject regexp to
30866         find thread articles with similar subjects.
30868 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
30870         Add new `lisp-indent-region' that doesn't reparse the code.
30872         Both `lisp-indent-region' and `lisp-indent-line' now use `syntax-ppss'
30873         to get initial state, so they will no longer indent string literal
30874         contents.
30876         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): New function, like
30877         `syntax-ppss', but with a more dependable item 2.
30878         (lisp-indent-region): New function, like `indent-region-line-by-line'
30879         but additionally keep a running parse state to avoid reparsing the
30880         code repeatedly.  Use `lisp-ppss' to get initial state.
30881         (lisp-indent-line): Take optional PARSE-STATE argument, pass it to
30882         `calculate-lisp-indent', use `lisp-ppss' if not given.
30883         (lisp-mode-variables): Set `indent-region-function' to
30884         `lisp-indent-region'.
30886 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
30888         Remove ignored argument from lisp-indent-line
30890         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Remove WHOLE-EXP
30891         argument, the behavior has long since been handled in
30892         `indent-for-tab-command'.  Also remove redundant `beg' and `shift-amt'
30893         variables and use `indent-line-to'.
30895 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
30897         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Clean up marker.
30899 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
30901         Don't reparse the sexp in indent-sexp (Bug#25122)
30903         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Let
30904         PARSE-START be a parse state that can be reused.
30905         (indent-sexp): Pass the running parse state to calculate-lisp-indent
30906         instead of the sexp beginning position.  Saving the
30907         CONTAINING-SEXP-START returned by `calculate-lisp-indent' is no longer
30908         needed.  Don't bother stopping if we don't descend below init-depth,
30909         since we now alway scan the whole buffer (via syntax-ppss) anyway.
30910         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): Add blank
30911         line to test case.
30913 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
30915         Add cond test cases for singleton clauses.
30917         * test/lisp/emacs-lisp/bytecomp-tests.el: Add test cond forms where
30918           the default clause is a single non-nil expression.
30920 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
30922         b-c--cond-jump-table-info: Use correct body for singleton clauses
30924         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
30925         When a clause's body consists of a single constant expression, use
30926         that expression as the body to be compiled. This fixes switch bytecode
30927         evaluating to nil to such clauses.
30929 2017-04-22  Philipp Stephani  <phst@google.com>
30931         ffap: Don't switch window unless needed
30933         When using ffap-other-window, don't change the window configuration
30934         unless a new buffer has actually been created (Bug#25352).
30936         * lisp/ffap.el (ffap-other-frame): Don't change the window
30937         configuration if no new buffer has been created.
30938         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352): Add unit
30939         test.
30941 2017-04-22  Alan Mackenzie  <acm@muc.de>
30943         Fix fontification of C++ declaration with type FOO::FOO.
30945         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Initialize
30946         cfd-top-level properly.
30947         (c-forward-decl-or-cast-1): On finding FOO::FOO, check it is followed by "("
30948         before deciding it is a constructor.
30950         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Negate the
30951         result of the c-bs-at-toplevel-p call passed to c-font-lock-declarators
30952         (simple bug fix).
30954 2017-04-22  Philipp Stephani  <phst@google.com>
30956         Fix usage of FRAME_Z_GROUP
30958         * src/nsterm.m (initFrameFromEmacs:): FRAME_Z_GROUP does not return a
30959         Lisp object, cf. Bug#26597.
30961 2017-04-22  Alan Third  <alan@idiocy.org>
30963         Fix GNUstep build
30965         * src/nsfns.m (Fns_frame_z_list_order): Rewrite for GNUstep
30966         compatibility.
30967         * src/nsmenu.m (update_frame_tool_bar): Remove unused variable.
30969 2017-04-21  Alan Third  <alan@idiocy.org>
30971         Add no-accept-focus and frame-list-z-order to NS port
30973         * lisp/frame.el (frame-list-z-order): Add NS.
30974         * src/nsfns.m: Add x_set_no_accept_focus to handler struct.
30975         (Fx_create_frame): Handle no-accept-focus parameter.
30976         (ns_window_is_ancestor):
30977         (Fns_frame_list_z_order): New functions.
30978         * src/nsterm.m (x_set_no_accept_focus): New function.
30979         (initFrameFromEmacs): Use EmacsWindow instead of EmacsFSWindow for
30980         non-fullscreen windows.
30981         (EmacsWindow:canBecomeKeyWindow): New function.
30983 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
30985         Improve prefix handling for dash.el
30987         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
30988         Don't drop dash's "-<letter>" prefixes.
30990 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
30992         * lisp/emacs-lisp/cl-macs.el: Fix symbol-macrolet
30994         Revert 0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1 (to fix bug#26325)
30995         and use a different fix for bug#26068.
30996         (cl--symbol-macro-key): New function.
30997         (cl--sm-macroexpand, cl-symbol-macrolet): Use it instead of `symbol-name`.
30998         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet):
30999         Failure is not expected any more.
31001 2017-04-21  Eli Zaretskii  <eliz@gnu.org>
31003         Avoid infinite loop in redisplay when header-line-format is invalid
31005         * src/xdisp.c (handle_invisible_prop): Avoid inflooping when the
31006         string has an invalid %-construct in it and is displayed as part
31007         of mode-line or header-line.  (Bug#26586)
31009 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
31011         Add tests to check image scaling functionality
31013         This is in preparation to doing further work in this area to avoid
31014         regressions.
31016         * test/data/image/blank-200x100.png: New file for testing
31017         image scaling.
31019         * test/manual/image-size-tests.el: New file.
31021 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
31023         Allow svg-image to take all create-image PROPS
31025         * lisp/svg.el (svg-image): Allow passing in PROPS when
31026         creating an image for convenience.
31028 2017-04-21  George D. Plymale II  <georgedp@orbitalimpact.com>  (tiny change)
31030         Treat non-erroring lisp call as successful eshell command (Bug#26161)
31032         This lets a compound command like 'cd .. && echo ok' print 'ok',
31033         similar to how most other shells behave.
31035         * lisp/eshell/esh-cmd.el (eshell-exit-success-p): Only check if the
31036         last exit code was zero, rather than first checking whether the last
31037         command returned nil.
31038         (eshell-exec-lisp): Set `eshell-last-command-status' to 1 on error.
31040 2017-04-21  Reuben Thomas  <rrt@sc3d.org>
31042         Fix reading of tab settings in whitespace-mode
31044         lisp/whitespace.el (whitespace-indent-tabs-mode)
31045         whitespace-tab-width): Remove these variables. The underlying
31046         variables `indent-tabs-mode' and `tab-width' are already buffer-local
31047         when needed, and whitespace-mode never changes them.
31048         (whitespace-ensure-local-variables): Remove this function, which only
31049         existed to set the above variables.
31050         (whitespace-cleanup-region, whitespace-regexp)
31051         (whitespace-indentation-regexp, whitespace-report-region)
31052         (whitespace-turn-on, whitespace-color-on): Adjust these functions to
31053         use `indent-tabs-mode' and `tab-width' directly, and not call
31054         `whitespace-ensure-local-variables'.
31056 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
31058         * lisp/vc/vc-hg.el (vc-hg-state-fast): Fix compiler warning
31060         by simplifying ascii-test.
31062 2017-04-20  Vibhav Pant  <vibhavp@gmail.com>
31064         bytecomp: Don't inline functions that use byte-switch (Bug#26518)
31066         * lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): Don't inline
31067           FORM if the bytecode uses the byte-switch instruction. It is
31068           impossible to guess the correct stack depth while inlining such
31069           bytecode, resulting in faulty code.
31071 2017-04-20  Nicolas Petton  <nicolas@petton.fr>
31073         Set Emacs version to 25.2 and update AUTHORS file
31075         * README: Set Emacs version to 25.2.
31076         * etc/HISTORY: Add release log.
31077         * lisp/ldefs-boot.el:
31078         * etc/AUTHORS:
31079         * ChangeLog.2: Update.
31081 2017-04-20  Noam Postavsky  <npostavs@gmail.com>
31083         Don't register "def" as an autoload prefix (Bug#26412)
31085         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Don't
31086         accept "def" as a prefix.
31088 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
31090         Use substring completion for Info menus and index
31092         * lisp/info.el (Info-complete-menu-item): Add `category' metadata.
31093         (Info-menu): Simplify now that we use the `default' arg of completing-read.
31094         * lisp/minibuffer.el (completion-category-defaults): Use substring
31095         completion for `info-menu`.
31097 2017-04-19  Glenn Morris  <rgm@gnu.org>
31099         Remove some explicit runtime loads of pcase
31101         Pcase is macros, so these should have used eval-when-compile.
31102         Anyway, pcase entry points are autoloaded, so the compiler handles it.
31103         * lisp/profiler.el, lisp/emacs-lisp/eieio-core.el:
31104         * lisp/emacs-lisp/generator.el, lisp/emacs-lisp/subr-x.el:
31105         * lisp/progmodes/xref.el: No need to require pcase.
31107 2017-04-19  Glenn Morris  <rgm@gnu.org>
31109         Stop cl-lib loading pcase at runtime
31111         The cause was an unexpanded pcase-defmacro in cl-loaddefs.
31112         * lisp/emacs-lisp/autoload.el (make-autoload):
31113         Treat pcase-defmacro like defmacro.
31115 2017-04-19  Alan Third  <alan@idiocy.org>
31117         Note frame documentation exceptions for NS builds
31119         * doc/lispref/frames.texi (Management Parameters, Child Frames): Note
31120         NS differences.
31122 2017-04-19  Alan Third  <alan@idiocy.org>
31124         Fix bug introduced by my last commit
31126         * src/nsterm.m (ns_draw_fringe_bitmap): Revert key-mashing accident.
31128 2017-04-19  Alan Third  <alan@idiocy.org>
31130         Add new frame functionality to NS port
31132         * lisp/frame.el (frame-restack): Call ns-frame-restack.
31133         * src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]: Enable
31134         MOVE_FRAME_EVENT handling.
31135         * src/frame.h:
31136         * src/frame.c: Enable 'z-group', 'undecorated' and 'parent' frame
31137         definitions.
31138         * src/nsfns.m: Add x_set_z_group, x_set_parent_frame and
31139         x_set_undecorated (Cocoa only) to handler struct.
31140         (Fx_create_frame): Handle 'z-group', 'parent-frame' and 'undecorated'
31141         frame parameter.
31142         (Fns_frame_restack): New function.
31143         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar):
31144         FRAME_TOOLBAR_HEIGHT is no longer a variable.
31145         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS, NS_PARENT_WINDOW_TOP_POS):
31146         Add #defines to find the screen position of the parent frame.
31147         (NS_TOP_POS): Remove defun.
31148         (EmacsView): Remove redundant toolbar variables and add createToolbar
31149         method.
31150         (FRAME_NS_TITLEBAR_HEIGHT, FRAME_TOOLBAR_HEIGHT): Always calculate the
31151         values instead of storing them in a variable.
31152         * src/nsterm.m (x_set_offset, windowDidMove): Take parent frame
31153         position into account when positioning frames.
31154         (initFrameFromEmacs): Remove toolbar creation code and handle new
31155         frame parameters.
31156         (x_set_window_size): Remove toolbar height calculation.
31157         (x_set_z_group):
31158         (x_set_parent_frame):
31159         (x_set_undecorated) [NS_IMPL_COCOA]: New function.
31160         (x_destroy_window): Detach parent if child closes.
31161         (updateFrameSize): Change NSTRACE message to reflect new reality and
31162         no longer reset frame size.
31163         (windowWillResize): Don’t change NS window name when the titlebar
31164         is invisible.
31165         (createToolbar): Move toolbar creation code into it’s own method.
31166         (toggleFullScreen): FRAME_TOOLBAR_HEIGHT and FRAME_NS_TITLEBAR_HEIGHT
31167         are no longer variables.
31168         (windowDidMove): Fire MOVE_FRAME_EVENT Emacs event.
31170 2017-04-19  Glenn Morris  <rgm@gnu.org>
31172         Tweak bytecomp's loading of cl-extra
31174         * lisp/emacs-lisp/bytecomp.el: Don't force load of cl-extra in a
31175         post-bootstrap emacs where cl-loaddefs does exist.
31177 2017-04-19  Glenn Morris  <rgm@gnu.org>
31179         Avoid unnecessary loading of subr-x at run-time
31181         * lisp/doc-view.el, lisp/filenotify.el, lisp/info-look.el:
31182         * lisp/svg.el, lisp/emacs-lisp/byte-opt.el, lisp/net/shr.el:
31183         * lisp/textmodes/sgml-mode.el, test/lisp/dom-tests.el:
31184         No need to load subr-x at run-time.
31185         * lisp/gnus/nnheader.el: No need to load subr-x.
31187 2017-04-18  michael schuldt  <mbschuldt@gmail.com>  (tiny change)
31189         Use iteration in math-factorial-iter
31191         * lisp/calc/calc-comb.el (math-factorial-iter):
31192         Use iteration instead of recursion to avoid max-specpdl-size problem.
31194 2017-04-18  Glenn Morris  <rgm@gnu.org>
31196         * test/lisp/kmacro-tests.el: Require seq, for seq-concatenate.
31198 2017-04-18  Glenn Morris  <rgm@gnu.org>
31200         Avoid ert test failures
31202         * lisp/emacs-lisp/ert.el (ert--expand-should-1):
31203         Avoid errors related to undefined byte-compile-macro-environment.
31204         Somehow masked until very recently because loading seq (eg)
31205         loads bytecomp.  http://hydra.nixos.org/build/51730765
31207 2017-04-18  Eli Zaretskii  <eliz@gnu.org>
31209         Fix a typo in indexing the user manual
31211         * doc/emacs/cmdargs.texi (General Variables): Fix a horrible typo.
31213 2017-04-18  Noam Postavsky  <npostavs@gmail.com>
31215         Fix find-library-name for load-history entries with nil FILE-NAME (Bug#26355)
31217         * lisp/emacs-lisp/find-func.el (find-library--from-load-history):
31218         Rename from find-library--from-load-path.  Check for `load-history'
31219         entries with nil FILE-NAMEs.  Simplify by not double
31220         checking for suffixes and making use of `locate-file'.
31222 2017-04-18  Alan Third  <alan@idiocy.org>
31223             YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
31225         Use vfork if possible on Darwin (bug#26397)
31228         * src/conf_post.h (HAVE_WORKING_VFORK): Don't undef.
31229         (vfork): Don't define.
31230         * src/process.c (create_process) [DARWIN_OS]: Use fork if pty_flag is
31231         set, otherwise vfork.
31232         * src/callproc.c (call_process) [DARWIN_OS]: Use TIOCNOTTY to detach
31233         the controlling terminal instead of setsid.
31235 2017-04-18  Fran Litterio  <flitterio@gmail.com>
31237         Small erc-kill-channel fix (bug#23700)
31239         * lisp/erc/erc.el (erc-kill-channel): Handle null erc-default-target.
31241 2017-04-18  Glenn Morris  <rgm@gnu.org>
31243         ediff: use user-error rather than debug-ignored-errors
31245         * lisp/vc/ediff-diff.el (ediff-prepare-error-list):
31246         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
31247         * lisp/vc/ediff-init.el (ediff-barf-if-not-control-buffer)
31248         (ediff-check-version):
31249         * lisp/vc/ediff-merg.el (ediff-shrink-window-C):
31250         * lisp/vc/ediff-mult.el (ediff-draw-dir-diffs, ediff-show-dir-diffs)
31251         (ediff-append-custom-diff, ediff-meta-show-patch)
31252         (ediff-filegroup-action, ediff-show-meta-buffer, ediff-show-registry)
31253         (ediff-get-meta-info, ediff-patch-file-form-meta):
31254         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
31255         * lisp/vc/ediff-util.el (ediff-toggle-autorefine)
31256         (ediff--check-ancestor-exists, ediff-toggle-read-only)
31257         (ediff-toggle-wide-display, ediff-toggle-multiframe)
31258         (ediff-toggle-use-toolbar, ediff-toggle-show-clashes-only)
31259         (ediff-next-difference, ediff-previous-difference)
31260         (ediff-pop-diff, ediff-read-file-name, ediff-verify-file-buffer)
31261         (ediff-save-buffer):
31262         * lisp/vc/ediff-wind.el (ediff-make-wide-display):
31263         * lisp/vc/ediff.el (ediff-find-file, ediff-buffers-internal)
31264         (ediff-directories-internal, ediff-directory-revisions-internal)
31265         (ediff-regions-wordwise, ediff-regions-linewise)
31266         (ediff-load-version-control): Use user-error.
31267         (debug-ignored-errors): No longer modify.
31269 2017-04-18  Glenn Morris  <rgm@gnu.org>
31271         mh-e: use user-error rather than debug-ignored-errors
31273         * lisp/mh-e/mh-alias.el (mh-alias-grab-from-field):
31274         * lisp/mh-e/mh-utils.el (mh-get-msg-num): Use user-error.
31275         (debug-ignored-errors): No longer modify.
31277 2017-04-18  Glenn Morris  <rgm@gnu.org>
31279         ispell.el: use user-error rather than debug-ignored-errors
31281         * lisp/textmodes/ispell.el (ispell-get-word): Use user-error.
31282         (debug-ignored-errors): No longer modify.
31284 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
31286         * src/xterm.c (x_fill_rectangle): Now static.
31288 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
31290         Tighten recently-added UTF-8 check
31292         * src/coding.c (encode_coding_utf_8): Now extern.
31293         * src/terminal.c (terminal_glyph_code) [HAVE_STRUCT_UNIPAIR_UNICODE]:
31294         Check for UTF-8, not just for multibyte.
31296 2017-04-17  David Engster  <deng@randomsample.de>
31298         xml: Properly handle symbol-qnames for attribute parsing
31300         * lisp/xml.el (xml-parse-attlist): Do not strip 'symbol-qnames from
31301           xml-ns argument (reverts aea67018) (Bug#26533).
31302           (xml-maybe-do-ns): Properly handle default namespace by not
31303           interning new symbol when 'special' flag is set.
31305         * test/lisp/xml-tests.el (xml-parse-test--namespace-attribute-qnames)
31306           (xml-parse-namespace-attribute-qnames): Add test for Bug#26533.
31308 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
31310         * src/lisp.h (STRING_SET_CHARS): Simplify assertion.
31312 2017-04-17  Eli Zaretskii  <eliz@gnu.org>
31314         Fix assertion violations when displaying thread-related error
31316         * src/process.c (Faccept_process_output): Don't assume a thread's
31317         name is always a string.
31319 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
31321         dired ‘M’ should not complain about ‘.’ and ‘..’
31323         * lisp/dired-aux.el (dired-do-redisplay):
31324         Allow redisplay of ‘.’ and ‘..’ (Bug#26528).
31326 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
31328         Remove unused coding enums
31330         * src/coding.h (enum coding_system_type, enum end_of_line_type):
31331         Remove; unused.
31333 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
31335         Work around bug with unibyte Linux consoles
31337         * src/terminal.c (terminal_glyph_code): Skip the UTF-8 stuff if
31338         the terminal's coding system is unibyte (Bug#26396).
31340 2017-04-16  Teemu Likonen  <tlikonen@iki.fi>
31342         Fix org-agenda's command for calendar-lunar-phases
31344         Function org-agenda-phases-of-moon tries to call a non-existing
31345         function calendar-phases-of-moon. The correct function is
31346         calendar-lunar-phases.
31348 2017-04-16  Michael Albinus  <michael.albinus@gmx.de>
31350         Tuning for `separate' Tramp syntax
31352         * lisp/net/tramp.el (tramp-method-regexp): Fix it for `separate' syntax.
31353         (tramp-completion-file-name-regexp-separate): Simplify.
31355         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect-separate):
31356         Extend test.
31358 2017-04-16  Alan Mackenzie  <acm@muc.de>
31360         Fix bug #26529: C-h k errors with a lambda function bound to a key.
31362         * lisp/help-fns.el (help-fns--signature, describe-function-1): Check
31363         `function' is a symbol before trying to get property `reader-construct' from
31364         it.
31366 2017-04-16  Simen Heggestøyl  <simenheg@gmail.com>
31368         Fix highlighting of short selectors in CSS mode
31370         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Highlight
31371         selectors where the part before a colon is only one character long,
31372         such as `a:hover'.
31374 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
31376         Fix redisplay performance problems with some fonts
31378         * src/font.c (font_list_entities): Revert part of the changes
31379         introduced on Apr 2, 2014 to fix bug#17125.  It turns out having
31380         zero_vector in the font-cache is an important indication that
31381         cannot be removed.  (Bug#21028)
31383 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
31385         Add assertion to STRING_SET_CHARS
31387         * src/lisp.h (STRING_SET_CHARS): Add an assertion and commentary
31388         to prevent incorrect usage.  For details, see this discussion:
31389         https://lists.gnu.org/r/emacs-devel/2017-04/msg00412.html.
31391 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
31393         Avoid compilation warnings on MS-Windows
31395         * src/w32term.c (w32_read_socket): Avoid compiler warnings about
31396         parentheses around assignment.
31397         * src/w32fns.c (w32_createwindow): Remove unused variable
31398         dwStyle.  Use "|=" where appropriate.
31400 2017-04-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
31402         Merge from gnulib
31404         This incorporates:
31405         2017-04-14 intprops: try to avoid tickling similar bugs
31406         2017-04-14 intprops: port to Oracle Studio 12.3 x86
31407         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
31409 2017-04-15  Martin Rudalics  <rudalics@gmx.at>
31411         Fix bugs in `with-displayed-buffer-window' and `fit-window-to-buffer'
31413         * lisp/window.el (with-displayed-buffer-window): When a
31414         'window-height' action alist entry specifies a function, call
31415         `temp-buffer-window-show' with a '(window-height . t)' dummy
31416         entry so `window--try-to-split-window' will bind
31417         `window-combination-limit' to t and that function does not
31418         resize any other window but the one we split this one off
31419         (Bug#25055, Bug#25179).
31420         (fit-window-to-buffer): Call `window-max-delta' with NOUP t so
31421         we steal space only from windows in the same combination.
31422         Stealing space from other windows would not allow us to return
31423         that space later when this window is deleted (Bug#25055,
31424         Bug#25179).
31426 2017-04-15  Glenn Morris  <rgm@gnu.org>
31428         Avoid userlock queries hanging forever in batch mode
31430         * lisp/userlock.el (ask-user-about-lock)
31431         (ask-user-about-supersession-threat): Abort in batch mode.
31433 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
31435         Fix segfault when calling frame_ancestor_p (Bug#26493)
31437         * src/xterm.c (handle_one_xevent): Check that hf was not reset
31438         before calling frame_ancestor_p (Bug#26493).
31440 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
31442         A few additional copy-edits in documentation of frames
31444         * doc/lispref/frames.texi (Frame Layout)
31445         (Implied Frame Resizing): Windows -> MS-Windows.
31446         (Deleting Frames): Fix typo.
31448 2017-04-14  Glenn Morris  <rgm@gnu.org>
31450         Use user-error for some ert.el errors
31452         * lisp/emacs-lisp/ert.el (ert-read-test-name, ert-delete-all-tests)
31453         (ert-results-find-test-at-point-other-window, ert-describe-test):
31454         Use user-error.
31456 2017-04-14  Glenn Morris  <rgm@gnu.org>
31458         Use user-error for customize's "invalid face" error
31460         * lisp/cus-edit.el (customize-face): Use user-error.
31461         (debug-ignored-errors): No more need to add "Invalid face".
31463 2017-04-14  Glenn Morris  <rgm@gnu.org>
31465         Remove duplicate lisp-eval-defun definition
31467         * lisp/emacs-lisp/lisp-mode.el (lisp-eval-defun):
31468         Autoload rather than defining a stub.
31470 2017-04-14  Glenn Morris  <rgm@gnu.org>
31472         * lisp/Makefile.in (check-defun-dups): Ignore obsolete files.
31474 2017-04-14  Glenn Morris  <rgm@gnu.org>
31476         Create generated lisp files before main loaddefs.el
31478         This should improve reproducibility of lisp/loaddefs.el.
31479         * lisp/Makefile.in (gen-lisp): New phony target.
31480         ($(lisp)/loaddefs.el, compile-main): Depend on gen-lisp.
31481         * src/Makefile.in ($(leimdir)/leim-list.el): Depend on all of ../leim.
31482         * lisp/cedet/semantic.el (semantic-mode):
31483         * lisp/cedet/semantic/fw.el (top-level):
31484         * lisp/emacs-lisp/eieio-core.el (top-level):
31485         Robustify to generated input files maybe not yet existing.
31487 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
31489         Fix minor quoting issues in Makefile.in
31491         * Makefile.in (install-arch-dep, uninstall):
31492         Quote EMACS and EMACS_NAME more consistently.
31494 2017-04-13  Glenn Morris  <rgm@gnu.org>
31496         * Makefile.in (install-etc): Use existing Makefile variables.
31498 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
31500         Minor copyedits of recent changes in documentation
31502         * doc/lispref/frames.texi (Frame Layout, Frame Position)
31503         (Frame Size, Frame Interaction Parameters, Input Focus)
31504         (Raising and Lowering, Child Frames): Improve wording and indexing.
31505         * doc/emacs/cmdargs.texi (Borders X): Improve indexing.
31507 2017-04-13  Glenn Morris  <rgm@gnu.org>
31509         Small src/Makefile simplification
31511         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc)
31512         ($(lispsource)/term/ns-win.elc): Combine rules.
31514 2017-04-13  Simen Heggestøyl  <simenheg@gmail.com>
31516         Add grid layout module to CSS property list
31518         * lisp/textmodes/css-mode.el (css-property-alist)
31519         (css-value-class-alist): Add new properties and value classes from CSS
31520         Grid Layout Module.
31522 2017-04-13  Martin Rudalics  <rudalics@gmx.at>
31524         Describe recent frame and window changes in manuals
31526         * doc/emacs/emacs.texi (Top):
31527         * doc/emacs/cmdargs.texi (Borders X): Clearly separate the terms
31528         "outer border" (for the X border which can be set from within
31529         Emacs) and "external border" (for the border which is added by
31530         the window manager).
31531         * doc/lispref/display.texi (Tooltips): Clarify slightly.
31532         * doc/lispref/elisp.texi (Top): Update node and section names.
31533         * doc/lispref/frames.texi (Frames): Describe difference between
31534         top-level and child frames.
31535         (Frame Layout): Describe outer border.  Add more details about
31536         how Emacs obtains the outer size and position of a frame and
31537         about menu bar/tool bar wrapping.  Add references to new frame
31538         parameters.
31539         (Size and Position): Remove subsection.
31540         (Frame Position): New subsection excerpted from the earlier Size
31541         and Position subsection.  Clarify positioning concepts and
31542         some of their shortcomings.  Describe `move-frame-functions'.
31543         (Frame Size): New subsection excerpted from the earlier Size
31544         and Position subsection.  Describe how to track frame size
31545         changes and the new function `frame-size-changed-p'.
31546         (Position Parameters): Describe child frame positioning.  Warn
31547         about negative offsets.  Describe 'z-group' parameter.
31548         (Size Parameters): Describe 'text-pixels' specification
31549         facility and new 'min-width' and 'min-height' parameters.
31550         (Layout Parameters): Clarify description of 'tool-bar-lines' and
31551         'menu-bar-lines' parameters.
31552         (Frame Interaction Parameters): New subsubsection describing
31553         'parent-frame', 'delete-before', 'mouse-wheel-frame' and
31554         'no-other-frame' parameters.
31555         (Management Parameters): Describe 'skip-taskbar',
31556         'no-focus-on-map', 'no-accept-focus', 'undecorated' and
31557         'override-redirect' parameters.
31558         (Deleting Frames): Describe handling of 'delete-before'
31559         parameter and child frames for `delete-frame' and
31560         `delete-other-frames'.
31561         (Finding All Frames): Describe `frame-list-z-order' and handling
31562         of 'no-other-frame' parameter by `next-frame'.
31563         (Minibuffers and Frames): Minor clarifications.
31564         (Input Focus): Document `x-focus-frame'.  Clarify descriptions
31565         of `focus-in-hook', `focus-out-hook' and `focus-follows-mouse'.
31566         (Visibility of Frames): Describe mapping and how the visibility
31567         of a parent frame affects that of its child frames.
31568         (Raising and Lowering): Describe restacking of frames and
31569         z-groups.
31570         (Child Frames): New section.
31571         * doc/lispref/windows.texi (Selecting Windows): Describe
31572         additional semantics of NORECORD argument of `select-window' and
31573         how `buffer-list-update-hook' can emulate a "select window
31574         hook".
31575         (Mouse Window Auto-selection): New section.
31577 2017-04-13  Damien Cassou  <damien@cassou.me>
31579         Fix imenu--sort-by-position for non-pairs parameters (bug#26457)
31581         * lisp/imenu.el (imenu--sort-by-position): Fix to accept lists beyond
31582           pairs.
31583         * test/lisp/imenu-tests.el: Add 2 tests for `imenu--sort-by-position`.
31585 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
31587         Avoid unnecessary regeneration of the entire loaddefs.el
31589         * lisp/Makefile.in (autoloads .PHONY): Add commentary explaining
31590         why $(lisp)/loaddefs.el is a dependency of '.PHONY'.
31591         ($(lisp)/loaddefs.el): Copy an existing loaddefs.el to
31592         loaddefs.tmp before running 'batch-update-autoloads' on it, to
31593         avoid slow regeneration of the full contents.  (Bug#26459)
31594         Use 'move-if-change' instead of 'mv', to avoid producing a new
31595         Emacs binary when not necessary.
31597 2017-04-13  Dmitry Gutov  <dgutov@yandex.ru>
31599         Handle indentation of nested ternary operators in JS
31601         * lisp/progmodes/js.el (js--looking-at-operator-p):
31602         Handle nested ternary operators.
31604 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
31606         Don't call 'kill-this-buffer' outside of menus
31608         * lisp/simple.el (kill-current-buffer): New function.
31609         (completion-list-mode-map): Use it instead of kill-this-buffer.
31610         * lisp/type-break.el (type-break-mode):
31611         * lisp/term/ns-win.el (global-map):
31612         * lisp/progmodes/gdb-mi.el (gdb-memory-mode-map)
31613         (gdb-disassembly-mode-map, gdb-frames-mode-map)
31614         (gdb-locals-mode-map, gdb-registers-mode-map):
31615         * lisp/org/org-mhe.el (org-mhe-follow-link):
31616         * lisp/net/secrets.el (secrets-mode-map):
31617         * lisp/net/eudc.el (eudc-mode-map):
31618         * lisp/net/eudc-hotlist.el (eudc-hotlist-mode-map): Use
31619         kill-current-buffer instead of kill-this-buffer.  (Bug#26466)
31621 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
31623         * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
31625 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
31627         New internal-border face and args for select-window and x-focus-frame
31629         Add `internal-border' face and handle it whenever clearing the
31630         internal border.  If NORECORD equals the symbol
31631         'mark-for-redisplay', `select-window' will not record the window
31632         but still mark it for redisplay.  The new argument NOACTIVATE
31633         for `x-focus-frame' tries to not activate FRAME when set.
31635         * lisp/faces.el (internal-border): New face.
31636         * lisp/mwheel.el (mwheel-scroll): Select window to scroll with
31637         `mark-for-redisplay'.
31638         * lisp/scroll-bar.el (scroll-bar-drag)
31639         (scroll-bar-horizontal-drag, scroll-bar-scroll-down)
31640         (scroll-bar-scroll-up, scroll-bar-toolkit-scroll)
31641         (scroll-bar-toolkit-horizontal-scroll): Select window to scroll
31642         with `mark-for-redisplay'.
31643         * lisp/window.el (handle-select-window): When
31644         `focus-follows-mouse' is not 'auto-raise' try to not activate
31645         FRAME.
31646         * src/dispextern.h (face_id): Add INTERNAL_BORDER_FACE_ID.
31647         * src/frame.c (Fx_focus_frame): New argument NOACTIVATE.
31648         * src/frame.h (x_focus_frame): Update extern declaration.
31649         * src/gtkutil.c (xg_clear_under_internal_border): Remove
31650         function.
31651         (xg_frame_resized, xg_frame_set_char_size): Call
31652         x_clear_under_internal_border.
31653         (xg_tool_bar_callback): Adapt x_focus_frame call.
31654         * src/gtkutil.h (xg_clear_under_internal_border): Remove
31655         declaration.
31656         * src/nsfns.m (x_focus_frame): Add argument NOACTIVATE.
31657         * src/w32fns.c (x_clear_under_internal_border): Fill border
31658         with internal-border background if specified.
31659         * src/w32term.h (x_clear_under_internal_border): Add extern
31660         declaration.
31661         * src/w32term.c (x_after_update_window_line): Fill border
31662         with internal-border background if specified.
31663         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
31664         (x_scroll_bar_clear, w32_read_socket): Call
31665         x_clear_under_internal_border.
31666         (x_focus_frame): New argument NOACTIVATE.
31667         * src/window.c (select_window): Mark WINDOW for redisplay when
31668         NORECORD equals 'mark-for-redisplay'.
31669         (Fselect_window): Update doc-string.
31670         (syms_of_window): Define Qmark_for_redisplay.
31671         * src/xdisp.c (clear_garbaged_frames, echo_area_display)
31672         (redisplay_internal): Call x_clear_under_internal_border.
31673         * src/xfaces.c (lookup_basic_face): Handle `window-divider'
31674         and `internal-border' faces.
31675         (realize_basic_faces): Realize `internal-border' face.
31676         (syms_of_xfaces): Define Qinternal_border.
31677         * src/xfns.c (x_set_internal_border_width): Remove call for
31678         xg_clear_under_internal_border.
31679         (x_focus_frame): New argument NOACTIVATE.  When non-nil try to not
31680         activate frame.
31681         * src/xterm.c (x_fill_rectangle): No more static.
31682         (x_clear_under_internal_border, x_after_update_window_line):
31683         Fill border with internal-border background if specified.
31684         (xt_horizontal_action_hook): Rewrite.
31685         (handle_one_xevent): Call x_clear_under_internal_border.
31686         * src/xterm.h (x_fill_rectangle): Add extern declaration.
31688 2017-04-12  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
31690         Port recent frame changes to --enable-gcc-warnings
31692         * src/frame.c (next_frame, prev_frame):
31693         Remove now-redundant assertions.
31694         * src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.
31696 2017-04-12  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
31698         Scroll right and left using wheel-right and wheel-left.
31700         These changes also make use of touchpad and trackpad (Bug#26347).
31702         * doc/emacs/frames.texi (Mouse Commands): Document horizontal
31703         scrolling using the mouse wheel.
31705         * lisp/mwheel.el (mwheel-scroll): Respond to wheel-right and wheel-left.
31706         (mwheel-tilt-scroll-p, mwheel-flip-direction)
31707         (mwheel-scroll-left-function, mwheel-scroll-right-function): New
31708         defcustoms.
31709         (mouse-wheel-left-event, mouse-wheel-right-event): New variables,
31710         events that calls wheel-left/right.
31712         * etc/NEWS: Mention horizontal scrolling using the mouse wheel.
31714 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
31716         * lisp/Makefile.in (autoloads-force): Fix usage of ".PHONY".
31718 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
31720         Add new frame parameters and associated functions
31722         Add new frame parameters `undecorated', `override-redirect',
31723         `parent-frame', `skip-taskbar', `no-focus-on-map',
31724         `no-accept-focus', `z-group', `delete-before', `no-other-frame',
31725         `mouse-wheel-frame', `min-width', `min-height'.  Add new
31726         functions `frame-restack' and `frame-list-z-order'.
31728         * lisp/cus-start.el (focus-follows-mouse): Adapt customization
31729         type.
31730         * lisp/frame.el (handle-delete-frame): Handle child and
31731         `delete-before' frames.
31732         (other-frame): Stop looking for other frame after one round.
31733         (frame-list-z-order, frame-restack): New functions.
31734         (delete-other-frames): Handle child frames.
31735         * lisp/frameset.el (frameset-persistent-filter-alist)
31736         (frameset--record-relationships): Handle `delete-before',
31737         `parent-frame' and `mouse-wheel-frame' parameters.  Rename
31738         latter from `frameset--record-minibuffer-relationships'.
31739         (frameset--restore-frame): Handle ‘parent-frame’ parameter
31740         specially.
31741         (frameset-restore): Handle `delete-before', `parent-frame' and
31742         `mouse-wheel-frame' parameters.
31743         * lisp/mwheel.el (mwheel-scroll): Handle `mouse-wheel-frame'
31744         parameter.
31745         * lisp/window.el (window--min-size-ignore-p): Fix doc-string.
31746         (mouse-autoselect-window-select, handle-select-window): Major
31747         rewrite.  Try to not ignore errors.  Handle auto-selection of
31748         child frames and different values of `focus-follows-mouse'.
31749         * src/frame.c (frame_windows_min_size): Handle new `min-width'
31750         and `min-height' frame parameters.
31751         (make_frame): Initialize new frame structure members.
31752         (do_switch_frame): Don't reset internal_last_event_frame for
31753         descendant frames.
31754         (Fframe_parent, frame_ancestor_p, Fframe_ancestor_p): New
31755         functions.
31756         (candidate_frame): Don't return `no-other-frame' frame.
31757         (other_frames): New function replacing other_visible_frames.
31758         (delete_frame): Rewrite.  Handle child and `delete-before' frames.
31759         (Fmake_frame_invisible): Call other_frames.
31760         (store_frame_param): Check `delete-before' and `parent-frame'
31761         parameters for circular dependencies.
31762         (frame_parms, syms_of_frame): Add entries for and define new
31763         frame parameters.
31764         (focus_follows_mouse): New meaningful value `auto-raise'.
31765         * src/frame.h (z_group): New enumeration type.
31766         (frame): New slots parent_frame, undecorated, override_redirect,
31767         skip_taskbar, no_focus_on_map, no_accept_focus, z_group.
31768         (fset_parent_frame): New inlined function.
31769         (FRAME_UNDECORATED, FRAME_OVERRIDE_REDIRECT)
31770         (FRAME_PARENT_FRAME, FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
31771         (FRAME_NO_ACCEPT_FOCUS, FRAME_Z_GROUP, FRAME_Z_GROUP_NONE)
31772         (FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_ABOVE_SUSPENDED)
31773         (FRAME_Z_GROUP_BELOW): New macros.
31774         (frame_ancestor_p): Add declaration.
31775         * src/gtkutil.c (xg_create_frame_widgets): Handle
31776         `undecorated' and `override-redirect' frame parameters.
31777         (x_wm_set_size_hint): None for child frames.
31778         (xg_set_undecorated, xg_frame_restack, xg_set_skip_taskbar)
31779         (xg_set_no_focus_on_map, xg_set_no_accept_focus)
31780         (xg_set_override_redirect): New functions.
31781         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
31782         Don't let scrollbars obscure child frames.
31783         * src/gtkutil.h: (xg_set_undecorated, xg_frame_restack)
31784         (xg_set_skip_taskbar, xg_set_no_focus_on_map)
31785         (xg_set_no_accept_focus, xg_set_override_redirect): Add extern
31786         declarations.
31787         * src/nsfns.m (ns_frame_parm_handlers): Add entries for new
31788         frame parameters.
31789         (Fx_create_frame): Install `min-width' and `min-height' frame
31790         parameters.
31791         * src/nsterm.m (mouseMoved:): Handle focus_follows_mouse change.
31792         * src/w32fns.c (WS_EX_NOACTIVATE): Define if necessary.
31793         (x_real_positions): Handle child frames.
31794         (x_set_menu_bar_lines): Don't for child frames.
31795         (x_set_undecorated, x_set_parent_frame, x_set_skip_taskbar)
31796         (x_set_no_focus_on_map, x_set_no_accept_focus)
31797         (x_set_z_group): New functions.
31798         (w32_createvscrollbar, w32_createhscrollbar): Don't draw
31799         scroll bars over child frames.
31800         (w32_createwindow): Handle new frame parameters and child frames.
31801         (w32_wnd_proc): Let mouse clicks into a child frame activate
31802         the frame.  Try to handle the `no-accept-focus' parameter.  Do
31803         SetFocus when our window is brought to top or becomes the
31804         foreground window.
31805         (w32_window): Don't initialize menu bar for child frames.
31806         (Fx_create_frame): Handle new frame parameters.
31807         (x_create_tip_frame): Set explicit_parent slot.
31808         (w32_dialog_in_progress): New function.
31809         (Fx_file_dialog): Handle `z-group-above' frames.
31810         (w32_frame_list_z_order, Fw32_frame_list_z_order)
31811         (w32_frame_restack, Fw32_frame_restack): New functions.
31812         (w32_frame_parm_handlers): Add entries for new frame
31813         parameters.
31814         * src/w32font.c (Fx_select_font): Handle `z-group-above'
31815         frames during font selection dialogue.
31816         * src/w32term.c (construct_mouse_wheel): Construct mouse wheel
31817         event from F's w32 window.
31818         (w32_mouse_position): Handle child frames.
31819         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar):
31820         Don't draw scroll bars over child frames.
31821         (w32_read_socket): Always erase background of child frames.
31822         When generating SELECT_WINDOW_EVENTs handle new value of
31823         `focus-follows-mouse' and handle `no-accept-focus' parameter.
31824         Handle `mouse-wheel-frame' parameter.
31825         (x_calc_absolute_position, x_set_offset, x_set_window_size):
31826         Handle child frames.
31827         (x_make_frame_visible): Handle child frames specially.  Handle
31828         `no-focus-on-map' parameter.
31829         * src/w32term.h (w32_dialog_in_progress): Add external
31830         declaration.
31831         * src/xdisp.c (x_consider_frame_title, prepare_menu_bars): Not
31832         for child frames.
31833         * src/xfns.c (Xm/MwmUtil.h): Include for WM hints.
31834         (PropMotifWmHints, PROP_MOTIF_WM_HINTS_ELEMENTS): Define for
31835         non-Motif, non-GTK case.
31836         (x_real_pos_and_offsets): Handle child frames.
31837         (x_set_undecorated, x_set_parent_frame)
31838         (x_set_no_focus_on_map, x_set_no_accept_focus)
31839         (x_set_override_redirect): New functions.
31840         (x_set_menu_bar_lines): Not for child frames.
31841         (x_window): Handle `undecorated' and `override_redirect' cases.
31842         (Fx_create_frame): Handle new frame parameters.
31843         (frame_geometry): Handle child frames and outer border.
31844         (x_frame_list_z_order, Fx_frame_list_z_order)
31845         (x_frame_restack, Fx_frame_restack): New functions.
31846         (Fx_file_dialog, Fx_select_font): Set x_menu_set_in_use.
31847         (x_frame_parm_handlers): Add entries for new frame parameters.
31848         * src/xmenu.c (x_menu_set_in_use): Handle `z-group-above'
31849         frames.
31850         * src/xterm.c (x_set_frame_alpha): Don't set alpha of parent
31851         for child frames.
31852         (XTmouse_position): Handle child frames.
31853         (x_scroll_bar_create, x_scroll_bar_expose): Don't let scroll
31854         bars obscure child frames.
31855         (handle_one_xevent): Handle child frame positions.  If necessary
31856         set `skip-taskbar' and reassign proper `z-group' when we are
31857         mapped.  When generating SELECT_WINDOW_EVENTs handle new value
31858         of `focus-follows-mouse'.  Handle `mouse-wheel-frame' parameter.
31859         Let mouse clicks into a child frame activate the frame.
31860         (x_calc_absolute_position, x_set_offset): Handle child frames
31861         specially.
31862         (x_set_skip_taskbar, x_set_z_group): New functions.
31863         (x_make_frame_visible): Handle child frames.
31864         (ATOM_REFS_INIT): Add entries for
31865         Xatom_net_wm_state_skip_taskbar, Xatom_net_wm_state_above,
31866         Xatom_net_wm_state_below.
31867         * src/xterm.h (top-level): Declare Xatom_net_wm_state_above,
31868         Xatom_net_wm_state_below and Xatom_net_wm_state_skip_taskbar.
31869         (x_set_skip_taskbar, x_set_z_group): Add extern declarations.
31871 2017-04-11  Glenn Morris  <rgm@gnu.org>
31873         Update a package test for hydra
31875         * test/lisp/emacs-lisp/package-tests.el (with-package-test):
31876         Also bind package-gnupghome-dir, see eg
31877         http://hydra.nixos.org/build/51462182 .
31879 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
31881         Frame movement, focus and hook related changes
31883         New hook `move-frame-functions'.  Run `focus-in-hook'
31884         after switching to frame that gets focus.  Don't run
31885         XMoveWindow for GTK.
31887         * lisp/frame.el (handle-move-frame, frame-size-changed-p): New
31888         functions.
31890         * src/frame.c (do_switch_frame): Simplify code.
31891         (Fhandle_switch_frame): Switch frame before running
31892         `handle-focus-in'.
31893         (Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings.
31894         (Vmove_frame_functions): New hook variable.
31895         * src/keyboard.c (kbd_buffer_get_event): Handle
31896         MOVE_FRAME_EVENT.  Handle SELECT_WINDOW_EVENT separately.
31897         (head_table): Add Qmove_frame entry.
31898         (syms_of_keyboard): Add Qmove_frame.
31899         (keys_of_keyboard): Define key for `move-frame'.
31900         * src/termhooks.h (event_kind): Add MOVE_FRAME_EVENT.
31901         * src/w32term.c (w32_read_socket): Create MOVE_FRAME_EVENT.
31902         * src/window.c (run_window_size_change_functions): Record size of
31903         FRAME's minibuffer window too.
31904         * src/xterm.c (handle_one_xevent): Create MOVE_FRAME_EVENT.
31905         (x_set_offset): For GTK call gtk_widget_move instead of
31906         XMoveWindow.
31908 2017-04-11  Werner LEMBERG  <wl@gnu.org>
31910         Avoid abort in ftfont.c due to faulty fonts
31912         * src/ftfont.c (ftfont_get_metrics): Try loading the font without
31913         hinting, before aborting.  (Bug#25945)
31915 2017-04-11  Eli Zaretskii  <eliz@gnu.org>
31917         Document 'line-pixel-height'
31919         * doc/lispref/display.texi (Size of Displayed Text): Document
31920         line-pixel-height.  Suggested by Tak Kunihiro
31921         <tkk@misasa.okayama-u.ac.jp>.  (Bug#26379)
31923 2017-04-11  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
31925         Introduce customizable variable 'package-gnupghome-dir'
31927         * lisp/emacs-lisp/package.el (package-import-keyring)
31928         (package--check-signature-content, package-check-signature):
31929         Use new variable package-gnupghome-dir to control which GnuPG
31930         homedir to use.
31931         * doc/emacs/package.texi: Mention package-gnupghome-dir.
31932         * etc/NEWS: Mention package-gnupghome-dir.
31934 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
31936         Set x_gtk_use_window_move by default for fixing bug#25851 and bug#25943
31938         This activates a change that was installed a few weeks ago but whose
31939         ChangeLog was inadvertently dropped during its commit.  The proper
31940         ChangeLog is included below as part of the present commit.
31942         * src/gtkutil.c (xg_set_geometry): When x_gtk_use_window_move
31943         is set avoid calling x_gtk_parse_geometry (Bug#25851).
31944         (x_wm_set_size_hint): When x_gtk_use_window_move is set, set
31945         PPosition, USPosition and USSize flags if requested.
31946         * src/xterm.c (x_set_offset): With GTK when
31947         x_gtk_use_window_move is set, leave it entirely to
31948         gtk_window_move to position the window and skip any
31949         post-adjustments (Bug#25851 and Bug#25943).
31950         (x_gtk_use_window_move): New variable.
31952 2017-04-10  Alan Mackenzie  <acm@muc.de>
31954         Fix a loop in C Mode caused by inadequate analysis of comments.
31956         After M-;, and the insertion of the opening "/*", the CC Mode after-change
31957         function got confused, since the new comment opener matched the end of a
31958         subsequent comment, but moving back over that comment did not come back to the
31959         starting point.  Fix this.
31961         * lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer
31962         point is left if no end-of-macro is found before it.
31963         (c-forward-sws): Change the `safe-start' mechanism.  Now `safe-start' is
31964         non-nil except where we have an unclosed block comment at the end of a macro.
31965         This enables us to populate the cache more fully, at the cost of some run
31966         time.
31968 2017-04-10  Lars Brinkhoff  <lars@nocrew.org>
31970         Add PVSIZE function to return the size of a pseudovector.
31972         * src/lisp.h (PVSIZE): New function.
31974         * src/chartab.c (copy_char_table):
31975         * src/data.c (Ftype_of, Finteractive_form, Faref, Faset):
31976         * src/doc.c (Fdocumentation, store_function_docstring):
31977         * src/eval.c (Fcommandp, funcall_lambda, lambda_arity, Ffetch_bytecode):
31978         * src/fns.c (Flength, Fcopy_sequence):
31979         * src/font.h (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P):
31980         * src/lread.c (substitute_object_recurse):
31981         * src/print.c (print_object):
31982           Use it.
31984 2017-04-10  Michael Albinus  <michael.albinus@gmx.de>
31986         Add Tramp tests
31988         * lisp/net/tramp.el (tramp-syntax): Adapt docstring.
31990         * test/lisp/net/tramp-tests.el
31991         (tramp-test01-file-name-syntax-simplified)
31992         (tramp-test01-file-name-syntax-separate)
31993         (tramp-test02-file-name-dissect-simplified)
31994         (tramp-test02-file-name-dissect-separate): New tests.
31996 2017-04-10  Martin Rudalics  <rudalics@gmx.at>
31998         Make sure that `shell' makes BUFFER current
32000         * lisp/shell.el (shell): Restrict scope of recently added
32001         `with-current-buffer' to make sure that BUFFER is current when
32002         `shell' returns.
32004 2017-04-10  Jim Blandy  <jimb@red-bean.com>
32006         Default to PCRE syntax when reading .hgignore
32008         * lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
32009         Default to the PCRE syntax (bug#26249).
32011 2017-04-09  Michael Albinus  <michael.albinus@gmx.de>
32013         Document Tramp changes
32015         * doc/misc/tramp.texi (Change file name syntax): New node.
32017         * etc/NEWS: Mention `tramp-change-syntax'.
32019         * lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
32020         External packages uses it.
32021         (tramp-syntax): Set also `tramp-file-name-regexp'.
32023 2017-04-09  Paul Eggert  <eggert@cs.ucla.edu>
32025         Merge from gnulib (Bug#26398)
32027         This incorporates:
32028         2017-04-08 getopt: prefer - to _ in new file names
32029         2017-04-08 getopt: port recent getopt changes to macOS
32030         * .gitignore: Add lib/getopt-cdefs.h.
32031         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
32032         * lib/getopt-core.h: Rename from lib/getopt_core.h.
32033         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
32034         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
32035         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
32036         * lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
32037         Copy from Gnulib.
32038         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
32040 2017-04-09  Ken Raeburn  <raeburn@raeburn.org>
32042         Write updated loaddefs to a temporary file and rename into place.
32044         In a parallel build, byte compilation can be running at the same times
32045         as loaddefs.el is being regenerated.  However, in a CANNOT_DUMP build,
32046         loaddefs.el is read at startup and must always be in a usable state.
32048         * lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
32049         loaddefs.el.new and then rename it to loaddefs.el.
32051 2017-04-09  Glenn Morris  <rgm@gnu.org>
32053         In the manual, mention pops and imaps
32055         * doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
32056         Mention pops and imaps protocols.
32058 2017-04-09  Glenn Morris  <rgm@gnu.org>
32060         * doc/emacs/rmail.texi: Prefer @command to @code for movemail.
32062 2017-04-09  Sergey Poznyakoff  <gray@gnu.org>
32064         Fix rmail handling of movemail protocols (bug#18278)
32066         * lisp/mail/rmail.el (rmail-remote-proto-p): New function.
32067         (rmail-parse-url): Return protocol in second list element.
32068         Only use passwords with remote mailboxes.
32069         (rmail-insert-inbox-text): Handle non-simple local
32070         mailboxes (maildir, MH, etc.).
32072 2017-04-09  Glenn Morris  <rgm@gnu.org>
32074         Fix typos in manual re movemail local mailboxes
32076         * doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
32077         Fix examples of local mailbox urls.
32079 2017-04-08  Glenn Morris  <rgm@gnu.org>
32081         * lisp/gnus/nnmail.el (nnmail-crosspost-link-function): Simplify.
32083 2017-04-08  Glenn Morris  <rgm@gnu.org>
32085         Remove references to OS/2 in code, doc, and comments
32087         * lisp/gnus/nnheader.el (nnheader-read-timeout)
32088         (nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
32089         * lisp/emulation/viper-util.el (viper-color-defined-p):
32090         * lisp/net/pop3.el (pop3-read-timeout):
32091         * lisp/net/imap.el (imap-read-timeout):
32092         * lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
32093         * lisp/emulation/viper-ex.el (viper-glob-function):
32094         * lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
32095         * lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
32096         * doc/emacs/msdos-xtra.texi (MS-DOS):
32097         * doc/misc/gnus.texi (Various Various):
32098         * doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.
32100 2017-04-08  Michael Albinus  <michael.albinus@gmx.de>
32102         Tune Tramp syntax
32104         * lisp/net/tramp-cmds.el (tramp-change-syntax):
32105         Use `tramp-syntax-values'.
32107         * lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst.
32109         * lisp/net/tramp.el (tramp-syntax): Rename possible values.
32110         (tramp-syntax-values): New defun.
32111         (tramp-prefix-format, tramp-method-regexp)
32112         (tramp-postfix-method-format, tramp-prefix-ipv6-format)
32113         (tramp-postfix-ipv6-format, tramp-postfix-host-format)
32114         (tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax'
32115         and changed values.
32116         (tramp-completion-file-name-regexp-default): Rename from
32117         `tramp-completion-file-name-regexp-unified'.  Adapt docstring.
32118         (tramp-completion-file-name-regexp-simplified): Rename from
32119         `tramp-completion-file-name-regexp-old-style'.  Adapt docstring.
32120         (tramp-initial-completion-file-name-regexp):
32121         Use `tramp-completion-file-name-regexp-default'.
32122         (tramp-run-real-handler): Do not autoload any longer.
32124 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
32126         Replace more nested ifs with cond
32128         This is a continuation of d526047 "Replace more nested ifs with cond".
32129         * lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use
32130         when and cond where appropriate.
32132 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
32134         Adjust the edebug spec of if-let*
32136         This was fixed in Bug#24748, but now looking more closely, using gate in
32137         the spec seems correct.  See (info "(elisp) Backtracking").
32138         * lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
32140 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
32142         Replace some uses of cl-member-if with apply
32144         From the mhtml-mode series.  Some of the uses of cl-lib are not
32145         necessary.
32146         * lisp/align.el: Don't require cl-lib.
32147         (align-region): Use apply instead of cl-member-if.
32148         * lisp/emulation/viper.el: Don't require cl-lib.
32149         (viper-mode, this-major-mode-requires-vi-state): Use apply instead of
32150         cl-member-if.
32152 2017-04-08  Philipp Stephani  <phst@google.com>
32154         Validate SPEC of `dolist', cf. Bug#25477.
32156         * lisp/subr.el (dolist): Test type and length of SPEC.
32157         * test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
32158         Add unit test.
32160 2017-04-08  Philipp Stephani  <phst@google.com>
32162         Add unit test for Bug#26378
32164         * test/lisp/vc/ediff-diff-tests.el
32165         (ediff-diff-tests--ediff-exec-process--nil): New unit test.
32167 2017-04-08  Lars Brinkhoff  <lars@nocrew.org>
32169         Fix circular read syntax for records.
32171         * src/lread.c (substitute_object_recurse): Work with records.
32173         * test/src/lread-tests.el (lread-record-1): New test.
32175 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
32177         Deprecate copy-record in favor of copy-sequence
32179         Since copy-sequence seems to be needed anyway for records, have it
32180         work on records, and remove copy-record as being superfluous.
32181         * doc/lispref/records.texi (Records, Record Functions):
32182         * lisp/emacs-lisp/cl-macs.el (cl-defstruct):
32183         * lisp/emacs-lisp/eieio.el (make-instance, clone):
32184         * test/src/alloc-tests.el (record-3):
32185         Use copy-sequence, not copy-record, to copy records.
32186         * doc/lispref/sequences.texi (Sequence Functions)
32187         (Array Functions): Document that aref and copy-sequence
32188         work on records.
32189         * etc/NEWS: Omit copy-record.
32190         * src/alloc.c (Fcopy_record): Remove.
32191         * src/data.c (Faref): Document that arg can be a record.
32192         * src/fns.c (Fcopy_sequence): Copy records, too.
32194 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
32196         Fix dependency checking in src/Makefile.in
32198         * src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
32199         dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
32200         Otherwise, some dependencies will be missed.
32202 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
32204         Minor tuneup of write-region change
32206         * src/fileio.c (write_region): Use SCHARS, not Flength,
32207         on a value known to be a string.
32209 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
32211         Adjust write-region so file name is at the beginning again
32213         * lisp/epa-file.el (epa-file-write-region):
32214         * lisp/gnus/mm-util.el (mm-append-to-file):
32215         * lisp/jka-compr.el (jka-compr-write-region):
32216         * lisp/net/ange-ftp.el (ange-ftp-write-region):
32217         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
32218         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
32219         * src/fileio.c (write_region): Put file name at the beginning and move
32220         number of characters to the end of the message.
32222 2017-04-08  Kaushal Modi  <kaushal.modi@gmail.com>
32224         Check that file argument is a string
32226         * lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
32227           passed to `file-local-copy' is a string (Bug#26378).  Also fix
32228           the existing comment for this function, and convert it to its
32229           doc-string.
32231 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
32233         Fix handling of non-integer START param to write-region
32235         The previous patch for Bug#354 incorrectly assumed that START would
32236         always be an integer.
32238         * lisp/epa-file.el (epa-file-write-region):
32239         * lisp/jka-compr.el (jka-compr-write-region):
32240         * lisp/net/ange-ftp.el (ange-ftp-write-region):
32241         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
32242         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
32243         * src/fileio.c (write_region): Handle nil and string values of START.
32245 2017-04-07  Glenn Morris  <rgm@gnu.org>
32247         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fixes.
32249 2017-04-07  Michael Albinus  <michael.albinus@gmx.de>
32251         Add Tramp versions to `customize-package-emacs-version-alist'
32253         * lisp/net/trampver.el (customize-package-emacs-version-alist):
32254         Add Tramp versions to `customize-package-emacs-version-alist'.
32256 2017-04-07  Tom Tromey  <tom@tromey.com>
32258         * lisp/textmodes/rst.el (rst-toc-link-keymap): Move before first use.
32260 2017-04-07  Lars Brinkhoff  <lars@nocrew.org>
32262         * doc/lispref/records.texi (Record Functions): fix typo.
32264 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
32266         More casefiddle minor fixes
32268         * src/casefiddle.c (case_character_impl): Omit unnecessary casts.
32269         (case_character_impl): Avoid reevaluation of CHAR_TABLE_REF.
32270         (GREEK_CAPITAL_LETTER_SIGMA): Fix typo in my previous change.
32272 2017-04-07  Jeff Clough  <kb1vqh@gmail.com>
32274         Output number of characters added to file (Bug#354)
32276         * src/fileio.c (write_region):
32277         * lisp/epa-file.el (epa-file-write-region):
32278         * lisp/jka-compr.el (jka-compr-write-region):
32279         * lisp/net/ange-ftp.el (ange-ftp-write-region):
32280         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
32281         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
32282         * lisp/gnus/mm-util.el (mm-append-to-file): Functions now output
32283         characters written in addition to file name.
32284         * doc/lispref/files.texi: Added documentation to write-region and
32285         append-to-file describing their output.
32287 2017-04-07  Noam Postavsky  <npostavs@users.sourceforge.net>
32289         Fix ‘!NILP (Vpurify_flag)’ assertion failure during temacs bootstrap
32291         The recent changes to src/casefiddle.c cause build failure as seen
32292         below:
32294             Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs
32295                 --batch --load loadup bootstrap
32296             [Thread debugging using libthread_db enabled]
32297             Using host libthread_db library "/usr/lib/libthread_db.so.1".
32298             Loading loadup.el (source)...
32299             Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp
32300                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp
32301                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/language
32302                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/international
32303                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes
32304                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc)
32305             Loading emacs-lisp/byte-run (source)...
32306             Loading emacs-lisp/backquote (source)...
32307             Loading subr (source)...
32308             Loading version (source)...
32309             Loading widget (source)...
32310             Loading custom (source)...
32311             Loading emacs-lisp/map-ynp (source)...
32312             Loading international/mule (source)...
32313             Loading international/mule-conf (source)...
32315             lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)
32317             Breakpoint 1, terminate_due_to_signal at emacs.c:363
32318             363   signal (sig, SIG_DFL);
32319             (gdb) bt
32320             #0  0x0000000000579826 in terminate_due_to_signal at emacs.c:363
32321             #1  0x000000000060ec33 in die at alloc.c:7352
32322             #2  0x000000000066db40 in intern_c_string_1 at lread.c:3914
32323             #3  0x0000000000576884 in intern_c_string at lisp.h:3790
32324             #4  0x00000000005dc84f in prepare_casing_context at casefiddle.c:69
32325             #5  0x00000000005dd37f in casify_object at casefiddle.c:311
32326             #6  0x00000000005dd47f in Fcapitalize at casefiddle.c:356
32327             #7  0x00000000006325ac in eval_sub at eval.c:2219
32328             #8  0x0000000000632368 in eval_sub at eval.c:2184
32329             #9  0x000000000063446c in apply_lambda at eval.c:2875
32330             #10 0x00000000006329af in eval_sub at eval.c:2294
32331             #11 0x000000000062d462 in Fprogn at eval.c:449
32332             #12 0x000000000062d4cf in prog_ignore at eval.c:461
32333             #13 0x000000000062f19c in Fwhile at eval.c:982
32334             #14 0x00000000006321f4 in eval_sub at eval.c:2172
32335             #15 0x000000000062d462 in Fprogn at eval.c:449
32336             #16 0x000000000062f0c4 in Flet at eval.c:963
32337             #17 0x00000000006321f4 in eval_sub at eval.c:2172
32338             #18 0x0000000000632963 in eval_sub at eval.c:2290
32339             #19 0x000000000062d462 in Fprogn at eval.c:449
32340             #20 0x000000000062f0c4 in Flet at eval.c:963
32341             #21 0x00000000006321f4 in eval_sub at eval.c:2172
32342             #22 0x0000000000668caa in readevalloop at lread.c:1927
32343             #23 0x0000000000667253 in Fload at lread.c:1332
32344             #24 0x0000000000632683 in eval_sub at eval.c:2233
32345             #25 0x0000000000668caa in readevalloop at lread.c:1927
32346             #26 0x0000000000667253 in Fload at lread.c:1332
32347             #27 0x0000000000632683 in eval_sub at eval.c:2233
32348             #28 0x0000000000631be5 in Feval at eval.c:2041
32349             #29 0x000000000057e1af in top_level_2 at keyboard.c:1121
32350             #30 0x000000000062ffc7 in internal_condition_case at eval.c:1324
32351             #31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129
32352             #32 0x000000000062f51e in internal_catch at eval.c:1091
32353             #33 0x000000000057e0ea in command_loop at keyboard.c:1090
32354             #34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697
32355             #35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768
32356             #36 0x000000000057b55b in main at emacs.c:1687
32358             Lisp Backtrace:
32359             "capitalize" (0xffffcf70)
32360             "format" (0xffffd130)
32361             "define-charset" (0xffffd370)
32362             "while" (0xffffd560)
32363             "let" (0xffffd7c0)
32364             "dolist" (0xffffd910)
32365             "let" (0xffffdb70)
32366             "load" (0xffffdfe0)
32367             "load" (0xffffe4a0)
32369         * src/casefiddle.c (syms_of_casefiddle): Declare four new symbols:
32370         Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and
32371         Qspecial_titlecase.
32372         (prepare_casing_context): Use aforementioned symbols.
32374 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
32376         Merge from gnulib
32378         This merges some getopt fixes from Zack Weinberg, and affects only
32379         non-GNUish platforms.  It incorporates:
32380         2017-04-06 getopt-gnu: omit some duplicate code
32381         2017-04-06 getopt-posix: use angle-bracket include
32382         2017-04-06 getopt: annotate files with relationship to glibc
32383         2017-04-06 getopt: split up getopt.in.h and eliminate __need_getopt
32384         2017-04-06 getopt: better handling of ambiguous options
32385         2017-04-06 getopt: refactor long-option handling
32386         2017-04-06 getopt: tidy up _getopt_initialize a bit
32387         2017-04-06 getopt: merge from glibc: repetition reduction
32388         2017-04-06 getopt: clean up error reporting
32389         2017-04-06 getopt: fix fencepost error in ambiguous-W-option handling
32390         2017-04-06 getopt: clean up getopt.c and getopt1.c file headers
32391         2017-04-06 getopt: harmonize comments with glibc
32392         2017-04-06 getopt: remove USE_NONOPTION_FLAGS
32393         2017-04-06 getopt: tabify, in preparation for merge with glibc
32394         2017-04-06 md5, sha1, sha256, sha512: Add comments re correctness
32395         * build-aux/config.sub, doc/misc/texinfo.tex, lib/getopt.c:
32396         * lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/md5.c:
32397         * lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c, lib/sha256.h:
32398         * lib/sha512.c, lib/sha512.h, lib/unistd.in.h, m4/getopt.m4:
32399         Copy from gnulib.
32400         * lib/getopt_cdefs.in.h, lib/getopt_core.h, lib/getopt_ext.h:
32401         * lib/getopt_pfx_core.h, lib/getopt_pfx_ext.h:
32402         New files, taken from gnulib.
32403         * lib/gnulib.mk.in, m4/gnulib-comp.m4:
32404         Regenerate.
32406 2017-04-07  Hong Xu  <hong@topbug.net>
32408         * src/search.c (Fre_search_forward, Fre_search_backward): Improve
32409         doc (Bug#25193).
32411 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
32413         Mention that processes start in default-directory (Bug#18515)
32415         * doc/lispref/processes.texi (Synchronous Processes):
32416         (Asynchronous Processes):
32417         * lisp/subr.el (start-process):
32418         * src/callproc.c (call-process): Mention that the subprocess starts in
32419         `default-directory' when local, suggest `start-file-process' and
32420         `process-file' otherwise.
32422 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
32424         * src/xdisp.c (vmessage, message): Clarify commentary.
32426 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
32428         Minor casefiddle.c cleanups
32430         * src/casefiddle.c: Redo recent changes to match GNU style,
32431         and prefer C99-style decls within blocks.
32432         (GREEK_CAPITAL_LETTER_SIGMA): Rename from CAPITAL_SIGMA, so that
32433         we are merely using the Unicode name, and make it a constant
32434         rather than a macro.  All uses changed.
32435         (SMALL_SIGMA): Remove; unused.
32436         (GREEK_SMALL_LETTER_FINAL_SIGMA): Rename from SMALL_FINAL_SIGMA,
32437         and make it a constant rather than a macro.  All uses changed.
32438         (do_casify_multibyte_string): Use ‘verify’ rather than an
32439         unportable static_assertion local.
32441 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
32443         * lisp/international/README: Update to match current list.
32445 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
32447         Fix 'make clean' in lib subdirectory
32449         * lib/Makefile.in (clean): Remove *-t files.
32450         (mostlyclean): Remove MOSTLYCLEANFILES that are not *-t files.
32451         This removes files like lib/getopt.h that should be removed
32452         even if this configuration did not need to build them.
32453         (maintainer-clean): Remove TAGS here, not in distclean,
32454         to be consistent with ../src/Makefile.in.
32456 2017-04-06  Michael Albinus  <michael.albinus@gmx.de>
32458         Add new Tramp syntax
32460         * lisp/net/tramp-cmds.el (tramp-change-syntax): New defun.
32462         * lisp/net/tramp.el (tramp-syntax): Change default to `def'.
32463         Add :set function.
32464         (tramp-prefix-port-format): Simplify.
32465         (tramp-file-name-regexp-separate): Remove.
32466         (tramp-initial-file-name-regexp)
32467         (tramp-completion-file-name-regexp-old-style)
32468         (tramp-initial-completion-file-name-regexp): New defconst.
32469         (tramp-prefix-format, tramp-prefix-regexp)
32470         (tramp-method-regexp, tramp-postfix-method-format)
32471         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
32472         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
32473         (tramp-postfix-ipv6-regexp)
32474         (tramp-postfix-host-format, tramp-postfix-host-regexp)
32475         (tramp-remote-file-name-spec-regexp)
32476         (tramp-file-name-structure, tramp-file-name-regexp)
32477         (tramp-completion-file-name-regexp)
32478         (tramp-rfn-eshadow-update-overlay-regexp): Change them to be defuns.
32479         (tramp-tramp-file-p, tramp-find-method)
32480         (tramp-dissect-file-name, tramp-make-tramp-file-name)
32481         (tramp-completion-make-tramp-file-name)
32482         (tramp-rfn-eshadow-update-overlay)
32483         (tramp-register-autoload-file-name-handlers)
32484         (tramp-register-file-name-handlers)
32485         (tramp-unload-file-name-handlers)
32486         (tramp-completion-handle-file-name-all-completions)
32487         (tramp-completion-dissect-file-name, tramp-clear-passwd):
32488         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
32489         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
32490         (tramp-compute-multi-hops): Use them.
32492 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
32494         Implement special sigma casing rule  (bug#24603)
32496         In Greek, a sigma character has two lower case forms which depend on
32497         their position in the word.  Implement logic determining it.
32499         * src/casefiddle.c (struct casing_context, case_character_impl): Don’t
32500         assume inword is true when flag is CASE_UP and false when flag is
32501         CASE_DOWN.  For final sigma detection we need this information tracked
32502         reliably;.
32503         (CAPITAL_SIGMA, SMALL_SIGMA, SMALL_FINAL_SIGMA): New macros defining
32504         Unicode code point of different forms of sigma letter.
32505         (case_character): Implement support for final sigma casing.
32506         (do_casify_multibyte_string, do_casify_multibyte_region): Update after
32507         changes to case_character.
32509         * test/src/casefiddle-tests.el (casefiddle-tests-casing): Add test
32510         cases for final sigma.
32512 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
32514         Support casing characters which map into multiple code points  (bug#24603)
32516         Implement unconditional special casing rules defined in Unicode standard.
32518         Among other things, they deal with cases when a single code point is
32519         replaced by multiple ones because single character does not exist (e.g.
32520         ‘fi’ ligature turning into ‘FL’) or is not commonly used (e.g. ß turning
32521         into SS).
32523         * admin/unidata/SpecialCasing.txt: New data file pulled from Unicode
32524         standard distribution.
32525         * admin/unidata/README: Mention SpecialCasing.txt.
32527         * admin/unidata/unidata-gen.el (unidata-gen-table-special-casing,
32528         unidata-gen-table-special-casing--do-load): New functions generating
32529         ‘special-uppercase’, ‘special-lowercase’ and ‘special-titlecase’
32530         character Unicode properties built from the SpecialCasing.txt Unicode
32531         data file.
32533         * src/casefiddle.c (struct casing_str_buf): New structure for
32534         representing short strings used to handle one-to-many character
32535         mappings.
32537         (case_character_imlp): New function which can handle one-to-many
32538         character mappings.
32539         (case_character, case_single_character): Wrappers for the above
32540         functions.  The former may map one character to multiple (or no)
32541         code points while the latter does what the former used to do (i.e.
32542         handles one-to-one mappings only).
32544         (do_casify_natnum, do_casify_unibyte_string,
32545         do_casify_unibyte_region): Use case_single_character.
32546         (do_casify_multibyte_string, do_casify_multibyte_region): Support new
32547         features of case_character.
32548         * (do_casify_region): Updated to reflact do_casify_multibyte_string
32549         changes.
32551         (casify_word): Handle situation when one character-length of a word
32552         can change affecting where end of the word is.
32554         (upcase, capitalize, upcase-initials): Update documentation to mention
32555         limitations when working on characters.
32557         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties):
32558         Add test cases for the newly introduced character properties.
32559         (casefiddle-tests-casing): Update test cases which are now passing.
32561         * test/lisp/char-fold-tests.el (char-fold--ascii-upcase,
32562         char-fold--ascii-downcase): New functions which behave like old ‘upcase’
32563         and ‘downcase’.
32564         (char-fold--test-match-exactly): Use the new functions.  This is needed
32565         because otherwise fi and similar characters are turned into their multi-
32566         -character representation.
32568         * doc/lispref/strings.texi: Describe issue with casing characters versus
32569         strings.
32570         * doc/lispref/nonascii.texi: Describe the new character properties.
32572 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
32574         Split up casify_region function  (bug#24603)
32576         No functional changes at this time but splitting casify_region into
32577         a function dealing with multibyte and another dealing with unibyte
32578         buffers will make future code changes slightly easier.
32580         * src/casefiddle.c (casify_region): Move most of the code into two
32581         new functions:
32582         (do_casify_multibyte_region, do_casify_unibyte_region): new functions.
32584 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
32586         Add support for title-casing letters  (bug#24603)
32588         * src/casefiddle.c (struct casing_context, prepare_casing_context): Add
32589         titlecase_char_table member.  It’s set to the ‘titlecase’ Unicode
32590         property table if capitalization has been requested.
32591         (case_character): Make use of the titlecase_char_table to title-case
32592         initial characters when capitalising.
32594         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
32595         casefiddle-tests-casing): Update test cases which are now passing.
32597 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
32599         Introduce case_character function
32601         Move single-character casing logic into a separate function so that
32602         it is collected in a single place.  This will make future changes to
32603         the logic easier.  This commit introduces no functionality changes.
32605         * src/casefiddle.c (struct casing_context, prepare_casing_context): New
32606         structure for saving casing context and function to initialize it.
32607         (case_character): New function which cases character base on provided
32608         context.
32609         (do_casify_integer, do_casify_multibyte_string,
32610         do_casify_unibyte_string, casify_object, casify_region): Convert to
32611         use casing_context and case_character.
32613 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
32615         Split casify_object into multiple functions
32617         casify_object had three major cases to cover and those were mostly
32618         independent of each other.  Move those branches to separate function
32619         so it’s easier to comprehend each individual case.
32621         While at it, use somewhat more descriptive ch and cased variable names
32622         rather than c and c1.
32624         This commit introduces no functional changes.
32626         * src/casefiddle.c (casify_object): Split into…
32627         (do_casify_integer, do_casify_multibyte_string,
32628         do_casify_unibyte_string): …new functions.
32630 2017-04-06  Lars Brinkhoff  <lars@nocrew.org>
32632         Update documentation for type semantics of records.
32634         * doc/lispref/objects.texi (Record Type): improve description of what
32635         `type-of' returns for records.
32636         (Type Descriptors): new section.
32637         * doc/lispref/elisp.texi: reference it.
32638         * doc/lispref/records.texi (Records): reference it.  Document
32639         behavior when type slot is a record.
32641         * admin/alloc-colors.c (Fmake_record, Frecord): mention type desciptors.
32643 2017-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
32645         * lisp/help-fns.el (describe-symbol): `nil' is not an interesting default.
32647 2017-04-06  Tom Tromey  <tom@tromey.com>
32649         require cl-lib to fix fallout from mhtml series
32651         * lisp/align.el, lisp/calc/calc-embed.el, lisp/cedet/semantic.el,
32652         lisp/emulation/viper.el: Require cl-lib.
32654 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
32656         In CANNOT_DUMP builds, allow editing of files named "dump".
32658         * lisp/loadup.el: Perform the "dump" or "bootstrap" actions like
32659         calling dump-emacs only if dump-emacs is defined; otherwise, don't
32660         treat those command-line argument specially.
32662 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
32664         In CANNOT_DUMP builds, don't prepare for unexec.
32666         Having a command-line argument of "dump" or "bootstrap" would trigger
32667         behavior like not installing signal handlers.  In CANNOT_DUMP modes,
32668         we should get signal handlers installed regardless of whatever funny
32669         file names we decide to edit.
32671         src/emacs.c (main) [CANNOT_DUMP]: Don't enable the "dumping"
32672         alterations to initialization that prepares the process for unexec.
32674 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
32676         Allow a CANNOT_DUMP build to use exec-path during bootstrap.
32678         During a bootstrap, loading rmail.el invokes movemail to determine its
32679         flavor, but call-process doesn't work if exec-path is nil.
32681         * lisp/loadup.el: Only clear exec-path if dumping.
32683 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
32685         Fix CANNOT_DUMP build on Darwin/macOS.
32687         * src/conf_post.h (malloc, realloc, free) [DARWIN_OS && emacs &&
32688         CANNOT_DUMP]: Don't define as unexec_malloc, etc.
32689         * src/emacs.c (main): Don't call unexec_init_emacs_zone.
32691 2017-04-05  Tom Tromey  <tom@tromey.com>
32693         add two more mhtml tests
32695         * test/manual/indent/html-multi-2.html: New file.
32696         * test/manual/indent/html-multi-3.html: New file.
32698 2017-04-05  Tom Tromey  <tom@tromey.com>
32700         enable mhtml-mode by default
32702         * lisp/files.el (auto-mode-alist): Reference mhtml-mode, not
32703         html-mode.
32704         (magic-fallback-mode-alist): Likewise.
32705         * lisp/net/eww.el (eww-view-source): Use mthml-mode.
32707 2017-04-05  Tom Tromey  <tom@tromey.com>
32709         add mhtml-mode.el
32711         * etc/NEWS: Update.
32712         * lisp/textmodes/mhtml-mode.el: New file.
32713         * test/manual/indent/html-multi.html: New file.
32714         * test/lisp/textmodes/mhtml-mode-tests.el: New file.
32715         * doc/emacs/text.texi (HTML Mode): Mention mhtml-mode.
32717 2017-04-05  Tom Tromey  <tom@tromey.com>
32719         change sgml-mode to help multi-html mode
32721         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): New
32722         defconst.
32723         (sgml-syntax-propertize): Use it.
32724         (sgml--find-<>-backward): New function.
32725         (sgml-parse-tag-backward): Use it.
32727 2017-04-05  Tom Tromey  <tom@tromey.com>
32729         make js.el respect prog-first-column
32731         * lisp/progmodes/js.el (js--proper-indentation): Call prog-first-column.
32733 2017-04-05  Tom Tromey  <tom@tromey.com>
32735         make smie.el respect prog-first-column
32737         * lisp/emacs-lisp/smie.el (smie-indent-bob): Call prog-first-column.
32739 2017-04-05  Tom Tromey  <tom@tromey.com>
32741         change viper to use derived-mode-p
32743         * lisp/subr.el (provided-mode-derived-p): New function.
32744         (derived-mode-p): Use it.
32745         * lisp/emulation/viper.el (viper-mode): Use derived-mode-p.
32746         (this-major-mode-requires-vi-state): Use provided-mode-derived-p.
32747         (set-viper-state-in-major-mode): Use derived-mode-p.
32749 2017-04-05  Tom Tromey  <tom@tromey.com>
32751         change align to use derived-mode-p
32753         * lisp/align.el (align-region): Use derived-mode-p.
32755 2017-04-05  Tom Tromey  <tom@tromey.com>
32757         change org to use derived-mode-p
32759         * lisp/org/org-list.el (org-list-insert-radio-list): Use
32760         derived-mode-p.
32761         * lisp/org/org-table.el (orgtbl-setup, orgtbl-toggle-comment): Use
32762         derived-mode-p.
32764 2017-04-05  Tom Tromey  <tom@tromey.com>
32766         change semantic to use derived-mode-p
32768         * lisp/cedet/semantic.el (semantic-new-buffer-fcn): Use derived-mode-p.
32770 2017-04-05  Tom Tromey  <tom@tromey.com>
32772         change calc to use derived-mode-p
32774         * lisp/calc/calc-embed.el (calc-embedded-find-modes)
32775         (calc-embedded-make-info): Use derived-mode-p.
32777 2017-04-05  Tom Tromey  <tom@tromey.com>
32779         change auto-insert to use derived-mode-p
32781         * lisp/autoinsert.el (auto-insert): Use derived-mode-p.
32783 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
32785         * lisp/info.el (Info-search): Fix typo in April 1 change.
32787 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
32789         Minor cleanups related to type-of
32791         * src/data.c (Frecordp): Rename from Frecordp_p, for consistency.
32792         * src/data.c (syms_of_data):
32793         * src/frame.c (syms_of_frame): Put all the primitive type names
32794         together, under the "Types that type-of returns" comment.
32796 2017-04-05  Glenn Morris  <rgm@gnu.org>
32798         * doc/lispref/package.texi (Package Archives): Mention https.
32800 2017-04-05  Glenn Morris  <rgm@gnu.org>
32802         Advertise https for homepage of gnu.org packages
32804         * lisp/emacs-lisp/package.el (describe-package-1):
32805         Use https, if supported, for the homepage of packages on gnu.org.
32807 2017-04-05  Glenn Morris  <rgm@gnu.org>
32809         Default to https for elpa.gnu.org if gnutls available
32811         * lisp/emacs-lisp/package.el (package-archives):
32812         Default to https for elpa.gnu.org if gnutls is available.  Ref:
32813         https://lists.gnu.org/r/emacs-devel/2015-05/msg00130.html
32815 2017-04-04  Paul Eggert  <eggert@cs.ucla.edu>
32817         Minor simplifications and doc for records
32819         * doc/lispref/records.texi (Records): Mention size limit.
32820         * etc/NEWS: Mention records.
32821         * src/alloc.c (allocate_pseudovector, allocate_record):
32822         Prefer 'PSEUDOVECTOR_SIZE_MASK' to its definiens.
32823         (allocate_record): Check arg range here, not in callers, as this
32824         simplifies the code.  Use allocate_vectorlike instead of
32825         allocate_vector, to avoid duplicate runtime tests.
32826         (Fmake_record, record): Don't mention PSEUDOVECTOR_SIZE_BITS in
32827         the doc string, as it is not visible to the user.
32828         (Fmake_record, record, Fcopy_record):
32829         Prefer make_lisp_ptr to XSETVECTOR.
32830         (record): Broaden memcpy to copy the type, too.
32832 2017-04-04  Eli Zaretskii  <eliz@gnu.org>
32834         Fix recent changes in record data type
32836         * src/alloc.c (Fmake_record, Frecord, Fcopy_record): Avoid
32837         compiler warnings when 'ptrdiff_t' is narrower than 'long int'.
32839 2017-04-04  Philipp Stephani  <phst@google.com>
32841         Make subprocess functions resolve the default directory
32843         `call-process' doesn't respect file name handlers in
32844         `default-directory', so `file-name-non-special' has to resolve them
32845         for `process-file', `start-file-process', and
32846         `shell-command' (Bug#25949).
32848         * lisp/files.el (file-name-non-special): Also resolve default
32849         directory for 'process-file', 'start-file-process', and
32850         'shell-command'.
32851         * test/lisp/files-tests.el
32852         (files-tests--file-name-non-special--subprocess): Add unit test.
32854 2017-04-04  Philipp Stephani  <phst@google.com>
32856         Make ediff handle remote and quoted file names
32858         Quoted file names need to be unquoted before passed to
32859         subprocesses (Bug#25950).
32861         * lisp/vc/ediff-diff.el (ediff-exec-process): Handle remote and quoted
32862         file names.
32863         * test/lisp/vc/ediff-diff-tests.el
32864         (ediff-diff-tests--ediff-exec-process--quoted-file): Add unit test.
32866 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
32868         Backward compatibility with pre-existing struct instances.
32870         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
32871         (cl-old-struct-compat-mode): New minor mode.
32873         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
32874         cl-struct-define to signal use of record objects.
32876         * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
32877         cl-struct-define): Enable legacy defstruct compatibility.
32879         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
32880         old-struct): New tests.
32882         * doc/lispref/elisp.texi, doc/lispref/records.texi: Document
32883         `old-struct-compat'.
32885 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
32887         Make the URL library use records.
32889         * lisp/url/url.el, lisp/url/url-cache.el, lisp/url/url-dav.el,
32890         lisp/url/url-expand.el, lisp/url/url-file.el, lisp/url/url-imap.el,
32891         lisp/url/url-ldap.el: Use `url-p' instead of `vectorp'.
32893         * lisp/url/url-http.el (url-http): Check for type `url' instead of
32894         `vector'.
32896 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
32898         Make EIEIO use records.
32900         * lisp/emacs-lisp/eieio-compat.el
32901         (eieio--generic-static-object-generalizer): Adjust to new tags.
32903         * lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
32904         directly as tag.
32905         (eieio--object-class): Adjust to new tag representation.
32906         (eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
32907         (eieio-defclass-internal): Use `make-record'.
32908         (eieio--generic-generalizer): Adjust generalizer code accordingly.
32910         * lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.
32912         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
32913         Add `recordp'.
32915         * doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.
32917 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
32919         Make cl-defstruct use records.
32921         * lisp/emacs-lisp/cl-extra.el (cl--describe-class)
32922         (cl--describe-class-slots): Use the new `type-of'.
32924         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
32925         (cl--generic-struct-specializers): Adjust to new tag.
32927         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
32928         Use the type symbol as the tag.  Use copy-record to copy structs.
32929         (cl--defstruct-predicate): New function.
32930         (cl--pcase-mutually-exclusive-p): Use it.
32931         (cl-struct-sequence-type): Can now return `record'.
32933         * lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
32934         code to new format.
32935         (cl--struct-register-child): Work with records.
32936         (cl-struct-define): Don't touch the tag's symbol-value and
32937         symbol-function slots when we use the type as tag.
32939         * lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.
32941         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
32942         New test.
32944         * doc/lispref/records.texi, doc/misc/cl.texi: Update for records.
32946 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
32948         Add record objects with user-defined types.
32950         * src/alloc.c (allocate_record): New function.
32951         (Fmake_record, Frecord, Fcopy_record): New functions.
32952         (syms_of_alloc): defsubr them.
32953         (purecopy): Work with records.
32955         * src/data.c (Ftype_of): Return slot 0 for record objects, or type
32956         name if record's type holds class.
32957         (Frecordp): New function.
32958         (syms_of_data): defsubr it.  Define `Qrecordp'.
32959         (Faref, Faset): Work with records.
32961         * src/fns.c (Flength): Work with records.
32963         * src/lisp.h (prec_type): Add PVEC_RECORD.
32964         (RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions.
32966         * src/lread.c (read1): Add syntax for records.
32968         * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
32969         (print_object): Add syntax for records.
32971         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
32972         New test.
32974         * test/src/alloc-tests.el (record-1, record-2, record-3):
32975         New tests.
32977         * doc/lispref/elisp.texi, doc/lispref/objects.texi,
32978         doc/lispref/records.texi: Add documentation for records.
32980 2017-04-04  Tino Calancha  <tino.calancha@gmail.com>
32982         Fix a test in python-test.el
32984         Fix a test that breaks the test suite when it is run within a
32985         virtual environment.
32986         See following link for details:
32987         https://lists.gnu.org/r/emacs-devel/2017-03/msg00857.html
32988         * test/lisp/progmodes/python-tests.el
32989         (python-shell-calculate-process-environment-7): Bind
32990         python-shell-virtualenv-root to VIRTUAL_ENV when this var is set; otherwise
32991         bind it to '/env'.
32993 2017-04-04  Noam Postavsky  <npostavs@gmail.com>
32995         Throw a `search-failed' derived error in Info search
32997         The original fix for Bug#6106 switched from signaling `search-failed'
32998         to `user-error'.  However, this breaks incremental searching over
32999         multiple nodes because the isearch code doesn't expect a `user-error'.
33001         * src/search.c (syms_of_search): New error, `user-search-failed',
33002         with `user-error' and `search-failed' as parents.
33003         * doc/lispref/errors.texi (Standard Errors): Document it.
33004         * etc/NEWS: Announce it.
33005         * lisp/info.el (Info-search): Use it instead of `user-error' so that
33006         isearch will handle failed searches correctly.
33008 2017-04-03  Michael Albinus  <michael.albinus@gmx.de>
33010         Add Tramp test
33012         * doc/misc/tramp.texi (Remote processes): Fix typo.
33014         * lisp/shell.el (shell): Fix typo.
33016         * lisp/net/tramp.el (tramp-set-connection-local-variables): Simplify.
33018         * test/lisp/net/tramp-tests.el (tramp-test30-explicit-shell-file-name):
33019         New test.
33020         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
33021         (tramp-test31-vc-registered)
33022         (tramp-test32-make-auto-save-file-name)
33023         (tramp-test33-make-nearby-temp-file)
33024         (tramp-test34-special-characters)
33025         (tramp-test34-special-characters-with-stat)
33026         (tramp-test34-special-characters-with-perl)
33027         (tramp-test34-special-characters-with-ls, tramp-test35-utf8)
33028         (tramp-test35-utf8-with-stat, tramp-test35-utf8-with-perl)
33029         (tramp-test35-utf8-with-ls)
33030         (tramp-test36-asynchronous-requests)
33031         (tramp-test37-recursive-load, tramp-test38-unload): Rename.
33033 2017-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
33035         * lisp/ses.el: Silence byte-compiler warnings.
33037         (ses-jump, ses-recalculate-cell, ses-define-local-printer): Silence
33038         byte-compiler warnings.
33040 2017-04-02  Glenn Morris  <rgm@gnu.org>
33042         Belated fixes for admin.el's M-x make-manuals-dist
33044         * admin/admin.el (make-manuals-dist-output-variables): Additions.
33045         (make-manuals-dist--1): Also copy docstyle.texi.
33047 2017-04-02  Paul Eggert  <eggert@cs.ucla.edu>
33049         Fix bugs in simplified test dependencies
33051         Problem reported by Glenn Morris in:
33052         https://lists.gnu.org/r/emacs-devel/2017-04/msg00017.html
33053         * test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
33054         (TESTS): Omit unnecessary patsubst.
33055         (test_template): Redo dependency heuristic, hopefully
33056         correctly this time.  It's the .log file that depends,
33057         not the phony test target.  Declare the phonies to be PHONY.
33058         Resurrect the exception for the *-tests subdirectory.
33059         Adjust to the fact that leading "./" is omitted now.
33061 2017-04-02  Wilfred Hughes  <me@wilfred.me.uk>
33063         Fix typo in docstring
33065         * lisp/help.el: Fix typo.
33067 2017-04-02  Michael Albinus  <michael.albinus@gmx.de>
33069         Apply connecion-local variables for shells
33071         * doc/misc/tramp.texi (Remote processes): Show use of connection-local
33072         variables.  Don't mention Emacs 23 anymore.
33073         (Frequently Asked Questions): Precise Emacs and MS Windows version.
33075         * lisp/files-x.el (connection-local-normalize-criteria):
33076         Suppress nil properties.
33077         (connection-local-set-profiles, with-connection-local-profiles):
33078         Adapt docstring.
33080         * lisp/shell.el (shell): Apply connecion-local variables.
33082 2017-04-01  Evgeni Kolev  <evgenysw@gmail.com>  (tiny change)
33084         Propertize only perl prototype chars `][$%&*;+@\' as punctuation
33086         This prevents variables in signatures such as `sub add ($a, $b)' from
33087         being treated as punctuation.
33088         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
33089         Strictly match only prototype characters as punctuation.  (Bug#26037)
33091 2017-04-01  Tom Tromey  <tom@tromey.com>
33093         fix two js-mode syntax propertization bugs
33095         Bug#26070:
33096         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): Add
33097         zero-or-one to regular expression.
33098         (js-syntax-propertize-regexp): Update.  Propertize body of regexp
33099         literal up to END.
33100         * test/lisp/progmodes/js-tests.el (js-mode-propertize-bug-1)
33101         (js-mode-propertize-bug-2): New tests.
33103 2017-04-01  Paul Eggert  <eggert@cs.ucla.edu>
33105         Simplify test dependency generation
33107         Generate default dependencies by using GNU extensions to ‘make’
33108         rather than via a hacky auxiliary program and script.
33109         * .gitignore: Remove test/make-test-deps.mk.
33110         * test/Makefile.in (ELFILES, LOGFILES, TESTS):
33111         Use :=, not =, to avoid multiple redundant invocations of ‘find’.
33112         (test_template): Infer dependency directly instead of via
33113         make-test-deps.mk.
33114         (check-doit): Prepend ‘@’ to avoid excessively long ‘make’ output.
33115         (clean): No need to clean make-test-deps.mk.
33116         (make-test-deps.mk): Remove rule.
33117         * test/make-test-deps.emacs-lisp: Remove.
33119 2017-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
33121         * test/lisp/emacs-lisp/cl-lib-tests.el: Improve symbol-macrolet tests
33123         (cl-lib-symbol-macrolet): Fix last test so it doesn't break the whole
33124         test suite.
33125         (cl-lib-symbol-macrolet-2): New test.
33127 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
33129         Use only posix options in a ediff-ptch test
33131         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
33132         Use just "-b" patch option.  Don't assume a particular suffix for
33133         the backup files.
33135 2017-04-01  Jarno Malmari  <jarno@malmari.fi>
33137         Initial implementation of HTTP Digest qop for url
33139         This also refactors digest authentication functions in url-auth.el.
33141         * lisp/url/url-auth.el (url-digest-auth, url-digest-auth-create-key):
33142         (url-digest-auth-build-response, url-digest-auth-directory-id-assoc):
33143         (url-digest-auth-name-value-string, url-digest-auth-source-creds):
33144         (url-digest-cached-key, url-digest-cache-key, url-digest-find-creds):
33145         (url-digest-find-new-key, url-digest-prompt-creds): Add new functions
33146         to simplify code and aid in unit testing.
33147         (url-digest-auth-build-response): Hook up new functionality, or fall
33148         back to previous.
33149         (url-digest-auth-make-request-digest-qop):
33150         (url-digest-auth-make-cnonce, url-digest-auth-nonce-count):
33151         (url-digest-auth-name-value-string): Add new helper functions.
33152         * test/lisp/url/url-auth-tests.el (url-auth-test-colonjoin):
33153         (url-auth-test-digest-ha1, url-auth-test-digest-ha2):
33154         (url-auth-test-digest-request-digest): Add a few tests as now more
33155         features are testable via intermediate functions.
33156         (url-auth-test-challenges, url-auth-test-digest-request-digest): Test
33157         the new implementation.  Parts of these were accidentally already
33158         merged in the past.
33160 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
33162         Tweak ediff-ptch test in previous commit a bit more
33164         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
33165         Apply patches without requiring a shell.  Add some comments.
33167 2017-03-31  Glenn Morris  <rgm@gnu.org>
33169         Tweak an ediff-ptch test
33171         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
33172         Add skip conditions.  Avoid going through shell where not needed.
33174 2017-03-31  Michael Albinus  <michael.albinus@gmx.de>
33176         * lisp/net/tramp-smb.el (tramp-smb-errors):
33178         Add "NT_STATUS_PASSWORD_MUST_CHANGE".
33180 2017-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>
33182         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet): New test.
33184 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
33186         dired-mark-suffix: New command
33188         Now dired-mark-extension prepends '.' to extension when not present.
33189         Add command dired-mark-suffix to preserve the previous
33190         behavior (Bug#25942).
33191         * lisp/dired-x.el (dired-mark-suffix): New command;
33192         mark files ending in a given suffix.
33193         (dired--mark-suffix-interactive-spec): New defun.
33194         (dired-mark-extension, dired-mark-suffix): Use it.
33195         * doc/misc/dired-x.texi (Advanced Mark Commands): Update manual.
33196         * test/lisp/dired-x-tests.el: New test suite; add test for these features.
33198 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
33200         default-directory: Remark that it must be a directory name
33202         * src/buffer.c (default-directory): Update docstring (Bug#26272).
33204 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
33206         Delete confuse statement in manual
33208         * doc/misc/cl.texi (For Clauses): Delete confuse statement
33209         and its example (Bug#23550).
33211 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
33213         Use find -delete if available
33215         This shortens the ‘make’ output and should avoid some
33216         repetitive scanning of directories during a build.
33217         * configure.ac (FIND_DELETE): New var.
33218         * lisp/Makefile.in (compile-always, bootstrap-clean):
33219         * test/Makefile.in (clean, bootstrap-clean): Use it.
33220         * test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.
33222 2017-03-31  Mark Oteiza  <mvoteiza@udel.edu>
33224         Remove gnus-boundp
33226         * lisp/gnus/gnus-start.el (gnus-display-time-event-handler): Use
33227         bound-and-true-p.
33228         * lisp/gnus/gnus-util.el (gnus-boundp): Remove.
33230 2017-03-31  Niels Möller  <nisse@lysator.liu.se>  (tiny change)
33232         Stop `fixup-whitespace' adding trailing whitespace (Bug#18783)
33234         * lisp/simple.el (fixup-whitespace): Insert no spaces if point is at
33235         end of line after deleting horizontal whitespace.
33237 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
33239         * src/inotify.c (add_watch): Add comment.
33241 2017-03-31  Andreas Politz  <politza@hochschule-trier.de>
33243         Minor filenotify.el fixes
33245         * lisp/filenotify.el: Require subr-x.
33246         (file-notify-callback): Use equal, not eq.
33248 2017-03-31  Noam Postavsky  <npostavs@gmail.com>
33250         Improve packaging documentation
33252         * doc/lispref/package.texi (Packaging Basics):
33253         * doc/lispref/tips.texi (Library Headers): Clarify some header
33254         formats, relation between file headers and package
33255         attributes (Bug#13281).
33257 2017-03-31  John Mastro  <john.b.mastro@gmail.com>
33259         Fix a small incompatibility in ibuffer
33261         Translate nil values from column functions to the empty string, so that
33262         subsequent calls to string-width don't signal an error (Bug#26317).
33263         * lisp/ibuffer.el (ibuffer-compile-format): If a column function returns
33264         nil, treat it like the empty string.
33266 2017-03-30  Alan Mackenzie  <acm@muc.de>
33268         Fix C++ fontification problems 500 bytes after typing a space, and other bugs
33270         Also implement the "asymmetric space" rule for fontifying otherwise
33271         ambiguous
33272         declarations/expressions.
33274         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Don't set
33275         c-new-BEG or c-new-END when there is no need.
33276         (c-forward-decl-or-cast-1): Add "CASE 17.5" to implement the "asymmetric
33277         space" rule.
33279         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): New function,
33280         extracted from c-font-lock-declarations.  Add to this function processing to
33281         make `context' 'decl for lines contained within parens when these are also
33282         declarations.
33283         (c-font-lock-declarations): Call the newly extracted function above in place
33284         of inline code.
33286         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Set point before calling
33287         c-literal-start.
33289         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag): New user option.
33291         * doc/misc/cc-mode.texi (Misc Font Locking): New node documenting the new
33292         "asymmetric fontification" rule, including the variable
33293         c-asymmetric-fontification-flag.
33295 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
33297         Some inotify cleanup
33299         This catches some problems with integer overflow and races
33300         that I noticed in inotify.c after reviewing the changes
33301         installed to fix Bug#26126.
33302         * src/fns.c, src/lisp.h (equal_no_quit): Now extern.
33303         * src/inotify.c (aspect_to_inotifymask):
33304         Check for cycles and for improper lists.
33305         (make_lispy_mask, lispy_mask_match_p): Remove.
33306         All callers changed to use INTEGER_TO_CONS and CONS_TO_INTEGER.
33307         (inotifyevent_to_event, add_watch):
33308         Don’t assume watch descriptors and cookies fit in fixnums.
33309         (add_watch): Use assoc_no_quit, not Fassoc.
33310         Avoid integer overflow in (very!) long-running processes where
33311         the Emacs watch ID could overflow.  Avoid some duplicate code.
33312         (find_descriptor): New function.
33313         (remove_descriptor): First arg is now the returned value from
33314         find_descriptor, rather than the descriptor.  This way, the
33315         value can be removed without calling Fdelete, which might quit.
33316         Wait until the end (when watch_list is consistent) before signaling
33317         any errors.
33318         (remove_watch, inotify_callback):
33319         Use find_descriptor to avoid the need for Fdelete.
33320         (inotify_callback): Use simpler tests for ioctl failure.
33321         Free temporary buffer if signaled, and put it on the stack if small.
33322         Use ssize_t to index through read results, to avoid a cast.
33323         (valid_watch_descriptor): New function, with a tighter check.
33324         (Finotify_rm_watch, Finotify_valid_p): Use it.
33325         (Finotify_valid_p): Use assoc_no_quit and ass_no_quit instead
33326         of Fassoc.  Do not assume the first assoc succeeds.
33327         * test/src/inotify-tests.el (inotify-valid-p-simple):
33328         Add inotify-valid-p tests, some of which dump core without
33329         the fixes noted above.
33331 2017-03-30  Michael Albinus  <michael.albinus@gmx.de>
33333         * lisp/net/tramp-sh.el (tramp-get-remote-locale): Add "C.UTF-8" as candidate.
33335 2017-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
33337         * lisp/cedet/semantic/wisent/wisent.el (wisent-automaton-p): Use obarrayp.
33339 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
33341         Fix assoc_no_quit so that it does not quit
33343         The problem was that it called Fequal, which can quit.
33344         * src/fns.c (enum equal_kind):
33345         New enum, to be used in place of a boolean.
33346         (equal_no_quit): New function.
33347         (Fmemql, Feql): Use it to compare floats, as a minor tuneup.
33348         (assoc_no_quit): Use it to avoid quitting, the main point here.
33349         (internal_equal): Generalize bool to enum equal_kind arg, so that
33350         there are now 3 possibilities instead of 2.  Do not signal an
33351         error if EQUAL_NO_QUIT.  Put the arg before the depth, since depth
33352         should be irrelevant if the arg is EQUAL_NO_QUIT.  All callers
33353         changed.
33355 2017-03-29  Alan Mackenzie  <acm@muc.de>
33357         Amend gitmerge to recognize the injunction "don't merge".
33359         * admin/gitmerge.el (gitmerge-skip-regexp): amend regexp to match "don't" as
33360         well as "do not".
33362 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
33364         Add one more CSS pseudo-class
33366         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add
33367         `focus-within'.
33369 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
33371         Update list of CSS pseudo-classes
33373         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Update list of
33374         pseudo-classes.
33376 2017-03-29  Noam Postavsky  <npostavs@gmail.com>
33378         Adjust some search failure errors in info.el
33380         * lisp/info.el (Info-select-node): The search for beginning of node is
33381         an internal detail, and is not normally expected to fail, so it should
33382         not be a user error.
33383         (Info-complete-menu-item): Failing to find a menu indicates the user
33384         searched for a menu when there isn't one, so change to `use-error'.
33386 2017-03-28  Alan Mackenzie  <acm@muc.de>
33388         * lisp/progmodes/cc-defs.el (c-version):  Restore c-version to 5.33
33390 2017-03-28  Paul Eggert  <eggert@cs.ucla.edu>
33392         Don’t mishandle (format "%i" -1.0)
33394         * src/editfns.c (styled_format): Treat %i like %d when converting arg.
33396 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
33398         * lisp/emacs-lisp/ert.el (ert-run-tests): Make INTERACTIVE arg optional.
33400 2017-03-28  Michael Albinus  <michael.albinus@gmx.de>
33402         * src/inotify.c (Finotify_add_watch): aspect can also be a symbol.
33404 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
33406         Don't add `search-failed' to ignored errors in info.el (Bug#6106)
33408         * lisp/info.el: Stop adding `search-failed' to `debug-ignored-errors'.
33409         (Info-select-node, Info-search): Replace (signal 'search-failed ...)
33410         with (user-error "Search failed: "...).
33412 2017-03-27  Paul Eggert  <eggert@cs.ucla.edu>
33414         Fix obsolete ‘test/automated’ references
33416         * Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
33417         (bootstrap-clean, maintainer-clean):
33418         Clean ‘test’, not ‘test/automated’.  Test for existence of
33419         subdirectory only for ‘test’, not for directories that should
33420         always exist.
33421         * admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
33422         * lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
33423         * lisp/man.el (Man-parse-man-k):
33424         * lisp/url/url-domsuf.el, make-dist:
33425         * test/file-organization.org:
33426         Fix obsolete references to test/automated.
33428 2017-03-27  Katsumi Yamaoka  <yamaoka@jpl.org>
33430         shr-image-fetched: Work for narrowed Gnus article
33432         See <8737e3msun.fsf@gmail.com> of bug#26231 in the bug-gnu-emacs list.
33434         * lisp/net/shr.el (shr-image-fetched): Work for narrowed article.
33436 2017-03-27  Michael Albinus  <michael.albinus@gmx.de>
33438         * lisp/net/tramp.el (tramp-file-name-handler): Autoload it.
33440 2017-03-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
33442         Expand manual section on quitting windows
33444         * doc/lispref/windows.texi (Quitting Windows): Provide more
33445           information about the elements of the quit-restore window parameter,
33446           and how they affect the behavior of quit-restore-window.
33448 2017-03-26  Philipp Stephani  <phst@google.com>
33450         Add check for expected backtrace in module calls.
33452         * test/manual/cedet/tests/test.el
33453         (mod-test-non-local-exit-signal-test): Compare actual backtrace to
33454         expected backtrace.
33456 2017-03-26  Eli Zaretskii  <eliz@gnu.org>
33458         Fix redisplay glitches due to recent change in redisplay_internal
33460         * src/xdisp.c (redisplay_internal): A better fix for bug#26097.
33461         See https://lists.gnu.org/r/emacs-devel/2017-03/msg00695.html
33462         for the problems caused by the original fix.
33464 2017-03-26  Michael Albinus  <michael.albinus@gmx.de>
33466         Fix Bug#26258
33468         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
33469         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
33470         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
33471         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
33472         Autoload.  Call `tramp-register-foreign-file-name-handler'.  (Bug#26258)
33474         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Remove.
33475         (tramp-register-autoload-file-name-handlers)
33476         (tramp-register-file-name-handlers): Do not handle
33477         `tramp-autoload-file-name-handler' anymore.  Mark `operations'
33478         the handlers are responsible for.
33479         (tramp-register-foreign-file-name-handler): New defun.
33481 2017-03-26  Noam Postavsky  <npostavs@gmail.com>
33483         Fix docstring of dabbrev-abbrev-char-regexp
33485         * lisp/dabbrev.el (dabbrev-abbrev-char-regexp): Using a value of nil
33486         is equivalent to "\\sw\\|\\s_", and has no special behavior.  If the
33487         previous character doesn't match, we search backwards for one that
33488         does, not throw an error.  Replace Lisp example with C based one to
33489         make it clear that "symbol" means a sequence of word and symbol
33490         constituent characters, not a Lisp symbol (Bug#358).
33492 2017-03-26  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
33494         * doc/misc/cl.texi (Iteration Clauses): Clarify example (Bug#19515).
33496 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
33498         Minor fixes for inotify.c and filenotify.el
33500         * lisp/filenotify.el (file-notify--watch-absolute-filename):
33501         Add docstring.
33502         (file-notify-callback): Simplify.
33504         * src/inotify.c (Finotify_add_watch): Adapt docstring.
33506 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
33508         Fix issues regarding inotify file-notification
33510         Remove special code handling the inotify back-end.
33511         * lisp/filenotify.el (file-notify--watch): New struct
33512         representing a file-watch.
33513         (file-notify-descriptors): Use the new struct as hash-value.
33514         (file-notify-handle-event): Check that event is a cons.
33515         (file-notify--rm-descriptor, file-notify--event-watched-file)
33516         (file-notify--event-file-name, file-notify--event-file1-name)
33517         (file-notify-callback, file-notify-add-watch)
33518         (file-notify-rm-watch, file-notify-valid-p): Use new struct.
33519         Remove special code handling inotify descriptors.  Remove code
33520         handling multiple clients per descriptor.
33521         (file-notify--descriptor): Remove unused function.
33523         Let inotify-add-watch return a unique descriptor on every
33524         call, like every other back-end does (Bug#26126).  Prevent
33525         multiple clients from interfering with each other, when
33526         watching a shared descriptor.
33527         * src/inotify.c (watch_list): Extend the format by including a
33528         id and the provided mask.
33529         (INOTIFY_DEFAULT_MASK): Default mask used for all clients.
33530         (make_watch_descriptor): Removed.
33531         (make_lispy_mask, lispy_mask_match_p): New functions.
33532         (inotifyevent_to_event): Match event against the mask provided
33533         by the client.
33534         (add_watch, remove_descriptor, remove_watch): New functions
33535         for managing the watch_list.
33536         (inotify_callback): Use the new functions.
33537         (Finotify_add_watch, Finotify_rm_watch): Remove deprecated
33538         flags from documentation.  Add check for validity of provided
33539         descriptor.  Use the new functions.  Use the default mask.
33540         (INOTIFY_DEBUG): Add new debug conditional.
33541         (inotify-watch-list, inotify-allocated-p): New debug functions.
33542         (symbol_to_inotifymask, syms_of_inotify): Remove deprecated symbols.
33544         * test/lisp/filenotify-tests.el:
33545         (file-notify-test02-rm-watch): Remove expected failure for inotify.
33547 2017-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
33549         * lisp/emacs-lisp/pcase.el (pcase): Comment debug message (Bug#26177).
33551 2017-03-25  Jens Uwe Schmidt  <ju.schmidt@gmx.de>  (tiny change)
33553         Stop edebug getting stuck on backquote (Bug#23651)
33555         * lisp/emacs-lisp/edebug.el (edebug-read-sexp): Move forward after
33556         reading backquote or comma.
33558 2017-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
33560         Expand manual section on quitting windows
33562         * doc/lispref/windows.texi (Quitting Windows): Provide more
33563           information about the elements of the quit-restore window parameter,
33564           and how they affect the behavior of quit-restore-window.
33566 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
33568         Support in ispell.el multiple dictionaries loaded by Hunspell
33570         * lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
33571         Support Hunspell configurations that load more than one dictionary
33572         by default.  Doc fix.  (Bug#25830)
33574 2017-03-25  Michael Albinus  <michael.albinus@gmx.de>
33576         Simplify Tramp autoloading.
33578         * lisp/net/tramp.el (tramp-completion-file-name-handler):
33579         Simplify autoloading.  Give it the `operations' property.
33580         (tramp-completion-handle-expand-file-name): Remove.
33582 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
33584         Fix a segfault due to failure to realize some faces
33586         * src/xdisp.c (redisplay_internal): If the frame becomes garbaged
33587         while redisplaying its windows, redisplay all of its windows
33588         again.  (Bug#26097)
33589         (init_iterator): When freeing all realized faces on all frames,
33590         reset the 'face_change' flag of the frame whose window we are
33591         about to iterate.
33593 2017-03-25  Philipp Stephani  <phst@google.com>
33595         Use a named function for 'safe-local-variable
33597         This improves the help screen for `version-control' (Bug#25431).
33599         * lisp/files.el (version-control-safe-local-p): New function.
33600         (version-control): Use it.
33602 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
33604         ;* doc/misc/info.texi (Choose menu subtopic): Improve indexing.  (Bug#26236)
33606 2017-03-25  Helmut Eller  <eller.helmut@gmail.com>
33608         Make it easier to abort a series of tests with C-g
33610         * lisp/emacs-lisp/ert.el (ert-run-tests): Add "interactively" arg.  If
33611         interactively is true and a test was aborted then ask if the remaining
33612         tests should be aborted too.
33613         (ert-run-tests-batch, ert-run-tests-interactively): Pass in
33614         interactively arg.
33616 2017-03-24  Paul Eggert  <eggert@cs.ucla.edu>
33618         Don’t require chown/chgrp for game installation
33620         Problem reported by Joseph Mingrone in:
33621         https://lists.gnu.org/r/emacs-devel/2017-03/msg00622.html
33622         * lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or
33623         chgrp fails with update-game-score and the game directory.
33624         Instead, expect the installer to fix this up afterwards.
33626 2017-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
33628         * lisp/emacs-lisp/lisp-mode.el: Don't highlight \( at BOL
33630         (elisp--font-lock-backslash): Extract from lisp-el-font-lock-keywords-2.
33631         Don't highlight \ at BOL.  Don't assume syntax-ppss preserves match-data.
33633 2017-03-23  Philipp Stephani  <phst@google.com>
33635         Protect against an infloop in python-mode
33637         There appears to be an edge case caused by using `syntax-ppss' in a
33638         narrowed buffer during JIT lock inside of Python triple-quote strings.
33639         Unfortunately it is impossible to reproduce without manually
33640         destroying the syntactic information in the Python buffer, but it has
33641         been observed in practice.  In that case it can happen that the syntax
33642         caches get sufficiently out of whack so that there appear to be
33643         overlapping strings in the buffer.  As Python has no nested strings,
33644         this situation is impossible and leads to an infloop in
33645         `python-nav-end-of-statement'.  Protect against this by checking
33646         whether the search for the end of the current string makes progress.
33648         * lisp/progmodes/python.el (python-nav-end-of-statement): Protect
33649         against infloop.
33650         * test/lisp/progmodes/python-tests.el
33651         (python-tests--python-nav-end-of-statement--infloop): Add unit test.
33653 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
33655         * doc/lispref/os.texi (File Notifications):
33657         Strengthen the recommendation to use filenotify.el.
33659 2017-03-23  Paul Eggert  <eggert@cs.ucla.edu>
33661         Merge from gnulib
33663         This incorporates:
33664         2017-03-22 getopt: merge from glibc
33665         * build-aux/config.sub, lib/getopt.c, lib/getopt.in.h:
33666         * lib/getopt1.c, lib/getopt_int.h: Copy from gnulib.
33667         * lib/gnulib.mk.in: Regenerate.
33669 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
33671         Use lexical-bind in Tramp
33673         * lisp/net/tramp*.el: Add lexical-binding cookie.  Move declarations up.
33675         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names): Use `push'
33676         rather than `add-to-list'.
33677         (tramp-adb-get-device): Remove unused variable.
33679         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Remove unused
33680         variable.
33682         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
33683         (tramp-find-file-name-coding-system-alist): Use `push' rather
33684         than `add-to-list'.
33686         * test/lisp/net/tramp-tests.el: Add lexical-binding cookie.
33687         Require 'dired.  Move declarations up.
33688         (tramp-test32-make-nearby-temp-file): Wrap `make-nearby-temp-file'
33689         and `temporary-file-directory' calls with `with-no-warnings'.
33690         (tramp-test35-asynchronous-requests): Mark unused variable.
33692 2017-03-23  Kaushal Modi  <kaushal.modi@gmail.com>
33693             Noam Postavsky  <npostavs@gmail.com>
33695         Do not include comment start chars in ffap string
33697         * lisp/ffap.el (ffap-string-at-point): If the point is in a comment,
33698         ensure that the returned string does not contain the comment start
33699         characters (especially for major modes that have '//' as comment start
33700         characters).  Otherwise, in a major mode like c-mode, with `ido-mode'
33701         enabled and `ido-use-filename-at-point' set to `guess', doing "C-x
33702         C-f" on a "//foo" comment will initiate an attempt to access a path
33703         "//foo" (Bug#24057).
33705 2017-03-23  Martin Rudalics  <rudalics@gmx.at>
33707         c:/Temp/gtk-window-move/ChangeLog.txt
33709 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
33711         Fix filenotify.el issue for kqueue
33713         * lisp/filenotify.el (file-notify-add-watch): Use directory
33714         for remote file name handlers.
33716         * test/lisp/filenotify-tests.el (file-notify-test01-add-watch):
33717         Create/delete temporary file only for "kqueue".
33718         (file-notify-test02-rm-watch): Create/delete temporary files.
33720 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
33722         Extend `file-notify-test02-rm-watch'
33724         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
33725         Expect it failed for inotify.  Divide tests into different
33726         `unwind-protect' clauses.  Check, that removing watch
33727         descriptors out of order do not harm.  (Bug#26126)
33729 2017-03-22  Noam Postavsky  <npostavs@gmail.com>
33731         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-subsexp): Test for Bug#26187
33733 2017-03-22  Graham Dobbins  <gdobbins@protonmail.com>  (tiny change)
33735         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Fix null endpos case
33737 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
33739         Improve configure --with-pop etc. diagnostics
33741         * configure.ac: Improve diagnostics re --with-pop and
33742         --with-mailutils (Bug#26102).
33744 2017-03-21  Eli Zaretskii  <eliz@gnu.org>
33746         Revert "Make --without-pop the default."
33748         This reverts commit 9319de675e395517f9a7b50cae1a3aad9cd0abc2.
33750 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
33752         Don’t remove dependency files when configuring
33754         Problem reported by Tom Tromey in:
33755         https://lists.gnu.org/r/emacs-devel/2017-03/msg00533.html
33756         * configure.ac: Don’t remove */*.o and */deps/* when
33757         --enable-autodepend is in effect.
33759 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
33761         Make --without-pop the default.
33763         Suggested by Angelo Graziosi in:
33764         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
33765         * configure.ac: Change the default from --with-pop to
33766         --without-pop.  Adjust diagnostics to match.
33768 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
33770         Streamline dependency-file generation
33772         * configure.ac (AUTODEPEND_PARENTS): New var.
33773         mkdir the dependency directories here, to simplify ‘make’.
33774         Remove dependency files just before outputting Makefiles, so that
33775         they are preserved if ‘configure’ exits early due to some other problem.
33776         * lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in:
33777         * src/Makefile.in: Adjust deps strategies to be similar, as follows:
33778         (MKDEPDIR): Remove.  All uses removed.  This cuts down on the
33779         number of processes spun off by ‘make’.
33780         (clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself.
33781         (distclean): Remove $(DEPDIR) itself.
33782         * lwlib/Makefile.in (all): Move to front, so that depdir includes
33783         do not alter default action.
33785 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
33787         Port and simplify example sh script
33789         * doc/misc/org.texi (noweb-ref): Simplify shell script example and
33790         don’t use ‘tail -1’, which is not portable.
33792 2017-03-21  Noam Postavsky  <npostavs@gmail.com>
33794         Narrow scope of modification hook renabling in org-src fontification
33796         Modification hooks should be enabled while modifying text in the
33797         org-src temp buffer, but in 2017-01-29 "Call modification hooks in
33798         org-src fontify buffers" the hooks were enabled also for modifications
33799         to the original org buffer.  This causes fontification errors when
33800         combined with certain packages, as reported in
33801         https://lists.gnu.org/r/emacs-orgmode/2017-03/msg00420.html.
33803         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
33804         of inhibit-modification-hooks let-binding.
33806 2017-03-21  Tino Calancha  <tino.calancha@gmail.com>
33808         epatch: Save right backups in Git multipatches
33810         Multipatches on N Git files save wrong backups for
33811         N-1 files; only the last one has a correct backup (Bug#26084).
33812         * lisp/vc/diff-mode.el (diff-file-junk-re): Add 'Prereq: '
33813         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Use 'diff-file-junk-re'.
33814         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug25010):
33815         Rename from ibuffer-test-bug25010.
33816         (ediff-ptch-test-bug26084): New test.
33818 2017-03-21  Michael R. Mauger  <michael@mauger.com>
33820             * lisp/progmodes/sql.el: Version 3.6
33822             (sql-login-params): Added :must-match for completition of
33823             `server' and `database' login parameters.
33824             (sql-sqlite-login-params, sql-postgres-login-params): Set
33825             :must-match to `confirm'.
33826             (sql-get-login-ext): Use :must-match value to control
33827             `read-file-name' or `completing-read'.
33828             (sql-connect): Added optional BUF-NAME parameter; Reworked
33829             connection variable processing; Pass buffer name to
33830             `sql-product-interactive'.
33831             (sql-product-interactive): Pass buffer name along.
33832             (sql-comint): Add optional BUF-NAME and calculate reasonable default.
33833             (sql-comint-oracle, sql-sybase-comint, sql-comint-informix)
33834             (sql-comint-sqlite, sql-comint-mysql, sql-comint-solid)
33835             (sql-comint-ingres, sql-comint-ms, sql-comint-postgres)
33836             (sql-comint-interbase, sql-comint-db2, sql-comint-linter)
33837             (sql-comint-vertica): Add optional BUF-NAME, pass to
33838             `sql-comint'.
33839             (sql-oracle--list-oracle-name): New function.
33840             (sql-oracle-list-all): Use it.
33841             (sql-oracle-completion-object): Enhanced.
33843 2017-03-20  Vincent Belaïche  <vincentb1@users.sourceforge.net>
33845         Solve ses-recalculate-cell updating only current line bug.
33847         * lisp/ses.el (ses-recalculate-cell): Add optional argument
33848         ses--curcell to avoid overwriting ses--curcell when function is
33849         called from ses-recalculate-all.  Update docstring accordingly.
33850         (ses-recalculate-all): Call ses-recalculate-cell with argument
33851         ses--curcell to avoid its overwriting.
33853 2017-03-20  Paul Eggert  <eggert@cs.ucla.edu>
33855         Fix problem with out-of-date dependencies
33857         Problem reported by Robert Marshall in:
33858         https://lists.gnu.org/r/emacs-devel/2017-03/msg00501.html
33859         Although this problem has been with us for a while, the recent
33860         change from Automake to GNU Make exposed it again.
33861         * configure.ac (AUTO_DEPEND): When autodepending, clean out any
33862         leftover dependency and object files, since the previous sources'
33863         dependencies may disagree with the current ones.  Reconfiguring
33864         typically needs to force a rebuild anyway.
33866 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
33868         Simpler filter implementation
33870         * lisp/play/dunnet.el (dun-endgame-question): Get or set
33871         dun-endgame-questions one time only.  Use dolist and an index to
33872         prune the list.
33874 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
33876         * lisp/button.el (forward-button): Use user-error instead.
33878 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33880         Merge from gnulib
33882         This gets Emacs working again with HP-UX Itanium cc.
33883         It incorporates:
33884         2017-03-19 stdalign: tweak version# and test for HP-UX IA64
33885         2017-03-18 stdalign: restore previous behavior for HP-UX IA64
33886         2017-03-17 stat-time, timespec: Support header files in C++ mode
33887         2017-03-17 stdalign: Make it work with HP-UX cc
33888         2017-03-17 flexmember: try to detect HP-UX 11.31 cc bug
33889         2017-03-16 stdint: Fix test compilation failure with HP-UX 11 cc.
33890         2017-03-14 gnulib-tool: don't produce tests with only snippets
33891         2017-03-14 limits-h: Make it work with HP-UX cc.
33892         * etc/PROBLEMS: Remove now-obsolete entry for HP-UX 11.31.
33893         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
33894         * lib/limits.in.h, lib/stat-time.h, lib/stdalign.in.h:
33895         * lib/stdint.in.h, lib/timespec.h, m4/flexmember.m4, m4/stdalign.m4:
33896         Copy from gnulib.
33898 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33900         * ChangeLog.2: Merge from emacs-25.
33902 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33904         Fixups after merge from emacs-25
33906         * etc/NEWS: Remove stray entry.
33907         * etc/NEWS.25: Copy from Emacs emacs-25 etc/NEWS.
33908         * lisp/textmodes/rst.el (rst-package-emacs-version-alist):
33909         Make it nondecreasing.
33911 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33913         Merge from origin/emacs-25
33915         d71e071 Improve documentation of interactive "r".
33917 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33919         Merge from origin/emacs-25
33921         a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
33922         1925dd9 Fix duplicate wording in Emacs manual
33923         6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A...
33924         2d671fd Fix wording in Emacs manual
33925         a8766a2 Document how to customize input methods
33926         6eb8995 * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
33927         aceac95 Fix warning message about native completion (Bug#25984)
33928         a314c1f Clarify documentation of 'raise' and 'height' display specs
33929         f366f6e Mention problems with GPaste in PROBLEMS
33930         6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug...
33931         6406618 Fix doc strings in info.el
33932         c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change.
33933         eed9677 Fix doc string of 'posn-at-point'
33934         0d5957e Documentation fix in elisp reference manual
33936 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33938         Merge from origin/emacs-25
33940         ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
33941         2b774fa Mention "editor" in Emacs man page header
33942         ae60d0c Document problems with nerd-fonts
33943         2fdb5a9 ; Details about pinning Emacs to w32 task bar
33944         5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
33945         4c51ef4 Clarify what is the "cursor"
33946         8303c32 ; * etc/NEWS: Copyedits.
33947         3f7493e ; Fix a typo in comment
33948         c54cf8d Improve commentary in lisp.h
33949         8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
33950         0ba9932 Disable native completion for ipython (Bug#25067)
33951         38fc456 Fix a typo in ada-mode manual
33952         00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
33953         a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...
33955         # Conflicts:
33956         #       etc/NEWS
33957         #       etc/PROBLEMS
33959 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33961         Merge from origin/emacs-25
33963         02d9ad8 * admin/make-tarball.txt: Add documentation regarding the rel...
33965 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33967         Merge from origin/emacs-25
33969         e1171de * CONTRIBUTE (Documenting your changes): Index new vars/comma...
33971 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33973         Merge from origin/emacs-25
33975         ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
33976         7e02a47 Index byte-compile-debug
33977         7c1e598 Document `byte-compile-debug' in the ELisp manual
33978         4d81eb4 Document variable `byte-compile-debug'
33979         72ef710 Fix call to debugger on assertion failure
33980         ae8264c Call modification hooks in org-src fontify buffers
33981         b3139da ; Fix last change in doc/lispref/strings.texi
33982         c331f39 Improve documentation of 'format' conversions
33983         9f52f67 Remove stale functions from ert manual
33984         c416b14 Fix a typo in Eshell manual
33985         06695a0 ; Fix a typo in ediff-merg.el
33986         954e9e9 Improve documentation of hooks related to saving buffers
33987         9fcab85 Improve documentation of auto-save-visited-file-name
33988         2236c53 fix typo in mailcap-mime-extensions
33989         85a3e4e Fix typos in flymake.el
33990         a1ef10e More NEWS checking for admin.el's set-version
33992         # Conflicts:
33993         #       lisp/emacs-lisp/bytecomp.el
33995 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33997         Merge from origin/emacs-25
33999         5569e64 ; Spelling fixes
34000         24a5f57 * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (...
34001         9b89896 * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
34002         69b50f5 * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#2...
34003         42eae54 Improve documentation of dabbrevs
34004         b0ade0d Clarify that easy-menu-add is a nop (Bug#25382)
34005         3c69f2c * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fi...
34007         # Conflicts:
34008         #       lisp/textmodes/rst.el
34010 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
34012         Merge from origin/emacs-25
34014         0e35405 Improve documentation of coding-systems
34015         c2fd04c Improve definition of 'variable-pitch' face on MS-Windows
34016         16fb50d Fix an error message in python.el
34017         a2a2073 Clarify major mode switching
34018         fc38671 Add helpful comment to compile-command's docstring
34019         ee65d85 Fix ':version' of 'select-enable-primary'
34021 2017-03-19  Paul Pogonyshev  <pogonyshev@gmail.com>
34023         Fix bug in generator function with pcase (Bug#26068)
34025         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove some calls
34026         to symbol-name.
34028 2017-03-19  Alan Mackenzie  <acm@muc.de>
34030         Fix chaotic indentation of C++ lambda.  Enhance documentation thereof
34032         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): qualify an
34033         invocation of c-on-identifier with a check we're not at the _end_ of an
34034         identifier.
34036         * doc/misc/cc-mode.texi: (Tex title page): Remove @subtitlefont because the
34037         perl versions of texi2dvi haven't implemented it.
34038         (Syntactic Symbols): Note that `inlambda' is also used in C++ Mode, not just
34039         in Pike Mode.
34040         (Statement Block Symbols): Add a section illustrating a C++ lambda function.
34041         (FAQ): Add a question about "excessive" indentation of the contents of a C++
34042         lambda function, and how to get rid of it.
34044 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
34046         Remove unused vars in cl-extra.el and tramp.el.
34048         * lisp/emacs-lisp/cl-extra.el (cl--print-table): Remove unused vars.
34050         * lisp/net/tramp.el (tramp-dissect-file-name): Remove unused `match'.
34051         (outline-regexp, ls-lisp-use-insert-directory-program): Declare.
34052         (tramp-find-foreign-file-name-handler): Mark unused arg, remove unused `v`.
34054 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
34056         Improve describe-symbol's layout of slots when describing types
34058         * lisp/emacs-lisp/cl-extra.el (cl--print-table): New function.
34059         (cl--describe-class-slots): Use it.
34061 2017-03-18  Michael Albinus  <michael.albinus@gmx.de>
34063         Fix Bug#26156
34065         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist):
34066         <expand-file-name>: Remove handler.  (Bug#26156)
34068 2017-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
34070         * lisp/obarray.el (obarray-size): Avoid compiler warning.
34072 2017-03-18  Eli Zaretskii  <eliz@gnu.org>
34074         Fix last change in lib/Makefile.in
34076         * lib/Makefile.in (srcdir): Define, as including
34077         $(srcdir)/../nt/gnulib-cfg.mk needs that.
34079 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
34081         * configure.ac: Fix typo in diagnostic.
34083 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
34085         Port out-of-source builds to windows-nt
34087         Problem reported by Angelo Graziosi in:
34088         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
34089         * lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
34090         to handle out-of-source builds if windows-nt.
34092 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
34094         MS-Windows followup for switch from Automake
34096         * nt/INSTALL:
34097         * nt/INSTALL.W64: Remove references to Automake.  (Bug#26100)
34099 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
34101         Improve documentation of interactive "r".
34103         * doc/lispref/commands.texi (Interactive Codes): Mention that mark
34104         must be set for "r" to work.
34106 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
34108         Fixups for GNU Make switchover
34110         This fixes some minor problems introduced in the recent switch to GNU
34111         Make, discovered by further testing.  Without some of these changes
34112         'make -j' would sometimes have race conditions caused by missing
34113         dependencies.  (Bug#26100)
34114         * .gitignore: Remove src/stamp-h.in, src/stamp-h1.
34115         * Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
34116         src/config.in, since the former's timestamp now represents
34117         the latter's.
34118         ($(srcdir)/configure): Use plain ./autogen.sh, for consistency
34119         with other autogen.sh invocations.
34120         ($(srcdir)/src/stamp-h.in):
34121         Remove rule, as this file is no longer created.
34122         * Makefile.in (top_distclean):
34123         * src/Makefile.in (bootstrap-clean):
34124         No need to remove stamp-h1, as that was an Automake byproduct
34125         and Automake is no longer in use.
34126         * lib/Makefile.in, src/Makefile.in:
34127         (AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
34128         (../config.status, Makefile): Simplify by limiting dependencies
34129         to files we care about and files in the repository, and by
34130         using just one file to represent the timestamps on multiple
34131         targets updated by the same rule.
34132         * autogen.sh: Do not create or use src/stamp-h.in.
34133         Instead, have 'find' test the two output files directly.
34135 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
34137         Switch from Automake to GNU Make
34139         Emacs assumes GNU Make, and GNU Make has much of the functionality of
34140         Automake built-in.  The Emacs build process uses Automake primarily
34141         because Emacs uses some Gnulib code and Gnulib formerly required
34142         Automake.  Now that Gnulib no longer requires Automake, Emacs can
34143         stop using Automake and this should simplify Emacs maintenance
34144         in the future (Bug#26100).  Although this patch may look long, most of
34145         it is generated automatically: the changes to build-aux/config.guess,
34146         build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
34147         all done by admin/merge-gnulib.
34148         * .gitignore: Remove build-aux/ar-lib, build-aux/compile,
34149         build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
34150         build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
34151         as they are no longer built by autogen.sh.
34152         Add lib/gnulib.mk, as it is now built by 'configure'.
34153         Remove nt/gnulib.mk, as it is no longer built by 'make'.
34154         * INSTALL.REPO, README, admin/make-tarball.txt:
34155         Remove mention of Automake.
34156         * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
34157         (AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
34158         ($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
34159         ($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
34160         Remove.
34161         ($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
34162         ($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
34163         ($(srcdir)/src/config.in):
34164         Use autogen.sh instead of doing it by hand.
34165         * admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
34166         New vars, to simplify processing of avoided modules.
34167         (GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
34168         Add --gnu-make, and change makefile name to gnulib.mk.in.
34169         Copy config.guess, config.sub, and install-sh too, since
34170         Automake no longer does that for us.
34171         * admin/notes/copyright:
34172         * admin/update_autogen (genfiles):
34173         Update list of files.
34174         Remove hack for nt/gnulib.mk, a file that is no longer needed.
34175         * autogen.sh (progs): Remove Automake.
34176         (automake_min): Remove.
34177         Build aclocal.m4 so that autoreconf need not use aclocal.
34178         * build-aux/config.guess, build-aux/config.sub:
34179         * build-aux/install-sh:
34180         New files, copied from Gnulib.  These are now updated by
34181         admin/merge-gnulib instead by autogen.sh.
34182         * configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
34183         Remove.
34184         (AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
34185         (AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
34186         (BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
34187         (--disable-silent-rules): New option, since Automake no longer
34188         does this for us.
34189         (AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
34190         with AM_SUBST_NOTMAKE.
34191         (AC_PROG_INSTALL): Add call.
34192         (MAKEINFO): Do not bother with the 'missing' program.
34193         (MAKEINFO, SYSTEM_TYPE): AC_SUBST.
34194         (AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
34195         (SUBDIR_MAKEFILES): Remove duplication.
34196         * lib/Makefile.am: Remove, replacing with:
34197         * lib/Makefile.in: New file, with the old Makefile.am contents
34198         and with the following changes:
34199         (AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
34200         (MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
34201         (AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
34202         (EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
34203         Remove.
34204         (VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
34205         (AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
34206         (libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
34207         (mostlyclean, distclean, bootstrap-clean, maintainer-clean):
34208         New macros and rules, since Automake no longer does them.
34209         Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
34210         instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
34211         Include dependency files if AUTO_DEPEND.
34212         (ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
34213         New macros.
34214         (bootstrap-clean): Depend on distclean, not maintainer-clean,
34215         and remove gnulib.mk.
34216         (AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
34217         New macros and rules, copied from ../Makefile.in.
34218         ($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
34219         (.c.o, e-%.o): New generic rules.
34220         * lib/gnulib.mk: Remove.
34221         * lib/gnulib.mk.in: New file, which is built by autogen.sh
34222         and contains much of what used to be in lib/gnulib.mk.
34223         * m4/gnulib-common.m4: Copy from gnulib.
34224         * make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
34225         build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
34226         nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
34227         lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
34228         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
34229         (am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
34230         * nt/gnulib-cfg.mk: New file, which supersedes ...
34231         * nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
34232         * src/Makefile.in (ACLOCAL_INPUTS): Remove.
34233         (AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
34234         ($(top_srcdir)/configure, ../config.status, config.in Makefile):
34235         Defer to parent Makefile.
34237 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
34239         Don't suggest Mailutils on MS-Windows
34241         * configure.ac: Don't suggest GNU Mailutils on MS-Windows, as it
34242         hasn't been ported.
34244 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
34246         Fix bug: Range-check integer ‘alpha’ frame parm value
34248         Typo introduced 2013-04-01, "Prefer < to >
34249         in range checks such as 0 <= i && i < N".
34251         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
34253 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
34255         Fix bug: Range-check integer ‘alpha’ frame parm value
34257         Typo introduced 2013-04-01, "Prefer < to >
34258         in range checks such as 0 <= i && i < N".
34260         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
34262 2017-03-17  Michael Albinus  <michael.albinus@gmx.de>
34264         Fix Bug#26127
34266         * lisp/filenotify.el (file-notify--rm-descriptor): Check, that
34267         there is a function which could be called.  (Bug#26127)
34269         * test/lisp/filenotify-tests.el (file-notify--test-cleanup):
34270         Clear also `file-notify-descriptors'.
34271         (file-notify--test-make-temp-name): Move up.
34272         (file-notify-test02-rm-watch): New test.
34273         (file-notify-test03-events, file-notify-test04-autorevert)
34274         (file-notify-test05-file-validity)
34275         (file-notify-test06-dir-validity)
34276         (file-notify-test07-many-events, file-notify-test08-backup)
34277         (file-notify-test09-watched-file-in-watched-dir)
34278         (file-notify-test10-sufficient-resources): Rename.
34280 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
34282         * etc/PROBLEMS: Say that HP-UX cc doesn't work.
34284 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
34286         Emacs 'movemail' is now a configure-time option
34288         The new configure option --with-mailutils lets the builder say
34289         that Emacs should assume that GNU Mailutils is installed, instead
34290         of continuing to build and install its own limited and insecure
34291         substitute for 'movemail'.
34292         * INSTALL, etc/NEWS, etc/PROBLEMS: Mention --with-mailutils.
34293         * configure.ac: Add --with-mailutils option.
34294         (with_mailutils): New variable.
34295         Do not bother configuring 'movemail' when not building it.
34296         Warn about issues relating to --with-mailutils.
34297         * doc/emacs/rmail.texi (Movemail): Mention --with-mailutils.
34298         (Movemail, Remote Mailboxes): Document port numbers in
34299         POP and IMAP URLs.
34300         * lib-src/Makefile.in (with_mailutils): New macro.
34301         (UTILITIES): Use it.
34303 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
34305         Add obarray-size and fix tests accordingly.  Use obarrayp in cedet.
34307         * lisp/obarray.el (obarray-size): New function.
34309         * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-symbol)
34310         (semantic-lex-spp-save-table, semantic-lex-spp-macros):
34311         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
34312         Use obarrayp.
34314         * test/lisp/obarray-tests.el (obarray-make-default-test)
34315         (obarray-make-with-size-test): Use it.
34317 2017-03-16  Michael Albinus  <michael.albinus@gmx.de>
34319         Document remote file name syntax change
34321         * doc/emacs/files.texi (Remote Files, Quoted File Names):
34322         * doc/misc/org.texi (dir): Change examples to use a method.
34324         * doc/misc/tramp.texi (Top) [trampf]: Remove macro.  Add
34325         `Testing' menu entry.
34326         (History): Fix typos.  Mention syntax change.
34327         (Configuration, Default Host, File name Syntax)
34328         (File name completion, Frequently Asked Questions):
34329         Change examples to use a method.
34330         (External methods, Default Host, Multi-hops, Remote processes):
34331         Fix typos.
34332         (Default Method): Mention pseudo method "-".
34333         (External packages): Rewrite intention of `non-essential'.
34335         * etc/NEWS: Mark recent Tramp entries as documented.
34337 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
34339         (semantic-lex-type-invalid): Fix nested backquote.
34341         * lisp/cedet/semantic/lex.el: Use lexical-binding.
34342         (semantic-lex-type-invalid): Fix nested backquote.
34343         (semantic-lex-map-symbols, semantic-lex-type-symbol)
34344         (semantic-lex-keyword-symbol): Use obarrayp.
34346 2017-03-15  Michael Albinus  <michael.albinus@gmx.de>
34348         * lisp/ido.el (ido-read-internal, ido-complete): Do not bind `non-essential'.
34350 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
34352         Write a named function
34354         * lisp/comint.el (comint-nonblank-p): New function.
34355         (comint-input-filter): Use it.
34357 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
34359         Replace more nested ifs with cond
34361         This is a continuation of 0db5ba4 "Replace nested ifs with cond".
34362         * lisp/play/dunnet.el (dun-special-object, dun-inven, dun-drop):
34363         (dun-drop-check, dun-swim, dun-break): Use when and cond where
34364         appropriate.
34365         (dun-examine): Fix indentation.
34366         (dun-doverb): Use when.
34367         (dun-read-line): Refactor.
34369 2017-03-15  Noam Postavsky  <npostavs@gmail.com>
34371         Recomplexify ‘delete-trailing-whitespace’ by treating \n as whitespace again
34373         Mostly reverts "Simplify ‘delete-trailing-whitespace’ by not treating
34374         \n as whitespace" from 2016-07-04.  Setting \n to non-whitespace
34375         causes the regex engine to backtrack a lot when searching for
34376         "\\s-+$" (Bug#26079).
34378         * lisp/simple.el (delete-trailing-whitespace): Don't change newline
34379         syntax, search for "\\s-$" and then skip backward over trailing
34380         whitespace.
34382 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
34384         Merge from gnulib
34386         This incorporates:
34387         2017-03-14 snippets: move unadjusted snippet sources to lib
34388         2017-03-14 gnulib-tool: fix typo in comment output
34389         2017-03-14 snippets: work around GNU Make 3.82 VPATH
34390         2017-03-13 gnulib-tool: minor --gnu-make fixups
34391         2017-03-12 gnulib-tool: new option --gnu-make
34392         * .gitignore: Remove lib/arg-nonnull.h, lib/c++defs.h,
34393         lib/warn-on-use.h.  Change exception from
34394         build-aux/snippet/_Noreturn.h to lib/_Noreturn.h.
34395         * admin/authors.el (authors-renamed-files-regexps):
34396         * admin/notes/copyright, make-dist:
34397         The snippet files moved from build-aux/snippet to lib.
34398         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
34399         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
34400         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
34401         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
34402         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
34404 2017-03-14  Eli Zaretskii  <eliz@gnu.org>
34406         Fix duplicate wording in Emacs manual
34408         * doc/emacs/programs.texi (Which Function): Delete duplicate
34409         wording.  (Bug#26098)
34411 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
34413         Reenable lost Tramp test case
34415         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
34416         Reenable lost test case.
34418 2017-03-14  Alan Third  <alan@idiocy.org>
34420         Revert "Remove NSEvent loop from ns_select (bug#25265)"
34422         This reverts commit 3bd2e9e975ed29daaf03ca7559e4664aade0674f.
34424 2017-03-14  Alan Third  <alan@idiocy.org>
34426         Revert "Add missing timeout value in ns_select"
34428         This reverts commit a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d.
34430 2017-03-14  Alan Third  <alan@idiocy.org>
34432         Remove old macOS compatibility code
34434         * src/nsimage.m, src/nsmenu.m, src/nsterm.m: Remove code only for
34435         macOS versions below 10.6 as they are not supported in Emacs 25+.
34437 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
34439         Tune `tramp-completion-file-name-regexp-unified'
34441         * lisp/net/tramp.el (tramp-completion-file-name-regexp-unified):
34442         Extend this regexp to match also "/".
34444 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
34446         Show ancestor buffer in 3way merges
34448         Add an option ediff-show-ancestor', to control if the ancestor buffer
34449         must be shown in 3way merges (Bug#25493); set it non-nil by default.
34450         Add a toggle to change this option interactively; the original
34451         value of the option is restored on exit.
34453         Update the window setup so that the ancestor buffer is
34454         shown in 3way merges when ediff-show-ancestor is non-nil.
34456         Any operation on ediff windows must take in account the
34457         ancestor window as well, when this is shown.
34459         * lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
34460         (ediff--show-ancestor-orig): New defvar.
34461         * lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
34462         (ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
34463         Display ancestor buffer if ediff-show-ancestor is non-nil.
34464         (ediff-keep-window-config): Expect ancestor window in
34465         ediff-window-config-saved.
34466         (ediff-window-alist): Add entry for the ancestor window.
34467         * lisp/vc/ediff-util.el (ediff-setup-control-buffer):
34468         ediff-window-config-saved contains ancestor window.
34469         (ediff-show-ancestor): Delete this command.
34470         (ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
34471         (ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
34472         don't cheat it to think that is performing a comparison, that trick is not
34473         necessary anymore: simply call 'ediff-setup-diff-regions-function'
34474         with file-A, file-B and the file ancestor.
34475         (ediff-recenter): Update doc string.  Consider the ancestor buffer.
34476         (ediff--check-ancestor-exists): New defun.
34477         (ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
34478         (ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
34479         (ediff-scroll-vertically, ediff-scroll-horizontally)
34480         (ediff-operate-on-windows): Consider the ancestor as well.
34481         * lisp/vc/ediff-help.el (ediff-long-help-message-merge):
34482         List ediff-toggle-show-ancestor.
34483         * doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.
34485 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
34487         diff-mode: Improve default faces for buffer ancestor
34489         * lisp/vc/ediff-init.el (ediff-current-diff-Ancestor)
34490         (ediff-fine-diff-Ancestor): Use defaults consistent with
34491         faces for 'ediff-buffer-A' and 'ediff-buffer-B'.
34493 2017-03-14  Hong Xu  <hong@topbug.net>
34495         * lisp/paren.el (show-paren--default, show-paren-function): Add docstring.
34497 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
34499         Fix make-dist typo
34501         * make-dist: Fix typo introduced in the Bug#25895 fix.
34503 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
34505         Fix wording in Emacs manual
34507         * doc/emacs/text.texi (Paragraphs): Fix a garbled sentence.
34508         (Bug#26086)
34510 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
34512         etc/NEWS: Remote file names require a method.
34514 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
34516         Require method in remote file name syntax
34518         * lisp/minibuffer.el (completion--nth-completion):
34519         Do not bind `non-essential'.
34521         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
34522         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
34523         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
34524         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Do not call
34525         `tramp-check-proper-method-and-host'.
34527         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Better traces.
34528         (tramp-maybe-open-connection): Do not use argument for
34529         ´tramp-completion-mode-p'.
34531         * lisp/net/tramp.el (tramp-default-method-marker): New defconst.
34532         (tramp-prefix-format, tramp-postfix-method-format)
34533         (tramp-prefix-ipv6-format, tramp-postfix-ipv6-format)
34534         (tramp-prefix-port-format, tramp-postfix-host-format)
34535         (tramp-file-name-regexp, tramp-completion-file-name-regexp):
34536         Use `eq' instead of `eqal'.
34537         (tramp-method-regexp, tramp-domain-regexp)
34538         (tramp-remote-file-name-spec-regexp)
34539         (tramp-file-name-regexp-unified)
34540         (tramp-completion-file-name-regexp-unified)
34541         (tramp-completion-file-name-regexp-separate): Adapt regexp.
34542         (tramp-completion-file-name-handler-alist)
34543         (tramp-run-real-handler): Autoload them.
34544         (tramp-find-method): Handle `tramp-default-method-marker'.
34545         (tramp-check-proper-method-and-host)
34546         (tramp-completion-run-real-handler): Remove them.
34547         (tramp-error-with-buffer, tramp-connectable-p): Do not use
34548         argument for ´tramp-completion-mode-p'.
34549         (tramp-find-foreign-file-name-handler): Remove COMPLETION
34550         argument.  Do not apply heuristic for completion.
34551         (tramp-file-name-handler): Do not modify `non-essential'.
34552         (tramp-completion-file-name-handler): Change implementation.
34553         (tramp-autoload-file-name-handler)
34554         (tramp-completion-handle-file-name-all-completions):
34555         Call `tramp-run-real-handler'.
34556         (tramp-completion-mode-p): Do not autoload.  Remove argument.
34557         Do not apply heuristic for completion.
34558         (tramp-completion-dissect-file-name): Simplify implementation.
34559         (tramp-handle-file-name-as-directory): Call `tramp-connectable-p'.
34561         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
34562         (tramp-test02-file-name-dissect)
34563         (tramp-test03-file-name-defaults)
34564         (tramp-test06-directory-file-name): Adapt to the new syntax.
34565         (tramp-test11-copy-file, tramp-test12-rename-file)
34566         (tramp--test-check-files): Deactivate temporarily tests with
34567         quoted file names.
34568         (tramp-test16-directory-files, tramp-test17-insert-directory):
34569         Adapt tests.
34570         (tramp-test24-file-name-completion): Do not check for
34571         completion mode.
34572         (tramp-test31-make-auto-save-file-name): Deactivate temporarily
34573         two tests.
34575 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
34577         Fix bidi paragraph direction when inserting text at newline
34579         * src/insdel.c (invalidate_buffer_caches): Invalidate the bidi
34580         paragraph cache when inserting immediately after a newline.
34581         (Bug#26083)
34583 2017-03-13  Tino Calancha  <tino.calancha@gmail.com>
34585         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Fix regexp.
34587 2017-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
34589         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): New variable
34591         (cl-print-object) <compiled-function>: Print the docstring and
34592         interactive form.  Obey cl-print-compiled.
34594 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
34596         Fix indent-sexp when called from inside a string (Bug#21343)
34598         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Get initial syntax parse
34599         state from `syntax-ppss'.
34601 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
34603         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Simplify.
34605         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp):
34606         (indent-subsexp, indent-sexp-in-string): New tests.
34608 2017-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
34610         Use switch on pseudovector types; plus cleanups along the way
34612         * src/lisp.h (PSEUDOVECTOR_TYPE): New function, extracted from mark_object.
34613         (PSEUDOVECTOR_TYPEP): Change type of `code'.
34615         * src/alloc.c (sweep_vectors): Remove out-of-date assertion.
34616         (mark_object): Use PSEUDOVECTOR_TYPE.
34618         * src/data.c (Ftype_of): Use switch on pvec type.
34620         * src/print.c (print_object): Use switch on pvec type.
34622         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types):
34623         Add recently added types.
34625 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
34627         Install update-game-score only on request
34629         Most distributions do not install update-game-score properly
34630         due to setuid/setgid complications, so install it only when
34631         the installer specifies a user or group (Bug#25895).
34632         * .gitattributes: Remove lib-src/update-game-score.exe.manifest.
34633         * Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
34634         New vars.
34635         (epaths-force): Use PATH_GAME.
34636         (uninstall): Remove snake-scores and tetris-scores only if shared.
34637         * configure.ac: Default --with-gameuser to 'no'.
34638         (UPDATE_MANIFEST): Remove.
34639         * etc/NEWS: Mention this.
34640         * lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
34641         (use_gamedir): New macro.
34642         (UTILITIES): Remove update-game-score unless use_gamedir.
34643         (SCRIPTS): Remove $(UPDATE_MANIFEST).
34644         ($(DESTDIR)${archlibdir}): Install game directory program and data
34645         only if use_gamedir.
34646         * lib-src/update-game-score.exe.manifest: Remove, as
34647         update-game-score is no longer installed on MS-Windows.
34648         * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
34649         Use auxiliary program only if setuid or setgid.
34650         * make-dist: Do not distribute update-game-score.exe.manifest.
34651         * src/callproc.c (init_callproc):
34652         Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
34653         (syms_of_callproc): Remove unnecessary initialization of
34654         Vshared_game_score_directory.
34656 2017-03-12  Simen Heggestøyl  <simenheg@gmail.com>
34658         Add `touch-action' to list of CSS properties
34660         * lisp/textmodes/css-mode.el (css-property-alist): Add `touch-action'
34661         property.
34663 2017-03-12  Eli Zaretskii  <eliz@gnu.org>
34665         Teach etags to process ENUM_BF correctly
34667         * lib-src/etags.c (sym_type): New enumeration value st_C_enum_bf.
34668         (hash): Regenerated values for asso_values[] array.
34669         (in_word_set): Update values of TOTAL_KEYWORDS and
34670         MAX_HASH_VALUE.  Add "ENUM_BF" to the wordlist[] array.
34671         (in_enum_bf): New file-global variable.
34672         (consider_token): Skip ENUM_BF if not in a macro definition.
34673         (C_entries): Reset the in_enum_bf flag when past its closing
34674         parenthesis.
34676         * test/manual/etags/ETAGS.good_1:
34677         * test/manual/etags/ETAGS.good_2:
34678         * test/manual/etags/ETAGS.good_3:
34679         * test/manual/etags/ETAGS.good_4:
34680         * test/manual/etags/ETAGS.good_5:
34681         * test/manual/etags/ETAGS.good_6:
34682         * test/manual/etags/CTAGS.good: Adapt to changes in etags.
34684 2017-03-12  Michael Albinus  <michael.albinus@gmx.de>
34686         Use path/to/file instead of path/to.file in tramp.texi
34688         * doc/misc/tramp.texi (Configuration, File name Syntax):
34689         Use path/to/file instead of path/to.file.
34691 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
34693         Remove some stray gnulib files
34695         * admin/merge-gnulib: rm m4/gnulib-tool.m4 too.
34696         (GNULIB_MODULES): Remove unsetenv, as it is not needed and
34697         the --avoid=unsetenv option avoided most of it anyway.
34698         * lib/unsetenv.c, m4/gnulib-tool.m4, m4/setenv.m4: Remove.
34699         * lib/gnulib.mk: Regenerate.
34701 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
34703         Merge from gnulib
34705         This incorporates:
34706         2017-03-11 gnulib-common.m4: avoid aclocal.m4 bloat
34707         * doc/misc/texinfo.tex, m4/gnulib-common.m4: Copy from gnulib.
34709 2017-03-12  Glenn Morris  <rgm@gnu.org>
34711         Remove trivial duplication in epg-config
34713         * lisp/epg-config.el (epg-config--program-alist):
34714         Use epg-gpg-minimum-version.
34716 2017-03-12  Glenn Morris  <rgm@gnu.org>
34718         Small epg-find-configuration improvement
34720         * lisp/epg-config.el (epg-find-configuration):
34721         Handle epg-gpg-program customized but not saved.  (Bug#25947)
34723 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
34725         Improve last change
34727         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
34728         Use ppss to check escaping and add help-echo.
34730 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
34732         Highlight useless backslashes in Elisp strings
34734         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
34735         Put warning face on backslashes that have no effect.
34737 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
34739         Document how to customize input methods
34741         * doc/emacs/mule.texi (Input Methods): Document how to customize
34742         input methods.
34744 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
34746         * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
34748 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
34750         Fix generation of nt/gnulib.mk on macOS
34752         * nt/Makefile.in (${srcdir}/gnulib.mk): Don't use the -f- option
34753         to Sed, as that is not portable with non-GNU Sed variants.
34754         (Bug#26043)
34756 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
34758         Avoid aborts/assertion violations due to 'vim-empty-lines-mode'
34760         * src/xdisp.c (handle_single_display_spec): If position to be
34761         restored after processing the display property comes from an
34762         overlay, protect against that overlay's end point being outside of
34763         the narrowed region.
34764         Reported by Filipe Silva <filipe.silva@gmail.com> in
34765         https://lists.gnu.org/r/emacs-devel/2017-03/msg00176.html.
34767 2017-03-10  Glenn Morris  <rgm@gnu.org>
34769         Small improvement for epa-display-error (bug#24553)
34771         * lisp/epa.el (epa-display-error): Report the actual program in use.
34773 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
34775         Tweak X toolkit code to pacify modern GCC
34777         * lwlib/lwlib-Xaw.c, lwlib/lwlib-Xm.c, lwlib/lwlib.c:
34778         Don’t include <stdlib.h>, since this code now calls emacs_abort
34779         rather than abort.
34780         * lwlib/lwlib-Xaw.c (make_dialog, xaw_generic_callback)
34781         (wm_delete_window):
34782         * lwlib/lwlib-Xm.c (make_menu_in_widget, do_call):
34783         * lwlib/lwlib.c (instantiate_widget_instance, lw_make_widget):
34784         * lwlib/xlwmenu.c (abort_gracefully, draw_separator)
34785         (separator_height, XlwMenuInitialize):
34786         Use emacs_abort, not abort.  Without this change, some calls
34787         to ‘abort’ were invalid, as stdlib.h was not always included.
34788         * src/widget.c (resources, emacsFrameClassRec):
34789         * src/xfns.c (x_window) [USE_X_TOOLKIT]:
34790         * src/xmenu.c (create_and_show_popup_menu) [USE_X_TOOLKIT]:
34791         * src/xterm.c (emacs_options) [USE_X_TOOLKIT}:
34792         (x_term_init) [USE_X_TOOLKIT]:
34793         Cast string constants to char * to pacify --enable-gcc-warnings.
34795 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
34797         * doc/misc/tramp.texi (Android shell setup): Require adb program
34799 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
34801         Adapt tramp-tests.el
34803         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name)
34804         (tramp-test24-file-name-completion): Call
34805         `tramp-completion-mode-p' with argument.
34807 2017-03-10  Thien-Thi Nguyen  <ttn@gnu.org>
34809         [doc] Replace bindat example: s/fortune cookie/rfc868 payload/
34811         * doc/lispref/processes.texi (Bindat Examples):
34812         Mention two examples in intro blurb; rewrite first example.
34814 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
34816         Simplify checks for xdg-open and xdg-email
34818         browse-url's xdg-open detection was too picky on some GNU/Linux
34819         desktops; see Bug#25778.  Simplify the code by assuming xdg-open works
34820         if it is executable, as nowadays this is more likely to be correct than
34821         trying to use heuristics from a few years ago.  Don't test for nohup: it
34822         is ineffective nowadays, as xdg-open's child uses the default action for
34823         SIGHUP even if xdg-open's invoker ignores SIGHUP.  While we're at it,
34824         allow for Wayland here, as "emacs -nw" might be running in a non-X
34825         Wayland terminal.
34826         * lisp/mail/emacsbug.el (report-emacs-bug-can-use-xdg-email):
34827         * lisp/net/browse-url.el (browse-url-can-use-xdg-open):
34828         Simplify to a test for DISPLAY and whether the helper program is
34829         executable.  Allow WAYLAND_DISPLAY as an option.
34831 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
34833         Byte compile cond clauses without any bodies correctly.
34835         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): When a
34836         cond clause has no body, push t on to the stack.
34838 2017-03-09  Michael Albinus  <michael.albinus@gmx.de>
34840         Fix bug#23006
34842         * lisp/minibuffer.el (completion--nth-completion):
34843         Let-bind `non-essential'.
34845         * lisp/net/tramp.el (tramp-completion-mode): Fix docstring.
34846         (tramp-completion-mode-p): Optional parameter VEC.  Replace
34847         check for `last-input-event' by analysing VEC argument.
34848         (tramp-error-with-buffer, tramp-file-name-handler)
34849         (tramp-connectable-p, tramp-handle-file-name-as-directory):
34850         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
34852 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
34854         etc/NEWS: Add entry for new `switch' bytecode.
34856 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
34858         * src/data.c (arithcompare): Add comments.
34860 2017-03-08  Glenn Morris  <rgm@gnu.org>
34862         Update a cl-print test
34864         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
34865         Update for recent change in cl-print-object function output.
34867 2017-03-08  Sam Steingold  <sds@gnu.org>
34869         Replace change-log-date-face -> change-log-date
34871         This fixes c430f7e23fc2c22f251ace4254e37dea1452dfc3.
34873 2017-03-08  Michael Albinus  <michael.albinus@gmx.de>
34875         Fix bug#26011
34877         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
34878         Check, whether file is too large.  (Bug#26011)
34880 2017-03-08  Andreas Schwab  <schwab@linux-m68k.org>
34882         * src/data.c (minmax_driver): Use CHECK_NUMBER_OR_FLOAT_COERCE_MARKER.
34883         (Fmax, Fmin): Restore documentation.
34885         * src/data.c (cons_to_unsigned, cons_to_signed, Fstring_to_number): Reorder
34886         comparisons that are written backward.
34888 2017-03-08  Thien-Thi Nguyen  <ttn@gnu.org>
34890         [doc elisp] Add some index entries for "old" advice mechanism
34892         * doc/lispref/functions.texi (Porting old advice):
34893         Add one @cindex and two @findex entries.
34895 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
34897         * etc/NEWS: Adjust to match previous patch.
34899 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
34901         min and max should not return markers
34903         Problem reported by Glenn Morris in:
34904         https://lists.gnu.org/r/emacs-devel/2017-03/msg00147.html
34905         * src/data.c (minmax_driver): Convert any marker result to an
34906         integer, since some callers assume this.
34907         * test/src/data-tests.el (data-tests-max, data-tests-min):
34908         Test for this.
34910 2017-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
34912         * lisp/emacs-lisp/cl-print.el (cl-print-object): Use #f(..) for functions.
34914 2017-03-08  Alan Third  <alan@idiocy.org>
34916         Add missing timeout value in ns_select
34918         * src/nsterm.m (ns_select): Set timeout to distant future when relying
34919         on fd_handler's timeout.
34921 2017-03-07  Glenn Morris  <rgm@gnu.org>
34923         * admin/update_autogen: Ensure nt/gnulib.mk exists, for autoreconf.
34925 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
34927         Remove isnan hack for Solaris 10 gcc 3.4.3
34929         This seems to have been a false alarm (Bug#26018).
34930         * src/data.c (isnan):
34931         * src/floatfns.c (isfinite, isnan):
34932         Use standard implementation if available.
34934 2017-03-07  Eli Zaretskii  <eliz@gnu.org>
34936         Support browsing URLs with embedded spaces on MS-Windows
34938         * lisp/net/browse-url.el (browse-url-default-windows-browser):
34939         Unhex %XX hex-encoded characters, as w32-shell-execute doesn't
34940         support that in file:// URLs.  (Bug#26014)
34942 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
34944         Define copysign on all platforms
34946         * configure.ac (copysign): Remove test.
34947         * src/floatfns.c (signbit): New macro, if not already defined.
34948         (Fcopysign): Use it instead of copysign.
34949         (Fcopysign, syms_of_floatfns): Define the function on all platforms.
34951 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
34953         Revert "Replace ldefs-boot with a much smaller file"
34955         This reverts commit c27b645956a11fab1dd8fa189254d525390958f5.
34957         This commit has been reverted because the new mechanism was too
34958         sensitive to changes in the lisp source, generation of new ldefs-boot
34959         files was platform specific and resulted in warnings about undefined
34960         variables.
34962         See also 11436e2890d.
34964 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
34966         Revert "Record autoloads till emacs dump"
34968         This reverts commit 72c668a9042ac6475eadedfee5c87fb1e6b2d753.
34970         This commit has been reverted because the new mechanism was too
34971         sensitive to changes in the lisp source, generation of new ldefs-boot
34972         files was platform specific and resulted in warnings about undefined
34973         variables.
34975         See also 11436e2890d.
34977 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
34979         Revert "Remove unused ldefs-boot.el"
34981         This reverts commit ef8c9f8fc922b615aca91b47820d1f1900fddc96.
34983         This commit has been reverted because the new mechanism was too
34984         sensitive to changes in the lisp source, generation of new ldefs-boot
34985         files was platform specific and resulted in warnings about undefined
34986         variables.
34988         See also 11436e2890d.
34990 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
34992         Revert "Remove conditional includes from bootstrap"
34994         This reverts commit 1b946305182312faa7fcd838caf55dcb07b2ab04.
34996         This commit has been reverted because the new mechanism was too
34997         sensitive to changes in the lisp source, generation of new ldefs-boot
34998         files was platform specific and resulted in warnings about undefined
34999         variables.
35001         See also 11436e2890d.
35003 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
35005         Revert "Speed generation of ldefs-boot-auto"
35007         This reverts commit 7b5e1c8238ef961fd3305b1dce053b9bced684ba.
35009         This commit has been reverted because the new mechanism was too
35010         sensitive to changes in the lisp source, generation of new ldefs-boot
35011         files was platform specific and resulted in warnings about undefined
35012         variables.
35014         See also 11436e2890d.
35016 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
35018         Revert "Fix minor problems with loaddefs autogeneration"
35020         This reverts commit f2bd2c1e6476acc71e71f6cb2a1c56c5edd900ba.
35022         This commit has been reverted because the new mechanism was too
35023         sensitive to changes in the lisp source, generation of new ldefs-boot
35024         files was platform specific and resulted in warnings about undefined
35025         variables.
35027 2017-03-07  Noam Postavsky  <npostavs@gmail.com>
35029         Set default when asking for send-mail-function (Bug#25874).
35031         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp): Pass first
35032         option as default for `completing-read'.
35034 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
35036         min and max now return one of their arguments
35038         * doc/lispref/numbers.texi (Comparison of Numbers):
35039         * etc/NEWS: Document this.
35040         * src/data.c (Amax, Amin): Remove constants.  All uses removed.
35041         (minmax_driver): New function.
35042         (Fmax, Fmin): Use it instead of arith_driver.
35043         * test/src/data-tests.el (data-tests-max, data-tests-min): New tests.
35045 2017-03-06  Alan Third  <alan@idiocy.org>
35047         Remove NSEvent loop from ns_select (bug#25265)
35049         * src/nsterm.m (ns_select): Remove event processing loop and replace
35050         with simple test for a new event.
35052 2017-03-06  Eli Zaretskii  <eliz@gnu.org>
35054         A better fix for bug#25845
35056         * src/xdisp.c (font_for_underline_metrics): New function.
35057         * src/dispextern.h: Add its prototype.
35058         * src/xterm.c (x_draw_glyph_string):
35059         * src/w32term.c (x_draw_glyph_string):
35060         * src/nsterm.m (ns_draw_text_decoration): Call it.  This avoids
35061         having identical code 3 times in 3 different files.
35063 2017-03-06  Noam Postavsky  <npostavs@gmail.com>
35065         Fix warning message about native completion (Bug#25984)
35067         * lisp/progmodes/python.el (python-shell-completion-native-turn-on-maybe):
35068         The relevant variable is `python-shell-completion-native-enable'.
35070 2017-03-06  Tom Tromey  <tom@tromey.com>
35072         Fix typos in EIEIO manual
35074         * doc/misc/eieio.texi (Slot Options, Class Options): Fix typos.
35076 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
35078         Merge from gnulib
35080         This incorporates:
35081         2017-03-04 dtotimespec: simplify
35082         * lib/dtotimespec.c: Copy from gnulib.
35084 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
35086         ffloor etc. now accept only floats
35088         * etc/NEWS: Say why.
35089         * src/floatfns.c (Ffceiling, Fffloor, Ffround, Fftruncate):
35090         Require arg to be float.
35091         * test/src/floatfns-tests.el (fround-fixnum): Check this.
35093 2017-03-05  Eli Zaretskii  <eliz@gnu.org>
35095         Fix display of cursor on underlined text
35097         * src/nsterm.m (ns_draw_text_decoration):
35098         * src/xterm.c (x_draw_glyph_string):
35099         * src/w32term.c (x_draw_glyph_string): Compute the position and
35100         thickness of the underline by looking for the first glyph of the
35101         run of underlined glyphs that includes the glyph string we are
35102         drawing.  (Bug#25845)
35104 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
35106         Add more CL concept index items, print Concept Index
35108         * doc/misc/cl.texi: Print concept index.
35109         (Generalized Variables, Variable Bindings):
35110         (Dynamic Bindings, Function Bindings, Macro Bindings, Conditionals):
35111         (Blocks and Exits, Iteration, Multiple Values): Add concept index
35112         items.
35114 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
35116         Add 'loop facility' to the CL concept index
35118         * doc/misc/cl.texi (Loop Facility): Add "loop facility" as a concept
35119         index item.
35121 2017-03-05  martin rudalics  <rudalics@gmx.at>
35123         In `window--display-buffer' fix behavior reported in Bug#25946
35125         * lisp/window.el (window--display-buffer): Set the dedicated
35126         status of the window used and clear its history of previous
35127         buffers also for the case that the window already shows the
35128         buffer to be displayed.  (Bug#25946)
35130 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
35132         Compare and round more carefully
35134         * etc/NEWS: Document this.
35135         * src/data.c (store_symval_forwarding):
35136         * src/sound.c (parse_sound):
35137         Do not botch NaN comparison.
35138         * src/data.c (cons_to_unsigned, cons_to_signed):
35139         Signal an error if a floating-point arg is not integral.
35140         * src/data.c (cons_to_unsigned, cons_to_signed):
35141         * src/fileio.c (file_offset):
35142         Use simpler overflow check.
35143         * src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
35144         Avoid rounding error in overflow check.
35145         (Fcar_less_than_car): Use arithcompare directly.
35146         * test/src/charset-tests.el: New file.
35148 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
35150         Fewer rounding errors with (format "%f" fixnum)
35152         * etc/NEWS: Document this.
35153         * src/editfns.c (styled_format): When formatting integers via a
35154         floating-point format, use long double instead of double
35155         conversion, if long double’s extra precision might help.
35157 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
35159         * src/floatfns.c (Fftruncate): Simplify via emacs_trunc.
35161         * src/editfns.c (styled_format): Omit unnecessary code for "%0d" etc.
35163 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
35165         Clarify documentation of 'raise' and 'height' display specs
35167         * doc/lispref/display.texi (Other Display Specs): Clarify the
35168         effect of 'height' display spec on the following 'raise'.
35169         (Bug#25824)
35171 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
35173         Fix header shown by Info 'L' command
35175         * lisp/info.el (Info-history-find-node): A better heading for the
35176         list of visited nodes.  (Bug#25876)
35178 2017-03-04  K. Handa  <handa@gnu.org>
35180         Add a section about incorrect Bengali rendering.
35182 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
35184         Fix minor problems with loaddefs autogeneration
35186         * admin/ldefs-clean.el (ldefs-clean): Bind coding-system-for-read
35187         and coding-system-for-write, to produce a UTF-8 file with Unix
35188         EOLs on MS-Windows.
35190         * lisp/ldefs-boot-manual.el (image-type): Add autoload cookie.
35192 2017-03-04  David Bremner  <david@tethera.net>  (tiny change)
35194         Fix issues with dedicated windows in shr.el
35196         * lisp/net/shr.el (shr-pixel-buffer-width, shr-render-td-1): Make
35197         the window not dedicated, to avoid errors if it was, before
35198         setting its buffer temporarily.  (Bug#25828)
35200 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
35202         Mention problems with GPaste in PROBLEMS
35204         * etc/PROBLEMS (GPaste): Mention the problem in yanking caused by
35205         GPaste, and its solution.  (Bug#25902)
35207 2017-03-04  Glenn Morris  <rgm@gnu.org>
35209         Avoid duplicate gud menu items with gdb-mi
35211         * lisp/progmodes/gud.el (gud-menu-map): Avoid duplicate "Run"
35212         entries in gdbmi mode.  (Bug#23923)
35214 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
35216         * src/editfns.c (styled_format): Omit unnecessary code.
35218 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
35220         logb now works correctly on large integers
35222         * admin/merge-gnulib (GNULIB_MODULES): Add count-leading-zeros.
35223         * etc/NEWS: Document the change.
35224         * lib/count-leading-zeros.c, lib/count-leading-zeros.h:
35225         * m4/count-leading-zeros.m4: New files, copied from Gnulib.
35226         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
35227         * src/floatfns.c: Include count-leading-zeros.h.
35228         (Flogb): Do not convert fixnum to float before taking the log,
35229         as the rounding error can cause the answer to be off by 1.
35230         * src/lisp.h (EMACS_UINT_WIDTH): New constant.
35231         * test/src/floatfns-tests.el (logb-extreme-fixnum): New test.
35233 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
35235         Merge from gnulib
35237         This incorporates:
35238         2017-02-25 maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
35239         2017-02-24 ftoastr: port to -Wdouble-promotion
35240         * lib/ftoastr.c, m4/gnulib-common.m4: Copy from gnulib.
35242 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
35244         Avoid duplicating characters recorded in macros
35246         * src/keyboard.c (record_char): Don't store in macro definitions
35247         characters that came from executing a macro.  (Bug#25860)
35249 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
35251         Fix color component calculations in color.el
35253         * lisp/color.el (color-name-to-rgb): Use 16 bits per color component.
35254         (color-rgb-to-hex): Accept an optional argument
35255         DIGITS-PER-COMPONENT, defaulting to 4, and format the hexadecimal
35256         notation either for 8 or 16 bits per component.  (Bug#25890)
35257         * lisp/net/shr-color.el (shr-color->hexadecimal): Call
35258         color-rgb-to-hex with the optional argument of 2, to match color
35259         processing on the Web.
35261 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
35263         Use lexical binding in benchmark.el
35265         * lisp/emacs-lisp/benchmark.el: Enable lexical binding.
35266         (benchmark-elapse): Use 'declare'.
35267         * test/lisp/emacs-lisp/benchmark-tests.el: Add test suite.
35269 2017-03-03  Noam Postavsky  <npostavs@gmail.com>
35271         Switch pp.el to lexical binding
35273         Additionally, do some minor code cleanup.
35275         * lisp/emacs-lisp/pp.el: Set lexical-binding.
35276         (pp-buffer): Use skip-syntax-forward.
35277         (pp-eval-expression): Use push.
35278         (pp-last-sexp): Use with-syntax-table.
35279         * test/lisp/emacs-lisp/pp-tests.el: New tests.
35281 2017-03-03  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
35283         Fix completing-read call in reb-change-syntax
35285         * lisp/emacs-lisp/re-builder.el (reb-change-syntax): Use 'default' arg
35286         of completing-read.
35288 2017-03-03  Rolf Ade  <rolf@pointsman.de>  (tiny change)
35290         sql-mode w/ sqlite: In-memory database
35292         Enable the usage of an in-memory database. Prior to this, sql-mode w/
35293         sqlite could only be used with file databases.
35294         * lisp/progmodes/sql.el (sql-get-login-ext): Don't expand an empty
35295         file name provided by the user, but call sub-process sqlite with that,
35296         in which case it uses an in-memory database.
35298 2017-03-03  Allen Li  <vianchielfaura@gmail.com>
35300         Stop abbrev-prefix-mark from adding extra newline (Bug#25767)
35302         `abbrev--before-point' does not adjust `pos' to account for when it
35303         deletes the "-" left by abbrev-prefix-mark.  Therefore, when
35304         `abbrev-before-point' goes to restore point, it moves point one
35305         character too far forward.
35307         * lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".
35309 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
35311         * lisp/subr.el (apply-partially): Move to 'Basic Lisp functions' section.
35313 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
35315         Restore XFLOATINT but with restricted args
35317         Turn instances of extract_float into XFLOAT_DATA when possible,
35318         and to a resurrected XFLOATINT when the arg is a number.
35319         The resurrected XFLOATINT is more like XFLOAT and XINT in
35320         that is valid only if its arg is a number.  This clarifies
35321         the ways in which floats can be extracted at the C level.
35322         * src/editfns.c (styled_format):
35323         * src/floatfns.c (extract_float, Fexpt):
35324         Use XFLOATINT rather than open-coding it.
35325         * src/fns.c (internal_equal):
35326         * src/image.c (imagemagick_load_image):
35327         * src/xdisp.c (resize_mini_window):
35328         Prefer XFLOAT_DATA to extract_float on values known to be floats.
35329         * src/frame.c (x_set_screen_gamma):
35330         * src/frame.h (NUMVAL):
35331         * src/image.c (x_edge_detection, compute_image_size):
35332         * src/lread.c (read_filtered_event):
35333         * src/window.c (Fset_window_vscroll):
35334         * src/xdisp.c (handle_single_display_spec, try_scrolling)
35335         (redisplay_window, calc_pixel_width_or_height, x_produce_glyphs)
35336         (on_hot_spot_p):
35337         Prefer XFLOATINT to extract_float on values known to be numbers.
35338         * src/lisp.h (XFLOATINT): Bring back this function, except
35339         it now assumes its argument is a number.
35341 2017-03-02  Glenn Morris  <rgm@gnu.org>
35343         Ert commands to error if no test at point (bug#25931)
35345         * lisp/emacs-lisp/ert.el (ert-results-mode-menu):
35346         Deactivate some items if no test at point.
35347         (ert--results-test-at-point-no-redefinition):
35348         Add option to signal an error rather than return nil.
35349         (ert-results-pop-to-backtrace-for-test-at-point)
35350         (ert-results-pop-to-messages-for-test-at-point)
35351         (ert-results-pop-to-should-forms-for-test-at-point)
35352         (ert-results-describe-test-at-point): Error if no test at point.
35354 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
35356         Remove XFLOATINT
35358         * src/lisp.h (XFLOATINT): Remove this alias for extract_float.
35359         All callers changed to use extract_float.
35360         * src/frame.h (NUMVAL): Now an inline function, not a macro.
35362 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
35364         Fix rounding errors in <, =, etc.
35366         * etc/NEWS: Document this.
35367         * src/bytecode.c (exec_byte_code):
35368         * src/data.c (arithcompare):
35369         Do not lose information when comparing floats to integers.
35370         * test/src/data-tests.el (data-tests-=, data-tests-<)
35371         (data-tests->, data-tests-<=, data-tests->=):
35372         Test this.
35374 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
35376         Fix display of mouse-highlight produced by overlapping overlays
35378         * src/xfaces.c (face_at_buffer_position): If called to find the
35379         mouse-face, only consider the highest-priority source for that
35380         face, and ignore the rest.  Previously, all the mouse-face
35381         definitions at POS were merged in that case.
35382         * src/xdisp.c (note_mouse_highlight): Record the overlay that
35383         specifies mouse-face _after_ clearing the info about the previous
35384         overlay, so as not to clear the information about the just-recorded
35385         overlay.  (Bug#25906)
35387 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
35389         Fix display of strike-through text in variable-height lines
35391         * src/nsterm.m (ns_draw_text_decoration):
35392         * src/xterm.c (x_draw_glyph_string):
35393         * src/w32term.c (x_draw_glyph_string): Fix calculation of the
35394         strike-through y-coordinate for a glyph row which is taller than
35395         the strike-through text.  (Bug#25907)
35397 2017-03-02  Martin Rudalics  <rudalics@gmx.at>
35399         Don't call x_net_wm_state for scroll bar windows (Bug#24963, Bug#25887)
35401         * src/xterm.c (handle_one_xevent): For ConfigureNotify events
35402         don't call x_net_wm_state when the window is a scroll bar window.
35403         (Bug#24963, Bug#25887)
35405 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
35407         gnus-summary-select-article-buffer: Don't re-render existing article
35409         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
35410         Don't re-render existing article.
35412 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
35414         Don't add debbugs address to message body (bug#25896)
35416         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
35417         Don't add debbugs address to message body (bug#25896), and
35418         don't add it to message header either if it already exists.
35420 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
35422         * lisp/cedet/semantic/db-global.el: Make dynbind use explicit
35424         (semanticdb--ih): Declare.
35425         (semanticdb-enable-gnu-global-databases): Use it instead of `ih'.
35426         (semanticdb-enable-gnu-global-in-buffer, semanticdb-get-database-tables)
35427         (semanticdb-find-tags-for-completion-method): Silence compiler warning.
35429 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
35431         * lisp/help-fns.el (describe-variable): Use cl-print for the value
35433         Use `pp-buffer' rather than `pp' so as to avoid calling prin1 twice.
35435 2017-03-02  Glenn Morris  <rgm@gnu.org>
35437         * test/lisp/net/puny-tests.el: New file.
35439 2017-03-02  Glenn Morris  <rgm@gnu.org>
35441         Small puny.el fix
35443         * lisp/net/puny.el (puny-decode-string-internal):
35444         Handle strings with no ascii parts.  (Bug#23688)
35446 2017-03-02  Glenn Morris  <rgm@gnu.org>
35448         Small recover-this-file improvement
35450         * lisp/files.el (recover-this-file): Explicit error if not
35451         visiting a file.  (Bug#23671)
35453 2017-03-01  Glenn Morris  <rgm@gnu.org>
35455         Fix for coding-system completion (bug#23670)
35457         * lisp/international/mule.el (read-buffer-file-coding-system):
35458         Ensure that completion-pcm--delim-wild-regex is enclosed in parens,
35459         so that completion-pcm--pattern->regex can append "*?".
35461 2017-03-01  Paul Eggert  <eggert@cs.ucla.edu>
35463         Fix rounding error in ‘ceiling’ etc.
35465         Without this fix, (ceiling most-negative-fixnum -1.0) returns
35466         most-negative-fixnum instead of correctly signaling range-error,
35467         and similarly for floor, round, and truncate.
35468         * configure.ac (trunc): Add a check, since Gnulib’s doc says
35469         ‘trunc’ is missing from MSVC 9.  The Gnulib doc says ‘trunc’ is
35470         also missing from some other older operating systems like Solaris
35471         9 which I know we don’t care about any more, so MSVC is the only
35472         reason to worry about ‘trunc’ here.
35473         * src/editfns.c (styled_format): Formatting a float with %c is now an
35474         error.  The old code did not work in general, because FIXNUM_OVERFLOW_P
35475         had rounding errors.  Besides, the "if (FLOATP (...))" was in there
35476         only as a result of my misunderstanding old code that I introduced
35477         2011.  Although %d etc. is sometimes used on floats that represent
35478         huge UIDs or PIDs etc. that do not fit in fixnums, this cannot
35479         happen with characters.
35480         * src/floatfns.c (rounding_driver): Rework to do the right thing
35481         when the intermediate result equals 2.305843009213694e+18, i.e.,
35482         is exactly 1 greater than MOST_POSITIVE_FIXNUM on a 64-bit host.
35483         Simplify so that only one section of code checks for overflow,
35484         rather than two.
35485         (double_identity): Remove.  All uses changed to ...
35486         (emacs_trunc): ... this new function.  Add replacement for
35487         platforms that lack ‘trunc’.
35488         * src/lisp.h (FIXNUM_OVERFLOW_P, make_fixnum_or_float):
35489         Make it clear that the arg cannot be floating point.
35490         * test/src/editfns-tests.el (format-c-float): New test.
35491         * test/src/floatfns-tests.el: New file, to test for this bug.
35493 2017-03-01  Glenn Morris  <rgm@gnu.org>
35495         Small help--loaded-p fix
35497         * lisp/help-fns.el (help--loaded-p): Handle entry in load-history
35498         with nil file name.  (Bug#25847)
35500 2017-03-01  Leo Liu  <sdl.web@gmail.com>
35502         * src/fns.c (Fbuffer_hash): Doc fix.
35504 2017-03-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
35506         Don't use mapconcat with chars in gnus registry marks (Bug#25839)
35508         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
35509         Instead, use a plain concat, which will create a string out of a list
35510         of characters.
35512 2017-03-01  Noam Postavsky  <npostavs@gmail.com>
35514         Fix epg-tests with dummy-pinentry program (Bug#23619)
35516         * test/data/epg/dummy-pinentry: New file.
35517         * test/lisp/epg-tests.el (with-epg-tests): Add it to gpg-agent.conf
35518         when a passphrase is required.  Add debug declaration.  Set
35519         GPG_AGENT_INFO non-destructively.
35521 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
35523         Speed generation of ldefs-boot-auto
35525         Previously, generation of ldefs-boot-auto required at least one full
35526         bootstrap and, in extreme cases, two. Now, from build system, it
35527         requires the same time as taken to dump Emacs.
35529         * Makefile.in: Remove all calls, pass to src.
35530         * admin/ldefs-clean.el: Update for changed messages.
35531         * lisp/Makefile.in (compile-first-delete): Add.
35532         * lisp/ldefs-boot-auto.el: Update.
35533         * src/Makefile.in (generate-ldefs-boot): Add.
35535 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
35537         Add error handling to magic-mode-alist
35539         * lisp/files.el (set-auto-mode): Add explicit error handling in two
35540           places.
35542 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
35544         Remove conditional includes from bootstrap
35546         Previously, bootstrap-emacs includes optional functionality, depending
35547         on the platform which is not needed for bootstrap function.  As a
35548         result, bootstrap-emacs contains different functions in different
35549         circumstances.  If ldefs-boot-auto.el is generated, then loaded
35550         functions will not be added to ldefs-boot-auto.el, although they may be
35551         required during some builds.  With this change, bootstrap-emacs should
35552         always behave the same way and, therefore, require the same autoloads.
35554          * lisp/loadup.el: No longer load optional includes during bootstrap
35555            dumping.
35556          * lisp/ldefs-boot-auto.el: Regenerate.
35557          * lisp/ldefs-boot-manual.el: Add two autoloads.
35559 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
35561         Do not use find-file non-interactively
35563          * lisp/international/titdic-cnv.el (miscdic-convert): Use
35564            insert-file-contents in place of find-file.
35566 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
35568         * src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc
35570         (update_overlay_arrows): Skip non-markers.
35572 2017-02-28  Ken Brown  <kbrown@cornell.edu>
35574         Try to avoid hang when logging out of MS-Windows
35576         * src/w32term.c (x_update_window_begin, x_update_window_end)
35577         (my_show_window, my_set_window_pos, my_set_focus)
35578         (my_set_foreground_window, my_destroy_window)
35579         (my_bring_window_to_top, x_iconify_frame): Replace calls to
35580         SendMessage by calls to SendMessageTimeout with a 6-second
35581         timeout.  (Bug#25875)
35583 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
35585         * lisp/textmodes/reftex-toc.el (reftex-re-enlarge): Demote errors.
35587 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
35589         * doc/misc/eieio.texi: Update to account for the cl-generic facilities
35591         (Quick Start, Class Options, Generics): Adjust names for cl-generic.
35592         (Methods): Document cl-defmethod.
35593         Explain in more detail the order in which the various
35594         methods are executed.  Document the conditions under which a method
35595         is redefined.  Remove reference to `eieio-generic-call-arglst`.
35596         Don't document the precise return value of cl-next-method-p.
35597         (Static Methods): Adjust to use `subclass` specializer.
35598         (Method Invocation): Use cl-call-next-method and drop mention of :primary.
35599         (Signal Handling, Signals): Adjust names and args for cl-generic; add
35600         cl-no-primary-method.
35601         (CLOS compatibility, Wish List): Adjust to new featureset.
35603 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
35605         * lisp/cedet/mode-local.el (define-mode-local-override): Declare doctring.
35607         * lisp/nxml/nxml-mode.el (nxml-mode): Use new sgml-syntax-propertize.
35609 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
35611         * lisp/textmodes/sgml-mode.el: syntax-propertize <![CDATA and <?..?>
35613         (sgml-syntax-propertize-function): Mark <![CDATA and <?..?>.
35614         (sgml-syntax-propertize-inside): New fun.
35616 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
35618         * lisp/textmodes/css-mode.el (css-completion-at-point): Auto-insert
35620         ": ;" after completing a property.
35622 2017-02-28  Tino Calancha  <tino.calancha@gmail.com>
35624         Show Ibuffer and jump to line listing current buffer
35626         * lisp/ibuffer.el (ibuffer-jump): New command (Bug#25577).
35628 2017-02-27  Juri Linkov  <juri@linkov.net>
35630         * lisp/vc/add-log.el (change-log-next-buffer): Check if file exists
35632         before adding it to the list of files.
35634 2017-02-27  Juri Linkov  <juri@linkov.net>
35636         Put text properties on query-replace separator string instead of "\0"
35638         * lisp/replace.el (query-replace--split-string):
35639         Split at a substring instead of just character.
35640         (query-replace-read-from): Put text properties on the
35641         separator string instead of "\0".  (Bug#25482)
35643 2017-02-27  Juri Linkov  <juri@linkov.net>
35645         Add file name and its extension to suggestions in dired-mark-files-regexp
35647         * lisp/dired.el (dired-mark-files-regexp): Add file name
35648         and its extension to the list of suggested defaults.  (Bug#25578)
35650 2017-02-27  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
35652         Prompt default extension in dired-mark-extension
35654         * lisp/dired-x.el (dired-mark-extension): Prompt default extension
35655         based on extension of file at point.  (Bug#25578)
35657 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
35659         Prevent for consing in cl-mapc and cl-mapl
35661         * lisp/emacs-lisp/cl-extra.el (cl--mapcar-many): Add optional arg ACC;
35662         If non-nil, accumulate values in the result (Bug#25826).
35663         (cl-mapc): Do computations inside function instead of call cl-map.
35664         (cl-mapl): Do computations inside function instead of call cl-maplist.
35665         * lisp/emacs-lisp/cl-lib.el (mapcar): Add autoload cookie.
35666         Call cl--mapcar-many with non-nil 3rd argument.
35667         * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-map)
35668         (cl-extra-test-mapc, cl-extra-test-mapcar, cl-extra-test-mapl)
35669         (cl-extra-test-maplist): New tests.
35671 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
35673         Choose the right target dir on dired operations
35675         Prevent from changing the input target dir
35676         when dired-dwim-target is non-nil (Bug#25609).
35677         * lisp/dired-aux.el (dired-do-create-files):
35678         If dired-dwim-target is non-nil, then bind 'default' to nil.
35679         * test/lisp/dired-tests.el (dired-test-bug25609): Add test.
35681 2017-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
35683         * src/xdisp.c (overlay_arrows_changed_p): Fix last change.
35685 2017-02-27  Noam Postavsky  <npostavs@gmail.com>
35687         Don't record eshell/clear "command" in history (Bug#25838)
35689         `eshell/clear' is implemented by sending a series of blank lines,
35690         which is not a useful thing to have in the history.
35692         * lisp/eshell/em-hist.el (eshell-input-filter-default): Use
35693         `string-blank-p' which does check for newlines (even though newlines
35694         have comment-end syntax, not whitespace syntax class).
35695         * lisp/eshell/esh-mode.el (eshell/clear): Remove
35696         `eshell-add-to-history' from `eshell-input-filter-functions' while
35697         sending the blank lines.  This change is needed to solve the bug if
35698         the user customizes `eshell-input-filter' to something that doesn't
35699         filter newlines.
35701 2017-02-26  Paul Eggert  <eggert@cs.ucla.edu>
35703         Remove a few unused C functions
35705         * src/eval.c (let_shadows_global_binding_p):
35706         * src/print.c (write_string):
35707         * src/systhread.c (sys_mutex_destroy, sys_thread_equal):
35708         Remove.
35709         * src/print.c (write_string): Rename from write_string_1.
35710         All uses changed.
35712 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
35714         Avoid segfault in overlay_arrows_changed_p
35716         * src/xdisp.c (overlay_arrows_changed_p): Fix recent change
35717         to avoid a segfault.
35719 2017-02-26  Noam Postavsky  <npostavs@gmail.com>
35721         Don't call package--ensure-init-file if initialized during startup
35723         * lisp/emacs-lisp/package.el (package-initialize): Check
35724         `after-init-time' rather than `load-file-name' to decide if
35725         `package--ensure-init-file' should be called.  Depending on
35726         `load-file-name' will fail if the user calls `pacakge-initialize' in
35727         file which is loaded from the init file (Bug#24643, Bug#25819).
35729 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
35731         Fix display of before- and after-strings at invisible text
35733         * src/xdisp.c (next_overlay_string): Don't raise the
35734         ignore_overlay_strings_at_pos_p flag if the iterator is already
35735         set to continue at a buffer position different from the one
35736         where the overlay strings we just processed were loaded.  (Bug#25856)
35738 2017-02-26  Michael Albinus  <michael.albinus@gmx.de>
35740         Work on `tramp-completion-mode-p'
35742         * etc/NEWS: Say that `tramp-completion-mode' is obsolete.
35744         * lisp/net/tramp.el (tramp-completion-mode): Make it obsolete.
35745         (tramp-completion-mode-p): Reintroduce the check for 'tab.
35747 2017-02-25  Tom Tromey  <tom@tromey.com>
35749         Use font-lock-doc-face in js-mode
35751         Bug#25858:
35752         * lisp/progmodes/js.el (js-font-lock-syntactic-face-function): New
35753         defun.
35754         (js-mode): Use it.
35755         * test/lisp/progmodes/js-tests.el (js-mode-doc-comment-face): New
35756         test.
35758 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
35760         Don't use IP 0.0.0.0 for package test server (Bug#22582)
35762         * test/lisp/emacs-lisp/package-resources/package-test-server.py: Set
35763         'server_address' when port number is given on the command line.  Print
35764         IP and port number as a URL, and flush it after printing.
35765         * test/lisp/emacs-lisp/package-tests.el:
35766         (package-test-update-archives-async): Grab the whole URL from server
35767         output.
35769 2017-02-25  Tom Tromey  <tom@tromey.com>
35771         Add more branch support to vc-dir
35773         Bug#25859:
35774         * lisp/vc/vc-dir.el (vc-dir-mode-map) Add "B" bindings.
35775         * lisp/vc/vc.el (vc-revision-history): New defvar.
35776         (vc-read-revision): Use vc-revision-history.
35777         (vc-print-branch-log): New function.
35778         * doc/emacs/maintaining.texi (VC Directory Commands): Document new
35779         bindings.
35780         * etc/NEWS: Mention new vc-dir bindings.
35782 2017-02-25  Alan Mackenzie  <acm@muc.de>
35784         Allow for the :: operator in C++ "enum class" declarations.
35786         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for
35787         "::".
35789 2017-02-25  Michael Albinus  <michael.albinus@gmx.de>
35791         Fix bug#25854
35793         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
35794         Simplify error handling for huge inodes.
35795         (tramp-convert-file-attributes): Handle very huge inodes.  (Bug#25854)
35797 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
35799         Avoid leaving garbage on screen when using 'raise' display property
35801         * src/xdisp.c (display_line): Reset voffset value of the iterator
35802         when it hits ZV, to avoid "inheriting" it to glyph rows past ZV,
35803         which then leaves stuff on screen that needs to be cleared by
35804         redisplay.  (Bug#25855)
35806 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
35808         Fix doc strings in info.el
35810         * lisp/info.el (Info-selection-hook, Info-mode-hook)
35811         (Info-edit-mode-hook): Doc fixes.  (Bug#25794)
35813 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
35815         Fix doc string of 'posn-at-point'
35817         * src/keyboard.c (Fposn_at_point): Clarify the doc string.
35818         (Bug#25796)
35820 2017-02-25  Peder O. Klingenberg  <peder@klingenberg.no>
35822         New option -u / --suppress-output to emacsclient
35824         * lib-src/emacsclient.c (print_help_and_exit, longopts)
35825         (decode_options, main): Implement new option --suppress-output / -u to
35826         suppress printing of eval-results.
35827         * doc/emacs/misc.texi (emacsclient Options): Document the new
35828         "--suppress-output/-u" options.
35829         * etc/NEWS: Mention the new options.
35831 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
35833         Fix scrolling with partial line corner case (Bug#25792)
35835         Also fix up the scrolling tests so that they don't make so many
35836         assumptions about the current window configuration.
35838         * src/xdisp.c (try_window): Take partial line height into account when
35839         comparing cursor position against scroll margin.
35841         * test/manual/scroll-tests.el (scroll-tests-with-buffer-window): Add
35842         HEIGHT argument, to allow setting up window with exact height and
35843         partial line.
35844         (scroll-tests-display-buffer-with-height): New display-buffer action
35845         function.
35846         (scroll-tests-scroll-margin-over-max):
35847         (scroll-tests--scroll-margin-whole-window): Pass HEIGHT to
35848         `scroll-tests--scroll-margin-whole-window'.
35849         (scroll-tests-conservative-show-trailing-whitespace): New test.
35850         (scroll-tests-scroll-margin-negative): Fix line counting.
35851         (scroll-tests--point-in-middle-of-window-p): Set window height
35852         properly.
35854 2017-02-25  Tom Tromey  <tom@tromey.com>
35856         Fix indentation error in js.el
35858         * lisp/progmodes/js.el (js--indent-in-array-comp): Wrap forward-sexp
35859         call in condition-case.
35860         * test/lisp/progmodes/js-tests.el (js-mode-indentation-error): New
35861         test.
35863 2017-02-24  Tom Tromey  <tom@tromey.com>
35865         add "async" and "await" keywords
35867         * lisp/progmodes/js.el (js--keyword-re): Add async, await.
35869 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
35871         Use cl-print for Edebug and EIEIO
35873         * lisp/emacs-lisp/edebug.el (edebug-prin1-to-string): Use cl-print.
35874         (edebug-prin1, edebug-print): Remove.
35876         * lisp/emacs-lisp/eieio.el (object-print): Declare obsolete.
35877         (cl-print-object): Add a method for EIEIO objects.
35878         (eieio-edebug-prin1-to-string): Delete.
35879         (edebug-prin1-to-string): Don't advise any more.
35881         * lisp/emacs-lisp/eieio-datadebug.el (data-debug-insert-object-button):
35882         Replace `object-print' -> `cl-prin1-to-string'.
35884 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
35886         Fix left over uses of `call-next-method'
35888         * lisp/cedet/semantic/db-global.el (object-print):
35889         * lisp/cedet/semantic/db.el (object-print): Use `cl-call-next-method'.
35891 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
35893         Minor redisplay optimizations
35895         * src/frame.c (Ficonify_frame): No need to redisplay everything.
35897         * src/xdisp.c (overlay_arrows_changed_p): Add `set_redisplay' argument.
35898         (redisplay_internal): Use it to avoid redisplaying everything.
35899         (try_window_id): Use it keep the same behavior as before.
35901 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
35903         * lisp/emacs-lisp/cl-print.el: New file
35905         * lisp/emacs-lisp/nadvice.el (advice--where): New function.
35906         (advice--make-docstring): Use it.
35908         * src/print.c (print_number_index): Don't declare here any more.
35909         (Fprint_preprocess): New function.
35911         * test/lisp/emacs-lisp/cl-print-tests.el: New file.
35913 2017-02-24  Peder O. Klingenberg  <peder@klingenberg.no>
35915         Make calc's least common multiple positive (bug#25255)
35917         * lisp/calc/calc-comb.el (calcFunc-lcm): Return absolute value.
35918         * doc/misc/calc.texi (Combinatorial Functions): Update for the above.
35920 2017-02-24  Tino Calancha  <tino.calancha@gmail.com>
35922         Documentation fix in elisp reference manual
35924         * doc/lispref/macros.texi (Defining Macros): Drop redundant mention
35925         on 'declare' forms (Bug#25846).
35927 2017-02-24  Gemini Lasswell  <gazally@runbox.com>
35929         Support read syntax for circular objects in Edebug (Bug#23660)
35931         * lisp/emacs-lisp/edebug.el (edebug-read-special): New name
35932         for edebug-read-function. Handle the read syntax for circular
35933         objects.
35934         (edebug-read-objects): New variable.
35935         (edebug-read-and-maybe-wrap-form1): Reset edebug-read-objects.
35937         * src/lread.c (Fsubstitute_object_in_subtree): Make
35938         substitute_object_in_subtree into a Lisp primitive.
35940 2017-02-24  Lixin Chin  <lixinchin@gmail.com>  (tiny change)
35942         Add Conference to the list of valid bibtex entry types
35944         * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
35945         Add Conference as a duplicate of InProceedings.  (Bug#25143)
35947 2017-02-23  Glenn Morris  <rgm@gnu.org>
35949         * lisp/comint.el (comint-password-prompt-regexp): Add SUDO. (Bug#24817)
35951 2017-02-23  Glenn Morris  <rgm@gnu.org>
35953         Small dunnet score file improvements
35955         * lisp/play/dunnet.el (dun-log-file): Switch to per-user default.
35956         (dun-do-logfile): Handle non-existing score file.
35958 2017-02-23  Glenn Morris  <rgm@gnu.org>
35960         * lisp/play/dunnet.el (dun-help): Doc fix.
35962 2017-02-23  Mark Oteiza  <mvoteiza@udel.edu>
35964         Declare dun-line and dun-line-list
35966         Previously, there were free variables 'line' and 'line-list'.
35967         * lisp/play/dunnet.el (dun-line, dun-line-list): New variables.
35968         (dun-press, dun-vparse, dun-parse2, dun-unix-parse, dun-batch-parse):
35969         (dun-batch-parse2, dun-batch-loop, dun-batch-dos-interface):
35970         (dun-batch-unix-interface): Use them.
35972 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
35974         Merge from gnulib
35976         This incorporates:
35977         2017-02-16 xbinary-io: rename from xsetmode
35978         2017-02-15 xsetmode: new module
35979         * lib-src/etags.c (main):
35980         * lib-src/hexl.c (main):
35981         * src/emacs.c (main) [MSDOS]:
35982         Prefer set_binary_mode to the obsolescent SET_BINARY.
35983         * lib/binary-io.c, lib/binary-io.h: Copy from gnulib.
35985 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
35987         hexl: handle large files and I/O errors
35989         * lib-src/hexl.c: Include inttypes.h, for PRIxMAX etc.
35990         Do not include ctype.h, as the code no longer uses isdigit.
35991         (DEFAULT_GROUPING, un_flag, iso_flag, group_by): Now local to ‘main’.
35992         (DEFAULT_BASE, endian): Remove; was not really used.
35993         (usage): Remove; now done by ‘main’, as that’s simpler.
35994         (progname): Now static.
35995         (output_error, hexchar): New functions.
35996         (main): Use them.  Simplify.  Remove "-oct", "-big-endian", and
35997         "-little-endian" options, as they did not work and were not used.
35998         Use SET_BINARY only on stdin, and fopen with "rb" otherwise.
35999         Use SET_BINARY only once on stdout.
36000         Do not assume file offsets fit in ‘long’.
36001         If an I/O error occurs, report it and exit with nonzero status.
36003 2017-02-23  Eli Zaretskii  <eliz@gnu.org>
36005         Avoid quitting inside a critical section on MS-Windows
36007         * src/w32uniscribe.c (uniscribe_list_family):
36008         * src/w32font.c (w32font_list_family, w32font_text_extents)
36009         (w32font_list_internal, w32font_match_internal)
36010         (list_all_matching_fonts): Prevent quitting while these functions
36011         cons lists of fonts, to avoid leaving the critical section taken
36012         by the main thread, which will then cause any other thread
36013         attempting to enter the critical section to hang.  (Bug#25279)
36015 2017-02-22  Dmitry Gutov  <dgutov@yandex.ru>
36017         Use revision-completion-table in vc-retrieve-tag
36019         * lisp/vc/vc.el (vc-retrieve-tag): Use the
36020         revision-completion-table command for completion (bug#25710).
36022 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
36024         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types): Add `atom'
36026         remove entries whose car can't be returned by type-of.
36027         (cl--generic-all-builtin-types): New var.
36028         (cl-generic-generalizers): Use it to avoid requiring
36029         extra entries in cl--generic-typeof-types.
36031 2017-02-22  Noam Postavsky  <npostavs@gmail.com>
36033         Find macro binding for symbol-bound macros too (Bug#6848)
36035         There are 2 ways to bind a macro: with global-set-key or
36036         kmacro-bind-to-key.  The former binds a key to a symbol, while the
36037         latter binds to a lambda.  In 2010-03-03 "Fix keyboard macro key
36038         lookup (Bug#5481)", `insert-kbd-macro' was fixed to detect the lambda
36039         case, but broke the symbol case.
36041         * lisp/macros.el (insert-kbd-macro): Also check for bindings of
36042         MACRONAME.
36044 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
36046         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix last change
36048 2017-02-22  Juri Linkov  <juri@linkov.net>
36050         * lisp/isearch.el (lazy-highlight-max-at-a-time): Doc fix (bug#21092).
36052 2017-02-22  Juri Linkov  <juri@linkov.net>
36054         * lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.
36056         (isearch-lazy-highlight-update): Check it to decide whether to apply
36057         overlays only on the selected window.
36059         * lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
36060         (Bug#17453, bug#21092)
36062 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
36064         Minor weak hash table performance tweaks
36066         * src/fns.c (make_hash_table): Omit unnecessary assignment to
36067         h->next_weak when the hash table is not weak.
36068         (copy_hash_table): Put the copy next to the original in the
36069         weak_hash_tables list, as this should have better locality
36070         when scanning the weak hash tables.
36072 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
36074         Use float instead of Lisp_Object for rehash_size
36076         * src/alloc.c (purecopy_hash_table):
36077         * src/fns.c (maybe_resize_hash_table, Fmake_hash_table):
36078         (Fhash_table_rehash_size):
36079         * src/lisp.h (struct Lisp_Hash_Table.rehash_size):
36080         The rehash_size member of struct Lisp_Hash_Table is now a
36081         float, not a Lisp_Object.
36082         * src/alloc.c (purecopy_hash_table): Assign members in order.
36083         * src/fns.c (make_hash_table): Use EMACS_INT for size and
36084         float for rehash_size, instead of Lisp_Object for both.
36085         All callers changed.
36086         * src/lisp.h (DEFAULT_REHASH_SIZE): Now float, not double,
36087         and 1 smaller.
36088         * src/print.c (print_object): Simplify by calling
36089         Fhash_table_rehash_size and Fhash_table_rehash_threshold.
36090         Avoid unnecessary NILP.
36092 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
36094         Use ptrdiff_t instead of Lisp_Object for collision
36096         * src/alloc.c (purecopy_hash_table): Assign, don’t purecopy.
36097         * src/fns.c (set_hash_next_slot, set_hash_index_slot): Hash index
36098         arg is now ptrdiff_t index (or -1 if empty), not Lisp_Object
36099         integer (or Qnil if empty).  All callers changed.
36100         (larger_vecalloc): New static function.
36101         (larger_vector): Use it.
36102         (HASH_NEXT, HASH_INDEX): Move here from lisp.h.  Return ptrdiff_t
36103         index (or -1) not Lisp_Object integer (or Qnil).  All callers changed.
36104         * src/fns.c (make_hash_table, maybe_resize_hash_table, hash_lookup)
36105         (hash_put, hash_remove_from_table, hash_clear, sweep_weak_table):
36106         * src/profiler.c (evict_lower_half, record_backtrace):
36107         -1, not nil, is now the convention for end of collision list.
36108         * src/fns.c (maybe_resize_hash_table): Avoid double-initialization
36109         of the free list.  Reallocate H->next last, in case other
36110         reallocations exhaust memory.
36111         * src/lisp.h (struct Lisp_Hash_Table): ‘next_free’ is now
36112         ptrdiff_t, not Lisp_Object.  Adjust commentary for ‘next’ and
36113         ‘index’, which no longer contain nil.
36114         (HASH_NEXT, HASH_INDEX): Move to src/fns.c.
36116 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
36118         Hash table threshold is now float, not double
36120         Change default from 0.8 to 0.8125 so it fits in float without
36121         rounding glitches.
36122         * doc/lispref/hash.texi (Creating Hash):
36123         * doc/lispref/objects.texi (Hash Table Type):
36124         * etc/NEWS:
36125         Document change.
36126         * src/fns.c (make_hash_table, maybe_resize_hash_table)
36127         (Fmake_hash_table): Threshold is now float, not double.
36128         Be consistent about how this is rounded.
36129         * src/lisp.h (struct Lisp_Hash_Table.rehash_threshold):
36130         Change back to float, now that the other code rounds consistently.
36131         (DEFAULT_REHASH_THRESHOLD): Now float 0.8125 instead of double 0.8.
36133 2017-02-22  Juri Linkov  <juri@linkov.net>
36135         Avoid flicker in lazy-highlight by doing all updates without redisplay.
36137         * lisp/isearch.el (lazy-highlight-max-at-a-time):
36138         Change default value from 20 to nil to not trigger redisplay
36139         between updating iterations.
36140         (lazy-highlight-cleanup): New arg ‘procrastinate’ to not remove
36141         overlays when non-nil.
36142         (isearch-lazy-highlight-new-loop): Call lazy-highlight-cleanup
36143         with non-nil second arg when the search string is not empty.
36144         Run timer with isearch-lazy-highlight-start instead of
36145         isearch-lazy-highlight-update.
36146         (isearch-lazy-highlight-start): New function. (Bug#25751)
36148 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
36150         * lisp/emacs-lisp/autoload.el (make-autoload): Support cl-defgeneric
36152         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Tweak for autoloading.
36154 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
36156         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Fix duplication
36158         which resulted in incomplete list of parents in one copy of the
36159         cl-structure-class class.
36161 2017-02-21  Glenn Morris  <rgm@gnu.org>
36163         Tweak recent custom-reevaluate-setting change
36165         * lisp/custom.el (custom-reevaluate-setting):
36166         Tweak previous change to avoid font-lock init issues.
36168 2017-02-21  Glenn Morris  <rgm@gnu.org>
36170         Ensure delayed-init custom variables get marked special
36172         * lisp/custom.el (custom-reevaluate-setting):
36173         If the variable has never been set, defvar it.  (Bug#25770)
36175 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
36177         Turn on lexical-binding in dunnet.el
36179         * lisp/play/dunnet.el: Turn on lexical-binding.  Re-instate lexical
36180         byte compile warnings.
36182 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
36184         Make dunnet insertion functions n-ary
36186         * lisp/play/dunnet.el (dun-mprinc, dun-mprincl, dun-minsert):
36187         (dun-minsertl, dun-batch-mprinc, dun-batch-mprincl): Change to accept
36188         any number of arguments.
36189         (dun-parse, dun-describe-room, dun-quit, dun-inven, dun-shake):
36190         (dun-take, dun-go, dun-move, dun-press, dun-score):
36191         (dun-compile-save-out, dun-do-logfile): Collect arguments from
36192         multiple insertion calls into less calls with more args.
36194 2017-02-21  Katsumi Yamaoka  <yamaoka@jpl.org>
36196         message-goto-body-1: Fix regexp so as not to match multi-line
36198         * lisp/gnus/message.el (message-goto-body-1):
36199         Fix regexp so as not to match multi-line.
36201 2017-02-20  Noam Postavsky  <npostavs@gmail.com>
36203         Simplify cl-get using `plist-member'
36205         * lisp/emacs-lisp/cl-extra.el (cl-get, cl-getf, cl--set-getf): Use
36206         `plist-member' instead of explicit loop.
36207         * test/lisp/emacs-lisp/cl-extra-tests.el: New tests.
36209 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
36211         Verify xwidget USE_LSB_TAG assumption
36213         * src/xwidget.c (Fxwidget_webkit_execute_script):
36214         Add verification.  Problem reported by Andreas Schwab (Bug#25816#8).
36216 2017-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>
36218         * src/insdel.c (make_gap): Improve comment.
36220 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
36222         Do not use switch-to-buffer for working in a temp buffer
36224         * lisp/play/dunnet.el (dunnet): Use pop-to-buffer-same-window instead,
36225         cf. Bug#22244.
36226         (dun-load-d, dun-eval, dun-save-game, dun-do-logfile): Use
36227         with-temp-buffer instead.
36229 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
36231         Make dun-room-shorts a defconst
36233         * lisp/play/dunnet.el (dun-room-shorts): Make defconst and collect
36234         initial value into the declaration.
36235         (dun-space-to-hyphen): Remove.
36237 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
36239         Port xwidget to -DCHECK_LISP_OBJECT_TYPE
36241         * src/xwidget.c (webkit_javascript_finished_cb)
36242         (Fxwidget_webkit_execute_script): Don't assume Lisp_Object is an
36243         integer.  This fix is just a hack; I’ll file a bug report about
36244         the underlying problem.
36246 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
36248         mm-decode.el: Simplify regexp used to search html meta tag
36250         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag, mm-shr):
36251         Simplify regexp used to search html meta tag.
36253 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
36255         mm-shr: Ignore coding-system `ascii'
36257         * lisp/gnus/mm-decode.el (mm-shr): Ignore coding-system `ascii'.
36259 2017-02-20  Tom Tromey  <tom@tromey.com>
36261         vc-log-outgoing fixes for git; add binding to vc-dir
36263         * lisp/vc/vc-dir.el (vc-dir-mode-map): Bind "O" to vc-log-outgoing.
36264         * lisp/vc/vc-git.el (vc-git-log-outgoing, vc-git-log-incoming): Use
36265         async execution.
36266         (vc-git-log-view-mode): Also truncate lines for log-outgoing and
36267         log-incoming.
36268         * lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Don't pass nil
36269         as remote-location argument.
36271 2017-02-20  Tom Tromey  <tom@tromey.com>
36273         Remove stale comments from vc-git and vc-hg
36275         * lisp/vc/vc-git.el (vc-git-retrieve-tag): Remove comment.
36276         * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Remove comment.
36278 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
36280         Remove member clone
36282         * lisp/play/dunnet.el (dun-answer): Use member instead.
36283         (dun-members): Remove.
36285 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
36287         Prefix global var
36289         * lisp/play/dunnet.el (room): Rename to dun-room.
36290         (dun-messages, dunnet, dun-describe-room, dun-drop, dun-move):
36291         (dun-restore, dun-do-logfile, dun-batch-loop): Use new name.
36293 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
36295         Replace nested ifs with cond
36297         * lisp/play/dunnet.el (dun-messages, dun-describe-room, dun-examine):
36298         (dun-eat, dun-put-objs, dun-turn, dun-press, dun-ls, dun-cd): Use when
36299         and cond where appropriate.
36300         (dun-sauna-heat): Accept sauna level as an argument.  Use cond.
36301         (dun-take): Use null and dun-mprincl.
36302         (dun-inven-weight, dun-load-d): Reformat.
36303         (dun-remove-obj-from-inven, dun-remove-obj-from-room): Nix setq to nil.
36305 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
36307         Fix glitches in recent hash table changes
36309         * src/fns.c (Fmake_hash_table): Simplify the machine code slightly
36310         by using 0 rather than -1.
36311         * src/lisp.h (struct Lisp_Hash_Table.pure): Now bool rather
36312         than a bitfield, for speed (the bitfield did not save space).
36313         (struct Lisp_Hash_Table.rehash_threshold): Now double rather than
36314         float, since the float caused unwanted rounding errors, e.g.,
36315         (hash-table-rehash-threshold (make-hash-table)) yielded
36316         0.800000011920929 instead of the correct 0.8.
36318 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
36320         * src/insdel.c (make_gap): Increase enough to avoid O(N^2) behavior.
36322 2017-02-19  Eli Zaretskii  <eliz@gnu.org>
36324         Avoid aborts during loadup
36326         * src/emacs-module.c (syms_of_module):
36327         * src/image.c (xpm_make_color_table_h): Update calls to
36328         make_hash_table to adjust to a recent change in fns.c.
36329         * src/fns.c (make_hash_table):
36330         * src/lisp.h (make_hash_table): 4th arg is now of type double.
36332 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
36334         Rework connection local variables
36336         For connection local variables interface, `class' is renamed
36337         to `profile'.  All arguments `criteria' are a plist now.
36339         * doc/lispref/variables.texi (Connection Local Variables):
36340         Rewrite.
36342         * lisp/files-x.el (connection-local-profile-alist): Rename
36343         from `connection-local-class-alist'.  Adapt docstring.
36344         (connection-local-criteria-alist): Adapt docstring.
36345         (connection-local-normalize-criteria): New defun.
36346         (connection-local-get-profiles): Rename from
36347         `connection-local-get-classes'.  Rewrite.
36348         (connection-local-set-profiles): Rename from
36349         `connection-local-set-classes'.  Rewrite.
36350         (connection-local-get-profile-variables): Rename from
36351         `connection-local-get-class-variables'.  Rewrite.
36352         (connection-local-set-profile-variables): Rename from
36353         `connection-local-set-class-variables'.  Rewrite.
36354         (hack-connection-local-variables)
36355         (hack-connection-local-variables-apply)): Rewrite.
36356         (with-connection-local-profiles): Rename from
36357         `ith-connection-local-classes'.  Rewrite.
36359         * lisp/net/tramp.el (tramp-set-connection-local-variables):
36360         Compute criteria.
36362         * lisp/net/tramp-cmds.el (tramp-bug):
36363         Use `connection-local-profile-alist'.
36365         * test/lisp/files-x-tests.el (files-x-test--variables1)
36366         (files-x-test--variables2, files-x-test--variables3)
36367         (files-x-test--variables4, files-x-test--criteria1)
36368         (files-x-test--criteria2): Make them a defconst.
36369         (files-x-test--application)
36370         (files-x-test--another-application, files-x-test--protocol)
36371         (files-x-test--user, files-x-test--machine): New defconst.
36372         (files-x-test--criteria): New defvar.
36373         (files-x-test--criteria3): Remove.
36374         (files-x-test-connection-local-set-profile-variables):
36375         Rename from `files-x-test-connection-local-set-class-variables'.
36376         Rewrite.
36377         (files-x-test-connection-local-set-profiles): Rename from
36378         `files-x-test-connection-local-set-classes'.  Rewrite.
36379         (files-x-test-hack-connection-local-variables-apply)  Rewrite.
36380         (files-x-test-with-connection-local-profiles): Rename from
36381         `files-x-test-with-connection-local-classes'.  Rewrite.
36383 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
36385         Set up combination and random item location
36387         * lisp/play/dunnet.el (dun-combination): Make defconst.
36388         (tloc, tcomb): Remove.  Replace with a top-level form.
36390 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
36392         Replace movement variables with an alist and accessor
36394         * lisp/play/dunnet.el (north, south, east, west, northeast, southeast):
36395         (northwest, southwest, up, down, in, out): Remove.
36396         (dun-movement-alist): New constant.
36397         (dun-movement): New function.
36398         (dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se, dun-nw, dun-sw, dun-up):
36399         (dun-down, dun-in, dun-out): Use a symbol for indicating movement.
36400         (dun-move, dun-special-move): Translate movement symbol to an
36401         enumeration.
36403 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
36405         Change top-level setq forms to defvar or defconst
36407         Also collect some code onto fewer lines and reindent.
36408         * lisp/play/dunnet.el (dun-visited, dun-current-room, dun-exitf):
36409         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
36410         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
36411         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
36412         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
36413         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
36414         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
36415         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
36416         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
36417         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
36418         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
36419         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
36420         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
36421         (dun-diggables, dun-room-shorts, dun-endgame-questions): Change
36422         declaration to use defvar or defconst.
36423         (dun-doverb, dun-vparse, dun-vparse2, dun-batch-parse):
36424         (dun-batch-parse2): Omit the dun- prefix from arguments dun-ignore
36425         dun-verblist.  Those are now constants and the byte compiler doesn't
36426         allow defconsts in lambda lists.
36428 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
36430         Move all dunnet globals up to the top
36432         * lisp/play/dunnet.el: Adjust comments to reflect moved forms.
36433         (dun-visited, dun-current-room, dun-exitf):
36434         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
36435         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
36436         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
36437         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
36438         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
36439         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
36440         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
36441         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
36442         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
36443         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
36444         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
36445         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
36446         (dun-diggables, dun-room-shorts, dun-endgame-questions): Move to the
36447         top of the file, before any uses.
36449 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
36451         Fix bug#25788
36453         * lisp/net/tramp.el (tramp-autoload-file-name-handler):
36454         Do not load tramp.el just for "/".  (Bug#25788)
36456 2017-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
36458         Fix fringe bitmap initialization on MS-Windows
36460         * src/fringe.c (init_fringe_bitmap) [HAVE_NTGUI]: Fix initialization
36461         of fb->bits.  (Bug#25673)
36463 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
36465         Change type of `rehash_threshold' and `pure' fields in hash-tables
36467         * src/lisp.h (struct Lisp_Hash_Table): Change type of
36468         `rehash_threshold' and `pure' fields and move them after `count'.
36469         * src/fns.c (make_hash_table): Change type of `rehash_threshold' and `pure'.
36470         (Fmake_hash_table, Fhash_table_rehash_threshold):
36471         * src/category.c (hash_get_category_set):
36472         * src/xterm.c (syms_of_xterm):
36473         * src/profiler.c (make_log):
36474         * src/print.c (print_object):
36475         * src/alloc.c (purecopy_hash_table, purecopy): Adjust accordingly.
36477 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
36479         Use 'char *FOO' instead of 'char* FOO'
36481 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
36483         More json.el changes
36485         * lisp/json.el (json-read-keyword, json-read-number, json-read-object):
36486         (json-read-array): Just use = for char comparison.
36488 2017-02-18  Noam Postavsky  <npostavs@gmail.com>
36490         * lisp/woman.el (woman): Fix docstring prefix arg description.
36492 2017-02-18  Alan Mackenzie  <acm@muc.de>
36494         Fix edebug-spec on c-lang-defvar.
36496         This allows c-lang-defvars with the symbol 'dont-doc in the place of the
36497         optional documentation to be instrumented for edebug.
36499         lisp/progmodes/cc-langs.el (top-level): Amend the edebug-spec for
36500         c-lang-defvar.
36501         (c-opt-identifier-concat-key, c-decl-prefix-or-start-re): remove redundant
36502         'dont-doc.
36504 2017-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
36506         Lists used as plists now have to be an even length
36508         * lisp/net/eww.el (eww-size-text-inputs): `eww-form' isn't a plist.
36509         (eww-process-text-input): Not here, either.
36511 2017-02-18  Michael Albinus  <michael.albinus@gmx.de>
36513         Unset `non-essential' in Tramp when not needed anymore
36515         * doc/misc/trampver.texi:
36516         * lisp/net/trampver.el: Change version to "2.3.2-pre".
36518         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
36519         Use `tramp-completion-mode-p'.
36521         * lisp/net/tramp.el (tramp-file-name-handler): Unset `non-essential'
36522         when file name doesn't match `tramp-completion-file-name-regexp'.
36524 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
36526         Automatically regenerate emacs.1 and *.rc files
36528         * Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
36529         non-Makefile files produced by config.status.
36530         ($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
36531         their targets are regenerated when the source changes.
36533 2017-02-18  Alan Mackenzie  <acm@muc.de>
36535         Set the syntax table in AWK Mode.
36537         This is a partial reversion of CC Mode commit on 2016-05-09 17:49:45 +0000.
36538         It fixes bug #25722.
36540         lisp/progmodes/cc-mode.el (awk-mode): Explicitly set the syntax table.
36542 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
36544         Mention "editor" in Emacs man page header
36546         * doc/man/emacs.1.in: Mention "editor" in the header line.
36547         (Bug#25771, Bug#25779)
36549 2017-02-18  Göktuğ Kayaalp  <self@gkayaalp.com>
36551         Fix Turkish language environment setup
36553         * lisp/language/european.el ("Turkish"): Fix a typo in Turkish
36554         language setup.  (Bug#25763)
36556 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
36558         Support 24-bit direct colors on text terminals
36560         * src/term.c (init_tty): Use 24-bit terminal colors if corresponding
36561         foreground and background functions are present in terminal type
36562         definition.
36563         * src/tparam.h: Define prototype for tigetstr.
36565         * lisp/term/tty-colors.el (tty-color-define): Convert color palette
36566         index to pixel value on 16.7M color terminals.
36567         (tty-color-24bit): New function to convert color palette index to
36568         pixel value on 16.7M color terminals.
36569         (tty-color-desc): Don't approximate colors on 16.7M color terminals.
36570         * lisp/term/xterm.el (xterm-register-default-colors): Define all named
36571         TTY colors on 16.7M color terminals.
36573         * doc/misc/efaq.texi (Colors on a TTY): Add instructions on how to
36574         enable direct color TTY mode.
36575         * etc/NEWS: Mention direct color TTY mode and point to FAQ.
36577 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
36579         Remove unused TN_max_pairs field
36581         * src/termchar.h (tty_display_info): Remove TN_max_pairs field,
36582         describing maximum number of terminal background/foreground color pairs.
36583         * src/term.c (tty_default_color_capabilities, tty_setup_colors)
36584         (init_tty): Remove references to TN_max_pairs.
36586 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
36588         Improve documentation of query-replace-from-to-separator
36590         * doc/emacs/search.texi (Query Replace): Document the meaning of
36591         the nil value of query-replace-from-to-separator.  (Bug#25482)
36593 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
36595         Document problems with nerd-fonts
36597         * etc/PROBLEMS (fonts): Describe the potential problems with
36598         nerd-fonts that cause slow display.  (Bug#25697)
36600 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
36602         Improve commentary for a recent change in keyboard.c
36604         * src/keyboard.c (Fset__this_command_keys): Add a comment about
36605         the magic 248 value.  (Bug#25612)
36607 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
36609         Avoid infloop in rect.el
36611         * lisp/rect.el (rectangle--*-char): Avoid inflooping when called
36612         with argument N whose absolute value is greater than 1.  (Bug#25773)
36614 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
36616         Remove annoying warnings about let-binding
36618         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
36619         Remove warnings about making symbols local while let-bound.
36620         (Bug#25561)
36622 2017-02-18  Hong Xu  <hong@topbug.net>
36624         Avoid errors when flyspell-generic-check-word-predicate is a lambda.
36626         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word, flyspell-word): Apply
36627         functionp instead of fboundp on
36628         flyspell-generic-check-word-predicate (Bug#25765).
36630 2017-02-18  Glenn Morris  <rgm@gnu.org>
36632         Remove the build number from emacs-version variable
36634         It's a largely internal detail that can confuse users.  (Bug#25590)
36635         * lisp/version.el (emacs-build-number): New constant.
36636         (emacs-version): Use emacs-build-number.
36637         * lisp/loadup.el (top-level): When dumping, increment
36638         emacs-build-number rather than emacs-version.
36639         * src/emacs.c (emacs-version): Doc fix.
36640         * doc/lispref/intro.texi (Version Info): Update emacs-version details.
36641         Mention emacs-build-number.
36642         * lisp/gnus/gnus-util.el (gnus-emacs-version):
36643         * lisp/mail/emacsbug.el (report-emacs-bug):
36644         * admin/admin.el (set-version): Update for emacs-version change.
36646 2017-02-18  Glenn Morris  <rgm@gnu.org>
36648         Ensure that user-mail-address always has a value
36650         * lisp/startup.el (user-mail-address): Initialize in the normal way.
36651         (command-line): Reset user-mail-address if needed using
36652         standard custom machinery.
36653         * lisp/mail/feedmail.el (feedmail-fiddle-from):
36654         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
36655         * lisp/mail/rmailsum.el (rmail-header-summary):
36656         Simplify now that user-mail-address is always set.
36658 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
36660         Turn on lexical-binding in ruby-mode
36662         * lisp/progmodes/ruby-mode.el: Turn on lexical-binding.
36663         (ruby-font-lock-syntax-table): Use make-syntax-table.
36664         (ruby-mode): 'define-derived-mode' writes the keys for us.
36666 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
36668         Turn on lexical-binding in elint.el
36670         * lisp/emacs-lisp/elint.el: Quote entry point commands in commentary.
36671         (elint-running, elint-current-pos): Move these dynamic vars to toward
36672         the top of the file.
36673         (elint-check-quote-form): Ignore unused argument.
36674         (elint-check-conditional-form): Remove unused binding.
36676 2017-02-18  Gemini Lasswell  <gazally@runbox.com>
36678         * lisp/emacs-lisp/subr-x.el (if-let*): Fix Edebug spec (Bug#24748)
36680 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
36682         Enable erc-accidental-paste-threshold-seconds by default
36684         * lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Set
36685         default to 0.2 (Bug#25709).
36687 2017-02-17  Michal Nazarewicz  <mina86@mina86.com>
36689         Fix build failure caused by ‘Generate upcase and downcase tables from Unicode’
36691         The [5ec3a584: Generate upcase and downcase tables from Unicode data]
36692         commit broke bootstrap from a truly clean tree (e.g. a fresh clone or
36693         one created with ‘make extraclean’), see
36694         <http://hydra.nixos.org/build/48774928>.
36696         The failure was caused by characters.el trying to read Unicode
36697         property tables which aren’t available so early in the build process.
36699         Wrap the part that requires Unicode property tables in a condition
36700         checking if those are available.  If they aren’t they case and syntax
36701         tables won’t be fully set but later on, the characters.el file will be
36702         evaluated again and this time with Unicode properties available so
36703         final Emacs ends up with the exact same case and syntax tables.
36705 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
36707         mm-add-meta-html-tag: Improve regexp
36709         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag):
36710         Improve regexp to search html meta tag.
36712 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
36714         mm-shr: Prefer charset specified in html meta tag
36716         * lisp/gnus/mm-decode.el (mm-shr): Prefer charset specified in html
36717         meta tag than mail-parse-charset in the case there is no charset spec
36718         in MIME header.
36720 2017-02-17  Glenn Morris  <rgm@gnu.org>
36722         Stop duplicating some custom-types in message.el
36724         * lisp/gnus/message.el (user-mail-address, user-full-name):
36725         No need to re-specify custom-type.
36727 2017-02-17  Glenn Morris  <rgm@gnu.org>
36729         Whitespace trivia in dunnet.el
36731         * lisp/play/dunnet.el (dun-special-object, dun-put-objs)
36732         (dun-rlogin-endgame): Whitespace trivia.
36734 2017-02-17  Glenn Morris  <rgm@gnu.org>
36736         Explicit error on changing case of negative integers
36738         * src/casefiddle.c (casify_object): Reject negative integers:
36739         Emacs characters are positive integers.  (Bug#25684)
36741 2017-02-17  Dmitry Gutov  <dgutov@yandex.ru>
36743         Fix buffers update in vc-retrieve-tag
36745         * lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
36746         `repository', use the repository root and pass it to
36747         vc-resynch-buffer (bug#25714).
36749 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
36751         * src/buffer.h: Fix indenting.
36753 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
36755         Add sanity checks for Bswitch hash tables
36757         * src/bytecode.c (exec_byte_code) [BYTE_CODE_SAFE]:
36758         Check that operand is a hash table and hashes to ints.
36760 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
36762         * src/keyboard.c (read_key_sequence): Fix integer-overflow glitch.
36764 2017-02-16  Vibhav Pant  <vibhavp@gmail.com>
36766         bytecomp.el: Avoid unnecessary calculation for jump table addresses.
36768         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Don't do
36769           redundant operations while calculating the correct jump addresses
36770           from TAGs in jump tables.
36772 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
36774         Minor changes in json.el
36776         * lisp/json.el (json-advance): Simpler docstring.
36777         (json-read-escaped-char): Use xdigit subform in rx expression.
36778         (json-read-string): Just use = for char comparison.
36780 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
36782         Don't expand body inside a let-binding when there are no bindings
36784         * lisp/emacs-lisp/pcase.el (pcase-codegen): Only let-bind if VARS
36785         is non-nil.
36787 2017-02-16  Glenn Morris  <rgm@gnu.org>
36789         Handle user-mail-address being the empty string
36791         * lisp/mail/feedmail.el (feedmail-fiddle-from):
36792         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
36793         * lisp/mail/rmailsum.el (rmail-header-summary):
36794         Belated update for 2002-09-29 startup.el change, 680ebfa, where
36795         the value of user-mail-address during initialization was changed
36796         from nil to the empty string.
36798 2017-02-15  Michael Albinus  <michael.albinus@gmx.de>
36800         Continue to fix bug#25607
36802         * lisp/ido.el (ido-complete): Let-bind `non-essential' to nil.
36803         (ido-file-name-all-completions-1): Do not bind `non-essential'.
36805         * lisp/net/tramp.el: (tramp-completion-file-name-handler):
36806         Improve autoloaded version.
36807         (tramp-completion-file-name-handler): Remove old compat code.
36808         Check only for `tramp-completion-mode-p'.
36809         (tramp-completion-mode-p): Autoload.  Do not check any longer
36810         for `last-input-event'.
36811         (tramp-completion-handle-expand-file-name): Simplify.  (Bug#25607)
36813 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
36815         casing: don’t assume letters are *either* upper- or lower-case  (bug#24603)
36817         A compatibility digraph characters, such as Dž, are neither upper- nor
36818         lower-case.  At the moment however, those are reported as upper-case¹
36819         despite the fact that they change when upper-cased.
36821         Stop checking if a character is upper-case before trying to up-case it
36822         so that title-case characters are handled correctly.  This fixes one of
36823         the issues mentioned in bug#24603.
36825         ¹ Because they change when converted to lower-case.  Notice an asymmetry
36826           in that for a character to be considered lower-case it must not be
36827           upper-case (plus the usual condition of changing when upper-cased).
36829         * src/buffer.h (upcase1): Delete.
36830         (upcase): Change to upcase character unconditionally just like downcase
36831         does it.  This is what upcase1 was.
36833         * src/casefiddle.c (casify_object, casify_region): Use upcase instead
36834         of upcase1 and don’t check !uppercasep(x) before calling upcase.
36836         * src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
36837         downcase(x) and see if it changed.
36839         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
36840         casefiddle-tests-casing): Update test cases which are now passing.
36842 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
36844         Generate upcase and downcase tables from Unicode data  (bug#24603)
36846         Use Unicode data to generate case tables instead of mostly repeating
36847         them in lisp code.  Do that in a way which maps ‘Dz’ (and similar)
36848         digraph to ‘dz’ when down- and ‘DZ’ when upcasing.
36850         https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all
36851         changes to syntax table and case tables introduced by this commit.
36853         * lisp/international/characters.el: Remove case-pairs defined with
36854         explicit Lisp code and instead use Unicode character properties.
36856         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
36857         casefiddle-tests-casing): Update test cases which are now working
36858         as they should.
36860 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
36862         Add tests for casefiddle.c  (bug#24603)
36864         Fixes cases marked FIXME upcoming in followup commits.
36866         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties,
36867         casefiddle-tests-case-table, casefiddle-tests-casing-character,
36868         casefiddle-tests-casing, casefiddle-tests-casing-byte8,
36869         casefiddle-tests-casing-byte8-with-changes): New tests.
36870         (casefiddle-tests--test-casing): New helper function for runnig
36871         some of the tests.
36873 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
36875         oldXMenu: add missing #include <string.h>
36877         Some of the files in oldXMenu use functions from string.h without
36878         including that header which results in compile warnings:
36880                 ChgPane.c:46:5: warning: implicit declaration of function ‘strlen’
36881                 ChgPane.c:46:20: warning: incompatible implicit declaration of
36882                         built-in function ‘strlen’
36883                 ChgSel.c:62:2: warning: implicit declaration of function ‘strlen’
36884                 ChgSel.c:62:17: warning: incompatible implicit declaration of built-in
36885                         function ‘strlen’
36886                 Create.c:220:5: warning: implicit declaration of function ‘strcmp’
36887                 InsPane.c:65:5: warning: implicit declaration of function ‘strlen’
36888                 InsPane.c:65:20: warning: incompatible implicit declaration of
36889                         built-in function ‘strlen’
36890                 InsSel.c:68:5: warning: implicit declaration of function ‘strlen’
36891                 InsSel.c:68:20: warning: incompatible implicit declaration of built-in
36892                         function ‘strlen’
36893                 InsSel.c:75:5: warning: implicit declaration of function ‘strcmp’
36895         Add the necessary ‘#include <string.h>’.
36897         oldXMenu/ChgPane.c, oldXMenu/ChgSel.c, oldXMenu/Create.c, oldXMenu/InsPane.c,
36898         oldXMenu/InsSel.c: add missing #include <string.h>
36900 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
36902         Fixup recent rmail patch
36904         * lisp/mail/rmail.el (rmail-epa-decrypt): Remove unused local.
36906 2017-02-15  Richard Stallman  <rms@gnu.org>
36908         Rmail fix
36910         * lisp/mail/rmail.el (rmail-epa-decrypt-1): Include the just-decrypted text
36911         as element 4 of the value.
36912         (rmail-epa-decrypt): Take the text to insert from that element.
36914 2017-02-15  Vibhav Pant  <vibhavp@gmail.com>
36916         bytecomp-tests.el: Store all test forms in one constant.
36918         * test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
36919         in a single constant (byte-opt-testsuite-arith-data), add new forms
36920         which generate lapcode with adjacent/redundant tags.
36922 2017-02-15  Glenn Morris  <rgm@gnu.org>
36924         Small lispref edit
36926         * doc/lispref/os.texi (User Identification):
36927         Remove extraneous detail about user-mail-address.
36929 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
36931         Document fill-separate-heterogeneous-words-with-space (bug#25685)
36933         * doc/lispref/text.texi (Filling):
36934         Document fill-separate-heterogeneous-words-with-space (bug#25685).
36936 2017-02-15  Noam Postavsky  <npostavs@gmail.com>
36938         Test comment-multi-line = nil auto fill case too
36940         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
36941         `comment-multi-line' both nil and non-nil.
36942         * lisp/newcomment.el (comment-multi-line): Mark safe if it's a
36943         boolean.
36944         * etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.
36946 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
36948         Don't delete leading and trailing space from CJK word (bug#25685)
36950         * lisp/textmodes/fill.el (fill-delete-newlines):
36951         Don't delete leading and trailing space from CJK word.
36952         (fill-separate-heterogeneous-words-with-space):
36953         New user option that controls it (bug#25685).
36955 2017-02-15  Juri Linkov  <juri@linkov.net>
36957         ‘M-s w RET word C-s’ repeats incremental search.
36959         * lisp/isearch.el (isearch-new-nonincremental): New variable.
36960         (with-isearch-suspended): Bind isearch-new-nonincremental to
36961         isearch-nonincremental, and restore it afterwards.
36962         (isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
36963         Set isearch-new-nonincremental to nil.  (Bug#25562)
36965 2017-02-14  Tom Tromey  <tom@tromey.com>
36967         Make vc-git detect conflict state for vc-dir
36969         * lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
36970         (vc-git-dir-status-update-file): New function.
36971         (vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
36972         vc-git-dir-status-state; add 'ls-files-conflict state.
36973         (vc-git-dir-status-files): Create a vc-git-dir-status-state.
36975 2017-02-14  Vibhav Pant  <vibhavp@gmail.com>
36977         byte-opt: Replace merged tags in jump tables too. (bug#25716)
36979         * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
36980           adjacent tags, make sure that the old tag is replaced in all jump
36981           tables, if any. This fixes the bytecode VM jumping to the wrong
36982           address in compiled cond forms where the body of a clause was a loop
36983           of any sort.
36985 2017-02-14  Glenn Morris  <rgm@gnu.org>
36987         Remove overly broad element from default mail-dont-reply-to-names
36989         * lisp/mail/mail-utils.el (mail-dont-reply-to):
36990         Do not include just "user@" in mail-dont-reply-to-names, and simplify.
36991         Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html
36992         * lisp/gnus/message.el (message-dont-reply-to-names): Doc fix.
36993         * doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names.
36995 2017-02-14  Juri Linkov  <juri@linkov.net>
36997         * etc/NEWS: Mention query-replace-from-to-separator.  (Bug#25482)
36999 2017-02-13  Arash Esbati  <arash@gnu.org>
37001         Match all characters in optional argument of \documentclass
37003         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Match all
37004         characters in optional argument containing name of the main file.
37006 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
37008         Merge branch 'master' into feature/byte-switch
37010 2017-02-13  Katsumi Yamaoka  <yamaoka@jpl.org>
37012         Fix non-ASCII text encoding (bug#25658)
37014         * lisp/gnus/mm-bodies.el (mm-encode-body):
37015         Fix non-ASCII text encoding (bug#25658).
37017 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
37019         test/lisp/emacs-lisp/bytecomp-tests.el: Add more tests for switch.
37021 2017-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
37023         * doc/lispref/modes.texi (Derived Modes): Make example more idiomatic
37025 2017-02-13  Glenn Morris  <rgm@gnu.org>
37027         Fix recent bootstrap issue by moving string-to-list
37029         * lisp/international/mule-util.el (string-to-list, string-to-vector):
37030         Move from here...
37031         * lisp/subr.el (string-to-list, string-to-vector): ...to here.
37032         The implementation is trivial and at least string-to-list
37033         has ended up being needed early during bootstrap.
37035 2017-02-13  Glenn Morris  <rgm@gnu.org>
37037         Doc fixes related to mail-host-address
37039         * lisp/startup.el (mail-host-address): Doc fix.
37040         * doc/lispref/os.texi (System Environment):
37041         Remove extraneous details of mail-host-address.
37043 2017-02-13  Glenn Morris  <rgm@gnu.org>
37045         Simplify time-stamp mail host usage
37047         * lisp/time-stamp.el (time-stamp-mail-host-name): Remove function.
37048         (time-stamp-string-preprocess): Handle "h" (mail host) directly.
37050 2017-02-13  Glenn Morris  <rgm@gnu.org>
37052         Doc fix for vhdl-mode re mail-host-address
37054         * lisp/progmodes/vhdl-mode.el (vhdl-file-header): Doc fix.
37055         (mail-host-address): Do not add to vhdl-related custom group,
37056         since vhdl-template-replace-header-keywords doesn't use it.
37058 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
37060         Substitute leading $HOME/ in xdg-user-dirs
37062         * lisp/xdg.el (xdg--substitute-home-env): New function.
37063         (xdg--user-dirs-parse-line): Use it.
37064         (xdg-user-dir): Expand ~/ in xdg-user-dirs values.
37066 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
37068         * lisp/buff-menu.el: Turn on lexical-binding.
37070 2017-02-13  Juri Linkov  <juri@linkov.net>
37072         * lisp/replace.el (query-replace-from-to-separator): Move propertize
37074         and char-displayable-p test to query-replace-read-from.
37075         Add choice nil to disable this feature.
37076         (query-replace-read-from): Don't reevaluate custom setting.
37077         Use char-displayable-p to test the first non-whitespace character
37078         in query-replace-from-to-separator, use " -> " when fails.
37079         Add prompt for the case when separator is nil but
37080         query-replace-defaults is non-nil.
37081         Remove unused test for regexp-flag.
37082         Thanks to Thierry Volpiatto <thierry.volpiatto@gmail.com>
37084 2017-02-13  Karl Fogel  <kfogel@red-bean.com>
37086         Convert more uses of `looking-at' to `following-char'
37088         This follows up to Mark Oteiza's commit of 12 Feb 2017, 14:46:03 UTC
37089         (commit 91478f46238a) with more of the same.
37091         * lisp/bookmark.el (bookmark-send-edited-annotation):
37092           (bookmark-bmenu-execute-deletions): Replace instances of looking-at
37093           with char comparisons using following-char.
37095 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
37097         Fix typos in tests for lax-plist-get etc.
37099         Problem reported by Eli Zaretskii (Bug#25606#62).
37100         * test/src/fns-tests.el (test-cycle-lax-plist-get)
37101         (test-cycle-plist-put, test-cycle-lax-plist-put):
37102         Fix tests to match behavior.
37104 2017-02-12  Michael Albinus  <michael.albinus@gmx.de>
37106         Fix bug#25607
37108         * lisp/net/tramp.el (tramp-completion-file-name-handler):
37109         Improve autoloaded version.
37110         (tramp-autoload-file-name-handler): Avoid recursive load.
37111         (tramp-completion-handle-expand-file-name): Handle empty NAME.
37112         (Bug#25607)
37114 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
37116         Remove server-buffer-clients string from minor-mode-alist
37118         * lisp/server.el: Don't put an element for server-buffer-clients into
37119         minor-mode-alist. (Bug#20201)
37121 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
37123         Nix some useless uses of looking-at, looking-back
37125         * lisp/allout.el (allout-kill-topic):
37126         (allout-next-topic-pending-encryption):
37127         * lisp/bookmark.el (bookmark-kill-line):
37128         * lisp/cus-edit.el (custom-save-variables, custom-save-faces):
37129         * lisp/cus-theme.el (custom-theme-write-variables):
37130         (custom-theme-write-faces):
37131         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
37132         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer):
37133         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-loop):
37134         (checkdoc-interactive-ispell-loop):
37135         (checkdoc-message-interactive-ispell-loop, checkdoc-this-string-valid):
37136         (checkdoc-this-string-valid-engine):
37137         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
37138         * lisp/emulation/viper-cmd.el (viper-backward-indent):
37139         * lisp/image-dired.el (image-dired-delete-char):
37140         * lisp/simple.el (kill-visual-line): Replace instances of looking-at,
37141         looking-back with char comparisons using following-char, preceding-char.
37143 2017-02-12  Eli Zaretskii  <eliz@gnu.org>
37145         Clarify what is the "cursor"
37147         * doc/lispref/windows.texi (Window Point): Clarify the notion of
37148         "cursor".
37150 2017-02-11  Tom Tromey  <tom@tromey.com>
37152         Recognize JS regexp literals more correctly
37154         Bug#25529
37155         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): New
37156         constant.
37157         (js-syntax-propertize-regexp): Use it.  Remove "end" argument.
37158         (js--syntax-propertize-regexp-syntax-table): Remove.
37159         (js-syntax-propertize): Update.
37160         * test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax-bug-25529):
37161         New test.
37163 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
37165         src/bytecode.c (exec_byte_code): Make hash_code a Lisp_Object.
37167         This avoids using XUINT every time while comparing it with
37168         HASH_HASH (h, i), replacing it with EQ.
37170 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
37172         src/bytecode.c (exec_byte_code): Remove unnecessary (e)assert.
37174 2017-02-11  Tom Tromey  <tom@tromey.com>
37176         Fix bug in css--mdn-find-symbol
37178         * lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace
37179         before skipping word characters.
37180         test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add
37181         regression test.
37183 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
37185         src/bytecode.c: Add optional sanity check for jump tables.
37187         * src/bytecode.c (exec_byte_code): When sanity checks are enabled,
37188           check that the jump table's size is equal to it's count.
37190 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
37192         Merge branch 'master' into feature/byte-switch
37194         * src/bytecode.c: Refactor to follow GNU coding standards
37196 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
37198         Fix handling of XBM images on MS-Windows
37200         * src/image.c (xbm_load) [HAVE_NTGUI]: Fix calculation of
37201         'nbytes' when inverting XBM data bits.  (Bug#25661)
37203 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
37205         Fix handling of PBM data
37207         * src/image.c (pbm_load): Handle PBM data with no blanks between
37208         individual pixel values correctly.  (Bug#25660)
37210 2017-02-10  Noam Postavsky  <npostavs@gmail.com>
37212         Fix warnings in debug tracing code
37214         * src/xdisp.c (dump_glyph, dump_glyph_string):
37215         * src/xfaces.c (dump_realized_face): Cast arguments or adjust format
37216         specifiers to match signedness.
37218 2017-02-10  Sam Steingold  <sds@gnu.org>
37220         Extract grep-find-ignored-directories processing from rgrep-default-command
37222         (rgrep-find-ignored-directories): Extract from `rgrep-default-command'.
37223         Some Emacs packages use `grep-find-ignored-directories' to ignore some
37224         directories, so will use this function instead of custom code.
37225         (rgrep-default-command): Use `rgrep-find-ignored-directories'.
37227 2017-02-10  Vibhav Pant  <vibhavp@gmail.com>
37229         src/bytecode.c: Avoid comparing values unnecessarily in Bswitch
37231         * src/bytecode.c: (exec_byte_code) While linear searching the jump
37232           table, compare the value's hash table first to avoid calling
37233           h->test.cmpfn every time.
37235 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
37237         Fix a few integer-overflow glitches
37239         * src/composite.c (composition_compute_stop_pos, composition_reseat_it):
37240         * src/dispextern.h (struct composition_it.rule_idx):
37241         * src/keyboard.c (Fset__this_command_keys):
37242         * src/xwidget.c (webkit_js_to_lisp):
37243         Don’t assume object sizes fit in ‘int’.
37244         * src/xwidget.c (Fxwidget_resize):
37245         Don’t assume Emacs integers fit in ‘int’.
37247 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
37249         Fix a bug with displaying an image after a TAB
37251         * src/xdisp.c (display_line): Handle TAB at end of screen line
37252         specially only when we are displaying characters.  (Bug#25662)
37254 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
37256         Improve commentary in lisp.h
37258         * src/lisp.h: Explain in the comment why enlarging a Lisp_Misc
37259         object is discouraged.
37261 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
37263         Move cyclic tests to fns-tests.el
37265         * test/src/fns-tests.el (cyc1, cyc2, dot1, dot2): New functions.
37266         (test-cycle-length, test-cycle-safe-length, test-cycle-member)
37267         (test-cycle-memq, test-cycle-memql, test-cycle-assq)
37268         (test-cycle-assoc, test-cycle-rassq, test-cycle-rassoc)
37269         (test-cycle-delq, test-cycle-delete, test-cycle-reverse)
37270         (test-cycle-plist-get, test-cycle-lax-plist-get)
37271         (test-cycle-plist-member, test-cycle-plist-put)
37272         (test-cycle-lax-plist-put, test-cycle-equal, test-cycle-nconc):
37273         New tests.
37274         * test/manual/cyclic-tests.el: File deleted.
37276 2017-02-10  Gemini Lasswell  <gazally@runbox.com>
37278         Fix instrumenting code with propertized strings in Edebug
37280         * lisp/emacs-lisp/edebug.el (edebug-read-function): Allow
37281         'read' to decide what is and isn't a syntax error.  (Bug#25068)
37283 2017-02-10  Vladimir Panteleev  <vladimir@thecybershadow.net>
37285         Improve fontification in bat-mode
37287         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Match
37288         word and symbol constituents when looking for variable names
37289         to fontify; also, correct the syntax table and mark the equal
37290         sign (=) character as punctuation.  Improve fontification
37291         accuracy of iteration/positional variables.
37292         (bat-mode): Set comment-start-skip.  (Bug#25541)
37294         * test/lisp/progmodes/bat-mode-tests.el: New file, tests for
37295         bat-mode.el.
37297 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
37299         Restore special setting of this-command-keys by M-x
37301         It was lost when execute-extended-command was reimplemented in Lisp.
37303         * src/keyboard.c (Fset__this_command_keys): New function.
37304         (syms_of_keyboard): Defsubr it.
37306         * lisp/simple.el (execute-extended-command): Set this-command-keys
37307         as novice.el expects.  (Bug#25612)
37309 2017-02-09  Juri Linkov  <juri@linkov.net>
37311         * lisp/isearch.el (isearch-search-fun-default): Set isearch-adjusted
37313         to t to display "Pending" in the search prompt for lax
37314         word/symbol search (bug#25562).  Don't use lax for lazy-highlighting
37315         when 'bound' is non-nil.
37316         (word-search-regexp, isearch-symbol-regexp): Don't depend on lax
37317         at the beginning of regexp (bug#22589).
37319         * lisp/info.el (Info-isearch-search):
37320         Use isearch--lax-regexp-function-p.
37322         * doc/emacs/search.texi (Word Search, Symbol Search):
37323         Mention "Pending" prompt for lax word/symbol search.
37325 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
37327         src/bytecode.c (exec_byte_code): Remove unneeded assert.
37329         bytecode.c (exec_byte_code): Use h->count instead of HASH_TABLE_SIZE
37331 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
37333         bytecode.c (exec_byte_code): don't check hash code in linear search.
37335         * src/bytecode.c (exec_byte_code): Don't check that the hash code is
37336           not nil when linear scanning the jump table. Hash tables for are
37337           declared with :size as the exact number of cases, so each entry i
37338           should have a hash code. When BYTE_CODE_SAFE, do it as a sanity
37339           check.
37341 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
37343         Ibuffer: Update mode documentation
37345         * lisp/ibuffer.el (ibuffer-mode): List newest commands in mode documentation.
37347 2017-02-09  Steven Allen  <steven@stebalien.com>  (tiny change)
37349         Fix environment variable for xdg-data-dirs
37351         * lisp/xdg.el (xdg-data-dirs): Use XDG_DATA_DIRS, not XDG_CONFIG_DIRS
37353 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
37355         Ibuffer: Erase output buffer before shell commands
37357         * lisp/ibuf-macs.el (define-ibuffer-op): Add keyword arguments
37358         BEFORE and AFTER; they are forms to run before/after the operation.
37359         * lisp/ibuf-ext.el (ibuffer--maybe-erase-shell-cmd-output):
37360         New defun; if shell-command-dont-erase-buffer is nil, then
37361         erase shell command output buffer.
37362         (ibuffer-do-shell-command-pipe, ibuffer-do-shell-command-file): Use it.
37364 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
37366         Ibuffer: Don't truncate shell command output
37368         * lisp/ibuf-ext.el (ibuffer-do-shell-command-pipe)
37369         (ibuffer-do-shell-command-pipe-replace)
37370         Use 'call-shell-region' (Bug#22679).
37371         (ibuffer-do-shell-command-file): Use call-process-shell-command.
37372         If FILE, the file that the buffer object is visiting,
37373         exists and the buffer is up-to-date, then use
37374         FILE instead of creating a temporary file (Bug#22679).
37376 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
37378         Improve byte-switch execution.
37380         * lisp/emacs-lisp/byte-opt.el,
37381           lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
37382           (byte-compile-lapcode): Calculate the actual jump address while
37383           compiling, store it in the jump table.
37385         * src/bytecode.c: Jump to the looked up value directly, do a linear
37386           search when the number of elements is <= 5.
37388 2017-02-09  Noam Postavsky  <npostavs@gmail.com>
37390         Make sure eshell pipelines don't drop data
37392         * lisp/eshell/esh-proc.el (eshell-sentinel): If called while still
37393         handling output of the process, make sure to close the pipes only later,
37394         so that the next process in the pipeline recieves EOF only after getting
37395         all its input (Bug#25549).
37397 2017-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
37399         Make mm-shr use mail-parse-charset by default
37401         * lisp/gnus/mm-decode.el (mm-shr): Use mail-parse-charset by default.
37402         This helps an html message with no charset spec to be decoded.
37404 2017-02-08  Stephen Berman  <stephen.berman@gmx.net>
37406         describe-char: unambiguous name for inserting ASCII 7
37408         * lisp/descr-text.el (describe-char): Make the input
37409         suggestion for inserting ASCII character 7 by name use the
37410         unambiguous name "BELL (BEL)" (bug#25641).
37412 2017-02-08  Michael Albinus  <michael.albinus@gmx.de>
37414         Modify suppressing `vc-refresh-state' in filenotify-tests.el
37416         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
37417         Use an advice rather than an alias for suppressing `vc-refresh-state'.
37419 2017-02-08  Noam Postavsky  <npostavs@gmail.com>
37421         Disable native completion for ipython (Bug#25067)
37423         * lisp/progmodes/python.el:
37424         (python-shell-completion-native-disabled-interpreters): Add "ipython".
37426 2017-02-07  Michael Albinus  <michael.albinus@gmx.de>
37428         Suppress undesired error messages in filenotify-tests.el
37430         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
37431         Suppress `vc-refresh-state', it produces undesired error messages.
37433 2017-02-07  Eli Zaretskii  <eliz@gnu.org>
37435         Fix a typo in ada-mode manual
37437         * doc/misc/ada-mode.texi (Project file variables): Add a missing
37438         right bracket.  Reported by Jean-Christophe Helary
37439         <jean.christophe.helary@gmail.com>.
37441 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
37443         Ensure that Gnus bugs show up in the Emacs tracker
37445         * lisp/gnus/gnus.el (gnus-bug-package): Include Emacs in the
37446         package spec.
37448 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
37450         Revert "Don't tag Gnus bugs with "gnus""
37452         This reverts commit b6fa58072304c2a24f1fe8a0e06a4739a7f8211b.
37454         The debbugs syntax requires a package name
37456 2017-02-07  Vibhav Pant  <vibhavp@gmail.com>
37458         Add tests for checking byte-switch code.
37460         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-cond): New test,
37461           test byte-switch bytecode.
37463 2017-02-07  Mark Oteiza  <mvoteiza@udel.edu>
37465         Add xdg library
37467         * etc/NEWS: Mention new library.
37468         * lisp/xdg.el: New file.
37470 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
37472         Do not trick info/dir’s timestamp
37474         * Makefile.in (${srcdir}/info/dir): When making this file, do not
37475         do anything special about its timestamp.  Previously this rule
37476         used move-if-change, which meant that this file’s timestamp could
37477         end up being older than the files it depends on, and this caused
37478         ‘make --question info’ to fail, which caused ‘make-dist’ to fail
37479         now that ‘make-dist’ invokes ‘make --question info’.
37481 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
37483         Make FOR_EACH_TAIL more like other FOR_EACH macros
37485         See comments by Stefan Monnier in:
37486         https://lists.gnu.org/r/emacs-devel/2017-02/msg00181.html
37487         and by Eli Zaretskii in:
37488         https://lists.gnu.org/r/emacs-devel/2017-02/msg00207.html
37489         * src/fns.c (internal_equal): Do not bypass check for depth
37490         overflow when tail-recursing via a dotted list tail or an overlay
37491         plist, to avoid a rare infloop.
37492         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE): Take TAIL as an
37493         arg, and update it at each iteration, rather than have callers
37494         access it.tail.  All callers changed.
37495         (FOR_EACH_TAIL): Do not check for dotted lists, as this is now
37496         the caller’s responsibility.  All callers changed.
37497         (FOR_EACH_TAIL_CONS): Remove.  All callers changed.
37498         (struct for_each_tail_internal.tail): Remove; no longer needed.
37499         (FOR_EACH_TAIL_INTERNAL): Remove dotted arg, and set the tail
37500         arg each time through the loop.  All callers changed.
37502 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
37504         Port to clang 3.8.0
37506         It does not allow a for-loop's control var to be an anonymous struct.
37507         * src/lisp.h (struct for_each_tail_internal): New type.
37508         (FOR_EACH_TAIL_INTERNAL): Use it.
37510 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
37512         Add cyclic-list tests
37514         * test/manual/cycle-tests.el: New file (Bug#25606).
37516 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
37518         FOR_EACH_TAIL now checks for quit
37520         As per Eli Zaretskii (Bug#25606#20).  Although these calls to
37521         maybe_quit are unnecessary in practice, Eli was not convinced
37522         that the calls are unnecessary.
37523         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_CONS):
37524         Call maybe_quit every so often.
37525         (FOR_EACH_TAIL_INTERNAL): New arg CHECK_QUIT.  All callers changed.
37527 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
37529         Signal list cycles in ‘length’ etc.
37531         Use macros like FOR_EACH_TAIL instead of maybe_quit to
37532         catch list cycles automatically instead of relying on the
37533         user becoming impatient and typing C-g (Bug#25606).
37534         * src/fns.c (Flength, Fmember, Fmemq, Fmemql, Fassq, Fassoc, Frassq)
37535         (Frassoc, Fdelete, Freverse):
37536         Use FOR_EACH_TAIL instead of maybe_quit.
37537         (Fnreverse): Use simple EQ to check for circular list instead
37538         of rarely_quit, as this suffices in this unusual case.
37539         (Fplist_put, Flax_plist_put, Flax_plist_put):
37540         Use FOR_EACH_TAIL_CONS instead of maybe_quit.
37541         (internal_equal): Use FOR_EACH_TAIL_CONS to check lists, instead
37542         of by-hand tail recursion that did not catch cycles.
37543         * src/fns.c (Fsafe_length, Fplist_get):
37544         * src/xdisp.c (display_mode_element):
37545         Use FOR_EACH_TAIL_SAFE instead of by-hand Floyd’s algorithm.
37546         * src/lisp.h (QUIT_COUNT_HEURISTIC): Remove; no longer needed.
37547         (rarely_quit): Simply count toward USHRT_MAX + 1, since the
37548         fancier versions are no longer needed.
37549         (FOR_EACH_TAIL_CONS, FOR_EACH_TAIL_SAFE)
37550         (FOR_EACH_TAIL_INTERNAL): New macros, the last with definiens
37551         mostly taken from FOR_EACH_TAIL.
37552         (FOR_EACH_TAIL): Rewrite in terms of FOR_EACH_TAIL_INTERNAL.
37554 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
37556         Simplify use of FOR_EACH_TAIL
37558         * src/data.c (circular_list): New function.
37559         * src/lisp.h (FOR_EACH_TAIL): Use Brent’s algorithm and C99 for-loop
37560         decl, to eliminate the need for the args TAIL, TORTOISE and N, and
37561         to speed things up a bit on typical hosts with optimization.
37562         All uses changed (Bug#25605).
37564 2017-02-05  Simen Heggestøyl  <simenheg@gmail.com>
37566         * lisp/textmodes/css-mode.el: Require subr-x at compile time
37568 2017-02-05  Eli Zaretskii  <eliz@gnu.org>
37570         Clarify documentation of 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
37572         * doc/lispref/nonascii.texi (Text Representations): Clarify that
37573         'exact' value of QUALITY argument to 'bufferpos-to-filepos' and
37574         'filepos-to-bufferpos' can lead to expensive and slow processing.
37576         * lisp/international/mule-util.el (filepos-to-bufferpos)
37577         (bufferpos-to-filepos): Doc fix.  (Bug#25626)
37579 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
37581         Merge remote-tracking branch 'origin/master' into feature/byte-switch
37583 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
37585         bytecomp.el: Use macroexp-const-p instead of bc-cond-valid-obj2-p.
37587         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Use
37588           (macroexp-cons-p) instead of (byte-compile-cond-valid-obj2-p) to
37589           make sure that obj1/obj2 can be compared with `eq'.
37591 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
37593         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Use eq instead of =.
37595 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
37597         bytecomp.el: Inline lapcode containing `byte-switch' correctly.
37599         * lisp/emacs-lisp/bytecomp.el (byte-compile-inline-lapcode):
37600           Restore value of byte-compile-depth after emitting a jump to a tag
37601           in a jump table, or default/done tags.
37602           Set the depth of final tags for byte-switch to nil after emitting
37603           any jumps to them.
37605 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
37607         byte-opt.el: Replace jump tables while decompiling correctly.
37609         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
37610           Don't make a copy of the constant vector, as it isn't used with
37611           the decompiled lapcode.
37612           Make sure that the correct lapcode pair/list is being modified while
37613           replacing the jump table.
37615 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
37617         bytecomp.el: Don't store non-keyword symbols in jump-tables.
37619         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
37620           nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
37621           table can only be used when comparing variables with constant values.
37623 2017-02-04  Tom Tromey  <tom@tromey.com>
37625         typo fix
37627         (css--colon-inside-selector-p): Fix typo in docstring.
37629 2017-02-04  Tom Tromey  <tom@tromey.com>
37631         Set comment-multi-line in js-mode
37633         Bug#6806:
37634         * lisp/progmodes/js.el (js-mode): Set comment-multi-line to t.
37635         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): New test.
37637 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
37639         * test/manual/indent/scss-mode.scss: Fix indentation
37641 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
37643         Fix indentation of multiline CSS property values
37645         * lisp/textmodes/css-mode.el (css-smie-grammar): Give colons belonging
37646         to properties higher precedence.
37647         (css--colon-inside-selector-p, css--colon-inside-funcall): New
37648         functions for helping SMIE during tokenization.
37649         (css-smie--forward-token, css-smie--backward-token): Distinguish
37650         colons belonging to properties from other colons.
37652         * test/manual/indent/css-mode.css: Add tests for the changes above.
37654         * test/manual/indent/scss-mode.scss: Ditto.
37656 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
37658         Add tests for lisp/kmacro.el
37660         * test/lisp/kmacro-tests.el: New file.  (Bug#24939)
37662 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
37664         Fix autorevert-tests on MS-Windows
37666         * test/lisp/autorevert-tests.el
37667         (auto-revert-test02-auto-revert-deleted-file): Don't check that
37668         auto-revert-use-notify was reset to nil on w32.
37670 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
37672         New macro 'ert-with-message-capture'
37674         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
37675         (Bug#25158)
37677         * test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
37678         (auto-revert-test00-auto-revert-mode)
37679         (auto-revert-test01-auto-revert-several-files)
37680         (auto-revert-test02-auto-revert-deleted-file)
37681         (auto-revert-test03-auto-revert-tail-mode)
37682         (auto-revert-test04-auto-revert-mode-dired):
37683         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
37684         ert-with-message-capture.
37686 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
37688         Avoid invalid read syntax errors due to 'ert-with-test-buffer'
37690         * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Fix the
37691         'declare' form.  (Bug#24722)
37693 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
37695         Fix a syntax error when evaluating pcase.el under Edebug
37697         * lisp/emacs-lisp/pcase.el (pcase-MACRO): Replace def-edebug-spec
37698         with an explicit 'put' form.  Suggested by Gemini Lasswell
37699         <gazally@runbox.com>.  (Bug#24717)
37701 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
37702             Eli Zaretskii  <eliz@gnu.org>
37704         Change edebug-max-depth from defconst to defcustom
37706         * lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom.
37707         (Bug#24713)
37709         * etc/NEWS: Mention edebug-max-depth.
37711         * doc/lispref/edebug.texi (Checking Whether to Stop): Mention
37712         edebug-max-depth and index it.  Add cross-references for
37713         max-lisp-eval-depth and max-specpdl-size.
37715 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
37717         Support options with embedded whitespace in 'dired-listing-switches'
37719         * lisp/dired.el (dired-listing-switches): Document how to quote
37720         options with embedded whitespace.
37722         * lisp/files.el (insert-directory): Use split-string-and-unquote
37723         to support dired-listing-switches that specify command-line
37724         options with embedded spaces.  (Bug#25485)
37726 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
37727             Noam Postavsky  <npostavs@users.sourceforge.net>
37729         Add tests for lisp/emacs-lisp/testcover.el
37731         * test/lisp/emacs-lisp/testcover-tests.el: New file.
37732         * test/lisp/emacs-lisp/testcover-resources/testcases.el: New file.
37734 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
37736         Document 'save-some-buffers-default-predicate'
37738         * doc/lispref/files.texi (Saving Buffers):
37739         * doc/emacs/files.texi (Save Commands): Document
37740         save-some-buffers-default-predicate.
37742 2017-02-04  Richard Stallman  <rms@gnu.org>
37744         New defcustom 'save-some-buffers-default-predicate'
37746         * lisp/files.el (save-some-buffers-default-predicate): New defcustom.
37747         (save-some-buffers): Use it when PRED is nil or omitted.
37749 2017-02-04  Mark Oteiza  <mvoteiza@udel.edu>
37751         Rename to if-let* and when-let*
37753         Make the existing if-let and when-let aliases.
37754         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): New macros.  Rewrite
37755         docstrings, incorporating that from let* and the existing if-let.
37756         (if-let, when-let, and-let*): Alias them.
37758 2017-02-03  Vibhav Pant  <vibhavp@gmail.com>
37760         Revert "Use maphash instead of cl-loop."
37762         This reverts commit bfa88520136dd6b187ba101e6db5a5f8f0d5e874.
37764 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
37766         Bump Emacs version to 25.2 RC1
37768         * README:
37769         * configure.ac:
37770         * msdos/sed2v2.inp:
37771         * nt/README.W32: Bump Emacs version.
37772         * lisp/ldefs-boot.el: Update.
37774 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
37776         * admin/make-tarball.txt: Add documentation regarding the release banner.
37778 2017-02-03  Tino Calancha  <tino.calancha@gmail.com>
37780         * CONTRIBUTE (Documenting your changes): Index new vars/commands in manual.
37782 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
37784         Re-port alloc.c to Solaris sparc and simplify
37786         alloc.c had bitrotted a bit, and used an undefined symbol
37787         stack_base when Emacs was built on Solaris sparc, leading to
37788         compilation failures.  Also, code related to __builtin_unwind_init
37789         was unnecessarily duplicated.  Fix the bitrot and remove some
37790         duplication.
37791         * src/alloc.c: Remove uses of GC_SAVE_REGISTERS_ON_STACK, since it
37792         is never defined.
37793         (test_setjmp) [!HAVE___BUILTIN_UNWIND_INIT && GC_SETJMP_WORKS]:
37794         Define a no-op dummy, to simplify use.
37795         (test_setjmp) [!GC_SETJMP_WORKS]: Test setjmp_tested_p here rather
37796         than in the caller, to simplify use.
37797         (stacktop_sentry): New type.
37798         (__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]: New macro.
37799         (SET_STACK_TOP_ADDRESS): New macro, containing code that was duplicated.
37800         (flush_stack_call_func, Fgarbage_collect): Use it.
37801         (init_alloc): Omit unnecessary initialization.
37802         After dumping, Emacs need not re-test setjmp.
37804 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
37806         Add tests for scrolling
37808         * test/manual/scroll-tests.el: New tests for scroll-margin behavior.
37810 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
37812         Fix scrolling with partial lines
37814         * src/xdisp.c (partial_line_height): New function.
37815         (try_scrolling):
37816         * src/window.c (window_scroll_pixel_based): Use it for calculating the
37817         pixel scroll margin correctly in a window with partial lines.
37819 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
37821         Make limit on scroll-margin variable
37823         * src/xdisp.c (maximum-scroll-margin): New variable.
37824         * lisp/cus-start.el: Make it customizable.
37825         * etc/NEWS: Mention it.
37826         * doc/emacs/display.texi (Auto Scrolling):
37827         * doc/lispref/windows.texi (Textual Scrolling): Document it.
37828         * src/window.c (window_scroll_pixel_based): Use it instead of hardcoding
37829         division by 4 (Bug #5718).
37831 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
37833         Don't count mode line for scroll-margin limit
37835         * src/window.c (window_scroll_margin): Use window_box_height to avoid
37836         counting header line, scrollbars for scroll-margin limit (Bug #5718).
37838 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
37840         Refactor uses of scroll_margin to a function
37842         Its effective range needs to be clamped between 0 and (window height /
37843         4), so it's better to have this constraint in a single place.
37845         * src/window.c (window_scroll_margin): New function.
37846         (window_scroll_pixel_based, window_scroll_line_based):
37847         (Frecenter, Fmove_to_window_line):
37848         * src/xdisp.c (try_scrolling, try_cursor_movement):
37849         (redisplay_window, try_window, try_window_id): Use it.
37851 2017-02-03  Dmitry Gutov  <dgutov@yandex.ru>
37853         (xref-collect-matches): Use '-E' together with '-e'
37855         * lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
37856         together with '-e', as suggested by Noam Postavsky
37857         (https://lists.gnu.org/r/emacs-devel/2017-01/msg00780.html).
37859 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
37861         Pacify Oracle Studio 12.5
37863         * src/emacs.c (main): Do not silently convert char * to bool.
37865 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
37867         Fix lisp.h underparenthesization
37869         * src/lisp.h (STACK_CONS, AUTO_STRING_WITH_LEN):
37870         Parenthesize compound literals that are function call args.
37871         Although this does not fix any bugs, it is the proper style for
37872         macro parenthesization as it means this code will continue to
37873         work even if make_lisp_ptr is changed to a macro.
37875 2017-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
37877         * lisp/doc-view.el (doc-view-mode): Don't require a final newline
37879         (doc-view-revert-buffer): Silence overflow warnings.
37881 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
37883         Merge from gnulib
37885         2017-01-30 Port to PGI 16.10 x86-64
37886         2017-01-20 time_rz: fix comment typo
37887         2017-01-14 strftime: %z is -00 if unknown
37888         This incorporates:
37889         * doc/misc/texinfo.tex, lib/c-ctype.h, lib/strftime.c:
37890         * lib/time-internal.h, lib/verify.h:
37891         Copy from gnulib.
37893 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
37895         Check if there are hunks before kill or refine a hunk
37897         * lisp/vc/diff-mode.el (diff--some-hunks-p): New predicate.
37898         (diff-hunk-kill, diff-file-kill, diff-refine-hunk): Use it (Bug#25571).
37900 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
37902         Ignore error after kill last file or hunk
37904         * lisp/vc/diff-mode.el (diff-hunk-kill): Go to beginning of hunk before kill.
37905         Ignore error after kill last hunk (Bug#25570).
37906         (diff-file-kill): Idem.
37908 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
37910         Show current line highlighted in *Occur* buffer
37912         * lisp/replace.el (list-matching-lines-current-line-face)
37913         (list-matching-lines-jump-to-current-line): New user options.
37914         (occur--orig-line, occur--orig-line-str): New variables.
37915         (occur, occur-engine): Use them.
37916         (occur--final-pos): New variable.
37917         (occur-1): Use it.
37918         (occur-engine): Idem.
37919         Show the current line with 'list-matching-lines-current-line-face'.
37920         Set point on the first matching line after the current one.
37921         * etc/NEWS: Add entry for the new option.
37923 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
37925         Allow occur command to operate on the region
37927         See discussion in:
37928         https://lists.gnu.org/r/emacs-devel/2016-12/msg01084.html
37929         * lisp/replace.el (occur--region-start, occur--region-end)
37930         (occur--matches-threshold): New variables.
37931         (occur-engine): Use them.
37932         (occur): Idem.
37933         Add optional arg REGION; if non-nil occur applies in that region.
37934         * doc/lispintro/emacs-lisp-intro.texi (Keybindings): Update manual
37935         * doc/emacs/search.texi (Other Repeating Search): Idem.
37937 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
37939         Treat list-buffers-directory as a string
37941         Another step in the long history of list-buffers-directory.  A thread
37942         branch discussing the meaning/use of the variable starts here
37943         https://lists.gnu.org/r/emacs-devel/2009-09/msg00684.html
37944         Also see (info "(elisp) Buffer File Name").
37945         * lisp/buff-menu.el: Relocate special case code into info.el.  Nix
37946         Info-* defvars.
37947         (Buffer-menu--pretty-file-name): Remove special case.  Use
37948         bound-and-true-p.
37949         (Buffer-menu-info-node-description): Remove.
37950         * lisp/ibuffer.el (ibuffer-buffer-file-name): Treat
37951         list-buffers-directory as a string.
37952         * lisp/info.el (Info-node-description): New function.
37953         (Info-select-node): Use it.
37955 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
37957         Turn on lexical-binding in parse-time.el
37959         * lisp/calendar/parse-time.el: Turn on lexical-binding.
37960         (parse-time-iso8601-regexp, parse-iso8601-time-string): Remove unused
37961         bindings.
37963 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
37965         Prevent creating thumbnails of all gif frames
37967         With the previous defaults, doing image-dired on a directory with an
37968         animated foo.gif would cause creation of foo.thumb-N.gif for each of
37969         N frames in foo.gif.  By default image-dired looks for foo.thumb.gif, so
37970         there additionally is no usable thumbnail after all the needless effort.
37971         image-dired never handled animation, regardless.
37972         * lisp/image-dired.el: Mention limitation.
37973         (image-dired-cmd-create-thumbnail-options):
37974         (image-dired-cmd-create-temp-image-options):
37975         (image-dired-cmd-create-standard-thumbnail-options): Append [0] to
37976         filename to indicate only converting the 0th frame.
37977         (image-dired-display-image-mode): Don't show a cursor.
37979 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
37981         Fix quitting bug when buffers are frozen
37983         Problem noted by Eli Zaretskii in:
37984         https://lists.gnu.org/r/emacs-devel/2017-01/msg00721.html
37985         This patch also fixes some other issues in that report.
37986         * src/lisp.h (incr_rarely_quit): Remove.
37987         All callers changed to use rarely_quit directly.
37988         * src/search.c (freeze_buffer_relocation)
37989         (thaw_buffer_relocation): New functions.
37990         (looking_at_1, fast_looking_at, search_buffer):
37991         Use them to fix bug when quitting when buffers are frozen.
37992         * src/sysdep.c (emacs_intr_read): Rename from emacs_nointr_read.
37993         All uses changed.
37995 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
37997         Revamp quitting and fix infloops
37999         This fixes some infinite loops that cannot be quitted out of,
38000         e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
38001         when byte-compiled and when run under X.  See:
38002         https://lists.gnu.org/r/emacs-devel/2017-01/msg00577.html
38003         This also attempts to keep the performance improvements I recently
38004         added, as much as possible under the constraint that the infloops
38005         must be caught.  In some cases this fixes infloop bugs recently
38006         introduced when I removed immediate_quit.
38007         * src/alloc.c (Fmake_list):
38008         Use rarely_quit, not maybe_quit, for speed in the usual case.
38009         * src/bytecode.c (exec_byte_code):
38010         * src/editfns.c (Fcompare_buffer_substrings):
38011         * src/fns.c (Fnthcdr):
38012         * src/syntax.c (scan_words, skip_chars, skip_syntaxes)
38013         (Fbackward_prefix_chars):
38014         Use rarely_quit so that users can C-g out of long loops.
38015         * src/callproc.c (call_process_cleanup, call_process):
38016         * src/fileio.c (read_non_regular, Finsert_file_contents):
38017         * src/indent.c (compute_motion):
38018         * src/syntax.c (scan_words, Fforward_comment):
38019         Remove now-unnecessary maybe_quit calls.
38020         * src/callproc.c (call_process):
38021         * src/doc.c (get_doc_string, Fsnarf_documentation):
38022         * src/fileio.c (Fcopy_file, read_non_regular, Finsert_file_contents):
38023         * src/lread.c (safe_to_load_version):
38024         * src/sysdep.c (system_process_attributes) [GNU_LINUX]:
38025         Use emacs_read_quit instead of emacs_read in places where
38026         C-g handling is safe.
38027         * src/eval.c (maybe_quit): Move comment here from lisp.h.
38028         * src/fileio.c (Fcopy_file, e_write):
38029         Use emacs_write_quit instead of emacs_write_sig in places where
38030         C-g handling is safe.
38031         * src/filelock.c (create_lock_file): Use emacs_write, not
38032         plain write, as emacs_write no longer has a problem.
38033         (read_lock_data): Use emacs_read, not read, as emacs_read
38034         no longer has a problem.
38035         * src/fns.c (rarely_quit): Move to lisp.h and rename to
38036         incr_rarely_quit.  All uses changed..
38037         * src/fns.c (Fmemq, Fmemql, Fassq, Frassq, Fplist_put, Fplist_member):
38038         * src/indent.c (compute_motion):
38039         * src/syntax.c (find_defun_start, back_comment, forw_comment)
38040         (Fforward_comment, scan_lists, scan_sexps_forward):
38041         Use incr_rarely_quit so that users can C-g out of long loops.
38042         * src/fns.c (Fnconc): Move incr_rarely_quit call to within
38043         inner loop, so that it catches C-g there too.
38044         * src/keyboard.c (tty_read_avail_input): Remove commented-out
38045         and now-obsolete code dealing with interrupts.
38046         * src/lisp.h (rarely_quit, incr_rarely_quit): New functions,
38047         the latter moved here from fns.c and renamed from rarely_quit.
38048         (emacs_read_quit, emacs_write_quit): New decls.
38049         * src/search.c (find_newline, search_buffer, find_newline1):
38050         Add maybe_quit to catch C-g.
38051         * src/sysdep.c (get_child_status): Always invoke maybe_quit
38052         if interruptible, so that the caller need not bother.
38053         (emacs_nointr_read, emacs_read_quit, emacs_write_quit):
38054         New functions.
38055         (emacs_read): Rewrite in terms of emacs_nointr_read.
38056         Do not handle C-g or signals; that is now for emacs_read_quit.
38057         (emacs_full_write): Replace PROCESS_SIGNALS two-way arg
38058         with INTERRUPTIBLE three-way arg.  All uses changed.
38060 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
38062         Remove immediate_quit.
38064         The old code that sets and clears immediate_quit was
38065         ineffective except when Emacs is running in terminal mode, and
38066         has problematic race conditions anyway, so remove it.  This
38067         will introduce some hangs when Emacs runs in terminal mode,
38068         and these hangs should be fixed in followup patches.
38069         * src/keyboard.c (immediate_quit): Remove.  All uses removed.
38071 2017-02-01  Alan Mackenzie  <acm@muc.de>
38073         Allow C++ nested brace-list-entries to be better indented.
38075         This fixes bug #24431.  The key change of this bug fix is correctly analyzing
38076         nested brace lists when the opening element stands on the same line as both
38077         its introductory brace and an enclosing parameter list parenthesis.
38079         * lisp/progmodes/cc-align.el (c-lineup-under-anchor): New line-up function.
38081         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Accept the
38082         presence of exactly an identifier between an open parenthesis and an open
38083         brace as evidence of the brace starting a brace list.
38084         (c-looking-at-statement-block): New function, extracted from
38085         c-looking-at-inexpr-block.  Enhance it to analyze inner blocks recursively
38086         when needed.
38087         (c-looking-at-inexpr-block): Extract new function (see above) and call it.
38088         (c-add-stmt-syntax): Enhance, with new &optional parameter, to supply the
38089         prime syntactic symbol with a fixed anchor point.  When this is used, restrict
38090         all added syntactic symbols to those having an anchor point on the same line.
38091         Add, in addition to the current additional symbols, c-brace-list-entry when
38092         needed; use c-looking-at-statement-block to determine the latter.
38093         (c-guess-basic-syntax, CASE 9D): Use c-add-stmt-syntax rather than just
38094         c-add-syntax, to assemble the syntactic context of a 'brace-list-entry, thus
38095         getting, possibly, several accompanying syntactic entries.
38097         * lisp/progmodes/cc-styles.el (c-style-alist, "gnu" style): New entry for
38098         'brace-list-intro, namely c-lineup-arglist-intro-after-paren.
38100         * lisp/progmodes/cc-vars.el (c-offsets-alist): Change the factory default
38101         offset for 'brace-list-entry from 0 to c-lineup-under-anchor.
38103         * doc/misc/cc-mode.texi (Syntactic Symbols): Amend the definition of
38104         brace-list-intro.
38105         (Brace List Symbols): Amend the example to show the new analysis of brace
38106         lists when the first element comes on the same line as the opening brace.
38107         (Misc Line-Up): Document the new line-up function c-lineup-under-anchor.
38109 2017-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
38111         Revert "DOn't use string-as-unibyte in Gnus"
38113         This reverts commit d1c931009004aef847105b7bac6b6ffafd985b82.
38115         Not all the cases where we had string-as-unibyte were characters,
38116         so this needs to be considered more thoroughly before being redone.
38118 2017-02-01  Vibhav Pant  <vibhavp@gmail.com>
38120         Use maphash instead of cl-loop.
38122         * lisp/emacs-lisp/bytecomp.el: (byte-compile-lapcode) Use maphash
38123           instead of cl-loop
38125 2017-02-01  Michael Albinus  <michael.albinus@gmx.de>
38127         Fix a subtle problem in Tramp with timers
38129         * lisp/net/tramp.el (tramp-accept-process-output): Change argument
38130         list.  Make it work when called inside a timer.  See
38131         <https://lists.gnu.org/r/tramp-devel/2017-01/msg00010.html>.
38133 2017-01-31  Eli Zaretskii  <eliz@gnu.org>
38135         Index byte-compile-debug
38137         * doc/lispref/compile.texi (Compilation Functions): Index
38138         byte-compile-debug.
38140 2017-01-31  Philipp Stephani  <phst@google.com>
38142         Document `byte-compile-debug' in the ELisp manual
38144         * doc/lispref/compile.texi: Document variable `byte-compile-debug'.
38146 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
38148         read-multiple-choice: explain dialog popups more
38150         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Explain
38151         when a graphical popup is used and how it can be avoided.
38153 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
38155         auth-source-user-and-password: add forgotten user parameter
38157                 * lisp/auth-source.el (auth-source-user-and-password): Use
38158                   accidentally unused "user" parameter.
38159                   Reported by Oscar Najera <najera.oscar@gmail.com>.
38161 2017-01-31  Simen Heggestøyl  <simenheg@gmail.com>
38163         Fix typo in a NEWS entry for CSS mode
38165 2017-01-31  Philipp Stephani  <phst@google.com>
38167         Document variable `byte-compile-debug'
38169         * lisp/emacs-lisp/bytecomp.el (byte-compile-debug): Document variable.
38171 2017-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
38173         DOn't use string-as-unibyte in Gnus
38175         * lisp/gnus/nnmail.el (nnmail-parse-active): Don't use
38176         string-as-unibyte.
38177         (nnmail-insert-xref): Ditto.
38179         * lisp/gnus/canlock.el (canlock-make-cancel-key): Ditto.
38181         * lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Ditto.
38183         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Ditto.
38184         (gnus-browse-foreign-server): Ditto.
38185         (gnus-browse-foreign-server): Ditto.
38187         * lisp/gnus/gnus-start.el
38188         (gnus-update-active-hashtb-from-killed): Ditto.
38189         (gnus-read-newsrc-el-file): Ditto.
38191         * lisp/gnus/mml.el (mml-generate-mime-1): Ditto.
38193         * lisp/gnus/nnir.el (nnir-get-active): Ditto.
38194         (nnir-get-active): Ditto.
38196 2017-01-31  Juri Linkov  <juri@linkov.net>
38198         Allow C-s C-w to yank ' to the search ring in the Gnus article buffer
38200         * lisp/gnus/gnus-art.el (gnus-article-mode-syntax-table): Make
38201         M-. in article buffers work for `foo' strings, and still allow
38202         C-s C-w to yank ' to the search ring (bug#22248).
38204 2017-01-31  Paul Eggert  <eggert@cs.ucla.edu>
38206         * src/alloc.c, src/lisp.h: Fix minor glitches in recent changes.
38208 2017-01-31  Tino Calancha  <tino.calancha@gmail.com>
38210         * test/lisp/vc/diff-mode-tests.el: Require diff-mode.
38212 2017-01-31  Dima Kogan  <dima@secretsauce.net>
38214         New test for diff-mode handling trailing --
38216         test/lisp/vc/diff-mode-tests.el: New test file
38218 2017-01-31  Dima Kogan  <dima@secretsauce.net>
38220         Handle patch terminators produced by git and bzr patch export
38222         Patch by Juri Linkov posted in the #9597 bug report
38224         * lisp/vc/diff-mode.el (diff-sanity-check-hunk): Find and ignore
38225         terminator (Bug #9597, #5302)
38227 2017-01-31  Dima Kogan  <dima@secretsauce.net>
38229         Revert two accidental commits
38231         This reverts commit f3c77d11af65f3b319b1784b4c3cf08c51aa7997.
38232         This reverts commit 3c941b900007c9e79c00af0f21d88154f6d8af1a.
38234 2017-01-31  Dima Kogan  <dima@secretsauce.net>
38236         stash
38238 2017-01-31  Dima Kogan  <dima@secretsauce.net>
38240         comint-get-old-input-default: behavior follows docstring
38242         lisp/comint.el (comint-get-old-input-default): Modify behavior to follow
38243         docstring: if `comint-use-prompt-regexp' is nil, then return the CURRENT LINE,
38244         if point is on an output field.
38246 2017-01-31  Noam Postavsky  <npostavs@gmail.com>
38248         Fix call to debugger on assertion failure
38250         * lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): The first
38251         argument must be `error', and the second is a list of arguments for
38252         `signal'.
38254 2017-01-30  Tom Tromey  <tom@tromey.com>
38256         css-mode documentation lookup feature
38258         * etc/NEWS: Mention new feature.
38259         * lisp/textmodes/css-mode.el (css-mode-map): New defvar.
38260         (css--mdn-lookup-history): New defvar.
38261         (css-lookup-url-format): New defcustom.
38262         (css--mdn-property-regexp, css--mdn-completion-list): New defconsts.
38263         (css--mdn-after-render, css--mdn-find-symbol, css-lookup-symbol): New
38264         defuns.
38265         * test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): New
38266         test.
38268 2017-01-30  Glenn Morris  <rgm@gnu.org>
38270         edt-mapper: just loading a library should not run code
38272         * lisp/emulation/edt-mapper.el (edt-mapper): New function,
38273         containing code previously at top-level.
38274         * lisp/emulation/edt.el (edt-load-keys): After loading edt-mapper,
38275         run edt-mapper function.
38277 2017-01-30  Glenn Morris  <rgm@gnu.org>
38279         mh-compat.el: remove duplicate definition
38281         * lisp/mh-e/mh-compat.el (mh-make-obsolete-variable):
38282         Remove duplicate definition.
38284 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
38286         Add delq list arg check
38288         * src/fns.c (Fdelq): Check that list is a proper list.
38289         This is more compatible with what ‘delete’ does.
38291 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
38293         * lisp/indent.el (indent-region-line-by-line): New function.
38295         Extracted from indent-region.
38296         (indent-region, indent-region-function): Use it.
38298 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
38300         * lisp/subr.el (string-make-unibyte, string-make-multibyte): Obsolete.
38302 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
38304         More fixes to prevent crashes on C-g
38306         * src/fns.c (Fassq, Frassq, Fplist_put): Reset immediate_quit
38307         before returning, to avoid crashes in quit.  (Bug#25566)
38309 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
38311         Avoid crashes on C-g in TTY sessions
38313         * src/keyboard.c (handle_interrupt): Don't quit if
38314         waiting_for_input is set, as doing that is "unsafe": it will
38315         abort.  (Bug#25566)
38317 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
38319         * lisp/emacs-lisp/bytecomp.el: Create jump tables with :purecopy t
38321         Merge remote-tracking branch 'origin/master' into feature/byte-switch
38323 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
38325         Fix hash tables not being purified correctly.
38327         * src/alloc.c
38328         (purecopy_hash_table) New function, makes a copy of the given hash
38329         table in pure storage.
38330         Add new struct `pinned_object' and `pinned_objects' linked list for
38331         pinning objects.
38332         (Fpurecopy) Allow purifying hash tables
38333         (purecopy) Pin hash tables that are either weak or not declared with
38334         `:purecopy t`, use purecopy_hash_table otherwise.
38335         (marked_pinned_objects) New function, marks all objects in pinned_objects.
38336         (garbage_collect_1) Use it. Mark all pinned objects before sweeping.
38337         * src/lisp.h: Add new field `pure' to struct `Lisp_Hash_Table'.
38338         * src/fns.c: Add `purecopy' parameter to hash tables.
38339         (Fmake_hash_table): Check for a `:purecopy PURECOPY' argument, pass it
38340         to make_hash_table.
38341         (make_hash_table): Add `pure' parameter, set h->pure to it.
38342         (Fclrhash, Fremhash, Fputhash): Enforce that the table is impure with
38343         CHECK_IMPURE.
38344         * src/lread.c: (read1) Parse for `purecopy' parameter while reading
38345           hash tables.
38346         * src/print.c: (print_object) add the `purecopy' parameter while
38347           printing hash tables.
38348         * src/category.c, src/emacs-module.c, src/image.c, src/profiler.c,
38349           src/xterm.c: Use new (make_hash_table).
38351 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
38353         Escape dash in xref rgrep regexp
38355         * lisp/progmodes/xref.el (xref-collect-matches): Escape dash
38356         in REGEXP if it's the first character.
38358 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
38360         Say JavaScript, not Javascript
38362         * lisp/progmodes/js.el (js-mode-map, js-syntax-propertize)
38363         (js-js-error, js-eval, js-set-js-context)
38364         (js--get-js-context):
38365         Refer to the language consistently as JavaScript.
38367 2017-01-29  Juanma Barranquero  <lekktu@gmail.com>
38369         lisp/*.el: Fix some warnings
38371         * lisp/battery.el (dbus-get-property):
38372         * lisp/dired-aux.el (format-spec): Declare function.
38374         * lisp/net/zeroconf.el (zeroconf-list-service-names)
38375         (zeroconf-list-service-types, zeroconf-list-services):
38376         Mark unused lexical arg.
38378         * lisp/progmodes/hideshow.el (hs-hide-block-at-point):
38379         * lisp/progmodes/sql.el (sql-end-of-statement):
38380         Pass LIMIT to 'looking-back'.
38382 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
38384         Don't warn about obsolete defgenerics when defining them
38386         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): The declaration code
38387         should run after the definition code (Bug#25556).
38389 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
38391         Call modification hooks in org-src fontify buffers
38393         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Let-bind
38394         `inhibit-modification-hooks' to nil, since this function can be called
38395         from jit-lock-function which binds that variable to t (Bug#25132).
38397 2017-01-29  Tino Calancha  <tino.calancha@gmail.com>
38399         Fix Bug#25524
38401         * lisp/vc/diff-mode.el (diff-beginning-of-hunk):
38402         Return position at the beginning off the hunk.
38403         (diff-file-junk-re): Add SVN keywords.
38405 2017-01-28  Stephen Berman  <stephen.berman@gmx.net>
38407         hl-line.el: Don't try to operate on a killed buffer
38409         * lisp/hl-line.el (hl-line-maybe-unhighlight): Examine only
38410         live buffers (bug#25522).
38412 2017-01-28  Mark Oteiza  <mvoteiza@udel.edu>
38414         Use access-file in EWW to check before downloading a file
38416         * lisp/net/eww.el (eww-download): Check accessibility of
38417         eww-download-directory to prevent starting a download that will fail
38418         to write.
38419         * src/fileio.c (Faccess_file): Clarify the use of string argument in
38420         the docstring.
38422 2017-01-28  Yuri D'Elia  <wavexx@thregr.org>
38424         Subject: Check Bcc after the Messag hook has run
38426         * lisp/gnus/message.el (message-send): If the hook modifies
38427         the message (mml tags or headers), we should check bcc on the
38428         final message, not on the original.
38430 2017-01-28  Eli Zaretskii  <eliz@gnu.org>
38432         Improve documentation of 'format' conversions
38434         * src/editfns.c (Fformat): More accurate description of %g and
38435         effects of the various flags on it.  More accurate description of
38436         integer conversions.
38438         * doc/lispref/strings.texi (Formatting Strings): More accurate
38439         description of %g and effects of the various flags on it.  More
38440         accurate description of integer conversions.  (Bug#25557)
38442 2017-01-28  Juanma Barranquero  <lekktu@gmail.com>
38444         test/*.el: Avoid byte-compiler warnings
38446         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Remove unused 'let*'.
38448         * test/lisp/faces-tests.el (faces--test): New customization group.
38449         (faces--test1, faces--test2): Use it.
38451         * test/lisp/ffap-tests.el (ffap-tests-25243):
38452         Call 'mark-whole-buffer' interactively.
38454         * test/lisp/ibuffer-tests.el (ibuffer-filter-groups, ibuffer-filtering-alist)
38455         (ibuffer-filtering-qualifiers, ibuffer-save-with-custom)
38456         (ibuffer-saved-filter-groups, ibuffer-saved-filters): Defvar.
38457         (ibuffer-format-qualifier, ibuffer-unary-operand): Declare.
38459         * test/lisp/minibuffer-tests.el (completion-test1):
38460         Mark unused lexical arguments.
38462         * test/lisp/simple-tests.el (simple-test--dummy-buffer): Wrap result in
38463         'with-no-warnings' to avoid them when the macro is invoked for effect.
38465         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-count-test):
38466         Mark unused lexical arguments.
38468         * test/lisp/emacs-lisp/let-alist-tests.el (let-alist-surface-test):
38469         Mark unused lexical arguments.
38470         (let-alist-cons): Remove unused let binding.
38472         * test/lisp/net/dbus-tests.el (dbus-debug): Defvar.
38473         (dbus-get-unique-name): Declare.
38475         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid):
38476         Call 'font-lock-fontify-buffer' interactively.
38478         * test/lisp/textmodes/tildify-tests.el (tildify-space-undo-test--test):
38479         Mark unused lexical argument.
38481 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
38483         Restore a test that was removed by a recent commit
38485         * src/fileio.c (Ffile_accessible_directory_p): Don't overwrite the
38486         errno value unless it's necessary.  (Bug#25419)
38488 2017-01-27  Mark Oteiza  <mvoteiza@udel.edu>
38490         Fix a couple eww customization types
38492         * lisp/new/eww.el (eww-download-directory, eww-bookmarks-directory):
38493         Change customization type to "directory".
38495 2017-01-27  Philipp Stephani  <phst@google.com>
38497         Don't require a shell when loading htmlfontify
38499         * lisp/htmlfontify.el (hfy-which-etags): Don't call a shell for
38500         detecting the etags version (Bug#25468).
38501         * test/lisp/htmlfontify-tests.el (htmlfontify-bug25468): Add unit
38502         test.
38504 2017-01-27  Paul Eggert  <eggert@cs.ucla.edu>
38506         Slightly tune file-accessible-directory-p fix
38508         * src/fileio.c (Ffile_accessible_directory_p):
38509         Remove unnecessary test (Bug#25419).
38511 2017-01-27  Arash Esbati  <arash@gnu.org>
38513         Add \citetitle to biblatex cite format
38515         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
38516         \citetitle[*] to `reftex-cite-format' and bind them to keys i/I
38517         per user request
38518         https://lists.gnu.org/r/auctex/2017-01/msg00049.html.
38520 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
38522         Fix charsets and encodings from non-file MIME parts
38524         * lisp/gnus/mml.el (mml-generate-mime-1): Get the charsets and
38525         encoding right for parts that do not originate from files.
38527 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
38529         Fix 'describe-variable' for longish variable values
38531         * lisp/help-fns.el (describe-variable): Don't accidentally remove
38532         the last character of a variable's value.  (Bug#25545)
38534 2017-01-27  Vladimir Panteleev  <git@thecybershadow.net>  (tiny change)
38536         Remove stale functions from ert manual
38538         * doc/misc/ert.texi (Useful Techniques when Writing Tests):
38539         Replace ert--mismatch references with its cl-lib replacement,
38540         cl-mismatch.
38542 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
38544         Fix a typo in Eshell manual
38546         * doc/misc/eshell.texi (History): Fix a typo.  Reported by Mak
38547         Kolybabi <mak@kolybabi.com>.
38549 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
38551         Ensure last line is at window bottom in shell buffers
38553         * lisp/shell.el (shell-mode): Use setq-local.  Set
38554         scroll-conservatively to 101 locally.  See the discussion at
38555         https://lists.gnu.org/r/emacs-devel/2016-12/msg00736.html
38556         for the reasons.
38558 2017-01-27  Michael Hoffman  <emacs-hoffman@sneakemail.com>  (tiny change)
38560         Support Bash Ctrl-Z indication of directory name in term.el
38562         * lisp/term/xterm.el (term-emulate-terminal): Do not display ?\032 escape
38563         codes even when 'handled-ansi-message' is non-nil.  (Bug#11919)
38565 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
38567         Don't report zero errno for inaccessible directory
38569         * src/fileio.c (Ffile_accessible_directory_p): Report EACCES when
38570         a file handler reports a failure.  (Bug#25419)
38572 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
38574         Fix filenotify-tests on MS-Windows
38576         * test/lisp/filenotify-tests.el (file-notify-test04-file-validity)
38577         (file-notify-test05-dir-validity)
38578         (file-notify-test06-many-events)
38579         (file-notify-test08-watched-file-in-watched-dir): Manually remove
38580         the watch descriptor before calling file-notify--test-cleanup-p.
38581         (Bug#25539)
38583 2017-01-27  Hong Xu  <hong@topbug.net>
38585         python-mode: Fix detection for opening blocks.
38587         * lisp/progmodes/python.el
38588         (python-info-dedenter-opening-block-positions): There can't be any
38589         back-indented lines between an opening block and the current line.
38591         * test/lisp/progmodes/python-tests.el
38592         (python-indent-electric-colon-4): Add an indent test case where
38593         there is one-more indented previous opening block.
38595 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
38597         Fix Message check for bogus domain names
38599         * lisp/gnus/message.el (message-make-fqdn): Fix check for
38600         bogus system names (bug#24570).
38602 2017-01-27  Øyvind Stegard  <oyvind@stegard.net>  (tiny change)
38604         Subject: Restore correct Gnus newsgroup name after sending message
38606         * lisp/gnus/gnus-msg.el (gnus-msg-mail): Set the value of
38607         gnus-newsgroup-name in the correct buffer (bug#24329).
38609 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
38611         Mention the new Gnus sorting command
38613 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
38615         Don't try to find charsets of non-text MIME parts
38617         * lisp/gnus/mml.el (mml-generate-mime-1): It seems nonsensical
38618         to try to determine the charset of non-text message parts, so
38619         skip that (bug#24190).  This will also remove messages like
38620         "bunzip2ing /tmp/acsb.cpio.bz2...done" while sending messages
38621         if you include such files.
38623 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
38625         Add new command gnus-article-sort-by-marks
38627         * doc/misc/gnus.texi (Summary Sorting): Mention
38628         gnus-summary-sort-by-marks.
38630         * lisp/gnus/gnus-sum.el (gnus-article-sort-by-marks): New
38631         function (bug#23393).
38632         (gnus-thread-sort-by-marks): Ditto.
38633         (gnus-summary-sort-by-mark): New command suggested by Dan Jacobson.
38634         (gnus-summary-mode-map): Add keystroke.
38635         (gnus-summary-make-menu-bar): Add to menu.
38637 2017-01-26  Katsumi Yamaoka  <yamaoka@jpl.org>
38639         Make `C-h b' work correctly in Gnus article buffer (bug#18257)
38641         * lisp/gnus/gnus-art.el (gnus-article-describe-bindings):
38642         Ignore summary commands that aren't bound to
38643         gnus-article-read-summary-keys keys (bug#18257).
38645 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
38647         Fix crossposting in non-primary groups
38649         * lisp/gnus/message.el
38650         (message-cross-post-followup-to-header): Gnus server prefixes
38651         shouldn't be included in the group names (bug#21661).
38652         (message-cross-post-followup-to): Ditto.
38654 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
38656         Gnus doc clarification
38658         * doc/misc/gnus.texi (Unavailable Servers): Explicitly say
38659         that "unreachable" is the same as disabling it (bug#21630).
38661 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
38663         Remove dead code from rfc2047
38665         * lisp/mail/rfc2047.el (rfc2047-fold-field): Remove dead code.
38667         It's been disabled since 2005, when I made the change with the
38668         following comment.
38670         (rfc2047-encode-message-header): Disabled header folding -- not
38671         all headers can be folded, and this should be done by the message
38672         composition mode.  Probably.  I think.
38674 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
38676         Fill too long mail headers
38678         * lisp/gnus/message.el (message--fold-long-headers): New
38679         function to fold too-long headers (bug#21608).
38680         (message-send-mail): Use it to fill headers longer than 998
38681         characters (which is the protocol limit).
38683 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
38685         Make nndoc more resilient against corrupted files
38687         * lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): Don't bug
38688         out on invalid files, like invalid .gz files (bug#21538).
38689         This may hinder Gnus from starting up.
38691 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
38693         Respect buffer-local message-fcc-handler-function
38695         * lisp/gnus/message.el (message-do-fcc): Copy the local
38696         variables from the Message buffer so that local settings of
38697         `message-fcc-handler-function' etc are respected (bug#21174).
38699 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
38701         (message-do-fcc): Modernize the code slightly.
38703         * lisp/gnus/message.el (message-do-fcc): Modernize the code slightly.
38705 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
38707         Avoid a regexp overflow in message-goto-body
38709         * lisp/gnus/message.el (message-goto-body-1): Avoid using a
38710         complicated backtracking regexp, because they may overflow on
38711         large headers (bug#21160).
38713 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
38715         Refactor message-goto-body
38717         * lisp/gnus/message.el (message-goto-body-1): Refactor out for reuse.
38719 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
38721         Fix typo in last checkin
38723         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
38724         nnimap-shell-program (bug#20651).
38726 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
38728         Document nnimap-shell-program
38730         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
38731         nnimap-shell-program (bug#20651).
38733 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
38735         Document :shell-command in `make-network-process'
38737         * doc/lispref/processes.texi (Network): Document :shell-command.
38739         * lisp/net/network-stream.el (open-network-stream): Document
38740         the :shell-command parameter (bug#20651).
38742 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
38744         Gnus doc clarification
38746         * lisp/gnus/gnus-sum.el (gnus-summary-save-article): Mention
38747         the gnus-prompt-before-saving variable (bug#20500).
38749 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
38751         Fix the previous mml patch better
38753         * lisp/gnus/mml.el (mml-minibuffer-read-file): Fix the
38754         previous patch in a better way (bug#20480).
38756 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
38758         Give a slight better error message in mml-minibuffer-read-file
38760         * lisp/gnus/mml.el (mml-minibuffer-read-file): Give a slightly
38761         better error message when the user enters nothing (bug#20480).
38763 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
38765         * lisp/emacs-lisp/bytecomp.el:(bc-cond-jump-table-info)add docstring
38767 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
38769         Make eww buffers prettier in the buffer listing
38771         * lisp/net/eww.el (eww-render): Put the currently visited URL
38772         into the buffer listing (bug#23738).
38773         (eww-render): Ditto.
38775 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
38777         Allow mml-attach-file to prompt less
38779         * lisp/gnus/mml.el (mml-attach-file): If given a prefix, don't
38780         prompt for type/description/disposition, but use defaults
38781         (bug#19202).
38783 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
38785         Don't allow message-newline-and-reformat to be run outside the body
38787         * lisp/gnus/message.el (message-newline-and-reformat): Error
38788         out if run outside the body of a message (bug#18820).
38790 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
38792         * lisp/emacs-lisp/bytecomp.el: Use correct function to push nil
38794         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Use
38795           byte-compile-constant instead of byte-compile-form to push nil.
38797 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
38799         * lisp/emacs-lisp/disass.el: Fix spacing while showing jump tables
38801 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
38803         Replace QUIT with maybe_quit
38805         There’s no longer need to have QUIT stand for a slug of C statements.
38806         Use the more-obvious function-call syntax instead.
38807         Also, use true and false when setting immediate_quit.
38808         These changes should not affect the generated machine code.
38809         * src/lisp.h (QUIT): Remove.  All uses replaced by maybe_quit.
38811 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
38813         A quicker check for quit
38815         On some microbenchmarks this lets Emacs run 60% faster on my
38816         platform (AMD Phenom II X4 910e, Fedora 25 x86-64).
38817         * src/atimer.c: Include keyboard.h, for pending_signals.
38818         * src/editfns.c (Fcompare_buffer_substrings):
38819         * src/fns.c (Fnthcdr, Fmemq, Fmemql, Fassq, Frassq, Fplist_put)
38820         (Fnconc, Fplist_member):
38821         Set and clear immediate_quit before and after loop instead of
38822         executing QUIT each time through the loop.  This is OK for loops
38823         that affect only locals.
38824         * src/eval.c (process_quit_flag): Now static.
38825         (maybe_quit): New function, containing QUIT’s old body.
38826         * src/fns.c (rarely_quit): New function.
38827         (Fmember, Fassoc, Frassoc, Fdelete, Fnreverse, Freverse)
38828         (Flax_plist_get, Flax_plist_put, internal_equal, Fnconc):
38829         Use it instead of QUIT, for
38830         speed in tight loops that might modify non-locals.
38831         * src/keyboard.h (pending_signals, process_pending_signals):
38832         These belong to keyboard.c, so move them here ...
38833         * src/lisp.h: ... from here.
38834         (QUIT): Redefine in terms of the new maybe_quit function, which
38835         contains this macro’s old definiens.  This works well with branch
38836         prediction on processors with return stack buffers, e.g., x86
38837         other than the original Pentium.
38839 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
38841         Simplify make-list implementation
38843         * src/alloc.c (Fmake_list): Don’t unroll loop, as the complexity
38844         is not worth it these days.
38846 2017-01-26  Mark Oteiza  <mvoteiza@udel.edu>
38848         Make use of cl-loop destructuring
38850         * lisp/progmodes/js.el (js--get-tabs): Replace extraneous bits with
38851         destructuring.
38852         (with-js): Add declare forms.
38854 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38856         Revert "Bind C-c keys in the article buffer"
38858         This reverts commit 6b4195f2ace1f6328c5a833fde40f39babef4fa6.
38860         The commit somehow lead to problems in other parts of Emacs.
38862 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38864         Document how to quote MML tags
38866         * doc/misc/emacs-mime.texi (MML Definition): Mention how to
38867         quote MML tags (bug#18881).
38869 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38871         Make address parsing more robust
38873         * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't
38874         bug out on addresses like
38875         (ietf-drums-parse-address "\"Foo \"bar\" <larsi@gnus.org>")
38876         (bug#18572).
38878 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38880         Fix the %P (line number) thing in Gnus summary buffers
38882         * lisp/gnus/gnus-salt.el (gnus-pick-line-number): Remove hack.
38884         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Reset the
38885         "pick" mode line number on entry instead of relying in a hack (bug#18311).
38887 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38889         Fix wrong documentation on nnmairix keystrokes
38891         * doc/misc/gnus.texi (nnmairix keyboard shortcuts): The
38892         nnmairix commands are on G G, not $ (bug#18260).
38894 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38896         Bind C-c keys in the article buffer
38898         * lisp/gnus/gnus-art.el (gnus-article-mode-map): Also bind the
38899         C-c keys so that they execute in the summary buffer
38900         (bug#18257).  This makes commands like `C-c C-f' work from the
38901         article buffer.
38903 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38905         Don't mark articles in Gnus as displayed when they aren't
38907         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Don't
38908         mark any articles as selected if we're not selecting any
38909         articles (bug#18255).
38911 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
38913         * lisp/emacs-lisp/disass.el: Display jump tables for switch.
38915         * lisp/emacs-lisp/bytecomp.el:Use correct size for switch jump-table
38917         * lisp/emacs-lisp/bytecomp.el: Simplify b-c-cond-valid-obj2-p
38919         * lisp/emacs-lisp/bytecomp.el: Fix byte-switch codegen with symbols.
38921 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
38923         * lisp/emacs-lisp/byte-opt.el: Add support for decompiling switch
38925         * lisp/emacs-lisp/byte-opt.el: (byte-decompile-bytecode-1) When the
38926           constant encountered precedes a byte-switch op, replace all the
38927           addresses in the jump table with tags.
38929 2017-01-25  Mark Oteiza  <mvoteiza@udel.edu>
38931         Move cXXXr and cXXXXr to subr.el
38933         * etc/NEWS: Mention new core Elisp.
38934         * doc/lispref/lists.texi (List Elements): Document and index the new
38935         functions.
38936         * doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
38937         * lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
38938         (cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
38939         (cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
38940         (cddddr): New functions.
38941         * lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
38942         (cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
38943         (cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
38944         (cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
38945         (cl-cdddar, cl-cddddr): Alias to new subr functions.
38946         * lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
38947         elements.
38949 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38951         Only save .newsrc file if the native method is NNTP
38953         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
38954         the .newsrc file if the native select method is NNTP
38955         (bug#18198).  This avoids problems with invalid IMAP group
38956         names and the like in the .newsrc file.
38958 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38960         Only save .newsrc file if the native method is NNTP
38962         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
38963         the .newsrc file if the native select method is NNTP
38964         (bug#18198).  This avoids problems with invalid IMAP group
38965         names and the like in the .newsrc file.
38967 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38969         Gnus custom spec fix
38971         * lisp/gnus/gnus-art.el (gnus-signature-limit): Fix customize
38972         spec to match the doc string (bug#17679).
38974 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38976         Clarify confusing Gnus error message
38978         * lisp/gnus/gnus-topic.el (gnus-topic-unindent): Clarify
38979         confusing error message (bug#17677).
38981 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38983         Make C-u C-x m work with Message as documented
38985         * lisp/gnus/message.el (message-mail): Respect the CONTINUE
38986         parameter (bug#17175).
38988 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38990         Fix problem with auto-mode and dir-locals-collect-variables
38992         * lisp/files.el (dir-locals-collect-variables): When run from
38993         auto-mode, the file in question may not be an absolute path
38994         name (bug#24016).
38996         Example backtrace:
38998         Debugger entered--Lisp error: (args-out-of-range "compile-1st-in-loa
38999           dir-locals-collect-variables(((emacs-lisp-mode (indent-tabs-mode))
39000           hack-dir-local-variables()
39001           hack-local-variables(no-mode)
39002           run-mode-hooks(diff-mode-hook)
39003           diff-mode()
39004           mm-display-inline-fontify((#<buffer  *mm*-923037> ("text/x-diff" (
39006 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
39008         Attach text files correctly in Message
39010         * lisp/gnus/mml.el (mml-generate-mime-1): Detect which coding
39011         system has been used in attached text files, and don't try to
39012         do any encoding of these files (bug#13808).
39014 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
39016         Build fix for older gnutls versions
39018         * src/gnutls.c (emacs_gnutls_handle_error):
39019         GNUTLS_E_PREMATURE_TERMINATION is apparently only present in
39020         gnutls-3.
39022 2017-01-25  Tino Calancha  <tino.calancha@gmail.com>
39024         ediff-difference-vector-alist: Drop duplicated definition
39026         * lisp/vc/ediff-init.el (ediff-difference-vector-alist):
39027         Drop duplicated definition.
39028         (ediff-difference-vector-A, ediff-difference-vector-B)
39029         (ediff-difference-vector-C, ediff-difference-vector-Ancestor):
39030         Move definition before 'ediff-difference-vector-alist'.
39032 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
39034         Revert "nnimap.el: support additional expunge options"
39036         This reverts commit 4e9baea6aba1633074889339dcc7cdc9d73880d3.
39038         The patch broke fetching new mail:
39040         Debugger entered--Lisp error: (error "Format specifier doesn’t match argument type")
39041           format("%d .*\n" (t ("OK" ("HIGHESTMODSEQ" "914696") "Expunge" "completed.") ("VANISHED" "1825937") ("0" "RECENT")))
39042           (looking-at (format "%d .*\n" sequence))
39043           (not (looking-at (format "%d .*\n" sequence)))
39044           (progn (while (and (not (bobp)) (progn (forward-line -1) (looking-at "\\*\\|[0-9]+ OK NOOP")))) (not (looking-at (format "%d .*\n" sequence))))
39046 2017-01-25  Nikolaus Rath  <Nikolaus@rath.org>
39048         nnimap.el: support additional expunge options
39050         * lisp/gnus/nnimap.el (nnimap-close-group)
39051         (nnimap-request-expire-articles, nnimap-delete-article)
39052         (nnimap-request-scan): add new 'never, 'immediate, and 'on-exit
39053         settings for nnimap-expunge (bug#20670).
39055 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
39057         Don't tag Gnus bugs with "gnus"
39059         * lisp/gnus/gnus-msg.el (gnus-bug): Remove the bug package tags.
39061         * lisp/gnus/gnus.el (gnus-bug-package): Removed; Gnus doesn't
39062         have its own package any more in the bug tracker.
39064 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
39066         Tweak TLS error messaging on closed connections
39068         * src/gnutls.c (emacs_gnutls_handle_error): Demote the normal
39069         peer-closed-connection "The TLS connection was non-properly
39070         terminated" message to a lower level so that it isn't shown to
39071         the user by default.
39073 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
39075         Avoid having eww unexpectedly open external browsers
39077         * lisp/net/eww.el (eww-render): Instead of opening unsupported
39078         content types like audio/mpeg directly in an external browser
39079         (which can be very confusing especially when something
39080         redirects to a file like that), just display a simple
39081         interstitial that people can choose to click on or not
39082         (bug#22671).
39084 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
39086         When opening new eww buffers, use buffer names based on the host name
39088         * lisp/net/eww.el (eww-browse-url): When opening in a new
39089         window, use a buffer name based on the host name (bug#23738).
39090         (eww--dwim-expand-url): Refactored out into its own function
39091         for easier reuse.
39093 2017-01-24  David Engster  <deng@randomsample.de>
39095         xml: Fix parsing of default namespace with quoted names
39097         * lisp/xml.el (xml-parse-attlist): Properly extract namespace when
39098           parsing is done with quoted symbol names (bug#23440).
39099         * test/lisp/xml-tests.el (xml-parse-test--default-namespace-qnames)
39100           (xml-parse-test-default-namespace-qnames): Test for the above.
39102 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
39104         Fix rendering of some complex SVG images
39106         * lisp/net/shr.el (shr-parse-image-data): Don't transform
39107         SVG->DOM->XML unless we're blocking images, as this is apt to
39108         destroy the SVG (bug#24111).
39110 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
39112         Clarify the last clarification
39114         * lisp/net/shr.el (shr-width): Clarify the interaction with
39115         `shr-use-fonts' (bug#24928).
39117 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
39119         shr-width doc clarification
39121         * lisp/net/shr.el (shr-width): Clarify the interaction with
39122         `shr-use-fonts' (bug#24928).
39124 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
39126         Allow passing in max-width/height
39128         * lisp/net/shr.el (shr-rescale-image): Allow passing in
39129         max-width/height (bug#25287).
39131 2017-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
39133         * lisp/progmodes/vhdl-mode.el: Avoid add-to-list on local vars
39135         Require `cl' for `pushnew'.
39136         (vhdl-scan-project-contents, vhdl-compose-wire-components)
39137         (vhdl-uniquify): Use `pushnew' instead of `add-to-list'.
39139 2017-01-24  Noam Postavsky  <npostavs@gmail.com>
39141         Fix comment detection on open parens
39143         Characters having both open paren syntax and comment start syntax were
39144         being detected as open parens even when they should have been part a
39145         comment starter (Bug#24870).
39147         * src/syntax.c (in_2char_comment_start): New function, extracted from
39148         `scan_sexps_forward'.
39149         (scan_sexps_forward): Add check for a 2-char comment starter before the
39150         loop.  Inside the loop, do that check after incrementing the 'from'
39151         character index.  Move the single char comment syntax cases into the
39152         switch instead of special casing them before.
39153         * test/src/syntax-tests.el (parse-partial-sexp-paren-comments):
39154         (parse-partial-sexp-continue-over-comment-marker): New tests.
39156 2017-01-23  Alan Mackenzie  <acm@muc.de>
39158         Give , and .@ doc strings.  Fixes bug #24561.
39160         Also make *Help* links to ``' possible.  Also make usable as such doc strings
39161         on the function-documentation property of a symbol.
39163         * lisp/emacs-lisp/backquote.el (top-level): Give , and '@ doc strings on the
39164         function-documentation property.  Also give these symbols a reader-construct
39165         property.
39167         * lisp/help-fns.el (describe-function): Allow the function-documentation
39168         property to work.  Use princ rather than prin1 to print the function's name
39169         when it has a reader-construct property.
39170         (help-fns-signature): Don't insert `high-usage' for a reader-construct.
39171         (describe-function-1): Adapt to process documentation on the
39172         function-documentation property.  Print "a reader construct" when appropriate.
39174         * lisp/help-mode.el (help-xref-symbol-regexp): Amend this regexp also to match
39175         ``'.
39177 2017-01-22  Paul Eggert  <eggert@cs.ucla.edu>
39179         Improve uses of CHECK_LIST etc.
39181         * src/eval.c (FletX): Report an error for invalid constructs like
39182         ‘(let* (a . 0))’, so that ‘let*’ is more consistent with ‘let’.
39183         (lambda_arity): Use plain CHECK_CONS.
39184         * src/fns.c (CHECK_LIST_END): Move from here to lisp.h.
39185         (Fcopy_alist): Remove unnecessary CHECK_LIST call, since
39186         concat does that for us.
39187         (Fnthcdr, Fmember, Fmemql, Fdelete, Fnreverse):
39188         Use CHECK_LIST_END, not CHECK_LIST_CONS.  This hoists a
39189         runtime check out of the loop.
39190         (Fmemq): Simplify and use CHECK_LIST_END instead of CHECK_LIST.
39191         (Fassq, Fassoc, Frassq, Frassoc):
39192         Simplify and use CHECK_LIST_END instead of CAR.
39193         (assq_no_quit, assoc_no_quit): Simplify and assume proper list.
39194         (Fnconc): Use plain CHECK_CONS, and do-while instead of while loop.
39195         * src/fontset.c (Fnew_fontset):
39196         * src/frame.c (Fmodify_frame_parameters):
39197         Use CHECK_LIST_END at end, rather than CHECK_LIST at start, for a
39198         more-complete check.
39199         * src/gfilenotify.c (Fgfile_add_watch):
39200         Omit unnecessary CHECK_LIST, since Fmember does that for us.
39201         * src/lisp.h (lisp_h_CHECK_LIST_CONS, CHECK_LIST_CONS):
39202         Remove; no longer used.
39203         (CHECK_LIST_END): New inline function.
39205 2017-01-22  Tino Calancha  <tino.calancha@gmail.com>
39207         Prevent to use tabulated-list--near-rows unbound
39209         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
39210         Make sure 'tabulated-list--near-rows' is bound before use it (Bug#25506).
39212 2017-01-22  Juri Linkov  <juri@linkov.net>
39214         * lisp/simple.el (region-bounds): New function.
39216         (region-noncontiguous-p): Use it.
39217         https://lists.gnu.org/r/emacs-devel/2017-01/msg00044.html
39219 2017-01-21  Alan Mackenzie  <acm@muc.de>
39221         Fix low-level handling of (big) C macros.
39223         In particular, ensure that a comment detected by its syntax is not a CPP
39224         construct marked with generic comment delimiter syntax-table text
39225         properties.
39227         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Set
39228         c-macro-cache-syntactic to nil when the cached macro changes.
39229         (c-syntactic-end-of-macro, c-no-comment-end-of-macro)
39230         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
39231         (c-state-pp-to-literal, c-parse-ps-state-to-cache)
39232         (c-state-cache-non-literal-place, c-literal-limits, c-literal-start)
39233         (c-determine-limit): When checking a parse syntax for a comment, check that
39234         we're not in a CPP construct marked by syntax-table generic comment delimiter
39235         text property.
39236         (c-state-pp-to-literal): Change from a defsubst to a defun.
39238         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Check a
39239         parse syntax as described above under cc-engine.el.
39241 2017-01-21  Vibhav Pant  <vibhavp@gmail.com>
39243         * lisp/emacs-lisp/bytecomp.el: Remove unused debugging statements.
39245 2017-01-21  Noam Postavsky  <npostavs@gmail.com>
39247         Don't wait for frame to become visible
39249         * src/xterm.c (x_make_frame_visible): Remove code that waits for the
39250         frame to become visible.  We have to deal with invisible frames anyway,
39251         the loop could sometimes before the frame turned visible, and for some
39252         window managers (e.g., XMonad, i3wm) it caused Emacs to get stuck in a
39253         busy loop (Bug#24091).
39255 2017-01-21  Tino Calancha  <tino.calancha@gmail.com>
39257         diff-hunk-kill independent of point inside headers
39259         Make diff-apply-hunk and diff-hunk-kill independent of the point
39260         position in a diff header (Bug#17544).
39261         This change allows to apply hunks in order.  It also makes possible to
39262         press M-k repeatedly to kill hunks in the order they appear in the buffer.
39263         See discussion on #Bug25105.
39264         * lisp/vc/diff-mode.el (diff-file-junk-re):
39265         Move definition before it's used.
39266         (diff--at-diff-header-p): New predicate; return non-nil when point
39267         is inside a hunk header, a file header, or within a line
39268         matching diff-file-junk-re.
39269         (diff-beginning-of-hunk): Use it.
39270         Check if the point is inside a diff header, in the middle of a hunk,
39271         or before the first hunk.
39272         (diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
39273         before apply the hunk.
39274         (diff-hunk-kill, diff-file-kill):
39275         Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
39276         (diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.
39278 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
39280         Improve documentation of hooks related to saving buffers
39282         * lisp/files.el (write-file-functions, write-contents-functions)
39283         (before-save-hook, after-save-hook): Note that these are only used
39284         by save-buffer.
39286         * doc/lispref/backups.texi (Auto-Saving):
39287         * doc/lispref/files.texi (Saving Buffers): Mention that
39288         save-related hooks are not run by auto-saving.  (Bug#25460)
39290 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
39292         Improve documentation of auto-save-visited-file-name
39294         * doc/emacs/files.texi (Auto Save Files): Mention subtle
39295         differences between saving the buffer and auto-saving with
39296         auto-save-visited-file-name set non-nil.  (Bug#25478)
39298 2017-01-20  Noam Postavsky  <npostavs@gmail.com>
39300         Fix free var FOO-mode-{syntax,abbrev}-table warnings
39302         * lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally
39303         defvar the syntax and abbrev tables so that the compiler will know that
39304         they are dynamically bound variables (Bug#25446).
39306 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
39308         * lisp/emacs-lisp/bytecomp.el: Fix errors with matching quoted forms
39310         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table-info)
39311           eval obj2 to avoid quoted forms being stored as is.
39313 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
39315         lisp/emacs-lisp/bytecomp.el: Use byte-switch only for quoted symbols
39317 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
39319         * lisp/emacs-lisp/bytecomp.el: Add default-case for last cond clause.
39321         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Add
39322         default-case for last cond clause.
39324 2017-01-19  Philipp Stephani  <phst@google.com>
39326         Check that variable lists are actually lists
39328         'let' and 'let*' document that their first argument has to be a list,
39329         but don't check for that; instead, they allow (and silently ignore)
39330         other types.  Introduce an explicit type check.
39332         * src/eval.c (Flet, FletX): Check that the variable list is indeed a
39333         list.
39334         * test/src/eval-tests.el: Add unit tests.
39336 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
39338         Add type checking for Bswitch, when enabled at compile time.
39340         * src/bytecode.c: (exec_byte_code) If BYTE_CODE_SAFE is enabled at
39341           compile time, use CHECK_TYPE to verify that the jump table is a hash table.
39343 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
39345         Use byte-switch for all symbols.
39347         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-valid-obj2-p) Return
39348           t for all symbols (instead for just keywords)
39350 2017-01-19  Noam Postavsky  <npostavs@gmail.com>
39352         Avoid inefficient regex in diff-refine-hunk (Bug#25410)
39354         * lisp/vc/diff-mode.el (diff--forward-while-leading-char): New function.
39355         (diff-refine-hunk): Use it instead of trying to match multiple lines
39356         with a single lines.
39358 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
39360         Remove lock file when auto-saving into the visited file
39362         * src/fileio.c (write_region): When auto-saving into the visited
39363         file, unlock the file whenever we mark the buffer unmodified.
39364         (Bug#25470)
39366 2017-01-18  Vibhav Pant  <vibhavp@gmail.com>
39368         * src/bytecode.c: (exec_byte_code) Use hash_lookup for Bswitch
39370         Fgethash type checks the provided table object, which is unnecessary
39371         for compiled bytecode.
39373 2017-01-18  Tom Tromey  <tom@tromey.com>
39375         fix typo in mailcap-mime-extensions
39377         * lisp/net/mailcap.el (mailcap-mime-extensions): Use "text/x-patch",
39378         not "test/x-patch".  (Bug#25472)
39380 2017-01-18  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
39382         Fix typos in flymake.el
39384         * lisp/progmodes/flymake.el (flymake-check-patch-master-file-buffer):
39385         Spelling fixes in the doc string.
39387 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
39389         Fix a bug with signaling a thread that waits for condvar
39391         * src/thread.c (lisp_mutex_lock_for_thread): New function,
39392         with all the guts of lisp_mutex_lock.
39393         (lisp_mutex_lock): Call lisp_mutex_lock_for_thread.
39394         (condition_wait_callback): Don't call post_acquire_global_lock
39395         before locking the mutex, as that could cause a signaled thread to
39396         exit prematurely, because the condvar's mutex is recorded to be
39397         not owned by any thread, and with-mutex wants to unlock it as part
39398         of unwinding the stack in response to the signal.
39400 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
39402         Rudimentary error handling for non-main threads
39404         * src/thread.c (last_thread_error): New static variable.
39405         (syms_of_threads): Staticpro it.
39406         (record_thread_error, Fthread_last_error): New functions.
39407         (syms_of_threads): Defsubr Fthread_last_error.
39409         * doc/lispref/threads.texi (Basic Thread Functions): Document
39410         thread-last-error.
39412         * test/src/thread-tests.el (thread-errors, thread-signal-early)
39413         (threads-condvar-wait): Test the values returned by
39414         thread-last-error.
39416 2017-01-17  Tom Tromey  <tom@tromey.com>
39418         Add info-lookup help for gdb-script-mode
39420         Bug#25464:
39421         * lisp/info-look.el (info-lookup-guess-gdb-script-symbol): New
39422         function.
39423         Add help for gdb-script-mode.
39425 2017-01-17  Tom Tromey  <tom@tromey.com>
39427         Treat ":root" as a css-selector
39429         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Recognize bare
39430         ":root" as selector.
39432 2017-01-17  Tom Tromey  <tom@tromey.com>
39434         Fix JS regexp literal syntax propertization in expressions
39436         Bug#25465:
39437         * lisp/progmodes/js.el (js-syntax-propertize): Recognize a regexp
39438         literal after "!", "&", and "|".
39439         test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax): New test.
39441 2017-01-17  Glenn Morris  <rgm@gnu.org>
39443         More NEWS checking for admin.el's set-version
39445         * admin/admin.el (set-version): Warn if temporary NEWS markup
39446         still present in release candidates.
39448 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
39450         Mark unused arguments and remove unused variables
39452         * lisp/play/dunnet.el (dun-mode, dun-die, dun-inven, dun-try-take):
39453         (dun-dig, dun-type, dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se):
39454         (dun-nw, dun-sw, dun-up, dun-down, dun-in, dun-out, dun-long):
39455         (dun-swim, dun-score, dun-flush, dun-piss, dun-sleep, dun-drive):
39456         (dun-superb, dun-power, dun-unix-parse, dun-bin, dun-fascii):
39457         (dun-ftpquit, dun-ftphelp, dun-uexit, dun-pwd, dun-dos-parse):
39458         (dun-dos-invd, dun-dos-spawn, dun-dos-exit, dun-dos-nil):
39459         (dungeon-nil): Mark arguments as unused.
39460         (dun-drop, dun-objnum-from-args, dun-get-path, dun-ftp):
39461         (dun-restore): Remove unused variable.
39463 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
39465         Fix auto-save-file-name problem in Tramp on MS Windows
39467         * lisp/files.el (make-auto-save-file-name): Use `file-remote-p'
39468         rather than an ange-ftp regexp.
39470         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
39471         Fix a problem when running on MS Windows.
39473         * test/lisp/net/tramp-tests.el (tramp-test31-make-auto-save-file-name):
39474         Adapt test.
39476 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
39478         Fix auto-save-file-name problem in Tramp on MS Windows. Do not merge
39480         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
39481         Fix a problem when running on MS Windows.
39483 2017-01-17  Paul Eggert  <eggert@cs.ucla.edu>
39485         Merge from origin/emacs-25
39487         42614fa Update remaining copyright years with admin.el M-x set-copyright
39488         f17a006 * lisp/ffap.el (ffap-lax-url): Bump :version after recent cha...
39490 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
39492         Nix some uses of eval
39494         * lisp/play/dunnet.el: Fix triple negative.
39495         (dun-doverb): Use funcall instead of eval.
39496         (dun-echo): Just call dun-mprinc.
39497         (dun-save-val): Just bind value without eval.
39499 2017-01-17  Tom Tromey  <tom@tromey.com>
39501         Fix comment in css-mode.el
39503         * lisp/textmodes/css-mode.el: Remove obsolete comment.
39505 2017-01-16  Vibhav Pant  <vibhavp@gmail.com>
39507         update branch
39509 2017-01-16  Ian Dunn  <dunni@gnu.org>  (tiny change)
39511         * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (Bug#25445).
39513 2017-01-15  Noam Postavsky  <npostavs@gmail.com>
39515         Improve ffap-gopher-at-point handling of long lines
39517         * lisp/ffap.el (ffap-gopher-regexp): Only match the KEY part.  Note
39518         setting to nil is now supported.
39519         (ffap--gopher-var-on-line): New function.
39520         (ffap-gopher-at-point): Use it instead of the old ffap-gopher-regexp
39521         which could overflow the regexp stack on long lines (Bug#25391).  Use
39522         `let-alist' instead of calling `set' on local variables.
39523         * test/lisp/ffap-tests.el (ffap-gopher-at-point): New test.
39525 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
39527         * lisp/emacs-lisp/byte-opt.el: Optimize how tags are checked for use.
39529         * lisp/emacs-lisp/byte-opt.el: (byte-optimize-lapcode): Return nil instantly on
39530           finding the tag in a jump table.
39532 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
39534         * lisp/emacs-lisp/bytecomp.el: Add documentation, remove code duplication
39536 2017-01-14  Vibhav Pant  <vibhavp@gmail.com>
39538         Add new 'switch' byte-code.
39540         'switch' takes two arguments from the stack: the variable to test, and
39541         a jump table (implemented as a hash-table with the appropriate :test
39542         function). By looking up the value of the variable in the hash table,
39543         the interpreter can jump to the label pointed to by the value, if any.
39544         This implementation can only be used for `cond' forms of the type
39545         `(cond ((test x 'foo) 'bar) ...)`, such that the function `test` and
39546         variable `x` is same for all clauses.
39548         * lisp/emacs-lisp/bytecomp.el:
39550           * Add (byte-compile-cond-valid-obj2-p), (byte-compile-cond-vars),
39551             (byte-compile-cond-jump-table-info), (byte-compile-jump-table-add-tag),
39552             (byte-compile-cond-jump-table), byte-compile-jump-tables.
39554           * Add defcustom `byte-compile-cond-use-jump-table'.
39556           * (byte-compile-cond): Use them.
39558           * (byte-compile-lapcode): Patch tags present in jump tables, if any.
39560         * lisp/emacs-lisp//byte-opt.el: (byte-optimize-lapcode): Add checks to
39561           some peephole optimizations to prevent them from messing up any code
39562           involving `byte-switch`.
39564         * src/bytecode.c: (exec_byte_code): Add bytecode Bswitch.
39566 2017-01-14  Alan Third  <alan@idiocy.org>
39568         Fix NS main thread check (bug#25265)
39570         * src/nsterm.m (ns_read_socket, ns_select): Replace mainThread with
39571         isMainThread.
39573 2017-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
39575         * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
39577         `:sqli-comint-func' does not have to be a symbol.
39579 2017-01-14  Alan Mackenzie  <acm@muc.de>
39581         Correct c-parse-state-get-strategy for moving HERE backward into a macro.
39583         * lisp/progmodes/cc-engine.el (c-parse-state-get-strategy): When HERE is below
39584         its previous value, we chose strategy 'forward, and the new HERE is in a
39585         (different) macro, ensure the returned START-POINT is not above the start of
39586         the macro.
39588 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
39590         Include "Date:" in mail messages filed by 'sendmail-send-it'
39592         * lisp/mail/sendmail.el (mail-do-fcc): Insert a 'Date:' header
39593         into the filed message.  In the outgoing message, sendmail will
39594         add the date, but the composed message body doesn't have it.
39595         (Bug#25436)
39597 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
39599         * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#25440)
39601 2017-01-14  Dmitry Gutov  <dgutov@yandex.ru>
39603         Remove leftover references to log-view-message-face
39605         * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): Use log-view-message.
39607         * lisp/vc/vc-git.el (vc-git-root-log-format): Same.
39609         * lisp/vc/vc-hg.el (vc-hg-root-log-format): Same.
39611 2017-01-13  Phillip Lord  <phillip.lord@russet.org.uk>
39613         Record autoloads till emacs dump
39615         * admin/ldefs-clean.el (ldefs-clean-up): Record autoloads till emacs dump
39616         * lisp/ldefs-boot-auto.el (batch-byte-compile): Update
39618         Previously, autoloads were collected till loaddefs.el was generated as
39619         part of the build. However, bootstrap-emacs does not load
39620         loaddefs (rather it is dumped), hence we must record autoloads until the
39621         full emacs binary is dumped.
39623 2017-01-13  Tom Tromey  <tom@tromey.com>
39625         Add chained indentation to js-mode
39627         Bug#20896
39628         * lisp/progmodes/js.el (js-chain-indent): New variable.
39629         (js--skip-term-backward, js--skip-terms-backward)
39630         (js--chained-expression-p): New functions.
39631         (js--proper-indentation): Call js--chained-expression-p.
39632         * test/manual/indent/js-chain.js: New file.
39633         * test/manual/indent/js.js: Add (non-)chained indentation test.
39635 2017-01-13  Tom Tromey  <tom@tromey.com>
39637         Fix js-mode indentation bug
39639         Bug#15582:
39640         * lisp/progmodes/js.el (js--find-newline-backward): New function.
39641         (js--continued-expression-p): Use it.
39642         * test/manual/indent/js.js: Add new test.
39644 2017-01-13  Tom Tromey  <tom@tromey.com>
39646         Fix definition of EMACS in test/manual/indent/Makefile
39648         * test/manual/indent/Makefile (EMACS): Add one more "..".
39650 2017-01-13  Tom Tromey  <tom@tromey.com>
39652         Add .jsx to auto-mode-alist
39654         Bug#25389:
39655         * lisp/files.el (auto-mode-alist): Add entry for .jsx.
39657 2017-01-13  Tom Tromey  <tom@tromey.com>
39659         Fix two js-mode filling bugs
39661         Bug#19399 and Bug#22431:
39662         * lisp/progmodes/js.el (js-mode): Set comment-line-break-function and
39663         c-block-comment-start-regexp.
39664         * test/lisp/progmodes/js-tests.el: New file.
39666 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
39668         Fix last change
39670         * test/src/thread-tests.el (threads-condvar-wait): Revert
39671         previous change.  Make sure no other threads from previous
39672         tests are running, to avoid interfering with our thread counts.
39674 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
39676         Fix the new condvar test
39678         * test/src/thread-tests.el (threads-condvar-wait): Enlarge the
39679         time we sleep in the main thread to let the other thread
39680         process notifications.
39682 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
39684         Minor improvements in the new condvar test
39686         * test/src/thread-tests.el (threads-test-condvar-wait): Use
39687         with-mutex instead of emulating it inline.
39688         (threads-condvar-wait): Improve comments.  Check that the new
39689         thread is alive before waiting for it to become blocked on the
39690         conditional variable.
39692 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
39694         Fix a bug in waiting for condition variable
39696         * src/thread.c (lisp_mutex_lock, lisp_mutex_unlock)
39697         (lisp_mutex_unlock_for_wait, condition_wait_callback)
39698         (condition_notify_callback): Improve commentary.
39699         (condition_wait_callback): Call post_acquire_global_lock before
39700         attempting to lock the mutex, to make sure the lock's owner is
39701         recorded correctly.
39703         * test/src/thread-tests.el (threads-condvar-wait): New test.
39705 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
39707         Improve documentation of dabbrevs
39709         * doc/emacs/abbrevs.texi (Dynamic Abbrevs): Add a cross reference
39710         to "Dabbrev Customization".
39711         (Dabbrev Customization): More details about the default value of
39712         dabbrev-abbrev-char-regexp and use cases when it might not be good
39713         enough.  (Bug#25432)
39715 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
39717         Fix last change of dd80ee6 (was: mm-uu.el: Don't dissect patch part)
39719 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
39721         mm-uu.el: Don't dissect patch part
39723         This fixes a bug that the patch part is broken in the article
39724         <87inpjzhpb.fsf@users.sourceforge.net> in the bug-gnu-emacs list.
39726         * lisp/gnus/mm-uu.el (mm-uu-dissect-text-parts):
39727         Don't dissect patch part.
39729 2017-01-13  Dmitry Lazurkin  <dilaz03@gmail.com>
39731         Fix extracting async def type and name in python mode imenu
39733         * lisp/progmodes/python.el (python-imenu--get-defun-type-name):
39734         New function.
39735         (python-imenu--build-tree): Use python-imenu--get-defun-type-name for
39736         extract async or simple def type and name at current
39737         position (Bug#24820).
39738         * test/lisp/progmodes/python-tests.el (python-imenu-create-index-1):
39739         (python-imenu-create-flat-index-1): Add async def's.
39741 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
39743         Remove garbage from Content-Transfer-Encoding value (bug#25420)
39745         * lisp/mail/ietf-drums.el (ietf-drums-strip-cte): New function.
39746         (ietf-drums-remove-garbage): New function.
39747         (ietf-drums-remove-whitespace): Remove CR as well.
39749         * lisp/mail/mail-parse.el (mail-header-strip-cte):
39750         Alias to ietf-drums-strip-cte.
39752         * lisp/gnus/gnus-art.el (article-decode-charset):
39753         * lisp/gnus/gnus-sum.el (gnus-summary-enter-digest-group):
39754         * lisp/gnus/mm-decode.el (mm-dissect-buffer):
39755         * lisp/gnus/nndoc.el (nndoc-decode-content-transfer-encoding)
39756         (nndoc-rfc822-forward-generate-article):
39757         * lisp/mh-e/mh-mime.el (mh-decode-message-body):
39758         Replace mail-header-strip with mail-header-strip-cte.
39760 2017-01-13  Paul Eggert  <eggert@cs.ucla.edu>
39762         Restore behavior of ‘./autogen.sh autoconf git’
39764         * autogen.sh: Do both autoconf and git setup when invoked
39765         as ‘./autogen.sh autoconf git’.  Avoid unnecessary newline in chatter.
39766         Mention new --no-check option in usage message.  (Bug#25359)
39768 2017-01-12  Glenn Morris  <rgm@gnu.org>
39770         * autogen.sh: Simplify argument parsing.
39772 2017-01-12  Noam Postavsky  <npostavs@gmail.com>
39774         Clarify that easy-menu-add is a nop (Bug#25382)
39776         * lisp/emacs-lisp/easymenu.el (easy-menu-add): Make it into an alias of
39777         `ignore', like `easy-menu-remove'.
39779 2017-01-12  Glenn Morris  <rgm@gnu.org>
39781         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fix entry.
39783 2017-01-11  Glenn Morris  <rgm@gnu.org>
39785         * autogen.sh: Add --no-check option.  (Bug#25359)
39787 2017-01-11  Glenn Morris  <rgm@gnu.org>
39789         Convert some network test failures to skipping
39791         These tests intermittently fail on hydra.nixos.org for unclear
39792         reasons related to starting the external process.
39793         This isn't an Emacs issue, and the failures cause noise on
39794         the emacs-buildstatus list.  (Bug#24503)
39795         * test/lisp/net/network-stream-tests.el (echo-server-nowait)
39796         (connect-to-tls-ipv4-nowait): Skip rather than fail if the
39797         external process fails to start properly.
39799 2017-01-11  Eli Zaretskii  <eliz@gnu.org>
39801         Revert "Add DNS keywords and remove duplications"
39803         This reverts commit 1cb9aa5b14867983d0013a61709b4d0af18364ff.
39805 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
39807         Add DNS keywords and remove duplications
39809         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
39810         NSEC" DNS related keywords and remove duplication of "NSAP".
39812 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
39814         Add DNS keywords and remove duplications
39816         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
39817         NSEC" DNS related keywords and remove duplication of "NSAP".
39819 2017-01-11  Alan Mackenzie  <acm@muc.de>
39821         Handle syntactic WS cache properties more accurately at buffer changes.
39823         This fixes bug #25362.
39825         * lisp/progmodes/cc-engine.el (c-sws-lit-type, c-sws-lit-limits)
39826         (c-invalidate-sws-region-before, c-invalidate-sws-region-after-del)
39827         (c-invalidate-sws-region-after-ins): New variables and functions.
39828         (c-invalidate-sws-region-after): Change from a defsubst to a defun.
39829         Also pass
39830         it the standard OLD-LEN argument.  Call both
39831         c-invalidate-sws-region-after-{ins,del} to check for "dangerous" WS
39832         cache
39833         properties.
39835         * lisp/progmodes/cc-langs.el (c-block-comment-ender-regexp): New language
39836         variable.
39838         * lisp/progmodes/cc-mode.el (c-before-change): Call
39839         c-invalidate-sws-region-before.
39840         (c-after-change): Pass old-len to c-invalidate-sws-region-after.
39842 2017-01-11  Michael Albinus  <michael.albinus@gmx.de>
39844         Support stat 8.26 in Tramp
39846         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Use QUOTING_STYLE
39847         environment variable of newer coreutils.  (Bug#23422)
39849 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
39851         Improve documentation of coding-systems
39853         * doc/lispref/nonascii.texi (Coding System Basics): Mention
39854         'prefer-utf-8'.  Index it and 'undecided'.
39855         (Encoding and I/O): Fix a typo.
39856         (User-Chosen Coding Systems): Improve the documentation of
39857         ACCEPT-DEFAULT-P argument to select-safe-coding-system.  Document
39858         select-safe-coding-system-function.
39859         (Specifying Coding Systems): Document coding-system-require-warning.
39861 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
39863         Merge from gnulib
39865         This incorporates:
39866         2017-01-09 maint: time stamp -> timestamp
39867         2017-01-07 stdioext: Port to Minix 3.2 and newer
39868         2017-01-06 glob, intprops, xalloc: work around Clang bug
39869         2017-01-02 revert copyright-year change to synced files
39870         * doc/misc/texinfo.tex, lib/fpending.c, lib/intprops.h, lib/mktime.c:
39871         * lib/stat-time.h, lib/stdio-impl.h, lib/time.in.h, lib/timespec.h:
39872         * lib/utimens.c, lib/xalloc-oversized.h:
39873         Copy from gnulib.
39875 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
39877         Don't use unsafe encoding for the bookmark file
39879         * lisp/bookmark.el (bookmark-write-file): Handle the case when the
39880         explicitly specified encoding of the bookmark file cannot encode the
39881         additional bookmarks just added.  (Bug#25365)
39883 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
39885         Improve definition of 'variable-pitch' face on MS-Windows
39887         * lisp/faces.el (variable-pitch): Don't specify too many
39888         attributes of the font, otherwise faces that request different
39889         weight or slant or size will not get them.
39891 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
39893         Fix an error message in python.el
39895         * lisp/progmodes/python.el (python-shell-get-process-or-error):
39896         Don't repeat the same key binding twice.  (Bug#25405)
39898 2017-01-09  Phillip Lord  <phillip.lord@russet.org.uk>
39900         Remove unused ldefs-boot.el
39902          * lisp/ldefs-boot.el: Remove
39904         This file was not removed as reported in c27b645956a11, but accidentally
39905         left.
39907 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
39908             Eli Zaretskii  <eliz@gnu.org>
39910         Use expanded stack during regex matches
39912         While the stack is increased in main(), to allow the regex stack
39913         allocation to use alloca we also need to modify regex.c to actually take
39914         advantage of the increased stack, and not limit stack allocations to
39915         SAFE_ALLOCA bytes.
39917         * src/regex.c (MATCH_MAY_ALLOCATE): Remove obsolete comment about
39918         allocations in signal handlers which no longer happens and correct
39919         description about when and why MATCH_MAY_ALLOCATE should be defined.
39920         (emacs_re_safe_alloca): New variable.
39921         (REGEX_USE_SAFE_ALLOCA): Use it as the limit of stack allocation instead
39922         of MAX_ALLOCA.
39923         (emacs_re_max_failures): Rename from `re_max_failures' to avoid
39924         confusion with glibc's `re_max_failures'.
39925         * src/emacs.c (main): Increase the amount of fixed 'extra' bytes we add
39926         to the stack.  Instead of changing emacs_re_max_failures based on the
39927         new stack size, just change emacs_re_safe_alloca; emacs_re_max_failures
39928         remains constant regardless, since if we run out stack space SAFE_ALLOCA
39929         will fall back to heap allocation.
39931 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
39933         Fix computation of regex stack limit
39935         The regex stack limit was being computed as the number of stack entries,
39936         whereas it was being compared with the current size as measured in
39937         bytes.  This could cause indefinite looping when nearing the stack limit
39938         if re_max_failures happened not to be a multiple of sizeof
39939         fail_stack_elt_t (Bug #24751).
39941         * src/regex.c (GROW_FAIL_STACK): Compute both current stack size and
39942         limit as numbers of stack entries.
39944 2017-01-08  Alan Third  <alan@idiocy.org>
39946         Remove apploopnr
39948         * src/nsterm.m (ns_select, ns_read_socket): Remove apploopnr and only
39949         allow app loop to run in main thread.
39951 2017-01-08  Glenn Morris  <rgm@gnu.org>
39953         Remove unused configure output variable
39955         * configure.ac (GNULIB_MK):
39956         * Makefile.in (gnulib_mk): Remove, no longer used.
39958 2017-01-08  Glenn Morris  <rgm@gnu.org>
39960         Fix automake dependencies
39962         * Makefile.in (AUTOMAKE_INPUTS): Add nt/gnulib.mk.  (Bug#25372)
39963         All platforms need this file to exist.
39965 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
39967         Remove unnecessary blankp code
39969         * src/character.c (blankp): Remove redundant code that slows Emacs
39970         down a bit.  The caller already does the test.
39972 2017-01-08  Stefan Merten  <stefan@merten-home.de>
39974         * lisp/textmodes/rst.el: Fix rst-forward-indented-block.
39976         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
39977         (rst-svn-timestamp)
39978         (rst-official-version, rst-official-cvs-rev)
39979         (rst-package-emacs-version-alist): Maintain version numbers.
39980         (rst-forward-indented-block): Fix. Start searching at next
39981         line again. Fixes fontification of comments continuing on the
39982         same line they started.
39984 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
39986         Remove @SET_MAKE@ from manually-maintained files
39988         Emacs now assumes GNU Make, so @SET_MAKE@ is no longer needed.
39989         * Makefile.in, lwlib/Makefile.in, nextstep/Makefile.in:
39990         * src/Makefile.in: Remove @SET_MAKE@.
39992 2017-01-07  Michael Albinus  <michael.albinus@gmx.de>
39994         Fix a problem with `start-file-process' in Tramp
39996         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
39997         `start-file-process' shall work when `non-essential' is
39998         non-nil, but there is already an established connection.
39999         <https://github.com/company-mode/company-mode/issues/462>
40001 2017-01-07  Rolf Ade  <rolf@pointsman.de>  (tiny change)
40003         Fix selecting SQLite database files with sql-mode (Bug#23566)
40005         * lisp/progmodes/sql.el (sql-sqlite-login-params): Allow any name as
40006         SQLite database file name, by default.
40007         (sql-get-login-ext): Fixed read-file-name arguments to provide
40008         path completion even if a database name pattern is customized and to
40009         allow creation of new SQLite database files.
40011 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
40013         Clarify major mode switching
40015         * doc/emacs/modes.texi (Major Modes):
40016         * doc/lispref/modes.texi (Modes, Major Modes): Explictly say that each
40017         buffer has exactly one major mode and can't be "turned off", only
40018         switched away from (Bug#25357).
40020 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
40022         Add helpful comment to compile-command's docstring
40024         * lisp/progmodes/compile.el (compile-command): Mention trailing space in
40025         docstring (Bug#25337).
40027 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
40029         Specify encoding of the bookmark file
40031         * lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
40032         Accept an argument CODING and include a 'coding:' cookie in the
40033         bookmark file preamble.
40034         (bookmark-upgrade-file-format-from-0): Call
40035         'bookmark-insert-file-format-version-stamp' with the file buffer's
40036         encoding, as detected when it was read.
40037         (bookmark-file-coding-system): New variable.
40038         (bookmark-load): Set bookmark-file-coding-system to the encoding
40039         of the loaded file.
40040         (bookmark-write-file): Bind coding-system-for-write to either the
40041         user setting via "C-x RET c" or to the existing file encoding,
40042         defaulting to 'utf-8-emacs'.  Update the value of
40043         bookmark-file-coding-system.  (Bug#25365)
40045 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
40047         Avoid infloop in 'ispell-region'
40049         * lisp/textmodes/ispell.el (ispell-begin-skip-region-regexp):
40050         Protect against 'ispell-skip-region-alist' being nil.  Reported by
40051         Ernest Adrogué <nfdisco@gmail.com>, see
40052         https://lists.gnu.org/r/help-gnu-emacs/2017-01/msg00007.html.
40054 2017-01-06  Philipp Stephani  <phst@google.com>
40056         Add support for Unicode whitespace in [:blank:]
40058         See Bug#25366.
40060         * src/character.c (blankp): New function for checking Unicode
40061         horizontal whitespace.
40062         * src/regex.c (ISBLANK): Use 'blankp' for non-ASCII horizontal
40063         whitespace.
40064         (BIT_BLANK): New bit for range table.
40065         (re_wctype_to_bit, execute_charset): Use it.
40066         * test/lisp/subr-tests.el (subr-tests--string-match-p--blank): Add
40067         unit test for [:blank:] character class.
40068         * test/src/regex-tests.el (test): Adapt unit test.
40069         * doc/lispref/searching.texi (Char Classes): Document new Unicode
40070         behavior for [:blank:].
40072 2017-01-06  Eli Zaretskii  <eliz@gnu.org>
40074         Fix ':version' of 'select-enable-primary'
40076         * lisp/select.el (select-enable-primary): Fix a typo in
40077         ':version'.  (Bug#25375)
40079 2017-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>
40081         (feedmail-deduce-address-list): Avoid add-to-list on local variables.
40083         Author:
40085         * lisp/mail/feedmail.el (feedmail-deduce-address-list):
40086         Avoid add-to-list on local variables.
40088 2017-01-06  Noam Postavsky  <npostavs@gmail.com>
40090         Fix isearch handling of C-u C-u...
40092         * lisp/isearch.el: Add `isearch-scroll' property to
40093         universal-argument-more so that `isearch-allow-scroll' will apply to it
40094         as well.
40095         (isearch-pre-command-hook): Let `isearch-allow-prefix' apply to
40096         `universal-argument-more' as well (Bug#25302).
40098 2017-01-05  Paul Eggert  <eggert@cs.ucla.edu>
40100         Shorten autogen.sh script
40102         * autogen.sh: Use a shorter script, as some 'sed' implementations
40103         mishandle long scripts.
40105 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
40107         Yet another fix for autogen.sh
40109         * autogen.sh (gnulib.mk): Make the Sed script more portable.
40111         * nt/Makefile.in (${srcdir}/gnulib.mk): Adapt the Sed command to
40112         the changes in autogen.sh.
40114 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
40116         * autogen.sh (gnulib.mk): Another attempt to fix macOS build.
40118 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
40120         Fix dependencies of nt/gnulib.mk
40122         * Makefile.in ($(srcdir)/nt/gnulib.mk): Avoid circular dependency
40123         of nt/gnulib.mk on lib/Makefile.in.
40125 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
40127         Unbreak macOS build
40129         * autogen.sh (gnulib.mk): Don't use non-portable extensions of GNU
40130         Sed.
40132 2017-01-05  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
40134         Fix term.el handling of ^Z-sequences spanning chunks
40136         Bash will after each command send ?\032 and the current directory "/tmp"
40137         to inform term.el.  Bash output is buffered in 4096 bytes chunks.  If a
40138         command outputs roughly 4096 bytes then the end of the first chunk will
40139         be "/tm" (Bug#13350).
40141         * lisp/term.el (term-emulate-terminal): Change the regexp to find the
40142         end of the ?\032 sequence to use \n instead of $, the latter can match
40143         end of string as well.
40145 2017-01-05  Mark Oteiza  <mvoteiza@udel.edu>
40147         Turn on lexical-binding in mb-depth.el
40149         * lisp/mb-depth.el: Turn on lexical-binding.
40150         (minibuffer-depth-setup): Bind things used multiple times.
40152 2017-01-04  Alan Third  <alan@idiocy.org>
40154         Revert "Rework NS event handling (bug#25265)"
40156         This reverts commit e0e5b0f4a4ce1d19ee0240c514dedd873d4165dc.
40158 2017-01-04  Glenn Morris  <rgm@gnu.org>
40160         Update remaining copyright years with admin.el M-x set-copyright
40162         * etc/refcards/ru-refcard.tex (cyear): Set to 2017.
40164 2017-01-04  Glenn Morris  <rgm@gnu.org>
40166         * lisp/ffap.el (ffap-lax-url): Bump :version after recent change.
40168 2017-01-04  Paul Eggert  <eggert@cs.ucla.edu>
40170         Port recent autogen.sh changes to Darwin
40172         Problem reported by Sam Steingold (Bug#25347).
40173         * autogen.sh: Don't assume 'sed -f-' reads a script from stdin, as
40174         POSIX does not require it and it does not work on Darwin.
40176 2017-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
40178         Avoid add-to-list on local variables
40180         * lisp/gnus/nnir.el: Use lexical-binding and cl-lib.
40181         (nnir-retrieve-headers): Use pcase.
40182         (nnir-search-thread): Avoid add-to-list on local variables.
40184         * lisp/gnus/smime.el: Use lexical-binding and cl-lib.
40185         (smime-verify-region): Avoid add-to-list on local variables.
40187         * lisp/mail/undigest.el: Use lexical-binding and cl-lib.
40188         (rmail-digest-parse-mime, rmail-digest-rfc1153)
40189         (rmail-digest-parse-rfc934): Avoid add-to-list on local variable.
40191         * lisp/net/ldap.el (ldap-search): Move init into declaration.
40193         * lisp/net/newst-backend.el (newsticker--cache-add):
40194         Avoid add-to-list on local variables; Simplify code with `assq'.
40196         * lisp/net/zeroconf.el: Use lexical-binding and cl-lib.
40197         (dbus-debug): Remove declaration, unused.
40198         (zeroconf-service-add-hook, zeroconf-service-remove-hook)
40199         (zeroconf-service-browser-handler, zeroconf-publish-service):
40200         Avoid add-to-list and *-hook on local variables.
40202         * lisp/org/org-archive.el (org-all-archive-files):
40203         * lisp/org/org-agenda.el (org-agenda-get-restriction-and-command):
40204         Avoid add-to-list on local variables.
40206         * lisp/org/ox-publish.el (org-publish--run-functions): New function.
40207         (org-publish-projects): Use it to avoid run-hooks on a local variable.
40208         (org-publish-cache-file-needs-publishing): Avoid add-to-list on
40209         local variables.
40211         * lisp/progmodes/ada-prj.el: Use setq instead of (set '...).
40212         (ada-prj-load-from-file): Avoid add-to-list on local variables.
40214         * lisp/progmodes/ada-xref.el (ada-initialize-runtime-library): Simplify.
40215         (ada-gnat-parse-gpr, ada-parse-prj-file-1)
40216         (ada-xref-find-in-modified-ali): Avoid add-to-list on local variables.
40218         * lisp/progmodes/idlw-shell.el (idlwave-shell-update-bp-overlays):
40219         Avoid add-to-list on local variables.
40221 2017-01-04  Mark Oteiza  <mvoteiza@udel.edu>
40223         Turn on lexical-binding in md4.el
40225         * lisp/md4.el: Turn on lexical-binding.
40226         * test/lisp/md4-tests.el: New file.
40228 2017-01-03  Stefan Merten  <stefan@merten-home.de>
40230         Lots of refactorings and a few minor improvements.
40232         User visible improvements and changes:
40233         * Improve and debug `rst-forward-section` and `rst-backward-section`.
40234         * Auto-enumeration may be used with all styles for list insertion.
40235         * Improve and debug `rst-toc-insert`.
40236         * Adapt change in Emacs to use customization group `text` instead of `wp`.
40237         * Bind `n` and `p` in `rst-toc-mode`.
40238         * `z` in `toc-mode` returns to the previous window configuration.
40239         * Require Emacs version >= 24.1.
40241         Lots of refactorings including:
40242         * Silence byte compiler.
40243         * Use lexical binding.
40244         * Use `cl-lib`.
40245         * Add tests and raise test coverage.
40247 2017-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
40249         (cl-defstruct): Improve error message for slots w/o value (bug#25312)
40251         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't signal an error but
40252         emit a warning for those coders who forgot to put a default value in
40253         their slot.
40255 2017-01-03  Philipp Stephani  <p.stephani2@gmail.com>
40257         Small patch for ffap.el
40259         * lisp/ffap.el (ffap-alist): Document that ffap sets the match data
40260         while walking 'ffap-alist'.
40262 2017-01-03  Eli Zaretskii  <eliz@gnu.org>
40264         Generate nt/gnulib.mk from lib/gnulib.mk
40266         This was proposed by Paul Eggert <eggert@cs.ucla.edu>,
40267         with the purpose of avoiding manual maintenance of
40268         nt/gnulib.mk.
40270         * nt/gnulib-modules-to-delete.cfg: New file.
40271         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
40272         (am__v_GEN_1): New variables.
40273         (${srcdir}/gnulib.mk): Rules to generate gnulib.mk from
40274         lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg.
40276         * make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of
40277         files to link.
40278         * configure.ac (GNULIB_MK): Compute the value according to $opsys.
40279         * autogen.sh: Create nt/gnulib.mk if it doesn't exist, before
40280         running autoreconf.
40281         * Makefile.in (gnulib_mk): New variable.
40282         ($(srcdir)/nt/gnulib.mk): Rule to produce it.
40283         (AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file
40284         name.
40285         * .gitignore: Add nt/gnulib.mk.
40287         * src/w32.c (acl_errno_valid): Implement it here, as we no longer
40288         build the acl-permissions module from Gnulib.
40290 2017-01-03  Noam Postavsky  <npostavs@gmail.com>
40292         Handle multibyte chars spanning chunks in term.el
40294         * lisp/term.el (term-terminal-undecoded-bytes): New variable.
40295         (term-mode): Make it buffer local.  Don't make `term-terminal-parameter'
40296         buffer-local twice.
40297         (term-emulate-terminal): Check for bytes of incompletely decoded
40298         characters, and save them until the next call when they can be fully
40299         decoded (Bug#25288).
40301 2017-01-03  Michael Albinus  <michael.albinus@gmx.de>
40303         Finish work on filenotify-tests.el
40305         * test/lisp/filenotify-tests.el (file-notify--test-monitors):
40306         New variable.
40307         (file-notify--test-cleanup, file-notify--test-monitor): Use it.
40308         (file-notify--test-read-event, file-notify-test02-events)
40309         (file-notify-test04-file-validity): Handle "gvfs-monitor-dir.exe".
40310         (file-notify-test03-autorevert)
40311         (file-notify-test08-watched-file-in-watched-dir):
40312         Set `file-notify--test-desc' for proper work of
40313         `file-notify--test-monitor'.  (Bug#21804)
40315 2017-01-02  Michael Albinus  <michael.albinus@gmx.de>
40317         Check also for "gvfs-monitor-dir.exe" in Tramp
40319         * lisp/net/tramp-sh.el (tramp-get-remote-gvfs-monitor-dir): Check also
40320         for "gvfs-monitor-dir.exe".
40322 2017-01-02  Eli Zaretskii  <eliz@gnu.org>
40324         Fix compilation --without-x
40326         * src/composite.c (autocmp_chars) [HAVE_WINDOW_SYSTEM]: Call
40327         font_range only if it is compiled in.  (Bug#25334)
40329 2017-01-02  Sašo Živanović  <saso.zivanovic@guest.arnes.si>
40331         Fix RefTeX to show table of contents for dtx files (tiny change)
40333         * lisp/textmodes/reftex.el (reftex-compile-variables): Change the
40334           section regexp so that it accepts lines starting with the comment
40335           character. (tiny change)
40336         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file): Filter
40337           gathered toc entries, accepting a commented entry if and only if the
40338           source file is a ".dtx" file. (tiny change)
40340 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
40342         Remove mistakenly-added files
40344         Problem reported by Glenn Morris in:
40345         https://lists.gnu.org/r/emacs-devel/2017-01/msg00008.html
40346         * lisp/gnus/gnus-ems.el, lisp/gnus/gnus-sync.el:
40347         * lisp/gnus/messcompat.el, lisp/nxml/nxml-glyph.el:
40348         * lisp/nxml/nxml-uchnm.el, lisp/obsolete/awk-mode.el:
40349         * lisp/obsolete/iso-acc.el, lisp/obsolete/iso-insert.el:
40350         * lisp/obsolete/iso-swed.el, lisp/obsolete/resume.el:
40351         * lisp/obsolete/scribe.el, lisp/obsolete/spell.el:
40352         * lisp/obsolete/swedish.el, lisp/obsolete/sym-comp.el:
40353         Remove files that were added by mistake during a merge.
40355 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
40357         Warn about incomplete untarring of link files
40359         The current tar-mode doesn't really support unpacking symlinks, it
40360         simply creates an empty file of the same name.
40362         * lisp/tar-mode.el (tar--describe-as-link): New function extracted from
40363         `tar--check-descriptor'.
40364         (tar-untar-buffer): Use it to warn about imperfectly untarred link
40365         files.
40367 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
40369         Remove sh-mode's skeleton-end-hook
40371         * lisp/progmodes/sh-script.el (sh-mode): Remove local setting of
40372         `skeleton-end-hook', `skeleton-insert' already does `newline-and-indent'
40373         and also respects `skeleton-end-newline' (Bug#16634).
40375 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
40377         * nt/gnulib.mk (stdint.h): Update to match lib/gnulib.mk here.
40379 2017-01-01  Mark Oteiza  <mvoteiza@udel.edu>
40381         Add term/tmux.el
40383         Since tmux version 2.1, new tmux terminfos are shipped due to oddities
40384         with xterm and screen terminfos.  This is simply a duplication of
40385         term/screen.el with screen -> tmux.
40386         * lisp/term/tmux.el: New file.
40388 2017-01-01  Philipp Stephani  <phst@google.com>
40390         Fix encoding of JSON surrogate pairs
40392         JSON requires that such pairs be treated as UTF-16 surrogate pairs, not
40393         individual code points; cf. Bug #24784.
40395         * lisp/json.el (json-read-escaped-char): Fix decoding of surrogate
40396         pairs.
40397         (json--decode-utf-16-surrogates): New defun.
40399         * test/lisp/json-tests.el (test-json-read-string): Add test for
40400         surrogate pairs.
40402 2017-01-01  Michael Albinus  <michael.albinus@gmx.de>
40404         Remove tramp-gw.el, which was synced from emacs-25 by accident
40406 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
40408         Do not use Gnulib’s m4/wint_t.m4.
40410         * admin/merge-gnulib: Remove m4/wint_t.m4 when merging.
40411         Fix typo so that warn-on-use.m4 is removed too.
40412         * configure.ac (gt_TYPE_WINT_T): New macro, replacing Gnulib’s.
40413         * m4/wint_t.m4: Remove.
40415 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
40417         Merge from gnulib, continued
40419         * m4/wint_t.m4: New file, copied from gnulib.
40421 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
40423         Update copyright year to 2017 in master
40425         Run admin/update-copyright in the master branch.  This fixes files
40426         that were not already fixed in the emacs-25 branch before it was
40427         merged here.
40429 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
40431         Remove test/automated detritus from merge
40433 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
40435         Merge from gnulib
40437         This incorporates:
40438         2016-12-19 stdint: Fix WINT_MAX to match wint_t on mingw
40439         2016-12-18 getopt: Fix link error for users of getopt() in <unistd.h>
40440         2016-12-17 getlogin: Port to newer mingw
40441         2016-12-17 stdint: Fix WINT_MAX to match wint_t on MSVC
40442         2016-12-17 Avoid redefinition errors on MSVC
40443         * lib/getopt.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/unistd.in.h:
40444         * m4/stdint.m4, m4/unistd_h.m4:
40445         Copy from gnulib.
40446         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
40447         Plus, this commit updates the indenting on copyright notices to
40448         match that of gnulib.
40450 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
40452         Merge from origin/emacs-25
40454         2e2a806 Fix copyright years by hand
40455         5badc81 Update copyright year to 2017
40457 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
40459         Merge from origin/emacs-25
40461         665be69 ; Update ChangeLog.2 and AUTHORS files
40463         # Conflicts:
40464         #       etc/AUTHORS
40466 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
40468         Merge from origin/emacs-25
40470         697167b ; Improve wording of previous change in variables.texi
40471         d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v...
40472         8b71826 Don't modify minibuffer variables globally
40473         5b5e036 Revert to pre-25.1 behavior in ffap
40474         19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
40475         3ace730 Attempt to fix 64-bit AIX build
40476         f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
40477         c04ac8a Document that variable binding order is unspecified
40478         272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
40479         08de101 Fix M-x hints on Mac port
40480         86a297a Work around reporting a dpi change in apply_xft_settings
40481         cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change
40482         9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't m...
40483         88cdf14 Improve skeleton docstrings
40485 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
40487         Merge from origin/emacs-25
40489         4179238 Improve documentation of 'w32-scroll-lock-modifier'
40491 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
40493         Merge from origin/emacs-25
40495         9adb101 Document 'describe-fontset'
40496         229315c ; Add missing symbol quoting.
40497         3d94931 Repair desktop restoration on text terminals
40498         43022f9 Ignore forward-sexp-function in js-mode indentation code
40499         b19fb49 Improve documentation of 'define-coding-system'
40500         467768f Fix Bug#25162
40501         6db78ae Fix a typo in define-abbrev-table
40502         5f7d906 Bump makeinfo requirement from 4.7 to 4.13
40503         442e2f6 Fixes related to select-enable-clipboard
40504         e4ac450 Define struct predicate before acccesors
40505         08decbd Doc fix for vc-git
40506         5531e75 Further improve make-dist checking
40507         953bf67 Improve previous make-dist change
40508         129645a Make make-dist --snapshot do some sanity checks
40510         # Conflicts:
40511         #       lisp/menu-bar.el
40513 2017-01-01  Alan Mackenzie  <acm@muc.de>
40515         Give eval-and-compile a correct edebug spec.  Fixes bug #16184 properly.
40517         * lisp/emacs-lisp/edebug.el (edebug_offset_indices): Revert abortive commit
40518         from Thu Dec 29 09:22:36 2016 +0000 which didn't really fix the bug.
40520         * lisp/emacs-lisp/byte-run.el (eval-and-compile): Change the edebug spec from
40521         t to (&rest def-form).
40523 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
40525         Fix copyright years by hand
40527         These are dates that admin/update-copyright did not update, or
40528         updated incorrectly.
40530 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
40532         Update copyright year to 2017
40534         Run admin/update-copyright.
40536 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
40538         Clarify internal_catch etc.
40540         The recent change to internal_catch and friends relied on some
40541         confusion I introduced to the code in 2013.  Attempt to fix
40542         the confusion by clarifying the code instead.  This saves an
40543         instruction and a load dependency in the typical case.
40544         * src/eval.c (internal_catch, internal_condition_case)
40545         (internal_condition_case_1, internal_condition_case_2)
40546         (internal_condition_case_n): Undo the previous change.  Instead,
40547         use use ‘c’ rather than ‘handlerlist’ in the typical case.
40548         Also, use ‘eassert’ rather than ‘clobbered_eassert’ when possible.
40550 2016-12-31  Ken Brown  <kbrown@cornell.edu>
40552         Further improve filenotify-tests.el
40554         * test/lisp/filenotify-tests.el
40555         (file-notify--test-read-event): Adapt to file monitors of type
40556         GFamFileMonitor, which occur on Cygwin.
40557         (file-notify--test-monitor): Update doc string.
40559 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
40561         * src/xdisp.c (string_from_display_spec): Simplify.
40563 2016-12-31  Alan Third  <alan@idiocy.org>
40565         Rework NS event handling (bug#25265)
40567         * src/nsterm.m (unwind_apploopnr): Remove.
40568         (ns_read_socket): Remove references to apploopnr.  Make processing the
40569         NS event loop conditional on being in the main thread.
40570         (ns_select): Remove references to apploopnr.  Remove all fd_handler
40571         related stuff.  Check if there are events waiting on the NS event
40572         queue rather than running the event loop.  Remove unused variables and
40573         code.
40574         (fd_handler): Remove.
40575         (ns_term_init): Remove creation of fd_handler thread.
40576         (hold_event, EmacsApp:sendEvent, EmacsView:mouseMoved,
40577         EmacsView:windowDidExpose): Remove send_appdefined.
40578         (ns_send_appdefined): Always check the event queue for
40579         applicationDefined events rather than relying on send_appdefined var.
40580         * src/nsterm.h: Remove reference to fd_handler method.
40582 2016-12-31  Philipp Stephani  <phst@google.com>
40584         Checkdoc: use syntax functions instead of regex
40586         In checkdoc.el, get rid of the error-prone regex to find definition
40587         forms, and use existing syntax-based navigation functions instead.
40588         This fixes a corner case with one-argument `defvar' forms.
40590         * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): New function.
40591         (checkdoc-next-docstring, checkdoc-defun): Use it.
40592         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--next-docstring):
40593         Add unit test.
40595 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
40597         Don't define NOMINMAX on MS-Windows
40599         * src/callproc.c (NOMINMAX) [WINDOWSNT]: Don't define.  This is no
40600         longer needed with the current sources and MinGW headers, while
40601         defining NOMINMAX causes an annoying compiler warning.
40603 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
40605         Simplify code in eval.c that calls 'setjmp'
40607         * src/eval.c (internal_catch, internal_condition_case)
40608         (internal_condition_case_1, internal_condition_case_2)
40609         (internal_condition_case_n): Factor out the common tail of the
40610         functions.
40612 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
40614         Simplify code in 'string_from_display_spec'
40616         * src/xdisp.c (string_from_display_spec): Eliminate a redundant
40617         test before the loop.
40619 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
40621         Serialize random number generation on MS-Windows
40623         * src/w32.c (rand_as183): New function.
40624         (random): Use it instead of MS runtime's 'rand'.  This avoids
40625         producing separate and identical random series in each Lisp
40626         thread.
40627         (srandom): Modify to supply 3 seed values to 'rand_as183'.
40629 2016-12-31  Michael Albinus  <michael.albinus@gmx.de>
40631         * src/gfilenotify.c (Fgfile_monitor_name): Return interned symbol.
40633 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
40635         Don't call xg_select for a NextStep build.
40637         NextStep builds use glib but don't use xg_select.
40639         * src/process.c (wait_reading_process_output): Don't call xg_select
40640         for a NextStep build.
40642 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
40644         Increase the obarray size.
40646         In a typical GNU/Linux/X11 build, we wind up with over 15k symbols by
40647         the time we've started.  The old obarray size ensured an average chain
40648         length of 10 or more.
40650         * src/lread.c (OBARRAY_SIZE): Increase to 15121.
40652 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
40654         Initialize thread support for Xlib.
40656         * src/xterm.c (x_initialize) [THREADS_ENABLED]: Call XInitThreads
40657         before doing anything else with X.
40659 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
40661         Rename primary_thread to main_thread
40663         This avoids the confusion of using two different phrases "main thread"
40664         and "primary thread" internally to mean the same thing.  See:
40665         https://lists.gnu.org/r/emacs-devel/2016-12/msg01142.html
40666         * src/thread.c (main_thread): Rename from primary_thread,
40667         since the new name no longer clashes with main_thread_id
40668         and Emacs internals normally call this the "main thread".
40669         (init_main_thread): Rename from init_primary_thread.
40670         (main_thread_p): Rename from primary_thread_p.
40671         All uses changed.
40673 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
40675         Rename main_thread to main_thread_id and simplify
40677         * src/emacs-module.c: Include syssignal.h, for main_thread_id.
40678         [HAVE_PTHREAD]: Do not include pthread.h.
40679         (main_thread): Remove.  All uses replaced by main_thread_id,
40680         or by dwMainThreadId on NT.  Since the HAVE_PTHREAD code is now using
40681         the main_thread_id established by sysdep.c, there is no need for a
40682         separate copy of the main thread ID here.
40683         (module_init): Remove.  All uses removed.
40684         * src/sysdep.c (main_thread_id) [HAVE_PTHREAD]:
40685         Rename from main_thread.  All uses changed.  Now extern.
40687 2016-12-30  Michael Albinus  <michael.albinus@gmx.de>
40689         * src/gfilenotify.c (Fgfile_monitor_name): Return a symbol.
40691 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
40693         * src/sysdep.c (deliver_process_signal): Improve comment.
40695 2016-12-30  Alan Mackenzie  <acm@muc.de>
40697         CC Mode: Fix the fontification of a spuriously recognized enum member.
40699         The "enum" was in an argument list, but triggered the fontification of a
40700         following identifier in the function block as though it were in an enum
40701         declaration.
40703         * lisp/progmodes/cc-fonts.el (c-font-lock-enum-body): New function.
40704         (c-basic-matchers-after): Replace the inline stanza for enum elements with a
40705         call to c-font-lock-enum-body.
40707         * lisp/progmodes/cc-langs.el (c-enum-clause-introduction-re): New language
40708         variable.
40710 2016-12-30  Nicolas Petton  <nicolas@petton.fr>
40712         Bump Emacs version to 25.1.91
40714         * README:
40715         * configure.ac:
40716         * msdos/sed2v2.inp:
40717         * nt/README.W32: Bump Emacs version.
40718         * lisp/ldefs-boot.el: Update.
40720 2016-12-30  Eli Zaretskii  <eliz@gnu.org>
40722         Attempt to fix crashes with threads in GTK builds
40724         * src/xgselect.c (xg_select): Call pselect via thread_select, not
40725         directly, to avoid running Lisp (via unblock_input) when more than
40726         one thread could be running.  (Bug#25247)
40727         * src/process.c (wait_reading_process_output) [HAVE_GLIB]: Call
40728         xg_select directly instead of through thread_select.
40729         * src/xgselect.h (xg_select): Last 2 arguments are no longer
40730         'const', for consistency with thread_select.
40732 2016-12-30  Arash Esbati  <arash.esbati@gmail.com>
40734         Add entry for biblatex
40736         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
40737         entry for biblatex macros.
40739 2016-12-30  Alan Mackenzie  <acm@muc.de>
40741         Backport: Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
40743         The ambiguity was whether INITVALUE is evaluated when it's not going to be
40744         used to set SYMBOL's value.
40746         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
40748         (cherry picked from commit 8295e97f18490a535d1188a3daf0b0fd1bf4fa0d)
40750 2016-12-30  Tino Calancha  <tino.calancha@gmail.com>
40752         ffap-string-at-point: Limit max length of active region
40754         Prevents that 'ffap-guesser' waste time checking large strings
40755         which are likely not valid candidates (Bug#25243).
40756         * lisp/ffap.el (ffap-max-region-length): New variable.
40757         (ffap-string-at-point): Use it.
40758         * test/lisp/ffap-tests.el: New test suite.
40759         (ffap-tests-25243): Add test for this bug.
40761 2016-12-30  Thien-Thi Nguyen  <ttn@gnu.org>
40763         last-chance: Also ignore NEWS files + typo fixes
40765         * admin/last-chance.el: Fix typo in copyright notice.
40766         (last-chance-uninteresting-regexps): Add entry to match NEWS files.
40767         (last-chance-cleanup): Fix typo in docstring.
40769 2016-12-29  Mike Kupfer  <mkupfer@alum.berkeley.edu>
40771         * lisp/mh-e/mh-e.el (mh-fetch-x-image-url): Fix a docstring typo.
40773 2016-12-29  Alan Mackenzie  <acm@muc.de>
40775         Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
40777         The ambiguity was whether INITVALUE is evaluated when it's not going to be
40778         used to set SYMBOL's value.
40780         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
40782 2016-12-29  Michael Albinus  <michael.albinus@gmx.de>
40784         Improve filenotify-tests.el
40786         * src/inotify.c (Finotify_valid_p):
40787         * src/kqueue.c (Fkqueue_valid_p):
40788         * src/w32notify.c (Fw32notify_valid_p):
40789         * src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
40790         (Fgfile_monitor_name): New defun.
40791         (syms_of_gfilenotify): Declare Sgfile_monitor_name.
40793         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
40794         New defun, derived from `file-notify--test-read-event-timeout'.
40795         Replace all calls of `read-event' by this.
40796         (file-notify--test-timeout): Fix docstring.
40797         (file-notify--test-monitor): New defun.
40798         (file-notify--deftest-remote): Do not bind
40799         `file-notify--test-read-event-timeout' anymore.
40800         (file-notify-test00-availability): Print also monitor, if existent.
40801         (file-notify--test-with-events): Add an additional
40802         `file-notify--test-read-event' call, in order to get it work
40803         after `file-notify-add-watch'.  Remove special timeout for cygwin.
40804         (file-notify-test02-events): Make a better check for cygwin.
40805         (file-notify-test06-many-events): Improve event list for cygwin.
40806         (file-notify-test08-watched-file-in-watched-dir): Add cygwin case.
40808 2016-12-29  Alan Mackenzie  <acm@muc.de>
40810         Partially correct fontification of "(b*3)", and the like, in C++ Mode
40812         This problem is caused by the fundamental ambiguity in C++ between
40813         argument declarations and initialization clauses.
40815         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): If we have an open
40816         paren preceded by an arithmetic operator, we give this the context nil, not
40817         'arglist.
40819         * lisp/progmodes/cc-langs.el (c-arithmetic-operators, c-arithmetic-op-regexp):
40820         New lang consts and vars.
40822 2016-12-29  Alan Mackenzie  <acm@muc.de>
40824         Initialize edebug-offset-indices to a cons, not nil.  Fixes bug #16184.
40826         This is because there are times when this variable is changed by setcar before
40827         an atom is pushed onto it by debug-enter.  This happens, for example, whilst
40828         instrumenting c-font-lock-declarations in .../lisp/progmodes/cc-fonts.el.
40830         * lisp/emacs-lisp/edebug.el (edebug-offset-indices): initialize to '(0).
40832 2016-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
40834         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
40836         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
40837         Cherry picked from commit e6161f648903d821865b9610b3b6aa0f82a5dcb7.
40839 2016-12-27  Michael Albinus  <michael.albinus@gmx.de>
40841         Release Tramp 2.3.1
40843         * doc/misc/trampver.texi:
40844         * lisp/net/trampver.el: Change version to "2.3.1".
40846         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it to
40847         `eshell-mode-hook' but `eshell-first-time-mode-hook'.
40849         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
40850         (tramp-compat-file-name-quote)
40851         (tramp-compat-file-name-unquote): Embed them in `eval-and-compile'.
40853 2016-12-27  Paul Eggert  <eggert@cs.ucla.edu>
40855         Simplify prog1 implementation
40857         Inspired by a suggestion from Chris Gregory in:
40858         https://lists.gnu.org/r/emacs-devel/2016-12/msg00965.html
40859         On my platform, this generates exactly the same machine insns.
40860         * src/eval.c (prog_ignore): Rename from unwind_body, since
40861         it’s more general than that.  All callers changed.
40862         (Fprog1): Simplify by using prog_ignore.
40863         (Fwhile): Clarify by using prog_ignore.
40865 2016-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
40867         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
40869         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
40871 2016-12-27  Mark Oteiza  <mvoteiza@udel.edu>
40873         Remove a use of lexical-let
40875         * lisp/gnus/message.el (message-completion-function): Just use let,
40876         since the file now uses lexical-binding.
40878 2016-12-27  Ken Brown  <kbrown@cornell.edu>
40880         Improve filenotify-tests.el on Cygwin (Bug #21804)
40882         * test/lisp/filenotify-tests.el [CYGWIN]
40883         (file-notify--test-read-event-timeout): Increase.
40884         (file-notify--test-with-events): Add delay before executing body.
40885         (file-notify-test02-events, file-notify-test04-file-validity):
40886         Adjust expected results.
40888 2016-12-27  Eli Zaretskii  <eliz@gnu.org>
40890         Fix expand-file-name on DOS_NT systems when /: escaping is used
40892         * src/fileio.c (Fexpand_file_name) [DOS_NT]: Don't expand "~" in
40893         file names escaped by "/:".  Don't recursively expand
40894         default-directory escaped with "/:" which is not followed by a
40895         drive spec.  (Bug#25183)
40897 2016-12-27  Bake Timmons  <65pandas@gmail.com>
40899         Fix `mail-sources' value of `(group)' in Gnus manual (bug#25275)
40901         * doc/misc/gnus.texi (Mail Source Specifiers):
40902         Replace wrong `mail-sources' value of `(group)' in Gnus manual with
40903         the correct `((group))' value.  (bug#25275) (tiny change)
40905 2016-12-27  Bake Timmons  <65pandas@gmail.com>
40907         Fix bug in customizing `mail-sources' variable (bug#25274)
40909         * lisp/gnus/mail-source.el (mail-sources): Use list instead of cons
40910         for lone argument. (bug#25274) (tiny change)
40912 2016-12-26  Philipp Stephani  <phst@google.com>
40914         Checkdoc: Don't require a space before an arg list
40916         See Bug#24998.
40918         * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-regexp): Don't require a
40919         space before a argument list.
40920         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--bug-24998):
40921         Add unit test.
40923 2016-12-26  Eli Zaretskii  <eliz@gnu.org>
40925         Document 'default-toplevel-value' and 'set-default-toplevel-value'
40927         * doc/lispref/variables.texi (Default Value): Document
40928         'default-toplevel-value' and 'set-default-toplevel-value'.
40930 2016-12-25  Michihito Shigemura  <m_shigemura@shigemk2.com>  (tiny change)
40932         Add zshrc and zshenv detection to sh-mode (bug#25217)
40934         * lisp/progmodes/sh-script.el (sh-mode): Add zsh string-match
40936 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
40938         Fix typo in lisp.h reordering patch
40940         * src/lisp.h (XUNTAG) [!USE_LSB_TAG]: Remove duplicate defn.
40941         Reported by Eli Zaretskii (Bug#25128#19).
40943 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
40945         regex.h now includes sys/types.h
40947         * src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
40948         Do not include sys/types.h; no longer needed.
40949         * src/regex.h: Include <sys/types.h>, as that's what Gnulib and
40950         glibc regex.h does, and POSIX has blessed this since 2008.
40952 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
40954         Reorder lisp.h to declare types before using them
40956         This puts basic functions for types to be after the corresponding
40957         type definitions.  This is a more-common programming style in C,
40958         and will make it easier to port Emacs to gcc
40959         -fcheck-pointer-bounds, since the functions now have access to the
40960         corresponding types' sizes.  This patch does not change the code;
40961         it just moves declarations and definitions and removes
40962         no-longer-needed forward declarations (Bug#25128).
40963         * src/buffer.c, src/data.c, src/image.c:
40964         Include process.h, for PROCESSP.
40965         * src/buffer.h (BUFFERP, CHECK_BUFFER, XBUFFER):
40966         * src/process.h (PROCESSP, CHECK_PROCESS, XPROCESS):
40967         * src/termhooks.h (TERMINALP, XTERMINAL):
40968         * src/window.h (WINDOWP, CHECK_WINDOW, XWINDOW):
40969         * src/thread.h (THREADP, CHECK_THREAD, XTHREAD, MUTEXP, CHECK_MUTEX)
40970         (XMUTEX, CONDVARP, CHECK_CONDVAR, XCONDVAR):
40971         Move here from lisp.h.
40972         * src/intervals.h: Include buffer.h, for BUFFERP.
40973         Include lisp.h, for Lisp_Object.
40974         * src/lisp.h: Reorder declarations and definitions as described
40975         above.  Move thread includes to be later, so that they can use the
40976         reordered definitions.  Move some symbols to other headers (noted
40977         elsewhere).  Remove forward decls that are no longer needed.
40978         * src/thread.h: Include systhread.h here, not in lisp.h,
40979         since lisp.h itself does not need systhread.h.
40981 2016-12-25  Leo Liu  <sdl.web@gmail.com>
40983         Don't modify minibuffer variables globally
40985         * lisp/files.el (cd): Use setq-local instead.  (Bug#25260)
40987 2016-12-25  Dima Kogan  <dima@secretsauce.net>
40989         diff-mode auto-refines only after a successful motion
40991         Prior to this patch (if enabled) auto-refinement would kick in after all
40992         hunk navigation commands, even if the motion failed.  This would result
40993         in a situation where the hunk navigation would signal an error and beep,
40994         but yet still accomplish potentially useful work, by auto-refining.
40995         This patch moves the auto-refinement code to only run when a motion was
40996         successful
40998         * lisp/vc/diff-mode.el (diff--internal-hunk-next,
40999           diff--internal-hunk-prev): Removed auto-refinement-triggering code
41000         * lisp/vc/diff-mode.el (diff--wrap-navigation): Added
41001           auto-refinement-triggering code
41003 2016-12-25  Dima Kogan  <dima@secretsauce.net>
41005         diff-mode is able to better handle file headers
41007         This fixes a regression introduced in
41009           https://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085
41011         This bug was filed in
41013           https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25105
41015         Patches generated from a VCS such as git contain a patch message at the
41016         start, and diff-mode is now once-again able to properly able to ignore
41017         this message when issuing navigation commands around the message.
41019         * lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): More
41020           thoroughly ignore the header when looking for a beginning of file
41021           diffs.
41023 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
41025         Use libpng-config --ldflags, not --libs
41027         Problem reported by James K. Lowden (Bug#25268).
41028         * configure.ac (LIBPNG): Pass --ldflags, not --libs, to libpng-config.
41030 2016-12-24  Eli Zaretskii  <eliz@gnu.org>
41032         Revert to pre-25.1 behavior in ffap
41034         * lisp/ffap.el (ffap-lax-url): Change the default to t, to produce
41035         the same behavior as in Emacs 24.x.  (Bug#25264)
41036         Explain the trade-offs of customizing this in the doc string.
41038 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
41040         * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
41042 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
41044         Remove redundant `save-match-data' in whitespace.el
41046         * lisp/whitespace.el (whitespace-cleanup, whitespace-cleanup-region):
41047         (whitespace-report-region): Remove redundant `save-match-data' calls.
41049 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
41051         Fix whitespace eob cleanup
41053         * lisp/whitespace.el (whitespace-empty-at-eob-regexp): Match any number
41054         of empty lines at end of buffer.
41055         * test/lisp/whitespace-tests.el (whitespace-cleanup-eob): New test.
41056         (whitespace-tests--cleanup-string): New helper function for tests.
41058 2016-12-24  Hong Xu  <hong@topbug.net>
41060         Fix timezone detection of parse-iso8601-time-string
41062         * lisp/calendar/parse-time.el (parse-iso8601-time-string): Fix timezone
41063         parsing.  Add a doc string.  (Bug#25086)
41064         * src/editfns.c (Fdecode-time): Doc fix.
41065         * doc/misc/emacs-mime.texi (time-date): Add an example for
41066         parse-iso8601-time-string.
41067         * test/lisp/calendar/parse-time-tests.el (parse-time-tests): Add
41068         tests for parse-iso8601-time-string.
41070 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
41072         Simplify exec_byte_code via moving decls etc.
41074         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
41075         initializers into decls, and by omitting some unnecessary changes
41076         to ‘top’.
41078 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
41080         Remove interpreter’s byte stack
41082         This improves performance overall on my benchmark on x86-64,
41083         since the interpreted program-counter resides in a machine
41084         register rather than in RAM.
41085         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
41086         is no longer a byte stack to decode.
41087         * src/bytecode.c (struct byte_stack, byte_stack_list)
41088         (relocate_byte_stack): Remove.  All uses removed.
41089         (FETCH): Simplify now that pc is now local (typically, in a
41090         register) and no longer needs to be relocated.
41091         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
41092         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
41093         (exec_byte_code): Allocate a copy of the function’s bytecode,
41094         so that there is no problem if GC moves it.
41095         * src/lisp.h (struct handler): Remove byte_stack member.
41096         All uses removed.
41097         * src/thread.c (unmark_threads): Remove.  All uses removed.
41098         * src/thread.h (struct thread_state): Remove m_byte_stack_list member.
41099         All uses removed.  m_stack_bottom is now the first non-Lisp field.
41101 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
41103         BYTE_CODE_SAFE typo fix
41105         * src/bytecode.c (FETCH): Depend on the value of BYTE_CODE_SAFE,
41106         not on whether it is defined.
41108 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
41110         BYTE_CODE_SAFE cleanups
41112         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove; no longer needed.
41113         (struct byte_stack) [BYTE_MAINTAIN_TOP]:
41114         Remove unused members ‘top’ and ‘bottom’.
41115         (exec_byte_code): Nest inside { } to avoid GCC warning about
41116         jumping over declaration when compiled with -DBYTE_CODE_SAFE.
41118 2016-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
41120         last-chance: new utility lib for dangling deterrence
41122         * admin/last-chance.el: New file.
41124 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
41126         Use max_align_t instead of void *
41128         * src/thread.c (run_thread): Don’t assume void * is aligned enough.
41130 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
41132         Attempt to fix 64-bit AIX build
41134         * src/unexaix.c (make_hdr, copy_text_and_data, write_segment): Fix
41135         type-casts that assumed 32-bit pointers.  (Bug#25141)
41137 2016-12-23  Philipp Stephani  <phst@google.com>
41139         Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
41141         * doc/misc/ediff.texi (Hooks): Clarify usage of 'ediff-cleanup-hook'
41143 2016-12-23  Philipp Stephani  <phst@google.com>
41145         Document that variable binding order is unspecified
41147         * doc/lispref/variables.texi (Local Variables):
41148         * doc/misc/cl.texi (Modify Macros): Document that binding order in 'let' and
41149         'cl-letf' is unspecified.
41151 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
41153         Prevent infloops in redisplay due to truncate-lines and overlays
41155         * src/xdisp.c (hscroll_window_tree): Avoid inflooping in
41156         redisplay_window when a screen line ends in an overlay string with
41157         a newline.  (Bug#25246)
41159 2016-12-23  Philipp Stephani  <phst@google.com>
41161         Treat incomplete integer literals as errors
41163         See Bug#25120.
41165         * src/lread.c (read_integer): Treat incomplete integer literals as errors.
41166         * test/src/lread-tests.el (lread-empty-int-literal): New unit test for
41167         incomplete integer literals.
41169 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
41171         * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
41173 2016-12-23  Stefan Monnier  <monnier@IRO.UMontreal.CA>
41175         Fix M-x hints on Mac port
41177         * lisp/simple.el (execute-extended-command--shorter): Call
41178         input-pending-p to trigger input processing on some systems, such
41179         as Mac port.  (Bug#23002)
41181 2016-12-23  Michael Albinus  <michael.albinus@gmx.de>
41183         * test/lisp/net/tramp-tests.el (tramp--test-check-files): Make it robust.
41185 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
41187         Avoid aborts due to unaligned byte stack of threads
41189         * src/thread.c (run_thread): Make sure the pointers to thread byte
41190         stack are properly aligned.  (Bug#25247)
41192 2016-12-22  Paul Eggert  <eggert@cs.ucla.edu>
41194         Pacify --enable-gcc-warnings
41196         * src/charset.c (load_charset_map):
41197         * src/coding.c (decode_coding_object):
41198         * src/frame.c (make_frame):
41199         * src/window.c (Frecenter):
41200         Mark locals with UNINIT to silence false alarms from
41201         -Wmaybe-uninitialized.
41202         * src/lisp.h (SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD)
41203         (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD):
41204         Check and assume that values are nonnull.  This pacifies
41205         -Wmaybe-uninitialized in Fmake_variable_buffer_local and
41206         Fmake_local_variable.
41208 2016-12-22  Eli Zaretskii  <eliz@gnu.org>
41210         Fix last change with thread marking under GC_CHECK_MARKED_OBJECTS
41212         * src/thread.c (primary_thread_p): New function.
41213         * src/alloc.c (mark_object): Use 'primary_thread_p' to bypass tests
41214         meant for thread objects allocated dynamically.
41215         * src/thread.h (primary_thread_p): Add prototype.
41217 2016-12-22  Martin Rudalics  <rudalics@gmx.at>
41219         Work around reporting a dpi change in apply_xft_settings
41221         * src/xsettings.c (apply_xft_settings): Don't report a change
41222         when dpi settings do not differ substantially.
41224 2016-12-22  Noam Postavsky  <npostavs@gmail.com>
41226         Use completion-at-point in verilog-mode
41228         There were some functions in verilog-mode that implemented in-buffer
41229         completion, but this needlessly duplicates completion-at-point
41230         functionality, and the popup window management had problems
41231         (see Bug #23842).  We need to keep them for backwards compatibility with
41232         older emacs versions, but use completion-at-point if available.
41234         * lisp/progmodes/verilog-mode.el (verilog-toggle-completions): Mark as
41235         obsolete if completion-cycle-threshold is available.
41236         (verilog-mode-map, verilog-menu): Bind completion-at-point and
41237         completion-help-at-point in preference to verilog-complete-word and
41238         verilog-show-completions, respectively.
41239         (verilog-mode): Add verilog-completion-at-point to
41240         completion-at-point-functions.
41241         (verilog-completion-at-point): New function.
41242         (verilog-show-completions, verilog-complete-word): Use it to avoid code
41243         duplication.
41245 2016-12-21  Reuben Thomas  <rrt@sc3d.org>
41247         Keep default CASECHARS/NOT-CASECHARS for ispell built-in dictionaries
41249         * lisp/textmodes/ispell.el (ispell-set-spellchecker-params): Do not
41250         override CASECHARS and NOT-CASECHARS.  The ispell dictionaries
41251         retain their hardwired values, and all other dictionaries are given
41252         sensible defaults.
41254 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
41256         * lisp/textmodes/tex-mode.el (tex-compile-commands): Add luatex
41257         and xetex commands.
41259 2016-12-21  Eli Zaretskii  <eliz@gnu.org>
41261         Fix aborts in GC under GC_CHECK_MARKED_OBJECTS
41263         * src/alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Don't abort
41264         for thread objects.  They are marked via the all_threads list, and
41265         therefore don't need to be inserted into the red-black tree, so
41266         mem_find will never find them.  Reported by Daniel Colascione
41267         <dancol@dancol.org> in
41268         https://lists.gnu.org/r/emacs-devel/2016-12/msg00817.html.
41270 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
41272         * src/data.c (Fmake_variable_frame_local): Remove
41274         * src/lisp.h (struct Lisp_Buffer_Local_Value): Remove `frame_local'.
41276         * src/data.c (swap_in_symval_forwarding, set_internal)
41277         (set_symbol_trapped_write, make_blv, Fmake_variable_buffer_local)
41278         (Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
41279         Don't pay attention to ->frame_local any more.
41280         (syms_of_data): Remove Qtrapping_frame_local and don't defsubr
41281         Smake_variable_frame_local.
41283         * etc/NEWS (Incompatible Lisp Changes in Emacs 26.1): Announce removal
41284         of make-variable-frame-local.
41286         * lisp/help-fns.el (describe-variable): Don't handle the now impossible
41287         frame-local case.
41289         * lisp/subr.el (make-variable-frame-local): Remove obsolescence data.
41291         * src/frame.c (store_frame_param):
41292         * src/eval.c (specbind): Don't pay attention to ->frame_local any more.
41294         * src/widget.c (first_frame_p): Remove, unused.
41296 2016-12-21  Paul Eggert  <eggert@cs.ucla.edu>
41298         Port dumping better to WSL
41300         Problem reported by Angelo Graziosi in:
41301         https://lists.gnu.org/r/emacs-devel/2016-12/msg00822.html
41302         * src/sysdep.c (disable_address_randomization):
41303         Detect buggy platforms where 'personality' always returns 0.
41305 2016-12-21  Michael Albinus  <michael.albinus@gmx.de>
41307         Remove gateway methods in Tramp
41309         * doc/misc/tramp.texi (Top, Configuration): Remove section
41310         `Gateway methods', insert section `Firewalls' in menu.
41311         (History): Gateways are removed now.
41312         (Gateway methods): Remove section.
41313         (Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
41314         (Firewalls): New section.
41316         * etc/NEWS: Gateway methods in Tramp have been removed.
41318         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
41319         (tramp-file-name-port, tramp-accept-process-output): Simplify.
41321         * lisp/net/tramp-gw.el: Remove.
41323         * lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
41324         (tramp-gw-socks-method): Remove declarations.
41325         (tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
41326         Remove `tramp-gw-args' and `tramp-default-port'.  (Bug#18967)
41327         (tramp-do-copy-or-rename-file-out-of-band)
41328         (tramp-compute-multi-hops, tramp-maybe-open-connection):
41329         Remove gateway support.
41331         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
41332         Remove gateway tests.
41334 2016-12-20  Alan Mackenzie  <acm@muc.de>
41336         Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't merge to trunk.
41338         lisp/progmodes/cc-defs.el: Amend the version number.
41339         etc/NEWS: Add an item explaining the change.
41341 2016-12-20  Tino Calancha  <tino.calancha@gmail.com>
41343         files-test-read-file-in-: Delete temporary dir on exit
41345         * test/lisp/files-tests.el (files-test-read-file-in-~):
41346         Create subdir inside dir.
41348 2016-12-20  Christopher Genovese  <genovese@cmu.edu>
41350         ibuffer: New filters and commands
41352         Add several new filters and improve documentation.
41353         See discussion on:
41354         https://lists.gnu.org/r/emacs-devel/2016-11/msg00399.html
41355         * lisp/ibuf-ext.el: Add paragraph to file commentary.
41356         (ibuffer-saved-filters, ibuffer-filtering-qualifiers)
41357         (ibuffer-filter-groups): Update doc string.
41358         (ibuffer-unary-operand): Add new function that transparently
41359         handles 'not' formats for compound filters.
41360         (ibuffer-included-in-filter-p): Handle 'not' fully; update doc string.
41361         (ibuffer-included-in-filter-p-1): Handle 'and' compound filters.
41362         (ibuffer-decompose-filter): Handle 'and' as well,
41363         and handle 'not' consistently with other uses.
41364         (ibuffer-and-filter): New defun analogous to 'ibuffer-or-filter'.
41365         (ibuffer--or-and-filter): New defun.
41366         (ibuffer-or-filter, ibuffer-and-filter): Use it.
41367         (ibuffer-format-qualifier): Handle 'and' filters as well.
41368         (ibuffer-filter-by-basename, ibuffer-filter-by-file-extension)
41369         (ibuffer-filter-by-directory, ibuffer-filter-by-starred-name)
41370         (ibuffer-filter-by-modified, ibuffer-filter-by-visiting-file):
41371         Add new pre-defined filters.
41372         (ibuffer-filter-chosen-by-completion): Add new interactive command
41373         for easily choosing a filter from the descriptions.
41374         * lisp/ibuffer.el (ibuffer-mode-map):
41375         Bind ibuffer-filter-by-basename, ibuffer-filter-by-file-extension,
41376         ibuffer-filter-by-starred-name, ibuffer-filter-by-modified,
41377         ibuffer-filter-by-visiting-file to '/b', '/.', '/*', '/i', '/v'
41378         respectively; bind 'ibuffer-or-filter', 'ibuffer-and-filter',
41379         'ibuffer-pop-filter' ,'ibuffer-pop-filter-group' and
41380         'ibuffer-filter-disable' to '/|', '/&', '/<up>', '/S-<up>'
41381         and '/ DEL' respectively.
41382         * test/lisp/ibuffer-tests.el (ibuffer-autoload): Add appropriate
41383         skip specification.
41384         Add menu entries for the new filters.
41385         (ibuffer-filter-inclusion-1, ibuffer-filter-inclusion-2
41386         ibuffer-filter-inclusion-3, ibuffer-filter-inclusion-4
41387         ibuffer-filter-inclusion-5, ibuffer-filter-inclusion-6
41388         ibuffer-filter-inclusion-7, ibuffer-filter-inclusion-8
41389         ibuffer-decompose-filter, ibuffer-and-filter
41390         ibuffer-or-filter): Add new tests; they are skipped unless
41391         ibuf-ext is loaded.
41393 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
41395         Update NEWS
41397         * etc/NEWS (Image-Dired): New section.
41399 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
41401         Recognize graphicsmagick in image-dired
41403         * lisp/image-dired.el (image-dired-cmd-create-thumbnail-program):
41404         (image-dired-cmd-create-thumbnail-options):
41405         (image-dired-cmd-create-temp-image-program):
41406         (image-dired-cmd-create-temp-image-options):
41407         (image-dired-cmd-create-standard-thumbnail-options):
41408         (image-dired-cmd-rotate-thumbnail-program):
41409         (image-dired-cmd-rotate-thumbnail-options): Account for existence of
41410         gm(1) executable.
41412 2016-12-20  Noam Postavsky  <npostavs@gmail.com>
41414         Improve skeleton docstrings
41416         * lisp/skeleton.el (skeleton-end-newline): Remove mention of
41417         `skeleton-end-hook', its default code was moved into `skeleton-insert'.
41418         (skeleton-insert): Mention `skeleton-end-newline' and move reference to
41419         `skeleton-end-hook' above the explanation of skeleton syntax.
41421 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
41423         Implement asynchronous thumbnail generation in image-dired
41425         Additionally, all FOO-options defcustoms that were in fact shell command
41426         strings have been converted to argument lists.  Another method for
41427         shrinking PNG thumbs with optipng(1) has been added.
41428         * lisp/image-dired.el: Remove TODO item in commentary.
41429         (image-dired-cmd-create-thumbnail-options):
41430         (image-dired-cmd-create-temp-image-options):
41431         (image-dired-cmd-rotate-thumbnail-options):
41432         (image-dired-cmd-rotate-original-options):
41433         (image-dired-cmd-write-exif-data-options):
41434         (image-dired-cmd-read-exif-data-options): Convert to argument lists.
41435         (image-dired-cmd-pngnq-program, image-dired-cmd-pngcrush-program):
41436         Change string type to file.
41437         (image-dired-cmd-create-standard-thumbnail-command): Remove.
41438         (image-dired-cmd-pngnq-options):
41439         (image-dired-cmd-create-standard-thumbnail-options):
41440         (image-dired-cmd-optipng-program, image-dired-cmd-optipng-options):
41441         New defcustoms.
41442         (image-dired-queue, image-dired-queue-active-jobs):
41443         (image-dired-queue-active-limit): New variables.
41444         (image-dired-pngnq-thumb, image-dired-pngcrush-thumb):
41445         (image-dired-optipng-thumb): New functions.
41446         (image-dired-create-thumb-1): Renamed from image-dired-create-thumb.
41447         Use start-process instead of call-process.  Set file modes.  Trigger
41448         PNG file optimization in process sentinel.
41449         (image-dired-thumb-queue-run, image-dired-create-thumb): New functions.
41450         (image-dired-display-thumbs):
41451         (image-dired-create-thumbs): Don't expect call-process return value.
41452         (image-dired-display-image, image-dired-rotate-thumbnail): Use
41453         start-process instead of call-process.
41454         (image-dired-rotate-original, image-dired-set-exif-data):
41455         (image-dired-get-exif-data): Adapt to arguments being an arg list.
41457 2016-12-19  Andreas Schwab  <schwab@linux-m68k.org>
41459         Protect change of window's buffer in vertical-motion against unwinds (bug#25209)
41461         * src/indent.c (restore_window_buffer): New function.
41462         (Fvertical_motion): Use it to restore window's buffer.
41464 2016-12-19  Glenn Morris  <rgm@gnu.org>
41466         Improve default load-path for uninstalled CANNOT_DUMP builds
41468         * src/lread.c (load_path_default) [CANNOT_DUMP]:
41469         Use build load-path if we seem to be running uninstalled.  (Bug#24974)
41470         I think this became an issue several years ago when we stopped
41471         using EMACSLOADPATH in the Makefiles; however this change should
41472         improve the CANNOT_DUMP uninstalled case in general.
41474 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
41476         Improve documentation of 'w32-scroll-lock-modifier'
41478         * doc/emacs/msdos.texi (Windows Keyboard): Document how to set up
41479         w32-scroll-lock-modifier so that Scroll Lock toggles the LED.
41481         * src/w32fns.c (syms_of_w32fns) <w32-scroll-lock-modifier>: Doc
41482         fix.  (Bug#25204)
41484 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
41486         Document 'describe-fontset'
41488         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
41489         (Bug#25216)
41491 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
41493         Document 'describe-fontset'
41495         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
41496         (Bug#25216)
41498 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
41500         Fix crashes upon C-g on Posix TTY frames
41502         * src/thread.h (struct thread_state): New member not_holding_lock.
41503         (maybe_reacquire_global_lock): Add prototype.
41504         * src/thread.c: Include syssignal.h.
41505         (maybe_reacquire_global_lock): New function.
41506         (really_call_select): Set the not_holding_lock member of the
41507         thread state before releasing the lock, and rest it after
41508         re-acquiring the lock when the select function returns.  Block
41509         SIGINT while doing this to make sure we are not interrupted on TTY
41510         frames.
41511         * src/sysdep.c (block_interrupt_signal, restore_signal_mask): New
41512         functions.
41513         * src/syssignal.h (block_interrupt_signal, restore_signal_mask):
41514         Add prototypes.
41515         * src/keyboard.c (read_char) [THREADS_ENABLED]: Call
41516         maybe_reacquire_global_lock.  (Bug#25178)
41518 2016-12-19  Sam Steingold  <sds@gnu.org>
41520         avoid Eager macro-expansion failure: (void-function string-to-list)
41522         * lisp/loadup.el [ns]: "ucs-normalize" uses `string-to-list' which is defined
41523           in "mule-util", so we have to load "mule-util" before "ucs-normalize",
41524           otherwise I get "Eager macro-expansion failure" on "make bootstrap"
41526 2016-12-19  Michael Albinus  <michael.albinus@gmx.de>
41528         Fix Bug#24980
41530         * lisp/ido.el (ido-add-virtual-buffers-to-list):
41531         Suppress Tramp invocation.  (Bug#24980)
41533 2016-12-18  Philipp Stephani  <phst@google.com>
41535         Add a new compile error regexp for Clang includes
41537         Clang uses a slight variation of GCC's include format, causing includes
41538         to be treated as warnings instead of informational messages.  Use a new
41539         regular expression instead.
41541         * lisp/progmodes/compile.el
41542         (compilation-error-regexp-alist-alist): New element
41543         `clang-include' for Clang-style "included from" lines.
41544         * test/lisp/progmodes/compile-tests.el
41545         (compile-tests--test-regexps-data): Add unit test.
41547 2016-12-18  Alan Third  <alan@idiocy.org>
41549         Reinstate ispell character offset (bug#25219)
41551         * lisp/textmodes/ispell.el (ispell-process-line): insert -1 where
41552         ispell-offset used to be.
41554 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
41556         Bind new image-mode scroll commands in image-dired
41558         * lisp/image-dired.el (image-dired-display-image-mode-map): Add bindings
41559         to new image-mode commands.
41561 2016-12-18  Noam Postavsky  <npostavs@gmail.com>
41563         Fix rx-any with range with ?\] and ?-
41565         * lisp/emacs-lisp/rx.el: Make sure not to produce a circular
41566         list (Bug#25123).
41567         * test/lisp/emacs-lisp/rx-tests.el (rx-char-any): New test.
41569 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
41571         Use floor of mtime instead of rounding for thumb property
41573         This seems to be the correct thing to do, at least more in line with
41574         what at least one other implementation does.  Anything using
41575         gnome-desktop [0] effectively does the same, as
41576         gnome_desktop_thumbnail_is_valid applies atol(3) to mtime for
41577         comparison and time_t on GNU/Linux is a signed int.
41578         [0] https://git.gnome.org/browse/gnome-desktop/
41579         * lisp/image-dired.el (image-dired-create-thumb): Use floor here.
41581 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
41583         Fix spelling mistake in private defun name (Bug#25218)
41585         lisp/textmodes/flyspell.el (flyspell-ajust-cursor-point): Rename to
41586         `flyspell-adjust-cursor-point'.
41588 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
41590         Remove XEmacs support from flyspell.el (Bug#25218)
41592         lisp/textmodes/flyspell.el (flyspell-prog-mode, flyspell-mode-on):
41593         (flyspell-word, flyspell-delete-region-overlays):
41594         (flyspell-correct-word-before-point): Remove XEmacs support.
41595         (flyspell-xemacs-popup): Remove XEmacs-specific defun.
41597 2016-12-17  Michael Albinus  <michael.albinus@gmx.de>
41599         More tests for Tramp
41601         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle quoted
41602         file names.
41604         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Quote file
41605         name properly.
41607         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
41608         Mark quoted file name as absolute.  (Bug#25183)
41609         (tramp--test-windows-nt-and-batch)
41610         (tramp--test-windows-nt-and-pscp-psftp-p): New defuns.
41611         (tramp--test-windows-nt-or-smb-p): Rename from
41612         `tramp--test-smb-windows-nt-p'.  Adapt callees.
41613         (tramp--test-check-files): Improve checks for environment variables.
41614         (tramp-test33-special-characters)
41615         (tramp-test33-special-characters-with-stat)
41616         (tramp-test33-special-characters-with-perl)
41617         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
41618         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
41619         (tramp-test34-utf8-with-ls): Add more checks for skip.
41621 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
41623         Fix comments
41625         * src/thread.h (struct thread_state): Fix comments.
41626         * src/process.c (wait_reading_process_output): Fix a typo in
41627         commentary.
41629 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
41631         Repair desktop restoration on text terminals
41633         * lisp/desktop.el (desktop-restoring-frameset-p): Test for the GUI
41634         frame here, instead of in desktop-restoring-frameset.  That's
41635         because desktop-read wants to know whether frameset will actually
41636         be restored, and has fallback procedures up its sleeve when it
41637         won't be; these fallbacks need to be invoked when the frameset is
41638         not going to be restored.  (Bug#24298)
41640 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
41642         Fix crashes on MS-Windows during dumping
41644         * src/unexw32.c (get_section_info): Make extra_bss_size be the
41645         maximum of extra_bss_size and extra_bss_size_static.  This avoids
41646         computing the size of the output file smaller than it actually
41647         needs to be, which then causes copy_executable_and_dump_data to
41648         write beyond the requested size of the file mapping, thus relying
41649         on the OS roundup to page boundary to save us from ourselves.  See
41650         https://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
41651         for the details.
41653         * lib/stdio-impl.h: Revert the workaround fix of not including
41654         errno.h for MinGW.
41656 2016-12-17  Dmitry Gutov  <dgutov@yandex.ru>
41658         Ignore forward-sexp-function in js-mode indentation code
41660         * lisp/progmodes/js.el (js--multi-line-declaration-indentation)
41661         (js--maybe-goto-declaration-keyword-end):
41662         Bind forward-sexp-function to nil (bug#25215).
41664 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
41666         Be more selective clearing the image cache
41668         * lisp/image-dired.el (image-dired-create-thumbs):
41669         (image-dired-rotate-thumbnail, image-dired-refresh-thumb): Only clear
41670         the current thumbnail file from the image cache.
41672 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
41674         Unbreak the MinGW build
41676         * lib/stdio-impl.h [__MINGW32__]: Don't include errno.h.  Without
41677         this, temacs crashes while dumping.
41679 2016-12-16  Nicolas Petton  <nicolas@petton.fr>
41681         Make seq-into return the sequence when no conversion needed
41683         * lisp/emacs-lisp/seq.el (seq-into): Do not convert the sequence when
41684           no conversion is needed.
41685         * test/lisp/emacs-lisp/seq-tests.el (test-seq-into-and-identity): Add
41686           a regression test checking for identity.
41688 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
41690         Improve documentation of 'define-coding-system'
41692         * lisp/international/mule.el (define-coding-system): Warn against
41693         possible infinite recursion in pre-write-conversion and
41694         post-read-conversion functions.  (Bug#25203)
41696 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
41698         New commands image-scroll-left and image-scroll-right
41700         * etc/NEWS: Mention them.
41701         * lisp/image-mode.el (image-scroll-left, image-scroll-right): New
41702         functions.
41704 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
41706         More image-dired refactoring
41708         * lisp/image-dired.el (image-dired-thumbnail-mode):
41709         (image-dired-display-image-mode): Add :group 'image-dired so
41710         customize-mode works.
41711         (image-dired-display-image): Rearrange.
41712         (image-dired-copy-with-exif-file-name): This map is for side effect.
41713         (image-dired-dired-edit-comment-and-tags): Just use #'identity.
41715 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
41717         * lisp/image-dired.el: Turn on lexical-binding.
41719 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
41721         Teach image-dired to also generate large thumbs
41723         * lisp/image-dired.el (image-dired-thumbnail-storage): Add
41724         standard-large option.
41725         (image-dired-thumb-size): Add condition for standard-large storage.
41726         (image-dired-insert-thumbnail): Check for new option.  Change
41727         thumbnail path conditionally.
41728         (image-dired-thumb-size): New function.
41729         (image-dired-create-thumb, image-dired-line-up-dynamic): Use it.
41731 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
41733         Merge from gnulib
41735         This incorporates:
41736         2016-12-14 xalloc-oversized: check for PTRDIFF_MAX too
41737         2016-12-12 fpending: port to native Windows with MSVC
41738         * .gitignore: Do not ignore lib/stdio-impl.h.
41739         * lib/fpending.c, lib/xalloc-oversized.h, m4/fpending.m4:
41740         Copy from gnulib.
41741         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
41742         * lib/stdio-impl.h:
41743         New file, copied from gnulib.
41744         * nt/gnulib.mk (EXTRA_DIST): Add stdio-impl.h.
41746 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
41748         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
41749         Append newline.
41751 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
41753         Don't abuse princ and spam messages
41755         * lisp/image-dired.el (image-dired-format-properties-string): Nix princ.
41756         (image-dired-display-thumb-properties):
41757         (image-dired-dired-display-properties): Nix princ.  Bind
41758         message-log-max to nil.
41760 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
41762         Inherit things from special-mode and image-mode
41764         * lisp/image-dired.el: Require image-mode library.
41765         (image-dired-thumbnail-mode-map): Remove superfluous binding.
41766         (image-dired-display-image-mode-map): Remove superfluous binding.
41767         Add movement remaps from image-mode-map.
41768         (image-dired-thumbnail-mode): Derive from special-mode.
41769         (image-dired-display-image-mode): Derive from special-mode. Call
41770         image-mode-setup-winprops.
41772 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
41774         Fix some image-dired customization types
41776         * lisp/image-dired.el (image-dired): Add info link to defgroup.
41777         (image-dired-dir, image-dired-gallery-dir): Set type to directory.
41778         (image-dired-db-file, image-dired-temp-image-file):
41779         (image-dired-cmd-create-thumbnail-program):
41780         (image-dired-cmd-create-temp-image-program):
41781         (image-dired-cmd-rotate-thumbnail-program):
41782         (image-dired-cmd-rotate-original-program):
41783         (image-dired-temp-rotate-image-file):
41784         (image-dired-cmd-write-exif-data-program):
41785         (image-dired-cmd-read-exif-data-program): Set type to file.
41786         (image-dired-create-thumb, image-dired-line-up-dynamic): Check storage
41787         type at runtime, since setting image-dired-thumb-size does not
41788         automatically set image-dired-thumb-width and image-dired-thumb-height.
41790 2016-12-15  Eli Zaretskii  <eliz@gnu.org>
41792         Prevent crashes in xg_select due to concurrency
41794         * src/xgselect.c (xg_select): Don't call Glib functions that use
41795         'context' if we failed to acquire it.  This means some other
41796         thread owns the context, in which case both using the context and
41797         calling block_input/unblock_input will step on that thread's toes
41798         and eventually lead to crashes.  (Bug#25172)
41800 2016-12-15  Nicolas Petton  <nicolas@petton.fr>
41802         Fix circular list handling in seq-mapn
41804         * lisp/emacs-lisp/seq.el (seq-mapn): Do not copy list arguments.
41805         * test/lisp/emacs-lisp/seq-tests.el (test-seq-mapn-circular-lists):
41806           Add a regression test.
41808 2016-12-15  Michael Albinus  <michael.albinus@gmx.de>
41810         Check in tramp-tests.el, that environment variables are set correctly
41812         * test/lisp/net/tramp-tests.el (tramp--test-check-files):
41813         Check also, that environment variables are set correctly.
41815 2016-12-15  Dominique Quatravaux  <dominique.quatravaux@epfl.ch>  (tiny change)
41817         Protect environment variables with double quotes in Tramp
41819         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
41820         Protect environment variables with double quotes.
41822 2016-12-15  Tino Calancha  <tino.calancha@gmail.com>
41824         * lisp/ibuf-macs.el (define-ibuffer-filter): Wrap ,@body in a progn.
41826 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
41828         * lisp/image-dired.el (image-dired-create-thumb): Create parent directories.
41830 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
41832         * lisp/image-mode.el (image-mode-winprops-alist): Add docstring.
41834 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
41836         Recognize pngnq or pngnq-s9
41838         * lisp/image-dired.el (image-dired-cmd-pngnq-program): Also consider
41839         pngnq-s9 as a possible executable.
41841 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
41843         Update standard image-dired thumbnail location
41845         * lisp/image-dired.el (image-dired-thumb-name): Conform to the latest
41846         standard: consider XDG_CACHE_HOME, falling back on ~/.cache.
41848 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
41850         Reset window scroll when displaying an image
41852         When viewing a large image full size and scrolling, for instance, to
41853         the lower right corner, then selecting a much smaller image in the
41854         thumbnail buffer, the window stays scrolled so the new image is out of
41855         the window.  One must scroll back to the "origin" to view the new
41856         displayed image, or just kill the image-dired-display-image buffer and
41857         try again.  This fixes the issue.
41858         * lisp/image-dired.el (image-dired-display-window-width):
41859         (image-dired-display-window-height): Operate on a window as argument.
41860         (image-dired-display-image): Bind (image-dired-display-window) and use
41861         it. Set window vscroll and hscroll to zero when refreshing the
41862         buffer's contents.
41864 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
41866         More image-dired polish
41868         * lisp/image-dired.el (image-dired-file-name-at-point): New function.
41869         (image-dired-thumbnail-mode, image-dired-display-image-mode): Disable
41870         undo list. Add image-dired-file-name-at-point to
41871         file-name-at-point-functions to facilitate find-file and friends.
41872         (image-dired-thumbnail-display-external):
41873         (image-dired-dired-display-external): Use start-process instead, to
41874         avoid needlessly blocking and using a shell.
41876 2016-12-13  Phillip Lord  <phillip.lord@russet.org.uk>
41878         Replace ldefs-boot with a much smaller file
41880          * Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
41881            (bootstrap): Depend on bootstrap-build.
41882          * admin/ldefs-clean.el: New file.
41883          * lisp/Makefile.in (compile-first): Depend on loaddefs.el
41884          * lisp/ldefs-boot.el: Remove.
41885          * lisp/ldefs-boot-auto.el: New file.
41886          * lisp/ldefs-boot-manual.el: New file.
41887          * lisp/loadup.el: Load ldefs-boot-manual.el.
41888          * src/emacs.c (generating_ldefs_boot): New variable.
41889            (main): Check whether we are generating ldefs.
41890          * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
41891            requested.
41892          * src/lisp.h (generating_ldefs_boot): New variable.
41893          * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
41894            lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
41895            lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
41896            ldefs-boot.
41897          * admin/update_autogen: Alter mechanism for ldefs-boot generation.
41899 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41901         Remove support for aspell < 0.60 (from 2004)
41903         lisp/textmodes/ispell.el (ispell-check-version): Require Aspell 0.60.
41904         (ispell-aspell-dictionary-alist): Remove check that we have Aspell 0.60.
41906 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41908         Minor docstring and comment fixes to ispell.el
41910         lisp/textmodes/ispell.el (ispell-aspell-dictionary-alist): Mention
41911         ispell-aspell-dictionary-alist, not ispell-dictionary-alist.
41912         (ispell-set-spellchecker-params): Change double-single quotes to
41913         single single quotes in comment.
41915 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41917         Remove unused variable
41919         * lisp/textmodes/ispell.el (current-ispell-directory): Remove.
41921 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41923         Remove XEmacs-specific ispell-with-no-warnings
41925         * lisp/textmodes/ispell.el (ispell-with-no-warnings): Remove this
41926         defmacro, needed only for XEmacs.
41927         (ispell-command-loop, ispell-message): Use with-no-warnings directly.
41929 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41931         Remove meaningless defconst ispell-version
41933         * lisp/textmodes/ispell.el (ispell-version): Since ispell.el is now
41934         firmly part of Emacs, and the version hasn’t changed since 2003, and
41935         isn’t used anywhere, remove it.  3rd-party code can better use the
41936         Emacs version, or feature or function checks.
41937         (ispell-check-version): No longer report ispell.el version.
41939 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41941         Remove boundp test for always-bound symbol
41943         * lisp/textmodes/ispell.el (ispell-message): mail-yank-prefix is
41944         defvar’d at the top of the file, so remove a test to see if it is
41945         bound.
41947 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41949         Remove support for ispell < 3.1.12
41951         * lisp/textmodes/ispell.el (ispell-offset): Remove.
41952         (ispell-check-version): Require ispell >= 3.1.12, released in 1994.
41953         (ispell-process-line): No longer use ispell-offset.
41955 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41957         Remove unused constant
41959         * lisp/textmodes/ispell.el (ispell-required-version): Remove.
41961 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41963         Remove support for old versions of supercite and GNUS from ispell.el
41965         * lisp/textmodes/ispell.el (ispell-message): Require supercite >= 3.0
41966         and GNUS >= 5.  Not exactly the bleeding edge!
41968 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41970         Remove remaining mentions of XEmacs from ispell.el
41972         * lisp/textmodes/ispell.el (ispell-valid-dictionary-list):
41973         (ispell-add-per-file-word-list): Remove mentions of XEmacs from
41974         comments.
41976 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41978         Remove XEmacs-specific minibuffer handling code from ispell.el
41980         * lisp/textmodes/ispell.el (ispell-init-process): Assume we are not in
41981         XEmacs.
41983 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41985         Remove XEmacs-specific horizontal scrollbar handling in ispell.el
41987         * lisp/textmodes/ispell.el (ispell-command-loop): Remove
41988         XEmacs-specific code.
41990 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41992         Remove XEmacs-specific code dealing with enable-multibyte-characters
41994         * lisp/textmodes/ispell.el (ispell-decode-string):
41995         (ispell-init-process):  Remove XEmacs-specific guard.
41997 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41999         Remove XEmacs-specific code from ispell.el
42001         * lisp/textmodes/ispell.el (ispell-menu-xemacs): Remove
42002         (ispell-menu-map-needed): Remove XEmacs-specific check.
42003         (ispell-word): Remove XEmacs-specific extent code.
42004         (ispell-init-process): Remove XEmacs workaround for local add-hook.
42005         Assume we have set-process-query-on-exit-flag.
42006         (ispell-kill-ispell, ispell-change-dictionary): Remove XEmacs
42007         workaround for called-interactively-p.
42009 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
42011         Remove some commented-out code
42013         lisp/textmodes/ispell.el (ispell-process)
42014         ispell-valid-dictionary-list): Remove commented-out code.
42016 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
42018         Remove XEmacs and old Emacs highlighting code
42020         * lisp/textmodes/ispell.el
42021         (ispell-highlight-spelling-error-xemacs): Remove.
42022         (ispell-highlight-spelling-error): Assume display-color-p exists.
42024 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
42026         Assume Emacs supports [:alpha:] in regexps
42028         * lisp/textmodes/ispell.el (ispell-emacs-alpha-regexp): Remove.
42029         (ispell-set-spellchecker-params): Remove tests of
42030         ispell-emacs-alpha-regexp.
42032 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
42034         Remove some XEmacs-specific code from ispell.el
42036         * lisp/textmodes/ispell.el: Remove XEmacs menubar setup.
42037         (ispell-int-char): Remove.
42039 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
42041         Generalize over-specific documentation
42043         * lisp/textmodes/ispell.el (ispell-personal-dictionary): Rather than
42044         document precise personal wordlist filenames for only two supported
42045         spelling checkers, simply say that the default personal dictionary
42046         depends on the chosen spelling checker.  The user can check the
42047         spelling checker’s documentation if necessary.  This is simpler, and
42048         works for other supported (and future, or unknown) spelling checkers.
42050 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
42052         Remove tests for built-in functions
42054         * lisp/textmodes/ispell.el (buffer-substring-no-properties): Remove
42055         back-up definition.
42056         (ispell-add-per-file-word-list): Remove tests for comment-padright and
42057         comment-normalize-vars.
42059 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
42061         Remove unused ispell-looking-back
42063         * lisp/textmodes/ispell.el (ispell-looking-back): Remove unused alias.
42065 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
42067         Assume we have version<= for checking ispell version
42069         * lisp/textmodes/ispell.el (ispell-check-minver): Remove.
42070         (ispell-check-version): Use version<= directly.
42072 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
42074         Remove ispell.el pre-GNU Emacs comments
42076         * lisp/textmodes/ispell.el (Commentary): Remove original maintainer
42077           details, as Emacs version, bug report address and so forth should be
42078           used instead for this version.  Remove in-line change history; use
42079           git instead.
42081 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
42083         More small fixes for image-dired
42085         * lisp/image-dired.el: Fix commentary to refer to correct Emacs manual
42086         node.
42087         (image-dired--with-db-file): Add declare forms.
42088         (image-dired-hidden-p): Rewrite with cl-loop.  It's not necessary to
42089         run through the whole list.
42091 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
42093         Remove image-dired-kill-buffer-and-window
42095         This breaks window layout, especially when quitting a
42096         image-dired-display-image-mode buffer.
42097         * lisp/image-dired.el (image-dired-thumbnail-mode-map):
42098         (image-dired-display-image-mode-map): Replace in keymap and menu items
42099         bindings to image-dired-kill-buffer-and-window with quit-window.
42100         (image-dired-kill-buffer-and-window): Remove.
42102 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
42104         Replace image-dired-setup-dired-keybindings with a minor mode
42106         * lisp/image-dired.el (image-dired-thumbnail-mode): Fix docstring to
42107         remove mention of nonexistent image-dired-dired and to refer to the
42108         new minor mode.
42109         (image-dired-minor-mode-map): New keymap assimilated from
42110         image-dired-setup-dired-keybindings.  In the future, the keymap parent
42111         should be removed, and perhaps also the duplicate bindings that
42112         already exist in dired-mode-map.
42113         (image-dired-setup-dired-keybindings): Remove.  Replace with an
42114         obsolete function alias.
42115         (image-dired-minor-mode): New minor mode, assuming the role of
42116         image-dired-setup-dired-keybindings.
42118 2016-12-13  Paul Eggert  <eggert@cs.ucla.edu>
42120         * test/src/regex-resources/PTESTS: Convert to UTF-8.
42122 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
42124         Clarify thread-signal semantics
42126         * doc/lispref/threads.texi (Basic Thread Functions): Explain that the
42127         thread will be signaled as soon as possible.
42129 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
42131         Clean up var watcher disabling on thread switching
42133         * src/data.c (Fset_default): Move code into new C level function,
42134         `set_default_internal'.
42135         (set_default_internal): New function, like `Fset_default' but also takes
42136         additional bindflag parameter.
42137         (set_internal): Only call `notify_variable_watchers' if bindflag is not
42138         SET_INTERNAL_THREAD_SWITCH.
42139         * src/eval.c (do_specbind, do_one_unbind): Add bindflag parameter,
42140         passed on to set_internal and set_default_internal.  Adjust callers.
42141         (rebind_for_thread_switch, unbind_for_thread_switch): Pass
42142         SET_INTERNAL_THREAD_SWITCH to do_specbind, do_one_unbind instead of
42143         temporarily adjusting symbol's trapped_write field.
42145 2016-12-13  Glenn Morris  <rgm@gnu.org>
42147         Minor fix for define-derived-mode
42149         * lisp/emacs-lisp/derived.el (define-derived-mode):
42150         Do not let eg eval-defun reset the values of syntax or abbrev tables,
42151         since they might have been defined externally.  (Bug#16160)
42153 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
42155         * build-aux/git-hooks/pre-commit: Add whitespace comment.
42157 2016-12-12  Clément Pit--Claudel  <clement.pitclaudel@live.com>
42159         Move backtrace to ELisp using a new mapbacktrace primitive
42161         * src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
42162         (Fmapbacktrace, Fbacktrace_frame_internal): New functions.
42163         (get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.
42165         * lisp/subr.el (backtrace--print-frame): New function.
42166         (backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
42167         (backtrace-frame): Reimplement using `backtrace-frame--internal'.
42169         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
42170         `mapbacktrace' instead of searching for "(debug" in the output of
42171         `backtrace'.
42173         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
42174         (subr-test-backtrace-integration-test): New tests.
42176         * doc/lispref/debugging.texi (Internals of Debugger): Document
42177         `mapbacktrace' and missing argument BASE of `backtrace-frame'.
42179 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
42181         Use C99 syntax for font drivers
42183         Problem reported by Daniel Colascione in:
42184         https://lists.gnu.org/r/emacs-devel/2016-12/msg00515.html
42185         * src/ftcrfont.c (ftcrfont_driver):
42186         * src/ftfont.c (ftfont_driver):
42187         * src/ftxfont.c (ftxfont_driver):
42188         * src/macfont.m (macfont_driver):
42189         * src/nsfont.m (nsfont_driver):
42190         * src/xfont.c (xfont_driver):
42191         * src/xftfont.c (xftfont_driver):
42192         Use C99 syntax, not the old GNU C syntax.
42194 2016-12-12  Glenn Morris  <rgm@gnu.org>
42196         Obsolete gs.el
42198         * lisp/gs.el: Move to lisp/obsolete.  (Bug#1524)
42199         * doc/lispref/display.texi (Image Formats): Remove postscript.
42200         (PostScript Images): Remove section.
42201         * doc/lispref/elisp.texi: Update menu.
42203 2016-12-12  Glenn Morris  <rgm@gnu.org>
42205         Un-revert recent Ffset change
42207         * src/data.c (Ffset): Reinstate the check for "nil".
42209 2016-12-12  Glenn Morris  <rgm@gnu.org>
42211         Minor advice.el fix
42213         * lisp/emacs-lisp/advice.el (ad-preactivate-advice):
42214         Avoid setting the function definition of nil.
42215         This was happening during bootstrap of org-compat.el,
42216         apparently due to eager macro expansion of code behind
42217         a (featurep 'xemacs) test.
42219 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
42221         Make etags-tests work in out-of-tree builds
42223         * test/lisp/progmodes/etags-tests.el (etags-bug-158)
42224         (etags-bug-23164): Make them work in an out-of-tree build.
42225         Reported by Ken Brown <kbrown@cornell.edu>.
42227 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
42229         Avoid crashing if a new thread is signaled right away
42231         * src/thread.c (post_acquire_global_lock): Don't raise the pending
42232         signal if the thread's handlers were not yet set up, as that will
42233         cause Emacs to exit with a fatal error.  This can happen if a
42234         thread is signaled as soon as make-thread returns, before the new
42235         thread had an opportunity to acquire the global lock, set up the
42236         handlers, and call the thread function.
42238         * test/src/thread-tests.el (thread-signal-early): New test.
42240 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
42242         Fix point motion in cloned buffers
42244         * src/thread.c (post_acquire_global_lock): Call
42245         set_buffer_internal_2 instead of tricking set_buffer_internal_1
42246         into resetting the current buffer even if it didn't change.  This
42247         avoids bug#25165, caused by failing to record the modified values
42248         of point and mark, because current_buffer was set to NULL.  Also,
42249         don't bother re-setting the buffer if there was no thread switch,
42250         as that just wastes cycles.
42251         * src/buffer.c (set_buffer_internal_2): New function, with most of
42252         the body of set_buffer_internal_1, but without the test for B
42253         being identical to the current buffer.
42254         (set_buffer_internal_1): Call set_buffer_internal_2 if B is not
42255         identical to the current buffer.
42256         * src/buffer.h (set_buffer_internal_2): Add prototype.
42258         * test/src/thread-tests.el (thread-sticky-point): New test.
42260 2016-12-12  Michael Albinus  <michael.albinus@gmx.de>
42262         Further improvements in Tramp's file name unquoting
42264         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
42265         (tramp-adb-handle-write-region): Unquote localname.
42266         (tramp-adb-handle-copy-file): Implement direct copy on remote device.
42267         (tramp-adb-handle-rename-file): Quote arguments, add "-f" to force.
42269         * lisp/net/tramp.el (tramp-file-name-unquote-localname): New defun.
42270         (tramp-handle-file-name-case-insensitive-p):
42271         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-file-attributes)
42272         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
42273         (tramp-gvfs-maybe-open-connection):
42274         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
42275         * lisp/net/tramp-smb.el (tramp-smb-get-share)
42276         (tramp-smb-get-localname): Use it.
42278         * test/lisp/net/tramp-tests.el (tramp--test-docker-p): New defun.
42279         (tramp--test-special-characters, tramp-test34-utf8)
42280         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
42281         (tramp-test34-utf8-with-ls): Use it.
42283 2016-12-12  Martin Rudalics  <rudalics@gmx.at>
42285         Strengthen conditions for resizing sibling windows (Bug#25169)
42287         * lisp/window.el (window-resize, delete-window): Resize other siblings
42288         only if `window-combination-resize' equals t (Bug#25169).
42290 2016-12-12  Noam Postavsky  <npostavs@gmail.com>
42292         Quote filenames containing '~' in prompts
42294         When in a directory named '~', the default value given by
42295         `read-file-name' should be quoted by prepending '/:', in order to
42296         prevent it from being interpreted as referring to the $HOME
42297         directory (Bug#16984).
42299         * lisp/minibuffer.el (minibuffer-maybe-quote-filename): New function.
42300         (completion--sifn-requote, read-file-name-default): Use it instead of
42301         `minibuffer--double-dollars'.
42302         * test/lisp/files-tests.el (files-test-read-file-in-~): Test it.
42304 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
42306         Undo part of last change
42308         * src/thread.h:
42309         * src/keyboard.c:
42310         * src/keyboard.h: Undo part of last change:
42311         input_available_clear_time is again a global variable.
42313 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
42315         Avoid aborts when a thread signals an error
42317         * src/thread.h (struct thread_state): Add members
42318         m_waiting_for_input and m_input_available_clear_time.
42319         (waiting_for_input, input_available_clear_time): New macros.
42320         * src/keyboard.c (waiting_for_input, input_available_clear_time):
42321         Remove; they are now macros that reference the current thread.
42322         (Bug#25171)
42323         * src/w32select.c: Don't include keyboard.h.
42325         * test/src/thread-tests.el (thread-errors): New test.
42327 2016-12-11  Philipp Stephani  <phst@google.com>
42329         Clean up compile-tests.el
42331         Switch to lexical binding.  Make checkdoc happy.
42333         * test/lisp/progmodes/compile-tests.el (compile--test-error-line)
42334         (compile-test-error-regexps): Instead of checking a single Boolean
42335         value, use `should' for each attribute of the message to be compared.
42336         (compile-tests--test-regexps-data): Document sixth list element
42337         TYPE.
42339 2016-12-11  Michael Albinus  <michael.albinus@gmx.de>
42341         Fix Bug#25162
42343         * doc/emacs/files.texi (Reverting): Document
42344         auto-revert-remote-files and auto-revert-verbose.
42346         * lisp/autorevert.el (auto-revert-verbose, auto-revert-mode)
42347         (auto-revert-tail-mode, global-auto-revert-mode): Fix docstring.
42349 2016-12-11  Glenn Morris  <rgm@gnu.org>
42351         Fix a typo in define-abbrev-table
42353         * lisp/abbrev.el (define-abbrev-table): Fix typo in docstring handling.
42355 2016-12-11  Glenn Morris  <rgm@gnu.org>
42357         Improve previous cperl-mode change
42359         * lisp/progmodes/cperl-mode.el (cperl-mode-abbrev-table):
42360         Improve previous change.
42362 2016-12-11  Glenn Morris  <rgm@gnu.org>
42364         Mark default cperl abbrevs as system ones
42366         * lisp/progmodes/cperl-mode.el (cperl-mode):
42367         Mark our abbrevs as system ones.  (Bug#10934)
42369 2016-12-11  Glenn Morris  <rgm@gnu.org>
42371         Revert earlier Ffset change
42373         * src/data.c (Ffset): Allow nil again, since it caused
42374         eager macro-expansion failures.
42376 2016-12-11  Glenn Morris  <rgm@gnu.org>
42378         Tweaks for message bogus address detection
42380         * lisp/gnus/message.el (message-bogus-recipient-p):
42381         Do not require "@", since some mailers deliver to local addresses
42382         without one.  (Bug#23054)
42383         Move "@.*@" from here...
42384         (message-bogus-addresses): ...to here, so it can be customized.
42386 2016-12-11  Glenn Morris  <rgm@gnu.org>
42388         Do not allow nil to be defined as a function
42390         * lisp/emacs-lisp/byte-run.el (defun):
42391         * src/data.c (Ffset): Do not allow "nil".  (Bug#25110)
42393 2016-12-11  Glenn Morris  <rgm@gnu.org>
42395         Bump makeinfo requirement from 4.7 to 4.13
42397         * configure.ac: Bump makeinfo version requirement from 4.7 to 4.13.
42398         We need at least 4.8, and that may be buggy, so go for the last
42399         of the 4 series, which is 8 years old.  (Bug#25108)
42401 2016-12-11  Glenn Morris  <rgm@gnu.org>
42403         Fixes related to select-enable-clipboard
42405         * lisp/menu-bar.el (clipboard-yank, clipboard-kill-ring-save)
42406         (clipboard-kill-region):
42407         * lisp/eshell/esh-io.el (eshell-virtual-targets)
42408         (eshell-clipboard-append):
42409         Replace option gui-select-enable-clipboard with
42410         select-enable-clipboard; renamed October 2014.  (Bug#25145)
42412 2016-12-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
42414         Add some sanity checking of defun arglist
42416         * lisp/emacs-lisp/byte-run.el (defun):
42417         Check for malformed argument lists.  (Bug#15715)
42419 2016-12-11  Matt Armstrong  <marmstrong@google.com>  (tiny change)
42421         Minor shell-mode fix for zsh
42423         * lisp/shell.el (shell-mode): Prevent shell-dirstack-query
42424         becoming confused by zsh abbreviations.  (Bug#24632)
42426 2016-12-10  Noam Postavsky  <npostavs@gmail.com>
42428         Define struct predicate before acccesors
42430         The accessor functions use the predicate function, which causes problems
42431         when reloading after unload-feature: the compiler-macro property is
42432         still present on the predicate symbol, and the compiler fails to find
42433         the definition when trying to inline it into the accessor
42434         function (Bug#25088).
42436         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Move predicate definition
42437         before field accessor definitions.
42439 2016-12-10  Andreas Schwab  <schwab@linux-m68k.org>
42441         * Makefile.in (install-etc): Don't prepend $(DESTDIR) to commands in
42442         system unit file.
42444 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
42446         Support concurrency in Emacs Lisp
42448         Merge branch 'test-concurrency'
42450         * src/thread.c:
42451         * src/thread.h:
42452         * src/systhread.c:
42453         * src/systhread.h: New files.
42454         * src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use
42455         xnmalloc unconditionally.
42456         * src/window.c (struct save_window_data): Rename current_buffer to
42457         f_current_buffer.
42458         * src/w32proc.c (sys_select): Change the function signature to
42459         closer fit 'pselect' on Posix hosts.
42460         * src/search.c:
42461         * src/regex.h: Convert some globals to macros that reference
42462         thread-specific values.
42463         * src/process.c (pset_thread, add_non_keyboard_read_fd)
42464         (add_process_read_fd, add_non_blocking_write_fd)
42465         (recompute_input_desc, compute_input_wait_mask)
42466         (compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
42467         (compute_write_mask, clear_waiting_thread_info)
42468         (update_processes_for_thread_death, Fset_process_thread)
42469         (Fprocess_thread): New functions.
42470         (enum fd_bits): New enumeration.
42471         (fd_callback_data): Add 'thread' and 'waiting_thread', rename
42472         'condition' to 'flags'.
42473         (set_process_filter_masks, create_process, create_pty)
42474         (Fmake_serial_process, finish_after_tls_connection)
42475         (connect_network_socket, deactivate_process)
42476         (server_accept_connection, wait_reading_process_output)
42477         (Fcontinue_process, Fstop_process, keyboard_bit_set)
42478         (add_timer_wait_descriptor, add_keyboard_wait_descriptor)
42479         (delete_keyboard_wait_descriptor): Use the new functions instead
42480         of manipulating fd flags and masks directly.
42481         (syms_of_process): Defsubr the new primitives.
42482         * src/print.c (print_object): Print threads, mutexes, and
42483         conditional variables.
42484         * src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX,
42485         and PVEC_CONDVAR.
42486         (XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP)
42487         (CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions.
42488         (XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros.
42489         (struct handler): Add back byte_stack.  Rename lisp_eval_depth to
42490         f_lisp_eval_depth.
42491         * src/eval.c (specpdl_kind, specpdl_arg, do_specbind)
42492         (rebind_for_thread_switch, do_one_unbind)
42493         (unbind_for_thread_switch): New functions.
42494         (init_eval): 'handlerlist' is not malloc'ed.
42495         (specbind): Call do_specbind.
42496         (unbind_to): Call do_one_unbind.
42497         (mark_specpdl): Accept 2 arguments.
42498         (mark_specpdl): Mark the saved value in a let-binding.
42499         * src/emacs.c (main): Call init_threads_once, init_threads, and
42500         syms_of_threads.
42501         * src/data.c (Ftype_of): Support thread, mutex, and condvar
42502         objects.
42503         (Fthreadp, Fmutexp, Fcondition_variable_p): New functions.
42504         (syms_of_data): DEFSYM and defsubr new symbols and primitives.
42505         * src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE)
42506         (BYTE_CODE_QUIT): Add back.
42507         (exec_byte_code): Add back byte stack manipulation.
42508         * src/alloc.c (cleanup_vector): Handle threads, mutexes, and
42509         conditional variables.
42510         (mark_stack): Now extern; accept additional argument 'bottom'.
42511         (flush_stack_call_func): New function.
42512         (garbage_collect_1): Call mark_threads and unmark_threads.  Don't
42513         mark handlers.
42514         * src/.gdbinit (xbytecode): Add back.
42516         * test/src/thread-tests.el: New tests.
42517         * test/src/data-tests.el (binding-test-manual)
42518         (binding-test-setq-default, binding-test-makunbound)
42519         (binding-test-defvar-bool, binding-test-defvar-int)
42520         (binding-test-set-constant-t, binding-test-set-constant-nil)
42521         (binding-test-set-constant-keyword)
42522         (binding-test-set-constant-nil): New tests.
42524         * doc/lispref/processes.texi (Processes and Threads): New
42525         subsection.
42526         * doc/lispref/threads.texi: New file
42527         * doc/lispref/elisp.texi (Top): Include it.
42528         * doc/lispref/objects.texi (Thread Type, Mutex Type)
42529         (Condition Variable Type): New subsections.
42530         (Type Predicates): Add thread-related predicates.
42531         * doc/lispref/objects.texi (Editing Types):
42532         * doc/lispref/elisp.texi (Top): Update higher-level menus.
42534         * etc/NEWS: Mention concurrency features.
42536 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
42538         Fix error messages in thread.c
42540         * src/thread.c (lisp_mutex_unlock, Fcondition_wait)
42541         (Fcondition_notify, Fthread_join): Fix error messages.
42543 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
42545         Improve doc strings in thread.c
42547         * src/thread.c (Fmake_condition_variable, Fcondition_wait)
42548         (Fcondition_notify, Fcondition_mutex, Fcondition_name, Fmake_thread)
42549         (Fthread_join, Fall_threads): Doc fixes.
42551 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
42553         Fix building with check-lisp-object-type
42555         * src/thread.c (mark_one_thread): Use NILP to compare with
42556         m_saved_last_thing_searched, which is a Lisp object.  Reported by
42557         Andreas Politz <politza@hochschule-trier.de>.
42559 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
42561         Documentation and commentary improvements
42563         * src/lisp.h:
42564         * src/regex.c:
42565         * src/xgselect.c (xg_select): Improve commentary and formatting.
42567         * doc/lispref/objects.texi (Thread Type, Mutex Type)
42568         (Condition Variable Type): New subsections.
42569         (Type Predicates): Add thread-related predicates.
42570         * doc/lispref/objects.texi (Editing Types):
42571         * doc/lispref/elisp.texi (Top): Update higher-level menus.
42573 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
42575         Fix further problems with quoted file names in Tramp
42577         * lisp/net/tramp.el (tramp-quoted-name-p, tramp-quote-name)
42578         (tramp-unquote-name): Move defsubst ...
42579         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
42580         (tramp-compat-file-name-quote)
42581         (tramp-compat-file-name-unquote): ... here. Adapt callees.
42583         * lisp/net/tramp-cache.el (tramp-flush-file-property)
42584         (tramp-flush-directory-property):
42585         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name):
42586         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
42587         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
42588         (tramp-smb-handle-substitute-in-file-name)
42589         (tramp-smb-get-share, tramp-smb-get-localname): Handle quoted files.
42591 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
42593         *src/sysdep.c: Fix a comment.
42595 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
42597         Fix compilation error on Fedora 24
42599         * src/sysdep.c [HAVE_H_ERRNO]: Remove declaration of h_errno.
42600         Reported by Paul Eggert <eggert@cs.ucla.edu>.
42602 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
42604         Fix compilation warnings due to prototype of thread_select
42606         * src/thread.h <int select_func>: Make the 5th and 6th arguments
42607         be 'const'.
42608         * src/process.c [WINDOWSNT]:
42609         * src/w32proc.c: Make the 5th and 6th argument to sys_select be
42610         'const'.
42612 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
42614         Fix compilation on Debian GNU/Linux
42616         * src/thread.h: Include sys/types.h, for ssize_t that regex.h
42617         uses.  Reported by Robert Marshall <robert.marshall@codethink.co.uk>.
42619 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
42621         Fix subtle errors with let-binding of localized variables
42623         * src/eval.c (do_specbind): Don't require a "symbol" that is
42624         actually a cons cell, in order to call set-default, as there are
42625         no longer such bindings.  This makes do_specbind work like the
42626         pre-concurrency implementation in specbind for bindings of
42627         forwarded symbols.  Use specpdl_kind to access the type of the
42628         binding.
42629         (specpdl_kind): New function.
42631 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
42633         Document file-name-quote, file-name-unquote and file-name-quoted-p
42635         * doc/lispref/files.texi (File Name Expansion):
42636         * etc/NEWS: Mention file-name-quote, file-name-unquote and
42637         file-name-quoted-p.
42639         * lisp/files.el (file-name-non-special): Revert using
42640         file-name-quote, file-name-unquote and file-name-quoted-p.
42642 2016-12-09  Noam Postavsky  <npostavs@gmail.com>
42644         Fix bad quoting of python-shell-interpreter
42646         `python-shell-calculate-command' was using `shell-quote-argument' as if
42647         it was generating a shell command, but its callers don't pass the result
42648         to a shell, and they expect to parse it with `split-string-and-unquote'.
42649         This caused problems depending on the flavor of shell quoting in
42650         effect (Bug#25025).
42652         * lisp/progmodes/python.el (python-shell-calculate-command): Use
42653         `combine-and-quote-strings' to quote the interpreter, so that it can be
42654         parsed by `python-shell-make-comint' successfully using
42655         `split-string-and-unquote'.
42657 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
42659         * src/lisp.h (struct terminal): Remove unnecessary forward decl.
42661 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
42663         Make read1 more reentrant
42665         This is needed if ‘read’ is called soon after startup, before the
42666         Unicode tables have been set up, and it reads a \N escape and
42667         needs to look up a value the Unicode tables, a lookup that in turn
42668         calls read1 recursively.  Although this change doesn’t make ‘read’
42669         fully reentrant, it’s good enough to handle this case.
42670         * src/lread.c (read_buffer_size, read_buffer): Remove static vars.
42671         (grow_read_buffer): Revamp to use locals, not statics, and to
42672         record memory allocation un the specpdl.  All callers changed.
42673         (read1): Start with a stack-based buffer, and use the heap
42674         only if the stack buffer is too small.  Use unbind_to to
42675         free any heap buffer allocated.  Use bool for boolean.
42676         Redo symbol loop so that only one call to grow_read_buffer
42677         is needed.
42678         (init_obarray): Remove no-longer-needed initialization.
42680 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
42682         Fix compilation warnings
42684         * src/thread.c (Fmake_thread): Call emacs_abort, to avoid
42685         compilation warning.
42687 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
42689         Fix unlikely substitute-command-keys memory leak
42691         * src/doc.c (Fsubstitute_command_keys):
42692         Free buffer when unwinding.
42694 2016-12-08  Michael Albinus  <michael.albinus@gmx.de>
42696         Add file-name-quoted-p, file-name-quote, file-name-unquote
42698         * lisp/files.el (file-name-quoted-p, file-name-quote)
42699         (file-name-unquote): New defsubst.
42700         (find-file--read-only, find-file-noselect)
42701         (file-name-non-special): Use them.
42703 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
42705         Add a NEWS entry.
42707 2016-12-08  Glenn Morris  <rgm@gnu.org>
42709         Minor fix for symbol-file
42711         * lisp/subr.el (symbol-file): Avoid false matches with "require"
42712         elements in load-history.  (Bug#25109)
42714 2016-12-08  Glenn Morris  <rgm@gnu.org>
42716         Doc fix for vc-git
42718         * lisp/vc/vc-git.el (vc-git-region-history): Add a doc string.
42720 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
42722         Fix Bug#24962
42724         * lisp/buff-menu.el (list-buffers--refresh):
42725         List buffers with name starting with " " if they visit a file.
42726         * test/lisp/buff-menu-tests.el (buff-menu-24962):
42727         Update test result as pass.
42729 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
42731         ediff-fixup-patch-map: Improve prompt
42733         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
42734         Make clear in the prompt when we are applying a multi patch.
42736 2016-12-08  Glenn Morris  <rgm@gnu.org>
42738         Retain message logging in map-y-or-n-p
42740         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
42741         Stop disabling logging to Messages buffer.  (Bug#13326)
42743 2016-12-08  Glenn Morris  <rgm@gnu.org>
42745         Doc fix for recent change
42747         * lisp/simple.el (region-modifiable-p): Doc fix.
42749 2016-12-08  Glenn Morris  <rgm@gnu.org>
42751         Quieten make-dist default operation
42753         * make-dist: Add --verbose option.  Default to quieter operation.
42755 2016-12-08  Glenn Morris  <rgm@gnu.org>
42757         Further improve make-dist checking
42759         * make-dist: Print status messages when checking.
42761 2016-12-08  Glenn Morris  <rgm@gnu.org>
42763         Improve previous make-dist change
42765         * make-dist: Let make check the info files more thoroughly.
42767 2016-12-08  Glenn Morris  <rgm@gnu.org>
42769         Make make-dist --snapshot do some sanity checks
42771         * make-dist: Snapshot mode no longer disables checks.
42772         Checks now includes checks for freshness.  (Bug#25084)
42773         Checks now exits with an error if problems were found.
42775 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
42777         Fix regression introduced by commit 7b1e97f
42779         * lisp/ibuf-ext.el (ibuffer-decompose-filter): Use cdr instead
42780         of cadr; required after commit 20f5a5b.
42782 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
42784         Put post-25 ChangeLog entries into ChangeLog.3
42786         * ChangeLog.2: Copy from emacs-25 branch.
42787         * ChangeLog.3: New file, with changes only in master.
42788         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump from 2 to 3.
42790 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
42792         Fix network streams.
42794         The original code messed up flags in fd_callback_data[], and also
42795         didn't call add_process_read_fd for process-related file descriptors.
42797 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
42799         Minimize spurious diffs from master.
42801 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
42803         Fix the test suite
42805         * test/automated/bindings.el: Contents moved to
42806         test/src/data-tests.el.
42807         * test/automated/threads.el: Moved to test/src/thread-tests.el.
42809 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
42811         Fix a typo in bytecode.c.
42813 2016-12-05  Eli Zaretskii  <eliz@gnu.org>
42815         Fix compilation problems.
42817         Fix merged code in process.c and eval.c.
42819 2016-12-04  Eli Zaretskii  <eliz@gnu.org>
42821         Merge branch 'concurrency'
42823         Conflicts (resolved):
42824                 configure.ac
42825                 src/Makefile.in
42826                 src/alloc.c
42827                 src/bytecode.c
42828                 src/emacs.c
42829                 src/eval.c
42830                 src/lisp.h
42831                 src/process.c
42832                 src/regex.c
42833                 src/regex.h
42835 2015-11-02  Eli Zaretskii  <eliz@gnu.org>
42837         Fix the MS-Windows build
42839         * src/thread.h [WINDOWSNT]: Include sys/socket.h.
42841         * src/sysselect.h: Don't define fd_set and FD_* macros for
42842         MS-Windows here.
42843         * src/w32.h: Define them here.
42845         * src/process.h (sys_select): Declare prototype.
42847         * src/sysdep.c:
42848         * src/process.c:
42849         * src/filelock.c:
42850         * src/emacs.c:
42851         * src/callproc.c: Move inclusion of sys/select.h after lisp.h.
42852         * nt/inc/socket.h: Include w32.h instead of sysselect.h
42854 2015-11-01  Ken Raeburn  <raeburn@raeburn.org>
42856         merge from trunk
42858 2013-10-19  Barry O'Reilly  <gundaetiapo@gmail.com>
42860         * src/eval.c (unbind_for_thread_switch): Fix iteration over the
42861         specpdl stack.
42863 2013-10-18  Tom Tromey  <tromey@redhat.com>
42865         change condition-variablep to condition-variable-p
42867 2013-09-01  Eli Zaretskii  <eliz@gnu.org>
42869         Fix crashes when unbind_for_thread_switch signals an error.
42871          src/eval.c (unbind_for_thread_switch): Accept a 'struct
42872          thread_state *' argument and use specpdl_ptr and specpdl of that
42873          thread.  Fixes crashes if find_symbol_value signals an error.
42874          src/thread.c (post_acquire_global_lock): Update current_thread
42875          before calling unbind_for_thread_switch.  Pass the previous thread
42876          to unbind_for_thread_switch.
42878 2013-08-31  Eli Zaretskii  <eliz@gnu.org>
42880         Improve MS-Windows implementation of threads.
42882          src/systhread.c (sys_cond_init): Set the 'initialized' member to
42883          true only if initialization is successful.  Initialize wait_count
42884          and wait_count_lock.
42885          (sys_cond_wait, sys_cond_signal, sys_cond_broadcast): If
42886          'initialized' is false, do nothing.
42887          (sys_cond_wait): Fix the implementation to avoid the "missed
42888          wakeup" bug: count the waiting threads, and reset the broadcast
42889          event once the last thread was released.
42890          (sys_cond_signal, sys_cond_broadcast): Use SetEvent instead of
42891          PulseEvent.  Don't signal the event if no threads are waiting.
42892          (sys_cond_destroy): Only close non-NULL handles.
42893          (sys_thread_create): Return zero if unsuccessful, 1 if successful.
42894          src/systhread.h (w32thread_cond_t): New member 'initialized'.
42895          Rename waiters_count and waiters_count_lock to wait_count and
42896          wait_count_lock, respectively.
42898 2013-08-30  Eli Zaretskii  <eliz@gnu.org>
42900         Enable thread support in the MS-Windows build.
42902          src/systhread.h (w32thread_critsect, w32thread_cond_t, sys_mutex_t)
42903          (sys_cond_t, sys_thread_t) [WINDOWSNT]: New data types.
42904          src/systhread.c (sys_mutex_init, sys_mutex_lock, sys_mutex_unlock)
42905          (sys_mutex_destroy, sys_cond_init, sys_cond_wait)
42906          (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy)
42907          (sys_thread_self, sys_thread_equal, w32_beginthread_wrapper)
42908          (sys_thread_create, sys_thread_yield) [WINDOWSNT]: New functions.
42910          configure.ac (THREADS_ENABLED): Enable threads for MinGW, even
42911          if pthreads is not available.
42913 2013-08-27  Tom Tromey  <tromey@redhat.com>
42915         use condition-notify in the docs, not condition-signal
42917         zap until-condition docs
42919         zap until-condition
42921         rename thread-blocker to thread--blocker
42923         remove binding_symbol
42925         fix style of threadp, mutexp, and condition-variable-p
42927         make thread_check_current_buffer return bool
42929         add a comment before flush_stack_call_func
42931         fix whitespace_regexp warning
42933 2013-08-26  Eli Zaretskii  <eliz@gnu.org>
42935         Fix MS-Windows build.
42937          src/callproc.c:
42938          src/emacs.c:
42939          src/filelock.c:
42940          src/process.c:
42941          src/sysdep.c:
42942          src/w32.c: Reshuffle Windows-specific headers to avoid errors with
42943          redefinition of fd_set etc.
42944          src/process.c: Don't use num_pending_connects when
42945          NON_BLOCKING_CONNECT is not defined.
42946          src/sysselect.h: Move definitions of FD_* macros and of SELECT_TYPE
42947          here from w32.h.
42948          src/w32proc.c (sys_select): Adjust the argument types to what
42949          thread.h expects.
42951          nt/inc/sys/socket.h: Include stdint.h.  Include sysselect.h instead
42952          of w32.h.
42954 2013-08-26  Tom Tromey  <tromey@redhat.com>
42956         use record_unwind_protect_void, avoid warning
42958         implement --enable-threads and a thread-less mode
42960 2013-08-25  Tom Tromey  <tromey@redhat.com>
42962         merge from trunk
42964 2013-08-20  Tom Tromey  <tromey@redhat.com>
42966         fix up some merge errors in process.c
42968         remove a dead function
42969         clean up a fixme I added in create_pty during the merge
42971 2013-08-20  Tom Tromey  <tromey@redhat.com>
42973         merge from trunk
42975 2013-07-26  Tom Tromey  <tromey@redhat.com>
42977         merge from trunk
42979 2013-07-13  Tom Tromey  <tromey@redhat.com>
42981         Merge from trunk
42983 2013-07-12  Tom Tromey  <tromey@redhat.com>
42985         Use thread_alive_p in a couple more spots
42987 2013-07-07  Tom Tromey  <tromey@redhat.com>
42989         fix xfree bug in run_thread
42991         this fixes run_thread to account for the dummy slot
42992         in specpdl
42994 2013-07-07  Tom Tromey  <tromey@redhat.com>
42996         merge from trunk
42998         this merges frmo trunk and fixes various build issues.
42999         this needed a few ugly tweaks.
43000         this hangs in "make check" now
43002 2013-07-06  Tom Tromey  <tromey@redhat.com>
43004         add assertion to flush_stack_call_func
43006         functions called via flush_stack_call_func are assumed
43007         to return with the global lock held again, and with
43008         current_thread reset.  this assertion verifies part of this
43010 2013-07-06  Tom Tromey  <tromey@redhat.com>
43012         call init_primary_thread from init_threads
43014 2013-07-05  Tom Tromey  <tromey@redhat.com>
43016         avoid SAFE_ALLOCA
43018         avoid SAFE_ALLOCA in xgselect.c.
43019         in this code it is just as easy to always use malloc;
43020         and it avoids thread-switching problems, as the safe-alloca
43021         stuff implicitly refers to the current thread
43023 2013-07-05  Tom Tromey  <tromey@redhat.com>
43025         avoid current_thread sometimes
43027         this tweaks thread.c to use 'self' instead of current_thread
43028         in a couple spots.  this is clearer and more robust
43030 2013-07-05  Tom Tromey  <tromey@redhat.com>
43032         initialize saved_value
43034         initialize the saved_value field in all needed cases
43035         also, add an assertion to do_one_unbind
43037 2013-07-04  Tom Tromey  <tromey@redhat.com>
43039         fix buglet in test case
43041 2013-07-04  Tom Tromey  <tromey@redhat.com>
43043         unlink thread later
43045         unlink thread from global list later
43046         also remove some unnecessary destruction code
43048 2013-07-04  Tom Tromey  <tromey@redhat.com>
43050         introduce thread_alive_p macro
43052         This introduces the thread_alive_p macro and changes
43053         thread-alive-p to use it.  This is a minor cleanup.
43054         It also changes all-threads to ignore dead threads.
43056 2013-07-03  Tom Tromey  <tromey@redhat.com>
43058         Don't call unbind_for_thread_switch in run_thread
43060         This removes the call to unbind_for_thread_switch from run_thread.
43061         This isn't necessary because acquire_global_lock does it properly.
43063 2013-07-03  Tom Tromey  <tromey@redhat.com>
43065         remove unused field from struct thread_state
43067         Fix a comment.
43069 2013-06-13  Tom Tromey  <tromey@redhat.com>
43071         merge from trunk
43073 2013-06-06  Tom Tromey  <tromey@redhat.com>
43075         fix a few latent issues in the thread patch
43077         * we called unbind_for_thread_switch unconditionally, but this
43078           is wrong if the previous thread exited
43079         * likewise, exiting a thread should clear current_thread
43080         * redundant assignment in run_thread
43081         * clean up init_threads - no need to re-init the primary thread
43083         This patch still sometimes causes weird hangs in "make check".
43084         However, I think that is a kernel bug, since Emacs enters the zombie
43085         state but its parent process hangs in wait.  This shouldn't happen.
43087 2013-06-04  Tom Tromey  <tromey@redhat.com>
43089         update eval.c to make it build again after the merge
43091 2013-06-03  Tom Tromey  <tromey@redhat.com>
43093         merge from trunk; clean up some issues
43095 2013-03-18  Tom Tromey  <tromey@redhat.com>
43097         don't let kill-buffer kill a buffer if it is current in any thread
43099 2013-03-18  Tom Tromey  <tromey@redhat.com>
43101         fix process bugs
43103         Fix some process-related bugs, mostly thinkos from the conversion to
43104         recording fd state as flags.
43105         This now passes the test suite without hanging.
43107 2013-03-17  Tom Tromey  <tromey@redhat.com>
43109         merge from trunk
43111 2013-03-08  Tom Tromey  <tromey@redhat.com>
43113         merge from trunk
43115 2013-01-16  Tom Tromey  <tromey@redhat.com>
43117         merge from trunk
43119 2013-01-06  Tom Tromey  <tromey@redhat.com>
43121         merge from trunk
43123 2012-12-23  Tom Tromey  <tromey@redhat.com>
43125         mention let bindings and lack of other ways to rewind
43127 2012-12-17  Tom Tromey  <tromey@redhat.com>
43129         Remove bit accidentally left over from the merge
43131         merge from trunk
43133 2012-09-04  Tom Tromey  <tromey@redhat.com>
43135         merge from trunk
43137         link from thread docs to match data
43139 2012-08-27  Tom Tromey  <tromey@redhat.com>
43141         cannot thread-join the current thread
43143         fix test suite for condition-variable-p name change
43145         add tests for variable bindings
43147 2012-08-25  Tom Tromey  <tromey@redhat.com>
43149         minor update to thread-join docs
43151 2012-08-24  Tom Tromey  <tromey@redhat.com>
43153         minor documentation updates
43155 2012-08-23  Tom Tromey  <tromey@redhat.com>
43157         document until-condition
43159         first draft of threads documentation
43161         rename condition-variablep to condition-variable-p
43163         document process-thread and set-process-thread
43165 2012-08-20  Tom Tromey  <tromey@redhat.com>
43167         pass the thread name to the OS if possible
43169         use prctl to pass the thread name to the OS, if possible
43171 2012-08-20  Tom Tromey  <tromey@redhat.com>
43173         add convenience macros with-mutex and until-condition
43175         with-mutex is a safe way to run some code with a mutex held.
43176         until-condition is a safe way to wait on a condition variable.
43178 2012-08-20  Tom Tromey  <tromey@redhat.com>
43180         Merge from trunk
43182 2012-08-19  Tom Tromey  <tromey@redhat.com>
43184         another docstring fixlet
43186         minor docstring fixup
43188         add condition-mutex and condition-name
43190         ensure name of a thread is a string
43192         ensure name of a mutex is a string
43194         use NILP
43196 2012-08-19  Tom Tromey  <tromey@redhat.com>
43198         condition variables
43200         This implements condition variables for elisp.
43201         This needs more tests.
43203 2012-08-19  Tom Tromey  <tromey@redhat.com>
43205         comment fixes
43207 2012-08-19  Tom Tromey  <tromey@redhat.com>
43209         refactor systhread.h
43211         This refactors systhread.h to move the notion of a "lisp mutex"
43212         into thread.c.  This lets us make make the global lock and
43213         post_acquire_global_lock static.
43215 2012-08-17  Tom Tromey  <tromey@redhat.com>
43217         write docstrings for the thread functions
43219         declare unbind_for_thread_switch and rebind_for_thread_switch in lisp.h
43221 2012-08-15  Tom Tromey  <tromey@redhat.com>
43223         add test case for I/O switching
43225 2012-08-15  Tom Tromey  <tromey@redhat.com>
43227         process changes
43229         This changes wait_reading_process_output to handle threads better.  It
43230         introduces a wrapper for select that releases the global lock, and it
43231         ensures that only a single thread can select a given file descriptor
43232         at a time.
43234         This also adds the thread-locking feature to processes.  By default a
43235         process can only have its output accepted by the thread that created
43236         it.  This can be changed using set-process-thread.  (If the thread
43237         exits, the process is again available for waiting by any thread.)
43239         Note that thread-signal will not currently interrupt a thread blocked
43240         on select.  I'll fix this later.
43242 2012-08-15  Tom Tromey  <tromey@redhat.com>
43244         Prepare process.c for threads by not having global select masks.
43245         The next step is to make it so selects can choose fds by thread.
43247 2012-08-15  Tom Tromey  <tromey@redhat.com>
43249         fix a latent bug in process.c
43251         * src/process.c (wait_reading_process_output): Check Writeok bits,
43252         not write_mask.
43254 2012-08-15  Tom Tromey  <tromey@redhat.com>
43256         This adds thread-blocker, a function to examine what a thread is
43257         blocked on.  I thought this would be another nice debugging addition.
43259         This adds names to mutexes.  This seemed like a nice debugging
43260         extension.
43262         This adds some tests of the threading code.
43264 2012-08-15  Tom Tromey  <tromey@redhat.com>
43266         This supplies the mutex implementation for Emacs Lisp.
43268         A lisp mutex is implemented using a condition variable, so that we can
43269         interrupt a mutex-lock operation by calling thread-signal on the
43270         blocking thread.  I did things this way because pthread_mutex_lock
43271         can't readily be interrupted.
43273 2012-08-15  Tom Tromey  <tromey@redhat.com>
43275         This adds most of the thread features visible to emacs lisp.
43277         I roughly followed the Bordeaux threads API:
43279         http://trac.common-lisp.net/bordeaux-threads/wiki/ApiDocumentation
43281         ... but not identically.  In particular I chose not to implement
43282         interrupt-thread or destroy-thread, but instead a thread-signaling
43283         approach.
43285         I'm still undecided about *default-special-bindings* (which I did not
43286         implement).  I think it would be more emacs-like to capture the let
43287         bindings at make-thread time, but IIRC Stefan didn't like this idea
43288         the first time around.
43290         There are one or two semantics issues pointed out in the patch where I
43291         could use some advice.
43293 2012-08-15  Tom Tromey  <tromey@redhat.com>
43295         This turns thread_state into a pseudovector and updates various bits
43296         of Emacs to cope.
43298 2012-08-15  Tom Tromey  <tromey@redhat.com>
43300         This introduces some new functions to handle the specpdl.  The basic
43301         idea is that when a thread loses the interpreter lock, it will unbind
43302         the bindings it has put in place.  Then when a thread acquires the
43303         lock, it will restore its bindings.
43305         This code reuses an existing empty slot in struct specbinding to store
43306         the current value when the thread is "swapped out".
43308         This approach performs worse than my previously planned approach.
43309         However, it was one I could implement with minimal time and
43310         brainpower.  I hope that perhaps someone else could improve the code
43311         once it is in.
43313 2012-08-15  Tom Tromey  <tromey@redhat.com>
43315         This introduces the low-level system threading support.  It also adds
43316         the global lock.  The low-level support is a bit over-eager, in that
43317         even at the end of the present series, it will not all be used.  I
43318         think thiat is ok since I plan to use it all eventually -- in
43319         particular for the emacs lisp mutex implementation.
43321         I've only implemented the pthreads-based version.  I think it should
43322         be relatively clear how to port this to other systems, though.
43324         I'd also like to do a "no threads" port that will turn most things
43325         into no-ops, and have thread-creation fail.  I was thinking perhaps
43326         I'd make a future (provide 'threads) conditional on threads actually
43327         working.
43329         One other minor enhancement available here is to make it possible to
43330         set the name of the new thread at the OS layer.  That way gdb, e.g.,
43331         could display thread names.
43333 2012-08-15  Tom Tromey  <tromey@redhat.com>
43335         This parameterizes the GC a bit to make it thread-ready.
43337         The basic idea is that whenever a thread "exits lisp" -- that is,
43338         releases the global lock in favor of another thread -- it must save
43339         its stack boundaries in the thread object.  This way the boundaries
43340         are always available for marking.  This is the purpose of
43341         flush_stack_call_func.
43343         I haven't tested this under all the possible GC configurations.
43344         There is a new FIXME in a spot that i didn't convert.
43346         Arguably all_threads should go in the previous patch.
43348 2012-08-15  Tom Tromey  <tromey@redhat.com>
43350         This introduces a thread-state object and moves various C globals
43351         there.  It also introduces #defines for these globals to avoid a
43352         monster patch.
43354         The #defines mean that this patch also has to rename a few fields
43355         whose names clash with the defines.
43357         There is currently just a single "thread"; so this patch does not
43358         impact Emacs behavior in any significant way.
43360 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
43362         Merge from origin/emacs-25
43364         eeecac7 Fix minor quoting problems in doc strings
43366 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
43368         Merge from origin/emacs-25
43370         35ce3fb Don't assume window-point and point are the same
43372 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
43374         Merge from origin/emacs-25
43376         ba2847f ; * lisp/vc/ediff-util.el (ediff-janitor): Fix last change.  ...
43377         8b43f97 * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
43378         c20035c ; * doc/emacs/programs.texi (Man Page): Fix last change.
43379         93d8346 Improve indexing of 'man'
43381 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
43383         Merge from origin/emacs-25
43385         d31298d Fix documentation of `window-combination-resize'
43386         2086f4c Typo fixes in elisp manual
43388 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
43390         Merge from origin/emacs-25
43392         3980903 ; Update ChangeLog.2, etc/AUTHORS and ldef-boot.el for Emacs ...
43393         5878abf Fix 'expand-file-name' during startup on MS-Windows
43395 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
43397         Merge from origin/emacs-25
43399         9a857b9 * admin/authors.el (authors-renamed-files-alist): Addition.
43400         6d27423 Tweak refcard note about documentation location
43401         e46a134 Improve treatment of Fortran's "class is"
43403 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
43405         Merge from origin/emacs-25
43407         93c0f51 Handle TeX comments when making new paragraph
43408         e0884f1 Restore keystroke echo in 'C-q'
43409         a6213ce Improve documentation of 'current-word'
43410         0828126 Fix a typo in an Eshell defcustom
43411         2e361c7 Minor copyedits of electric-pair-mode
43412         7499ee8 ; Minor copyedit in the Emacs manual
43413         45b652b Fix documentation of 'invocation-directory'
43414         7f43d7c * admin/authors.el (authors-aliases): Add an entry.
43415         ba48880 ; Fix pl-refcard.tex
43417 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
43419         Merge from origin/emacs-25
43421         7287e96 ; * src/lread.c (openp): Correct an inaccuracy in commentary.
43423 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
43425         Merge from origin/emacs-25
43427         3d63b48 Update ChangeLog files and authors.el
43428         9d30264 Fix menu bindings of Dired 'A' and 'Q' commands
43429         a725592 Avoid errors in shr-pixel-column due to dedicated windows
43430         3138598 Update format-time-string documentation
43432 2016-12-07  Sam Steingold  <sds@gnu.org>
43434         delete-trailing-whitespace: handle read-only text in buffer
43436         * lisp/simple.el (region-modifiable-p): New function.
43437         (delete-trailing-whitespace): Use it to avoid trying to delete read-only text.
43439 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
43441         Fix minor quoting problems in doc strings
43443 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
43445         Fix --enable-gcc-warnings --with-ns on Fedora
43447         * src/Makefile.in (NON_OBJC_CFLAGS): New macro.
43448         (ALL_OBJC_CFLAGS): Use it.
43449         (EMACS_CFLAGS): New macro, with most of the old ALL_CFLAGS.
43450         (ALL_CFLAGS, ALL_OBJC_FLAGS): Use it.
43452 2016-12-07  Michael Albinus  <michael.albinus@gmx.de>
43454         Fix problems in quoting Tramp file names
43456         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Add also hop to result.
43457         (tramp-unquote-shell-quote-argument): New defun.
43458         (tramp-shell-quote-argument):
43459         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
43460         (tramp-make-copy-program-file-name):
43461         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
43462         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
43463         (tramp-smb-shell-quote-argument): Use it.
43465 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
43467         ibuffer-map-deletion-lines: Re-included it
43469         It was deleted in previous commit, but it's referenced
43470         by the macro 'define-ibuffer-op'.
43471         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Reinclude it.
43473 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
43475         ibuffer-unmark-all: simplify code
43477         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Delete it.
43478         (ibuffer-unmark-all): Simplify code.
43480 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
43482         define-ibuffer-filter: Discard wrong filters
43484         * lisp/ibuf-macs.el (define-ibuffer-filter): Do not store
43485         in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042).
43486         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test.
43488 2016-12-07  Philipp Stephani  <p.stephani2@gmail.com>
43490         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
43492         so that it matches the actual implementation.
43493         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
43495 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
43497         ibuffer-decompose-filter-group avoid unwanted side effects
43499         * lisp/ibuf-ext.el (ibuffer-delete-alist): Remove it.
43500         (ibuffer-remove-alist): New defun; it supersedes 'ibuffer-delete-alist'.
43501         All callers changed (Bug#25058).
43502         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25058): Add test.
43504 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
43506         ibuffer-unmark-backward: Unmark the region when is active
43508         * lisp/ibuffer.el (ibuffer-unmark-backward):
43509         Use 'ibuffer-get-region-and-prefix'; call 'ibuffer-unmark-forward'
43510         with the region boundary as the first 2 arguments (Bug#24987).
43512 2016-12-07  Nicolas Petton  <nicolas@petton.fr>
43514         Docstring improvement for seq-some (bug#25129)
43516         * lisp/emacs-lisp/seq.el (seq-some): Make the docstring less confusing
43517           regarding the returned value.
43519 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
43521         dired-unmark-backward: Unmark the region when is active
43523         * lisp/dired.el (dired-unmark-backward): Call 'dired-unmark' with
43524         a non-nil second argument (Bug#24986).
43526 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
43528         New test file for ediff
43530         Fix previous commit.
43531         * test/lisp/vc/ediff-ptch-tests.el: New test.
43533 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
43535         ediff-context-diff-label-regexp: Detect the end of second file
43537         * lisp/vc/ediff-ptch.el (ediff-context-diff-label-regexp): Skip
43538         '\n' in file names (Bug#25010).
43539         * test/lisp/vc/ediff-ptch-tests.el: New file.
43540         (ibuffer-test-bug25010): Add test for Bug#25010.
43542 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
43544         ibuffer-decompose-filter: Avoid side effects on error
43546         * lisp/ibuf-ext.el (ibuffer-decompose-filter):
43547         Update 'ibuffer-filtering-qualifiers' only if there is no error (Bug#24997).
43548         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997):
43549         Update test result as pass.
43551 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
43553         ibuffer: compare marks with EQ
43555         * lisp/ibuffer.el:
43556         (ibuffer-update-title-and-summary)
43557         (ibuffer-redisplay-current)
43558         (ibuffer-buffer-name-face, ibuffer-unmark-all)
43559         (ibuffer-count-deletion-lines, ibuffer-buffer-names-with-mark):
43560         Use 'eq' instead of 'char-equal' when comparing mark characters
43561         (Bug#25000).
43562         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000):
43563         Update test result as pass.
43565 2016-12-07  Christopher Genovese  <genovese@cmu.edu>
43567         ibuffer-saved-filters: Remove extra nesting level
43569         Fix Bug#25049.
43570         * lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra
43571         nesting level; add transparent setter to adjust old-format values;
43572         update doc string.
43573         (ibuffer-save-filters): Remove extra level of nesting
43574         in ibuffer-saved-filters values when saving new filters.
43575         (ibuffer-old-saved-filters-warning): New variable with
43576         clickable message with repair options to be displayed
43577         as a warning if 'ibuffer-repair-saved-filters' detects
43578         a format mismatch.
43579         (ibuffer-repair-saved-filters): Add new command to check and
43580         repair saved filters format.
43581         (ibuffer-included-in-filter-p, ibuffer-decompose-filter):
43582         Change access of saved filter data (cadr->cdr) to account
43583         for reduced nesting.
43584         * test/lisp/ibuffer-tests.el (ibuffer-save-filters):
43585         New test; check that filters are saved in the proper format.
43587 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
43589         Clean out some IRIX cruft
43591         * etc/MACHINES: Remove obsolete discussion of IRIX.
43592         * src/process.c (allocate_pty) [__sgi]: Remove SGI-specific code.
43593         (create_process) [HAVE_PTYS]: Don't worry about IRIX.
43594         * src/syntax.c (scan_sexps_forward): Remove obsolete comment.
43595         * src/unexelf.c [__sgi]: Don't include <syms.h>.
43596         (unexec) [__sgi]: Remove SGI-specific code.
43598 2016-12-06  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
43600         Simplify FUNCTIONP implementation
43602         * src/bytecode.c (exec_byte_code):
43603         * src/image.c (parse_image_spec):
43604         Prefer FUNCTIONP (x) to !NILP (Ffunctionp (x)).
43605         * src/eval.c (FUNCTIONP): Move here ...
43606         * src/lisp.h: ... from here.  No longer inline, as that
43607         bloats the text and does not help speed (at least on my platform).
43608         (functionp): Remove this name, since callers use FUNCTIONP.
43610 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
43612         Don't assume window-point and point are the same
43614         The function `cursor-sensor--detect' calls `bobp' to decide whether to
43615         check properties at (1- (window-point)).  However, (window-point) may be
43616         at beginning of buffer, even if (point) is not.  In this case an
43617         `args-out-of-range' error will be signaled (Bug#25104).
43619         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the
43620         value of (window-point) against (point-min), rather than (bobp) to
43621         decide if (1- (window-point)) is accessible.
43623 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
43625         Give test-completion's PREDICATE the hashtable key
43627         For hashtable entries with symbol keys, `test-completion' would convert
43628         the key to a string before calling PREDICATE, unlike `try-completion'
43629         and `all-completions'.
43631         * src/minibuf.c (Ftest_completion): Pass original key from hashtable.
43633 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
43635         Give test-completion's PREDICATE full alist entry
43637         Since 2016-06-26 "Fix test-completion with completion-regexp-list", when
43638         calling test-completion with an alist collection, the predicate was
43639         recieving the string value instead of the alist entry (Bug#24966).
43641         * src/minibuf.c (Ftest_completion): Don't modify the found element, just
43642         test STRING against `completion-regexp-list'.
43643         * test/src/minibuf-tests.el: New tests for `try-completion',
43644         `all-completions', and `test-completion'.
43646 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
43648         Fix ert-tests when running compiled
43650         * test/lisp/emacs-lisp/ert-tests.el (ert-test-deftest): Don't test for
43651         specific macroexpansion, just check result of evaluation.
43652         (ert-test-record-backtrace): Don't hardcode representation of closure in
43653         expected backtrace, this lets the test succeed even when the test code
43654         is compiled.
43656         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Also pass
43657         `byte-compile-macro-environment' to `macroexpand', this allows the
43658         `should' macro to properly handle macroexpansion of macros that were
43659         defined in the same file when it's being compiled (Bug #17851).
43661 2016-12-06  Glenn Morris  <rgm@gnu.org>
43663         Make "g" in vc push/pull buffers re-push/pull
43665         * lisp/vc/vc-bzr.el (vc-bzr--pushpull):
43666         * lisp/vc/vc-git.el (vc-git--pushpull):
43667         * lisp/vc/vc-hg.el (vc-hg--pushpull):
43668         Set compile-command so that "g" works.  (Bug#11446)
43670 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
43672         Change two _Noreturn functions to return void
43674         This is a bit clearer than _Noreturn functions that (do not)
43675         return a non-void type.
43676         * src/callproc.c (call_process) [MSDOS]:
43677         Use 'status' local to record status.
43678         (child_setup): Return CHILD_SETUP_TYPE.
43679         * src/data.c, src/lisp.h (wrong_type_argument): Return void.
43680         All callers changed.
43681         * src/lisp.h (CHILD_SETUP_TYPE): New macro.
43683 2016-12-05  Paul Eggert  <eggert@cs.ucla.edu>
43685         Fix GPG bug introduced by Oct file-missing change
43687         Problem with visiting nonexistent .gpg file
43688         reported by Herbert J Skuhra.
43689         * lisp/epa-file.el (epa-file--find-file-not-found-function):
43690         (epa-file-insert-file-contents, epa-file-write-region):
43691         Signal file-missing or file-error instead of epa-error.
43693 2016-12-05  Glenn Morris  <rgm@gnu.org>
43695         Tweak recent flymake change
43697         * lisp/progmodes/flymake.el (flymake-report-fatal-status):
43698         Avoid double message when flymake-log-level >= 0.
43699         * doc/misc/flymake.texi (Customizable variables):
43700         No longer mention flymake-gui-warnings-enabled.
43702 2016-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
43704         Make TAB and M-TAB run widget-forward and widget-backward (bug#25091)
43706         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Avoid `shr-next-link'
43707         and `shr-previous-link' so TAB and M-TAB run `widget-forward' and
43708         `widget-backward' instead (bug#25091).
43710 2016-12-05  Michael Albinus  <michael.albinus@gmx.de>
43712         Remove compat code in Tramp
43714         * lisp/net/tramp.el (tramp-parse-time-months): Remove.
43716         * lisp/net/tramp-compat.el (top): Require parse-time.
43718         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
43719         Use `parse-time-months'.
43721 2016-12-05  Martin Rudalics  <rudalics@gmx.at>
43723         Don't try to split side windows in ibuffer (Bug#25115)
43725         * lisp/ibuffer.el (ibuffer-confirm-operation-on): Don't try to
43726         split a side window (Bug#25115).
43728 2016-12-04  Paul Eggert  <eggert@cs.ucla.edu>
43730         * src/lisp.h: Update comment to kick -Og down the road.
43732 2016-12-04  Mark Oteiza  <mvoteiza@udel.edu>
43734         More image-dired refactoring
43736         * lisp/image-dired.el: Remove TODO comment. This appears to have been
43737         implemented in 5d7433a "image-dired: Signal an error before calling a
43738         missing executable".
43739         (image-dired-cmd-create-standard-thumbnail-command): Use %p specifier.
43740         Add :version.
43741         (image-dired-display-thumbs, image-dired-create-thumbs): Use dolist and
43742         when. Remove superfluous call to image-dired-thumb-name. Move single nil
43743         binding and setq into dolist form.
43745 2016-12-04  Michael Albinus  <michael.albinus@gmx.de>
43747         Implement quoting the local part of a remote file name
43749         * doc/emacs/files.texi (Quoted File Names):
43750         * etc/NEWS: Mention quoting the local part of a remote file name.
43752         * lisp/net/tramp.el (tramp-dissect-file-name): Check with
43753         `tramp-tramp-file-p'.
43754         (tramp-quoted-name-p, tramp-quote-name, tramp-unquote-name):
43755         New defsubst.
43756         (tramp-handle-substitute-in-file-name)
43757         (tramp-handle-make-auto-save-file-name): Handle quoted files.
43758         (tramp-shell-quote-argument): Unquote argument.
43760         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
43761         Handle quoted files.
43763         * test/lisp/net/tramp-tests.el (tramp--test-expensive-test): New defvar.
43764         (tramp--test-make-temp-name): New argument QUOTED.
43765         (tramp-test01-file-name-syntax)
43766         (tramp-test02-file-name-dissect)
43767         (tramp-test04-substitute-in-file-name)
43768         (tramp-test05-expand-file-name, tramp-test07-file-exists-p)
43769         (tramp-test08-file-local-copy)
43770         (tramp-test09-insert-file-contents)
43771         (tramp-test10-write-region, tramp-test11-copy-file)
43772         (tramp-test12-rename-file, tramp-test13-make-directory)
43773         (tramp-test14-delete-directory, tramp-test15-copy-directory)
43774         (tramp-test16-directory-files)
43775         (tramp-test17-insert-directory)
43776         (tramp-test18-file-attributes)
43777         (tramp-test19-directory-files-and-attributes)
43778         (tramp-test20-file-modes, tramp-test21-file-links)
43779         (tramp-test22-file-times, tramp-test23-visited-file-modtime)
43780         (tramp-test24-file-name-completion, tramp-test25-load)
43781         (tramp-test26-process-file, tramp-test27-start-file-process)
43782         (tramp-test28-shell-command, tramp-test30-vc-registered)
43783         (tramp-test31-make-auto-save-file-name)
43784         (tramp--test-check-files)
43785         (tramp-test35-asynchronous-requests): Test also quoted file names.
43786         (tramp--test-shell-command-to-string-asynchronously): Rename.
43787         (tramp-test29-environment-variables): Use it.
43789 2016-12-04  Tino Calancha  <tino.calancha@gmail.com>
43791         Fix typo in dired-omit-case-fold-p
43793         * lisp/dired-x.el (dired-omit-case-fold-p):
43794         Write 'file-name-case-insensitive-p' instead of
43795         'file-name-case-sensitive-p'.
43796         Add declaration of 'file-name-case-insensitive-p'.
43798 2016-12-04  Simen Heggestøyl  <simenheg@gmail.com>
43800         Add HTML5 attributes for the input element
43802         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 attributes
43803         for the input element.
43805 2016-12-03  Glenn Morris  <rgm@gnu.org>
43807         Obsolete sc-load-hook in favor of eval-after-load
43809         * lisp/mail/supercite.el (sc-load-hook): Make obsolete.
43810         * doc/misc/sc.texi (Getting Connected, Filling Cited Text):
43811         No longer mention sc-load-hook.
43813 2016-12-03  Glenn Morris  <rgm@gnu.org>
43815         Obsolete calendar-load-hook in favor of eval-after-load
43817         * lisp/calendar/calendar.el (calendar-load-hook): Make obsolete.
43818         (calendar): Doc fix - no longer mention calendar-load-hook.
43819         * doc/emacs/cal-xtra.texi (Calendar Customizing):
43820         No longer mention calendar-load-hook.
43821         * doc/lispintro/emacs-lisp-intro.texi (X11 Colors):
43822         Replace calendar-load-hook in example with with-eval-after-load.
43824 2016-12-03  Glenn Morris  <rgm@gnu.org>
43826         Fix markup in read-multiple-choice doc (Bug#25102)
43828         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Doc fix.
43830 2016-12-03  Glenn Morris  <rgm@gnu.org>
43832         Stop flymake using dialog boxes for errors (Bug#16622)
43834         * lisp/progmodes/flymake.el (flymake-gui-warnings-enabled):
43835         Mark as obsolete.
43836         (flymake-display-warning): Turn into an obsolete alias.
43837         (flymake-report-fatal-status): Just use message for a warning that
43838         was formerly displayed by default.
43840 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
43842         Clean up keymap and menu code in image-dired
43844         A function to populate these maps is not necessary, just define the maps
43845         once and for all.
43846         * lisp/image-dired.el (image-dired-show-all-from-dir): Make prompt
43847         clearer and in the spirit of dired's.
43848         (image-dired-define-display-image-mode-keymap):
43849         (image-dired-define-thumbnail-mode-keymap): Remove.
43850         (image-dired-thumbnail-mode-map):
43851         (image-dired-thumbnail-mode-line-up-map):
43852         (image-dired-thumbnail-mode-tag-map): Assimilate all define-key and mode
43853         menu code from the aforementioned removed functions.  Reorder so that
43854         the definitions are inherited properly.
43855         (image-dired-display-current-image-sized): Fix erroneous message.
43856         (image-dired-thumbnail-mode):
43857         (image-dired-display-image-mode): Remove defunct call.
43859 2016-12-03  Michael Albinus  <michael.albinus@gmx.de>
43861         Mention `file-name-case-insensitive-p' as magic file name
43863         * doc/lispref/files.texi (Magic File Names):
43864         Mention `file-name-case-insensitive-p'.
43866         * doc/lispref/variables.texi (Connection Local Variables):
43867         Fix typo.
43869 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
43871         Clean up uses of cl-foo in image-dired
43873         Both instances here are just emulating cl-find-if.
43874         * lisp/image-dired.el: Use cl-lib at compile time.
43875         (image-dired-dired-toggle-marked-thumbs): Don't need let* at the top.
43876         Replace the cl-foo instances with equivalent cl-loops.
43878 2016-12-03  Eli Zaretskii  <eliz@gnu.org>
43880         Avoid compilation warnings in nt/*.c files
43882         * nt/cmdproxy.c (fail, vfprintf, fprintf, printf, warn)
43883         (console_event_handler): Add prototypes.
43884         (canon_filename, skip_space, skip_nonspace, get_next_token)
43885         (batch_file_p, search_dir, make_absolute, try_dequote_cmdline)
43886         (spawn, get_env_size): Now static.
43887         * nt/ddeclient.c (DdeCallback): Provide prototype.
43888         * nt/addpm.c (DdeCallback): Provide prototype.
43889         (add_registry): Now static.
43891 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
43893         Display window before calculating width
43895         * lisp/image-dired.el (image-dired-display-thumbs): Display the buffer
43896         before calling image-dired-line-up and friends, which in turn calculate
43897         the window width. Otherwise, the thumbnail layout will be wrong in
43898         a side-by-side split.
43900 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
43902         Use pop-to-buffer-same-window
43904         * lisp/image-dired.el (image-dired-dired-with-window-configuration):
43905         (image-dired-dired-edit-comment-and-tags): Instead of switch-to-buffer,
43906         use pop-to-buffer-same-window cf. Bug#22244.
43907         (image-dired-forward-image, image-dired-backward-image): Ignore unused.
43909 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
43911         Document watchpoints
43913         * doc/lispref/debugging.texi (Variable Debugging):
43914         * doc/lispref/variables.texi (Watching Variables): New section.
43915         * etc/NEWS: Add entry for watchpoints
43917 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
43919         Add tests for watchpoints
43921         * test/src/data-tests.el (data-tests-variable-watchers):
43922         (data-tests-local-variable-watchers): New tests.
43924 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
43926         Ensure redisplay using variable watcher
43928         This replaces looking up the variable name in redisplay--variables when
43929         setting it.
43931         * lisp/frame.el: Replace redisplay--variables with add-variable-watcher
43932         calls.
43933         * src/xdisp.c (Fset_buffer_redisplay): Rename from maybe_set_redisplay,
43934         set the redisplay flag unconditionally.
43935         (Vredisplay__variables): Remove it.
43936         * src/data.c (set_internal): Remove maybe_set_redisplay call.
43938 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
43940         Add function to trigger debugger on variable write
43942         * lisp/emacs-lisp/debug.el (debug-on-variable-change):
43943         (debug--variable-list):
43944         (cancel-debug-on-variable-change): New functions.
43945         (debugger-setup-buffer): Add watchpoint clause.
43947 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
43949         Show watchpoints when describing variables
43951         * src/data.c (Fget_variable_watchers): New function.
43952         * lisp/help-fns.el (describe-variable): Use it to detect watching
43953         functions.
43955 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
43957         Add lisp watchpoints
43959         This allows calling a function whenever a symbol-value is changed.
43961         * src/lisp.h (lisp_h_SYMBOL_TRAPPED_WRITE_P):
43962         (SYMBOL_TRAPPED_WRITE_P): New function/macro.
43963         (lisp_h_SYMBOL_CONSTANT_P): Check for SYMBOL_NOWRITE specifically.
43964         (enum symbol_trapped_write): New enumeration.
43965         (struct Lisp_Symbol): Rename field constant to trapped_write.
43966         (make_symbol_constant): New function.
43968         * src/data.c (Fadd_variable_watcher, Fremove_variable_watcher):
43969         (set_symbol_trapped_write, restore_symbol_trapped_write):
43970         (harmonize_variable_watchers, notify_variable_watchers): New functions.
43972         * src/data.c (Fset_default): Call `notify_variable_watchers' for trapped
43973         symbols.
43974         (set_internal): Change bool argument BIND to 3-value enum and call
43975         `notify_variable_watchers' for trapped symbols.
43977         * src/data.c (syms_of_data):
43978         * src/data.c (syms_of_data):
43979         * src/font.c (syms_of_font):
43980         * src/lread.c (intern_sym, init_obarray):
43981         * src/buffer.c (syms_of_buffer): Use make_symbol_constant.
43983         * src/alloc.c (init_symbol):
43984         * src/bytecode.c (exec_byte_code): Use SYMBOL_TRAPPED_WRITE_P.
43985         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
43986         (Fmake_variable_frame_local):
43987         * src/eval.c (Fdefvaralias, specbind): Refer to Lisp_Symbol's
43988         trapped_write instead of constant.
43989         (Ffuncall): Move subr calling code into separate function.
43990         (funcall_subr): New function.
43992 2016-12-02  Glenn Morris  <rgm@gnu.org>
43994         Starting doc of user options with "*" is long obsolete
43996         * lisp/battery.el (battery-upower-device): Doc fix.
43998 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
44000         Fix bug#25087
44002         * etc/themes/manoj-dark-theme.el: Fix two typos.
44004         (cherry picked from commit 66d6e7e9ecf5e481f8c2c3a4f88411f66c869a6e)
44006 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
44008         Fix docstrings to have a complete sentence in first line
44010         * lisp/dired-x.el (dired-omit-case-fold, dired-omit-case-fold-p): Fix
44011         docstrings.
44013 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
44015         Remove obsolete comments and commented code from dired-x.el
44017         * lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
44018         1997 answer about whether dired-mark-sexp is used.
44019         * lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
44020         commented out since before dired-x.el was added to RCS in 1994.
44022 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
44024         Remove pre-customize dired-x.el documentation
44026         * lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
44027         use dired-x from .emacs.  It is now fully customizable.
44028         * lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
44029         how to set this custom variable in .emacs.  It should be customized.
44031 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
44033         Allow files to be matched case-sensitively in dired-x
44035         * lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which
44036         controls case folding for matching the regex (Bug#18716).
44037         (dired-omit-case-fold): New variable.  Defaults to `t' on case-sensitive
44038         systems, `nil' otherwise.
44039         (dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold.
44040         * doc/misc/dired-x.texi, etc/NEWS: Document dired-omit-case-fold.
44042 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
44044         Add support for curly quotation marks to electric-pair-mode
44046         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
44047         entries for left/right single/double quotation marks, from
44048         electric-quote-chars. Note that this is safe for single quotation marks,
44049         unlike with the ASCII apostrophe, since, although the right quotation
44050         mark can be used as an apostrophe, it is the left quotation mark that is
44051         typed to get a pair (Bug#24901).
44053 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
44055         Fix bug#25087
44057         * etc/themes/manoj-dark-theme.el: Fix two typos.
44059 2016-12-02  Michael Albinus  <michael.albinus@gmx.de>
44061         Handle quoted file names in Tramp
44063         * lisp/net/tramp.el (tramp-file-name-handler): Handle also the
44064         case the file name is quoted.  This is not trapped by the
44065         reassigned `tramp-file-name-regexp' anymore.
44067 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
44069         * lisp/battery.el: Add 'battery-upower' -- very fast battery status.
44071 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
44073         Support for rawrgb images using imagemagick
44075         * src/image.c (imagemagick_load_image): Set wand size before loading
44076         blob when ':width' and ':height' are provided.
44078         * lisp/image.el (image-format-suffixes): Add 'image/x-rgb'.
44080 2016-12-02  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
44082         Fix 'sql-connect' on first invocation
44084         * lisp/progmodes/sql.el (sql-connect): Reorder code which sets
44085         param-var.  (Bug#19452)
44087 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
44089         * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
44091 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
44093         Improve indexing of 'man'
44095         * doc/emacs/programs.texi (Man Page): Index 'man', not
44096         'manual-entry', as the latter is an alias for the former.
44097         Suggested by Hong Xu <hong@topbug.net>.  (Bug#25033)
44099 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
44101         Port to Sun C 5.14
44103         Backport from master.  Sun C 5.14 supports C11 but not GCC
44104         extensions, and so refuses to compile Emacs without this patch.
44105         * src/alloc.c (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on
44106         size_t, as in general this macro is restricted to signed types.
44108 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
44110         Fix type typo on Solaris
44112         * src/sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
44113         Fix type mismatch, caught by --enable-check-lisp-object-type.
44115 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
44117         Merge from gnulib
44119         This incorporates:
44120         2016-11-27 md4,md5,sha*: tune for recent glibc _STRING_INLINE_unaligned
44121         2016-11-21 snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
44122         * build-aux/snippet/c++defs.h:
44123         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
44124         Copy from gnulib.
44126 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
44128         Make struct font_drivers read-only
44130         This simplifies the code a bit, and makes the structs more
44131         shareable and less likely to become corrupt.
44132         * src/alloc.c (cleanup_vector):
44133         * src/font.c (valid_font_driver, font_prepare_cache)
44134         (font_finish_cache, font_get_cache, font_clear_cache)
44135         (register_font_driver, font_update_drivers):
44136         * src/font.h (struct font, struct font_driver_list)
44137         (valid_font_driver):
44138         struct font_drivers are now const.
44139         * src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c:
44140         Omit no-longer-necessary decls.
44141         * src/ftcrfont.c (syms_of_ftcrfont):
44142         * src/ftxfont.c (syms_of_ftxfont):
44143         * src/xftfont.c (syms_of_xftfont):
44144         Omit no-longer-necessary initialization code.
44145         * src/ftcrfont.c (ftcrfont_driver):
44146         * src/ftfont.c (ftfont_driver):
44147         * src/ftxfont.c (ftxfont_driver):
44148         * src/macfont.m (macfont_driver):
44149         * src/nsfont.m (nsfont_driver):
44150         * src/xfont.c (xfont_driver):
44151         * src/xftfont.c (xftfont_driver):
44152         Use C99-style initializer for ease of maintenance, and make it const.
44153         * src/ftcrfont.c, src/ftxfont.c, src/xftfont.c:
44154         Refer to functions like ftfont_text_extents directly.
44155         * src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family)
44156         (ftfont_has_char, ftfont_encode_char, ftfont_text_extents)
44157         (ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability)
44158         (ftfont_variation_glyphs, ftfont_filter_properties)
44159         (ftfont_combining_capability):
44160         * src/xfont.c (xfont_get_cache):
44161         Now extern, so that other modules’ struct font_drivers can use
44162         them directly.
44163         * src/macfont.m (macfont_descriptor_entity):
44164         * src/nsfont.m (nsfont_open):
44165         Use constant directly; this is clearer.
44167 2016-12-01  Richard Stallman  <rms@gnu.org>
44169         Fix mail-combine-fields
44171         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
44172         avoid losing our place in the search loop.
44174         (cherry picked from commit 5fbba6cceaf843cfca449eb000a0a65243b61808)
44176 2016-12-01  Helmut Eller  <eller.helmut@gmail.com>
44178         Forth related improvements for etags
44180         Generate correct tags names for things like "(foo)".
44181         Previously "(foo" created.
44183         Fix a bug where a tag for "-bar" was created when encountering things
44184         like "create-bar".
44186         Recognize more words from the Forth-2012 Standard.
44188         * lib-src/etags.c (Forth_words): Check for whitespace after defining
44189         words.  Create tag with make_tag instead of get_tag to avoid notiname
44190         which isn't appropriate for Forth.
44192         * test/manual/etags/forth-src/test-forth.fth: Add some test cases.
44193         * test/manual/etags/ETAGS.good_1:
44194         * test/manual/etags/ETAGS.good_2:
44195         * test/manual/etags/ETAGS.good_3:
44196         * test/manual/etags/ETAGS.good_4:
44197         * test/manual/etags/ETAGS.good_5:
44198         * test/manual/etags/ETAGS.good_6:
44199         * test/manual/etags/CTAGS.good: Adapt to the changes in etags.c and
44200         new test cases.
44202 2016-12-01  Eli Zaretskii  <eliz@gnu.org>
44204         Fix bugs with buffer-local tags tables
44206         * lisp/progmodes/etags.el (visit-tags-table): After
44207         'visit-tags-table-buffer' returns, retrieve the value of
44208         'tags-file-name' from the buffer we started in.  Force
44209         recomputation of 'tags-completion-table' next time it is used,
44210         since the list of tags table has changed.
44211         (visit-tags-table-buffer): Accept an additional optional argument
44212         CBUF, the buffer in which to start processing, and switch to that
44213         buffer if CBUF is non-nil.  All callers changed to supply a
44214         non-nil CBUF when they call 'visit-tags-table-buffer' in a loop.
44215         Doc fix.
44216         (tags-completion-table): Accept an optional argument, the buffer
44217         for which to build 'tags-completion-table', and build that
44218         buffer's completion table.
44219         (tags-lazy-completion-table): Pass the current buffer to
44220         'tags-completion-table'.
44221         (tags-file-name): Don't say in the doc string that setting this
44222         variable directly is enough; say that 'visit-tags-table' should be
44223         used for that.  (Bug#158)  (Bug#17326)  (Bug#23164)
44225         * doc/emacs/maintaining.texi (Select Tags Table): Delete the
44226         advice to set 'tags-file-name' directly.
44228         * test/lisp/progmodes/etags-tests.el: New tests.
44230 2016-12-01  Martin Rudalics  <rudalics@gmx.at>
44232         Fix documentation of `window-combination-resize'
44234         * src/window.c (Vwindow_combination_resize): Fix doc-string.
44235         * doc/lispref/windows.texi (Recombining Windows): Fix
44236         documentation of `window-combination-resize'.
44238 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
44240         * src/lisp.h (LISP_INITIALLY_ZERO): Remove.
44242         All uses replaced by LISPSYM_INITIALLY.
44244 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
44246         Make Cairo safer for --enable-gcc-warnings
44248         * src/image.c (xcolor_to_argb32, pbm_load, jpeg_load_body, gif_load):
44249         Avoid overflow warnings about ‘0xff << 24’.
44250         (xpm_load, gif_load): Avoid unnecessary casts.
44251         (gif_load): Fewer ifdefs.
44253 2016-11-30  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
44255         Fix Condition in kbd_buffer_store_buffered_event (bug#19547).
44257         * src/keyboard.c (kbd_buffer_store_buffered_event): Should be NILP and not
44258         !NILP.
44260 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
44262         Fix previous commit
44264         * lisp/vc/diff-mode.el (diff-refine-hunk): Make sure to go to beginning
44265         of hunk before calling `diff-hunk-style'.
44267 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
44269         * lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable.
44271 2016-11-29  Glenn Morris  <rgm@gnu.org>
44273         Use archive-mode for .cbr files
44275         * lisp/files.el (auto-mode-alist): Add cbr.  (Bug#24994)
44277 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
44279         Pacify Sun C 5.14
44281         * src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED,
44282         SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT
44283         into this enum rather than into an anonymous enum.  This avoids
44284         diagnostics from Sun C 5.14 and is a bit clearer anyway.
44286 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
44288         Adjust lwlib to recent config.h change
44290         * lwlib/lwlib-Xaw.c: Include <stdlib.h> for 'abort' (Bug#24506).
44292 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
44294         * src/eval.c (clobbered_eassert): Check E's syntax.
44296 2016-11-29  Michael Albinus  <michael.albinus@gmx.de>
44298         Improve user retrieval from auth-source in Tramp
44300         * lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd):
44301         Use user for auth-source request only in case it exists.
44303 2016-11-29  Katsumi Yamaoka  <yamaoka@jpl.org>
44305         shr.el: Don't render a normal table twice
44307         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
44308         Don't render a table if it is called for the first time,
44309         IOW, recognize it to never be invalid (bug#25051).
44311 2016-11-29  Bogdan Creanga  <bogdan.creanga@gmail.com>  (tiny change)
44313         Typo fixes in elisp manual
44315         * doc/lispref/sequences.texi: Add missing '4' in result (Bug#25047).
44316         * doc/lispref/strings.texi (Text Comparison): Avoid duplicate
44317         definitions of 'string-prefix-p' and 'string-suffix-p'.
44318         * doc/lispref/symbols.texi (Definitions): Pluralize 'definitions'.
44320 2016-11-28  Dima Kogan  <Dmitriy.Kogan@jpl.nasa.gov>
44322         Improve diff-mode navigation/manipulation
44324         This is Bug #17544.
44326         Navigation and use of diff buffers had several annoying corner cases
44327         that this patch fixes.  These corner cases were largely due to
44328         inconsistent treatment of file headers.  Say you have a diff such as
44329         this:
44331          --- aaa
44332          +++ bbb
44333          @@ -52,7 +52,7 @@
44334          hunk1
44335          @@ -74,7 +74,7 @@
44336          hunk2
44337          --- ccc
44338          +++ ddd
44339          @@ -608,6 +608,6 @@
44340          hunk3
44341          @@ -654,7 +654,7 @@
44342          hunk4
44344         The file headers here are the '---' and '+++' lines.  With the point on
44345         such a line, hunk operations would sometimes refer to the next hunk and
44346         sometimes to the previous hunk.  Most of the time it would be the
44347         previous hunk, which is not what the user would expect.  This patch
44348         consistently treats such headers as the next hunk.  So with this patch,
44349         if the point is on the '--- ccc' line, the point is seen as referring to
44350         hunk3.
44352         Specific behaviors this fixes are:
44354         1. It should be possible to place the point in the middle of a diff
44355         buffer, and press M-k repeatedly to kill hunks in the order they appear
44356         in the buffer.  With the point on hunk1, M-k M-k would kill hunk1 then
44357         hunk2.  With the point on hunk3, it would kill hunk3 then hunk4; this is
44358         fine.  However, with the point on hunk2, it'd kill hunk2 then hunk1.
44359         This is fixed by this patch.
44361         2. Similarly, it should be possible to apply hunks in order.  Previously
44362         with the point at the start, C-c C-a would apply the hunk1, then move
44363         the point to the first @@ header, and thus C-c C-a would try to apply
44364         the same hunk again.
44366         * lisp/vc/diff-mode.el (diff--wrap-navigation): New function to add better
44367         navigation logic to diff-{hunk,file}-{next,prev}.
44368         (diff-hunk-next, diff-hunk-prev):
44369         (diff-file-next, diff-file-prev): Better navigation logic if
44370         skip-hunk-start is true, which happens when called interactively.
44371         (diff-bounds-of-hunk, diff-find-source-location):
44372         (diff-apply-hunk, diff-current-defun, diff-refine-hunk): Small tweaks to
44373         improve hunk navigation.
44375 2016-11-28  Noam Postavsky  <npostavs@gmail.com>
44377         Upcase Path and ComSpec in process-environment
44379         Since 2016-07-18 "Keep w32 environment settings internal only", the
44380         upcasing of environment variables "Path" and "ComSpec" occurred after
44381         initializing process-environment.  This meant that Lisp code trying to
44382         override "PATH" environment had no effect (Bug #24956).
44384         * src/w32.c (init_environment): Upcase the "Path" and "ComSpec" entries
44385         in Vprocess_environment.
44387 2016-11-28  Philipp Stephani  <phst@google.com>
44389         Guard terminal parameter in XTerm mouse mode
44391         It has been observed (in the HTerm terminal emulator) that the
44392         event stored in the 'xterm-mouse-last-down' terminal parameter gets
44393         overwritten during a mouse drag operation, causing Emacs to attempt to
44394         synthesize the non-existing <drag-mouse-0> event.  Copy the event into
44395         the terminal parameter to protect against such modifications.
44397         * lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
44398         of input event list.
44400 2016-11-28  Paul Eggert  <eggert@cs.ucla.edu>
44402         Fix template for module functions
44404         Reported by Syohei YOSHIDA (Bug#24932).
44405         * modules/modhelp.py (TEMPLATES):
44406         c_func’s 2nd arg is ptrdiff_t, not int.
44408 2016-11-27  Paul Eggert  <eggert@cs.ucla.edu>
44410         Pacify gcc -Wswitch.
44412         * src/keyboard.c (kbd_buffer_store_buffered_event):
44413         Move initialization into default case.
44415 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
44417         Reuse already existing lisp symbols for ignore_event (bug#19547).
44419         * lisp/subr.el (while-no-input-ignore-events): Use them instead.
44420         * src/keyboard.c (kbd_buffer_store_buffered_event):
44421         Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT,
44422         and make-frame-visible for DEICONIFY_EVENT.
44423         (syms_of_keyboard): Remove unneeded symbols.
44425 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
44427         Allow configuring which event throw-on-input should ignore (bug#19547).
44429         * src/keyboard.c (kbd_buffer_store_buffered_event):
44430         Translate event to corresponding symbol from `while-no-input-ignore-events`
44431         and check them with Fmemq.
44432         (syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events`
44433         and its symbols.
44435         * lisp/subr.el (while-no-input-ignore-events): Add default values.
44437         * doc/lispref/commands.texi (Event Input Misc):
44438         Document while-no-input-ignore-events.
44439         * etc/NEWS: Same.
44441 2016-11-26  Tino Calancha  <tino.calancha@gmail.com>
44443         ash, lsh avoid code duplication
44445         See discussion in:
44446         https://lists.gnu.org/r/emacs-devel/2016-11/msg00469.html
44447         * src/data.c (ash_lsh_impl): New function.
44448         (ash, lsh): Use it.
44450 2016-11-26  Simen Heggestøyl  <simenheg@gmail.com>
44452         Add will change module to CSS property list
44454         * lisp/textmodes/css-mode.el (css-property-alist)
44455         (css-value-class-alist): Add new property and value class from CSS
44456         Will Change Module.
44458 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
44460         Don't access pointers to freed storage in regex.c
44462         Remove __BOUNDED_POINTERS__ code, which does not work with
44463         -fcheck-pointer-bound and which has undefined behavior anyway.
44464         Problem found when trying to port to gcc -fcheck-pointer-bounds.
44465         (This code was removed from glibc and gnulib regex.c many years ago.)
44466         * src/regex.c (ELSE_EXTEND_BUFFER_HIGH_BOUND): Remove.
44467         (EXTEND_BUFFER): Use a more-portable approach that avoids
44468         undefined behavior due to inspecting pointers to freed storage.
44470 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
44472         Port build to gcc -fcheck-pointer-bounds
44474         This does not let Emacs run, just build.
44475         * lib-src/etags.c (main):
44476         * lib-src/profile.c (main):
44477         Use return, not exit.
44478         * src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]:
44479         Do not define, as -fcheck-pointer-bounds is incompatible with taking
44480         addresses of labels.
44481         * src/menu.c (Fx_popup_dialog): Use eassume, not eassert,
44482         to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.
44484 2016-11-25  Tino Calancha  <tino.calancha@gmail.com>
44486         * lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop.
44488 2016-11-25  Simen Heggestøyl  <simenheg@gmail.com>
44490         * lisp/rot13.el: Use lexical-binding
44492 2016-11-25  Mark Oteiza  <mvoteiza@udel.edu>
44494         Add "using" to cl-loop debug spec (Bug#24750)
44496         * lisp/emacs-lisp/cl-macs.el (cl-loop): Add element to account for
44497         "using" hash table clause.
44499 2016-11-25  Hong Xu  <hong@topbug.net>  (tiny change)
44501         Allow user control of progress messages in cpp.el
44503         * lisp/progmodes/cpp.el (cpp-message-min-time-interval): New defcustom.
44504         (cpp-progress-time): Use 'cpp-message-min-time-interval'.  Improve
44505         the doc string.
44506         (cpp-highlight-buffer): Use 'cpp-progress-message' instead of
44507         'message' to print messages.  (Bug#24861)
44509 2016-11-25  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
44511         New input method 'polish-prefix'
44513         * lisp/leim/quail/latin-pre.el ("polish-prefix"): New input
44514         method.  (Bug#24967)
44516         * etc/NEWS: Mention the new input method.
44518 2016-11-25  Damien Cassou  <damien@cassou.me>
44520         * lisp/isearch.el: Add 'provide'.  (Bug#25026)
44522 2016-11-25  Philippe Vaucher  <philippe.vaucher@gmail.com>
44524         Add missing 'provide's in preloaded packages
44526         * lisp/composite.el:
44527         * lisp/replace.el:
44528         * lisp/textmodes/text-mode.el: Add provide statement.  (Bug#24985)
44530 2016-11-24  Alan Mackenzie  <acm@muc.de>
44532         Handle correctly an (undocumented) bare mode in hack-local-variables.
44534         lisp/files.el (hack-local-variables-prop-line): When a file's first line
44535         contains only a mode specification without the string "mode:", return the mode
44536         symbol only when `handle-mode' is t.
44538 2016-11-23  Dima Kogan  <dima@secretsauce.net>
44540         Clarify ediff-directories prompt
44542         * lisp/vc/ediff-mult.el (ediff-filegroup-action):
44543         * lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions,
44544         ediff-directories3, ediff-merge-directories,
44545         ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions,
44546         ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for
44547         filename filter in interactive ediff. The new message makes it clear what is
44548         being filtered
44550 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
44552         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997.
44554 2016-11-23  Ulf Jasper  <ulf.jasper@web.de>
44556         Fix Bug#24199.
44558         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote
44559           bracket in doc string (make checkdoc happy).
44560           (icalendar-import-buffer),
44561           (icalendar-import-buffer),
44562           (icalendar--convert-ical-to-diary),
44563           (icalendar--add-diary-entry): Rename argument diary-file to
44564           diary-filename (make checkdoc happy).
44565           (icalendar--convert-recurring-to-diary): Take care of byday-clause
44566           in monthly recurring events.  Actually fix Bug#24199.
44568         * test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New.
44570 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
44572         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000.
44574 2016-11-22  Philipp Stephani  <phst@google.com>
44576         Comint: new user option for C-c M-r and C-c M-s
44578         This option allows the user to specify where to place point after these
44579         commands.
44581         * lisp/comint.el (comint-move-point-for-matching-input): New user option.
44582         (comint-previous-matching-input-from-input): Use user option.
44584 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
44586         Add tramp-eshell-directory-change to eshell-first-time-mode-hook
44588         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to
44589         `eshell-first-time-mode-hook'.
44591 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
44593         Dump also connection local variables in Tramp bug reports
44595         * lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
44596         Dump also connection local variables.
44598 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
44600         Make sure elided long buffer names have ellipses added (Bug#24972)
44602         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the
44603         string concat, and chop "strvar" less the width of the ellipsis.
44604         (ibuffer-compile-make-substring-form): Add space as padding, to fix
44605         off-by-one in alignment.
44607 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
44609         Buffer-menu-no-header: Detect a fake header
44611         * lisp/buff-menu.el (Buffer-menu-no-header): Use
44612         'tabulated-list-header-overlay-p' (Bug#24855).
44614 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
44616         buff-menu: Add command to unmark all buffers
44618         Bind 'U' in buff-menu, bs and electric-buff-menu to commands
44619         to unmark all buffers (Bug#24880).
44620         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p):
44621         New predicate; return non-nil if tabulated-list has a fake header.
44622         * lisp/buff-menu.el (Buffer-menu-unmark-all-buffers):
44623         New command; remove all flags that use a particular mark from all the lines.
44624         Bind it to 'M-DEL'.
44625         (Buffer-menu-unmark-all):
44626         New command; remove all flags from all the lines.  Bind it to 'U'.
44627         (Buffer-menu-marker-char, Buffer-menu-del-char): New variables.
44628         (Buffer-menu-delete, Buffer-menu-mark): Use them.
44629         (Buffer-menu-mode-map): Update menus.
44630         (Buffer-menu-mode): Update mode doc.
44631         * lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands.
44632         (bs-mode-map): Bind them to 'U' and '<backspace>' respectively.
44633         (bs-mode): Update mode doc.
44634         * lisp/ebuff-menu.el (electric-buffer-menu-mode-map):
44635         Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers
44636         to 'M-DEL'.
44637         (bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current):
44638         Use point instead of cursor in doc string.
44639         (electric-buffer-list): Update mode doc.
44640         * doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all
44641         and Buffer-menu-unmark-all-buffers.
44643 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
44645         Revert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure."
44647         This reverts commit 10efaf718c5258af0ba62077cf4e2aaf9fb90227.
44649 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
44651         Port htmlfontify to cl-lib
44653         * lisp/htmlfontify.el: (hfy-box-to-border-assoc, hfy-box-to-style):
44654         (hfy-decor, hfy-face-to-style-i, hfy-face-at, hfy-merge-adjacent-spans):
44655         (hfy-fontify-buffer, htmlfontify-string, hfy-mark-tag-names): Replace
44656         instances of cl aliases with their cl-lib counterparts.
44658 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
44660         * lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure.
44662 2016-11-21  Paul Eggert  <eggert@cs.ucla.edu>
44664         Fix another CANNOT_DUMP problem
44666         Reported by Robert Pluim in:
44667         https://lists.gnu.org/r/emacs-devel/2016-11/msg00468.html
44668         * src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
44669         * src/lisp.h: ... to here.
44671 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
44673         Add further consideration to string-width (Bug#24972)
44675         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form):
44676         (ibuffer-compile-make-substring-form): Use truncate-string-to-width.
44678 2016-11-21  Katsumi Yamaoka  <yamaoka@jpl.org>
44680         Don't collect strings existing out of <tr>...</tr>
44682         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
44683         Don't collect strings existing out of <tr>...</tr> to avoid
44684         duplication with what `shr-tag-table' renders.
44686 2016-11-20  Katsumi Yamaoka  <yamaoka@jpl.org>
44688         * lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change
44689         the last commit.
44691 2016-11-20  Mike Kupfer  <m.kupfer@acm.org>
44693         Add a variable to pass additional options to rcvstore
44695         * lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable.
44696         (gnus-summary-save-in-folder): Include gnus-rcvstore-options in
44697         the arguments that are passed to rcvstore.
44699         cf. <nntp://news.gmane.org/gmane.emacs.gnus.general/87263>
44700         and followups, i.e., ding mailing list.
44702 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
44704         Fix undefined refs on some GNU/Linux hosts
44706         Problem reported by Ken Raeburn in:
44707         https://lists.gnu.org/r/emacs-devel/2016-11/msg00463.html
44708         * src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is
44709         not needed in the CANNOT_UNDUMP case.  All uses removed.  This
44710         removes unwanted references to my_endbss and my_endbss_static,
44711         which are not optimized away on some platforms.
44713 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
44715         Make CANNOT_DUMP work better on GNU/Linux
44717         Clean up some of the bitrot affecting the CANNOT_DUMP code.  This
44718         lets the build succeed again, and fixes the testing framework so
44719         that most test cases now pass.  About twenty test cases still
44720         fail, though, and we still have Bug#24974.
44721         * configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
44722         (SYSTEM_MALLOC): Now true if CANNOT_DUMP.  There should no longer
44723         be any point to messing with a private memory allocator unless
44724         Emacs is dumping.
44725         * src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
44726         * src/image.c (reset_image_types):
44727         * src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
44728         Do not define if CANNOT_DUMP.
44729         * src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
44730         (daemon_pipe) [!WINDOWSNT]: Now static.
44731         * test/Makefile.in (mostlyclean): Remove *.tmp files.
44732         (make-test-deps.mk): Elide CANNOT_DUMP chatter.
44734 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
44736         * src/xdisp.c (block_buffer_flips, unblock_buffer_flips): Now static.
44738 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
44740         Pacify --enable-gcc-warnings CANNOT_DUMP=yes
44742         * src/editfns.c (dump_tz_string) [CANNOT_DUMP || !HAVE_TZSET]:
44743         Do not define.  If defining, do it in a smaller scope.
44745 2016-11-20  Mark Oteiza  <mvoteiza@udel.edu>
44747         * lisp/ibuffer.el (ibuffer-compile-format): Use string-width instead of length
44749 2016-11-20  Eli Zaretskii  <eliz@gnu.org>
44751         Fix redrawing non-selected frame after resize on MS-Windows
44753         * src/xdisp.c (redisplay_internal): If all the frames were
44754         successfully updated, reset the "garbaged" flag of each frame, to
44755         make sure it doesn't stay set.
44757         * src/w32term.c (w32_read_socket): Don't clear the frame if it's
44758         "garbaged", since expose_frame won't redraw the foreground then.
44759         (Bug#24642)
44761 2016-11-20  Michael Albinus  <michael.albinus@gmx.de>
44763         Add file-local-name
44765         * doc/lispref/files.texi (Magic File Names): Add `file-local-name'.
44766         (Unique File Names): Use it.
44768         * etc/NEWS: Mention `file-local-name'.
44770         * lisp/files.el (file-local-name): New defun.
44771         (file-expand-wildcards):
44772         * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
44773         * lisp/eshell/esh-ext.el (eshell-remote-command):
44774         * lisp/eshell/esh-proc.el (eshell-gather-process-output):
44775         * lisp/org/ob-core.el (org-babel-local-file-name):
44776         * lisp/progmodes/gud.el (gud-common-init, gud-format-command):
44777         * lisp/progmodes/python.el (python-shell-send-file):
44778         * lisp/shell.el (shell):
44779         * lisp/vc/ediff-diff.el (ediff-same-file-contents):
44780         * lisp/vc/vc-git.el (vc-git-checkin): Use it.
44782 2016-11-20  Tino Calancha  <tino.calancha@gmail.com>
44784         * lisp/ibuffer.el (ibuffer-formats): Mention locked column in doc string.
44786 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
44788         * src/editfns.c (format-time-string): Mention %q in doc string.
44790 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
44792         Document format-time-string %q
44794         * doc/lispref/os.texi (Time Parsing):
44795         * etc/NEWS: Document new %q functionality taken from gnulib.
44797 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
44799         Merge from gnulib
44801         This incorporates:
44802         2016-11-15 sys_time: add gnulib::timeval for C++
44803         2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode
44804         2016-11-13 strftime: don't use __THROW
44805         2016-11-12 strftime: tune %q
44806         2016-11-12 Merge strftime.c changes from glibc
44807         2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection
44808         2016-11-05 strftime,strptime: support %q to represent the quarter
44810         The glibc changes in turn incorporate the following strftime.c changes:
44811         2015-10-20 Convert misc function definitions to prototype style
44812         2015-09-26 [BZ #18985] out of range data to strftime() causes segfault
44813         2010-01-09 Add support for XPG7 testing
44814         2009-10-30 Implement Burmese language locale for Myanmar
44815         2008-06-13 [BZ #6612] pass reference to tzset_called around
44816         2007-10-16 [BZ #5184] Add tzset_called argument
44818         * build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h:
44819         * m4/manywarnings.m4: Copy from gnulib.
44821 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
44823         Merge from origin/emacs-25
44825         07f45d7 ; Spelling fix
44826         1a210f0 * admin/release-process: Update versions and blocking bug num...
44827         36bafc9 Improve documentation of functions that accept time values
44829         # Conflicts:
44830         #       admin/release-process
44831         #       src/editfns.c
44833 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
44835         Merge from origin/emacs-25
44837         4af5981 Add a comment in generated refcards about the source
44838         ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
44839         4887e7c js-mode: Fix indent problem after a regexp
44840         e992ac0 Fix sluggish display of symbols in UTF-8 language environment
44841         1fc101b Don't confuse how Texinfo outputs @var with the input
44842         91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
44843         f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
44844         5b0cddd More fixes in copyright notices in etc/refcards/
44845         f994c20 Update copyright text in refcards
44846         9ad2ae7 Fix Outline command names
44847         26c3554 Send text received by bracketed paste to process
44848         db0b58d Correct the statement about programming modes always running ...
44849         78aece4 Improve documentation of 'occur'
44850         eb364fd Do call debugger on failed cl-assert
44851         3ef4ee8 Avoid infloop in python
44852         8da810f Don't refer to obsolete FEATURE-unload-hook
44853         4f478ca Improve documentation of dabbrevs
44854         7272e5d * lisp/chistory.el (list-command-history): Doc fix.  (Bug#24890)
44855         89b7482 * lisp/simple.el (set-mark-command): Doc fix.  (Bug#24890)
44856         3b199f7 Improve documentation of some Help commands
44857         93d3a0e Fix documentation of yes-or-no prompts
44858         af04919 Fix documentation of partial completion style
44859         ed80184 Fix documentation of the mode line on emacsclient frames
44860         e6be855 Fix description of 'C-z' in User manual
44861         16f7007 Improve and clarify documentation of Outline Mode
44862         31d93aa Add Emacs version number to nt/README.W32
44863         0b6b815 Fix python-mode hideshow regexp
44864         dc152c5 Modernize usage of 'macOS' in doc and comments
44865         84c5343 Prefer comments /* like this */ in C code
44866         bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
44867         3ef86fd Clarify documentation of face attribute functions
44868         de51d59 ; * nt/README.W32: Minor copyedits.
44869         db436e9 Don't call debug on failed cl-assert
44871         # Conflicts:
44872         #       doc/emacs/cmdargs.texi
44873         #       etc/NEWS
44874         #       etc/PROBLEMS
44875         #       lisp/auth-source.el
44876         #       lisp/net/tramp-sh.el
44878 2016-11-19  Mark Oteiza  <mvoteiza@udel.edu>
44880         Port RefTeX to cl-lib
44882         * lisp/textmodes/reftex-auc.el:
44883         * lisp/textmodes/reftex-cite.el: Use cl-lib.
44884         (reftex-do-citation, reftex-create-bibtex-file): Substitute cl-lib
44885         macros.
44886         * lisp/textmodes/reftex-dcr.el: Use cl-lib.
44887         (reftex-view-regexp-match): Substitute cl-lib macro.
44888         * lisp/textmodes/reftex-global.el: Use cl-lib.
44889         (reftex-find-duplicate-labels, reftex-renumber-simple-labels):
44890         (reftex-translate): Substitute cl-lib macros.
44891         * lisp/textmodes/reftex-index.el: Use cl-lib.
44892         (reftex-index, reftex-index-select-tag, reftex-index-mode-map):
44893         (reftex-index-next-phrase, reftex-index-phrases-info):
44894         (reftex-query-index-phrase): Substitute cl-lib macros.
44895         * lisp/textmodes/reftex-parse.el: Use cl-lib.
44896         (reftex-parse-from-file, reftex-where-am-I, reftex-what-macro):
44897         (reftex-nth-arg, reftex-init-section-numbers, reftex-section-number):
44898         Substitute cl-lib macros.
44899         * lisp/textmodes/reftex-ref.el: Use cl-lib.
44900         (reftex-uniquify-label, reftex-offer-label-menu): Substitute cl-lib
44901         macros.
44902         * lisp/textmodes/reftex-sel.el: Use cl-lib.
44903         (reftex-select-shared-map): Set keymap parent to special-mode-map.
44904         Flatten loop and remove digits and hyphen definitions from the map.
44905         (reftex-select-label-mode-map):
44906         (reftex-select-bib-mode-map): Use cl-lib macro, and flatten other loop.
44907         (reftex-insert-docstruct, reftex-select-unmark): Use cl-lib macros.
44908         * lisp/textmodes/reftex-vars.el (reftex-vref-is-default): Use
44909         cl-pushnew.
44910         * lisp/textmodes/reftex.el: Use cl-lib.
44911         (reftex-docstruct-symbol): Use cl-incf.
44912         (reftex-ref-style-toggle): Replace add-to-list with append.
44913         (reftex-compile-variables): Use cl-lib macros, and functions with
44914         compiler macros. cl-first is just an alias.
44915         (reftex-parse-args, reftex-scanning-info-available-p):
44916         (reftex-select-external-document, reftex-get-file-buffer-force): Use
44917         cl-lib macros.
44918         (reftex-isearch-minor-mode): Replace add-to-list with append.
44920 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
44922         ibuffer-exchange-filters: Simplify code
44924         * lisp/ibuf-ext.el (ibuffer-exchange-filters): Use cl-rotatef.
44926 2016-11-19  Eli Zaretskii  <eliz@gnu.org>
44928         Implement getrlimit and setrlimit for MS-Windows
44930         * src/w32heap.c (getrlimit, setrlimit): New functions.
44931         Include w32.h.
44932         * src/emacs.c (main): Use 'rlim_t', not 'long', for values that
44933         should be compatible with 'struct rlimit' members.
44935         * nt/inc/sys/resource.h: New header file.
44937         * nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit):
44938         Set to "yes".
44940 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
44942         Move key mappings into reftex-mode-map defvar
44944         * lisp/textmodes/reftex.el (reftex-mode-map): Assimilate top-level
44945         key mappings.
44946         (reftex-reset-mode): Just use dolist.
44948 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
44950         Derive reftex-index-mode from special-mode
44952         * lisp/textmodes/reftex-index.el (reftex-index-mode-map): Flatten
44953         loop.  Remove digit keys and hyphen, as reftex-index-mode is derived
44954         from special-mode now.
44955         (reftex-index-mode): Derive from special-mode.
44956         (reftex-index-phrases-mode-map): Flatten loop. Fix erroneous docstring.
44958 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
44960         Clean up reftex-toc-mode-map
44962         * lisp/textmodes/reftex-toc.el: Remove cl.
44963         (reftex-toc-mode-map): Flatten loop.  Remove mapping digit keys and
44964         hyphen, as reftex-toc-mode is derived from special-mode nowadays.
44966 2016-11-18  Philipp Stephani  <phst@google.com>
44968         Prevent dubious argument lists
44970         See Bug#24912 and Bug#24913.
44972         * src/eval.c (funcall_lambda): Detect more dubious argument lists.
44973         * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Detect
44974         more dubious argument lists.
44975         * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): Add unit
44976         test.
44978 2016-11-18  Tino Calancha  <tino.calancha@gmail.com>
44980         Add test suite for buff-menu.el
44982         * test/lisp/buff-menu-tests.el: New file.
44983         (buff-menu-24962): Add test for Bug#24962.
44985 2016-11-18  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
44987         Add cyrillic-tuvan input method
44989         * lisp/leim/quail/cyrillic.el ("cyrillic-tuvan"): New input
44990         method.  (Bug#24942)
44992         * etc/NEWS: Mention addition of 'cyrillic-tuvan' input method.
44994 2016-11-18  Alexander Gramiak  <agrambot@gmail.com>
44996         Extend 'indent-relative' when its arg is non-nil
44998         * lisp/indent.el (indent-relative-maybe): New obsolete alias.
44999         (indent-relative-first-indent-point): Renamed from
45000         'indent-relative-maybe'.
45001         (indent-relative): Now accepts an additional optional argument.
45002         The first argument was renamed to FIRST-ONLY.  Doc fix.  Support
45003         the additional arg.  (Bug#24766)
45005 2016-11-17  Dmitry Gutov  <dgutov@yandex.ru>
45007         Add example for bug#24854
45009         * test/manual/indent/js.js: Add example for bug#24854.
45011 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
45013         Port registry.el the rest of the way to cl-lib
45015         This file already is using cl-lib functions at runtime; eieio ultimately
45016         loads cl-lib, which explains why doing so wasn't an issue.
45017         * lisp/registry.el: Require cl-lib.
45018         (registry-db, registry--match, registry-search, registry-delete):
45019         (registry-insert, registry-reindex): Replace cl macros with cl-lib ones.
45020         (registry-collect-prune-candidates): Replace cl function with cl-lib one.
45022 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
45024         Fix arglist in python.el (Bug#24762)
45026         * lisp/progmodes/python.el: Remove unneeded second args.
45027         (python-define-auxiliary-skeleton): DOC arg should be &optional.
45029 2016-11-17  Simen Heggestøyl  <simenheg@gmail.com>
45031         Add tests for rot13.el
45033         * lisp/rot13.el (rot13): Docstring correction.
45035         * test/lisp/rot13-tests.el: New file with tests for rot13.el.
45037 2016-11-17  Michael Albinus  <michael.albinus@gmx.de>
45039         Fix Bug#24947 (Tramp + ido)
45041         * lisp/ido.el (ido-read-internal): Prevent eager Tramp connection.
45043         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
45044         Run remote tests only if a connection is established only.  (Bug#24947)
45046 2016-11-16  Ken Brown  <kbrown@cornell.edu>
45048         Unbreak the build on Darwin (Bug#24957)
45050         * src/fileio.c (file_name_case_insensitive_p) [DARWIN_OS]: Fix
45051         mistakes in recent commit.
45053 2016-11-16  Nicolas Petton  <nicolas@petton.fr>
45055         Do not use map.el in seq-tests.el
45057         * test/lisp/emacs-lisp/seq-tests.el: Do not use map.el.  map.el was
45058         introduced in Emacs 25.1, but seq.el is also available in GNU ELPA for
45059         Emacs 24.5.
45061 2016-11-16  Tino Calancha  <tino.calancha@gmail.com>
45063         Update parameter :version to 26.1 in several defcustom
45065         Following defcustom where added or modified for 25.2 release.
45066         In fact all these changes belong to 26.1 release.
45067         * lisp/battery.el (battery-linux-sysfs-regexp)
45068         * lisp/comint.el (comint-password-prompt-regexp)
45069         * lisp/dired.el (dired-always-read-filesystem)
45070         * lisp/image.el (image-scaling-factor)
45071         * lisp/ibuf-ext.el (ibuffer-never-search-content-name)
45072         (ibuffer-never-search-content-mode)
45073         * lisp/mouse.el (mouse-select-region-move-to-beginning)
45074         * lisp/net/net-utils.el (iwconfig-program, iwconfig-program-options)
45075         (netstat-program, route-program, route-program-options)
45076         * lisp/net/sieve-manage.el (sieve-manage-default-stream)
45077         * lisp/progmodes/grep.el (grep-save-buffers)
45078         * lisp/vc/add-log.el (change-log-directory-files)
45079         * lisp/url/url-vars.el (url-user-agent)
45080         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles)
45081         (vc-hg-use-file-version-for-mode-line-version)
45082         (vc-hg-parse-hg-data-structures)
45083         * lisp/wdired.el (wdired-create-parent-directories)
45084         * lisp/faces.el (homoglyph, nobreak-hyphen, read-multiple-choice-face)
45085         * lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
45086         (gnus-button-url-regexp)
45087         * lisp/window.el (switch-to-buffer-preserve-window-point)
45088         * lisp/ibuffer.el (ibuffer-formats, ibuffer-locked-char)
45089         (ibuffer-locked-buffer)
45090         * lisp/textmodes/flyspell.el (flyspell-sort-corrections-function)
45091         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break)
45092         * lisp/gnus/message.el (message-user-fqdn)
45093         * lisp/simple.el (shell-command-dont-erase-buffer)
45094         (extended-command-suggest-shorter)
45095         * lisp/net/shr.el (shr-use-fonts)
45096         * lisp/files.el (mounted-file-systems, kill-emacs-query-functions)
45098 2016-11-15  Glenn Morris  <rgm@gnu.org>
45100         Add --new-daemon, which runs in the foreground and does not fork
45102         This is intended for modern init systems such as systemd,
45103         which manage many of the traditional aspects of daemon behavior
45104         themselves.  (Bug#2677)
45105         * src/emacs.c (daemon_type): New integer.
45106         (usage, standard_args): Add --old-daemon and --new-daemon.
45107         (main): Handle --old-daemon and --new-daemon arguments.
45108         Restrict all the forking and complicated daemon stuff to old-daemon.
45109         (Fdaemon_initialized): Handle new-style daemon.
45110         * src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]:
45111         Replace daemon_pipe with daemon_type.
45112         * doc/emacs/cmdargs.texi (Initial Options):
45113         * doc/emacs/glossary.texi (Glossary):
45114         * doc/emacs/misc.texi (Emacs Server):
45115         * doc/lispref/display.texi (Window Systems):
45116         * doc/lispref/os.texi (Startup Summary): Related doc updates.
45117         * etc/NEWS: Mention this.
45118         * etc/emacs.service: Use Type=simple and --new-daemon.
45120 2016-11-15  Glenn Morris  <rgm@gnu.org>
45122         * src/emacs.c (usage_message): Mention named daemon.  (Bug#24949)
45123         * doc/man/emacs.1.in: Likewise.
45125 2016-11-15  Ken Brown  <kbrown@cornell.edu>
45127         Simplify case-insensitivity checks on Mac OS X
45129         * src/fileio.c (file_name_case_insensitive_p): Try skipping the
45130         Darwin code and instead using pathconf with _PC_CASE_SENSITIVE.
45131         Leave in two alternatives conditionally compiled based on
45132         DARWIN_OS_CASE_SENSITIVE_FIXME in case pathconf doesn't work.
45134         * etc/PROBLEMS: Mention the possible problem with pathconf on
45135         Mac OS X.
45137 2016-11-15  Glenn Morris  <rgm@gnu.org>
45139         * src/emacs.c (sort_args): Warn about multiple matches.
45141 2016-11-15  Michael Albinus  <michael.albinus@gmx.de>
45143         Implement file name handler for `file-name-case-insensitive-p'
45145         * doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p'
45146         is also applicable for remote hosts.
45148         * lisp/net/tramp.el (tramp-methods): Improve docstring.
45149         (tramp-file-name-for-operation): Add `file-name-case-insensitive-p'.
45150         (tramp-handle-file-name-case-insensitive-p): New defun.
45152         * lisp/net/tramp-smb.el (tramp-methods) <smb>:
45153         Add `tramp-case-insensitive' entry.
45155         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
45156         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
45157         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
45158         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
45159         <file-name-case-insensitive-p>: Add handler.  (Bug#22300, Bug#24441)
45161 2016-11-15  Mark Oteiza  <mvoteiza@udel.edu>
45163         Nix more uses of default-FOO variables (Bug#24946)
45165         * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
45166         Check for header-line-format instead.
45167         * lisp/emulation/viper.el (viper-load-custom-file): Reference
45168         major-mode instead.
45169         * lisp/mail/feedmail.el (feedmail-fill-to-cc-fill-column): Use
45170         fill-column instead.
45172 2016-11-15  Simen Heggestøyl  <simenheg@gmail.com>
45174         Complete the name of PostgreSQL databases
45176         * lisp/progmodes/sql.el (sql-postgres-login-params): Complete database
45177         name.
45178         (sql-postgres-list-databases): New function returning a list of
45179         available PostgreSQL databases.
45181         * test/lisp/progmodes/sql-tests.el: New file with tests for sql.el.
45183 2016-11-14  Sam Steingold  <sds@gnu.org>
45185         add `vc-git-print-log-follow' and use it in `vc-git-print-log'
45187         When `vc-git-print-log-follow' is true and all files are
45188         non-directory, pass "--follow" to "git log".
45189         This works around bug#8756 and bug#16422.
45191 2016-11-14  Sam Steingold  <sds@gnu.org>
45193         `toggle-truncate-lines' obsoletes `gnus-summary-toggle-truncation'
45195         vc-git-print-log: pass "--follow" to "log" to handle renamed files
45197 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
45199         Revert "Improve case-insensitive checks (Bug#24441)"
45201         This reverts commit 2f5e0b1bf7b0ac4f450847db34d599a072020600.
45202         I see no reason for removing code, documentation, and comments
45203         in the original commit.
45205 2016-11-14  Wilson Snyder  <wsnyder@wsnyder.org>
45207         Update verilog-mode.el
45209         * lisp/progmodes/verilog-mode.el (verilog-read-decls)
45210         (verilog-calc-1): Fix "default clocking" indentation and
45211         preventing AUTOs from working, bug1084.  Reported by Alan Morgan.
45212         (verilog-diff-report): Fix `verilog-diff-report'
45213         not returning bad status on differences, bug1087.  Reported by
45214         Eric Jackowski.
45215         (verilog-auto-inst-param-value)
45216         (verilog-auto-inst-param-value-type, verilog-read-sub-decls)
45217         (verilog-read-sub-decls-expr, verilog-read-sub-decls-gate)
45218         (verilog-read-sub-decls-line, verilog-read-sub-decls-sig)
45219         (verilog-read-sub-decls-type): When
45220         `verilog-auto-inst-param-value-type' is set, which is now the
45221         default, AUTOINPUT etc will now substitute parameter types from
45222         submodules, bug1061.  Reported by Brad Dobbie.
45223         (verilog-auto-reset, verilog-backward-case-item)
45224         (verilog-extended-case-re, verilog-read-always-signals-recurse):
45225         Fix indentation of randcase, bug1072. Reported by David Rogoff.
45226         (verilog-read-sub-decls-expr)
45227         (verilog-sig-multidim-string): Fix AUTOINST ordering of dimensions
45228         in generated comments, bug1057. Reported by Kaushal Modi.
45229         (verilog-auto-wire-comment, verilog-insert-definition):
45230         Add `verilog-auto-wire-comment' to suppress wire comments. Reported by
45231         Eric Jackowski.
45232         (verilog-extended-complete-re): Fix indentation
45233         of class static functions, bug1053. Reported by Gregory
45234         Czajkowski.
45235         (verilog-module-filenames): Support tramp for
45236         finding verilog modules. Reported by Nevada Sanchez.
45238 2016-11-14  Paul Eggert  <eggert@cs.ucla.edu>
45240         Improve case-insensitive checks (Bug#24441)
45242         * doc/lispref/files.texi (Truenames): Simplify documentation,
45243         to avoid giving too much platform-specific information that
45244         may not be accurate anyway.
45245         * src/fileio.c (file_name_case_insensitive_p): Use pathconf with
45246         _PC_CASE_SENSITIVE if _PC_CASE_INSENSITIVE is not available.
45247         Otherwise if one approach fails (e.g., with errno == EINVAL), fall
45248         back on an alternative rather than returning false.  Try skipping
45249         the Darwin code, as it (1) no longer seems to be needed and (2)
45250         does not seem to match the Apple documentation.  Leave in two
45251         alternatives conditionally compiled based on
45252         DARWIN_OS_CASE_SENSITIVE_FIXME in case (1) or (2) is incorrect.
45254 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
45256         Fix documentation changes of connection-local variables
45258         * etc/NEWS: Fix last change.
45259         * doc/lispref/variables.texi (Connection Local Variables): Minor fixes.
45260         * doc/lispref/elisp.texi (Top): Update the master menu.
45262 2016-11-14  Michael Albinus  <michael.albinus@gmx.de>
45264         Implement connection-local variables
45266         * doc/lispref/variables.texi (Connection Local Variables): New section.
45268         * etc/NEWS: Mention connection-local variables.
45270         * lisp/files-x.el (enable-connection-local-variables)
45271         (connection-local-variables-alist, connection-local-class-alist)
45272         (connection-local-criteria-alist): New defvars.
45273         (connection-local-get-classes)
45274         (connection-local-get-class-variables): New defsubst.
45275         (connection-local-set-classes)
45276         (connection-local-set-class-variables)
45277         (hack-connection-local-variables)
45278         (hack-connection-local-variables-apply): New defuns.
45279         (with-connection-local-classes): New defmacro.
45281         * lisp/net/tramp.el (tramp-set-connection-local-variables): New defun.
45283         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
45284         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
45285         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
45286         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it.
45288         * test/lisp/files-x-tests.el: New file.
45290 2016-11-14  Tino Calancha  <tino.calancha@gmail.com>
45292         tabulated-list: extend truncation into next align-right column
45294         See discussion on:
45295         https://lists.gnu.org/r/emacs-devel/2016-10/msg01101.html
45296         * lisp/emacs-lisp/tabulated-list.el
45297         (tabulated-list--near-rows): New variable.
45298         (tabulated-list-print, tabulated-list-set-col): Use it.
45299         (tabulated-list--col-local-max-widths): New defsubst.
45300         (tabulated-list-print-col): Use it.  If the next column is
45301         align-right, and has some space left then don't truncate to width,
45302         use some of the available space from the next column.
45304 2016-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>
45306         * lisp/net/shr.el (shr-collect-extra-strings-in-table): Fix indentation.
45308         * lisp/net/shr.el (shr-tag-table): Avoid duplication of images.
45309         (shr-collect-extra-strings-in-table): Render images as well.
45311 2016-11-13  Ken Brown  <kbrown@cornell.edu>
45313         Use the new 'file-name-case-insensitive-p' function
45315         * lisp/international/mule.el (auto-coding-alist-lookup):
45316         * lisp/files.el (file-truename):
45317         (abbreviate-file-name, set-auto-mode, file-relative-name):
45318         * lisp/emacs-lisp/package.el (package-untar-buffer): Use
45319         'file-name-case-insensitive-p' instead of 'system-type' to test
45320         case-insensitivity.
45322 2016-11-13  Glenn Morris  <rgm@gnu.org>
45324         Include a systemd user unit file.  (Bug#16507)
45326         * etc/emacs.service: New file.
45327         * doc/emacs/misc.texi (Emacs Server): Mention systemcl --user.
45328         * Makefile.in (libdir): New, set by configure.
45329         (systemdunitdir): New variable.
45330         (install-etc, uninstall): Handle the emacs.service file.
45332 2016-11-13  Paul Eggert  <eggert@cs.ucla.edu>
45334         Port --enable-gcc-warnings to Ubuntu 16.10
45336         * src/gmalloc.c: Include <stdlib.h>, so it declares
45337         hybrid_aligned_alloc (the definiens of the aligned_alloc macro),
45338         so that GCC doesn't complain that hybrid_aligned_alloc is
45339         defined without being declared.
45341 2016-11-13  Ken Brown  <kbrown@cornell.edu>
45343         Silence tramp warning
45345         * lisp/net/tramp.el (tramp-file-name-for-operation): Add
45346         'file-name-case-insensitive-p' as a known file primitive.
45347         (Bug#24936)
45349 2016-11-12  Ken Brown  <kbrown@cornell.edu>
45351         Check case-sensitivity when renaming files
45353         * src/fileio.c (file_name_case_insensitive_p)
45354         (Ffile_name_case_insensitive_p):  New functions.
45355         (Frename_file): Allow renames that simply change case when the
45356         FILE argument is on a case-insensitive filesystem.  (Bug#24441)
45358         * lisp/dired-aux.el (dired-do-create-files): Use
45359         'file-name-case-insensitive-p' instead of 'system-type' to check
45360         for case-insensitivity.  (Bug#24441)
45362         * doc/lispref/files.texi (Truenames): Document
45363         'file-name-case-insensitive-p'.
45365 2016-11-12  Ken Brown  <kbrown@cornell.edu>
45367         Unbreak the build on Cygwin
45369         * configure.ac (system_malloc) [CYGWIN]: Unset.
45371 2016-11-11  Mark Oteiza  <mvoteiza@udel.edu>
45373         Update chart.el
45375         * lisp/emacs-lisp/chart.el (chart-mode): Derive from special-mode.
45376         (chart-draw): Wrap in with-silent-modifications.  Instead of inserting a
45377         fixed number of newlines, use window-height.
45378         (chart-bar):
45379         (chart-trim): Use dolist.
45380         (chart-file-count): The previous implementation was buggy and missed
45381         extensions.  Use file-name-extension instead to detect file extensions.
45382         Also use dolist and cl-incf to reduce verbosity.
45384 2016-11-11  Katsumi Yamaoka  <yamaoka@jpl.org>
45386         * lisp/net/shr.el (shr--preferred-image): Add CR to whitespace regexps.
45387         (shr-collect-extra-strings-in-table):
45388         Render extra tables in an invalid html as well.
45390 2016-11-10  Katsumi Yamaoka  <yamaoka@jpl.org>
45392         * lisp/net/shr.el (shr--preferred-image): Ignore whitespace (bug#24893).
45394 2016-11-09  Eli Zaretskii  <eliz@gnu.org>
45396         Resurrect 'memory-limit' on MS-Windows
45398         * nt/mingw-cfg.site (ac_cv_func_sbrk): Set to "yes", otherwise
45399         'memory-limit' will produce a trivial and useless result on Windows.
45401 2016-11-09  Mark Oteiza  <mvoteiza@udel.edu>
45403         Update quickurl.el
45405         * lisp/net/quickurl.el (quickurl-format-function):
45406         (quickurl-sort-function): Use named function.
45407         (quickurl-list-mode-map): Remove lines that are extraneous now that the
45408         parent mode is special-mode.
45409         (quickurl-format-url, quickurl-sort-urls): New functions.
45410         (quickurl-read, quickurl): Use defun, as no cl-defun feature appears to
45411         be used.
45412         (quickurl-list-mode): Derive from special-mode.  Nix setting
45413         buffer-read-only: special-mode does that.
45414         (quickurl-list-populate-buffer): Use dolist instead.
45415         (quickurl-list-quit): Use quit-window.  It looks like this was written
45416         before the quit-window rewrite.  quit-window is very useful now.
45418 2016-11-09  Michael Albinus  <michael.albinus@gmx.de>
45420         Refine multi-hop specs in Tramp
45422         * lisp/net/tramp.el (tramp-tramp-file-p): Suppress "/:" and "/c:".
45424         * test/lisp/net/tramp-tests.el
45425         (tramp-test01-file-name-syntax): Multi-hop specs don't need a
45426         method.  "/h:" is allowed on non MS Windows.
45428 2016-11-08  Daniel Colascione  <dancol@dancol.org>
45430         Avoid infloop in python
45432         Fix bug#24905
45434         * lisp/progmodes/python.el (python-info-docstring-p): Improve
45435         infloop avoidance: replace (bobp) with generic test for
45436         forward progress.
45437         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add
45438         test for bug#24905
45440 2016-11-08  Daniel Colascione  <dancol@dancol.org>
45442         Make gnus/message.el work correctly under lexical binding
45444         * lisp/gnus/message.el (message-send-mail): Rename `arg' to
45445         `_' to shut up the byte compiler.
45446         (sha1-maximum-internal-length, smtpmail-smtp-server)
45447         (smtpmail-smtp-service): add missing defvars
45449 2016-11-08  Michael Albinus  <michael.albinus@gmx.de>
45451         Fix Bug#24889
45453         * lisp/net/tramp.el (tramp-file-name-regexp): Make it a
45454         defvar.  Fix docstring.
45455         (tramp-completion-file-name-handler-alist): Fix docstring.
45456         (tramp-register-file-name-handlers): Reassign
45457         `tramp-file-name-regexp' to the car of
45458         `tramp-file-name-structure'.  (Bug#24889)
45460 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
45462         Port to FreeBSD 11 AMD
45464         Problem reported by Ashish Shukla (Bug#24892).  I tested
45465         this on FreeBSD 11 x86-64 with HAVE_SBRK manually undefined.
45466         * configure.ac (system_malloc): Set to 'yes' if there is no sbrk.
45467         (sbrk): Check whether it exists.
45468         * src/alloc.c (my_heap_start) [!GNU_LINUX]:
45469         Do not define, since this function is now used only on GNU/Linux,
45470         and sbrk might not exist on other platforms.
45471         (malloc_initialize_hook) [!GNU_LINUX]:
45472         Do not call my_heap_start, since its side effect will never be used.
45473         (Fmemory_limit) [!HAVE_SBRK]: Do not call sbrk.
45474         * src/unexelf.c (unexec) [!HAVE_SBRK]: Assume that nothing like
45475         sbrk exists.
45477 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
45479         Port emacsclient to FreeBSD 11 etc.
45481         * lib-src/emacsclient.c: Include <string.h>.  This is needed on
45482         platforms like FreeBSD 11 that use code involving strlen etc., and
45483         because <config.h> no longer includes string.h.
45485 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
45487         Prescribe history for read-regexp in query-replace
45489         In the fix for bug#24580, the history argument for read-regexp was
45490         removed erroneously; read-regexp's history argument defaults to
45491         regexp-history, not minibuffer-history.
45492         * lisp/replace.el (query-replace-read-from): Tell read-regexp to use
45493         minibuffer-history.  Fixes bug#24873.
45495 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
45497         Remove obsolete default-FOO variables
45499         * etc/NEWS: Indicate the removed variables.
45500         * lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
45501         * lisp/subr.el (default-mode-line-format, default-header-line-format):
45502         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
45503         (default-truncate-lines, default-left-margin, default-tab-width):
45504         (default-case-fold-search, default-left-margin-width):
45505         (default-right-margin-width, default-left-fringe-width):
45506         (default-right-fringe-width, default-fringes-outside-margins):
45507         (default-scroll-bar-width, default-vertical-scroll-bar):
45508         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
45509         (default-fringe-indicator-alist, default-fringe-cursor-alist):
45510         (default-scroll-up-aggressively, default-scroll-down-aggressively):
45511         (default-fill-column, default-cursor-type):
45512         (default-cursor-in-non-selected-windows):
45513         (default-buffer-file-coding-system, default-major-mode):
45514         (default-enable-multibyte-characters): Remove obsolete declarations.
45515         * src/buffer.c (default-mode-line-format, default-header-line-format):
45516         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
45517         (default-truncate-lines, default-left-margin, default-tab-width):
45518         (default-case-fold-search, default-left-margin-width):
45519         (default-right-margin-width, default-left-fringe-width):
45520         (default-right-fringe-width, default-fringes-outside-margins):
45521         (default-scroll-bar-width, default-vertical-scroll-bar):
45522         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
45523         (default-fringe-indicator-alist, default-fringe-cursor-alist):
45524         (default-scroll-up-aggressively, default-scroll-down-aggressively):
45525         (default-fill-column, default-cursor-type):
45526         (default-cursor-in-non-selected-windows):
45527         (default-buffer-file-coding-system, default-major-mode):
45528         (default-enable-multibyte-characters): Remove.
45529         * src/fileio.c (choose_write_coding_system): Fix comment.
45530         * src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.
45532 2016-11-07  Eli Zaretskii  <eliz@gnu.org>
45534         Improve the tutorial
45536         * etc/tutorials/TUTORIAL: Minor copyedits.  (Bug#24890)
45537         * etc/tutorials/TUTORIAL.he: Follow suit.
45539 2016-11-06  Paul Eggert  <eggert@cs.ucla.edu>
45541         Restore file descriptor limit in subprocesses
45543         Problem reported by Philipp Stephani (Bug#24869).
45544         * src/callproc.c (child_setup) [!DOS_NT]:
45545         Call restore_nofile_limit in the child.
45546         * src/process.c (nofile_limit) [HAVE_SETRLIMIT]: New static var.
45547         (restore_nofile_limit): New function.
45548         (init_process_emacs) [HAVE_SETRLIMIT]: Set the new var.
45550 2016-11-06  Mark Oteiza  <mvoteiza@udel.edu>
45552         Remove some subr.el functions obsoleted in 22.1
45554         * etc/NEWS: Document removed functions.  Also mention the "face"
45555         variables that have been removed recently.
45556         * lisp/subr.el (window-dot, set-window-dot, read-input, show-buffer):
45557         (eval-current-buffer, string-to-int, insert-string, makehash): Remove.
45559 2016-11-05  Paul Eggert  <eggert@cs.ucla.edu>
45561         Prefer comments /* like this */ in C code
45563 2016-11-05  Johan Bockgård  <bojohan@gnu.org>
45565         * lisp/subr.el (copy-tree): Handle vector in cdr. (Bug#24876)
45567 2016-11-05  Nick Terrell  <nickrterrell@gmail.com>  (tiny change)
45569         Support zstd compressed files
45571         * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Add
45572         zstd compression info: <http://facebook.github.io/zstd/>.
45573         (jka-compr-mode-alist-additions): Handle .tzst suffix for zstd
45574         compressed tar archives.  (Bug#24853)
45576 2016-11-05  Eli Zaretskii  <eliz@gnu.org>
45578         Enlarge DUMPED_HEAP_SIZE
45580         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]:
45581         Enlarge to 21MB.  Reported by Richard Copley <rcopley@gmail.com>.
45583 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
45585         Update from gnulib
45587         This incorporates:
45588         2016-11-03 intprops: port to older XL C
45589         * lib/intprops.h: Copy from gnulib.
45591 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
45593         Merge from origin/emacs-25
45595         acae275 ; Spelling fixes
45596         d8fac73 Update README for precompiled windows Emacs.
45597         23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks
45598         f708cb2 Clarify doc string of 'transpose-sexps'
45599         cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab'
45600         bdc89eb Improve documentation of 'font-lock-remove-keywords'
45601         4a0c590 Fix documentation of the command summary key
45602         0221b7a Mark relocation workarounds with REL_ALLOC
45604 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
45606         Merge from origin/emacs-25
45608         dbb3410 python.el: Fix detection of native completion in Python 3 (bu...
45609         91c97b6 * Makefile.in (install-arch-indep): Skip etc/refcards/emacsve...
45610         9c1cb8d * lisp/subr.el (set-transient-map): Exit for unbound events (...
45611         9c247d2 Update category-table for Chinese characters
45612         43986d1 Inhibit buffer relocation during regex searches
45613         fee4cef Revert fixes to allocation of regex matching
45615 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
45617         Fix references to long obsoleted functions/aliases
45619         * doc/lispintro/emacs-lisp-intro.texi (Miscellaneous):
45620         * doc/misc/cl.texi (Conditionals):
45621         * doc/misc/speedbar.texi (Major Display Modes): Use string-to-number,
45622         not string-to-int.
45623         * lisp/emulation/viper.el (viper-go-away): Use major-mode, not
45624         default-major-mode.
45625         * lisp/textmodes/reftex-toc.el (reftex-toc-visit-location): show-window
45626         here is not a function call, but shorten the binding names anyways.
45627         Also, use pop-to-buffer-same-window instead of switch-to-buffer cf
45628         Bug#22244.
45629         * lisp/textmodes/sgml-mode.el (html-tag-alist): Use read-string, not
45630         read-input.
45632 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
45634         * lisp/emacs-lisp/pcase.el (pcase-dolist): Add a docstring.
45636 2016-11-04  Katsumi Yamaoka  <yamaoka@jpl.org>
45638         * lisp/net/shr.el (shr-collect-extra-strings-in-table) New function
45639         that gathers extra strings in an invalid html.  (bug#24831)
45640         (shr-tag-table): Use it.
45642 2016-11-04  Vasilij Schneidermann  <v.schneidermann@gmail.com>
45644         Add 'x-ctrl-keysym' support on X window system
45646         * src/xterm.c (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
45647         Support 'x-ctrl-keysym'.
45648         (syms_of_xterm): DEFSYM "ctrl" and put a proper modifier-value
45649         property on it.
45650         <x-ctrl-keysym>: New DEFVAR_LISP.
45651         <x-alt-keysym, x-hyper-keysym, x-meta-keysym, x-super-keysym>: Doc
45652         fix.  (Bug#24822)
45654         * etc/NEWS: Mention the addition of 'x-ctrl-keysym'.
45656         * doc/lispref/os.texi (X11 Keysyms): Document 'x-ctrl-keysym'.
45658 2016-11-04  Alexander Gramiak  <agrambot@gmail.com>
45660         Improve autoload error reporting
45662         * src/eval.c (Fautoload_do_load): Include the absolute file name
45663         in the error message.
45665 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
45667         Stop force parameter of whitespace-report-region having global effect
45669         * lisp/whitespace.el (whitespace-report-region): Force parameter
45670         previously changed whitespace-style globally.  Fix this, and use
45671         whitespace-active-style, to take account of any changes the user may
45672         have made.  Simplify the documentation: the force parameter simply
45673         forces all classes of whitespace problem to be considered.
45674         (Bug#24745)
45676 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
45678         Document use of `tab-width'
45680         * lisp/whitespace.el: When talking about `8 or more spaces', mention
45681         `tab-width' instead of 8.  (Bug#24745)
45683 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
45685         Make whitespace-report-region respect current settings
45687         * lisp/whitespace.el (whitespace-report-region): Make it respect
45688         whitespace-style, including any additions made by the force parameter.
45689         This means that the function does not return t unless a whitespace
45690         problem that the user cares about is reported.  (Bug#24745)
45692 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
45694         Fix whitespace-space-after-tab-regexp
45696         * lisp/whitespace.el (whitespace-space-after-tab-regexp)
45697         (whitespace-regexp): Match all the spaces after tabs for highlighting,
45698         not just the first tab-width.  Fix whitespace-space-after-tab::space
45699         version so that it requires at least tab-width spaces, not just 1.
45700         (Bug#24745)
45702 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
45704         Remove duplicate documentation
45706         * lisp/whitespace.el: Remove duplicate documentation from the Commentary
45707           section which duplicate and in some places contradict (due to being
45708           out of date) the docstrings (Bug#24745).
45710 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
45712         Fix bob/eob checks
45714         * lisp/whitespace.el (whitespace-empty-at-bob-regexp)
45715         (whitespace-empty-at-eob-regexp, whitespace-cleanup): Make `empty' checks
45716         work at beginning & end of buffer in whitespace-report-region, and only
45717         there (i.e. they will never match in regions that don't include the
45718         start or end of the buffer).  (Bug#24745)
45720 2016-11-03  Tino Calancha  <tino.calancha@gmail.com>
45722         (thing-at-point 'list) return nil if no list at point
45724         * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point):
45725         Check first if we are at the beginning of a top-level sexp (Bug#24627).
45726         If point is inside a comment or string, look for a list out of the
45727         comment/string.
45728         Escape '[' in doc string.
45729         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): Update
45730         expected test result as pass.
45732 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
45734         Remove antlr face aliases obsoleted in 22.1
45736         * lisp/progmodes/antlr-mode.el: Remove obsolete aliases
45737         (antlr-default-face, antlr-keyword-face, antlr-syntax-face):
45738         (antlr-ruledef-face, antlr-tokendef-face, antlr-ruleref-face):
45739         (antlr-tokenref-face, antlr-literal-face):
45740         (antlr-literal-face): Remove.
45741         (antlr-font-lock-additional-keywords): Use face symbols instead.
45743 2016-11-02  Daniel Colascione  <dancol@dancol.org>
45745         Revert "Disable bracketed paste in a terminal in char mode"
45747         This change causes regressions, and besides, disabling BPM frame-wide
45748         for the sake of one buffer is the wrong solution.
45750         This reverts commit cf566b46a6cf85c6d54d0b0db80e32ed6ae8d1ca.
45752 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
45754         Revert change to eww-suggest-uris
45756         The introduced append is ugly and can yield '(nil); doing delq on it
45757         would be hacks on hacks.
45758         * lisp/net/eww.el: Require cl-lib at run time.
45759         (eww-suggest-uris): Restore eww-current-url, reverting previous change.
45760         (eww): Remove erroneous append.
45761         (eww-open-in-new-buffer): Check if the return from eww-suggested-uris is
45762         equal to eww-current-url, which is nil anyways if we are not in an EWW
45763         buffer.
45765 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
45767         Add eww-open-in-new-buffer to EWW
45769         * doc/misc/eww.texi (Basic): Document new command and key.
45770         * etc/NEWS: Mention new key and its purpose.
45771         * lisp/net/eww.el (eww-suggest-uris): Remove eww-current-url.
45772         (eww): Append (eww-current-url) to the prompt defaults.
45773         (eww-open-in-new-buffer): New command.
45774         (eww-mode-map): Bind it and add a menu item.
45776 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
45778         Migrate auth-source to cl-lib
45780         * lisp/auth-source.el: Use cl-lib.
45781         (auth-source-read-char-choice, auth-source-backend-parse-parameters):
45782         (auth-source-search): Replace cl calls with cl-lib ones.
45783         (auth-source-netrc-cache):
45784         (auth-source-forget+): Use cl-do-symbols instead.
45785         (auth-source-specmatchp, auth-source-netrc-parse):
45786         (auth-source-netrc-search, auth-source-netrc-create):
45787         (auth-source-netrc-saver, auth-source-secrets-listify-pattern):
45788         (auth-source-secrets-search, auth-source-secrets-create):
45789         (auth-source-macos-keychain-search, auth-source--decode-octal-string):
45790         (auth-source-macos-keychain-search-items, auth-source-plstore-search):
45791         (auth-source-plstore-create): Replace cl calls with cl-lib ones.
45793 2016-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
45795         Don't segfault on timed-out TLS connections
45797         * src/process.c (finish_after_tls_connection): Check that the
45798         file descriptor is still alive before proceeding (bug#24811).
45799         Also clean up the code slightly.
45801 2016-11-01  Eli Zaretskii  <eliz@gnu.org>
45803         Support 'TARGETS' in clipboard selections on MS-Windows
45805         * src/w32select.c (Fw32_selection_targets): New function.
45807         * lisp/term/w32-win.el (w32--get-selection): Call
45808         'w32-selection-targets' to obtain the list of data formats
45809         available in the clipboard.
45811 2016-11-01  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
45813         Fix documentation for 'eudc-options-file'
45815         * doc/misc/eudc.texi (The Server Hotlist): Update the default
45816         value of 'eudc-options-file'.
45818 2016-11-01  Tibor Csögör  <tibi@tiborius.net>
45820         Fix documentation of 'eudc-inline-expansion-format'
45822         * doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of
45823         'eudc-inline-expansion-format'. (Bug#24840)
45825 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
45827         Turn on lexical-binding in some more libs
45829         * lisp/calendar/icalendar.el:
45830         * lisp/emacs-lisp/regexp-opt.el:
45831         * lisp/emacs-lisp/timer.el:
45832         * lisp/gnus/message.el:
45833         * lisp/hex-util.el: Turn on lexical-binding.
45835 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
45837         Turn on lexical-binding in some net libs
45839         * lisp/net/dbus.el: Turn on lexical-binding.
45840         (dbus-list-hash-table, dbus-list-known-names):
45841         (dbus-introspect-get-node-names, dbus-introspect-get-interface-names):
45842         (dbus-introspect-get-method-names, dbus-introspect-get-signal-names):
45843         (dbus-introspect-get-property-names):
45844         (dbus-introspect-get-argument-names, dbus-get-all-properties):
45845         (dbus-property-handler, dbus-get-all-managed-objects):
45846         (dbus-managed-object-handler): Replace add-to-list with push. Add
45847         nreverse in some places where the APPEND argument of add-to-list was
45848         used.
45849         * lisp/net/network-stream.el: Turn on lexical-binding.
45850         * lisp/net/newsticker.el: Turn on lexical-binding.
45851         * lisp/net/shr.el: Turn on lexical-binding.
45852         (shr-make-placeholder-image): Remove unused variable binding.
45853         (shr-inspect-table): Replace ignored bindings with underscore.
45855 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
45857         Turn on lexical-binding in some url libs
45859         * lisp/url/url-auth.el:
45860         * lisp/url/url-expand.el:
45861         * lisp/url/url-future.el:
45862         * lisp/url/url-parse.el:
45863         * lisp/url/url-util.el: Turn on lexical-binding.
45865 2016-10-31  Johan Bockgård  <bojohan@gnu.org>
45867         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Fix debug spec
45869         (Bug#24733)
45871 2016-10-30  Alan Mackenzie  <acm@muc.de>
45873         Handle chars of syntax word which are also flagged as comment delimiters
45875         src/syntax.c (scan_sexps_forward): When chars of syntax word are also flagged
45876         as the start/end of two char comment delimiters, recognize a comment delimiter
45877         in preference to a portion of a word.  This fixes bug #24767.
45879 2016-10-29  Daniel Colascione  <dancol@dancol.org>
45881         Speed up initialization by preferring /dev/urandom to GnuTLS
45883         * src/sysdep.c (init_random): Try /dev/urandom before GnuTLS.
45885 2016-10-29  José L. Doménech  <domenechjosel@gmail.com>
45887         Quote file names in dired compression commands
45889         * lisp/dired-aux.el (dired-do-compress-to): Change the string
45890         used as shell command for compression by quoting the filenames
45891         used for input and output (Bug #24620).
45893 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
45895         Avoid errors in posn-at-point for large images
45897         * src/keyboard.c (Fposn_at_point): If pos-visible-in-window-p
45898         returns a 6-member list for a partially visible glyph, pass the
45899         sum of Y and RTOP to posn-at-x-y, since that's where the visible
45900         portion of that glyph begins on display.  (Bug#24804)  (Bug#21832)
45901         (Bug#23809)
45903 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
45905         Unbreak MS-Windows build
45907         * src/w32term.c (XCreateGC): Second argument is now HWND, and its
45908         name is "wignore".
45909         (x_set_cursor_gc, x_set_mouse_face_gc)
45910         (x_draw_glyph_string_background, x_draw_glyph_string_bg_rect)
45911         (x_draw_image_glyph_string, x_draw_stretch_glyph_string): Don't
45912         use s->window, which doesn't exist anymore.
45914         * src/w32term.h (XCreateGC): Adjust prototype.
45916 2016-10-28  Daniel Colascione  <dancol@dancol.org>
45918         Add double-buffering support to reduce flicker
45920         * src/dispextern.h (struct glyph_string): Remove window member
45921         (block_buffer_flips, unblock_buffer_flips)
45922         (buffer_flipping_blocked_p): Declare.
45924         * src/xterm.h (struct x_display_info): New member supports_xdbe.
45925         (struct x_output): New members draw_desc and need_buffer_flip.
45926         (FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE)
45927         (FRAME_X_DOUBLE_BUFFERED_P)
45928         (FRAME_X_NEED_BUFFER_FLIP): New macros.
45929         (set_up_x_back_buffer, tear_down_x_back_buffer)
45930         (initial_set_up_x_back_buffer): Declare.
45932         * src/xterm.c: Include Xdbe.h.
45933         (x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle)
45934         (x_draw_vertical_window_border, x_update_end)
45935         (x_setup_relief_color, x_draw_relief_rect)
45936         (x_draw_fringe_bitmap, x_shift_glyphs_for_insert)
45937         (x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use
45938         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
45939         variables appropriately; substitute calls to XClearArea with
45940         x_clear_area, which DTRT for double buffering.
45941         (x_clear_window, x_clear_area): In double-buffering mode, use
45942         rect-drawing X functions instead of XClearWindow and
45943         XClearArea, which always operate on the front buffer.
45944         (show_back_buffer): New function.
45945         (XTframe_up_to_date): Call show_back_buffer when done.
45946         (x_clear_frame, x_clear_frame_area): Remove obsolete calls to
45947         gtk_widget_queue_draw to refresh scroll bars; scroll bars are
45948         now independent X windows.
45949         (handle_one_xevent): Call font_drop_xrender_surfaces when
45950         XftDraw might need regenerating; perform buffer flip when
45951         responding to Expose events; issue front-buffer clearing
45952         commands as stopgap while we wait for redisplay.
45953         Call flush_dirty_back_buffers.
45954         (x_make_frame_visible): Un-bitrot comment; move XSETFRAME
45955         earlier in function.
45956         (x_free_frame_resources): Call tear_down_x_back_buffer when
45957         destroying frame.
45958         (x_term_init): Attempt to initialize double buffer extension.
45959         (x_flip_and_flush): New function.
45960         (x_redisplay_interface): Point to x_flip_and_flush instead of
45961         x_flip directly.
45962         (flush_dirty_back_buffers): New function.
45963         (x_create_terminal): Register buffer_flipping_unblocked_hook.
45965         * src/xftfont.c (xftfont_drop_xrender_surfaces): Use
45966         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
45967         (xftfont_draw): Call x_mark_frame_dirty.
45968         (xftfont_drop_xrender_surfaces): New function.
45969         (syms_of_xftfont): Register it.
45971         * src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of
45972         FRAME_X_WINDOW.
45974         * src/xfns.c: Include Xdbe.h.
45975         (x_set_inhibit_double_buffering, set_up_x_back_buffer)
45976         (Fx_double_buffered_p): New functions.
45977         (x_window): Call initial_set_up_x_back_buffer.
45978         (x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
45979         (Fx_create_frame): Configure `inhibit-double-buffering'
45980         frame parameter.
45981         (x_create_tip_frame): Call initial_set_up_x_back_buffer.
45982         (x_frame_parm_handlers): Register
45983         x_set_inhibit_double_buffering.
45984         (syms_of_xfns): Register Sx_double_buffered_p.
45985         (x_mark_frame_dirty): Define.
45987         * src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of
45988         FRAME_X_WINDOW.
45990         * src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use
45991         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
45992         (redisplay_internal): Restart redisplay if a frame is garbaged
45993         during updating; explain why. Block buffer flips
45994         during redisplay.
45995         (redisplay_preserve_echo_area): Block buffer flip during call
45996         to redisplay_internal.
45997         (buffer_flip_blocked_depth): New variable.
45998         (block_buffer_flips, unblock_buffer_flips)
45999         (buffer_flipping_blocked_p): New functions.
46000         (init_glyph_string): Stop setting window member of struct
46001         glyph_string.
46003         * src/w32fns.c (w32_frame_parm_handlers): Add placeholder for
46004         x_set_inhibit_double_buffering.
46006         * src/termhooks.h (struct terminal): Add
46007         buffer_flipping_unblocked_hook.
46009         * src/nsfns.m (ns_frame_parm_handlers): Add placeholder for
46010         x_set_inhibit_double_buffering.
46012         * src/image.c (x_create_bitmap_from_data)
46013         (x_create_bitmap_from_file, x_create_x_image_and_pixmap)
46014         (Create_Pixmap_From_Bitmap_Data)
46015         (x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use
46016         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
46017         variables appropriately.
46019         * src/gtkutil.c: Include Xdbe.h.
46020         (xg_get_widget_from_map): Forward declare.
46021         (xg_clear_under_internal_border): Remove obsolete calls to
46022         refresh scroll bars.
46023         (xg_create_frame_widgets): Call initial_set_up_x_back_buffer.
46024         (xg_free_frame_widgets): Call tear_down_x_back_buffer; reset
46025         FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the
46026         same reason.
46027         (xg_set_background_color): Set scroll bar background colors.
46028         (xg_finish_scroll_bar_creation): New function with common
46029         logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force
46030         scroll bars to be real X11 windows.
46031         (xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call
46032         xg_finish_scroll_bar_creation.
46033         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
46034         Remove obsolete calls to refresh scroll bars; fix comments.
46036         * src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap,
46037         (ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of
46038         FRAME_X_WINDOW.
46040         * src/frame.c (frame_parms): Add table entry for new
46041         `inhibit-double-buffering' frame parameter
46042         (syms_of_frame): Register Qinhibit_double_buffering.
46044         * src/font.h (struct font_driver): Add new `flush_frame_caches' hook.
46045         (font_drop_xrender_surfaces): Declare.
46047         * src/font.c (font_drop_xrender_surfaces): New function.
46049         * src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute.
46051         * etc/NEWS: Mention use of double buffering
46053         * doc/lispref/frames.texi (Management Parameters): Document
46054         `inhibit-double-buffering' frame parameters.
46055         (Visibility of Frames): Document `x-double-buffered-p'.
46057         * configure.ac: Check for the X double buffer extension
46059 2016-10-28  Michael Albinus  <michael.albinus@gmx.de>
46061         Improve result of `auth-source-search' in Tramp
46063         * lisp/net/tramp.el (tramp-read-passwd): Require :secret and
46064         :user in result of `auth-source-search'.
46066 2016-10-27  Mark Oteiza  <mvoteiza@udel.edu>
46068         Fix avl-tree alias docstrings
46070         * lisp/emacs-lisp/avl-tree.el (avl-tree--node-branch):
46071         (avl-tree-stack-p, avl-tree-create):
46072         (avl-tree-compare-function): Add calling convention to docstrings.
46074 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
46076         Update from gnulib
46078         This incorporates:
46079         2016-10-16 qsort_r: Fix macrology for platforms that lack the function.
46080         2016-10-13 stdint: port SIZE_MAX to glibc s390
46081         2016-10-11 maint: remove stray space after "." in AC_DEFINE comment.
46082         * lib/gnulib.mk: Regenerate.
46083         * lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4:
46084         * m4/utimes.m4: Copy from gnulib.
46086 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
46088         electric-quote-chars fixups
46090         * lisp/electric.el (electric-quote-chars): Check types and safety
46091         more carefully.
46092         (electric-quote-post-self-insert-function): Use more-mnemonic locals.
46093         Omit no-longer-necessary runtime error diagnostic.
46095 2016-10-27  Göktuğ Kayaalp  <self@gkayaalp.com>
46097         New user variable 'electric-quote-chars'
46099         * doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
46100         * lisp/electric.el (electric-quote-chars): New defcustom.
46101         (electric-quote-post-self-insert-function): Use it.
46103 2016-10-27  Tino Calancha  <tino.calancha@gmail.com>
46105         Add more tests for Bug#24627
46107         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627):
46108         Add tests for 'list-at-point'.
46110 2016-10-26  Filipp Gunbin  <fgunbin@fastmail.fm>
46112         * lisp/shell.el (shell--unquote&requote-argument): Match data misuse
46114         * lisp/shell.el (shell--unquote&requote-argument): Fix
46115         off-by-one thinko.  Don't use match data after a failed string-match.
46117 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
46119         * src/xwidget.c (webkit_js_to_lisp): Now static.
46121 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
46123         xwidget: Map "previous-line" and "next-line" to scroll
46125         * lisp/xwidget.el: Map "previous-line" and "next-line" to scrolling
46126         procedures.
46128 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
46130         xwidget: Bind "beginning-of-buffer" and "end-of-buffer"
46132         * lisp/xwidget.el: Rebind "beginning-of-buffer" and "end-of-buffer" to
46133         "xwidget-webkit-scroll-top" and "xwidget-webkit-scroll-bottom",
46134         respectively.
46135         (xwidget-webkit-scroll-top,
46136         xwidget-webkit-scroll-bottom): New procedures.
46138 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
46140         Implement zoom for WebKit widget.
46142         * src/xwidget.c (xwidget-webkit-zoom): New procedure.
46143         * lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively.
46144         (xwidget-webkit-zoom): Declare procedure.
46145         (xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures.
46147 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
46149         Dynamically resize WebKit widget.
46151         * lisp/xwidget.el (xwidget-webkit-auto-adjust-size,
46152         xwidget-webkit-adjust-size-in-frame): New procedures.
46153         (xwidget-webkit-new-session): Remove hint to resize widget with `a'.
46154         (xwidget-webkit-adjust-size-dispatch): Resize current webkit widget.
46155         (xwidget-webkit-adjust-size-to-window): Make non-interactive,
46156         add widget and window as arguments.
46157         (xwidget-webkit-callback): Use xwidget-webkit-adjust-size-to-window.
46159 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
46161         Let initial WebKit view fill window
46163         * lisp/xwidget.el (xwidget-webkit-new-session): Change default size of
46164         WebKit widget to window size.
46166 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
46168         xwidget: Remove title hack.
46170         * src/xwidget.c (xwidget-webkit-get-title): Remove procedure.
46171         * lisp/xwidget.el (xwidget-webkit-get-title,
46172         xwidget-webkit-execute-script-rv): Remove procedures.
46174 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
46176         xwidget: Get URL asynchronously.
46178         * lisp/xwidget.el (xwidget-webkit-current-url): Kill URL in callback.
46180 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
46182         xwidget: Get selection with asynchronous JavaScript
46184         * lisp/xwidget.el (xwidget-webkit-get-selection): Add PROC argument to
46185         process selection.
46186         (xwidget-webkit-copy-selection-as-kill): Kill selection in callback.
46188 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
46190         xwidget: Add function to find element by CSS selector
46192         * lisp/xwidget.el (xwidget-webkit-show-element): New procedure.
46194 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
46196         xwidget: Simplify functions to scroll to elements
46198         * lisp/xwidget.el (xwidget-webkit-show-named-element,
46199         xwidget-webkit-show-id-element,
46200         xwidget-webkit-show-id-or-named-element): Simplify functions by
46201         scrolling exclusively with JavaScript.
46203 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
46205         xwidget: Get title via asynchronous JavaScript.
46207         * lisp/xwidget.el (xwidget-webkit-callback): Get document title
46208         asynchronously.
46210 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
46212         xwidget: Do not use `xwidget-execute-script-rv' to insert string
46214         * lisp/xwidget.el (xwidget-webkit-insert-string): Obtain JavaScript
46215         return value via callback instead of using
46216         `xwidget-webkit-execute-script-rv'.
46218 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
46220         Remove scrolled window container around WebKit widget
46222         The WebKit widget can scroll on its own and does not need to wrapped
46223         with a scrolled window container.
46225         * src/xwidget.h: Remove struct member widgetscrolledwindow_osr.
46226         * src/xwidget.c: Remove widgetscrolledwindow_osr.
46227         (xwidget-set-adjustment): Remove.
46228         (xwidget-resize): Resize Webkit widget last.
46229         * lisp/xwidget.el (xwidget-set-adjustment): Remove.
46230         (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down,
46231         xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
46232         Implement scrolling via JavaScript.
46234 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
46236         xwidget: Pass JavaScript return value to optional callback procedure
46238         * lisp/xwidget.el (xwidget-webkit-execute-script): Accept optional
46239         callback argument.
46240         (xwidget-webkit-callback): Handle "javascript-callback" event type.
46241         * src/xwidget.c (xwidget-webkit-execute-script): Accept optional
46242         argument FUN, a Lisp procedure to execute on the JavaScript return
46243         value.
46244         (store_xwidget_js_callback_event, webkit_javascript_finished_cb,
46245         webkit_js_to_lisp): New procedures.
46247 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
46249         xwidget: Use WebKit2 API
46251         * configure.ac: Check for webkit2gtk-4.0.
46252         * src/xwidget.c: Adjust to use WebKit2 API.
46253         * lisp/xwidget.el (xwidget-webkit-callback): Adjust matches for
46254         `xwidget-event-type'.
46256 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
46258         Merge from origin/emacs-25
46260         4c3f738 Comment for bug#24793
46262 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
46264         Merge from origin/emacs-25
46266         96ac0c3 Yet another fix for using pointers into buffer text
46267         1047496 Another fix for using pointer to buffer text
46268         3121992 Fix Bug#24478
46270 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
46272         Merge from origin/emacs-25
46274         ee04aed Fix handling of buffer relocation in regex.c functions
46275         71ca4f6 Avoid relocating buffers while libxml2 reads its text
46276         1b3fc8a ; Remove redundant code in gmalloc.c
46277         9afea93 Attempt to catch reads from a buffer that is relocated
46279 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
46281         Minor fix in the documentation of seq-random-elt
46283         * doc/lispref/sequences.texi (Sequence Functions): Remove false
46284           sentence.
46286 2016-10-25  Eli Zaretskii  <eliz@gnu.org>
46288         Minor copyedits in documentation of 'seq-random-elt'
46290         * doc/lispref/sequences.texi (Sequence Functions): Fix markup in
46291         last change.  Use 2 spaces between sentences.
46293 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
46295         * lisp/emacs-lisp/seq.el (seq-random-elt): Fix docstring.
46297 2016-10-25  Damien Cassou  <damien@cassou.me>
46299         Add seq-random-elt to seq.el
46301         * lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a
46302           random element from it's sequence parameter.
46304         * test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all
46305           test-seq-random-elt-return-nil): Test the new function
46307         * doc/lispref/sequences.texi: Document the new function
46309 2016-10-24  Ken Brown  <kbrown@cornell.edu>
46311         * configure.ac: Stop using mmap for buffers on Cygwin.
46313 2016-10-24  Nicolas Petton  <nicolas@petton.fr>
46315         * lisp/emacs-lisp/seq.el (seq-let): Fix debug spec (Bug#24738)
46317 2016-10-24  Karl Chen  <Karl.Chen@quarl.org>
46319         Don't prompt user when killing Flymake processes
46321         * lisp/progmodes/flymake.el (flymake-start-syntax-check-process):
46322         Don’t prompt the user when killing Flymake processes.
46324         * doc/misc/flymake.texi (Starting the syntax check process):
46325         Document new behavior.
46327 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
46329         * src/regex.c (re_search_2): Use UNINIT, not IF_LINT.
46331         This finishes the merge of the recent emacs-25 regex changes into
46332         master.
46334 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
46336         Merge from origin/emacs-25
46338         50fa7d6 ;* src/w32heap.c: Fix typo and wording of the comments.
46339         6f1325e electric-quote mode no longer worries about coding
46340         c2a1792 * src/regex.c (re_search_2): Make new code safe for -Wjump-mi...
46341         f6134bb Port to GCC 6.2.1 + --enable-gcc-warnings
46342         b2ba630 Explain how to debug emacsclient lisp errors
46343         9da53e2 Let describe-function work for lambda again
46344         5c2da93 Fix kill-line's docstring
46345         ad66b3f Fix handling of allocation in regex matching
46346         5a26c9b * lisp/electric.el (electric-quote-mode): Improve doc (Bug#24...
46347         3877c91 vc-region-history: Search just on lines intersecting the region
46348         8988327 Fix documentation of 'alist-get'
46349         b6998ea * src/regex.h (re_match_object): Improve commentary.
46351         # Conflicts:
46352         #       etc/NEWS
46353         #       lisp/help-fns.el
46355 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
46357         Merge from origin/emacs-25
46359         8ad0d7d ; Fix quoting in etc/NEWS
46360         6b9dee1 Change Tramp version to "2.2.13.25.2"
46361         62f2684 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): F...
46362         b2f32e4 Don't scan compiled module files for autoloads
46363         9a758b4 Fix Bug#24698
46364         baa8ba4 * lisp/subr.el (start-process): Doc fix.  (Bug#24693)
46365         e535ca4 Fix display of vc-dir CVS file statuses in subdirectories
46366         12da149 Update URL of MS-Windows optional DLLs
46367         2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
46368         a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)...
46369         b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f...
46370         cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (B...
46372         # Conflicts:
46373         #       doc/misc/trampver.texi
46374         #       etc/NEWS
46375         #       lisp/net/tramp-sh.el
46376         #       lisp/net/trampver.el
46378 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
46380         Merge from origin/emacs-25
46382         b73f466 * lisp/cus-start.el (exec-path): Handle nil elements.  (Bug#2...
46383         55ebb70 Catch the imenu-unavailable error in sh-mode completion table
46384         993acb5 ; Minor fix for last change in characters.el
46385         30c4bb5 More char-width fixes
46386         4eb4463 Fix char-width-table values for some Emoji
46387         528997d Keep point when switching from and to *terminal* buffer
46388         2130005 * INSTALL: Use correct Emacs release number 25.
46389         10835b1 Avoid crashes due to objects read with the #n=object form
46390         4de671d Improve doc string of 'completion-at-point-functions'
46391         ceb46f0 Fix crash in evaluating functions
46392         d8374c4 * src/filelock.c (current_lock_owner): Update comment.
46394 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
46396         Merge from origin/emacs-25
46398         2deb20c Port last_marked change to full-program optimizers
46399         27eb668 Adapt GDB scripts to '--enable-check-lisp-object-type' builds
46400         dac64e3 Avoid optimizing out the last_marked[] array
46402 2016-10-22  Noam Postavsky  <npostavs@gmail.com>
46404         Avoid infinite hscrolling in redisplay
46406         * src/xdisp.c (redisplay_internal): Add a counter to avoid horizontal
46407         scrolling (e.g., caused by pre-redisplay-functions) triggering infinite
46408         redisplay (Bug #24633).
46410 2016-10-22  Michael Albinus  <michael.albinus@gmx.de>
46412         Fix error codes in Tramp
46414         * lisp/net/tramp-compat.el (tramp-compat-user-error): New defsubst,
46415         taken from tramp.el.
46416         (tramp-file-missing): New defconst.
46418         * lisp/net/tramp.el (tramp-user-error): Remove it.
46419         (tramp-check-proper-method-and-host)
46420         (tramp-dissect-file-name, tramp-debug-message)
46421         (tramp-handle-shell-command):
46422         * lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
46423         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
46424         Use `tramp-compat-user-error'.
46426         * lisp/net/tramp.el (tramp-handle-insert-file-contents)
46427         (tramp-handle-load):
46428         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
46429         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy)
46430         * lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
46431         * lisp/net/tramp-smb.el (tramp-smb-handle-file-local-copy):
46432         Use `tramp-file-missing'.  (Bug#24714)
46434         * lisp/net/tramp-sh.el (tramp-sh-handle-add-name-to-file):
46435         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
46436         Use `file-already-exists'.
46438 2016-10-22  Jorgen Schaefer  <contact@jorgenschaefer.de>
46440         Autoload all commands from misc.el
46442         Only two of the commands there were autoloaded, one of which is an
46443         easter egg.
46444         * lisp/misc.el (copy-from-above-command):
46445         * lisp/misc.el (zap-up-to-char):
46446         * lisp/misc.el (mark-beginning-of-buffer):
46447         * lisp/misc.el (mark-end-of-buffer):
46448         * lisp/misc.el (upcase-char):
46449         * lisp/misc.el (forward-to-word):
46450         * lisp/misc.el (backward-to-word):
46451         Add autoload cookie.
46453 2016-10-22  Martin Rudalics  <rudalics@gmx.at>
46455         On terminal frames ignore minibuffer frame parameter (Bug#24758)
46457         * src/frame.c (Fmake_terminal_frame): Don't complain when the
46458         caller asks for a deviant minibuffer setting (Bug#24758).
46460 2016-10-21  Paul Eggert  <eggert@cs.ucla.edu>
46462         New error file-missing
46464         This fixes a recently-introduced bug in delete-directory,
46465         where the code assumes the C locale when determining
46466         whether a file-error corresponds to a missing file (Bug#24714).
46467         * doc/lispref/errors.texi (Standard Errors):
46468         * doc/lispref/files.texi (Changing Files):
46469         * etc/NEWS:
46470         Document this.
46471         * doc/lispref/loading.texi (How Programs Do Loading):
46472         Say "a file-error" rather than "the error file-error" since
46473         it might be a file-missing now.
46474         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
46475         * lisp/epa-file.el (epa-file--find-file-not-found-function):
46476         (epa-file-insert-file-contents, epa-file-write-region):
46477         * lisp/ffap.el (find-file-at-point, dired-at-point):
46478         * lisp/jka-compr.el (jka-compr-insert-file-contents)
46479         (jka-compr-insert-file-contents):
46480         * lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
46481         (ange-ftp-insert-file-contents, ange-ftp-copy-file-internal):
46482         * lisp/progmodes/etags.el (visit-tags-table):
46483         * lisp/url/url-handlers.el (url-copy-file):
46484         * src/fileio.c (report_file_errno):
46485         Signal file-missing if appropriate.
46486         * lisp/epa-file.el (epa-file-insert-file-contents):
46487         * lisp/jka-compr.el (jka-compr-insert-file-contents):
46488         Don't assume file-error is a leaf in the error hierarchy.
46489         * lisp/files.el (files--force):
46490         * lisp/gnus/nnmaildir.el (nnmaildir--enoent-p):
46491         * lisp/jka-compr.el (jka-compr-insert-file-contents):
46492         Use file-missing to detect whether the file is missing.
46493         * lisp/url/url-handlers.el (url-copy-file):
46494         Signal file-already-exists if appropriate.
46495         * src/fileio.c (syms_of_fileio): Define file-missing.
46497         2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
46499 2016-10-21  Mark Oteiza  <mvoteiza@udel.edu>
46501         Teach browse-url to open man page urls
46503         * lisp/net/browse-url.el (browse-url-man-function): New custom option.
46504         (browse-url): Add a condition to catch links matching "^man:".
46505         (browse-url-man): New function.
46507 2016-10-21  Eli Zaretskii  <eliz@gnu.org>
46509         Improve fontification of footnote references in Info buffers
46511         * lisp/info.el (Info-fontify-node): Don't fontify random numbers
46512         in parentheses as if they were footnote references.  See
46513         https://lists.gnu.org/r/bug-texinfo/2016-10/msg00007.html
46514         for the details.
46516 2016-10-20  Philipp Stephani  <phst@google.com>
46518         Minor fixes to cc-mode-tests.el
46520         See Bug#24747.
46522         * test/lisp/progmodes/cc-mode-tests.el: Rename from cc-mode.el; fix typo in
46523         file-local variable; add comments to make checkdoc happy.
46525 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
46527         * etc/NEWS: Fix typos.  Remove entries backported to Emacs 25.2.
46529 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
46531         Document, how to suppress iTerm2 shell integration in Tramp
46533         * doc/misc/tramp.texi (Frequently Asked Questions):
46534         Suppress iTerm2 shell integration.
46536 2016-10-20  Tino Calancha  <tino.calancha@gmail.com>
46538         cl-seq: Remove max limit on input sequence length
46540         * lisp/emacs-lisp/cl-seq.el (cl-fill, cl-replace, cl-delete)
46541         (cl--position, cl-nsubstitute, cl-substitute, cl-remove):
46542         Remove limit on maximum length for the input sequence
46543         (#Bug24264).
46544         * test/lisp/emacs-lisp/cl-seq-tests.el: Update test expected result as passed.
46546 2016-10-19  Mark Oteiza  <mvoteiza@udel.edu>
46548         Derive dig-mode from special-mode
46550         * lisp/net/dig.el: Remove unused cl dependency.  Remove top level
46551         mode-class assignment.
46552         (dig-mode-map): Unmap g, as dig has no notion of reverting the buffer.
46553         (dig-mode): Derive from special-mode.
46554         (dig-exit): Use quit-window instead.
46555         (dig): Use pop-to-buffer-same-window.  Remove redundant assignments.
46556         (query-dig): Use pop-to-buffer-same-window.
46558 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
46560         cl-defstruct: Fix debug spec and check of slot options
46562         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Improve checking of slot
46563         option syntax.  Fix debug spec.  (Bug#24700)
46565 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
46567         isearch: Fix bug in defstruct syntax
46569         * lisp/isearch.el (isearch--state): Use correct form of defstruct slot
46570         options.  (Bug#24685)
46572 2016-10-18  Mark Oteiza  <mvoteiza@udel.edu>
46574         Add an option for eshell-input-filter
46576         * etc/NEWS: Document changes.
46577         * lisp/eshell/em-hist.el (eshell-input-filter): Set value to function
46578         symbol.  Change type to a radio for choosing functions.  Refer to both
46579         new functions.
46580         (eshell-input-filter-default): New function.  Same body as the previous
46581         value of eshell-input-filter.
46582         (eshell-input-filter-initial-space): New function.
46584 2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
46586         delete-directory no longer errors when racing
46588         Problem reported by Glenn Morris for package-test.el (Bug#24714).
46589         * doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this.
46590         * lisp/files.el (files--force): New function.
46591         (delete-directory): Use it to avoid error in this case.
46593 2016-10-17  Yuri Khan  <yuri.v.khan@gmail.com>  (tiny change)
46595         Support Shift selection in nxml-mode commands
46597         * lisp/nxml/nxml-mode.el (nxml-forward-balanced-item)
46598         (nxml-up-element, nxml-backward-up-element, nxml-down-element)
46599         (nxml-backward-down-element, nxml-forward-element)
46600         (nxml-backward-element, nxml-forward-paragraph)
46601         (nxml-backward-paragraph): Use "^p" as the interactive spec, to
46602         support shift-selection.
46604 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
46606         Simplify some loops and cons
46608         * lisp/net/mailcap.el: Replace cl with cl-lib.
46609         (mailcap--get-user-mime-data, mailcap--set-user-mime-data):
46610         (mailcap-parse-mailcaps, mailcap-parse-mailcap-extras):
46611         (mailcap-possible-viewers): Use push and dolist where possible.
46612         (mailcap-viewer-passes-test): Remove unused binding.
46613         (mailcap-add-mailcap-entry): Use push.
46614         (mailcap-mime-info): Remove unused binding.  Use push.
46615         (mailcap-parse-mimetypes): Use dolist.
46617 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
46619         Turn on lexical-binding in auth-source
46621         * lisp/auth-source.el: Turn on lexical-binding.
46622         (auth-source-netrc-parse, auth-source-netrc-normalize):
46623         (auth-source-token-passphrase-callback-function):
46624         (auth-source-netrc-create, auth-source-secrets-search):
46625         (auth-source-macos-keychain-search-items):
46626         (auth-source-plstore-search): Use let instead of lexical-let.
46628 2016-10-17  Martin Rudalics  <rudalics@gmx.at>
46630         Fix frame focus redirection with shared minibuffer windows (Bug#24500)
46632         * src/frame.c (do_switch_frame): Redirect frame focus also when
46633         the frame switched to has its minibuffer window on the selected
46634         frame.
46635         * src/window.c (candidate_window_p): To qualify as candidate
46636         it's not sufficient for the window's frame to just share the
46637         minibuffer window - it must be active as well.
46639 2016-10-17  Eli Zaretskii  <eliz@gnu.org>
46641         Fix time-related data types in 2 editfns.c functions
46643         * src/editfns.c (format_time_string, Fcurrent_time_zone): Pass a
46644         pointer to 'time_t' value to 'emacs_localtime_rz' and 'gmtime_r',
46645         instead of relying on struct timespec's 'tv_sec' member to be of
46646         compatible type.
46648 2016-10-16  Martin Rudalics  <rudalics@gmx.at>
46650         Document atomic windows in Elisp manual (Bug#18170)
46652         * lisp/window.el (display-buffer-in-atom-window): If no `side'
46653         alist entry was specified, use `below' as the doc tells.
46654         * doc/lispref/elisp.texi (Atomic Windows): Add menu entry.
46655         * doc/lispref/windows.texi (Atomic Windows): New section.
46656         (Window Parameters): Update reference.
46658 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
46660         New face homoglyph
46662         Suggested by Eli Zaretskii, from a feature request by
46663         Alan Mackenzie (Bug#24468).
46664         * doc/emacs/display.texi (Standard Faces, Text Display):
46665         * etc/NEWS: Document this.
46666         * etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el:
46667         * etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el:
46668         * etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el:
46669         * etc/themes/wombat-theme.el:
46670         Customize homoglyph to be the same as escape-glyph.
46671         * lisp/cus-theme.el (custom-theme--listed-faces):
46672         Add homoglyph.
46673         * lisp/faces.el (homoglyph): New face.
46674         * lisp/startup.el (startup--setup-quote-display): Use it.
46676 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
46678         Port to Ubuntu 16.10, which needs gcc -nopie
46680         * configure.ac (emacs_cv_prog_cc_no_pie): Rename from
46681         emacs_cv_prog_cc_nopie.  All usages changed.  Check for -no-pie in
46682         preference to -nopie (Bug#24682).
46684 2016-10-16  Michael Albinus  <michael.albinus@gmx.de>
46686         Fix bug#24665 in Tramp
46688         * doc/misc/tramp.texi (External methods): Do not confuse
46689         method names.  (Bug#24665)
46691 2016-10-15  Sam Steingold  <sds@gnu.org>
46693         use full time objects (lists) instead of floats when possible
46695         * lisp/midnight.el (midnight-buffer-display-time): Remove
46696         (clean-buffer-list): Use float time only for time comparison
46698 2016-10-15  Sam Steingold  <sds@gnu.org>
46700         Save and restore buffer-display-time
46702         * lisp/desktop.el (desktop-locals-to-save): Add `buffer-display-time'
46703         (desktop-read): Set `desktop-file-modtime' before loading the desktop file
46704         (desktop-create-buffer): Adjust `buffer-display-time' for the downtime
46706 2016-10-15  Philipp Stephani  <phst@google.com>
46708         Disable bracketed paste in a terminal in char mode
46710         In char mode, a terminal doesn't accept bracketed paste events,
46711         therefore we should disable them; see Bug#24639.  To decouple the XTerm
46712         management from term.el, introduce a per-buffer setting to disable
46713         bracketed paste for that buffer.  If bracketed paste is inhiited for at
46714         least one buffer in a terminal, it is disabled for the whole terminal.
46716         * lisp/term/xterm.el (xterm-inhibit-bracketed-paste-mode): New mode to
46717         inhibit XTerm bracketed paste per buffer.
46718         (xterm--buffer-terminals, xterm--update-bracketed-paste)
46719         (xterm--bracketed-paste-possible, xterm--is-xterm): New helper
46720         functions.
46721         (xterm--init-bracketed-paste-mode): Remove unused helper
46722         function.
46723         (terminal-init-xterm): Update bracketed paste status when
46724         initializing an XTerm and on window configuration change.
46726         * lisp/term.el (term-char-mode, term-line-mode): Inhibit XTerm
46727         bracketed paste in char mode.
46729 2016-10-15  Dima Kogan  <dima@secretsauce.net>
46731         Undo the effect of CapsLock when other modifiers are present
46733         * src/keyboard.c (make_lispy_event): Effectively undo the effect
46734         of CapsLock if any modifiers other than Shift are present in a key.
46735         (Bug#24456)
46737 2016-10-15  Simen Heggestøyl  <simenheg@gmail.com>
46739         Add tests for foreign completions in CSS mode
46741         * test/lisp/textmodes/css-mode-tests.el
46742         (css-test-foreign-completions): New test for
46743         `css--foreign-completions'.
46744         (css-test-complete-selector-tag): Rename test.
46745         (css-test-complete-selector-class): New test testing completion of
46746         class names in selectors.
46747         (css-test-complete-selector-id): New test testing completion of IDs in
46748         selectors.
46750 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
46752         Cosmetic change to last mm-url change
46754         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
46755         Tweak last change slightly for more readability.
46757 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
46759         Fix problem with submitting binary data via HTTP forms
46761         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
46762         Document the parameters, clean up the code, and make uploading
46763         binary data really work (which it didn't if the binary bits
46764         were in the last part of the data).
46766 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
46768         * lisp/time.el (display-time-string-forms): Fix custom type.
46770 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
46772         Derive Man and WoMan modes from special-mode
46774         * lisp/man.el (Man-mode-map): Set parent to map composed from both
46775         button-buffer-map and special-mode-map.  Remove redundant bindings.
46776         Fix menu to refer to the quit-window command.
46777         (Man-mode): Derive from special-mode.  Fix docstring.  Remove redundant
46778         buffer-read-only binding.
46779         (Man-quit): Remove.
46780         * lisp/woman.el (woman-really-find-file): Use setq-local.
46781         (woman-mode-map): Refer to woman-mode in docstring.
46782         (woman-mode): Derive from special-mode.  Document woman-mode-map in
46783         docstring.  Use setq-local where possible; imenu-generic-expression is
46784         already buffer-local.
46785         (woman-negative-vertical-space): Replace unused binding with _.
46787 2016-10-13  Philipp Stephani  <phst@google.com>
46789         Fix crash in evaluating functions
46791         See Bug#24673
46793         * src/eval.c (funcall_lambda): Fix crash for bogus functions such
46794         as (closure).
46796         * test/src/eval-tests.el (eval-tests--bug24673): Add test.
46798 2016-10-13  Tino Calancha  <tino.calancha@gmail.com>
46800         Add test for Bug#24627
46802         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): New test.
46804 2016-10-12  Eli Zaretskii  <eliz@gnu.org>
46806         * lib-src/etags.c (invalidate_nodes): Remove a redundant nullp test.
46808 2016-10-11  Paul Eggert  <eggert@cs.ucla.edu>
46810         Work around Samba bug with ':' in symlink contents
46812         * src/filelock.c (current_lock_owner): When reading the contents
46813         of a lock, treat the UTF-8 for U+F022 as if it were ':' (Bug#24656).
46815 2016-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
46817         If autoloads buffer is unchanged, mark it as such (bug#23692)
46819         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
46820         If autoloads buffer is unchanged, mark it as such (bug#23692).
46822 2016-10-11  Michael Albinus  <michael.albinus@gmx.de>
46824         Use "26.1" version string in Tramp, fix some comments
46826         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
46827         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
46828         Use "26.1" version string.
46830 2016-10-10  Tino Calancha  <tino.calancha@gmail.com>
46832         form-at-point work for all kind of THINGS
46834         * lisp/thingatpt.el (form-at-point):
46835         Use thing-at-point--read-from-whole-string only if thing-at-point
46836         returns a string (Bug#24605).
46838 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
46840         Fix compilation warnings on MS-Windows
46842         * src/w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Remove
46843         definitions of these macros, which seem to be unneeded and cause
46844         compiler warnings.
46845         * src/fileio.c (NOMINMAX): Avoid compiler warnings about unused
46846         macros.
46847         * src/firstfile.c (dummy_main_reference): Rename from 'dummy' and
46848         make it external, to avoid compiler warning.
46850 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46852         Spelling and clarity fixes
46854 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46856         Merge from origin/emacs-25
46858         4f406e9 CC Mode manual: remove reference to former Emacs variable las...
46859         44e402e Allow to disable compaction of font caches
46860         4ff4b66 Allow selection of font for symbols as in Emacs 24.x
46861         c03d44b ; Fix last commit
46862         d4be4f3 ; Fix indexing in lispref manual
46863         ed399f2 ; Minor improvement in documentation of generators
46864         197a6bc Fix horizontal scrolling during Isearch
46865         3566644 Fix infloop in redisplay due to truncated lines and invisible...
46867         # Conflicts:
46868         #       etc/NEWS
46870 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46872         Merge from origin/emacs-25
46874         c4a5e7e Improve documentation of 'menu-bar-open'
46876 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46878         Merge from origin/emacs-25
46880         4b347fe Clarify that doc fixes are okay in feature freeze
46881         01669ad Avoid crashes when setting the cursor
46882         f2144ee Restore 'command-debug-status' functionality
46883         ec6e4b9 ; Minor addition to CONTRIBUTE
46885 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46887         Merge from origin/emacs-25
46889         74b4f13 Document nil args of compare-buffer-substrings
46890         9fc81bc * doc/misc/message.texi (Bcc Warning): Fix markup.
46891         95baa25 * doc/misc/message.texi (Bcc Warning): Document mml-secure-sa...
46893 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46895         Merge from origin/emacs-25
46897         f1247f0 * lisp/frame.el (blink-cursor-delay): Doc fix.  (Bug#24372)
46898         ace7f14 * lisp/gnus/gnus-art.el (gnus-button-handle-library): Fix typo.
46899         bbf1ffd Regexp Functions doc minor fixes
46901 2016-10-08  Philipp Stephani  <phst@google.com>
46903         Don’t consider nested let-alist forms
46905         See Bug#24641.
46907         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Don’t
46908         consider symbols in nested ‘let-alist’ forms.
46910         * test/lisp/emacs-lisp/let-alist-tests.el
46911         (let-alist--deep-dot-search--nested): Add a unit test.
46913 2016-10-08  Alain Schneble  <a.s@realize.ch>
46915         Support SIGTRAP in kill emulation on Windows
46917         * src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to
46918         'DebugBreakProcess' to cause a breakpoint exception to occur in the
46919         specified process.  On Windows versions prior to Windows XP that do
46920         not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP
46921         (as opposed to EINVAL before this change).
46922         * src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer
46923         and global variable to track state of run-time dynamic linking of this
46924         function.
46926         * etc/NEWS: Add entry to document that 'signal-process' now supports
46927         SIGTRAP.
46929 2016-10-08  Eli Zaretskii  <eliz@gnu.org>
46931         Deprecate 'wp' group and introduce a new group 'text'
46933         * lisp/textmodes/tildify.el (tildify):
46934         * lisp/textmodes/text-mode.el (text-mode-hook):
46935         * lisp/textmodes/table.el (table):
46936         * lisp/textmodes/rst.el (rst):
46937         * lisp/textmodes/refer.el (refer):
46938         * lisp/textmodes/refbib.el (refbib):
46939         * lisp/textmodes/picture.el (picture):
46940         * lisp/textmodes/nroff-mode.el (nroff):
46941         * lisp/textmodes/enriched.el (enriched):
46942         * lisp/textmodes/bib-mode.el (bib):
46943         * lisp/progmodes/ebnf2ps.el (ebnf2ps):
46944         * lisp/nxml/rng-valid.el (relax-ng):
46945         * lisp/view.el (view):
46946         * lisp/ps-print.el (ps-print):
46947         * lisp/printing.el (printing):
46948         * lisp/outline.el (outlines):
46949         * lisp/lpr.el (lpr):
46950         * lisp/delim-col.el (columns): Use 'text' group instead of 'wp'.
46951         * lisp/cus-edit.el (wp): Remove the "text" tag.
46952         (text): New defgroup, inherits from the deprecated 'wp'.
46953         (outlines): Remove, in favor of the definition in outline.el.
46954         (tex): Inherit from 'text'.
46955         Suggested by Drew Adams <drew.adams@oracle.com>.  (Bug#24549)
46957 2016-10-08  Laimonas Vėbra  <laimonas.vebra@yahoo.com>  (tiny change)
46959         Extend dictionary and library-directory handling for Ispell
46961         * lisp/textmodes/ispell.el (ispell-check-version): Allow
46962         overriding LIBDIR via the variable defined by LIBRARYVAR (usually
46963         ISPELL_DICTDIR).
46964         (ispell-valid-dictionary-list): If the -d option to Ispell
46965         specifies an absolute file name, use that regardless of
46966         ispell-library-directory.  (Bug#24439)
46968 2016-10-07  Tassilo Horn  <tsdh@gnu.org>
46970         Fix unescaped \begin{...} in docstring
46972         * lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib): Fix unescaped
46973         \begin{...} in docstring.
46975 2016-10-06  Noah Friedman  <friedman@splode.com>
46977         Update comment.
46979 2016-10-06  Eli Zaretskii  <eliz@gnu.org>
46981         Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2
46983         * nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
46984         defining to avoid redefinition warnings.
46986         * nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
46987         inclusion of sys/stat.h from the system headers, which could then
46988         lead to compilation errors due to redefinition of 'struct stat'
46989         etc.  This is needed because latest versions of MinGW runtime
46990         include sys/stat.h from wchar.h.
46992         * src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
46993         redefine to 4 to avoid conflict between 2 definitions of
46994         MemoryBarrier.  (Bug#24613)
46996 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
46998         * lisp/url/url-parse.el (url-generic-parse-url): Unquote macro URL argument.
47000 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
47002         Autoload entry point testcover-start
47004         * lisp/emacs-lisp/testcover.el: Add autoload cookie for
47005         testcover-start.
47007 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
47009         Bump version of ntlm.el to 2.1.0
47011         * lisp/net/ntlm.el: Bump version to 2.1.0.
47013 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
47015         lisp/net/ntlm.el: Fix comment and docstring formatting
47017 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
47019         lisp/net/ntlm.el: Match Mozilla Type 1 and 3 message behavior
47021         * lisp/net/ntlm.el (ntlm-build-auth-request): Only set
47022         "negotiate domain supplied" bit when a domain is supplied.  Do
47023         not set "negotiate workstation supplied" bit.
47024         (ntlm-build-auth-response): Set domain to empty string by
47025         default.  Set workstation name to "WORKSTATION".  Set flags to
47026         logical and of Type 1 and Type 2 message flags.  Remove four
47027         trailing 0 bytes.  Always set LM response.  Hard-code domain
47028         offset.  Reorder buffer fields.
47030 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
47032         Document return value of `display-buffer-in-side-window'
47034         * doc/lispref/windows.texi (Displaying Buffers in Side Windows):
47035         * lisp/window.el (display-buffer-in-side-window): Describe
47036         return value of `display-buffer-in-side-window'.
47038 2016-10-05  Eli Zaretskii  <eliz@gnu.org>
47040         Improve wording in side windows documentation
47042         * doc/lispref/windows.texi (Displaying Buffers in Side Windows)
47043         (Side Window Options and Functions)
47044         (Frame Layouts with Side Windows): Minor wording improvements.
47046 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
47048         Document and fix some bugs with side windows
47050         Add a documentation for side windows and fix some bugs
47051         found when testing their behavior.  Also add a new window
47052         parameter `no-delete-other-window', a new `display-buffer'
47053         alist member called `window-parameters', and functions to
47054         toggle and reverse side windows on a frame.  Add new function
47055         `window-swap-states' to exchange states of two live windows.
47057         * lisp/window.el (display-buffer-in-atom-window): Use
47058         `split-window-no-error'.
47059         (window-sides-vertical): Maybe change layouts when setting this
47060         variable.
47061         (window-sides-reversed): New option.
47062         (window-sides-slots): Rewrite doc-string and help echoes.
47063         (window-sides-shown): New buffer-local variable set when showing
47064         a buffer in a side window.
47065         (window--sides-inhibit-check): New variable.
47066         (window--sides-reverse-on-frame-p, window-toggle-side-windows)
47067         (window--sides-reverse-all, window--sides-reverse-frame)
47068         (window--sides-reverse-side, window--sides-reverse)
47069         (window--sides-verticalize-frame, window--sides-verticalize)
47070         (window--sides-check-failed): New functions.
47071         (window--side-window-p): Remove function.
47072         (window--major-non-side-window): Rename to `window-main-window',
47073         adjust callers, rewrite doc-string.
47074         (window--major-side-window): Rename to
47075         `window--make-major-side-window-next-to', adjust caller, fix
47076         doc-string.
47077         (display-buffer-in-major-side-window): Rename to
47078         `window--make-major-side-window', adjust
47079         caller, rewrite doc-string.  Make `window-side' and
47080         `window-slot' parameters persistent (Bug#23858).  Don't set
47081         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
47082         (delete-side-window): Remove function.
47083         (display-buffer-in-side-window): Fix doc-string.  Don't set
47084         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
47085         (window--side-check): Rename to window--sides-check.  Rewrite
47086         completely.  Adjust caller.
47087         (window-resize-no-error): Don't describe PIXELWISE argument.
47088         (adjust-window-trailing-edge): Fix bug that disallowed
47089         re-enlarging windows that were too small.
47090         (window-deletable-p): Don't tell that a minibuffer window on a
47091         non-minibuffer-only frame can be deleted.  Fix doc-string.
47092         (delete-window): Handle deleting a side window here (the
47093         `delete-window' parameter is no more set for side windows).
47094         (delete-other-windows): Handle ‘no-delete-other-window'
47095         parameter. Don't treat side windows separately (see discussion
47096         of Bug#24368) but keep optimization that makes the main window
47097         the root window of its frame.
47098         (switch-to-prev-buffer, switch-to-next-buffer): Handle side
47099         windows and buffers shown in side windows separately.
47100         (split-window-no-error): New function.
47101         (window--state-get-1): Use right buffer when storing window
47102         point and start positions and WRITABLE is nil (Bug#24368).
47103         (window--state-put-1): Fix handling of `window-combination-limit'.
47104         Use `split-window-no-error'.
47105         (window--state-put-2): Try to restore windows with preserved
47106         size to their original size.  Fix bug where a fixed window's width
47107         was not preserved.
47108         (window-state-put): When reducing an internal window to a live
47109         one, don't choose a side window.
47110         (window-swap-states): New function.
47111         (window-splittable-p): Don't call `window--side-window-p'.
47112         (window--display-buffer): Handle `window-parameters' ALIST entry.
47113         Minor rewrite.
47114         (display-buffer): Mention `window-parameters' entry in
47115         doc-string.
47116         (display-buffer-at-bottom): Call `split-window-no-error'.
47118         * doc/lispref/elisp.texi (Top): New section "Side Windows".
47119         * doc/lispref/windows.texi (Deleting Windows): Fix descriptions
47120         of `delete-window' and `delete-other-windows' wrt window
47121         parameters and side windows.
47122         (Display Action Functions): Mention `window-parameters' ALIST
47123         entry.
47124         (Side Windows): New section (Bug#18170).
47125         (Window Configurations): Describe new function `window-swap-states'.
47126         (Window Parameters): Say that functions may behave specially when
47127         their homonymous window parameter has been set.  Mention new
47128         parameter `no-delete-other-window'.  Add cross reference for
47129         `window-side' and `window-slot' parameters.
47131 2016-10-04  John Wiegley  <johnw@newartisans.com>
47133         Add documentation note from Alex
47135 2016-10-04  Mark Oteiza  <mvoteiza@udel.edu>
47137         Avoid dynamic binding on a symbol
47139         Instead, bind history in the default minibuffer-history.
47140         Fixes bug#24580.
47141         * lisp/replace.el (query-replace-read-from): Let-bind
47142         minibuffer-history.  Change read-regexp and read-from-minibuffer's
47143         HISTORY arguments to nil so that they use minibuffer-history.
47145 2016-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
47147         * src/fileio.c (Finsert_file_contents): Fix hook handling (bug#24340)
47149         * src/fileio.c (Finsert_file_contents): Run before-change-hooks before
47150         deleting the old buffer content.
47151         * src/lisp.h (del_range_byte):
47152         * src/insdel.c (del_range_byte): Drop the last argument.
47153         * src/fns.c (Fbase64_encode_region): Adjust accordingly.
47155 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
47157         Ibuffer: 'w' and 'B' default to buffer at current line
47159         See discussion in:
47160         https://lists.gnu.org/r/emacs-devel/2016-09/msg00384.html
47161         * lisp/ibuffer.el (ibuffer--near-buffers): New defun;
47162         return buffers near current line.
47163         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): Use it.
47164         Add argument ARG; if a non-zero integer, return next ARG buffers.
47165         Otherwise return the marked buffers.
47166         If there are not marked buffers, return buffer at current line
47167         without prompting the user.
47168         Use ibuffer-get-marked-buffers instead of ibuffer-map-marked-lines.
47169         Append to kill ring when last command was a kill-region.
47170         (ibuffer-copy-filename-as-kill): Idem.
47171         Simplify the code.
47172         Use ibuffer-buffer-file-name instead of buffer-file-name to
47173         include buffers in Dired mode.
47175 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
47177         dired-mark-extension: Unmark if called with C-u prefix
47179         See discussion in #Bug2518 and:
47180         https://lists.gnu.org/r/emacs-devel/2016-09/msg00711.html
47181         * lisp/dired-x.el (dired-mark-extension):
47182         Update interactive calls: a prefix arg C-u unmark files;
47183         a prefix C-u C-u prompt for MARKER-CHAR and mark files with it.
47184         (dired-mark-sexp):
47185         Show in the prompt that we are unmarking if called with a prefix argument.
47186         * doc/misc/dired-x.texi (Advanced Mark Commands):
47187         Update documentation for 'dired-mark-extension'.
47189 2016-10-02  Karl Fogel  <kfogel@red-bean.com>
47191         Document yank behavior in the right place
47193         * lisp/simple.el (yank): Document the handling of the
47194         `yank-handled-properties' and `yank-excluded-properties' variables,
47195         and the `yank-handler' text property.
47196         (yank-pop): Refer to `yank' now (bug#286)
47198         * lisp/subr.el (insert-for-yank): Refer to `yank' now.
47199         (insert-for-yank-1): Refer to `insert-for-yank' now.
47201         See this thread for discussion:
47203           https://lists.gnu.org/r/emacs-devel/2016-09/threads.html#00329
47204           From: Karl Fogel
47205           To: Emacs Devel
47206           Subject: Question about intended behavior of 'insert-for-yank-1'.
47207           Date: Mon, 12 Sep 2016 00:17:14 -0500
47208           Message-ID: <874m5lr92d.fsf@red-bean.com>
47210 2016-10-02  Philipp Stephani  <phst@google.com>
47212         Restart blink cursor timers on interval changes
47214         This prevents surprising behavior when timer interval customizations are
47215         only applied whenever the timers happen to be restarted (see Bug#24372).
47217         * lisp/frame.el (blink-cursor--start-idle-timer)
47218         (blink-cursor--start-timer): New functions.
47219         (blink-cursor-start, blink-cursor-check, blink-cursor-mode): Use
47220         the new helper functions.
47221         (blink-cursor-delay, blink-cursor-interval): Restart timers when
47222         the value is changed.
47224 2016-10-01  Philipp Stephani  <phst@google.com>
47226         Use a simple keyword for a non-nil argument
47228         The second argument of `run-with-idle-timer' is Boolean, i.e. only nil
47229         and non-nil values are distinguished.  Passing a number here is
47230         confusing.  Pass a descriptive symbol instead.
47232         * lisp/frame.el (blink-cursor-mode, blink-cursor-check): Use
47233         :repeat symbol instead of number for second argument of
47234         `run-with-idle-timer'
47236 2016-10-01  Philipp Stephani  <phst@google.com>
47238         Make querying to kill processes customizable
47240         Introduce a new customization option, `confirm-kill-processes', that
47241         users can set to nil if they don't want Emacs to nag them about killing
47242         processes.
47244         * lisp/files.el (confirm-kill-processes): New customization option.
47245         (save-buffers-kill-emacs): Use customization option.
47247         * test/lisp/files-tests.el
47248         (files-test--save-buffers-kill-emacs--confirm-kill-processes): Add
47249         test for new customization option.
47251         * doc/emacs/entering.texi (Exiting): Document new user option.
47253         * doc/lispref/processes.texi (Query Before Exit): Document new
47254         user option.
47256         * etc/NEWS: Document new user option.
47258 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
47260         Set :version of 'debugger-stack-frame-as-list'
47262         * lisp/cus-start.el (debugger-stack-frame-as-list): Give value to
47263         the ':version' attribute.
47265 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
47267         Bump Emacs version to 26.0.50
47269         * README:
47270         * configure.ac:
47271         * etc/NEWS:
47272         * etc/refcards/ru-refcard.tex:
47273         * msdos/sed2v2.inp:
47274         * src/msdos.c: Increment Emacs version to 26.0.50.
47275         * etc/NEWS.25: New file, copied from etc/NEWS with post-25.1 stuff
47276         moved to etc/NEWS.
47278 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
47280         Avoid compilation warning on MinGW
47282         * src/w32.c: Include string.h, needed for the prototype of
47283         'strerror', shadowed by 'sys_strerror'.  This avoids a compiler
47284         warning about "no previous prototype".  The string.h header
47285         must be included after ms-w32.h, but before "#undef strerror".
47287 2016-09-30  Alan Third  <alan@idiocy.org>
47289         Fix compatibility with macOS 10.12 pmset (bug#24537)
47291         * lisp/battery.el (battery-pmset): Recognize and ignore battery id if
47292         present in output.
47294 2016-09-30  Paul Eggert  <eggert@cs.ucla.edu>
47296         Limit <config.h>’s includes
47298         This follows up on recent problems with the fact that config.h
47299         includes stdlib.h etc.; some files need to include stdlib.h later.
47300         config.h generally should limit itself to includes that are
47301         universally safe; outside of MS-Windows, only stdbool.h makes
47302         the cut among the files currently included.  So, move the
47303         other includes to just the files that need them (Bug#24506).
47304         * configure.ac (config_opsysfile): Remove, as this generic hook
47305         is no longer needed.
47306         * lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
47307         * src/w32proc.c (_GNU_SOURCE):
47308         Remove, as it’s OK for config.h to do this now.
47309         * src/conf_post.h: Include <ms-w32.h>, instead of the generic
47310         config_opsysfile, for simplicity as this old way of configuring is
47311         now done only for the MS-Windows port.  Do not include <ms-w32.h>
47312         if DEFER_MS_W32_H, for the benefit of the few files that want its
47313         effects later.  Do not include <alloca.h>, <string.h>, or
47314         <stdlib.h>.  Other files modified to include these headers as
47315         needed, or to not include headers that are no longer needed.
47316         * src/lisp.h: Include <alloca.h> and <string.h> here, since
47317         some of the inline functions need them.
47318         * src/regex.c: Include <alloca.h> if not emacs.  (If emacs,
47319         we can rely on SAFE_ALLOCA.)  There is no longer any need to
47320         worry about HAVE_ALLOCA_H.
47321         * src/unexmacosx.c: Rely on config.h not including stdlib.h.
47322         * src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
47323         Define before including <config.h> first, and include <ms-w32.h>
47324         after the troublesome headers.
47326 2016-09-30  Vasilij Schneidermann  <v.schneidermann@gmail.com>
47328         New user option 'debugger-stack-frame-as-list'
47330         * src/eval.c (syms_of_eval) <debugger-stack-frame-as-list>: New
47331         variable.
47332         * lisp/cus-start.el (standard): Add debugger-stack-frame-as-list.
47333         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Adjust
47334         backtrace processing for the value of debugger-stack-frame-as-list.
47335         * lisp/emacs-lisp/edebug.el (edebug-backtrace): Adjust backtrace
47336         processing for the value of debugger-stack-frame-as-list.
47337         * doc/lispref/debugging.texi (Internals of Debugger): Document
47338         debugger-stack-frame-as-list.
47339         * etc/NEWS: Mention 'debugger-stack-frame-as-list'.
47341 2016-09-30  Aurelien Aptel  <aaptel@suse.com>
47343         * src/alloc.c: call only non-null finalizers
47345 2016-09-30  Eli Zaretskii  <eliz@gnu.org>
47347         Avoid compiler warnings in image.c on MS-Windows
47349         * src/image.c (DrawText, g_type_init) [WINDOWSNT]: Avoid compiler
47350         warning about unused macros.
47352 2016-09-30  Paul Rankin  <hello@paulwrankin.com>
47354         * lisp/outline.el (outline-invisible-p): Only return `t' for
47355         the 'outline property.
47357 2016-09-29  Paul Eggert  <eggert@cs.ucla.edu>
47359         Fix problems found by static checking --with-ns
47361         This is for Fedora 24 when configured with --enable-gcc-warnings.
47362         Although it does not fix all the problems, it fixes many of them.
47363         * src/frame.c (XParseGeometry):
47364         * src/nsterm.m (mouseDown:):
47365         Mark locals with UNINIT to pacify --enable-gcc-warnings.
47366         * src/image.c (PIX_MASK_DRAW, DefaultDepthOfScreen):
47367         Remove unused macros.
47368         (slurp_file xbm_scan, xbm_read_bitmap_data, xbm_load_image)
47369         (xbm_file_p, xbm_load, xpm_scan, xpm_make_color_table_v)
47370         (xpm_put_color_table_v, xpm_get_color_table_v)
47371         (xpm_make_color_table_h, xpm_put_color_table_h)
47372         (xpm_get_color_table_h, xpm_load_image, xpm_load)
47373         (pbm_next_char, pbm_scan_number, pbm_load, svg_load)
47374         (svg_load_image):
47375         * src/nsfns.m (x_get_string_resource):
47376         * src/nsimage.m (ns_image_from_XBM):
47377         Fix pointer signedness problems.
47378         * src/image.c (xpm_load_image, x_build_heuristic_mask, pbm_load)
47379         (imagemagick_load_image): Omit unused locals.
47380         * src/nsfns.m (ns_send_types, ns_return_types, ns_drag_types)
47381         (Fx_open_connection):
47382         * src/nsfont.m (ns_antialias_threshold):
47383         Move extern decl to nsterm.h so it can be checked.
47384         * src/nsmenu.m (svcsMenu, dockMenu):
47385         Move to the only file that uses them, so they can be static.
47386         * src/nsterm.h (find_and_call_menu_selection):
47387         * src/nsterm.m (x_set_frame_alpha):
47388         Omit duplicate decls.
47389         * src/nsterm.h (ns_dump_glyphstring): Mark as EXTERNALLY_VISIBLE.
47390         * src/nsfns.m (ns_tooltip, ns_display_info_for_name)
47391         (ns_set_name_as_filename, x_set_menu_bar_lines)
47392         (x_set_tool_bar_lines, x_set_internal_border_width):
47393         * src/nsterm.m (ns_drag_types, ns_draw_text_decoration):
47394         Now static.
47395         * src/nsfns.m (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp):
47396         * src/nsterm.m (ns_free_indexed_color, ns_color_to_lisp):
47397         Remove; unused.
47398         * src/nsfont.m (ns_dump_glyphstring):
47399         * src/nsterm.m (hide_bell, ns_get_color, ns_color_to_lisp)
47400         (ns_clear_frame, keyDown:):
47401         Fix signedness problem with printf arg.
47402         * src/nsterm.h (ns_input_events, ns_finish_events):
47403         * src/nsterm.m (ns_finish_events, hide_bell):
47404         Prototype the decls.
47405         * src/nsterm.m (NSMenuDidBeginTrackingNotification):
47406         Omit unnecessary decl.
47407         (dockMenu):
47408         (mainMenu) [NS_IMPL_COCOA]: Now static, and in this file.
47409         (ns_dumpglyphs_box_or_relief, changeFont:, initFrameFromEmacs:)
47410         (toggleFullScreen:): Use FACE_FROM_ID instead of
47411         FACE_FROM_ID_OR_NULL in contexts where the caller expects the
47412         result to be non-null.
47413         (applicationShouldTerminate:): Fix misleading indentation.
47415 2016-09-28  Mark Oteiza  <mvoteiza@udel.edu>
47417         Turn on more lexical-binding
47419         * lisp/dom.el:
47420         * lisp/faces.el:
47421         * lisp/htmlfontify.el: Turn on lexical-binding.
47422         (htmlfontify-string): Use pushnew instead of add-to-list.
47423         * lisp/info-xref.el:
47424         * lisp/isearch.el:
47425         * lisp/man.el:
47426         * lisp/ps-def.el:
47427         * lisp/ps-print.el:
47428         * lisp/replace.el: Turn on lexical-binding.  Require cl-lib at compile
47429         time.
47430         (multi-occur): Use cl-pushnew instead of add-to-list.
47431         (replace-match-string-symbols): Remove unused lexical variable.
47432         (replace-search, replace-highlight): Fix argument shadowing.
47433         * lisp/sort.el:
47434         * lisp/xml.el: Turn on lexical-binding.
47435         (xml--parse-buffer): Use push instead of add-to-list.
47436         * lisp/xt-mouse.el: Turn on lexical-binding.
47438 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
47440         * admin/notes/bug-triage: Do not mention closed bugs
47442         * admin/notes/bug-triage: Do not mention closed bugs, they are
47443         suppressed by default in debbugs-{gnu,org}.
47445 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
47447         * etc/PROBLEMS: Remove problem Bug#22814, again.
47449 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
47451         Stick with debbugs-supported tags in triage
47453         * admin/notes/bug-triage: Stick to the tag "unreproducible", which
47454         debbugs supports, rather than suggesting "doneunreproducible" or
47455         "unreproducable".
47457 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
47459         Merge from origin/emacs-25
47461         9fc9988 Improve documentation of 'expand-abbrev' and wrapper hooks
47462         c14a1d4 Minor copyedits of MS-Windows installation instructions
47463         f281924 Fix display of cursor when 'blink-cursor-delay' has small value
47465         # Conflicts:
47466         #       lisp/minibuffer.el
47468 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
47470         Merge from origin/emacs-25
47472         0ae9a81 Document 'timerp'
47473         2c72c46 Improve documentation of overlay priorities
47474         f6fa160 Fix 'dired-compress-files'
47475         2b8c5f0 Update commentary of STRING_CHAR and FETCH_MULTIBYTE_CHAR
47477         # Conflicts:
47478         #       lisp/dired.el
47479         #       src/buffer.h
47480         #       src/character.h
47482 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
47484         Merge from origin/emacs-25
47486         cf9e174 Document the optional zlib library in MS-Windows builds
47487         84eb144 ; * admin/notes/unicode: Mention BidiCharacterTest.txt.
47488         73c67dd Fix tagging of DEFUN by etags
47489         ea1960b Avoid resetting track-mouse by mouse clicks
47490         505fef3 Improve nt/README.W32 instructions
47491         1229cc4 Document that desktop file overrides frame parameters
47492         f0eb70d ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 release
47494         # Conflicts:
47495         #       ChangeLog.2
47496         #       admin/notes/unicode
47497         #       lisp/ldefs-boot.el
47499 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
47501         Merge from origin/emacs-25
47503         0ffc9ce Update admin/authors.el
47504         0ad7410 Update Antinews in ELisp manual
47505         ea0f750 Fix comments on window height macros
47506         0bbdeed Fix 'url-http-create-request' when cookies are used
47507         0045998 Fix cross reference in frames.texi
47508         1392894 ; * etc/DEBUG: Minor copyedits.
47509         304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB.
47510         56bf7d7 Fix regexp-opt documentation (bug #17862)
47511         803ad6f ; Fix documentation of seq-subseq
47512         ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc...
47513         88ea396 ; Spelling fixes
47514         17197d0 Fix tags-query-replace docstring
47515         80a7f8b Clarify documentation of precision in format specs
47516         88a5052 Improve and clarify documentation of subprocesses
47517         89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247).
47519         # Conflicts:
47520         #       etc/PROBLEMS
47521         #       src/process.c
47523 2016-09-26  Michael Albinus  <michael.albinus@gmx.de>
47525         * lisp/net/tramp-compat.el (tramp-compat-funcall): Don't use `subrp'.
47527 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
47529         Fix 'dired-mark-extension' with prefix argument
47531         * lisp/dired-x.el (dired-mark-extension): Allow to specify
47532         MARKER-CHAR interactively as a string, not as a character's
47533         codepoint.  (Bug#24518)
47535         * doc/misc/dired-x.texi (Advanced Mark Commands): Document the
47536         behavior when invoked with a prefix arg.
47538 2016-09-24  Simen Heggestøyl  <simenheg@gmail.com>
47540         Support completion of classes and IDs in CSS mode
47542         * lisp/textmodes/css-mode.el (css-class-list-function): New variable
47543         holding the function to call for retrieving completions of class
47544         names.
47545         (css-id-list-function): New variable holding the function to call for
47546         retrieving completions of IDs.
47547         (css--foreign-completions): New function for retrieving completions
47548         from other buffers.
47549         (css--complete-selector): Support completing HTML class names and IDs
47550         from other buffers in addition to completing HTML tags.
47552         * lisp/textmodes/sgml-mode.el (html--buffer-classes-cache): New
47553         variable holding a cache for `html-current-buffer-classes'.
47554         (html--buffer-ids-cache): New variable holding a cache for
47555         `html-current-buffer-ids'.
47556         (html-current-buffer-classes): New function returning a list of class
47557         names used in the current buffer.
47558         (html-current-buffer-ids): New function returning a list of IDs used
47559         in the current buffer.
47560         (html-mode): Set `css-class-list-function' and `css-id-list-function'
47561         to `html-current-buffer-classes' and `html-current-buffer-ids'
47562         respectively.
47564 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
47566         Update test suite files due to removal of test/lisp/legacy
47568         * test/README: Reference file-organization.org.
47569         * test/file-organization.org: Remove the description of files in
47570         the lisp/legacy/ directory.
47572 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
47574         Incorporate syntax-tests in lisp-tests.
47576         * test/lisp/emacs-lisp/lisp-tests.el: Add tests from
47577         test/lisp/legacy/syntax-tests.el.
47578         * test/lisp/legacy/syntax-tests.el: File deleted.
47580 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
47582         Incorporate occur-tests in replace-tests
47584         * test/lisp/replace-tests.el: Add tests from
47585         test/lisp/legacy/occur-tests.el.
47586         * test/lisp/legacy/occur-tests.el: File deleted.
47588 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
47590         Incorporate lexbind-tests.el in bytecomp-test.el
47592         * test/lisp/emacs-lisp/bytecomp-tests.el: Added tests from
47593         test/lisp/legacy/lexbind-tests.el.
47594         * test/lisp/legacy/lexbind-tests.el: File deleted.
47596 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
47598         Improve integer overflow handling a bit
47600         * src/charset.c (read_hex): Use INT_LEFT_SHIFT_OVERFLOW for clarity.
47601         The machine code is the same on my platform.
47602         * src/doprnt.c (doprnt):
47603         * src/emacs-module.c (module_funcall):
47604         * src/font.c (font_intern_prop):
47605         * src/keyboard.c (Frecursion_depth):
47606         * src/lread.c (read1):
47607         Use WRAPV macros instead of checking overflow by hand.
47608         * src/editfns.c (hi_time, time_arith, decode_time_components):
47609         * src/emacs-module.c (Fmodule_load):
47610         Simplify by using FIXNUM_OVERFLOW_P.
47611         * src/emacs-module.c: Include intprops.h.
47612         * src/xdisp.c (percent99): New function.
47613         (decode_mode_spec): Use it to simplify overflow avoidance and
47614         formatting of %p and %P.
47616 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
47618         Incorporate core-elisp-tests in lisp-tests
47620         * test/lisp/emacs-lisp/lisp-tests.el: Added tests from
47621         test/lisp/legacy/core-elisp-tests.el.
47622         * test/lisp/legacy/core-elisp-tests.el: File removed.
47624 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
47626         Move coding-tests.el and decoder-test.el to their places
47628         * test/src/coding-tests.el: Added all the tests from
47629         test/lisp/legacy/decoder-tests.el.
47630         * test/lisp/legacy/decoder-tests.el: File deleted.
47632 2016-09-23  Vibhav Pant  <vibhavp@gmail.com>
47634         Use correct TYPE value for displaying error messages in (erc-display-message)
47636 2016-09-23  Eli Zaretskii  <eliz@gnu.org>
47638         Bump the version to 25.2.50
47640         * README:
47641         * configure.ac:
47642         * etc/NEWS:
47643         * msdos/sed2v2.inp: Increment the Emacs version to 25.2.50.
47645 2016-09-22  Tino Calancha  <tino.calancha@gmail.com>
47647         ibuffer-do-view-other-frame: Display each buffer in a new frame
47649         * lisp/ibuffer.el (ibuffer-do-view-1):
47650         When TYPE equals 'other-frame, then display each buffer
47651         in a new frame (Bug#24086).
47653 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
47655         Update from gnulib
47657         This incorporates:
47658         2016-09-22 stdint: port to GCC 7
47659         2016-09-22 limits-h, stdint: don't assume extensions
47660         * doc/misc/texinfo.tex, m4/limits-h.m4, m4/stdint.m4: Copy from gnulib.
47662 2016-09-22  Alan Mackenzie  <acm@muc.de>
47664         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Fix coding error
47666 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
47668         Port recent flexmember changes to NetBSD
47670         The NetBSD library supports localtime_rz directly, and without
47671         this change 'configure' omitted the flexmember test that is marked
47672         as conditional on localtime_rz.  Emacs now needs to use
47673         flexmember.m4 even when localtime_rz works.
47674         Problem reported by Thomas Klausner.
47675         * admin/merge-gnulib (GNULIB_MODULES): Add flexmember.
47676         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
47678 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
47680         * doc/misc/texinfo.tex: Copy from gnulib.
47682 2016-09-21  Michael Albinus  <michael.albinus@gmx.de>
47684         * lisp/net/tramp.el (tramp-clear-passwd): Call also `auth-source-forget'.
47686 2016-09-20  Paul Eggert  <eggert@cs.ucla.edu>
47688         Use flexmembers on IBM XL C for AIX
47690         This removes a workaround where Emacs did not use flexible
47691         array members when compiled with IBM XL C.  Instead, avoid
47692         the problem by making the aliasing issues more obvious to
47693         this compiler.
47694         * admin/merge-gnulib: Don’t remove m4/flexmember.m4.
47695         * m4/flexmember.m4: Copy from gnulib.
47696         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Remove workaround.
47697         * src/alloc.c (allocate_string_data): Rephrase to avoid aliasing
47698         problem that would otherwise mess up code generated for flexible
47699         array members by IBM XL C for AIX, V12.1.
47700         * src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Remove; now done
47701         by gnulib code.
47703 2016-09-19  Michael Albinus  <michael.albinus@gmx.de>
47705         Fix a problem with Tramp when the temporary dir isn't C:/Temp on w32
47707         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): Don't use
47708         `tramp-drop-volume-letter' any longer, it causes collateral
47709         damages.  Reported by Chris Zheng <chriszheng99@gmail.com>.
47711 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
47713         Port January __morecore changes to AIX 7.1
47715         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE, __morecore)
47716         (__after_morecore_hook):
47717         * src/ralloc.c (__morecore):
47718         Declare if DOUG_LEA_MALLOC is not defined, not if HAVE_MALLOC_H is
47719         not defined.  <malloc.h> does not declare these in AIX 7.1.
47721 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
47723         Define _GNU_SOURCE in files delaying config.h
47725         Problem reported by Richard Copley in:
47726         https://lists.gnu.org/r/emacs-devel/2016-09/msg00440.html
47727         * src/w32.c, src/w32notify.c, src/w32proc.c (_GNU_SOURCE):
47728         Define early.
47730 2016-09-17  Eli Zaretskii  <eliz@gnu.org>
47732         Update the bidi test code and data
47734         * test/manual/BidiCharacterTest.txt: Import the version from
47735         Unicode Standard 9.0.0.
47736         * test/manual/biditest.el (biditest-generate-testfile): Allow 'x'
47737         in the 4th field of the test data.
47739 2016-09-17  Tino Calancha  <tino.calancha@gmail.com>
47741         ibuffer-do-toggle-read-only: Fix unused argument
47743         * lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call
47744         'read-only-mode' with ARG when its an integer.
47745         Clarify the meaning of ARG in doc string.
47747 2016-09-17  Alan Mackenzie  <acm@muc.de>
47749         Improve accuracy of line/column numbers in byte compiler's warning messages.
47751         * lisp/emacs-lisp/bytecomp.el (byte-compile-set-symbol-position): ensure new
47752         value of byte-compile-last-position is not lower than old value.
47753         (byte-compile-function-warn): call byte-compile-set-symbol-position.
47755 2016-09-17  Michael Albinus  <michael.albinus@gmx.de>
47757         Minor Tramp tweaks
47759         * lisp/net/tramp.el (tramp-get-buffer): Reuse connection
47760         property "process-buffer" if already existing.
47761         (tramp-connectable-p): Suppress debug messages.
47763 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
47765         Define _GNU_SOURCE in unexmacosx.c
47767         Problem reported by Bob Halley in:
47768         https://lists.gnu.org/r/emacs-devel/2016-09/msg00427.html
47769         * src/unexmacosx.c (_GNU_SOURCE): Define if not already defined.
47771 2016-09-16  Alan Mackenzie  <acm@muc.de>
47773         C Mode: Fix mis-fontification of macro invocation as function declaration
47775         This happened with a macro invocation which was followed by a statement block
47776         in braces.
47778         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 11: distinguish
47779         between contexts nil and top, being less permissive in the former case.
47780         (c-just-after-func-arglist-p): call c-forward-decl-or-cast-1 with context top.
47782 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
47784         Improve the doc string of 'format'
47786         * src/editfns.c (Fformat): Fix ambiguity in the doc string's usage
47787         of a literal period.  (Bug#24407)
47789 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
47791         Improve doc strings in whitespace.el
47793         * lisp/whitespace.el (whitespace-mode, whitespace-newline-mode)
47794         (global-whitespace-mode, global-whitespace-newline-mode): Improve
47795         the doc strings.  (Bug#24413)
47797 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
47799         Improve detectability of 'next-logical-line' and 'previous-logical-line'
47801         * lisp/simple.el (next-line, previous-line): Mention
47802         'next-logical-line' and 'previous-logical-line' in the doc
47803         strings.  (Bug#24443)
47805 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
47807         Update from gnulib
47809         This incorporates:
47810         2016-09-16 extensions: fix typo in comment
47811         2016-09-16 stdio: don't redefine __USE_MINGW_ANSI_STDIO
47812         * m4/extensions.m4, m4/stdio_h.m4: Copy from gnulib.
47814 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
47816         Prefer now-standard int width macros
47818         * src/data.c (ULL_WIDTH):
47819         * src/lisp.h (EMACS_INT_WIDTH, BITS_PER_BITS_WORD):
47820         * src/lread.c (read_integer):
47821         * src/term.c (produce_glyphless_glyph):
47822         * src/xterm.c (x_send_scroll_bar_event):
47823         Use *_WIDTH macros instead of CHAR_BIT * sizeof.
47824         * src/data.c (ULL_WIDTH): Rename from BITS_PER_ULL for consistency
47825         with the *_WIDTH standard macros.  All uses changed.
47826         * src/gmalloc.c (INT_BIT): Remove.  All uses replaced with INT_WIDTH.
47827         * src/lisp.h (EMACS_INT_WIDTH): Rename from BITS_PER_EMACS_INT
47828         for consistency with the *_WIDTH standard macros.  All uses changed.
47829         (BITS_PER_CHAR): Remove; all uses replaced by CHAR_BIT.  This must
47830         be the same as CHAR_WIDTH and avoids confusion with Elisp
47831         char-width, which counts columns not bits.
47832         (BITS_PER_SHORT): Remove; all uses replaced by SHRT_WIDTH.
47833         (BITS_PER_LONG): Remove; all uses replaced by LONG_WIDTH.
47834         * src/lread.c: Do not include limits.h since CHAR_BIT is no longer
47835         used directly.
47837 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
47839         Update from gnulib
47841         This incorporates:
47842         2016-09-15 stdint: support new _WIDTH macros
47843         2016-09-15 limits-h: new module
47844         2016-09-15 sys_types: avoid glibc 2.25 warnings about major()
47845         2016-09-15 extensions: port to more ISO C TSes
47846         2016-09-13 intprops: new macro TYPE_WIDTH
47847         2016-09-13 extensions: port to recent ISO C TRs
47848         * .gitignore: Add lib/limits.h.
47849         * doc/misc/texinfo.tex, lib/ftoastr.h, lib/intprops.h:
47850         * lib/stdint.in.h, m4/extensions.m4, m4/stdint.m4, m4/stdio_h.m4:
47851         * m4/sys_types_h.m4: Copy from gnulib.
47852         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
47853         * lib/limits.in.h, m4/limits-h.m4: New files, copie from gnulib.
47854         * nt/gnulib.mk: Merge changes from lib/gnulib.mk.
47856 2016-09-15  Michael Albinus  <michael.albinus@gmx.de>
47858         Rework fixing Bug#24432
47860         * lisp/net/tramp.el (tramp-get-buffer): Set connection property
47861         "process-buffer" in order to mark connection as active.
47863         * lisp/net/tramp-cache.el (tramp-get-hash-table)
47864         (tramp-set-connection-property)
47865         (tramp-dump-connection-properties): Do not use "active" property.
47866         (tramp-list-connections): Use "process-buffer" property.
47868         * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Flush process
47869         properties prior deletion of process.
47871 2016-09-14  Johan Bockgård  <bojohan@gnu.org>
47873         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix debug spec (Bug#24430).
47875         * lisp/emacs-lisp/edebug.el (defun): Fix debug spec.
47877 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
47879         Avoid compiler warning on MS-Windows due to clone_file
47881         * src/fileio.c (clone_file): Condition on !WINDOWSNT, since the
47882         call to it is not compiled in that build, and having it defined
47883         causes compiler warnings.
47885 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
47887         Avoid aborts in GC due to abort_on_gc
47889         * src/lisp.h:
47890         * src/print.c (Fprin1_to_string):
47891         * src/eval.c (signal_or_quit):
47892         * src/alloc.c (garbage_collect_1): Remove declarations, setting,
47893         and testing the value of abort_on_gc.  It is no longer needed, and
47894         using it causes rare aborts in GC for no good reason.  (Bug#23912)
47896 2016-09-14  Michael Albinus  <michael.albinus@gmx.de>
47898         Fix Bug#24432
47900         * lisp/net/tramp-cache.el (tramp-get-hash-table): Initialize a
47901         connection as inactive.
47902         (tramp-set-connection-property): Make the connection active.
47903         (tramp-dump-connection-properties): Don't save "active" property.
47904         (tramp-list-connections): List only active connections.  (Bug#24432)
47906 2016-09-14  Lars Ingebrigtsen  <larsi@gnus.org>
47908         Don't bug out on all-whitespace URLs
47910         * lisp/net/shr.el (shr-expand-url): Don't bug out on
47911         degenerate all-whitespace URLs.
47913 2016-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
47915         sieve-manage.el: Rename sieve-manage-ignore-broken-tls
47917         * lisp/net/sieve-manage.el (sieve-manage-ignore-starttls):
47918         Rename from sieve-manage-ignore-broken-tls.  If it is set,
47919         sieve-manage will never use STARTTLS even if the server says
47920         it is capable (but may be broken).
47922 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
47924         Port to ISO/IEC TS 18661-1:2014
47926         * src/character.h (CHARACTER_WIDTH): Rename from CHAR_WIDTH.
47927         All uses changed.
47929 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
47931         dired-jump: Expand file-name before dired-goto-file call
47933         Command dired-goto-file requires its argument to be an absolute
47934         file name.  Interactively FILE-NAME is read with read-file-name,
47935         which could return an abbreviated file name (Bug#24409).
47936         * lisp/dired-x.el (dired-jump): Use expand-file-name on FILE-NAME.
47937         Clarify in doc string the meaning of arg FILE-NAME.
47939 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
47941         Add test for Bug#21454
47943         * test/lisp/legacy/files-tests.el (files-test-bug-21454): New test.
47945 2016-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>
47947         * lisp/net/sieve-manage.el (sieve-manage-ignore-broken-tls): Add :version.
47949 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
47951         sieve.el: Make the buffer to edit unmodified initially (bug#24423)
47953         * lisp/net/sieve.el (sieve-edit-script):
47954         Make the buffer to edit be not modified-p initially (bug#24423).
47956 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
47958         sieve-manage.el: Allow user to avoid STARTTLS capability test (bug#24422)
47960         * lisp/net/sieve-manage.el
47961         (sieve-manage-ignore-broken-tls): New user option.
47962         (sieve-manage-open-server):
47963         Don't test STARTTLS capability if the option is set (bug#24422).
47965 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
47967         Fix compiler thinking width and height may be unitialized in frame.c
47969         This fixes the following warning:
47971                 frame.c: In function ‘x_set_frame_parameters’:
47972                 frame.c:3329:25: error: ‘width’ may be used uninitialized in
47973                         this function [-Werror=maybe-uninitialized]
47974                        adjust_frame_size (f, width_change ? width : -1,
47975                                  ^
47977         * src/frame.c (x_set_frame_parameters): Drop width_changed and
47978         height_changed variables in favor of storing that information in
47979         width and height variables.
47981 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
47983         Fix compiler thinking tmpdir may be unitialized in emacsclient
47985         This fixes the following warning:
47987                 emacsclient.c: In function ‘set_local_socket’:
47988                 /usr/include/x86_64-linux-gnu/bits/string3.h:111:3: error:
47989                         ‘tmpdir’ may be used uninitialized in this function
47990                         [-Werror=maybe-uninitialized]
47991                    return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
47992                    ^
47993                 emacsclient.c:1197:17: note: ‘tmpdir’ was declared here
47994                      const char *tmpdir;
47996         * lib-src/emacsclient.c (set_local_socket): Get rid of use_tmpdir
47997         variable and instead use tmpdir being non-NULL as sign that it should
47998         be used.
48000 2016-09-12  Tino Calancha  <tino.calancha@gmail.com>
48002         image-dired: Signal an error before calling a missing executable
48004         Reverts commit ca473907
48005         Add a defun to check if an executable exists, and call it
48006         on each function using an external program: when the executable
48007         is not available signal an error.
48008         See discussion on:
48009         https://lists.gnu.org/r/emacs-devel/2016-09/msg00135.html
48010         * lisp/image-dired.el (image-dired--check-executable-exists): New defun.
48011         Throw and error when the executable arg is missing.
48012         (image-dired-display-image, image-dired-rotate-thumbnail)
48013         (image-dired-rotate-original, image-dired-set-exif-data)
48014         (image-dired-get-exif-data):
48015         Use it.
48017 2016-09-12  Eli Zaretskii  <eliz@gnu.org>
48019         Fix daemon shutdown when emacs-kill-hooks ask questions
48021         * lisp/server.el (server-start): Put the server's kill-emacs-hook
48022         last, to allow other hooks to have a frame to interact with the
48023         user.  (Bug#24326)
48025 2016-09-12  Paul Eggert  <eggert@cs.ucla.edu>
48027         * src/casefiddle.c (casify_word): Simplify.
48029         * src/casefiddle.c (casify_word): Return Qnil.
48031 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
48033         Refactor common code in {upcase,downcase,capitalize}-word functions
48035         * src/casefiddle.c (operate_on_word): Removed in favor of…
48036         (casify_word) …new function which does what operate_on_word did plus
48037         what all of the common code from *-word functions.
48038         (upcase-word, downcase-word, capitalize-word): Move code common between
48039         those functions (pretty much the whole body of those functions) into
48040         casify_word and use that instead of now deleted operate_on_word.
48042 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
48044         * doc/lispref/files.texi: Remove @vindex.
48046 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
48048         Remove unnecessary ref to coreutils manual
48050         * doc/lispref/files.texi: Document write-region-inhibit-fsync.
48052 2016-09-11  Alan Mackenzie  <acm@muc.de>
48054         Correctly fontify C++ direct initializations with parens inside functions
48056         Or, more clearly, when something looks like a function declaration and it's
48057         inside a function, fontify it as a direct initialization.
48059         For this purpose, introduce a "brace stack" for each buffer, where an entry on
48060         the brace stack states how deeply nested a particular position is inside
48061         braces inside a "top level", which includes classes and namespaces.
48063         Also introduce a new "context", "top", with which c-font-lock-declarations
48064         signals to c-forward-decl-or-cast-1 that point is at the top level.
48066         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): add
48067         c-truncate-bs-cache.
48068         (c-flat-decl-block-kwds, c-brace-stack-thing-key, c-brace-stack-no-semi-key)
48069         (c-type-decl-operator-prefix-key): new language constants/variables.
48071         * lisp/progmodes/cc-engine.el (c-bs-interval, c-bs-cache, c-bs-cache-limit)
48072         (c-bs-prev-pos, c-bs-prev-stack): New mostly local variables for the brace
48073         stack cache.
48074         (c-init-bs-cache, c-truncate-bs-cache, c-truncate-bs-cache, c-brace-stack-at)
48075         (c-bs-at-toplevel-p): New functions which manipulate the brace stack (cache).
48076         (c-find-decl-prefix-search): Keep track of whether we're at top level.
48077         (c-find-decl-spots): New local variable cfd-top-level which records what it
48078         says.  On calling cfd-fun, pass cfd-top-level as an additional argument.
48079         (c-forward-declarator): Add new element DECORATED to the result list.  Set it
48080         to non-nil when a match for c-type-decl-operator-prefix-key is found.
48081         (c-forward-decl-or-cast-1): Handle the newly introduced context "top".
48082         Introduce "CASE 9.5", which recognizes direct initializations.
48084         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
48085         (c-font-lock-enum-tail, c-font-lock-cut-off-declarators)
48086         (c-font-lock-enclosing-decls, c-simple-decl-matchers, c-basic-matchers-after):
48087         Add appropriate `not-top' argument to calls to c-font-lock-declarators.
48088         (c-font-lock-declarators): Additional parameter `not-top'.  Use not-top to
48089         participate in the decision whether to fontify an identifier as a function or
48090         a variable.
48091         (c-font-lock-declarations): The internal lambda function takes an additional
48092         argument `toplev' from c-find-decl-spots, which it uses in determining the
48093         "context" of a declaration.  Add appropriate `not-top' argument to calls to
48094         c-font-lock-declarators.
48095         (c-font-lock-objc-methods): Add extra parameter to internal lambda function,
48096         like for c-font-lock-declarators.
48098         * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the brace stack
48099         cache.
48101 2016-09-11  Eli Zaretskii  <eliz@gnu.org>
48103         Avoid signaling errors when computing "Stop" in GDB menu
48105         * lisp/progmodes/gdb-mi.el (gdb-show-stop-p): Don't assume
48106         'gdb-running-threads-count' must have a numeric value.
48107         (Bug#24414)
48109 2016-09-11  Philipp Stephani  <phst@google.com>
48111         Stop calling ‘byte-compile-log-warning’
48113         For errors, use ‘byte-compile-report-error’ instead so that the error
48114         is registered and causes compilation to fail (Bug#24359).
48116         For warnings, use ‘byte-compile-warn’ instead so that
48117         ‘byte-compile-error-on-warn’ is honored (Bug#24360).
48119         * lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled)
48120         (macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of
48121         ‘byte-compile-log-warning’.
48123         * lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf)
48124         (byte-compile-setq, byte-compile-funcall): Use
48125         ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’.
48126         (byte-compile-log-warning): Convert comment to documentation
48127         string.  Explain that the function shouldn’t be called directly.
48128         (byte-compile-report-error): Add optional FILL argument.
48130         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
48131         (cconv--analyze-function, cconv-analyze-form): Use
48132         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
48134         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use
48135         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
48137         * lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead
48138         of ‘byte-compile-log-warning’.
48139         (do-after-load-evaluation): Use ‘byte-compile-warn’ instead of
48140         ‘byte-compile-log-warning’.
48142 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
48144         * etc/NEWS: Remove comment lost in emacs-25 merge.
48146 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
48148         Document file synchronization issues
48150         * doc/lispref/files.texi (Files and Storage): New section.
48152 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
48154         copy-file now uses GNU/Linux file cloning
48156         From a suggestion by Kieran Colford (see Bug#23904).
48157         * configure.ac: Check for linux/fs.h.
48158         * src/fileio.c [HAVE_LINUX_FS_H]: Include sys/ioctl.h and linux/fs.h.
48159         (clone_file): New function.
48160         (Fcopy_file): Use it.
48162 2016-09-10  Alan Third  <alan@idiocy.org>
48164         Invert y coord of NS image files (bug#7847)
48166         * src/nsterm.m (ns_dumpglyphs_image): Invert y co-ordinate of the image
48167         when compositing.
48169 2016-09-10  Noam Postavsky  <npostavs@gmail.com>
48171         Don't require isearch-update before isearch-done
48173         It is useful to be able to call `isearch-done' unconditionally to
48174         ensure a non-isearching state.
48176         * lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
48177         is a live buffer before using it (Bug #21091).
48178         * test/lisp/isearch-tests.el (isearch--test-done): Test it.
48180 2016-09-09  Simen Heggestøyl  <simenheg@gmail.com>
48182         * lisp/emacs-lisp/ring.el: Use lexical-binding
48184         * lisp/emacs-lisp/ring.el (ring-elements): Don't use the RESULT
48185         argument of `dotimes' when the iteration variable isn't referred by
48186         it.
48187         (ring-member): Don't pass nil as the RESULT argument of `dotimes'
48188         since it's the default.
48190 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
48192         Split regex character class test into smaller chunks
48194         Having one test for all character classes it is not always trivial to
48195         determine which class is failing.  This happens when failure is caused
48196         by ‘(should (equal (point) (point-max)))’ not being met.
48198         With per-character class tests, it is immidiatelly obvious which test
48199         causes issues plus tests for all classes are run even if some of them
48200         fail.
48202         * test/src/regex-tests.el (regex-character-classes): Delete and split
48203         into…
48204         (regex-tests-alnum-character-class, regex-tests-alpha-character-class,
48205         regex-tests-ascii-character-class, regex-tests-blank-character-class,
48206         regex-tests-cntrl-character-class, regex-tests-digit-character-class,
48207         regex-tests-graph-character-class, regex-tests-lower-character-class,
48208         regex-tests-multibyte-character-class,
48209         regex-tests-nonascii-character-class,
48210         regex-tests-print-character-class, regex-tests-punct-character-class,
48211         regex-tests-space-character-class,
48212         regex-tests-unibyte-character-class,
48213         regex-tests-upper-character-class, regex-tests-word-character-class,
48214         regex-tests-xdigit-character-class): …new tests.
48216 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
48218         Don’t allocate char-table’s extra slots in regexp-out-charset
48220         * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Do not use
48221         'case-table as charmap char-table’s property.  The function has nothing
48222         to do with casing and in addition using 'case-table causes unnecessary
48223         extra slots to be allocated which ‘regexp-opt-charset’ does not use.
48225 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
48227         Remove dead loop iterations in regex.c
48229         RE_CHAR_TO_MULTIBYTE(c) yields c for ASCII characters and a byte8
48230         character for c ≥ 0x80.  Furthermore, CHAR_BYTE8_P(c) is true only
48231         for byte8 characters.  This means that
48233                 c = RE_CHAR_TO_MULTIBYTE (ch);
48234                 if (! CHAR_BYTE8_P (c) && re_iswctype (c, cc))
48236         is equivalent to:
48238                 c = c;
48239                 if (! false && re_iswctype (c, cc))
48241         for 0 ⪬ c < 0x80, and
48243                 c = BYTE8_TO_CHAR (c);
48244                 if (! true && re_iswctype (c, cc))
48246         for 0x80 ⪬ c < 0x100.  In other words, the loop never executes for
48247         c ≥ 0x80 and RE_CHAR_TO_MULTIBYTE call is unnecessary for c < 0x80.
48249         * src/regex.c (regex_compile): Simplyfy a for loop by eliminating
48250         dead iterations and unnecessary macro calls.
48252 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
48254         Replace decimalnump with alphanumericp
48256         decimalnump was used in regex.c only in ISALNUM macro which ored it with
48257         alphabeticp.  Because both of those functions require Unicode general
48258         category lookup, this resulted in unnecessary lookups (if alphabeticp
48259         return false decimalp had to perform another lookup).  Drop decimalnump
48260         in favor of alphanumericp which combines decimelnump with alphabeticp.
48262         * src/character.c (decimalnump): Remove in favor of…
48263         (alphanumericp): …new function.
48265         * src/regex.c (ISALNUM): Use alphanumericp.
48267 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
48269         Remove inaccurate comment in regex.c
48271         * src/regex.c (regex_compile): Remove comment indicating that wctype of
48272         some character classes may be negative.  All wctypes are in fact
48273         non-negative.
48275 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
48277         STRING_CHAR does not unify characters; update documentation
48279         * src/character.h (STRING_CHAR): Update doc.
48280         * src/buffer.h (FETCH_MULTIBYTE_CHAR): Update doc.  While at it, change
48281         the function to use BYTE_POS_ADDR instead of open-coding it.
48283 2016-09-08  Simen Heggestøyl  <simenheg@gmail.com>
48285         Add tests for ring.el
48287         * test/lisp/emacs-lisp/ring-tests.el: New file with tests for ring.el.
48289 2016-09-07  Martin Rudalics  <rudalics@gmx.at>
48291         New file test/src/marker-tests.el
48293 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
48295         Port flexible array members to GCC + valgrind
48297         These changes are needed to conform to the C standard's rule for
48298         allocating structs containing flexible array members.  C11 says
48299         that malloc (offsetof (struct s, m) + n) does not suffice to
48300         allocate a struct with an n-byte tail; instead, malloc’s arg
48301         should be rounded up to the nearest multiple of alignof (struct s).
48302         Although this is arguably a defect in C11, gcc -O2 + valgrind
48303         sometimes complains when this rule is violated, and when debugging
48304         it’s better to keep valgrind happy.
48305         For details please see the thread containing the message at:
48306         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00416.html
48307         * lib-src/ebrowse.c, src/alloc.c, src/image.c, src/process.c:
48308         Include flexmember.h.
48309         * lib-src/ebrowse.c (add_sym, add_member, make_namespace)
48310         (register_namespace_alias):
48311         * src/alloc.c (SDATA_SIZE, allocate_string_data):
48312         * src/image.c (xpm_cache_color, imagemagick_create_cache):
48313         * src/process.c (Fmake_network_process):
48314         Use FLEXSIZEOF instead of offsetof and addition.
48315         * src/alloc.c (SDATA_SIZE, vector_alignment):
48316         Use FLEXALIGNOF instead of sizeof (ptrdiff_t).
48317         * src/lisp.h (ALIGNOF_STRUCT_LISP_VECTOR):
48318         Remove, as alloc.c can now calculate this on its own.
48320 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
48322         Update from gnulib
48324         This incorporates:
48325         2016-09-07 flexmember: new macro FLEXALIGNOF
48326         2016-09-07 flexmember: port better to GCC + valgrind
48327         2016-08-18 Port modules to use getprogname explicitly
48328         2016-09-02 manywarnings: add -fno-common
48329         * admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don’t avoid flexmember,
48330         since time_rz now uses part of it.  Instead, remove m4/flexmember.m4.
48331         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Define away,
48332         since Emacs assumes C99 and therefore removes m4/flexmember.m4.
48333         * lib/euidaccess.c, lib/group-member.c, lib/time_rz.c:
48334         * m4/manywarnings.m4: Copy from gnulib.
48335         * lib/flexmember.h: New file, from gnulib.
48336         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
48338 2016-09-07  Noam Postavsky  <npostavs@gmail.com>
48340         Don't --load directories
48342         * lisp/startup.el (command-line-1): Only pass expanded FILENAME argument
48343         of --load when it refers to a normal file, since `load' doesn't handle
48344         directories (Bug #16406).
48346 2016-09-07  Peder O. Klingenberg  <peder@klingenberg.no>
48348         Avoid error in icalendar--read-element
48350         * lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex
48351         stack overflow by not using regex to extract values from calendar
48352         events. (Bug#24315)
48354 2016-09-07  Kaushal Modi  <kaushal.modi@gmail.com>
48356         Fix back-white <-> black-white typo
48358         * lisp/ps-print.el (ps-begin-job): back-white -> black-white (Bug#24308)
48360 2016-09-07  Alan Third  <alan@idiocy.org>
48362         Fix cursor at bottom left of rectangle (bug#24364)
48364         * lisp/rect.el (rectangle--col-pos): Don't assume point at EOL doesn't
48365         require rectangle--point-crutches to be set.
48367 2016-09-07  Eli Zaretskii  <eliz@gnu.org>
48369         Fix documentation of convert-standard-filename on MS-Windows
48371         * lisp/files.el (convert-standard-filename): Doc fix.  (Bug#24387)
48373         * etc/NEWS: Suggest a way for mirroring slashes where previously
48374         'convert-standard-filename' was used.
48376 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
48378         Use DEV_TTY more consistently
48380         * src/conf_post.h (DEV_TTY): Move from here ...
48381         * src/keyboard.c, src/keyboard.h: ... to here, as it doesn’t need
48382         to be visible everywhere.  Make it a constant.
48383         * src/keyboard.c (handle_interrupt, Fset_quit_char):
48384         * src/process.c (create_process): Prefer DEV_TTY to "/dev/tty".
48386 2016-09-06  Eli Zaretskii  <eliz@gnu.org>
48388         Avoid assertion violations when using marker positions
48390         * src/intervals.c (set_point_from_marker): If MARKER comes from
48391         another buffer, recalculate its byte position before using it to
48392         set point.
48393         * src/marker.c (set_marker_internal): If POSITION is a marker from
48394         another buffer, recalculate its byte position before using it.
48395         (Bug#24368)
48397 2016-09-06  Alan Mackenzie  <acm@muc.de>
48399         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix coding bug
48401 2016-09-06  Alan Mackenzie  <acm@muc.de>
48403         New options for handling of literals in c-syntactic-re-search-forward
48405         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): `noerror' can
48406         be given the values `before-literal' and `after-literal', so that when a
48407         search fails, and the `bound' is inside a literal, point is left respectively
48408         before or after that literal.
48410 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
48412         Avoid assertion violations when scrolling narrowed buffer
48414         * src/window.c (window_scroll_pixel_based):
48415         * src/xdisp.c (pos_visible_p): Don't allow simulated redisplay to
48416         start outside the accessible portion of the buffer.  This avoids
48417         assertion violations when some Lisp narrows the buffer to less
48418         than the current window, and then attempts to scroll the buffer.
48420 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
48422         Treat SIGINT correctly in GUI sessions on MS-Windows
48424         * src/w32proc.c (sys_signal): Don't reject SIGINT, as it is
48425         supported by MS runtime.
48426         * src/term.c (DEV_TTY): Move from here ...
48427         * src/conf_post.h (DEV_TTY): ... to here.  Separate definitions
48428         for WINDOWSNT and for the rest.
48429         * src/keyboard.c (handle_interrupt_signal): Use DEV_TTY instead of
48430         a literal "/dev/tty".
48432         * etc/NEWS: Mention the behavior change.
48434 2016-09-04  Alan Third  <alan@idiocy.org>
48436         Fix synthetic bold on macOS retina displays
48438         * src/macfont.m (macfont_draw): Multiply the synthetic bold scaling
48439         factor by the OS window backing scale factor.
48441 2016-09-04  Tino Calancha  <tino.calancha@gmail.com>
48443         image-dired: Report when a necessary executable is not found
48445         See discussion on:
48446         https://lists.gnu.org/r/emacs-devel/2016-08/msg00552.html
48447         * lisp/image-dired.el (image-dired-cmd-rotate-original-program)
48448         (image-dired-cmd-create-thumbnail-program)
48449         (image-dired-cmd-create-temp-image-program)
48450         (image-dired-cmd-rotate-thumbnail-program)
48451         (image-dired-cmd-write-exif-data-program)
48452         (image-dired-cmd-read-exif-data-program):
48453         Use executable-find to set the default value of this option.
48454         (image-dired-cmd-rotate-original-program): Idem.
48455         Search for program 'convert' if 'jpegtran' is not available.
48456         (image-dired-cmd-rotate-original-options):
48457         Set the default value consistent with the executable in
48458         image-dired-cmd-rotate-original-program.
48459         (image-dired-create-thumb, image-dired-display-image)
48460         (image-dired-rotate-thumbnail, image-dired-rotate-original)
48461         (image-dired-set-exif-data, image-dired-get-exif-data):
48462         Throw and error when the executable used in the function is missing.
48463         (image-dired-next-line, image-dired-previous-line):
48464         Use 'forward-line'.
48466 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
48468         image-type-from-file-name: Perform a case insensitive match
48470         Fix Bug#24317
48471         * lisp/image.el (image-type-from-file-name): Bind case-fold-search
48472         to a non-nil value to force a case insensitive match.
48473         * lisp/image-dired.el (image-dired-rotate-original):
48474         Use image-type (Bug#24317).
48475         (image-dired-get-exif-file-name): Idem.
48476         Set 'no-exif-data-found' and 'data' in same setq call.
48477         Use file-attribute-modification-time.
48479 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
48481         image-increase-size: Fix non-interactive calls
48483         * lisp/image.el (image-increase-size, image-decrease-size):
48484         Compute a floating point division.
48485         Problem reported in:
48486         https://lists.gnu.org/r/emacs-devel/2016-09/msg00067.html
48488 2016-09-03  Robert Cochran  <robert-git@cochranmail.com>
48490         Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.el
48492         Passing the prefix argument as the 3rd argument to 'call-interactively'
48493         causes the prefix argument to be interpreted as events, which is not
48494         only wrong, but also causes a type error, as 'current-prefix-arg' can
48495         never be a vector as 'call-interactively' expects.  'call-interactively'
48496         automatically passes its prefix argument to the called function, so just
48497         do that, eliminating faulty behavior.
48499         * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell):
48500         (checkdoc-ispell-current-buffer):
48501         (checkdoc-ispell-interactive):
48502         (checkdoc-ispell-message-text):
48503         (checkdoc-ispell-start):
48504         (checkdoc-ispell-continue):
48505         (checkdoc-ispell-comments):
48506         (checkdoc-ispell-defun):
48507         Do not pass 'current-prefix-arg' to 'call-interactively' as an event
48508         vector; merely allow it to propagate forward to the interactive call.
48510 2016-09-03  Richard Stallman  <rms@gnu.org>
48512         Fix mail-combine-fields
48514         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
48515         avoid losing our place in the search loop.
48517 2016-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>
48519         Check actual contents before promting about changed file
48521         * lisp/userlock.el (userlock--check-content-unchanged)
48522         (userlock--ask-user-about-supersession-threat): New functions.
48523         * src/filelock.c (lock_file): Use them to avoid spurious prompting.
48524         * doc/lispref/buffers.texi (Modification Time): Update doc of
48525         ask-user-about-supersession-threat.
48527 2016-09-02  Michael Albinus  <michael.albinus@gmx.de>
48529         Make a reference to fakecygpty in the Tramp manual
48531         * doc/misc/tramp.texi (Windows setup hints): Make a reference to
48532         fakecygpty on the Emacs Wiki.
48533         (Frequently Asked Questions): Fix url.
48535 2016-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48537         Don’t create fd >= FD_SETSIZE
48539         This avoids a potential crash if too many subprocesses (Bug#24325).
48540         * src/process.c [HAVE_SETRLIMIT]: Include <sys/resource.h>.
48541         (init_process_emacs): If ulimit -n is greater than FD_SETSIZE,
48542         set it to FD_SETSIZE.
48544 2016-09-01  Alan Mackenzie  <acm@muc.de>
48546         Fix c-declaration-limits to return correct limits in all cases.
48548         This function is the guts of c-indent-defun and c-mark-function.
48550         In particular, when c-defun-tactic is nil, return a correct value rather than
48551         always nil, and when it's 'go-outward, go through an intricate algorithm to
48552         determine the requisite narrowing before the "top-level" defuns go to work.
48554         * lisp/progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): Enhance
48555         to take additional optional parameter LEVEL, saying how many enclosing levels
48556         of decl-block to narrow to.
48557         (c-declaration-limits): Introduce algorithm to determine narrowing.  Use
48558         c-where-wrt-to-brace-block to determine whether to go back to BOD to determine
48559         lower bound.
48561 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
48563         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make commentary more accurate.
48565 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
48567         Avoid compiler warnings with MinGW64 GCC 6
48569         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make the prototype match
48570         the GCC 6 builtin, to avoid warnings.  For more details, see
48571         https://lists.gnu.org/r/emacs-devel/2016-08/msg00721.html.
48573 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48575         Fix over-substitution of quotes on error
48577         Problem reported by Tino Calancha in:
48578         https://lists.gnu.org/r/emacs-devel/2016-09/msg00000.html
48579         * src/print.c (print_error_message):
48580         Substitute quotes in errmsg only when gotten from a property.
48582 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
48584         Improve testing of etags
48586         * test/manual/etags/y-src/cccp.c:
48587         * test/manual/etags/y-src/parse.c: Correct #line directives to
48588         allow testing invalidate_nodes in etags.c.
48589         * test/manual/etags/ETAGS.good_1:
48590         * test/manual/etags/ETAGS.good_2:
48591         * test/manual/etags/ETAGS.good_3:
48592         * test/manual/etags/ETAGS.good_4:
48593         * test/manual/etags/ETAGS.good_5:
48594         * test/manual/etags/ETAGS.good_6:
48595         * test/manual/etags/CTAGS.good: Adapt to changes in test files.
48597 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
48599         * lib-src/etags.c (invalidate_nodes): Fix another thinko.
48601 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48603         Fix etags problems found by static checking
48605         * lib-src/etags.c (invalidate_nodes, put_entry):
48606         Remove now-unnecessary tests for null pointers.  Simplify.
48607         (put_entries): Rewrite to avoid GCC 6.2 warning about
48608         dereferencing null pointer.
48610 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
48612         Fix a thinko in etags.c
48614         * lib-src/etags.c (invalidate_nodes): Don't try to dereference
48615         a null pointer.
48617 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
48619         Avoid recursive calls in etags
48621         * lib-src/etags.c (stack_entry): New struct.
48622         (push_node, pop_node, put_entry): New functions.
48623         (free_tree, add_node, invalidate_nodes, put_entries): Re-implement
48624         in a non-recursive way, to avoid stack overflow.  (Bug#5847)
48626 2016-08-31  Leo Liu  <sdl.web@gmail.com>
48628         Add 451 to url-http-codes
48630         * lisp/url/url-http.el (url-http-codes): Add 451.
48632 2016-08-30  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
48634         * src/editfns.c (Fformat_message): Fix doc to match current behavior.
48636 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
48638         Minor doc quoting fixes
48640         * doc/misc/htmlfontify.texi (Interactive):
48641         * lisp/htmlfontify.el (htmlfontify-buffer):
48642         Spell out character names, for clarity.  The old doc string
48643         generated the *Help* text ‘^L ([FF]) or ¤ (244)’, where ‘[FF]’
48644         stands for a form feed character; this was confusing.
48645         * lisp/electric.el (electric-quote-mode):
48646         * src/doc.c (syms_of_doc):
48647         * src/editfns.c (Fformat_message):
48648         Remove no-longer-necessary ‘\=’s in doc strings.
48650 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
48652         Update from gnulib
48654         This incorporates:
48655         2016-08-30 intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
48656         2016-08-29 xalloc-oversized.h: port change to GCC 6.2.0
48657         2016-08-29 intprops.h: port recent changes to GCC 6.2.0
48658         2016-08-29 intprops.h: use __typeof__ with GCC 7
48659         2016-08-29 intprops.h, xalloc-oversized.h: work with gcc 7
48660         2016-08-24 intprops: fix paren typo on old platforms
48661         2016-08-24 intprops: port to OpenVMS
48662         * lib/intprops.h, lib/xalloc-oversized.h: Copy from gnulib.
48664 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
48666         Fix rules for \phi and \varphi which were reversed
48668         * lisp/leim/quail/latin-ltx.el: Special-case phi/varphi because those
48669           are reversed in ucs-names.  Also remove FIXME stating sigma/varsigma
48670           were reversed which is not true (anymore?).
48672 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
48674         Fix prettification of \phi, \varphi, and \varsigma
48676         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix
48677           prettification of \phi, \varphi, and \varsigma.
48679         Concretely, \phi's symbol was actually varphi, \varphi was missing, and
48680         \varsigma was commented out with a FIXME that it was reversed with
48681         \sigma which it was not.
48683 2016-08-30  Karl Fogel  <kfogel@red-bean.com>
48685         Use normal double quotes in TeX / LaTeX comments
48687         * lisp/textmodes/tex-mode.el (tex-insert-quote): When in a comment,
48688           default to inserting a normal double quote (") instead of TeX-style
48689           open (``) or close ('') quote marks.
48691         * etc/NEWS (TeX mode): Note the change.
48693         * test/lisp/electric-tests.el (autowrapping-7): Adjust accordingly.
48695         See this thread for discussion:
48697           https://lists.gnu.org/r/emacs-devel/2016-08/msg00611.html
48698           From: Karl Fogel <kfogel {_AT_} red-bean.com>
48699           To: Emacs Development <emacs-devel {_AT_} gnu.org>
48700           Subject: [PATCH] Have LaTeX mode use normal double quotes in comments.
48701           Date: Mon, 29 Aug 2016 14:44:12 -0500
48702           Message-ID: <87twe3icmr.fsf@red-bean.com>
48704 2016-08-30  Alan Mackenzie  <acm@muc.de>
48706         Correctly analyze C++ list initialization in member init areas.
48708         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Remove a
48709         superfluous call to c-backward-syntactic-ws.
48710         (c-looking-at-or-maybe-in-bracelist): Change calling convention, so that it
48711         reports encountering the Java "new" keyword.  Add, as an alternative, a check
48712         that we can move back over member initializations, and handle this as finding
48713         a brace block.
48714         (c-looking-at-special-brace-list, c-guess-continued-construct): Adapt to the
48715         new calling convention of c-looking-at-or-maybe-in-bracelist.
48716         (c-guess-basic-syntax, CASE 5A.3): Replace lots of inline ad-hoc code with
48717         calls to c-backward-over-enum-header and c-looking-at-or-maybe-in-bracelist,
48718         using the extra info from the value of that function to generate a
48719         topmost-into-cont element where needed (in Java).
48721         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to the new
48722         calling convention of c-looking-at-or-maybe-in-bracelist.
48724         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Adapt to the new calling
48725         convention of c-looking-at-or-maybe-in-bracelist.
48727 2016-08-30  Michael Albinus  <michael.albinus@gmx.de>
48729         Use `file-attribute-*' in Tramp
48731         * lisp/net/tramp-compat.el (tramp-compat-file-attribute-type)
48732         (tramp-compat-file-attribute-link-number)
48733         (tramp-compat-file-attribute-user-id)
48734         (tramp-compat-file-attribute-group-id)
48735         (tramp-compat-file-attribute-modification-time)
48736         (tramp-compat-file-attribute-size)
48737         (tramp-compat-file-attribute-modes): New defaliases.
48739         * lisp/net/tramp.el (tramp-handle-file-modes)
48740         (tramp-handle-file-newer-than-file-p)
48741         (tramp-handle-file-regular-p, tramp-handle-file-symlink-p)
48742         (tramp-handle-set-visited-file-modtime)
48743         (tramp-handle-verify-visited-file-modtime)
48744         (tramp-get-local-gid, tramp-check-cached-permissions):
48745         * lisp/net/tramp-adb.el (tramp-adb-handle-file-directory-p)
48746         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file):
48747         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
48748         (tramp-gvfs-handle-file-directory-p)
48749         (tramp-gvfs-handle-write-region, tramp-gvfs-get-remote-uid)
48750         (tramp-gvfs-get-remote-gid):
48751         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
48752         (tramp-sh-handle-set-visited-file-modtime)
48753         (tramp-sh-handle-verify-visited-file-modtime)
48754         (tramp-sh-handle-file-newer-than-file-p)
48755         (tramp-sh-handle-file-ownership-preserved-p)
48756         (tramp-do-copy-or-rename-file)
48757         (tramp-do-copy-or-rename-file-via-buffer)
48758         (tramp-do-copy-or-rename-file-directly)
48759         (tramp-do-copy-or-rename-file-out-of-band)
48760         (tramp-sh-handle-file-local-copy)
48761         (tramp-sh-handle-write-region):
48762         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
48763         (tramp-smb-handle-copy-file)
48764         (tramp-smb-handle-file-directory-p)
48765         (tramp-smb-handle-file-writable-p)
48766         (tramp-smb-handle-insert-directory): Use them.
48768 2016-08-30  Martin Rudalics  <rudalics@gmx.at>
48770         In `pop-to-buffer' handle case where `display-buffer' fails (Bug#24332)
48772         * lisp/window.el (pop-to-buffer): Don't assume that
48773         `display-buffer' has supplied a window (Bug#24332).
48774         Rename BUFFER argument to BUFFER-OR-NAME.
48775         * doc/lispref/windows.texi (Switching Buffers): Fix
48776         `pop-to-buffer' documentation.
48778 2016-08-29  Alan Third  <alan@idiocy.org>
48780         Clarify docstrings
48782         * src/nsterm.m: Clarified that ns-x-modifier variables require a symbol.
48784 2016-08-29  Michael Albinus  <michael.albinus@gmx.de>
48786         Use `process-live-p' in Tramp
48788         * lisp/net/tramp-compat.el (tramp-compat-process-live-p): New defun.
48790         * lisp/net/tramp.el (tramp-connectable-p, tramp-handle-file-remote-p)
48791         (tramp-handle-file-notify-valid-p)
48792         (tramp-action-process-alive, tramp-action-out-of-band)
48793         (tramp-wait-for-regexp):
48794         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
48795         (tramp-adb-maybe-open-connection):
48796         * lisp/net/tramp-cache.el (tramp-get-connection-property):
48797         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
48798         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
48799         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
48800         * lisp/net/tramp-sh.el (tramp-process-sentinel)
48801         (tramp-sh-handle-file-notify-add-watch)
48802         (tramp-maybe-open-connection):
48803         * lisp/net/tramp-smb.el (tramp-smb-action-with-tar)
48804         (tramp-smb-handle-copy-directory, tramp-smb-action-get-acl)
48805         (tramp-smb-handle-process-file, tramp-smb-action-set-acl)
48806         (tramp-smb-get-cifs-capabilities)
48807         (tramp-smb-get-stat-capability)
48808         (tramp-smb-maybe-open-connection, tramp-smb-wait-for-output)
48809         (tramp-smb-kill-winexe-function): Use it.
48811 2016-08-29  Eli Zaretskii  <eliz@gnu.org>
48813         Avoid crashes for invalid value of key modifiers
48815         * src/keyboard.c (parse_solitary_modifier): If the argument SYMBOL
48816         is not a symbol, don't try to recognize it.  See
48817         https://lists.gnu.org/r/emacs-devel/2016-08/msg00502.html
48818         for the details.
48820         * test/src/keymap-tests.el (keymap-where-is-internal-test): New
48821         test, for testing the above fix.
48823 2016-08-29  Oleh Krehel  <ohwoeowho@gmail.com>
48825         Make dired-do-compress understand files with spaces in them
48827         * lisp/dired-aux.el (dired-compress-file): Add `shell-quote-argument'
48828           and `literal' flag to `replace-regexp-in-string'.
48830 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
48832         * INSTALL.REPO: Suggest Texinfo 4.13 or later.
48834 2016-08-28  Simen Heggestøyl  <simenheg@gmail.com>
48836         Add tests for dom.el
48838         * test/lisp/dom-tests.el: New file with tests for dom.el.
48840 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
48842         Memory allocator alignment fixes
48844         These changes remove some assumptions about heap allocator
48845         alignment that may not be true on unusual platforms.
48846         * src/alloc.c (POWER_OF_2): New macro.
48847         (ROUNDUP): Use it.
48848         (BLOCK_ALIGN): Verify that it is a power of 2.
48849         (aligned_alloc): Check that alignment passed to posix_memalign
48850         satisfies POSIX restrictions.
48851         (lisp_align_malloc): Check that size passed to aligned_alloc
48852         satisfies C11 restrictions.
48853         (MALLOC_IS_GC_ALIGNED): Check that GCALIGNMENT is 8, since the
48854         code has not been verified to work with other GCALIGNMENT values
48855         and the ice is thin here.  On GNU/Linux, malloc can return a value
48856         that is a multiple of 8 but not 16, even though __alignof__
48857         (max_align_t) is 16.  See:
48858         https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01902.html
48859         (lmalloc) [USE_ALIGNED_ALLOC]: Use aligned_alloc only if size
48860         is a multiple of alignment, since C11 says the behavior is
48861         undefined otherwise.
48862         (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on size_t, as in
48863         general this macro is restricted to signed types.  Remove
48864         assertion that the result is a multiple of GCALIGNMENT, as that
48865         need not be true.
48867 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
48869         Pacify --enable-gcc-warnings for lib-src/pop.c
48871         * lib-src/pop.c: Include c-ctype.h.
48872         (socket_connection): Pacify --enable-gcc-warnings by rewriting to
48873         avoid 'if (v = E) ...'.  Use c_tolower, instead of a combination
48874         of the (undeclared) isupper and tolower.  Fix pointer constness
48875         problem.
48877 2016-08-27  Alan Mackenzie  <acm@muc.de>
48879         Handle the C++ "identifiers" "final" and "override" correctly.
48881         This fixes bug #24319, allowing destructors affixed with these identifiers to
48882         be correctly fontified.
48884         * lisp/progmodes/cc-engine.el (c-forward-type, c-forward-decl-or-cast-1):
48885         After reaching the "end" of a type expression, skip over any occurrences of
48886         c-type-decl-suffix-ws-ids-key.
48888         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "override" and
48889         "final" from the C++ value.
48890         (c-type-decl-suffix-ws-ids-kwds, c-type-decl-suffix-ws-ids-key): New lang
48891         constants/variables for "final" and "override".
48893 2016-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
48895         * lisp/textmodes/page-ext.el (pages-directory-mode): Use special-mode.
48897 2016-08-27  Alan Mackenzie  <acm@muc.de>
48899         Handle template delimiters in C++ member init constructs.
48901         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Add
48902         handling for "<....>"s.
48904 2016-08-26  Eli Zaretskii  <eliz@gnu.org>
48906         Fix etags test suite messed up by merges from emacs-25
48908         * test/manual/etags/go-src/test.go:
48909         * test/manual/etags/go-src/test1.go: Move from test/etags/.
48910         * test/manual/etags/ruby-src/test1.ru: Replace test1.ruby.
48911         * test/etags/: Directory deleted.
48913 2016-08-26  Simen Heggestøyl  <simenheg@gmail.com>
48915         Add "supports" to list of CSS at-rules
48917         * lisp/textmodes/css-mode.el (css-at-ids): Add "supports" at-rule.
48919 2016-08-26  Michael Albinus  <michael.albinus@gmx.de>
48921         * lisp/net/tramp-sh.el (tramp-get-remote-perl): Perform a basic check.
48923         (Bug#22478)
48925 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
48927         Rename option to shell-command-dont-erase-buffer
48929         Suggested by Clément Pit--Claudel in:
48930         https://lists.gnu.org/r/emacs-devel/2016-08/msg00487.html
48931         * lisp/simple.el (shell-command-dont-erase-buffer):
48932         (shell-command--save-pos-or-erase):
48933         (shell-command--set-point-after-cmd):
48934         (shell-command-on-region):
48935         * doc/emacs/misc.texi (shell-command-dont-erase-buffer):
48936         * etc/NEWS (Changes in Emacs 25.2):
48937         Rename from shell-command-not-erase-buffer.
48939 2016-08-25  Alan Mackenzie  <acm@muc.de>
48941         Fix an infinite loop in C++ Mode when we have "{ .... [ .... }"
48943         * lisp/progmodes/cc-fonts.el (c-font-lock-c++-lambda-captures): In the inner
48944         `while' form's condition, check for "\\s)" rather than merely "\\]", so that
48945         the loop won't hang at a "terminating" paren of a different type (due to the
48946         c-syntactic-re-search-forward at the end of the loop stopping at such
48947         characters).
48949 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
48951         call-shell-region: New defun
48953         Suggested by Stefan Monnier in Bug#22679.
48954         * lisp/subr.el (call-shell-region): New defun; execute a command
48955         in an inferior shell with the buffer region as input.
48956         * lisp/simple.el (shell-command-on-region): Use it.
48957         * lisp/gnus/message.el (message-do-fcc): Idem.
48958         * doc/lispref/processes.texi: Document call-shell-region in the manual.
48959         ;* etc/NEWS: Add entry for this new function.
48961 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
48963         In ‘clone-indirect-buffer’ fix argument mixup (Bug#24306)
48965         * lisp/simple.el (clone-indirect-buffer): Add value for ACTION
48966         argument in `pop-to-buffer' call (Bug#24306).
48968 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
48970         Some fixes around `delete-other-frames' and `next-frame'
48972         * src/frame.c (Fdelete_frame): Clarify doc-string.
48973         * lisp/frame.el (delete-other-frames): Delete other frames on
48974         FRAME's terminal instead of the current terminal.  Delete
48975         non-minibuffer-only surrogate frames too.  See
48976         https://lists.gnu.org/r/emacs-devel/2016-08/msg00467.html
48977         * doc/lispref/frames.texi (Deleting Frames): Minor fixes for
48978         docs of `delete-frame' and `frame-live-p'.  Add entry for
48979         `delete-other-frames'.
48980         (Finding All Frames): Fix doc of `next-frame'.
48982 2016-08-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48984         Find message.el thumbnail toggling
48986         * lisp/gnus/message.el (message-toggle-image-thumbnails):
48987         Don't infloop when toggling thumbnails.
48989 2016-08-24  Alan Third  <alan@idiocy.org>
48991         Fix macOS 12 deprecation notices
48993         * src/nsterm.h: Add #defines to allow older versions of macOS to use the
48994         new constant names.
48995         * src/nsmenu.m: Replace old constant names with
48996         new.
48997         (fillWithWidgetValue): Remove calls to deprecated
48998         setMenuChangedMessagesEnabled.
48999         * src/nsterm.m: Replace old constant names with new.
49000         * src/nsfns.m: Replace old constant names with new.
49002 2016-08-23  Alan Mackenzie  <acm@muc.de>
49004         Analyze and fontify correctly a C++ `enum' with colon, but lacking a tag.
49006         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for "enum"
49007         directly preceding the colon, and handle it.
49009 2016-08-23  Noah Friedman  <friedman@splode.com>
49011         * src/xfns.c (Fx_change_window_property): Modify previous change.
49012         Instead of forcing format to 8 for strings, check that the length of
49013         the string is appropriate for whatever format given.
49014         (Fx_window_property_attributes): If prop isn't found on frame's inner window,
49015         try its outer window.  This mimics the behavior of Fx_window_property.
49017 2016-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
49019         Fix invalid image rotations
49021         * lisp/image.el (image-rotate): Limit rotation to 360 degrees.
49023 2016-08-23  Tino Calancha  <tino.calancha@gmail.com>
49025         call-process instead of call-process-region with empty region
49027         * lisp/calc/calc-graph.el (calc-graph-show-tty):
49028         Use call-process and shell-command-switch.
49030 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
49032         Merge from origin/emacs-25
49034         927afa1 ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 RC2
49035         6bf83b5 * etc/AUTHORS: Update the AUTHORS file
49036         73cbb81 ; ChangeLog spelling fixes
49037         9b99772 Some assorted documentation clarifications
49038         37d4723 Improve commentary in src/character.h
49039         5ccd593 ; Fix typo in /etc/NEWS
49040         96e3d16 * etc/NEWS: Mention the change in json-encode-string.
49041         2e524034 ; * etc/NEWS: Mention incompatible change in url-http-create...
49042         2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
49043         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
49045         # Conflicts:
49046         #       ChangeLog.2
49047         #       lisp/ldefs-boot.el
49049 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
49051         Merge from origin/emacs-25
49053         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
49055 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
49057         Merge from origin/emacs-25
49059         8c2946e In NEWS describe new handling of window margins (Bug#24193)
49060         0cee66c Facultatively ignore margins when splitting and resizing wind...
49061         8d68147 Document CATEGORY arg to modify-category-entry
49062         8342e74 Document char-script-table's effect on word motion
49063         e9ff485 Further fix for 'url-http-create-request' and multibyte strings
49064         0695235 Fix docstring of eval-expression
49065         98b01dd Clarify when 'cursor' property is in effect
49066         75f1882 Convert the remaining strings to unibyte before concatenating
49067         d2db5dd Fix bug with handling the bidi cache
49068         ccd0e92 * doc/lispref/text.texi (Change Hooks): Minor copyedits.
49069         f785ff4 Clarify documentation of before/after-change-functions
49070         3c9cb57 Document use of vectors in keymaps
49072         # Conflicts:
49073         #       src/xdisp.c
49075 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
49077         Handle remote file names in gdb-mi.el
49079         * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer):
49080         If `default-directory' is remote, full file names are adapted
49081         accordingly.  (Bug#23608)
49083 2016-08-22  Eli Zaretskii  <eliz@gnu.org>
49085         Display mini-window resized even when there are several frames
49087         * src/xdisp.c (x_consider_frame_title): Bind inhibit-redisplay to
49088         t to avoid resizing back the mini-window as result of considering
49089         the title of other frames.  (Bug#24285)
49090         (redisplay_window): No need to bind inhibit-redisplay here.
49092 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
49094         Explain gdb warning on remote hosts
49096         * doc/misc/tramp.texi (Remote processes): Explain gdb warning
49097         on remote hosts.  (Bug#4604, Bug#6360, Bug#622569)
49099 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
49101         Fix (next-frame nil t) crash (Bug#24281)
49103         * src/frame.c (candidate_frame): Check minibuf argument before
49104         comparing it to zero (Bug#24281).
49106 2016-08-21  Noah Friedman  <friedman@splode.com>
49108         Fix interpretation of signed vs unsigned values when retrieving X
49109         Window properties, and make sure the full value is returned when not
49110         parsed.
49112         New subr to export type and format information about X Window
49113         properties to lisp.
49115         * src/xselect.c (selection_data_to_lisp_data): Treat any data as
49116         unsigned unless its actual type is INTEGER.
49117         CARDINALs, in particular, are unsigned.
49119         * src/xfns.c (Fx_change_window_property): If value is a string, ignore
49120         any provided format and force to 8.
49121         (x_window_property_intern): If returning value as a string, the length
49122         is actual_size times the actual format of each element, which is not
49123         necessarily bytes.
49124         (Fx_window_property_attributes): New subr.
49125         (syms_of_xfns): Declare it.
49127 2016-08-21  Noam Postavsky  <npostavs@gmail.com>
49129         Improve error when installing non-package dirs
49131         * lisp/emacs-lisp/package.el (package-dir-info): Throw meaningful error
49132         when no file with package info is found (Bug #19851).
49134 2016-08-21  Alan Mackenzie  <acm@muc.de>
49136         Adapt CC Mode for C++11 uniform initialization.
49138         For fontification, introduce a new "context", 'non-decl, to be used for
49139         brace
49140         lists; also a new value for the property 'c-type, called 'c-not-decl.
49142         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): Check that
49143         an ostensible symbol we're going to move over isn't a keyword.
49144         (c-forward-decl-or-cast-1): CASE 1: Where we have two consecutive identifiers
49145         (hence a declaration), and an unmatched open paren, perform
49146         c-fdoc-shift-type-backwards to recognize the partial construct correctly.
49147         Whilst checking a type decl expression, check for and handle C++11's "copy
49148         initialization", where we have <type>(<constant>).  Recognize
49149         <id><id>(... (where the paren is unclosed) as a declaration.
49150         (c-looking-at-or-maybe-in-bracelist): New function, extracted from
49151         c-inside-bracelist-p.  Recognize as bracelists "{"s which are preceded by
49152         valid tokens other than "=".  Recognize a bracelist when preceded by a
49153         template declaration.
49154         (c-inside-bracelist-p): Call c-looking-at-or-maybe-in-bracelist in place of
49155         much inline code.
49156         (c-looking-at-inexpr-block): Amend so that it won't wrongly recognize an
49157         initialization starting "({" as an in-expression block, by checking for
49158         semicolons, as opposed to commas, separating elements inside it.
49159         (c-guess-continued-construct): (CASE B-2): Recognize a brace-list-open by
49160         calling c-looking-at-or-maybe-in-bracelist rather than checking for a
49161         preceding "=".  (CASE B-5): New code to recognize new construct "return {
49162         ...}".
49163         (c-guess-basic-syntax): (CASE 5A.3): Additionally recognize a "{" preceded by
49164         "return", or "{" preceded by <type><identifier> as a bracelist.
49166         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize brace
49167         lists, giving them `context' 'non-decl.  Pass over elements of one by regexp
49168         search for "," rather than calling c-forward-decl-or-cast-1.
49170         * lisp/progmodes/cc-langs.el (c-return-kwds, c-return-key): New lang
49171         constants/variables to recognize "return".
49172         (c-pre-id-bracelist-key): New lang constant/variable to recognize tokens
49173         which, when preceding an identifier followed by a brace, signify the brace as
49174         a bracelist.
49176         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When searching outwards for
49177         the start of a "local" declaration, move out from an enclosing brace when
49178         that is the start of a brace list.
49180 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
49182         Update from gnulib
49184         This incorporates:
49185         2016-08-17 maint: preprocessor changes to support z/OS
49186         2016-08-17 string: rename to avoid '__string'
49187         * doc/misc/texinfo.tex, lib/alloca.in.h, lib/string.in.h:
49188         Copy from gnulib.
49190 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
49192         Minor text-quoting-style fixes
49194         * src/charset.c (check_iso_charset_parameter):
49195         * src/frame.c (store_frame_param):
49196         * src/xselect.c (x_fill_property_data):
49197         Use grave accent for left single quote in ‘error’ format strings.
49199 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
49201         Fix semantics of 'minibuffer' frame parameter
49203         The 'minibuffer' frame parameter is now t for a normal frame
49204         (a frame with a root window plus a minibuffer window) and the
49205         frame's minibuffer window for a minibuffer-less frame (a frame
49206         whose minibuffer window is on another frame).  See also:
49207         https://lists.gnu.org/r/emacs-devel/2016-07/msg01259.html
49209         * src/frame.c (make_frame, make_frame_without_minibuffer)
49210         (make_minibuffer_frame): When assigning the frame's minibuffer
49211         window also store corresponding 'minibuffer' frame parameter.
49212         (store_frame_param): Move the 'minibuffer' parameter checks to
49213         the beginning so we can silently override the value before it
49214         gets stored in the parameter alist.  Fix error handling.
49215         (Fframe_parameters): Return value of 'minibuffer' parameter
49216         unmodified.
49218         * lisp/frameset.el (frameset-filter-minibuffer): When the cdr of
49219         the parameter is a minibuffer window, save (minibuffer . nil)
49220         instead of (minibuffer . t).
49221         (frameset--reuse-frame): To find a non-minibuffer-only frame
49222         look out for a frame whose 'minibuffer' parameter is t instead
49223         of that frame's minibuffer window.
49224         (frameset-minibufferless-first-p): To find a minibuffer-less
49225         frame look out for a frame whose 'minibuffer' parameter is a
49226         window instead of nil.
49228 2016-08-20  Alan Mackenzie  <acm@muc.de>
49230         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Resolve overelaborate "nil"
49232 2016-08-20  Alan Mackenzie  <acm@muc.de>
49234         In c-\(go-\)?-\(up-\|down-\)?list-\(forward\|backward\) check limit isn't nil
49236         Check the limit both at macro expansion time (for a hard coded nil) and at run
49237         time in the generated code.  Tidy up these macros generally.
49239         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Check `limit' is present and
49240         not identically nil before generating a narrow-to-region call.  Generate code
49241         to check `limit' is not nil at run time.
49242         (c-go-list-forward, c-go-list-backward): Remove the generation of redundant
49243         narrow-to-region, instead calling c-safe-scan-lists directly.
49244         (c-go-up-list-forward, c-go-up-list-backward, c-go-down-list-forward)
49245         (c-go-down-list-backward): Invoke the corresponding macros without the "go-"
49246         to determine the destination position instead of generating a redundant
49247         narrow-to-region.
49249 2016-08-19  Robert Cochran  <robert-git@cochranmail.com>
49251         * lisp/emacs-lisp/map.el (map--dispatch): Fix docstring
49253         The docstring referenced a non-existant parameter, as well as a
49254         parameter that has been renamed since the docstring was written. Fix
49255         both errors, fixing (Bug#24182).
49257 2016-08-19  Alan Mackenzie  <acm@muc.de>
49259         Amend hack-local-variables-prop-line not always to return any mode on line 1.
49261         This fixes bug #24266.
49263         * lisp/files.el (hack-local-variables-prop-line): Change the name of the
49264         parameter mode-only to handle-mode.  Change its meaning, such that it being
49265         set to a value non-nil and not t removes any mode parameter from the result
49266         list.  Leave its values nil and t with the same meanings they had.
49267         (hack-local-variables): Call hack-local-variables-prop-line appropriately.
49269 2016-08-19  Daiki Ueno  <ueno@gnu.org>
49271         Improve doc string of epg-*-program
49273         * lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program):
49274         Suggest to use Customize when setting.  (Bug#24229)
49276 2016-08-19  Tino Calancha  <tino.calancha@gmail.com>
49278         Add tests for Bug#24264
49280         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
49281         Add test for Bug#24264.
49282         (cl-seq-fill-test, cl-seq-replace-test)
49283         (cl-seq-remove-test ,cl-seq-delete-test)
49284         (cl-seq-remove-duplicates-test, cl-seq-substitute-test)
49285         (cl-seq-nsubstitute-test, cl-seq-position-test)
49286         (cl-seq-count-test, cl-seq-mismatch-test)
49287         (cl-seq-search-test, cl-seq-test-bug24264):
49288         Add tests for all functions in the file; test all keywords.
49290 2016-08-18  Johan Bockgård  <bojohan@gnu.org>
49292         Fix bug in --eval reply message from server
49294         * lisp/server.el (server-reply-print): Fix check for truncated quote
49295         sequence at end of message. Problem reported in:
49296         https://lists.gnu.org/r/emacs-devel/2016-08/msg00101.html
49298 2016-08-18  Eli Zaretskii  <eliz@gnu.org>
49300         Add tests for 'substitute-command-keys'
49302         * test/src/doc-tests.el (doc-test-substitute-command-keys): New
49303         tests.
49305 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
49307         lisp/textmodes/table.el (table-generate-source): Fix completing-read call
49309         Doesn't make sense to pass '(("html") ("latex") ("cals")) to
49310         `completing-read'.
49312 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
49314         lisp/dired-aux.el (dired-compress-file-suffixes): Add entry for tgz
49316         The previous behavior resulted in a "tgz" -> "tar" -> "tgz" loop,
49317         without any files being extracted.
49319 2016-08-18  Andreas Politz  <politza@hochschule-trier.de>
49321         Don't let window start override window point in `window-state-put' (Bug#24240)
49323         * lisp/window.el (window--state-put-2): Set 'noforce argument
49324         when restoring a window's start position.  This avoids that the
49325         effect of `set-window-point' gets overidden by that of
49326         `set-window-start' (Bug#24240).
49328 2016-08-17  Alan Mackenzie  <acm@muc.de>
49330         Fontify constructs following "::" in C++ argument lists correctly - part 2.
49332         This fixes bug #24246.
49334         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Put a
49335         `save-match-data' around the new `looking-at' introduced by the previous CC
49336         Mode patch this evening.
49338 2016-08-17  Alan Mackenzie  <acm@muc.de>
49340         Fontify constructs following "::" in C++ argument lists correctly.
49342         This fixes bug #24246.
49344         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): In the "pseudo
49345         match" loop, test a found string for a match with c-opt-identifier-concat-key
49346         (e.g. with "::").
49348 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
49350         * src/doc.c (Fsubstitute_command_keys): Clarify GC comments.
49352 2016-08-17  K. Handa  <handa@gnu.org>
49354         Fix hz encoding and decoding (bug#23814)
49356         * lisp/language/china-util.el (decode-hz-region): Pay
49357         attention to "~~}" sequence at the end of Chinese character
49358         range.
49359         (hz-category-table): New variable.
49360         (encode-hz-region): Convert non-encodable characters to
49361         \u... and \U...  Preserve ESC on ecoding.  Put
49362         `chinese-gb2312' `charset' text property in advance to force
49363         iso-2022-encoding to select chinese-gb2312 designation.
49365 2016-08-17  Tino Calancha  <tino.calancha@gmail.com>
49367         file-attribute-collect: New defun
49369         * lisp/files.el (file-attribute-collect):
49370         Return a sublist of the attributes returned by 'file-attributes'.
49371         Suggested by Ted Zlatanov in:
49373         https://lists.gnu.org/r/emacs-devel/2016-07/msg01195.html
49375 2016-08-17  Michael Albinus  <michael.albinus@gmx.de>
49377         Fix Bug#24203
49379         * lisp/comint.el (comint-password-prompt-regexp): Relax regexp.  (Bug#24203)
49381 2016-08-16  Karl Fogel  <kfogel@red-bean.com>
49383         Improve doc string.
49385         * src/fileio.c (Ffile_name_as_directory): Be precise about the
49386         conditions under which a slash is appended.
49388 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
49390         Omit substitute-command-keys code no longer needed
49392         * src/doc.c (Fsubstitute_command_keys):
49393         Remove duplicate initializations.
49395 2016-08-16  Tino Calancha  <tino.calancha@gmail.com>
49397         Allow not erase output buffer in shell commands
49399         * lisp/simple.el (shell-command-not-erase-buffer): New option to allow
49400         not erasing the output buffer between shell commands.  Defaults to nil.
49401         (shell-command-on-region): Use it.
49402         (shell-command--save-pos-or-erase): New defun; store a buffer position
49403         if 'shell-command-not-erase-buffer' is non-nil; otherwise
49404         erase the output buffer of the shell command.
49405         (shell-command, shell-command-on-region): Use it.
49406         (shell-command--set-point-after-cmd): New defun;
49407         if 'shell-command-not-erase-buffer' is non-nil, set point
49408         in the output buffer to the position in 'shell-command-saved-pos'.
49409         (shell-command-sentinel, shell-command-on-region): Use it.
49410         * doc/emacs/misc.texi (shell-command-not-erase-buffer):
49411         Document this feature in the manual.
49412         See discussion on:
49413         https://lists.gnu.org/r/emacs-devel/2016-07/msg00610.html
49415 2016-08-16  Michael Albinus  <michael.albinus@gmx.de>
49417         Rearrange Tramp manual title page
49419         * doc/misc/tramp.texi: Move @insertcopying out of the title
49420         page.  Do not use @ifnottex anymore.
49422 2016-08-15  Glenn Morris  <rgm@gnu.org>
49424         * doc/misc/tramp.texi: Adapt 2016-08-14 change for makeinfo 4.
49426 2016-08-15  Alan Mackenzie  <acm@muc.de>
49428         Fix minor bug in c-syntactic-re-search-forward.
49430         Bug was: when NOERROR is neither nil nor t, BOUND is non-nil, PAREN-LEVEL is
49431         non-nil, and the first internal search attempt fails, point wrongly ends up at
49432         BOUND, rather than just before the next closing paren.
49434         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Guard against
49435         the above situation.
49437 2016-08-15  Alan Mackenzie  <acm@muc.de>
49439         Handle C++11 lambda functions.
49441         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): Enhance also to
49442         handle C++ lambda functions.
49443         (c-looking-at-c++-lambda-capture-list): New function.
49445         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize the
49446         parameter list of a lambda function and set `context' and
49447         `c-restricted-<>-arglists' suitably for it.
49448         (c-font-lock-c++-lambda-captures): New function.
49449         (c-complex-decl-matchers): Insert c-font-lock-c++-lambda-captures into it.
49451         * lisp/progmodes/cc-langs.el (c-pre-lambda-tokens, c-pre-lambda-tokens-re):
49452         New language constants/variables.
49453         (c-paren-nontype-kwds): Include "noexcept" in the C++ value.
49455         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Handle being in a C++ lambda
49456         function capture list.
49458 2016-08-15  Michael Albinus  <michael.albinus@gmx.de>
49460         Fix stale cache problem in Tramp
49462         * lisp/net/tramp-cache.el (tramp-get-connection-property):
49463         Check, that a process as key is still running.  (Bug#22478)
49465 2016-08-14  Paul Eggert  <eggert@cs.ucla.edu>
49467         * doc/misc/tramp.texi (Configuration): Fix @xref typo.
49469 2016-08-14  Eli Zaretskii  <eliz@gnu.org>
49471         Another fix for scroll-conservatively and overlay strings
49473         * src/xdisp.c (redisplay_window): Handle also the case where the
49474         calculated window-start point has an overlay string touching it.
49475         (Bug#24179)
49477 2016-08-14  Michael Albinus  <michael.albinus@gmx.de>
49479         Improve handling of defcustoms in tramp
49481         * doc/misc/tramp.texi: Protect all multi-line examples by
49482         @group ... @end group.  Use proper `custom-set-variables'
49483         examples.  Use consequently @option for user options.  Remove
49484         superfluous @cindex and @vindex entries.
49485         (Top): Remove reference to outdated mail archives.
49486         (Configuration): Tune references.
49487         (Default Method): Make `tramp-default-method' and
49488         `tramp-default-method-alist' a @defopt.
49489         (Default User): Make `tramp-default-user' and
49490         `tramp-default-user-alist' a @defopt.
49491         (Default Host): Make `tramp-default-host' and
49492         `tramp-default-host-alist' a @defopt.
49494         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
49495         (tramp-backup-directory-alist, tramp-auto-save-directory)
49496         (tramp-encoding-shell, tramp-encoding-command-switch)
49497         (tramp-encoding-command-interactive, tramp-default-method)
49498         (tramp-default-method-alist, tramp-default-user)
49499         (tramp-default-user-alist, tramp-default-host)
49500         (tramp-default-host-alist, tramp-default-proxies-alist)
49501         (tramp-save-ad-hoc-proxies)
49502         (tramp-restricted-shell-hosts-alist)
49503         (tramp-local-end-of-line, tramp-rsh-end-of-line)
49504         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
49505         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
49506         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
49507         (tramp-terminal-prompt-regexp)
49508         (tramp-operation-not-permitted-regexp)
49509         (tramp-copy-failed-regexp, tramp-process-alive-regexp)
49510         (tramp-syntax, tramp-chunksize)
49511         (tramp-process-connection-type, tramp-connection-timeout)
49512         (tramp-connection-min-time-diff)
49513         (tramp-completion-reread-directory-timeout):
49514         * lisp/net/tramp-adb.el (tramp-adb-program)
49515         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
49516         * lisp/net/tramp-cache.el (tramp-connection-properties)
49517         (tramp-persistency-file-name):
49518         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
49519         (tramp-gvfs-zeroconf-domain)
49520         (tramp-bluez-discover-devices-timeout):
49521         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
49522         (tramp-copy-size-limit, tramp-terminal-type)
49523         (tramp-histfile-override)
49524         (tramp-use-ssh-controlmaster-options, tramp-remote-path)
49525         (tramp-remote-process-environment, tramp-sh-extra-args):
49526         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
49527         (tramp-smb-conf, tramp-smb-winexe-program)
49528         (tramp-smb-winexe-shell-command)
49529         (tramp-smb-winexe-shell-command-switch): Add :require 'tramp.
49531 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
49533         Minor text-quoting-style fixes
49535         * lisp/cus-edit.el (custom-buffer-create-internal):
49536         * lisp/recentf.el (recentf-edit-list):
49537         Follow text-quoting-style preference when quoting in UI strings.
49538         * src/doc.c (Fsubstitute_command_keys): Don’t say that curved
49539         quotes are substituted for, as this is no longer true.
49541 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
49543         Fix substitute-command-keys unibyte, alloc bugs
49545         * src/doc.c (Fsubstitute_command_keys): Fix some problems with
49546         unibyte strings and with buffer allocation.  Make strings
49547         multibyte, to avoid problems with unibyte strings that are not
49548         valid UTF-8 (Bug#24206).  Redo buffer allocation so that it is
49549         O(N), not O(N**2).  Avoid going past the end of the input string
49550         when given invalid input.  Avoid some unlikely problems in
49551         accessing the wrong storage after a GC.
49553 2016-08-13  Joakim Jalap  <joakim.jalap@fastmail.com>
49555         Fix "C-u" when an input method is active
49557         * lisp/international/quail.el (quail-input-method): Defer to the
49558         input method iff 'overriding-terminal-local-map' is
49559         'universal-argument-map' and the given key has no binding there.
49560         (Bug#22958)
49562 2016-08-13  Martin Rudalics  <rudalics@gmx.at>
49564         Fix docs on `display-buffer-below-selected' (Bug#24213)
49566         * lisp/window.el (display-buffer-below-selected): Fix
49567         doc-string (Bug#24213).
49568         * doc/lispref/windows.texi (Display Action Functions): Fix
49569         documentation of `display-buffer-below-selected'.
49571 2016-08-12  Tino Calancha  <tino.calancha@gmail.com>
49573         cl-fill: Rename arguments to cl-seq and cl-item
49575         * lisp/emacs-lisp/cl-seq.el (cl-fill):
49576         Rename arguments to 'cl-seq' and 'cl-item' as elsewhere.
49578 2016-08-12  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
49580         Fix display.texi typo
49582         * doc/lispref/display.texi (Faces): Fix typo.
49584 2016-08-11  Paul Eggert  <eggert@cs.ucla.edu>
49586         Fix process leak with make-network-process
49588         This problem was introduced by the recent async changes (Bug#23808).
49589         * src/process.c (Fmake_process): Move USE_SAFE_ALLOCA later,
49590         so that it follows the start_process_unwind unwind-protect.
49591         Set pid to -1 while the process is being created.
49592         (start_process_unwind): Omit unnecessary emacs_abort test.
49593         (connect_network_socket): Simplify use of counts.  Unwind
49594         bind_polling_period a bit earlier, so that a remove_process
49595         unwind-protect can be added when needed; this is the heart of
49596         the fix.  Undo the unwind-protect just before returning.
49598 2016-08-11  Eli Zaretskii  <eliz@gnu.org>
49600         Avoid annoying re-scroll when buffer has many overlay strings
49602         * src/xdisp.c (redisplay_window): Add better recovery from a
49603         situation where window-start is on buffer position which has a
49604         before-string that includes newlines, with the result that point
49605         is not visible in the window, because the display engine starts
49606         displaying with the before-string.  (Bug#24179)
49608 2016-08-10  Paul Eggert  <eggert@cs.ucla.edu>
49610         Omit unnecessary process initialization
49612         * src/process.c (make_process, Fmake_process)
49613         (Fmake_pipe_process, Fmake_serial_process)
49614         (Fmake_network_process, server_accept_connection):
49615         Omit unnecessary initialization of already-cleared storage.
49617 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
49619         cl-delete-duplicates: Parse :if to have cl-if bound
49621         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
49622         We need also to parse keyword :if, otherwise cl-if
49623         is unbound.
49624         This reverts commit:
49625         68fdbeb917b80e29e0b15506f18f7ed41d8ffdfd
49627 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
49629         cl-delete-duplicates: do not parse :if keyword
49631         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
49632         Parse only the supported keywords.
49634 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
49636         Add compatibility layer for `temporary-file-directory-function'
49638         * lisp/net/tramp-compat.el
49639         (tramp-compat-temporary-file-directory-function): New defalias.
49641         * lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it.
49643         * test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file):
49644         Skip for older Emacs versions.
49646 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
49648         * lisp/comint.el (comint-password-prompt-regexp): Add "PEM" for OpenVPN.
49650         (Bug#24059)
49652 2016-08-10  Vincent Belaïche  <vincentb1@users.sourceforge.net>
49654         Handle nil cell value in compiled printer functions.
49656         * doc/misc/ses.texi (Quick Tutorial): Minor clarification about the
49657         ses-range `!' modifier.
49658         (More on cell printing): Fix this that the fallback printer is
49659         `ses-prin1', not "%S".  That makes a difference for any cell value for
49660         which "%S" would insert a backslash characters.
49662         * lisp/ses.el (ses-local-printer-compile): Handle the nil cell value
49663         --- contrary to emacs-25 branches ses-call-printer does not handle
49664         prior to calling a function printer.  Not doing this would still work
49665         because the compiled function would throw and error and SES would in
49666         the end resort to the ses-prin1 fallback, however this way would not
49667         be in line with the raison d'être of compiling printer which is speed.
49669 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
49671         Turn on lexical-binding in json.el
49673         Measuring with (benchmark-run 100 (json-read-file "foobar.json"))
49674         showed 12-31% reduction in execution time.
49675         * lisp/json.el: Turn on lexical-binding.
49677 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
49679         Nudge WoMan toward lexical-binding
49681         * lisp/woman.el (woman-parse-man.conf, woman-manpath-add-locales):
49682         Use cl-pushnew instead of add-to-list.
49683         (woman-justify-list): Rename to woman-justify-styles.
49684         (woman-justify-styles): New array.
49685         (woman-justify, woman-decode-region, woman2-ad, woman2-na): Use it.
49686         (woman-cached-data): Use cl-pushnew instead of add-to-list.
49688 2016-08-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
49690         Apply changes from commits 3c97b0f758 and 8a38e948b0 to master branch.
49692         Here follows the logs from the two commits which I apply to master.
49694         commit 3c97b0f7589e06aeb1ab0147f0ee32974c32926d
49695         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
49696         Date:   Fri Jul 29 13:44:14 2016 +0200
49698         Fix ses-delete-blanks to delete only blanks + documentation.
49700         * doc/misc/ses.texi (Quick Tutorial): Mention the '!'
49701         'ses-range' modifier as an alternative to 'ses+'.
49702         (Advanced Features): Add a refernce to node 'Nonrelocatable
49703         references' concerning function 'ses-rename-cell'.
49704         (Standard formula functions): Mention the '!' 'ses-range'
49705         modifier as an alternative to 'ses-delete-blanks'.
49706         (More on cell printing): Fix fallback printer
49707         definition.  Minor editorial formatting changes.
49708         (Nonrelocatable references): Document the use of
49709         'ses-rename-cell' as a better way to make cell reference
49710         non-relocatable.
49711         (The data area): Document the presence of local printer
49712         definitions in the data area.
49714         * lisp/ses.el (ses-delete-blanks): Do not remove
49715         *error*.  Any error in an argument should propagate into the
49716         using formula rather than being silently hidden !
49718         commit 8a38e948b039516e70176ebe20c5349e2ade6ac5
49719         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
49720         Date:   Thu Jul 28 19:49:37 2016 +0200
49722         Fix local printer set to left aligned string formatter.
49724         * lisp/ses.el (ses-local-printer-compile): Add missing case
49725         for left-aligned string formatter.
49727 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
49729         * .dir-locals.el (c-noise-macro-names): Remove NONVOLATILE.
49731 2016-08-09  Stefan Monnier  <monnier@iro.umontreal.ca>
49733         * lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing
49735         Change the code which detects and circumvents the case where one of the
49736         variables used in λ-lifting is shadowed, so that it also works when the
49737         shadowing comes before the λ-lifted function (bug#24171).
49739         (cconv--remap-llv): New function, extracted from cconv-convert.
49740         (cconv-convert): Use it, but differently for `let' and `let*'.
49742 2016-08-09  Alan Mackenzie  <acm@muc.de>
49744         CC Mode: check for and fix missing call to before_change_functions.
49746         Fixes bug #24094 and bug #24074.
49748         This can happen with `revert-buffer' or sometimes `find-file', when the file
49749         is already in a buffer, but the file has been changed outside of Emacs.
49751         * lisp/progmodes/cc-mode.el (c-after-change): When we detect a missing
49752         invocation of c-before-change-functions, we assume the changed region is the
49753         entire buffer, and call c-before-change explicitly before proceding.
49755 2016-08-09  Alan Mackenzie  <acm@muc.de>
49757         Make c-deprepertize-CPP work on deletion/insertion of "s.  Fixes bug #24132.
49759         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Rewrite function.
49761 2016-08-09  Michael Albinus  <michael.albinus@gmx.de>
49763         Support $ENV in Tramp
49765         * doc/misc/tramp.texi (Remote processes): Explain setting $ENV.
49767         * etc/NEWS: Explain the "ENV" environment variable in
49768         `tramp-remote-process-environment'.
49770         * lisp/net/tramp-sh.el (tramp-remote-process-environment): Add "ENV=''".
49771         (tramp-open-shell): Read $ENV value from
49772         `tramp-remote-process-environment'.
49773         (tramp-open-connection-setup-interactive-shell): Set values in
49774         proper order.
49776 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
49778         Simplify exec_byte_code via moving decls etc.
49780         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
49781         initializers into decls, and by omitting some unnecessary
49782         changes to ‘top’.  This improves performance a bit on x86-64,
49783         as it happens.
49785 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
49787         Remove interpreter’s byte stack
49789         This improves performance overall on my benchmark on x86-64,
49790         since the interpreted program-counter resides in a machine
49791         register rather than in RAM.
49792         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
49793         is no longer a byte stack to decode.
49794         * src/bytecode.c (struct byte_stack, byte_stack_list)
49795         (relocate_byte_stack): Remove.  All uses removed.
49796         (FETCH): Simplify now that pc is now local (typically, in a
49797         register) and no longer needs to be relocated.
49798         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
49799         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
49800         (exec_byte_code): Allocate a copy of the function’s bytecode,
49801         so that there is no problem if GC moves it.
49802         * src/lisp.h (struct handler): Remove byte_stack member.
49803         All uses removed.
49804         (SAFE_ALLOCA_LISP_EXTRA): New macro, a generalization of
49805         SAFE_ALLOCA_LISP.
49806         (SAFE_ALLOCA_LISP): Use it.
49808 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
49810         Remove arbitrary limit on bytecode maxdepth
49812         * src/bytecode.c (exec_byte_code): Remove MAX_ALLOCA-based limit
49813         on bytecode maxdepth, by using SAFE_ALLOCA_LISP instead of alloca.
49815 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
49817         Tune bytecode quitting
49819         * src/bytecode.c (BYTE_CODE_QUIT): Check for GC, too.  Do the
49820         check only once every 256 times.  This should be good enough, and
49821         improves performance significantly on x86-64 as branch-prediction
49822         typically assumes checking will not be done so the instruction
49823         pipeline stays fuller.
49824         (exec_byte_code): Set up the quit counter.  Don’t call maybe_gc
49825         directly, as BYTE_CODE_QUIT does that now.
49827 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
49829         Simplify BYTE_CODE_SAFE checking
49831         * src/bytecode.c (BYTE_CODE_SAFE): Default to false, so that it
49832         can be used outside #if.  All uses of ‘defined BYTE_CODE_SAFE’
49833         changed to ‘BYTE_CODE_SAFE’.  Use BYTE_CODE_SAFE in plain
49834         expressions instead of #if expressions when this is easy.
49835         (struct byte_stack) [BYTE_CODE_SAFE]: Remove member ‘bottom’,
49836         as it is no longer needed.
49837         (exec_byte_code): Omit #if BYTE_CODE_SAFE when this is easy.
49838         Simplify stack-overflow checking when BYTE_CODE_SAFE.
49840 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
49842         Get BYTE_CODE_METER working again
49844         BYTE_CODE_METER hasn’t worked since 2013, and nobody seems to have
49845         noticed.  Perhaps we should remove it?
49846         * src/bytecode.c (METER_2) [BYTE_CODE_METER]:
49847         Use *aref_addr instead of AREF, since it needs to be an lvalue.
49849 2016-08-08  Eli Zaretskii  <eliz@gnu.org>
49851         Fix cursor position under scroll-conservatively and overlay strings
49853         * src/xdisp.c (try_scrolling): Handle the case where the last
49854         visible screen line of a window displays a before- or after-string
49855         that takes up the whole screen line, and therefore there's no
49856         place to display the cursor, even though the window does seem to
49857         include the position of point.  (Bug#24179)
49859 2016-08-08  Michael Albinus  <michael.albinus@gmx.de>
49861         * lisp/files.el (file-ownership-preserved-p): Fix docstring.  (Bug#23998)
49863 2016-08-07  Paul Eggert  <eggert@cs.ucla.edu>
49865         Tune interpretation of integer arglist descriptor
49867         * src/bytecode.c (exec_byte_code):
49868         Simplify and tune when INTEGERP (args_template).
49870 2016-08-07  Noam Postavsky  <npostavs@gmail.com>
49872         Fix debugging of string-match-p errors
49874         * src/eval.c (call_debugger): Bind inhibit-changing-match-data to nil so
49875         that debugger code that needs to do regexp match won't break
49876         (Bug #23949, Bug #24166, Bug#16294).
49878 2016-08-07  Michael Albinus  <michael.albinus@gmx.de>
49880         Add `make-nearby-temp-file' and `temporary-file-directory'
49882         * doc/lispref/files.texi (Unique File Names):
49883         Introduce `make-nearby-temp-file' and `temporary-file-directory'.
49884         (Magic File Names): Mention `make-nearby-temp-file' and
49885         `temporary-file-directory'.
49887         * etc/NEWS (provided): Mention `make-nearby-temp-file' and
49888         `temporary-file-directory'.
49890         * lisp/files.el (mounted-file-systems): New defcustom.
49891         (temporary-file-directory, make-nearby-temp-file): New defuns.
49892         (normal-backup-enable-predicate): Fix docstring.
49894         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
49895         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
49896         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
49897         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
49898         <make-nearby-temp-file, temporary-file-directory>: Add handler.
49900         * lisp/net/tramp.el (tramp-file-name-for-operation):
49901         Add `make-nearby-temp-file' and `temporary-file-directory'.
49902         (tramp-get-remote-tmpdir): Remove compatibility code.
49903         (tramp-handle-temporary-file-directory)
49904         (tramp-handle-make-nearby-temp-file): New defuns.
49906         * lisp/org/ob-core.el (org-babel-local-file-name):
49907         * lisp/progmodes/gud.el (gud-common-init):
49908         * lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.
49910         * lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.
49912         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
49913         Check `tramp--test-enabled'.
49914         (tramp-test18-file-attributes): Add tests for
49915         `file-ownership-preserved-p'.
49916         (tramp-test27-start-file-process, tramp-test28-shell-command):
49917         Reduce timeouts in `accept-process-output'.
49918         (tramp-test--shell-command-to-string-asynchronously): Add timeout.
49919         (tramp-test29-environment-variables): Remove additional sleep calls.
49920         (tramp-test32-make-nearby-temp-file): New test.
49921         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
49922         (tramp-test33-special-characters)
49923         (tramp-test33-special-characters-with-stat)
49924         (tramp-test33-special-characters-with-perl)
49925         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
49926         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
49927         (tramp-test34-utf8-with-ls)
49928         (tramp-test35-asynchronous-requests)
49929         (tramp-test36-recursive-load, tramp-test37-unload): Rename.
49930         (tramp--test-ftp-p): Simplify check.
49931         (tramp--test-sh-p): New defun.
49932         (tramp-test20-file-modes, tramp-test22-file-times)
49933         (tramp-test26-process-file, tramp-test27-start-file-process)
49934         (tramp-test28-shell-command)
49935         (tramp-test29-environment-variables)
49936         (tramp-test30-vc-registered)
49937         (tramp-test33-special-characters-with-stat)
49938         (tramp-test33-special-characters-with-perl)
49939         (tramp-test33-special-characters-with-ls)
49940         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
49941         (tramp-test34-utf8-with-ls)
49942         (tramp-test35-asynchronous-requests): Use it.
49944 2016-08-06  Michael Albinus  <michael.albinus@gmx.de>
49946         Add missing dcstrings in Tramp, remove chec for obsolee methods
49948         * lisp/net/tramp.el (tramp-progress-reporter-update)
49949         (tramp-unload-file-name-handlers, tramp-get-local-uid)
49950         (tramp-get-local-gid, tramp-get-local-locale):
49951         * lisp/net/tramp-adb.el (tramp-adb-ls-date-regexp)
49952         (tramp-adb-ls-toolbox-regexp, tramp-adb-get-ls-command):
49953         * lisp/net/tramp-compat.el (tramp-compat-funcall):
49954         * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
49955         * lisp/net/tramp-gw.el (tramp-gw-process-filter):
49956         * lisp/net/tramp-sh.el (tramp-get-remote-path)
49957         (tramp-get-remote-locale, tramp-get-ls-command)
49958         (tramp-get-ls-command-with-dired)
49959         (tramp-get-ls-command-with-quoting-style)
49960         (tramp-get-ls-command-with-w-option)
49961         (tramp-get-test-nt-command, tramp-get-file-exists-command)
49962         (tramp-get-remote-ln, tramp-get-remote-perl)
49963         (tramp-get-remote-stat, tramp-get-remote-readlink)
49964         (tramp-get-remote-trash, tramp-get-remote-touch)
49965         (tramp-get-remote-gvfs-monitor-dir)
49966         (tramp-get-remote-inotifywait, tramp-get-remote-id)
49967         (tramp-get-remote-uid-with-id)
49968         (tramp-get-remote-uid-with-perl, tramp-get-remote-python)
49969         (tramp-get-remote-uid-with-python, tramp-get-remote-uid)
49970         (tramp-get-remote-gid-with-id)
49971         (tramp-get-remote-gid-with-perl)
49972         (tramp-get-remote-gid-with-python, tramp-get-remote-gid)
49973         (tramp-get-env-with-u-option): Add missing docstrings.
49975         * lisp/net/tramp.el (tramp-obsolete-methods)
49976         (tramp-warned-obsolete-methods): Remove.
49977         (tramp-find-method): Do not check for obsolete methods any longer.
49979 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
49981         Make sh-mode always use p-s-lookup-properties
49983         This lets functions which rely on syntax-propertize for parsing
49984         work correctly even before font lock has a chance to run.
49986         * lisp/progmodes/sh-script.el (sh-set-shell): Set
49987         parse-sexp-lookup-properties unconditionally (Bug #4920).
49989 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
49991         Fix cl-assert with atomp FORM, non-nil SHOW-ARGS
49993         * lisp/emacs-lisp/cl-macs.el (cl-assert): Don't require that FORM is a
49994         list when showing its (non-existent) arguments (Bug #18587).
49996 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
49998         Don't delete selection after indent-rigidly
50000         * lisp/indent.el (indent-rigidly): Pass `deactivate-mark' as the ON-EXIT
50001         function to `set-transient-map', this prevents `delete-selection-mode'
50002         from deleting the text that was just indented (Bug #20408).
50004 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
50006         Fix byte-compile of interactive closures
50008         * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Put
50009         bindings after docstring and `interactive' form, if any (Bug #24122).
50011 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
50013         Error if --eval arg has text beyond 1 expression
50015         * lisp/startup.el (command-line-1): If --eval argument has more data
50016         than constitutes a single Lisp expression, signal an error (Bug #23159).
50018 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
50020         Fix quoted lambda warning from lexical-let
50022         * lisp/emacs-lisp/cl.el (cl--function-convert): Quote the inner lambda
50023         with `function', not `quote' (Bug #11357).
50025 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
50027         Make emerge always use shell-quote-argument
50029         * lisp/vc/emerge.el (emerge-metachars): Obsolete.
50030         (emerge-protect-metachars): Delete.
50031         (emerge-make-diff-list, emerge-make-diff3-list): Replace all calls to
50032         `emerge-protect-metachars' with `shell-quote-argument' so that shell
50033         quoting is done the same on all system types (Bug #6136).  Also shell
50034         quote `emerge-diff-program' and `emerge-diff3-program'.
50036 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
50038         Fix 'dired-diff' when backup file is in another directory
50040         * lisp/dired-aux.el (dired-diff): Clarify the doc string wrt how
50041         the default for FILE is computed, especially when backup files
50042         are involved.  Support backup files in another directory.
50043         Don't suggest the default FILE if it doesn't exist.  (Bug#24089)
50045 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
50047         Fix the 'T' command in Dired with non_ASCII file names
50049         * lisp/dired-aux.el (dired-do-chxxx): Bind coding-system-for-write
50050         to correctly encode file names passed to the invoked PROGRAM.
50051         (Bug#24162)
50053 2016-08-05  Noam Postavsky  <npostavs@gmail.com>
50055         * lisp/files.el (version-control): Drop :group vc (Bug #14687)
50057 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
50059         Merge from origin/emacs-25
50061         d841a03 ; Spelling fix
50062         a6ae479 Post AppDefined events from the main thread ONLY (bug#23934)
50063         d35d398 Update to the AUTHORS file for Bob Weiner
50064         4d2f4df Revert "Fix local printer set to left aligned string formatter."
50065         cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + documen...
50066         f7ceb8e Revert "Fix English."
50067         baa7abd Improve doc strings of 'gud-gdb' and 'gdb'
50068         aa4271a Fix doc string of 'minibuffer-message-timeout'
50069         b275cc7 Fix English.
50070         3c97b0f Fix ses-delete-blanks to delete only blanks + documentation.
50071         272391f profiler: document prefix arg for tree expansion
50072         442cc39 Clarify usage of eshell-visual-options
50073         b443c3c Fix comment in files-in-below-directory
50074         8a38e94 Fix local printer set to left aligned string formatter.
50075         0f0b191 ; Fix typos in NEWS
50076         6bdf687 ; * etc/NEWS: Remove temporary marks
50078 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
50080         Merge from origin/emacs-25
50082         d08afa1 * etc/AUTHORS: Update the AUTHORS file
50083         2668500 ;; * ChangeLog.2: ChangeLog update.
50084         7acfaea ; ChangeLog fixes
50085         97d28b4 * admin/authors.el (authors-valid-file-names): Addition.
50086         9ab52f6 * admin/authors.el: Additions.
50087         0e646c7 Warn about Cairo-related problems
50088         bc4c07f Don't let completion break `declare' handling
50089         66f95e0 Adjust match data before calling after-change-funs
50090         52cf0d5 Do not show string-rectangle preview if minibuffer is empty
50091         6a3d031 * etc/PROBLEMS: Add entry about selection problems under Plas...
50093         # Conflicts:
50094         #       ChangeLog.2
50095         #       src/lisp.h
50097 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
50099         Merge from origin/emacs-25
50101         9a41cd1 ; Fix typo
50102         9356fe2 Expand FIXME near definition of fboundp
50103         219b39f kill-rectangle should mention killed-rectangle
50104         59fa4c3 Avoid assertion violations in nhexl-mode
50106 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
50108         Merge from origin/emacs-25
50110         9ba51ed Document buffer-swap-text+save-excursion interaction
50111         452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug...
50112         248d5dd Include cl-generic in package--builtin-versions (bug#22817)
50113         8f5a8b6 Improve timing in `tramp-test29-environment-variables'
50114         05ba7a0 Add test for handling environment variables in Tramp
50115         e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st...
50116         5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo.  (Bug#23913)
50117         90f2169 ; Spelling fixes
50118         069fc05 Improve documentation of search functions
50119         0a0144a Delete environment variables in Tramp when needed
50120         f624671 Add "New in Emacs 25" section to the FAQ
50121         658daf9 Fix 'vertical-motion' in non-interactive sessions
50122         686b520 Fix memory leak in imagemagick-types
50123         4069b71 Update ELisp manual to match 'string-collate-equalp' doc string
50124         1b2d6a6 Clarify docstring of find-feature-regexp
50125         aac62a6 Add details to cl-lib defining macros' docstrings
50126         d6aa4da Clarify doc string of 'save-buffer'
50127         03bcf11 Un-confuse doc string of 'string-collate-equalp'
50128         c53135b Clarify documentation of 'mouse-on-link-p'
50130         # Conflicts:
50131         #       lisp/emacs-lisp/eieio-core.el
50133 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
50135         Merge from origin/emacs-25
50137         6f285d9 Amend last addition to etc/PROBLEMS
50138         7067890 * etc/PROBLEMS: Mention GTK+ problem with unexpected frame wi...
50140 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
50142         Merge from origin/emacs-25
50144         d4c6774 Fix missing point information in undo
50145         3a9d629 Avoid crashes when buffer modification hooks clobber match data
50146         178b2f5 Note combine-and-quote-strings doesn't shell quote
50147         dec7567 Explain when package-initialize isn't called
50148         113d1e2 Fix escaping in sh-indent-after-continuation docstr
50149         80e2044 ; * etc/NEWS: Improve previous change.
50150         5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars.
50151         38f4b8e Clarify the documentation of back-references in replacements
50153 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
50155         Merge from origin/emacs-25
50157         850ba44 Clarify lexical binding with symbol args behavior
50158         f981b31 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.
50159         68fc964 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.  (Bug#23...
50160         21110af Avoid assertion violations when rendering some fonts
50161         6192b6c Document more details of package activation
50162         272ddc6 Fixup warning message regarding HOME a bit more
50163         43206d6 * lisp/leim/quail/indian.el ("bengali-probhat"): Change indic...
50164         d41f7ff Fix input method "probhat" for Bengali
50165         c150a64 ; Fix typo in commit before last
50166         ebf0472 Add to elisp-completion-at-point's docstring
50167         fd9fad0 Give more helpful warning about setting HOME
50168         ea6b01d ; * lisp/term.el (term-mode): FIXME comment about bidi reorde...
50170         # Conflicts:
50171         #       lisp/term.el
50173 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
50175         Merge from origin/emacs-25
50177         26d4da0 New input method "probhat" for Bengali
50178         4f445bf ; Spelling fix
50179         f403f03 ; Fix typo
50181 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
50183         Spelling and minor grammar fixes
50185         * test/file-organization.org: Rename from test/file-organisation.org.
50187 2016-08-04  Alan Mackenzie  <acm@muc.de>
50189         Widen in certain low level CC Mode functions.  This fixes bug #24148.
50191         * lisp/progmodes/cc-engine.el (c-state-semi-pp-to-literal)
50192         (c-state-full-pp-to-literal): Widen around the functionality.
50193         (c-parse-ps-state-below): Correct the order of save-excursion and
50194         save-restriction.
50196 2016-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
50198         Fix Bug#24149
50200         * lisp/subr.el (set-transient-map): Don't wait if MAP not present in
50201         overriding-terminal-local-map.  (Bug#24149)
50203 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
50205         Update from gnulib
50207         This incorporates:
50208         2016-07-03 mktime: call tzset as per POSIX
50209         * doc/misc/texinfo.tex, lib/mktime.c, m4/mktime.m4:
50210         Copy from gnulib.
50212 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
50214         Fix GnuTLS includes
50216         * src/gnutls.c [HAVE_GNUTLS]: Don’t include gnutls/gnutls.h
50217         a second time; although it doesn’t hurt, it’s not needed.
50218         * src/sysdep.c [!HAVE_GNUTLS]: Don’t include gnutls/crypto.h,
50219         as it may not be available.  Problem reported by Glenn Morris in:
50220         https://lists.gnu.org/r/emacs-devel/2016-08/msg00100.html
50222 2016-08-03  Michal Nazarewicz  <mina86@mina86.com>
50224         Fix accessing regex-resources in out-of-tree test runs in regex-tests
50226         [82a487d: Fix reading of regex-resources in regex-tests] attempted to
50227         fix regex-tests failing when run from the source tree (i.e. via make)
50228         by hard-coding path to regex-resources directory relative to the test
50229         directory.
50231         This fixed runs from the tree but broke the test when run using other
50232         methods.
50234         Fix by trying ‘load-file-name’ or ‘buffer-file-name’, whichever is set.
50236         * test/src/regex-tests.el (regex-tests--resources-dir): New variable
50237         storing path to the regex-resources directory.
50238         (regex-tests-generic-line): Use aforementioned variable.
50240 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
50242         Simplify by assuming GnuTLS 2.12.2 or later
50244         * src/gnutls.c (gnutls_certificate_details):
50245         * src/sysdep.c: Assume GnuTLS 2.12.2 or later.
50247 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
50249         Port to systems lacking GNUTLS_NONBLOCK
50251         Problem reported by Colin Baxter in:
50252         https://lists.gnu.org/r/emacs-devel/2016-08/msg00096.html
50253         * src/gnutls.c (Fgnutls_boot): Don’t assume GNUTLS_NONBLOCK is defined.
50255 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
50257         Fix non-blocking GnuTLS with slow connection
50259         Although the problem is reported for OS X (Bug#23982), it seems to
50260         be possible on other POSIXish platforms.
50261         * src/gnutls.c (emacs_gnutls_nonblock_errno) [!WINDOWSNT]:
50262         New function.
50263         (emacs_gnutls_handshake) [!WINDOWSNT]:
50264         Use it as the errno function, if non-blocking.
50265         (Fgnutls_boot): Use GNUTLS_NONBLOCK if non-blocking.
50267 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
50269         Require GnuTLS 2.12.2 or later
50271         * configure.ac, etc/NEWS: Require GnuTLS 2.12.2 or later,
50272         instead of merely 2.6.6 or later (Bug#23982#20).
50273         * src/gnutls.c (init_gnutls_functions, emacs_gnutls_handshake)
50274         [WINDOWSNT]: Don’t bother with gnutls_check_version or
50275         gnutls_transport_set_lowat, as they are no longer needed now that
50276         we require gnutls 2.12.2 or later.
50278 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
50280         * src/window.c (sanitize_window_sizes): Remove unused arg `frame'
50282         * src/window.h (sanitize_window_sizes): Adjust prototype.
50283         * src/frame.c (adjust_frame_size): Adjust calls.
50285 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
50287         Fix (mapcar F S) crash when F alters S’s length
50289         * src/fns.c (mapcar1): Return number of elements computed,
50290         which can be less than LENI if the function alters the list.
50291         All callers changed.  (Bug#24118)
50293 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
50295         Port window changes to --enable-gcc-warnings
50297         * src/window.c (sanitize_window_sizes): Return void.
50298         This pacifies GCC, and no caller uses the return value anyway.
50300 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
50302         * src/window.c: Fix bootstrap failure due to window.el changes
50304         (sanitize_window_sizes): Adjust to new calling convention of
50305         window--sanitize-window-sizes and only call it if defined.
50306         (Fwindow__sanitize_window_sizes): Remove.
50307         (syms_of_window): Don't defsubr it.
50309 2016-08-02  Michael Albinus  <michael.albinus@gmx.de>
50311         Fix Bug#23883
50313         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
50314         Call `process-actions' with adapted position.  The connection
50315         buffer might have been cleaned up already.  (Bug#23883)
50317 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
50319         Port regex changes to strict ISO C
50321         * src/regex.c (regex_compile): Redo casts.
50323 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
50325         * lisp/window.el: Use lexical-binding
50327         (window--min-size-ignore-p): Remove unused arg `horizontal'.
50328         (window--sanitize-window-sizes): Remove unused arg `frame'.
50329         (window-edges): Remove unused vars left-off and right-off.
50330         (display-buffer-reuse-mode-window): Remove unused var `frame?'.
50331         Avoid extraneous setq and do a bit of CSE.
50332         (fit-frame-to-buffer): Remove unused vars `window', `fit-width',
50333         and `toolbar-extra-height'.
50334         (window-adjust-process-window-size): Remove unused arg `process'.
50336 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
50338         Fix unused lexical variable
50340         This fixes the following warning:
50342             In toplevel form:
50343             src/regex-tests.el:416:1:Warning: Unused lexical variable ‘newline’
50345         * test/src/regex-tests.el (regex-tests-BOOST): Remove unused lexical
50346         variable.
50348 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
50350         Remove unused STREQ macro
50352         This fixes the following compilation warning:
50354             regex.c:516:0: warning: macro "STREQ" is not used [-Wunused-macros]
50355              #define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
50356              ^
50358         * src/regex.c (STREQ): Remove unused macro.  It should have been removed
50359         in a [4538a5e: Refactor regex character class parsing in [:name:]]
50360         commit but was mistakenly left out.
50362 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
50364         * lisp/emacs-lisp/cl-generic.el: Fix problems introduced by new
50365         load-history format
50367         * lisp/emacs-lisp/cl-generic.el (cl--generic-load-hist-format): New function.
50368         (cl-generic-define-method, cl--generic-describe): Use it.
50369         (cl--generic-search-method): Adjust for new format.
50371         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
50372         * test/lisp/progmodes/elisp-mode-tests.el:
50373         Use cl--generic-load-hist-format rather than hard-coding cl-generic's
50374         internal format.
50376 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
50378         Hardcode regex syntax to remove dead code handling different syntax
50380         Emacs only ever uses its own regex syntax so support for other syntaxes
50381         is never used.  Hardcode the syntax so that the compilar can detect such
50382         dead code and remove it from compiled code.
50384         The only exception is RE_NO_POSIX_BACKTRACKING which can be separatelly
50385         specified.  Handle this separatelly with a function argument (replacing
50386         now unnecessary syntax argument).
50388         With this patchset, size of Emacs binary on x86_64 machine is reduced by
50389         around 60 kB:
50391                 new-sizes:-rwx------ 3 mpn eng 30254720 Jul 27 23:31 src/emacs
50392                 old-sizes:-rwx------ 3 mpn eng 30314828 Jul 27 23:29 src/emacs
50394         * src/regex.h (re_pattern_buffer): Don’t define syntax field #ifdef emacs.
50395         (re_compile_pattern): Replace syntax with posix_backtracking argument.
50397         * src/regex.c (print_compiled_pattern): Don’t print syntax #ifdef emacs.
50398         (regex_compile): #ifdef emacs, replace syntax argument with
50399         posix_backtracking which is now used instead of testing for
50400         RE_NO_POSIX_BACKTRACKING syntax.
50401         (re_match_2_internal): Don’t access bufp->syntax #ifndef emacs.
50402         (re_compile_pattern): Replace syntax with posix_backtracking argument.
50404         * src/search.c (compile_pattern_1): Pass boolean posix_backtracking
50405         instead of syntax to re_compile_pattern.
50407 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
50409         Get rid of re_set_whitespace_regexp
50411         * src/regex.h (re_set_whitespace_regexp): Delete.
50412         (re_compile_pattern): Add whitespace_regexp argument #ifdef emacs.
50414         * src/regex.c (re_set_whitespace_regexp, whitespace_regexp): Delete.
50415         (regex_compile): Add whitespace_regexp argument #ifdef emacs and wrap
50416         whitespace_regexp-related code in an #ifdef emacs so it’s compiled out
50417         unless building Emacs.
50418         (re_compile_pattern): Pass whitespace_regexp argument to regex_compile
50420         * src/search.c (compile_pattern_1): Don’t use re_set_whitespace_regexp,
50421         pass the regex as argument to re_compile_pattern instead.
50423 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
50425         Get rid of re_set_syntax
50427         Instead of using a global variable for storing regex syntax, pass it
50428         to re_compile_pattern.  This is only enabled when compiling Emacs (i.e.
50429         ‘#ifdef emacs’).
50431         * src/regex.h (re_set_syntax): Declare only #ifndef emacs.
50432         (re_compile_pattern): Now takes syntax argument #ifdef emacs.
50434         * src/regex.c (re_syntax_options): Define only #ifndef emacs.
50435         (re_compile_pattern): Use the new syntax argument #ifdef emacs.
50437         * src/search.c (compile_pattern_1): Don’t use re_set_syntax and
50438         instead pass syntax to re_compile_pattern directly.
50440 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
50442         Remove dead opcodes in regex bytecode
50444         There is no way to specify before_dot and after_dot opcodes in a regex
50445         so code handling those ends up being dead.  Remove it.
50447         * src/regex.c (print_partial_compiled_pattern, regex_compile,
50448         analyze_first, re_match_2_internal): Remove handling and references to
50449         before_dot and after_dot opcodes.
50451 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
50453         Refactor regex character class parsing in [:name:]
50455         re_wctype function is used in three separate places and in all of
50456         those places almost exact code extracting the name from [:name:]
50457         surrounds it.  Furthermore, re_wctype requires a NUL-terminated
50458         string, so the name of the character class is copied to a temporary
50459         buffer.
50461         The code duplication and unnecessary memory copying can be avoided by
50462         pushing the responsibility of parsing the whole [:name:] sequence to
50463         the function.
50465         Furthermore, since now the function has access to the length of the
50466         character class name (since it’s doing the parsing), it can take
50467         advantage of that information in skipping some string comparisons and
50468         using a constant-length memcmp instead of strcmp which needs to take
50469         care of NUL bytes.
50471         * src/regex.c (re_wctype): Delete function.  Replace it with:
50472         (re_wctype_parse): New function which parses a whole [:name:] string
50473         and returns a RECC_* constant or -1 if the string is not of [:name:]
50474         format.
50475         (regex_compile): Use re_wctype_parse.
50476         * src/syntax.c (skip_chars): Use re_wctype_parse.
50478 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
50480         Split regex glibc test cases into separet tests
50482         * test/src/regex-tests.el (regex-tests): Remove and split into multiple
50483         tests cases.
50484         (regex-tests-glbic-BOOST, regex-tests-glibc-PCRE,
50485         regex-tests-glibc-PTESTS, regex-tests-glibc-TESTS): New test cases split
50486         from ‘regex-tests’.
50488 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
50490         Don’t (require 'cl)
50492         * test/src/regex-tests.el: Don’t (require 'cl).
50493         (regex-tests-PCRE): s/loop/cl-loop/
50495 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
50497         Fix reading of regex-resources in regex-tests
50499         * test/src/regex-tests.el (regex-tests-generic-line): Referring to
50500         ‘buffer-file-name’ does not work when running the test from command
50501         line, i.e. via make, which results in (wrong-type-argument stringp nil)
50502         failures.  Replace it with hard-coded path.
50503         (regex-tests-BOOST, regex-tests-PCRE, regex-tests-PTESTS-whitelist,
50504         regex-tests-TESTS-whitelist): ‘regex-tests-generic-line’ now  includes
50505         the ‘regex-resources’ path component so the tests don’t need to specify
50506         it explicitly.
50508 2016-08-02  Dima Kogan  <dima@secretsauce.net>
50510         Added driver for the regex tests
50512         * test/src/regex-tests.el (regex-tests): Test executing glibc tests
50513         cases.
50515         [mina86@mina86.com: merged test with existing file]
50517 2016-08-02  Dima Kogan  <dima@secretsauce.net>
50519         New regex tests imported from glibc 2.21
50521         * test/src/regex-resources/BOOST.tests:
50522         * test/src/regex-resources/PCRE.tests:
50523         * test/src/regex-resources/PTESTS:
50524         * test/src/regex-resources/TESTS:
50525         New test data files
50527         [mina86@mina86.com: Moved files from test/src/regex/* to test/src/*.]
50529 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
50531         Fix use-after-close in connect_network_socket
50533         * src/process.c (connect_network_socket):
50534         Reverse sense of previous fix.  Problem reported by Ken Brown in:
50535         https://lists.gnu.org/r/emacs-devel/2016-08/msg00004.html
50537 2016-08-01  Glenn Morris  <rgm@gnu.org>
50539         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
50540         Respect autoload-timestamps for "actual autoloads are elsewhere" case.
50542 2016-07-31  Stefan Merten  <stefan@merten-home.de>
50544         * lisp/textmodes/rst.el: Major refactoring, minor changes, minor fixes
50546         (rst-Ado, rst-Hdr, rst-Ttl, rst-Stn): Introduce classes
50547         representing reStructuredText section header concepts.
50548         (rst-mode-map, rst-new-preferred-hdr)
50549         (rst-update-section, rst-classify-adornment)
50550         (rst-ttl-at-point, rst-all-ttls-cache)
50551         (rst-hdr-hierarchy-cache, rst-reset-section-caches)
50552         (rst-all-ttls, rst-infer-hdr-hierarchy, rst-hdr-hierarchy)
50553         (rst-all-ttls-with-level, rst-get-previous-hdr)
50554         (rst-adornment-complete-p, rst-next-hdr, rst-adjust)
50555         (rst-adjust-section, rst-promote-region)
50556         (rst-display-hdr-hierarchy, rst-straighten-sections)
50557         (rst-all-stn, rst-remaining-stn, rst-toc-insert)
50558         (rst-toc-insert-node, rst-toc-node, rst-toc)
50559         (rst-forward-section, rst-adornment-level)
50560         (rst-font-lock-handle-adornment-pre-match-form)
50561         (rst-imenu-convert-cell, rst-imenu-create-index): Refactor
50562         using classes.
50563         (rst-compare-adornments, rst-get-adornment-match): Remove
50564         functions now in classes.
50565         (rst-re-alist-def, rst-toc-mode)
50566         (rst-font-lock-extend-region-extend): Minor improvements.
50567         (rst-mode, rst-compile): Use `setq-local'.
50568         (rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
50569         (rst-official-version, rst-official-cvs-rev)
50570         (rst-package-emacs-version-alist): Maintain version tags.
50572 2016-07-30  Martin Rudalics  <rudalics@gmx.at>
50574         Fix calculation of tool bar width reported by `frame-geometry' (Bug#24107)
50576         * src/w32fns.c (Fw32_frame_geometry): Fix calculation of tool
50577         bar width (Bug#24107).  Reindent.
50578         * src/xfns.c (frame_geometry): Fix calculation of tool bar
50579         width on non-GTK builds.
50581 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
50583         Fix region display while dragging mouse
50585         * lisp/mouse.el (mouse-drag-track): Reset deactivate-mark in the
50586         buffer of the drag event, to allow mark to be set and the region
50587         be shown as we drag the mouse.  (Bug#24030)
50589 2016-07-30  Tino Calancha  <tino.calancha@gmail.com>
50591         Copy just non-empty strings to kill-ring
50593         * lisp/dired.el (dired-copy-filename-as-kill):
50594         Do not change the kill ring when the string is empty (Bug#24103).
50596 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
50598         Avoid warnings about undo list while decoding
50600         * src/coding.c (coding_restore_undo_list): New function.
50601         (decode_coding_gap, decode_coding_object): Temporarily set the
50602         buffer's undo list to t, to avoid warnings when decoding changes
50603         the buffer many times, e.g. due to post-read-conversion.  Use
50604         coding_restore_undo_list to make sure the undo list is restored.
50605         (Bug#23813)
50607 2016-07-28  Noam Postavsky  <npostavs@gmail.com>
50609         profiler: Add mouse-1 binding for tree expansion
50611         (profiler-report-mode-map): Add mouse-1 binding for
50612         profiler-report-toggle-entry (Bug #13455).
50614 2016-07-28  Vincent Belaïche  <vincentb1@users.sourceforge.net>
50616         Enable addition of local printers from a mode hook.
50618         * doc/misc/ses.texi (Printer functions): Split the node into 5
50619         sub-nodes + add some extra documentation.
50620         (Various kinds of printer functions): Make an itemization to
50621         disintguish better the 3 types of printers, give an example of
50622         lambda printer definition.
50623         (Standard printer functions): Add documentation for ses-prin1
50624         printer function.
50625         (Local printer functions): Add documentation for creating
50626         local printers programmatically from a hook.
50627         (Writing a lambda printer function): Add documentation about
50628         anti-stackoverflow precautions to take when you call the
50629         standard printer functions from inside a local printer.
50631         * lisp/ses.el (ses-standard-printer-functions): Add ses-prin1
50632         among standard printer function, and update docstring
50633         accordingly.
50634         (ses-call-printer, ses-export-tab): Call `ses-prin1' instead
50635         of prin1-to-string.
50636         (ses-define-local-printer): Add definition to arguments so
50637         that a local printer can be defined programmatically from a
50638         mode hook.  Make docstring more substantial.  Use completing
50639         read for local printer name input.  Plus some minor
50640         optimization.
50641         (ses-define-if-new-local-printer): New defsubst.
50642         (ses-center, ses-center-span, ses-dashfill)
50643         (ses-dashfill-span, ses-tildefill-span): Allow to pass printer
50644         as an optional argument to superseed column printer/default
50645         spreadsheet printer.
50646         (ses-prin1): New defun.
50648 2016-07-27  Ted Zlatanov  <tzz@lifelogs.com>
50650         Prompt to save gnus-cloud-method.
50652         Since `gnus-cloud-method' is a defcustom, when it's set, we should
50653         prompt the user to save it, so the customization is not lost on
50654         restart.
50656         * lisp/gnus/gnus-srvr.el (gnus-server-toggle-cloud-method-server):
50657         Prompt to save the customization of `gnus-cloud-method'.
50659 2016-07-27  Ken Brown  <kbrown@cornell.edu>
50661         Fix dired-test-bug22694
50663         * test/lisp/dired-tests.el (dired-test-bug22694): Delete the
50664         "bug22694" directory, if it exists, before running the test.  It
50665         might be left over from a previous aborted run of the test.
50667 2016-07-27  Michal Nazarewicz  <mina86@mina86.com>
50669         Fix ‘is multibyte’ test regex.c’s mutually_exclusive_p (bug#24020)
50671         * src/regex.c (mutually_exclusive_p): Fix how whether character is
50672         unibyte is tested when calling execute_charset function.  This bug has
50673         been introduced by [6dc6b00: Fix ‘[[:cc:]]*literal’ regex failing to
50674         match ‘literal’] which dropped a call to IS_REAL_ASCII (c) macro.
50675         Reinstitute it.
50677 2016-07-27  Tino Calancha  <tino.calancha@gmail.com>
50679         Remove hook when disabling ibuffer-auto-mode
50681         * lisp/ibuf-ext.el (ibuffer-auto-mode):
50682         Remove 'ibuffer-auto-update-changed' from 'post-command-hook'.
50684 2016-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
50686         * lisp/subr.el (cancel-change-group): Reset cell in case of error
50688         Since the setcdr/setcdr is supposed to be temporary, use unwind-protect
50689         to make sure we properly undo the temporary change even in case of error.
50691 2016-07-26  Eli Zaretskii  <eliz@gnu.org>
50693         Avoid segfaults in compute_motion
50695         * src/indent.c (compute_motion): Don't turn on and don't use the
50696         width cache unless the buffer's width-table is non-nil.  This
50697         avoids segfaults because code that uses the width cache assumes
50698         the width-table exists.  (Bug#24064)
50700 2016-07-26  Nicolas Petton  <nicolas@petton.fr>
50702         Do not sharp-quote lambdas
50704         * lisp/progmodes/sql.el: Remove sharp-quotes in lambdas.
50706 2016-07-25  Ted Zlatanov  <tzz@lifelogs.com>
50708         * lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Fix
50709         'base64-gzip encoding.
50711 2016-07-25  Andrew Hyatt  <ahyatt@gmail.com>
50713         Add warning to format-alist docs.
50715         */doc/lispref/files.texi (format-alist) Change documentation for
50716         format-alist to warn against file modifications when formatting, which
50717         leads to incorrect results.  (Bug#5440)
50719         Changes suggested by Eli.
50721 2016-07-25  Katsumi Yamaoka  <yamaoka@jpl.org>
50723         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
50724         Preserve key bindings that shr adds (bug#23964).
50726 2016-07-25  Michal Nazarewicz  <mina86@mina86.com>
50728         Fix ‘[[:cc:]]*literal’ regex failing to match ‘literal’ (bug#24020)
50730         The regex engine tries to optimize Kleene star by avoiding backtracking
50731         when it can detect that star’s operand cannot match what follows it in
50732         the pattern.
50734         For example, when ‘[[:alpha:]]*1’ tries to match a ‘foo’, the engine
50735         will test the longest match for ‘[[:alpha:]]*’, namely ’foo’ which is
50736         the entire string.  Literal digit one still present in the pattern will
50737         however not match the remaining empty string.
50739         Normally, backtracking would be performed trying a shorter match for the
50740         character class (namely ‘fo’ leaving ‘o’ in the string), but since the
50741         engine knows whatever would be put back into the string cannot possibly
50742         match literal digit one so no backtracking will be attempted.
50744         In the regexes of the form ‘[[:CC:]]*X’, the optimization can be applied
50745         if the character class CC does not match character X.  In the above
50746         example, this holds because digit one is not in alpha character class.
50748         This test is performed by mutually_exclusive_p function but it did not
50749         check class bits of a charset opcode.  This resulted in an assumption
50750         that character classes do not match multibyte characters.  For example,
50751         it would incorrectly conclude that [[:alpha:]] doesn’t match ‘ż’.
50753         This, in turn, led to the aforementioned Kleene star optimization being
50754         incorrectly applied in patterns such as ‘[[:graph:]]*☠’ (which should
50755         match ‘☠’ but doesn’t as can be tested by executing
50756             (string-match-p "[[:graph:]]*☠" "☠")
50757         which should return 0 but instead yields nil.
50759         This issue affects any class witch matches multibyte characters, i.e.
50760         if ‘[[:cc:]]’ matches a multibyte character X then ‘[[:cc:]]*X’ will
50761         fail to match ‘X’.
50763         * src/regex.c (executing_charset): A new function for executing the
50764         charset and charset_not opcodes.  It performs check on the character
50765         taking into consideration existing bitmap, range table and class bits.
50766         It also advances the pointer in the regex bytecode past the parsed
50767         opcode.
50768         (CHARSET_LOOKUP_RANGE_TABLE_RAW, CHARSET_LOOKUP_RANGE_TABLE): Removed.
50769         Code now included in executing_charset.
50770         (mutually_exclusive_p, re_match_2_internal): Changed to take advantage
50771         of executing_charset function.
50773         * test/src/regex-tests.el: New file with tests for the character class
50774         matching.
50776 2016-07-25  Nicolas Petton  <nicolas@petton.fr>
50778         Fix auto-reverting image-mode buffer (bug#21598)
50780         When auto-reverting an image buffer, `image-mode' is not called since
50781         `revert-buffer' is called with `preserve-modes' set to non-nil.
50783         * lisp/image-mode.el (image-after-revert-hook): Check if there is an
50784         image display property for the current buffer before updating it.
50786 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
50788         ‘signal’ no longer returns
50790         Although for decades ‘signal’ has been documented to not return,
50791         a corner case in the Lisp debugger causes ‘signal’ to return.
50792         Remove the corner case and adjust Emacs internals accordingly.
50793         An alternative would be to document the corner case, but this
50794         would complicate the Lisp API unnecessarily.  (Bug#24047)
50795         * src/eval.c (signal_or_quit): New function, with most of the
50796         old contents of Fsignal.
50797         (quit): New function, which uses signal_or_quit and which
50798         might return.  All keyboard-based callers of Fsignal (Qquit,
50799         Qnil) changed to use this new function instead.
50800         (Fsignal): Use signal_or_quit.  Now _Noreturn.  All callers
50801         changed.
50802         (xsignal): Move to lisp.h.
50803         * src/lisp.h (xsignal): Now an inline function, as it's now
50804         just an alias for Fsignal.
50806 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
50808         Require libgnutls unless --with-gnutls=no
50810         * configure.ac: Report an error if the gnutls library is missing,
50811         unless --with-gnutls=no is specified.
50813 2016-07-23  Alan Mackenzie  <acm@muc.de>
50815         Fontify C++ parameter packs.
50817         This fixes debbugs #23610.
50819         * lisp/progmodes/cc-langs.el (c-pack-ops, c-pack-key): New
50820         c-lang-defconsts/defvars.
50821         (c-type-decl-prefix-key): Add "..." and "&&" into the C++ version.
50823         * lisp/progmodes/cc-engine.el (c-forward-type): Handle matches of c-pack-key.
50825 2016-07-23  Alan Mackenzie  <acm@muc.de>
50827         Java Mode: Handle strings as case labels correctly.
50829         This fixes debbugs #23901.
50831         * lisp/progmodes/cc-langs.el (c-nonlabel-token-key): Remove "\"" from the
50832         Java value.
50834 2016-07-22  Kaushal Modi  <kaushal.modi@gmail.com>
50836         Avoid repeated warnings while restoring desktop
50838         * lisp/desktop.el (desktop-restore-file-buffer): Do not print warnings
50839         when files are being opened during desktop restore.
50841 2016-07-22  Eli Zaretskii  <eliz@gnu.org>
50843         Fix compilation warning in the MinGW build
50845         * nt/inc/ms-w32.h: Include stdint.h.
50846         (_execvp, execve): Provide prototypes.
50848         * lib-src/emacsclient.c [WINDOWSNT]: Remove prototype for execvp,
50849         it is now in nt/inc/ms-w32.h.
50850         * lib-src/ntlib.c (getppid): Avoid compiler warnings due to format
50851         mismatch.
50852         (sys_ctime): Remove, not used.
50854 2016-07-22  Lars Ingebrigtsen  <larsi@gnus.org>
50856         Move read-multiple-choice to subr-x.el
50858         * lisp/faces.el (read-multiple-choice-face): Fix doc string.
50860         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here
50861         from subr.el.
50863         * lisp/gnus/message.el (subr-x): Ditto.
50865         * lisp/net/nsm.el: Require subr-x for read-multiple-choice.
50867         read-multiple-choice doesn't need to be in the dumped Emacs, so move
50868         it to a less central file.
50870 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
50872         Update define-ibuffer-op doc string
50874         * lisp/ibuf-macs.el (define-ibuffer-op):
50875         Mention that BODY is evaluated with 'buf' bound to the actual
50876         marked buffer being processed.
50878 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
50880         Update define-ibuffer-op doc string
50882         * lisp/ibuf-macs.el (define-ibuffer-op): Document arg COMPLEX
50883         instead of refer the reader to the source code.
50884         Document arg BODY.
50886 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
50888         Fix shell-command[-on-region] doc strings
50890         * lisp/simple.el (shell-command, shell-command-on-region):
50891         Drop the sentence saying that the command may delete the buffer
50892         '*Shell Command Output*': the command never delete such
50893         buffer (Bug#23936).
50895 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
50897         ;Revert ";Partially revert 2649105a"
50899         This reverts commit b7651649c2b1321a0c510116c1ac2442599d9a2e.
50901 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
50903         ;Partially revert 2649105a
50905         * lisp/textmodes/tex-mode.el (tex-common-initialization): Use
50906         setq-local to modify prettify-symbols-compose-predicate.
50908 2016-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
50910         * src/bytecode.c: Fix compilation with BYTE_CODE_SAFE
50912         (struct byte_stack): Re-add `bottom'.
50913         (exec_byte_code): Initialize it.
50915 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
50917         Ibuffer: Use default output buffer for shell commands
50919         * lisp/ibuf-ext.el (shell-command-pipe): Insert the output in buffer
50920         '*Shell Command Output*', as command 'shell-command-file'.
50922 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
50924         Fix failing test
50926         * test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in):
50927         Enable Font Lock mode in order to initialize
50928         'char-property-alias-alist' (Bug#23954).
50930 2016-07-21  Paul Eggert  <eggert@cs.ucla.edu>
50932         Fix use-after-close in connect_network_socket
50934         * src/process.c (connect_network_socket): Don’t use
50935         external_sock_fd after closing it.  Problem found by Coverity Scan.
50937 2016-07-21  Katsumi Yamaoka  <yamaoka@jpl.org>
50939         * lisp/net/shr.el (shr-fill-line):
50940         Preserve text properties in folded lines (bug#24034).
50942 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
50944         Fix lifetime bug in tzlookup
50946         * src/editfns.c (tzlookup): Fix storage lifetime bug when
50947         INTEGERP (zone) && settz.  Problem found by Coverity Scan.
50949 2016-07-20  Lars Ingebrigtsen  <larsi@gnus.org>
50951         Fix shr.el/image build problem
50953         (Bug#24035)
50955         * lisp/net/shr.el: Require image, since some builds seem to
50956         break without it (bug#24035).
50958 2016-07-20  Ted Zlatanov  <tzz@lifelogs.com>
50960         Bring the Gnus Cloud package into working order.
50962         * lisp/gnus/gnus-sync.el: Removed in favor of gnus-cloud.el.
50964         * lisp/gnus/gnus-cloud.el: Autoload EPG functions. Change storage format to
50965         simplify non-file data.
50966         (gnus-cloud-storage-method): New defcustom to support nil, Base64,
50967         Base64+gzip, or EPG encoding on the Gnus Cloud IMAP server. Defaults to
50968         EPG if that's available, Base64+gzip otherwise.
50969         (gnus-cloud-interactive): New defcustom to make Gnus Cloud operations
50970         interactive, defaults to enabled.
50971         (gnus-cloud-group-name): New variable for the Gnus Cloud group name.
50972         (gnus-cloud-make-chunk): Tag with "Gnus-Cloud-Version" instead of just
50973         "Version".
50974         (gnus-cloud-insert-data): Simplify and support :newsrc-data entries.
50975         (gnus-cloud-encode-data, gnus-cloud-decode-data): Support various
50976         storage methods as per gnus-cloud-storage-method.
50977         (gnus-cloud-parse-chunk): Look for "Gnus-Cloud-Version" marker.
50978         (gnus-cloud-parse-version-1): Fix parsing loop bug. Handle :newsrc-data
50979         entries.
50980         (gnus-cloud-update-all): Handle :newsrc-data entries and dispatch to
50981         file and data handlers.
50982         (gnus-cloud-update-newsrc-data): New function to handle :newrsc-data
50983         entries.
50984         (gnus-cloud-update-file): Rework to support gnus-cloud-interactive and
50985         be more careful.
50986         (gnus-cloud-delete-file): Remove; merged into gnus-cloud-update-file.
50987         (gnus-cloud-file-covered-p, gnus-cloud-all-files)
50988         (gnus-cloud-files-to-upload, gnus-cloud-ensure-cloud-group)
50989         (gnus-cloud-add-timestamps, gnus-cloud-available-chunks)
50990         (gnus-cloud-prune-old-chunks): Fix indentation.
50991         (gnus-cloud-timestamp): New function to make a standard Gnus Cloud
50992         timestamp.
50993         (gnus-cloud-file-new-p): Use it.
50994         (gnus-cloud-upload-all-data): Add interactive convenience function to
50995         upload all data.
50996         (gnus-cloud-upload-data): Make interactive; collect files and newsrc
50997         data separately; refresh Gnus Cloud group after insert.
50998         (gnus-cloud-download-all-data): Add interactive convenience function to
50999         download all data.
51000         (gnus-cloud-download-data): Rework to support "Gnus-Cloud-Version"
51001         marker and different storage methods.
51002         (gnus-cloud-host-server-p): New function to check if a server is the
51003         Gnus Cloud host.
51004         (gnus-cloud-collect-full-newsrc): Tag entries with :newsrc-data.
51005         (gnus-cloud-host-acceptable-method-p): New function so
51006         other code can check if a server method can host the Gnus cloud.
51007         (gnus-cloud-storage-method): Use 'radio instead of 'choice for better UI.
51008         (gnus-cloud-method): Make this a defcustom and note how to set it.
51010         * lisp/gnus/gnus-group.el (gnus-group-cloud-map): Add Gnus Cloud autoloaded
51011         keybindings under the `~' prefix.
51013         * lisp/gnus/gnus-srvr.el (gnus-server-mode-map, gnus-server-make-menu-bar)
51014         (gnus-server-cloud, gnus-server-cloud-host)
51015         (gnus-server-font-lock-keywords, gnus-server-insert-server-line)
51016         (gnus-server-toggle-cloud-method-server): Support Gnus Cloud
51017         synchronized servers and synchronization host server toggling (`i' and
51018         `I') and visual display.
51019         (gnus-server-toggle-cloud-method-server): Use
51020         gnus-cloud-host-acceptable-method-p.
51021         (gnus-server-toggle-cloud-method-server): Use custom-set-variables to
51022         set the gnus-cloud-method. Ask the user if it's OK to upload the data
51023         right now.
51025         * doc/misc/gnus.texi: Document Gnus Cloud package.
51027 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
51029         Remove CHECK_FRAME_FONT cruft from bytecode.c
51031         * src/bytecode.c [CHECK_FRAME_FONT]: Do not include frame.h, xterm.h.
51032         Remove some old ‘#if 0’ code.
51034 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
51036         Work around GCC bug 54561 in a better way
51038         The new approach is less selective, but also less intrusive on C code.
51039         * src/bytecode.c, src/image.c, src/keyboard.c: Ignore -Wclobbered.
51040         * src/conf_post.h (NONVOLATILE): Remove.  All uses removed.
51042 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
51044         Fix port to glibc 2.24 (pre-release) + ppc64
51046         * src/callproc.c (child_setup): Use emacs_exec_file
51047         so that ASLR is enabled in the child process.
51048         * src/emacs.c: Move some personality details into sys/sysdep.c.
51049         Do not include <sys/personality.h>.
51050         (main): Disable ASLR earlier, so that we don’t chdir twice.
51051         * src/lisp.h (disable_address_randomization): New decl.
51052         * src/sysdep.c (disable_address_randomization)
51053         [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Move personality details
51054         here from emacs.c.
51055         (emacs_exec_file): New function.
51057 2016-07-19  Alan Third  <alan@idiocy.org>
51059         Prevent bar cursor overwriting next glyph (bug#16856)
51061         * src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width
51062         before setting final size.
51064 2016-07-19  Eli Zaretskii  <eliz@gnu.org>
51066         Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil
51068         * src/insdel.c (adjust_markers_bytepos): New function.
51069         * src/lisp.h (adjust_markers_bytepos): Add prototype.
51070         * src/insdel.c (replace_range, replace_range_2):
51071         * src/editfns.c (Ftranspose_regions): Call
51072         adjust_markers_bytepos.  (Bug#5131)
51074         * test/src/editfns-tests.el (transpose-test-reverse-word)
51075         (transpose-test-get-byte-positions): New functions.
51076         (transpose-ascii-regions-test)
51077         (transpose-nonascii-regions-test-1)
51078         (transpose-nonascii-regions-test-2): New tests.
51080 2016-07-19  Katsumi Yamaoka  <yamaoka@jpl.org>
51082         Make gif animation work (bug#24004)
51084         * lisp/image.el (image-animate-timeout): Fix the logic that tests if
51085         an animation is too big (bug#24004).
51087 2016-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
51089         * lisp/simple.el (undo-amalgamate-change-group): New function
51091         * lisp/emulation/viper-cmd.el (viper-adjust-undo): Use it.
51092         (viper-set-complex-command-for-undo): Save current state with
51093         prepare-change-group.
51094         * lisp/emulation/viper-init.el (viper-undo-needs-adjustment)
51095         (viper-buffer-undo-list-mark): Remove.
51097 2016-07-18  Noam Postavsky  <npostavs@gmail.com>
51099         Keep w32 environment settings internal only
51101         * src/emacs.c (main) [WINDOWSNT]: Move init_environment calls after the
51102         set_initial_environment call.  This prevents Emacs' modifications to the
51103         environment from contaminating Vprocess_environment and
51104         Vinitial_environment (Bug #10980).
51105         * src/callproc.c (getenv_internal) [WINDOWSNT]: Consult Emacs' internal
51106         environment in as a fallback to Vprocess_environment.
51107         * test/src/callproc-tests.el (initial-environment-preserved): New Test.
51109 2016-07-18  Nicolas Petton  <nicolas@petton.fr>
51111         Better documentation for cl-reduce (bug#24014)
51113         * lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means.
51115 2016-07-17  Alan Third  <alan@idiocy.org>
51117         Remove separate pool for popup dialogs (bug#23856)
51119         * src/nsmenu.m (pop_down_menu, ns_popup_dialog): Remove references to
51120         autorelease pool and Popdown_data struct.
51122 2016-07-17  Mark Oteiza  <mvoteiza@udel.edu>
51124         Use eldoc-documentation-functions
51126         * lisp/hexl.el (hexl-mode):
51127         * lisp/ielm.el (inferior-emacs-lisp-mode):
51128         * lisp/progmodes/cfengine.el (cfengine3-mode):
51129         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
51130         * lisp/progmodes/octave.el (octave-mode, inferior-octave-mode):
51131         * lisp/progmodes/python.el (python-mode):
51132         * lisp/simple.el (read--expression): Add buffer-locally to hook
51133         eldoc-documentation-functions.
51135 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
51137         Optimize ucs-normalize.el compilation
51139         * lisp/international/ucs-normalize.el (ucs-normalize-combining-chars-regexp):
51140         (quick-check-list-to-regexp): Use regexp-opt-charset instead of
51141         regexp-opt.
51142         * lisp/international/ucs-normalize.el (quick-check-list): Reuse a single
51143         temp buffer for the whole loop.
51145 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
51147         Add tests for ucs-normalize.el
51149         Some tests are marked as expected to fail.
51151         * test/lisp/international/ucs-normalize-tests.el: New tests.
51152         * admin/unidata/NormalizationTest.txt: Add data for tests.
51153         * admin/unidata/README: Add URL for NormalizationTest.txt.
51154         * admin/notes/unicode: Add note about running (and updating the data
51155         for) the new tests.  Remove note about normalization being unsupported.
51157 2016-07-16  Alan Third  <alan@idiocy.org>
51159         Fix cursor display (bug#23993)
51161         * src/xdisp.c (get_phys_cursor_geometry): Fix invalid C operator.
51163 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
51165         Stop worrying about Alliant in bytecode.c
51167         * src/bytecode.c (PUSH): Remove workaround for long-obsolete compiler.
51169 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
51171         Remove BYTE_MAINTAIN_TOP
51173         It is no longer needed now that we assume GC_MARK_STACK ==
51174         GC_MAKE_GCPROS_NOOPS.
51175         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove.
51176         All uses removed, and code simplified accordingly.
51177         (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Remove, since they
51178         are always no-ops now.  All uses removed.
51179         (MAYBE_GC): Remove.  All uses replaced by maybe_gc,
51180         since it is now equivalent.
51182 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
51184         Remove now-inaccurate bytecode comments
51186         * src/bytecode.c: Remove comments that are no longer accurate.
51187         Most of these are actually old ChangeLog entries.
51189 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
51191         Port to glibc 2.24 (pre-release) + ppc64
51193         Inspired by a suggestion by Florian Weimer in:
51194         https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
51195         * configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE):
51196         Rename from HAVE_PERSONALITY_LINUX32, and check for
51197         ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32.
51198         All uses changed.
51199         * src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]:
51200         Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the
51201         flag ourselves.  Just set that flag, rather than also setting the
51202         persona.  When doing it, avoid functions like putenv that may
51203         allocate memory.
51205 2016-07-14  Mark Oteiza  <mvoteiza@udel.edu>
51207         Revert "Add a couple cells to lisp-prettify-symbols-alist"
51209         This reverts commit bdda4855c635ecf4135e23321bdba023e9ae65c9.
51211 2016-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
51213         * lisp/simple.el (shell-command): Add save-match-data comment
51215 2016-07-14  Alan Mackenzie  <acm@muc.de>
51217         CC Mode: correct incorrect invocation of parse-partial-sexp.
51219         Fixes bug #23944.
51221         * lisp/progmodes/cc-engine.el (c-literal-limits): make the sixth argument of
51222         an invocation of parse-partial-sexp 'syntax-table, not the fourth.
51224 2016-07-14  Andreas Schwab  <schwab@suse.de>
51226         Fix configure summary for hybrid malloc configurations
51228         * configure.ac ("$hybrid_malloc" = yes): Set GNU_MALLOC to no,
51229         parenthesize value of GNU_MALLOC_reason.
51231 2016-07-14  Stephen Berman  <stephen.berman@gmx.net>
51233         Fix delete-duplicate-lines
51235         * lisp/sort.el (delete-duplicate-lines): Delete duplicate
51236         first line when operating backward (bug#23863).
51238 2016-07-14  Andreas Schwab  <schwab@suse.de>
51240         Remove unused SHEAP_OBJ
51242         * Makefile.in (base_obj): Remove $(SHEAP_OBJ).
51244 2016-07-13  Katsumi Yamaoka  <yamaoka@jpl.org>
51246         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
51247         Use shr-image-map instead of shr-map (bug#23964).
51249 2016-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
51251         * lisp/mouse.el (mouse): Consolidate group definition here
51253         * lisp/cus-edit.el (mouse): Remove both group definitions.
51255 2016-07-13  Chris Feng  <chris.w.feng@gmail.com>
51257         Include versioned preloaded libraries in `package--builtin-versions'
51259         * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Do not
51260         exclude preloaded libraries or remove entries generated for them.
51261         (autoload-generate-file-autoloads): Do not generate autoload
51262         statements for preloaded libraries.
51264 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
51266         Omit unnecessary #includes from xwidget.c
51268         * src/xwidget.c: Remove #include directives that are not needed.
51269         Also, don’t conditionalize #includes on HAVE_X_WINDOWS, since this
51270         file is compiled only if the X interface is available.
51272 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
51274         Port xwidget.c to GCC 6 with --enable-gcc-warnings
51276         * src/xwidget.c (x_draw_xwidget_glyph_string, xwidget_end_redisplay):
51277         Adjust to pacify GCC.  Add a couple of FIXME comments, suggesting
51278         possible bugs found by GCC.
51280 2016-07-12  Tino Calancha  <tino.calancha@gmail.com>
51282         Escape meta chars in commands processed by shell
51284         * lisp/progmodes/grep.el (grep-compute-defaults): Quote braces
51285         in all commands to be passed to a shell (Bug#23959).
51287 2016-07-12  John Wiegley  <johnw@newartisans.com>
51289         Revert "Cleanup tooltips"
51291         This reverts commit 20038f8ab75dd1551412a43cd58520c483c22921.
51293         I am reverting this change because it was applied without prior discussion
51294         on emacs-devel, and has been found to break the NS port.  It needs more
51295         testing and review before it should be applied here.
51297 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
51299         * lisp/emacs-lisp/cl-macs.el (cl--prog): New function
51301         (cl-prog, cl-prog*): New macros.
51303 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
51305         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic
51307         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic.
51308         (cl--generic-make-defmethod-docstring): New function for that.
51309         (cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly.
51310         (cl-generic-define-method, cl--generic-describe): Change `load-history'
51311         format of cl-defmethods, so as not to confused methods with equal
51312         specializers but different qualifiers.
51313         * lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings.
51315 2016-07-12  Eli Zaretskii  <eliz@gnu.org>
51317         Don't install keyboard hook when debugged on MS-Windows
51319         * src/w32fns.c (setup_w32_kbdhook): Don't install the keyboard
51320         hook if we are being debugged.  This avoids hosing the debugger,
51321         because the hook is global, and is called in the context of the
51322         thread which installed it, and that thread is stopped when GDB has
51323         control.  Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
51325 2016-07-12  Alan Mackenzie  <acm@muc.de>
51327         Amend CC Mode to handle big C++ raw strings correctly.
51329         Problems were caused by such a string spanning jit-lock chunks, and by a flaw
51330         in the +-500 bytes boundaries imposed for macros.
51332         * lisp/progmodes/cc-mode.el (c-extend-region-for-CPP): Check the +-500 byte
51333         macro boundaries here.
51334         (c-extend-font-lock-region-for-macros): Remove the check on the +-500 byte
51335         lower boundary.  Fix the check on the upper boundary.
51337         * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Handle the starting
51338         point already being within a raw string.
51340         * lisp/progmodes/cc-engine.el (c-raw-string-pos)
51341         (c-depropertize-raw-strings-in-region, c-after-change-re-mark-raw-strings):
51342         Modify regexp element "\\{,16\\}" to "\\{0,16\\}" for greater compatibility
51343         with other Emacsen.
51345 2016-07-12  Stephen Berman  <stephen.berman@gmx.net>
51347         * lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group.
51349 2016-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
51351         Cleanup tooltips
51353         * src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls.
51354         * src/frame.h (struct frame): New bitfield to indicate tooltip frame.
51355         (FRAME_TOOLTIP_P): New macro.
51356         * src/frame.c (make_frame): Mark new frame as regular frame by default.
51357         (Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P.
51358         (syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer'
51359         and 'Qtooltip_parameters' instead.
51360         * src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl.
51361         * src/gtkutil.c (xg_hide_tip): New function.
51362         (xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed.
51363         * src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip.
51364         * src/nsfns.m (toplevel): Remove 'tip_frame' leftover.
51365         * src/w32fns.c (unwind_create_tip_frame): Remove.
51366         (w32_display_monitor_attributes_list)
51367         (w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P.
51368         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
51369         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
51370         as a tooltip frame and record it using appropriate display info.
51371         (x_hide_tooltip): Add frame arg.
51372         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
51373         base frame parameters, store tooltip hide timer among tooltip frame
51374         parameters.
51375         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
51376         (syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize
51377         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
51378         * src/w32term.c (w32_read_socket): Extract tooltip window id from
51379         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
51380         (x_new_font): Use FRAME_TOOLTIP_P.
51381         (x_free_frame_resources): Reset pointer to tooltip frame.
51382         * src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'.
51383         * src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars):
51384         Use FRAME_TOOLTIP_P.
51385         * src/xfns.c (x_make_monitor_attribute_list)
51386         (Fx_display_monitor_attributes_list): Likewise.
51387         (unwind_create_tip_frame): Remove.
51388         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
51389         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
51390         as a tooltip frame and record it using appropriate display info.
51391         (x_hide_tooltip): Add frame arg.
51392         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
51393         base frame parameters, store tooltip hide timer among tooltip frame
51394         parameters.  To hide GTK system tooltip, use timeout hooked into GTK
51395         event loop.
51396         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
51397         (syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize
51398         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
51399         * src/xterm.c (handle_one_xevent): Extract tooltip window id from
51400         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
51401         (x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P.
51402         (x_free_frame_resources): Reset pointer to tooltip frame.
51403         * src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'.
51404         (struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'.
51406 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
51408         * src/fns.c (syms_of_fns): Leave `features' lexically scoped
51410 2016-07-11  Mario Lang  <mlang@delysid.org>
51412         Test mapcan
51414         * test/src/fns-tests.el (fns-tests-mapcan): New test.
51416 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
51418         Prevent to apply funcall on t
51420         * lisp/vc/ediff-util.el (ediff-really-quit): Ignore the global part of
51421         'ediff-after-quit-hook-internal' hook (Bug#23933).
51423 2016-07-11  Tino Calancha  <tino.calancha@gmail.com>
51425         Ignore angle mode while simplifying units
51427         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
51428         Ignore value of 'calc-angle-mode' when 'math-simplifying-units'
51429         is non-nil (Bug#23889).
51430         * lisp/calc/calc-math.el (math-to-radians, math-from-radians)
51431         (math-from-radians-2, math-to-radians-2): Idem.
51433 2016-07-11  Eli Zaretskii  <eliz@gnu.org>
51435         Fix display of composed characters
51437         * src/xdisp.c (x_produce_glyphs): Fix off-by-one error in
51438         iteration through composition glyphs.  (Bug#23938)
51440 2016-07-11  Paul Eggert  <eggert@cs.ucla.edu>
51442         Fix composition bug caused by off-by-1 typo
51444         * src/xdisp.c (x_produce_glyphs): Fix off-by-one typo when
51445         computing composition glyph (Bug#23938).
51447 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
51449         Dired always read file system
51451         * lisp/dired.el (dired-always-read-filesystem): Add new option.
51452         (dired-mark-files-containing-regexp): Use it (Bug#22694).
51453         * doc/emacs/dired.texi: Mention it in the manual.
51454         * test/lisp/dired-tests.el (dired-test-bug22694): Add test.
51455         ;* etc/NEWS: Add entry for this change.
51457 2016-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
51459         * src/macfont.m (mac_font_shape): Make sure that total_advance is increasing.
51461 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
51463         Avoid 'unused var' 'not left unused var' warnings
51465         * lisp/ibuffer.el (ibuffer-locked-buffer-p): Remove unused var 'char'.
51466         Rename used var '_buffer' to 'cbuffer'.
51468         * lisp/ibuf-ext.el (ibuffer-unmark-all): Rename used var '_mark'
51469         to cmark'.
51471 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
51473         * lisp/simple.el (shell-command, shell-command-on-region): Fix doc strings
51475 2016-07-10  Michael Albinus  <michael.albinus@gmx.de>
51477         Add a note how to use `tramp-own-remote-path'
51479         * doc/misc/tramp.texi (Inline methods, External methods)
51480         (Remote shell setup, Android shell setup)
51481         (Frequently Asked Questions, Frequently Asked Questions):
51482         Use @command and @samp consequently.
51483         (Remote programs): The remote shell must support the -l
51484         argument, in order to use `tramp-own-remote-path'.  (Bug#23914)
51486 2016-07-10  Alan Third  <alan@idiocy.org>
51488         Remove App Nap setting from Info.plist (bug#22993)
51490         * nextstep/templates/Info.plist.in: Remove LSAppNapIsDisabled key since
51491         it doesn't actually disable app nap.
51493 2016-07-09  Mario Lang  <mlang@delysid.org>
51495         An efficient built-in mapcan
51497         A built-in version of `mapcan' avoids consing up (and GC'ing) the
51498         intermediate list.
51500         * src/fns.c (Fmapcan): New built-in.
51501         (syms_of_fns): Define.
51503         * lisp/emacs-lisp/cl.el (mapcan): Remove defalias.
51505         * lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
51506         if only one sequence is provided.
51508         * lisp/progmodes/hideif.el (hif-delimit):
51509         * lisp/dired-aux.el (dired-do-find-regexp):
51510         * lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
51511         `cl-mapcan'.
51513         * lisp/woman.el (eval-when-compile): Require 'cl-lib only when
51514         compiling.
51516         * lisp/mouse.el (mouse-buffer-menu-map):
51517         * lisp/net/pop3.el (pop3-uidl-dele):
51518         * lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
51519         * lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
51520         * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
51521         * lisp/gnus/nnmail.el (nnmail-split-it):
51522         * lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
51523         * lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
51524         * lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.
51526 2016-07-09  Tino Calancha  <tino.calancha@gmail.com>
51528         Detect aliases to built-in functions
51530         * lisp/help-fns.el (describe-function-1): Check for aliases
51531         defined with (defalias alias (symbol-function built-in)) (Bug#23887).
51533         * test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as
51534         failing this test.
51536 2016-07-09  Michael Albinus  <michael.albinus@gmx.de>
51538         Avoid recursive detection of remote uid and gid in tramp-gvfs.el
51540         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress):
51541         New variable.
51542         (tramp-gvfs-maybe-open-connection): Use it.
51544         * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
51545         Reorder test.
51547 2016-07-09  Jürgen Hötzel  <juergen@archlinux.org>
51549         Wrap around error in coreutil's ls
51551         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Add switch
51552         "--quoting-style=literal" if remote host supports quoting style.
51553         Recent versions of coreutils changed default quoting style to
51554         "--quoting=shell-escape".
51556 2016-07-09  Eli Zaretskii  <eliz@gnu.org>
51558         Minor tweaks of copying text properties when padding strings
51560         * src/editfns.c (styled_format): Don't include padding on the left
51561         in the properties at the beginning of the string.  (Bug#23897)
51563         * test/src/editfns-tests.el (format-properties): Add tests for
51564         faces when the string is padded on the left or on the right.
51566 2016-07-08  Mario Lang  <mlang@delysid.org>
51568         No need to require the same feature twice.
51570         * lisp/dired-aux.el (require 'cl-lib): Remove.
51572 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
51574         Turn on lexical binding
51576         * lisp/net/secrets.el (secrets-collection-handler): Use cl-pushnew.
51577         (secrets-search-items, secrets-create-item): Use append.
51578         (secrets-show-secrets): Remove unused binding.
51579         (secrets-expand-item, secrets-tree-widget-after-toggle-function):
51580         Ignore unused arguments.
51582 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
51584         Derive secrets-mode from special-mode
51586         * lisp/net/secrets.el: Remove top-level secrets-mode hack.
51587         (secrets-mode-map): New variable.  Add key bindings to n and p for
51588         navigating lines.
51589         (secrets-mode): Derive from special-mode.  Remove keymap code and
51590         initialization code.  Do not record undo information.  Make
51591         secrets-show-collections the local revert-buffer-function.
51592         (secrets-show-collections): Change signature to satisfy revert-buffer.
51594 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
51596         Add a couple cells to lisp-prettify-symbols-alist
51598         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add
51599         "sqrt" and "not".
51601 2016-07-08  Michael Albinus  <michael.albinus@gmx.de>
51603         Detect remote uid and gid in tramp-gvfs.el
51605         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
51606         (tramp-gvfs-handler-mounted-unmounted)
51607         (tramp-gvfs-connection-mounted-p):
51608         Make "default-location" a connection property.
51609         (tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid): New defuns.
51610         (tramp-gvfs-maybe-open-connection): Use them.
51612 2016-07-08  Eli Zaretskii  <eliz@gnu.org>
51614         Yet another fix for copying properties by 'format'
51616         * src/textprop.c (extend_property_ranges): Accept an additional
51617         argument OLD_END, and only extend the end of a property range if
51618         its original end is at OLD_END; all the other ranges are left
51619         intact.  (Bug#23897)
51620         * src/editfns.c (styled_format): Pass the original length of the
51621         string to 'extend_property_ranges'.
51622         * src/intervals.h (extend_property_ranges): Adjust prototype.
51624         * test/src/editfns-tests.el (format-properties): Add tests for
51625         bug#23897.
51627 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
51629         Allow selecting region with mouse to move point to beginning
51631         * etc/NEWS: Mention new user option
51632         `mouse-select-region-move-to-beginning'.
51634         * doc/emacs/frames.texi (Mouse Commands): Add cross-reference
51635         to the following.
51636         (Word and Line Mouse): Describe how double-clicking mouse-1 to
51637         activate region and `mouse-select-region-move-to-beginning'
51638         affect point.
51640         * lisp/mouse.el (mouse-select-region-move-to-beginning): New defcustom.
51641         (mouse-set-point): Use it.  (Bug#23478)
51643 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
51645         Fix menu bar breakage
51647         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Use backquoting
51648         to prevent void variable errors, and fix typo (bug#23918).
51650 2016-07-08  Tino Calancha  <tino.calancha@gmail.com>
51652         Copy buffer names to kill ring
51654         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): New command.
51655         * lisp/ibuffer.el (ibuffer-mode-map): Bound it to 'B'.
51656         ;* etc/NEWS: Add entry for this new feature.
51658 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
51660         Remove just input mark
51662         * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove
51663         just MARK.
51665 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
51667         Ibuffer change marks
51669         * lisp/ibuffer.el (ibuffer-change-marks): New command.
51670         (ibuffer-mode-map): Bind it to '* c'.
51671         (ibuffer-mode-groups-popup): Update menus.
51672         (ibuffer-mode): Update mode doc.
51674 2016-07-07  Alan Third  <alan@idiocy.org>
51676         Prevent NS event loop being re-entered (bug#11049)
51678         * src/nsterm.m (ns_read_socket, ns_select): Return -1 if already
51679         in event loop instead of aborting.
51681 2016-07-07  Alan Third  <alan@idiocy.org>
51683         Fix some deprecated functions
51685         * src/nsterm.m (firstRectForCharacterRange): In OS X >10.6 replace
51686         convertBaseToScreen with convertRectToScreen.
51687         * src/nsmenu.m (ns_update_menubar): Remove attachedMenu, deprecated in
51688         OS X 10.2, and always seems to return nil.
51690 2016-07-07  Aaron Jensen  <aaronjensen@gmail.com>  (tiny change)
51692         Disable App Nap (bug#22993)
51694         * nextstep/templates/Info.plist.in: Insert AppNap disable code.
51696 2016-07-07  Michael Albinus  <michael.albinus@gmx.de>
51698         Fix an error in Tramp for rsync
51700         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
51701         Make it work for "rsync".
51702         (tramp-make-copy-program-file-name): Apply `directory-file-name'.
51704 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
51706         Ibuffer: Mark locked buffers
51708         * lisp/ibuf-ext.el (ibuffer-locked-buffer-p): New defun.
51709         (ibuffer-mark-by-locked): New command.
51710         (ibuffer-mode-map): Bind it to '% L'; update menus.
51711         (ibuffer-mode): Update mode doc.
51712         ;* etc/NEWS: Add NEWS entry for these changes and previous two commits.
51714 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
51716         * lisp/ibuffer.el: Add face for locked buffers
51718         * lisp/ibuffer.el: Add mark for locked buffers
51720         ;* etc/NEWS (Ibuffer): Update entry according with last commit
51722 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
51724         Remove duplicate binding
51726         * lisp/ibuffer.el (ibuffer-mode-map): 'ibuffer-mark-by-content-regexp'
51727         just bound to '% g'.
51728         As suggested in:
51729         https://lists.gnu.org/r/emacs-devel/2016-07/msg00165.html
51731 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
51733         Ibuffer: Drop needless binding
51735         * lisp/ibuffer.el (ibuffer-mark-interactive): 'inhibit-read-only'
51736         already bound to 't' inside 'ibuffer-set-mark'.
51738 2016-07-07  Phillip Lord  <phillip.lord@russet.org.uk>
51740         Run tests from non-byte compiled files
51742         * test/Makefile.in: Eval non-byte-compiled files for tests.
51744 2016-07-06  Mark Oteiza  <mvoteiza@udel.edu>
51746         Replace eldoc-documentation-function with a hook
51748         * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): New hook.
51749         (eldoc-documentation-function): Make into obsolete alias.
51750         (eldoc-echo-area-use-multiline-p, eldoc-highlight-function-argument):
51751         (eldoc-argument-case, global-eldoc-mode): Update docstrings.
51752         (eldoc-print-current-symbol-info): Use run-hook-with-args-until-success
51753         on eldoc-documentation-functions.
51754         (eldoc-supported-p): New function.
51755         (eldoc-mode, global-eldoc-mode, eldoc-schedule-timer): Use eldoc-supported-p.
51756         * etc/NEWS: Mention eldoc-documentation-functions.
51757         * doc/lispref/modes.texi: Update reference.
51759 2016-07-06  Simen Heggestøyl  <simenheg@gmail.com>
51761         Complete "initial" and "unset" in CSS mode
51763         * lisp/textmodes/css-mode.el (css--complete-property-value): Make
51764         "initial" and "unset" completion candidates for all CSS properties,
51765         just like "inherit".
51767         * test/lisp/textmodes/css-mode-tests.el
51768         (css-test-complete-property-value): Update test to reflect the above
51769         change.
51771 2016-07-06  Michael Albinus  <michael.albinus@gmx.de>
51773         * lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec): Fix typo.
51775 2016-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51777         Simplify rfc1345.el a bit
51779         * lisp/leim/quail/rfc1345.el: Omit commented-out codes for ASCII
51780         that would no longer parse.  Replace control characters with
51781         escapes in character constants.  Omit unnecessary \ after ?.
51782         This does not change behavior.
51784 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
51786         Prefer 'frame-parameter' where it is expected to be a bit faster
51788         * lisp/international/mule-diag.el (mule-diag):
51789         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu):
51790         * lisp/mouse.el (mouse-drag-line, font-menu-add-default):
51791         * lisp/scroll-bar.el (toggle-scroll-bar, toggle-horizontal-scroll-bar):
51792         * lisp/faces.el (x-resolve-font-name): Use 'frame-parameter'.
51794 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
51796         Reduce consing caused by vertical motion commands
51798         * src/frame.c (Fframe_parameter): Avoid call to Fframe_parameters for the
51799         parameters frequently requested by calls to 'next-line' and 'previous-line'.
51801 2016-07-05  Michael Albinus  <michael.albinus@gmx.de>
51803         Make all Tramp tests pass for "gdrive" method
51805         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
51806         * lisp/net/tramp-compat.el (tramp-compat-copy-directory)
51807         (tramp-compat-delete-directory):
51808         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
51809         Use `directory-files-no-dot-files-regexp'.
51811         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted)
51812         (tramp-gvfs-send-command): Call `tramp-flush-file-property' in
51813         case of problems.
51815         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
51816         Adapt docstring.
51817         (tramp-test14-delete-directory): Make further tests.
51819 2016-07-05  Eli Zaretskii  <eliz@gnu.org>
51821         Fix redisplay with window-start on continuation lines
51823         * src/xdisp.c (pos_visible_p): Return false if the window starts
51824         after CHARPOS.
51825         (compute_window_start_on_continuation_line): Don't return
51826         window-start position that is after point in the buffer, as the
51827         callers don't expect this to happen, and will generally display an
51828         empty window with the cursor in its middle.  (Bug#23871)
51830 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
51832         Add :expected-result :failed for unfixed bug test
51834         * test/lisp/help-fns-tests.el (help-fns-test-bug23887):
51836 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
51838         * test/lisp/help-fns-tests.el: Add several tests for 'describe-function'.
51840 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
51842         Don’t create unnecessary marker in ‘delete-trailing-whitespace’
51844         * lisp/simple.el (delete-trailing-whitespace): If END argument is nil,
51845         there is no need for the end-marker to be created.
51847 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
51849         Simplify ‘delete-trailing-whitespace’ by not treating \n as whitespace
51851         * lisp/simple.el (delete-trailing-whitespace): Set newline’s character
51852         syntax to non-whitespace so that ‘\s-’ regular expression does not match
51853         it.
51855         This simplifies the loop slightly since a simple ‘\s-+$’ can be used and
51856         as a consequence ‘line-beginning-position’ function does not need to be
51857         called any longer.
51859         Furthermore, when newline has whitespace syntax, ‘\s-$’ regular
51860         expression ends up matching empty lins since ‘\s-’ matches newline
51861         characetr of proceeding line.  This leads to needless loop iterations.
51863         Since previous change to ‘delete-trailing-whitespace’ already introduced
51864         ‘with-syntax-table’, take advantage of it and also overwrite newline’s
51865         character syntax.
51867 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
51869         Make ‘delete-trailing-whitespace’ delete spaces after form feed
51871         * lisp/simple.el (delete-trailing-whitespace): Treat form fead as
51872         a non-whitespace character (regradless of whether it’s character syntax
51873         is whitespace) and delete any whitespace following it instead of leaving
51874         lines with form feeds completely unchanged.  I.e. a line like "\f " will
51875         now became "\f".
51877 2016-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
51879         Cleanup XEditRes hack
51881         * configure.ac [USE_X_TOOLKIT]: Define X_TOOLKIT_EDITRES if
51882         _XEditResCheckMessages is declared in X11/Xmu/Editres.h and may be
51883         linked with -lXmu.  This should work with any non-ancient Xmu library.
51884         * src/xfns.c (toplevel): Remove old cruft.
51885         (x_window) [USE_X_TOOLKIT]: Use X_TOOLKIT_EDITRES.
51886         * src/xterm.c (toplevel): Remove old cruft.
51887         (handle_one_xevent): Use X_TOOLKIT_EDITRES.
51888         * src/xterm.h (toplevel): Include X11/Xmu/Editres.h if X_TOOLKIT_EDITRES.
51890 2016-07-04  Michael Albinus  <michael.albinus@gmx.de>
51892         Add Google Drive support to Tramp
51894         * doc/misc/tramp.texi: Add `gdrive' method.
51896         * doc/misc/trampver.texi:
51897         * lisp/net/trampver.el: Change version to "2.3.1-pre".
51899         * etc/NEWS: Add Tramp connection method "gdrive".
51901         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods) <gdrive>: Add.
51902         (tramp-default-user-alist, tramp-default-host-alist): Add rule
51903         for "gdrive".
51904         (tramp-gvfs-file-attributes): Add "name", remove "standard::icon".
51905         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Simplify regexp.
51906         (tramp-gvfs-get-directory-attributes): Improve loop.  Use
51907         "standard::display-name" as file name, if available.
51908         (tramp-gvfs-handle-file-name-all-completions): Simplify.
51909         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
51910         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
51911         Map between "gdrive" and "google-drive".
51913         * lisp/net/tramp.el (tramp-call-process): Do not signal error.
51915         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
51916         Do not enable `tramp-message-show-message'.
51917         (tramp-test13-make-directory, tramp-test14-delete-directory):
51918         Do not specify error type.
51920 2016-07-04  Tino Calancha  <tino.calancha@gmail.com>
51922         Calc: Update mode line after change mode
51924         * lisp/calc/calc-ext.el (calc-change-mode): Call 'calc-set-mode-line'.
51926 2016-07-03  Mark Oteiza  <mvoteiza@udel.edu>
51928         * lisp/simple.el (save-mark-and-excursion): Add declare forms.
51930 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
51932         Re-fix open-network-stream responsiveness
51934         Problem reported by Christer Ekholm (Bug#23864).
51935         * src/process.c (wait_reading_process_output): Further fix for
51936         typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu when
51937         wait == INFINITY and got_output_end_time is invalid.  See:
51938         https://bugs.gnu.org/23864#20
51940 2016-07-03  Alan Mackenzie  <acm@muc.de>
51942         Remove redundant forms from CC Mode for faster fontification
51944         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove four arms of
51945         the "main" cond form in the function, which have been redundant since the
51946         extraction of c-font-lock-cut-off-declarators from the function on
51947         2016-06-15/16.
51949 2016-07-03  Alan Mackenzie  <acm@muc.de>
51951         Speed up CC Mode fontification with less accurate functions extending region
51953         * lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators)
51954         (c-font-lock-enclosing-decls)
51955         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Replace invocations of
51956         c-beginning-of-decl-1 with less accurate invocations of
51957         c-syntactic-skip-backwards to speed up fontification.
51959 2016-07-03  Tino Calancha  <tino.calancha@gmail.com>
51961         Ibuffer: unmark all buffers without confirmation
51963         * lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680).
51964         (ibuffer-mouse-popup-menu): Use it.
51965         (ibuffer-mode): Update mode doc.
51966         (ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'.
51967         Rebind 'ibuffer-do-replace-regexp' to 'r'.
51969 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
51971         Fix open-network-stream responsiveness
51973         Problem reported by Constantin Kulikov (Bug#23684).
51974         * src/process.c (wait_reading_process_output):
51975         Fix typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu
51976         when wait == INFINITY and got_output_end_time is invalid.
51977         In this case the code should break, not continue.
51979 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
51981         Ibuffer: Mark buffers by content
51983         * lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): New command.
51984         (ibuffer-never-search-content-name): New option.
51985         (ibuffer-never-search-content-mode): Idem.
51986         (ibuffer-mark-by-content-regexp): Use them (Bug#23734).
51988         * lisp/ibuffer.el (ibuffer-mode-map): Bind new command to '% c' and '% g'.
51989         (ibuffer-mode): Update mode documentation.
51991 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
51993         ibuffer-copy-filename-as-kill verbosity increase
51995         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill):
51996         Use shorter name, result, for a local bound var.
51997         Show the string result in the echo area.
51999 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
52001         Fix cursor positioning on TTY frames after stretch glyph
52003         * src/term.c (append_glyph, append_composite_glyph)
52004         (append_glyphless_glyph): Set the avoid_cursor_p and multibyte_p
52005         members of the produced 'struct glyph'.  Fixes cursor positioning
52006         on the first character after a stretch glyph produced from
52007         line-prefix, wrap-prefix, etc. on TTY frames.
52009 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
52011         Fix vertical-movement in buffers with wrap-prefix
52013         * src/indent.c (Fvertical_motion): Zero the current_y coordinate
52014         whenever we zero the vpos vertical position of the iterator.
52015         * src/xdisp.c (move_it_in_display_line_to): Handle line-prefix and
52016         wrap-prefix regardless of whether the current Y coordinate is
52017         inside the window dimensions.  (Bug#23879)
52019 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
52021         Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL
52023         * src/dispextern.h (FACE_FROM_ID_OR_NULL): Renamed from
52024         FACE_OPT_FROM_ID; all callers changed.
52025         * src/xdisp.c (extend_face_to_end_of_line): Call FACE_FROM_ID, not
52026         FACE_FROM_ID_OR_NULL, as the resulting face is immediately
52027         dereferenced.
52028         (fill_gstring_glyph_string): Call FACE_FROM_ID, not
52029         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
52030         when the glyph string is drawn.
52031         (BUILD_COMPOSITE_GLYPH_STRING): Call FACE_FROM_ID, not
52032         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
52033         in fill_composite_glyph_string.
52034         (calc_line_height_property): Call FACE_FROM_ID_OR_NULL rather that
52035         FACE_FROM_ID, since the function and its caller can cope with that
52036         situation.  Conflate 3 tests of missing face or font into just
52037         one.
52038         * src/xfaces.c (Fx_list_fonts, Fface_font, lookup_face): Call
52039         FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since these
52040         functions can cope with that situation.
52041         (lookup_derived_face): Don't call FACE_FROM_ID if the result will
52042         not be used.
52043         * src/w32console.c (w32_face_attributes): Remove redundant 'eassert'.
52045 2016-07-01  Mark Oteiza  <mvoteiza@udel.edu>
52047         * lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote.
52049 2016-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
52051         * lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace
52053         i.e. rename from auto-source--symbol-keyword.
52055 2016-07-01  Dmitry Antipov  <dmantipov@yandex.ru>
52057         Avoid yet another possible NULL pointer dereference found by GCC 6.1.1
52059         * lwlib/lwlib.c (lw_get_all_values): Always check the value returned by
52060         get_widget_info.
52062 2016-06-30  Alan Mackenzie  <acm@muc.de>
52064         CC Mode: truncate the semi-nonlit cache when applying syntax-table to a quote
52066         This applies to applying or removing syntax-table text properties in raw
52067         strings which affect the stringiness of a piece of text.  This fixes the
52068         bug
52069         reported in
52070         https://lists.gnu.org/r/emacs-devel/2016-06/msg00695.html.
52072         * lisp/progmodes/cc-engine.el (c-truncate-semi-nonlit-pos-cache): new
52073         defsubst.
52074         (c-invalidate-state-cache-1): Call new function in place of inline
52075         manipulation.
52076         (c-depropertize-raw-string, c-propertize-raw-string-opener): truncate the
52077         semi-nonlit cache when pertinent syntax-table text properties get applied to
52078         the text.
52080 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
52082         Minor tweaks to openp
52084         * src/lread.c (openp): Move invariant code out of the loop
52085         and thus avoid redundant calls to memcpy.  Adjust comments.
52087 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
52089         Simplify handling of frame parameters
52091         * src/frame.c (x_set_frame_parameters): Avoid extra loop processing
52092         foreground color, background color and font parameters.  Adjust
52093         comments.
52095 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
52097         Cleanup around mature character manipulation functions
52099         * lisp/international/mule-diag.el (decode-codepage-char): Remove.
52101         * lisp/ldefs-boot.el (toplevel): Adjust accordingly.
52103         * lisp/subr.el (toplevel): Do not advertise calling conventions
52104         for 'decode-char' and 'encode-char'.
52106         * src/charset.c (Fdecode_char, Fencode_char): Remove unused 3rd arg.
52108 2016-06-29  Alan Mackenzie  <acm@muc.de>
52110         Fix C-M-a in a C function finding the start of a macro preceding it.
52112         Also amend some pertinent documentation.  This fixes bug #23818.
52114         * lisp/progmodes/cc-engine.el (c-beginning-of-decl-1): Also check for a
52115         virtual semicolon at a place where we check for other types of statement ends.
52117         * lisp/progmodes/cc-vars.el (c-macro-nacmes-with-semicolon): Remove from the
52118         doc string the bit saying that the variable is a prototype and liable to
52119         change.
52121         * doc/misc/cc-mode.texi (Macros with ;): Enhance, stating that configuring
52122         macros with semicolon can prevent C-M-a missing the beginning of defun.
52124 2016-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
52126         Avoid possible NULL pointer dereference found by GCC 6.1.1
52128         * src/xfns.c (x_get_monitor_attributes_xrandr): Always check
52129         the value returned by XRRGetOutputInfo.
52131 2016-06-28  Tino Calancha  <tino.calancha@gmail.com>
52133         Dired recognize dirs when file size in human units
52135         * lisp/dired.el (dired-re-inode-size): Update 'dired-re-inode-size'
52136         to match when Dired displays the allocated file size column
52137         in human readable units (Bug#22255).
52139 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
52141         Fix breakage from previous change
52143         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
52144         * lisp/vc/log-view.el (log-view-font-lock-keywords): Quote face.
52146 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
52148         Fix breakage from previous change.
52150         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords): Quote face.
52152 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
52154         Add tests for copying properties by 'format'
52156         * test/src/editfns-tests.el (format-properties): New test.
52158 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
52160         Fix copying properties in 'format' when it produces padding
52162         * src/textprop.c (extend_property_ranges): Correct range extension
52163         when the new end is beyond the old end.  (Bug#23859)
52165 2016-06-27  Alan Third  <alan@idiocy.org>
52167         Enable dividers in NS (bug#22973)
52169         src/nsfns.m: Add color settings functions to ns_frame_park_handlers.
52170         src/nsterm.m (ns_draw_window_divider): ns_focus has to go before the
52171         attempt to set the color.
52172         src/nsterm.m (ns_draw_vertical_window_border): This had the same bug as
52173         above, although I didn't see any errors.
52175 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52177         Fix the prefix action of shr-copy-url
52179         * lisp/net/shr.el (shr-copy-url): Make the command really copy
52180         the image url if given a prefix.
52182 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52184         New functions svg-text and svg-remove
52186         * doc/lispref/display.texi (SVG Images): Document svg-remove.
52188         * doc/lispref/display.texi (SVG Images): Document svg-text.
52190         * lisp/svg.el (svg-remove): New function.
52191         (svg-text): New function.
52193 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52195         Add new function dom-remove-node
52197         * doc/lispref/text.texi (Document Object Model): Document
52198         dom-remove-node.
52200         * lisp/dom.el (dom-remove-node): New function.
52202 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52204         Add a new function `svg-embed'
52206         * doc/lispref/display.texi (SVG Images): Document `svg-embed'.
52208         * lisp/svg.el (svg-embed): New function.
52209         (svg--image-data): Ditto.
52211 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
52213         * lisp/descr-text.el (describe-char-unicode-data): Fix copy/paste errors.
52215 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
52217         Fix 'move-to-window-line' when EOB is on last screen line
52219         * src/window.c (displayed_window_lines): Fix an off-by-one error
52220         when the bottom of the last display line is exactly at window's
52221         last pixel.  Remove kludgey fix for TTY frames that is no longer
52222         needed.  (Bug#15760)
52223         (Fmove_to_window_line): Doc fix.
52225         * doc/lispref/positions.texi (Screen Lines): Clarify and make more
52226         accurate the documentation of 'move-to-window-line'.
52228 2016-06-27  Alan Mackenzie  <acm@muc.de>
52230         Amend a cache so that typing into C++ raw strings has no undue delay.
52232         Also amend the code so that low-level searches to the end of literals are done
52233         only when these positions get used.
52235         * lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use the new
52236         c-literal-start instead of c-literal-limit.
52237         (c-state-semi-nonlit-pos-cache): Change the structure of this cache, such that
52238         it stores details of the literal at a point, rather than merely points outside
52239         of literals.
52240         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
52241         (c-cache-to-parse-ps-state, c-parse-ps-state-to-cache, c-ps-state-cache-pos)
52242         (c-parse-ps-state-below, c-literal-start): New functions.
52243         (c-state-semi-safe-place): Removed.
52244         (c-in-literal): Use c-state-semi-pp-to-literal, so as not to scan to its end.
52245         (c-literal-limits, c-determine-limit-get-base): consequential amendments.
52246         (c-find-decl-spots, c-before-change-check-<>-operators, c-raw-string-pos)
52247         (c-guess-basic-syntax (CASE 2)): Avoid needless scans to end of literals.
52249         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Avoid needless scans
52250         to end of literals.
52252         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Avoid needless scans to end of
52253         literals.
52255         * lisp/progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun)
52256         (c-defun-name, c-declaration-limits): Avoid needless scans to end of literals.
52258 2016-06-26  Dmitry Gutov  <dgutov@yandex.ru>
52260         Also handle escaping when string begins with a quote
52262         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
52263         Handle quoting of the first character in the string.
52265         * test/lisp/progmodes/ruby-mode-tests.el
52266         (ruby-toggle-string-quotes-quotes-correctly): Update.
52268 2016-06-26  Sriram Thaiyar  <sriram.thaiyar@gmail.com>  (tiny change)
52270         Fix quote escaping in ruby-toggle-string-quotes
52272         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
52273         Change logic to quote based on the current quote of the string.
52275         * test/lisp/progmodes/ruby-mode-tests.el
52276         (ruby-toggle-string-quotes-quotes-correctly): Add test.
52278 2016-06-26  Noam Postavsky  <npostavs@gmail.com>
52280         Fix test-completion with completion-regexp-list
52282         * src/minibuf.c (Ftest_completion): Handle alist COLLECTION with non-nil
52283         completion-regexp-list (Bug #23533).
52285 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
52287         Try other addresses when connecting to multihomed
52289         Problem reported by Juliusz Chroboczek (Bug#17976)
52290         and by Artur Malabarba (Bug#23620).
52291         Patch from a suggestion by Andreas Schwab in:
52292         https://bugs.gnu.org/17976#39
52293         This patch is for non-MS-Windows platforms.
52294         I don't know the situation on MS-Windows.
52295         * src/process.c (connecting_status):
52296         New function, for (connect . ADDRINFOS).
52297         (connect_network_socket, check_for_dns, wait_for_socket_fds)
52298         (wait_while_connecting, wait_reading_process_output, status_notify):
52299         Use it.
52300         (decode_status, Fmake_network_process):
52301         Support (connect . ADDRINFOS) status.
52302         (connect_network_socket) [!WINDOWSNT]:
52303         If the connection failed and there are other addresses to try, do not
52304         signal an error; instead, loop around to try the next address.
52305         (wait_reading_process_output): Advance to the next address
52306         if there are multiple addresses and the first remaining address
52307         failed.
52308         * src/process.h (struct Lisp_Process.status): Adjust comment
52309         to describe (connect . ADDRINFOS).
52311 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
52313         Fix GNUC_PREREQ for GCC 2.8.1 etc.
52315         Problem reported by Eli Zaretskii in:
52316         https://lists.gnu.org/r/emacs-devel/2016-06/msg00608.html
52317         * src/conf_post.h (GNUC_PREREQ): Port to GCC versions like GCC
52318         2.8.1 (1998), which come before GCC 3.0 and which have nonzero
52319         patchlevel numbers.
52321 2016-06-26  Eli Zaretskii  <eliz@gnu.org>
52323         Don't set 'bidi-paragraph-direction' in 'ansi-term'
52325         * lisp/term.el (ansi-term): Remove unnecessary setting of
52326         'bidi-paragraph-direction'.  The underlying problem is solved in
52327         bidi.c by changing the regexps that define the paragraph beginning
52328         and end.  (Bug#20611)
52330 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
52332         Sync with Tramp 2.3.0
52334         * doc/misc/trampver.texi:
52335         * lisp/net/trampver.el: Change version to "2.3.0".
52337 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
52339         Fix GNUC_PREREQ off-by-1 typo
52341         Problem reported by Martin Rudalics in:
52342         https://lists.gnu.org/r/emacs-devel/2016-06/msg00587.html
52343         * src/conf_post.h (GNUC_PREREQ) [__GNUC_PATCHLEVEL__]:
52344         Fix < vs <= typo.
52346 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
52348         Fix some oddities in Tramp's rsync and smb methods
52350         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-p" and
52351         "-s" arguments.
52352         (tramp-do-copy-or-rename-file-out-of-band):
52353         Call `file-name-directory' also for remote NEWNAME.
52355         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
52356         Do not skip for tramp-smb.el.  Test als COPY-CONTENTS case.
52357         (tramp-test24-file-name-completion): Improve check for
52358         hostname completion.
52359         (tramp--test-rsync-p): New defun.
52360         (tramp-test31-special-characters)
52361         (tramp-test31-special-characters-with-stat)
52362         (tramp-test31-special-characters-with-perl)
52363         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
52364         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
52365         (tramp-test32-utf8-with-ls): Skip for "rsync".
52367         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
52368         Check also for CIFS capabilities.
52370 2016-06-26  Ury Marshak  <ury.marshak@gmail.com>  (tiny change)
52372         Fix FRAME_INTERNAL_BORDER_WIDTH use (Bug#23841)
52374         * src/nsfns.m (x_set_internal_border_width): Replace assignments to
52375         FRAME_INTERNAL_BORDER_WIDTH.
52377 2016-06-25  Leo Liu  <sdl.web@gmail.com>
52379         Deprecations (bug#23850)
52381         * lisp/subr.el (string-to-unibyte, string-as-unibyte,
52382         string-to-multibyte, string-as-multibyte): Make obsolete.
52384 2016-06-25  Tino Calancha  <tino.calancha@gmail.com>
52386         Do not prompt twice to save a buffer
52388         * lisp/hilit-chg.el (highlight-markup-buffers): (Bug#23824).
52390 2016-06-25  Alan Third  <alan@idiocy.org>
52392         Move text line right when in box (bug#23755)
52394         * src/nsterm.m (ns_draw_glyph_string_foreground): Create to take
52395         CHAR_GLYPH specific code and move glyphs right if within a box.
52396         (ns_draw_glyph_string): Move CHAR_GLYPH specific code into above
52397         function.
52399 2016-06-25  Paul Eggert  <eggert@cs.ucla.edu>
52401         Merge from origin/emacs-25
52403         0377fe2 ; Spelling fixes
52404         f253695 Update docs for `customize-mode'
52405         4395aaa Fix documentation of 'assoc-string' and 'compare-strings'
52406         ab0ebb9 ; Only load .elc file in tests.
52407         a98aa02 Error on multibyte characters in HTTP request
52408         ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th...
52409         8297331 ; Revert "Ensure undo-boundary after insert-file-contents."
52410         dc5e65b Unset GIT_DIR when calling Git commands
52411         6cdd8f7 Ensure undo-boundary after insert-file-contents.
52412         4793f5f Clarify documentation of 'line-spacing' and 'line-height'
52413         5f37572 Fix removal of variables from process-environment
52414         e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file...
52415         db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add...
52417         # Conflicts:
52418         #       doc/lispref/modes.texi
52419         #       lisp/gnus/mm-decode.el
52421 2016-06-25  Mark Oteiza  <mvoteiza@udel.edu>
52423         Teach net-utils more iproute2 and nl80211 tools
52425         * lisp/net/net-utils.el (iwconfig-program): Add iw(8).
52426         (iwconfig-program-options): Add "dev" argument for iw.  Another useful
52427         option is "phy"; beyond that one needs to know the interface name.
52428         (netstat-program): Add ss(8).
52429         (route-program): Add ip(8).
52430         (route-program-options): Add "route" argument for ip.
52432 2016-06-24  Leo Liu  <sdl.web@gmail.com>
52434         Use use-region-p in prolog.el
52436         * lisp/progmodes/prolog.el (region-exists-p): Remove.
52437         * lisp/progmodes/prolog.el (prolog-edit-menu-runtime,
52438         prolog-edit-menu-insert-move): Use use-region-p.
52440 2016-06-24  Leo Liu  <sdl.web@gmail.com>
52442         Remove compatibility with Emacs 24.3 in octave-mode
52444         * lisp/progmodes/octave.el: Clean up and remove compatibility with
52445         Emacs 24.3.
52447 2016-06-24  Alan Mackenzie  <acm@muc.de>
52449         Ensure hack-local-variables is run in a fundamental mode buffer.
52451         This fixes bug #23827.
52453         * src/buffer.c (set-buffer-major-mode): Run `fundamental-mode' when the buffer
52454         gets set to that mode, so that `run-mode-hooks', and thus
52455         `hack-local-variables' get run.
52457 2016-06-24  Tino Calancha  <tino.calancha@gmail.com>
52459         Fix caller to ediff-setup
52461         * lisp/hilit-chg.el (hilit-chg-get-diff-info): #Bug23820.
52463 2016-06-24  Alan Mackenzie  <acm@muc.de>
52465         Implement ' separators in C++ integer literals.
52467         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): insert
52468         c-before-after-change-digit-quote into the C++ value.
52469         (c-before-font-lock-functions): Insert c-depropertize-new-text into the values
52470         for all languages.  Insert c-before-after-change-digit-quote into the C++
52471         value.
52473         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Wrap the function in
52474         c-save-buffer-state.
52475         (c-depropertize-new-text, c-before-after-change-digit-quote): New functions.
52477 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
52479         Update from gnulib
52481         This incorporates:
52482         2016-06-24 intprops: port better to GCC 7
52483         2016-06-13 xalloc-oversized: port to GCC 7; fewer warnings
52484         * doc/misc/texinfo.tex, lib/xalloc-oversized.h, lib/intprops.h:
52485         Copy from gnulib.
52487 2016-06-24  Martin Rudalics  <rudalics@gmx.at>
52489         Remove two uses of 'min' in Fwindow_text_pixel_size
52491         * src/xdisp.c (Fwindow_text_pixel_size): Don't use 'min' since
52492         it calls move_it_to twice.  Suggested by Eli Zaretskii.
52494 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
52496         Clarify intent of FACE_FROM_ID and IMAGE_FROM_ID
52498         * src/dispextern.h (FACE_OPT_FROM_ID): Don’t use FACE_FROM_ID,
52499         since it is intended to be used only when it returns a non-null
52500         pointer, and here the pointer might be null.
52501         (IMAGE_OPT_FROM_ID): Don’t use IMAGE_FROM_ID, for similar reasons.
52503 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
52505         Remove some more face aliases obsoleted in 22.1
52507         * lisp/eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face,
52508         eshell-ls-executable-face, eshell-ls-readonly-face,
52509         eshell-ls-unreadable-face, eshell-ls-special-face,
52510         eshell-ls-missing-face, eshell-ls-archive-face, eshell-ls-backup-face,
52511         eshell-ls-product-face, eshell-ls-clutter-face): Remove.
52512         * lisp/isearch.el (isearch-lazy-highlight-face, lazy-highlight-face): Remove.
52513         (isearch-lazy-highlight-update): Use face symbol.
52514         * lisp/net/sieve-mode.el (sieve-control-commands-face,
52515         sieve-action-commands-face, sieve-test-commands-face,
52516         sieve-tagged-arguments-face): Remove.
52517         (sieve-font-lock-keywords): Use non-obsolete faces.
52518         * lisp/progmodes/sh-script.el (sh-heredoc-face): Remove.
52519         (sh-get-indent-info, sh-prev-line): Use face symbol.
52520         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
52521         Use non-obsolete face.
52522         (tex-math-face, tex-verbatim-face): Remove.
52523         (tex-font-lock-syntactic-face-function): Use face symbols.
52525 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
52527         Remove some face aliases obsoleted in 22.1
52529         * lisp/faces.el (modeline-inactive, modeline-highlight, modeline-buffer-id):
52530         * lisp/hilit-chg.el (highlight-changes-face, highlight-changes-delete-face):
52531         * lisp/info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face,
52532         Info-title-4-face, info-menu-5):
52533         * lisp/obsolete/old-whitespace.el (whitespace-highlight-face):
52534         * lisp/paren.el (show-paren-match-face, show-paren-mismatch-face):
52535         * lisp/progmodes/make-mode.el (makefile-space-face):
52536         * lisp/textmodes/texinfo.el (texinfo-heading-face): Remove.
52537         (texinfo-font-lock-keywords): Use texinfo-heading face.
52538         * lisp/vc/add-log.el (change-log-date-face, change-log-name-face,
52539         change-log-email-face, change-log-file-face, change-log-list-face,
52540         change-log-conditionals-face, change-log-function-face,
52541         change-log-acknowledgement-face):
52542         * lisp/vc/diff-mode.el (diff-header-face, diff-file-header-face,
52543         diff-index-face, diff-hunk-header-face, diff-removed-face, diff-added-face,
52544         diff-changed-face, diff-function-face, diff-context-face,
52545         diff-nonexistent-face): Remove.
52546         (diff-use-changed-face, diff-font-lock-keywords): Use non-obsolete face
52547         symbols.
52548         (diff-hunk-file-names): Fix comment.
52549         (diff-refine-change): Remove.
52550         (diff-refine-removed, diff-refine-added, diff-refine-hunk): Use
52551         non-obsolete face.
52552         * lisp/vc/log-view.el (log-view-file-face, log-view-message-face): Remove.
52553         (log-view-font-lock-keywords): Use non-obsolete face names.
52554         * lisp/vc/pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face,
52555         cvs-handled-face, cvs-need-action-face, cvs-marked-face, cvs-msg-face):
52556         * lisp/wid-edit.el (widget-documentation-face, widget-button-face,
52557         widget-field-face, widget-single-line-field-face, widget-inactive-face,
52558         widget-button-pressed-face):
52559         * lisp/woman.el (woman-italic-face, woman-bold-face, woman-unknown-face,
52560         woman-addition-face): Remove.
52562 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
52564         * lisp/international/characters.el (standard-case-table): Improve last change.
52566 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
52568         Improve results of 'upcase' for characters with title-case
52570         * lisp/international/characters.el (standard-case-table): Swap the
52571         order of some lines, to have 'upcase' return the upper-case
52572         variant, not the title-case, for some characters whose lower-case
52573         map to the same codepoints.  (Bug#23833)
52575 2016-06-23  Alan Mackenzie  <acm@muc.de>
52577         Make typing into incomplete C++ raw strings work, and make it work fast enough
52579         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-state-pp-to-literal):
52580         Put `save-match-data' around calls to `looking-at' to enable the use of the
52581         match data in higher level functions.
52583         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations)
52584         (c-font-lock-cut-off-declarators): Use `limit' rather than `(point-max)' as a
52585         limit to speed up handling of C++ raw strings.
52587 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
52589         Fix handling of LWINDOW key on MS-Windows
52591         * src/w32fns.c (funhook): Correct a typo which broke handling of
52592         the LWINDOW key.  (Bug#23830)
52594 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
52596         Update Unicode data files from Unicode 9.0.0
52598         * admin/unidata/copyright.html:
52599         * admin/unidata/BidiBrackets.txt:
52600         * admin/unidata/UnicodeData.txt: Update from Unicode 9.0.0, just
52601         released.
52603 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
52605         Fix test for whether the '.el' file is newer than '.elc'
52607         * src/lread.c (Fload): Don't overwrite the last character of the
52608         file name in FOUND with 'c', unless the file name ended in ".elc"
52609         to begin with.  Don't treat empty files as byte-compiled.  See
52610         https://lists.gnu.org/r/emacs-devel/2016-06/msg00463.html
52611         for more details of the problem this caused.
52613 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
52615         Fix 'insert-file-contents' when REPLACE is non-nil
52617         * src/fileio.c (maybe_move_gap): New function to move the gap to
52618         the end of a buffer, if it isn't there already.
52619         (Finsert_file_contents): Call 'maybe_move_gap' before using
52620         conversion_buffer's text as a C 'char' array.  (Bug#23659)
52621         * src/coding.c (decode_eol): Compute the byte increment before
52622         calling del_range_2, because the latter can invalidate the pointer
52623         to buffer text.
52625 2016-06-22  Ken Brown  <kbrown@cornell.edu>
52627         Avoid compiler warning
52629         * src/w32fns.c (Fx_show_tip): Don’t jump over auto initialization.
52631 2016-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
52633         * lisp/emacs-lisp/syntax.el (syntax-propertize): Flush extended region.
52635 2016-06-22  Ken Brown  <kbrown@cornell.edu>
52637         Fix last change to FRAME_INTERNAL_BORDER_WIDTH
52639         * src/w32fns.c (x_set_internal_border_width): Don’t use
52640         FRAME_INTERNAL_BORDER_WIDTH(), which is now a function call, as an
52641         lvalue.
52643 2016-06-21  Paul Eggert  <eggert@cs.ucla.edu>
52645         Improve --without-x GCC pacification
52647         * src/composite.c (autocmp_chars):
52648         * src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]:
52649         Use simpler ((void) 0) for no-op expression returning void.
52650         * src/dispextern.h [HAVE_WINDOW_SYSTEM]:
52651         Include fontset.h, for face_for_char.
52652         (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR):
52653         Now inline functions instead of macros.  This avoids the need for
52654         all those casts to void.
52655         (FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg.
52656         All uses changed.
52657         * src/frame.c (Ficonify_frame, Fset_frame_position):
52658         * src/xdisp.c (Fmove_point_visually, show_mouse_face):
52659         * src/xdisp.c (note_mode_line_or_margin_highlight)
52660         (note_mouse_highlight):
52661         Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should
52662         now work either way without generating warnings.
52663         * src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function.
52664         (window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h.
52665         (decode_window_system_frame): Use check_window_system instead of
52666         rolling the code ourself.  Return needed only if HAVE_WINDOW_SYSTEM.
52667         (decode_window_system_frame, check_window_system):
52668         Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one.
52669         * src/frame.c (Ficonify_frame, Fset_frame_position):
52670         * src/xdisp.c (show_mouse_face, define_frame_cursor1)
52671         (note_mouse_highlight):
52672         Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef;
52673         this is a better way to pacify GCC.
52674         * src/xdisp.c (x_set_left_fringe, x_set_right_fringe)
52675         (x_set_right_divider_width, x_set_bottom_divider_width):
52676         * src/xfns.c (x_set_internal_border_width):
52677         Don’t use what are now function calls as lvalues.
52678         * src/frame.h (WINDOW_SYSTEM_RETURN): New macro.
52679         (decode_window_system_frame, check_window_system):
52680         Use it, to avoid the need for duplicate declarations.
52681         (window_system_available): Now an inline function.
52682         (display_available): New decl.
52683         (frame_dimension): New inline function.
52684         (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
52685         (FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH)
52686         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
52687         (FRAME_BOTTOM_DIVIDER_WIDTH):
52688         Use it, to avoid the need for duplicate definitions.
52689         Now inline functions instead of macros.
52690         * src/gnutls.c (gnutls_log_function2i): Remove.
52691         * src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly.
52692         This avoids complaints about gnutls_log_function2i being defined
52693         and not used on older platforms that do not need to call GNUTLS_LOG2i.
52694         * src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro.
52695         * src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id =
52696         expr’ to ‘type id; id = expr’, as this would suppress valid
52697         jump-misses-init diagnostics.  Let’s find a better way to address
52698         the problem.
52699         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE):
52700         Define only if needed.
52701         * src/xdisp.c (handle_single_display_spec):
52702         Simplify fringe_bitmap computation.
52703         (define_frame_cursor1): Do nothing unless in a window system.
52704         All callers changed and simplified.
52705         * src/xfaces.c (realize_default_face):
52706         Use a simpler way to pacify GCC when a return value is not used
52707         on some platforms.
52709 2016-06-21  Phillip Lord  <phillip.lord@russet.org.uk>
52711         Ensure undo-boundary after all commands
52713         * lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after
52714           every command whether it (apparently) changes the buffer or not.
52716         See Bug#23785 for discussion.
52718 2016-06-21  Eli Zaretskii  <eliz@gnu.org>
52720         Fix vertical layout calculations when newline has line-height property
52722         * src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
52723         'constrain_row_ascent_descent_p' flag after processing the
52724         newline, similar to what 'display_line' does.  Without this, the
52725         flag remains set once set by x_produce_glyphs, and causes the
52726         vertical layout calculations to go awry, because Emacs thinks the
52727         screen lines have zero height.  (Bug#23850)
52729 2016-06-20  Ken Brown  <kbrown@cornell.edu>
52731         Fix compiler warnings in Cygwin-w32 build
52733         * src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while
52734         loop to avoid compiler warnings about empty body of 'if'
52735         statement.
52737         * src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused
52738         macro.
52739         (x_create_bitmap_from_data): Declare 'frame'.
52740         (x_create_bitmap_from_file): Don't declare unused variable
52741         'dpyinfo'.
52743         * src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to
52744         prevent "jump-misses-init" compiler warnings.
52746         * src/w32fns.c (check_w32_winkey_state): Define and use only if
52747         WINDOWSNT.
52748         (Fx_show_tip): Declare 'f'.
52749         (Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE.
52750         (w32_strerror): Use format specifier %d for sprintf argument of
52751         type int.
52752         (emacs_abort): Cast sprintf argument of type DWORD to unsigned
52753         int, and use format specifier %x, for compatibility with Cygwin.
52754         (unicode_append_menu) [NTGUI_UNICODE]:
52755         * src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info)
52756         (set_menu_item_info, unicode_append_menu)
52757         (unicode_message_box):
52758         * src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as
52759         functions rather than macros to avoid "address will always
52760         evaluate as true" compiler warnings.
52762         * src/w32font.c (w32_to_x_charset): Use format specifier %d for
52763         sprintf argument of type int.
52765         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast
52766         sprintf argument of type int to unsigned int to match %X format
52767         specifier.
52768         (w32_scroll_bar_handle_click):
52769         (w32_horizontal_scroll_bar_handle_click): Declare 'f'.
52771         * src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused
52772         argument.
52774 2016-06-20  Ken Brown  <kbrown@cornell.edu>
52776         Fix compiler warnings in no-window-system-build
52778         * src/composite.c (autocmp_chars): Declare and set 'f' only if
52779         HAVE_WINDOW_SYSTEM.
52781         * src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
52782         (FACE_FOR_CHAR): Explicitly discard unused arguments.
52784         * src/font.c (font_open_entity): Declare 'min_width' where it is
52785         first set, and only if HAVE_WINDOW_SYSTEM.
52787         * src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
52788         Define _Noreturn version to avoid "suggest attribute noreturn"
52789         compiler warning.
52790         (check_window_system): Declare as _Noreturn.
52791         (Ficonify_frame):
52792         (Fset_frame_position): Don’t declare and set 'f'.
52794         * src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
52795         (check_window_system):  Add _Noreturn prototypes.
52796         (FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
52797         (FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
52798         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
52799         (FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.
52801         * src/xdisp.c (handle_single_display_spec): Declare
52802         'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
52803         (append_space_for_newline): Declare 'g' where it is first set.
52804         (Fmove_point_visually): Declare and set 'target_is_eol_p' only if
52805         HAVE_WINDOW_SYSTEM.
52806         (show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
52807         if HAVE_WINDOW_SYSTEM.
52808         (note_mode_line_or_margin_highlight):
52809         (note_mouse_highlight): Declare and set 'cursor' and 'pointer'
52810         only if HAVE_WINDOW_SYSTEM.
52812         * src/xfaces.c (realize_default_face): Declare and set 'face' only
52813         if HAVE_X_WINDOWS.  Remove redundant #ifdef.
52815 2016-06-20  Michael Albinus  <michael.albinus@gmx.de>
52817         Weaken test conditions in filenotify-tests.el
52819         * test/lisp/filenotify-tests.el (file-notify--test-with-events):
52820         Fix thinko in test.
52821         (file-notify-test02-events, file-notify-test04-file-validity)
52822         (file-notify-test07-backup)
52823         (file-notify-test08-watched-file-in-watched-dir): Make test
52824         conditions more weak.  (Bug#23618)
52826 2016-06-19  Paul Eggert  <eggert@cs.ucla.edu>
52828         Minor ABLOCKS_BUSY cleanups in alloc.c
52830         * src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash
52831         with member ‘abase’ in definiens.
52832         (lisp_align_malloc, lisp_align_free): Use bool for boolean.
52833         Avoid compiler warning with fewer casts.
52834         (lisp_align_free): Check busy-field values; this can help the
52835         compiler a bit when optimizing, too.
52837 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
52839         ASCII-fy coding-system-for-read used for Git commands
52841         * lisp/vc/vc-git.el (vc-git--asciify-coding-system):
52842         New function.
52843         (vc-git-diff, vc-git-annotate-command): Use it.
52845 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
52847         Prohibit multibyte characters in url-http-data
52849         It didn't work anyway, but this makes any such errors more obvious
52850         by catching them earlier.
52852         * lisp/url/url-http.el (url-http-create-request):
52853         Use string-to-unibyte (bug#23750).
52855 2016-06-19  Eli Zaretskii  <eliz@gnu.org>
52857         Fix setting a range of char-table slots in a singular case
52859         * src/chartab.c (char_table_set_range): Start the loop from the
52860         first character of the block to which FROM belongs.  (Bug#23797)
52862         * test/src/chartab-tests.el: New test file.
52864 2016-06-19  Alan Mackenzie  <acm@muc.de>
52866         Fix CC Mode fontification problem apparent in test file decls-6.cc.
52868         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Recognize
52869         "bar (gnu);" as a declarator only when the construct is directly inside a
52870         class (etc.) called "bar".
52871         (c-directly-in-class-called-p): New function.
52873 2016-06-19  Alan Mackenzie  <acm@muc.de>
52875         c-renarrow-state-cache: take care when new point is inside old brace pair.
52877         Also add display of point-min to the c-parse-state debugging output.
52879         * lisp/progmodes/cc-engine.el (c-renarrow-state-cache): When the new
52880         point is inside an old recorded brace pair, clear the cache.
52881         (c-debug-parse-state): Output the value of point-min.
52883 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
52885         Rename ALIGN to pointer_align
52887         * src/alloc.c (pointer_align): Rename from ALIGN.
52888         This fixes Bug#23764 in a simpler way.
52890 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
52892         Merge from origin/emacs-25
52894         d1efbaf Fix documentation of completion functions
52895         65c96cc Clarify documentation of 'font-lock-maximum-decoration'
52896         2ad3d01 * doc/misc/cl.texi (Usage): Add some more details.
52897         b49cb0a Fbackward_prefix_chars: stay within buffer bounds
52899 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
52901         Merge from origin/emacs-25
52903         2317c61 Fix last todo-mode change
52904         5d4d8a3 Improve last todo-mode fix
52905         d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
52906         27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD.  (Bug#23...
52907         f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
52908         e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
52909         d308aa1 Minor grammar fix (bug#23746)
52910         20de667 Doc fixes for grammar and typos (bug#23746)
52911         a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
52912         27f440e Add cross-reference to ELisp manual
52913         10802d8 ; make change-history-commit
52914         4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
52915         12e009e Restore initial undo boundary with viper
52916         291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
52917         6921f4a Fix dbus crash on 32-bit Cygwin
52919 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
52921         Merge from origin/emacs-25
52923         9ae514a * etc/AUTHORS: Update the AUTHORS file
52924         3ca428e add entries to authors.el
52925         66d556b Fix eldoc-related freezes in python mode
52926         d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
52927         27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
52928         a813487 Fix undo boundary in recursive edit (Bug#23632)
52929         1f85b7c Doc fixes re alist-get.  (Bug#23548)
52930         ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
52931         56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
52932         4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
52933         a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
52934         601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.
52936 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
52938         * lisp/emacs-lisp/map.el (map-contains-key): Better docstring
52940 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
52942         Fix seq-contains
52944         Make sure seq-contains return the element of the sequence instead of t.
52946         * lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
52947         * test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
52949 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
52951         Add new function map-do
52953         * lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New
52954           functions.
52955         * test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do.
52957 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
52959         Add seq-do-indexed
52961         * lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
52962         * test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.
52964 2016-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
52966         map.el (map-merge*): Use `map-into' at beginning rather than end
52968         * lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map,
52969         and don't use of an intermediate alist.
52970         (map-merge-with): Same, plus use `cl-callf' to try and avoid performing
52971         3 lookups per inner iteration.
52973 2016-06-16  Mark Oteiza  <mvoteiza@udel.edu>
52975         * lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version.
52977 2016-06-15  Alan Mackenzie  <acm@muc.de>
52979         Speed up CC Mode's font locking by taking some code out of a hot loop.
52981         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove code which
52982         tests for bare declarators.
52983         (c-font-lock-cut-off-declarators): New function.
52984         (c-complex-decl-matchers): insert c-font-lock-cut-off-declarators.
52986 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
52988         Automatically find vars and functions via definition-prefixes
52990         * lisp/help-fns.el (help-definition-prefixes): New var and function.
52991         (help--loaded-p, help--load-prefixes, help--symbol-completion-table):
52992         New functions.
52993         (describe-function, describe-variable): Use them.
52995         * lisp/emacs-lisp/radix-tree.el (radix-tree--prefixes)
52996         (radix-tree-prefixes, radix-tree-from-map): New functions.
52998 2016-06-15  Michal Nazarewicz  <mina86@mina86.com>
53000         Automatically detect whether .h file is C or C++
53002         * lisp/progmodes/cc-mode.el (c-or-c++-mode): A new function which
53003         analyzes contents of the buffer to determine whether it looks like C++
53004         source code and based on that enables c-mode or c++-mode.
53005         (c-or-c++-mode--regexp): Regular expression which, when matches
53006         a buffer, signals file is C++.
53008 2016-06-15  Alan Mackenzie  <acm@muc.de>
53010         Parse compound identifiers in C++ member initialization lists.
53012         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): New function.
53013         (c-back-over-member-initializer-braces, c-back-over-list-of-member-inits)
53014         (c-back-over-member-initializers): Call c-back-over-compound-identifier rather
53015         than c-simple-skip-symbol-backward.
53017 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
53019         Advertize set-keymap-parent as replacement for copy-keymap
53021         * doc/lispref/keymaps.texi (Creating Keymaps):
53022         * src/keymap.c (Fcopy_keymap): Advertize set-keymap-parent as replacement.
53024 2016-06-15  Ted Zlatanov  <tzz@lifelogs.com>
53026         * lisp/generic-x.el (ansible-inventory-generic-mode): Warn if
53027         value is missing
53029 2016-06-15  Tim Chambers  <tbc@alum.mit.edu>  (tiny change)
53031         Add new ansible-inventory-generic-mode (Bug#23762)
53033         * lisp/generic-x.el (ansible-inventory-generic-mode): Add new mode.
53035 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
53037         Fix ifdef-vs-if typo with RANDR13_LIBRARY
53039         * src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
53040         This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
53041         https://lists.gnu.org/r/emacs-devel/2016-06/msg00198.html
53043 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
53045         Port to platforms where char * has top bit set
53047         This fixes a five-year-old FIXME comment.  Although I don’t know
53048         of a platform where this is a problem in practice, better safe
53049         than sorry.
53050         * src/doc.c (Fdocumentation): If SUBRP, simply use doc as integer,
53051         as it is now an integer, not char *.
53052         (store_function_docstring): Offset is now EMACS_INT, not ptrdiff_t;
53053         this is a file offset and EMACS_INT is better if --with-wide-int.
53054         If SUBRP, simply store the offset rather than negating it and
53055         converting it to char *.
53056         * src/lisp.h (struct Lisp_Subr.doc): Now EMACS_INT, not char *.
53058 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
53060         Remove recursion from store_function_docstring
53062         * src/doc.c (store_function_docstring):
53063         Refactor to avoid the need for C-level recursion.
53065 2016-06-14  Ken Brown  <kbrown@cornell.edu>
53067         Remove system-specific -I switch from Cygwin-w32 build
53069         Suggested by Eli Zaretskii in discussion of bug#18302.
53071         * src/image.c [HAVE_NTGUI]: Remove the unused macro
53072         PIXEL_ALREADY_TYPEDEFED.  On Cygwin, include "noX/xpm.h" instead of
53073         "X11/xpm.h".
53075         * configure.ac [CYGWIN && HAVE_W32]: Change the xpm test to use
53076         "noX/xpm.h".  Don't add a -I switch to CPPFLAGS.
53078 2016-06-14  Noam Postavsky  <npostavs@gmail.com>
53080         Make python.el work in Emacs 24
53082         * lisp/progmodes/python.el: Bump version.
53083         (python-define-auxiliary-skeleton): Only use format-message if
53084         fbound (Bug#23126).
53086 2016-06-13  Ken Brown  <kbrown@cornell.edu>
53088         Avoid compiler warning
53090         * src/w32fns.c (deliver_wm_chars): Add 'const' to declaration of
53091         'type_CtrlAlt'.
53093 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
53095         Call tzset after setting TZ
53097         * src/editfns.c (tzlookup): Call tzset after setting TZ, so that
53098         the setting change propagates into Emacs local time (Bug#23600).
53099         (emacs_setenv_TZ): Clarify comments.
53101 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
53103         Update texinfo.tex
53105         * doc/misc/texinfo.tex: Update from gnulib.
53107 2016-06-12  Paul Eggert  <eggert@cs.ucla.edu>
53109         New macro GNUC_PREREQ for GCC version
53111         * src/conf_post.h (GNUC_PREREQ): New macro.
53112         Change uses of __GNUC_MINOR__ and __GNUC_PATCHLEVEL__ to use this
53113         macro instead, for clarity and consistency.
53114         (PRINTF_ARCHETYPE): New macro.  Define it to __gnu_printf__ only
53115         if glibc, since non-GNU platforms don’t necessarily support GNU
53116         printf formats.
53117         (ATTRIBUTE_FORMAT_PRINTF): Use it.
53119 2016-06-12  Nicolas Petton  <nicolas@petton.fr>
53121         * lisp/emacs-lisp/seq.el (seq-drop): Better list implementation
53123 2016-06-12  Eli Zaretskii  <eliz@gnu.org>
53125         Fix printf-related compilation warnings on MinGW
53127         * src/conf_post.h (ATTRIBUTE_FORMAT_PRINTF) [__MINGW32__]: Use
53128         '__ms_printf__', not '__gnu_printf__', as the latter is not what
53129         MS 'printf' supports, and causes bogus compilation warnings.
53130         * src/lisp.h (pI) [__MINGW32__]: Define to "I64", as MS 'printf'
53131         doesn't support the "ll" modifier.
53133 2016-06-11  Paul Eggert  <eggert@cs.ucla.edu>
53135         emacs_strerror cleanups
53137         * src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h;
53138         no longer needed, now that emacs_strerror is declared by lisp.h.
53139         * src/coding.c (emacs_strerror): Remove; moved to emacs.c.
53140         * src/coding.h (emacs_strerror) [emacs]: Remove decl; moved
53141         to lisp.h.
53142         * src/emacs.c (emacs_strerror): Move here from coding.c.  Do not
53143         convert result string; this is now the caller’s responsibility,
53144         as some need conversion and others don’t.
53145         * src/fileio.c (report_file_errno, report_file_notify_error):
53146         Use emacs_strerror rather than rolling it ourselves.
53147         * src/lisp.h (emacs_strerror): Move decl here from coding.h.
53148         * src/lread.c (dir_warning): Just call emacs_strerror rather than
53149         both strerror and emacs_strerror.  Convert its result from
53150         locale-coding-system, since it no longer does that conversion.
53151         * src/sound.c (sound_perror):
53152         * src/sysdep.c (emacs_perror, str_collate):
53153         Use emacs_strerror, not strerror.
53155 2016-06-10  David Reitter  <david.reitter@gmail.com>
53157         Prevent compiler warning for unused arguments
53159         * lisp/international/ucs-normalize.el
53160         (ucs-normalize-hfs-nfd-pre-write-conversion):
53161         Prevent compiler warning for unused arguments, add coment.
53163 2016-06-10  Paul Eggert  <eggert@cs.ucla.edu>
53165         Catch malloc_get_state, malloc_set_state failure
53167         This should help insulate Emacs better from configuration screwups.
53168         Future versions of the GNU C library are planned to deprecate
53169         these functions, but will continue to support them in
53170         already-built-and-dumped Emacs executables.
53171         * src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
53172         Abort if malloc_set_state fails.
53173         (alloc_unexec_pre) [DOUG_LEA_MALLOC]:
53174         Report malloc_get_state failure, and exit.
53176 2016-06-10  Eli Zaretskii  <eliz@gnu.org>
53178         Show returned value after gdb-mi "finish" command
53180         * lisp/progmodes/gdb-mi.el (gdb-stopped): Display the expected
53181         "Value returned" message in response to "finish", when not
53182         produced by GDB/MI.  (Bug#23720)
53184 2016-06-10  David Reitter  <david.reitter@gmail.com>
53186         Simplify pre-write-conversion for utf-8-hfs coding system
53188         * lisp/international/ucs-normalize.el
53189         (ucs-normalize-hfs-nfd-pre-write-conversion): Refactor.
53191         May address an issue where Emacs consumed large amounts of CPU
53192         because of neverending toolbar updating (which was caused
53193         by, but also called this function).
53195 2016-06-09  Martin Rudalics  <rudalics@gmx.at>
53197         Revert "Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2"
53199         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
53200         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
53201         Monnier.  (Bug#19185, Bug#20398)
53203         This reverts commit 72166f2f3dba18f1217c666574032f5a0351ed65.
53205         That commit did more harm than good (Bug#23571).
53207 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
53209         Port __builtin_assume_aligned to Sun C 5.13
53211         * src/conf_post.h (__builtin_assume_aligned):
53212         Fix typo: the extra arg did not conform to C99.
53214 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
53216         Prefer getsockopt to getpeername on non-MS-Windows
53218         * admin/CPP-DEFINES: Remove HAVE_GETPEERNAME.
53219         * configure.ac: Don’t check for getpeername.
53220         * src/process.c (wait_reading_process_output) [!WINDOWSNT]:
53221         Use getsockopt even if not GNU/Linux, as the platforms where
53222         getsockopt used to hang are no doubt long dead.
53224 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
53226         Fix XFASTINT of non-fixnum in process status
53228         * src/process.c (decode_status): 3rd arg is now Lisp_Object *,
53229         not int *, and is not decoded.  All uses changed.
53230         (status_message): Do not assume ‘failed’ code is an integer.
53231         * src/process.h: Document codes better.
53233 2016-06-09  Glenn Morris  <rgm@gnu.org>
53235         Make messcompat.el obsolete.
53237         * lisp/obsolete/messcompat.el: Move here from lisp/gnus.
53238         * doc/misc/message.texi (Compatibility): Remove section.
53240 2016-06-09  Glenn Morris  <rgm@gnu.org>
53242         Leading "*" in the doc of defvars is long obsolete.
53244         * lisp/plstore.el (plstore-encrypt-to):
53245         * lisp/cedet/semantic/lex-spp.el
53246         (semantic-lex-spp-macro-max-length-to-save):
53247         * lisp/cedet/semantic/symref.el (semantic-symref-tool):
53248         * lisp/cedet/semantic/bovine/el.el
53249         (semantic-elisp-store-documentation-in-tag):
53250         * lisp/cedet/semantic/wisent/comp.el (wisent-verbose-flag)
53251         (wisent-expected-conflicts):
53252         * lisp/cedet/semantic/wisent/wisent.el (wisent-parse-verbose-flag):
53253         * lisp/gnus/gnus-agent.el (gnus-category-menu-hook):
53254         * lisp/gnus/gnus-group.el (gnus-group-listing-limit):
53255         * lisp/gnus/gnus-srvr.el (gnus-server-menu-hook)
53256         (gnus-browse-menu-hook):
53257         * lisp/gnus/message.el (message-shoot-gnksa-feet):
53258         * lisp/gnus/mm-decode.el (mm-path-name-rewrite-functions):
53259         * lisp/gnus/mm-util.el (mm-extra-numeric-entities):
53260         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
53261         * lisp/gnus/mml.el (mml-generate-multipart-alist):
53262         * lisp/gnus/nndraft.el (nndraft-required-headers):
53263         * lisp/gnus/nnheader.el (nnheader-max-head-length)
53264         (nnheader-head-chop-length, nnheader-file-name-translation-alist)
53265         (nnheader-directory-separator-character)
53266         (nnheader-pathname-coding-system):
53267         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system)
53268         (nnmail-active-file-coding-system):
53269         * lisp/gnus/nnrss.el (nnrss-file-coding-system):
53270         * lisp/gnus/nntp.el (nntp-record-commands):
53271         * lisp/gnus/score-mode.el (gnus-score-edit-done-hook)
53272         (gnus-score-mode-hook, gnus-score-menu-hook):
53273         * lisp/mail/rfc2047.el (rfc2047-header-encoding-alist)
53274         (rfc2047-allow-irregular-q-encoded-words)
53275         (rfc2047-allow-incomplete-encoded-text):
53276         * lisp/mh-e/mh-alias.el (mh-alias-system-aliases):
53277         * lisp/mh-e/mh-e.el (mh-mail-header-separator, mh-x-mailer-string):
53278         * lisp/mh-e/mh-scan.el (mh-scan-format-mh, mh-scan-format-nmh):
53279         * lisp/net/pop3.el (pop3-password):
53280         * lisp/play/animate.el (animate-n-steps):
53281         * lisp/progmodes/cc-vars.el (c-old-style-variable-behavior):
53282         Convert from defvar with leading * to defcustom.
53285         * lisp/emulation/viper-init.el (viper-heading-end):
53286         * lisp/gnus/mm-url.el (mm-url-html-entities):
53287         * lisp/gnus/nnmaildir.el (nnmaildir-article-file-name):
53288         * lisp/mh-e/mh-e.el (mh-invisible-header-fields-compiled):
53289         * lisp/net/tramp-adb.el (tramp-adb-method): Remove leading * from doc.
53291         * lisp/gnus/messcompat.el: Mark (pointless) file not for compilation.
53292         (message-from-style, message-interactive, message-indentation-spaces)
53293         (message-signature, message-signature-file):
53294         Remove settings that match the defaults.
53295         (message-setup-hook, message-mode-hook, message-default-headers)
53296         (message-send-hook, message-send-mail-function):
53297         Just use setq rather than redefining.
53299         * lisp/gnus/nnrss.el (nnrss):
53300         * lisp/mail/rfc2047.el (rfc2047):
53301         * lisp/play/animate.el (animate): New custom groups.
53303 2016-06-09  Glenn Morris  <rgm@gnu.org>
53305         Remove obsolete leading * from defcustom, defface doc strings.
53307         * lisp/cedet/ede/linux.el, lisp/cedet/ede/project-am.el:
53308         * lisp/cedet/ede/simple.el, lisp/cedet/semantic/bovine/c.el:
53309         * lisp/cedet/semantic/complete.el, lisp/cedet/semantic/db.el:
53310         * lisp/cedet/semantic/decorate/include.el:
53311         * lisp/cedet/semantic/decorate/mode.el, lisp/cedet/semantic/format.el:
53312         * lisp/cedet/semantic/ia.el, lisp/cedet/semantic/idle.el:
53313         * lisp/cedet/semantic/imenu.el, lisp/cedet/semantic/lex-spp.el:
53314         * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/sb.el:
53315         * lisp/cedet/srecode/fields.el, lisp/ecomplete.el:
53316         * lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
53317         * lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
53318         * lisp/gnus/gnus-cite.el, lisp/gnus/gnus-delay.el:
53319         * lisp/gnus/gnus-diary.el, lisp/gnus/gnus-dup.el:
53320         * lisp/gnus/gnus-fun.el, lisp/gnus/gnus-group.el:
53321         * lisp/gnus/gnus-kill.el, lisp/gnus/gnus-msg.el:
53322         * lisp/gnus/gnus-picon.el, lisp/gnus/gnus-salt.el:
53323         * lisp/gnus/gnus-score.el, lisp/gnus/gnus-start.el:
53324         * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
53325         * lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
53326         * lisp/gnus/gnus.el, lisp/gnus/mail-source.el, lisp/gnus/message.el:
53327         * lisp/gnus/mm-url.el, lisp/gnus/mm-uu.el, lisp/gnus/mml.el:
53328         * lisp/gnus/nndiary.el, lisp/gnus/nnir.el, lisp/gnus/nnmail.el:
53329         * lisp/gnus/smiley.el, lisp/gnus/smime.el, lisp/mail/mail-extr.el:
53330         * lisp/mh-e/mh-e.el, lisp/net/mailcap.el, lisp/net/pop3.el:
53331         * lisp/net/starttls.el, lisp/progmodes/cc-vars.el:
53332         * lisp/progmodes/cperl-mode.el, test/manual/cedet/tests/test.el:
53333         Remove obsolete leading * from defcustom, defface doc strings.
53335 2016-06-09  Eli Zaretskii  <eliz@gnu.org>
53337         Fix copying text properties by 'format'
53339         * src/editfns.c (styled_format): Fix copying text properties from
53340         the format specification to the produced string representation.
53341         (Bug#23730)
53342         (Fformat) Doc fix.
53344         * doc/lispref/strings.texi (Formatting Strings): Document that
53345         text properties from the format specifiers are also copied to the
53346         produced string.
53348 2016-06-09  Alan Mackenzie  <acm@muc.de>
53350         Handle C++ raw strings.
53352         * lisp/progmodes/cc-engine.el (c-raw-string-pos, c-depropertize-raw-string)
53353         (c-depropertize-raw-strings-in-region,
53354         c-before-change-check-raw-strings)
53355         (c-propertize-raw-string-opener, c-after-change-re-mark-raw-strings): New
53356         functions.
53358         * lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Insert a clause for
53359         c-font-lock-raw-strings.
53360         (c-font-lock-raw-strings): New function.
53362         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Insert
53363         c-before-change-check-raw-strings into the C++ value, and c-depropertize-CPP
53364         into the values for C, C++, and Objective C.
53365         (c-before-font-lock-functions): Insert c-after-change-re-mark-raw-strings into
53366         the C++ value.
53368         * lisp/progmodes/cc-mode.el (c-old-BEG, c-old-END): New variables.
53369         (c-depropertize-CPP): New function, extracted from
53370         c-neutralize-syntax-in-and-mark-CPP.
53371         (c-neutralize-syntax-in-and-mark-CPP): Remove the call to
53372         c-clear-char-property-with-value for 'syntax-table value '(1) at the beginning
53373         of the function.
53374         (c-after-change): Set c-old-BEG and c-old-END to the current values of
53375         c-new-BEG and c-new-END.
53377 2016-06-09  Daiki Ueno  <ueno@gnu.org>
53379         epg: don't use obsolete function
53381         * lisp/epg.el (epg-sign-string, epg-encrypt-string): Remove
53382         redundant configuration check, which is now done in
53383         `epg-make-context'.
53385 2016-06-09  Daiki Ueno  <ueno@gnu.org>
53387         epg: don't start pinentry if it is useless
53389         * lisp/epg.el (epg--start): Don't start pinentry server if the
53390         session is non-interactive or pinentry-mode is set.
53392 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
53394         Replace IF_LINT by NONVOLATILE and UNINIT
53396         Inspired by a suggestion from RMS in: https://bugs.gnu.org/23640#58
53397         * .dir-locals.el (c-mode): Adjust to macro changes.
53398         * src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640).
53399         (IF_LINT): Remove.  All uses replaced by the new macros.
53401 2016-06-08  Michal Nazarewicz  <mina86@mina86.com>
53403         Remove ‘ert-with-function-mocked’ macro in favor of ‘cl-letf’ macro
53405         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro
53406         in favor of ‘cl-letf’ macro which is more generic.  All existing
53407         uses are migrated accordingly.  The macro has not been included in
53408         an official release yet so it should be fine to delete it.
53410 2016-06-08  Glenn Morris  <rgm@gnu.org>
53412         * test/lisp/emacs-lisp/package-tests.el
53413         (package-test-update-archives-async): Try re-enabling on hydra.
53415 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
53417         * src/fileio.c (auto_save_error): Omit unused local.
53419 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
53421         Simplify overflow check via INT_SUBTRACT_WRAPV
53423         * src/editfns.c (check_tm_member): Simplify integer overflow check.
53425 2016-06-07  Glenn Morris  <rgm@gnu.org>
53427         Try to avoid hangs and stray procs in network-stream-tests.  (Bug#23560)
53429         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv4-wait)
53430         (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait):
53431         Ensure gnutls-serv process gets killed.
53432         (echo-server-nowait, connect-to-tls-ipv4-nowait):
53433         Limit the amount of time we might wait.
53435 2016-06-07  Glenn Morris  <rgm@gnu.org>
53437         Reduce allout.el's pollution of the namespace.
53439         * lisp/allout.el (allout-set-regexp): Rename from set-allout-regexp.
53440         Keep old name as obsolete alias.
53441         (allout-produce-mode-menubar-entries, allout-nullify-prefix-data)
53442         (allout-solicit-char-in-string)
53443         (allout-count-trailing-whitespace-region, allout-regexp-sans-escapes):
53444         Rename to add an "allout-" prefix.
53446 2016-06-07  Glenn Morris  <rgm@gnu.org>
53448         * configure.ac (emacs_config_features): Add CANNOT_DUMP.
53450 2016-06-07  Glenn Morris  <rgm@gnu.org>
53452         Misc small webjump updates.
53454         * lisp/net/webjump.el (webjump): Add custom group.
53455         (webjump-sample-sites): Make it a constant.
53456         Remove explicit, old list of GNU ftp mirrors.
53457         (webjump-state-to-postal-alist): Make it a constant.
53458         (webjump-sites): Make it a defcustom.
53459         (webjump-to-iwin): Update for changed remote service.
53461 2016-06-07  Glenn Morris  <rgm@gnu.org>
53463         Do not hard-code port for package test server.  (Bug#23708)
53465         * test/lisp/emacs-lisp/package-resources/package-test-server.py:
53466         Do not hard-code port.
53467         * test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async):
53468         Update for the above change.
53470 2016-06-07  Tino Calancha  <f92capac@gmail.com>
53472         * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (Bug#23617)
53474 2016-06-07  Glenn Morris  <rgm@gnu.org>
53476         * src/fileio.c (auto_save_error): Use display-warning.  (Bug#23703)
53478 2016-06-07  Tino Calancha  <f92capac@gmail.com>
53480         * lisp/ibuf-ext.el (ibuffer-do-shell-command-file):
53481         Fix non-file-visiting-buffer case.  (Bug#22678)
53483 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
53485         Port --enable-gcc-warnings to clang 3.7.0
53487         * configure.ac: Add -Wno-tautological-compare to avoid bogus
53488         warnings about 0 <= rlim.rlim_max.  Remove flags that no longer
53489         seem to be needed, at least in Fedora 23 x86-64.
53491 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
53493         Use __builtin_assume_aligned on untagged Lisp vals
53495         * src/conf_post.h (__has_builtin, __builtin_assume_aligned):
53496         New macros, for compilers not already defining them.
53497         (__has_builtin___builtin_assume_aligned): New macro.
53498         * src/lisp.h (lisp_h_XUNTAG): Use __builtin_assume_aligned.
53499         This shrinks text space by 0.2% on x86-64 with GCC 6.1.
53501 2016-06-07  Glenn Morris  <rgm@gnu.org>
53503         * lisp/help-fns.el (describe-function-1): Avoid reporting advised
53504         aliases as the type of their targets.
53506 2016-06-07  Tino Calancha  <f92capac@gmail.com>
53508         * lisp/simple.el (process-menu-mode, list-processes--refresh):
53509         Include PID.  (Bug#21725)
53511 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
53513         Merge from origin/emacs-25
53515         6e3adf8 Fix crash in syntax.c after GC
53516         973ce5a Improve squiggly heredoc support in non-SMIE Ruby mode
53517         9d5cceb Fix doc string quoting
53518         0b33a23 Fix mouse dragging of vertical dividers with scroll bars on l...
53519         a5d05f4 * etc/PROBLEMS: Mention the link-time problems on FreeBSD 11.
53521 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
53523         Merge from origin/emacs-25
53525         604f656 * test/automated/viper-tests.el (viper-test-undo-kmacro): Del...
53526         20eb531 * lisp/mail/footnote.el (footnote-mode): Fix doc typo.
53527         a7a2244 * doc/misc/smtpmail.texi (Encryption): Fix 2012-12-22 typo.
53528         07bd972 * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): Fix...
53530 2016-06-06  Paul Eggert  <eggert@cs.ucla.edu>
53532         Use standard Unicode names for Thai, Lao
53534         * lisp/language/lao-util.el, lisp/language/thai-util.el:
53535         Don’t override standard Unicode character name (Bug#23698).
53537 2016-06-06  Glenn Morris  <rgm@gnu.org>
53539         * lisp/man.el (Man-reference-regexp, Man-default-man-entry):
53540         Handle U+2010 hyphen at eol, as used when LANG=en_US.utf8.
53542 2016-06-06  Michael Albinus  <michael.albinus@gmx.de>
53544         Some fixes in filenotify-tests.el for cygwin
53546         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
53547         Reintroduce value for cygwin, it's needed on slow systems.
53548         (file-notify--wait-for-events): Move up definition.
53549         (file-notify--test-no-descriptors): Use `file-notify--wait-for-events'.
53550         (file-notify--test-with-events-check, file-notify--test-with-events)
53551         (file-notify-test08-watched-file-in-watched-dir):
53552         Use :random rather than `random.
53553         (file-notify-test06-many-events): Do not skip for cygwin.
53555 2016-06-05  Juri Linkov  <juri@linkov.net>
53557         * src/casefiddle.c (Fupcase_region): Add arg ‘region-noncontiguous-p’.
53559         If non-nil, operate on multiple chunks.  (Bug#23655)
53561         * src/search.c (Freplace_match): Use Qnil for new arg of Fupcase_region.
53563 2016-06-05  Juri Linkov  <juri@linkov.net>
53565         * lisp/wdired.el (wdired-next-line, wdired-previous-line): Add "^"
53567         to interactive spec to handle shift-selection.  (Bug#23642)
53569 2016-06-05  Michael Albinus  <michael.albinus@gmx.de>
53571         Improve robustness of filenotify-tests.el (Bug#23618)
53573         * test/lisp/filenotify-tests.el (file-notify--test-no-descriptors)
53574         (file-notify--test-no-descriptors-explainer)
53575         (file-notify--test-cleanup-p): New defuns.
53576         (file-notify--test-cleanup): Don't check for
53577         `file-notify--test-event' anymore, that's done in
53578         `file-notify--test-no-descriptors'.
53579         (file-notify--test-with-events-check)
53580         (file-notify--test-with-events): Handle the `random' marker.
53581         (file-notify--test-with-events-explainer): Improve readability.
53582         (file-notify-test00-availability)
53583         (file-notify-test01-add-watch, file-notify-test02-events)
53584         (file-notify-test03-autorevert)
53585         (file-notify-test04-file-validity)
53586         (file-notify-test05-dir-validity)
53587         (file-notify-test06-many-events, file-notify-test07-backup)
53588         (file-notify-test08-watched-file-in-watched-dir)
53589         (file-notify-test09-sufficient-resources): Check also
53590         `file-notify--test-cleanup-p'.
53591         (file-notify-test04-file-validity)
53592         (file-notify-test05-dir-validity): Use `ignore' as handler.
53593         (file-notify-test05-dir-validity)
53594         (file-notify-test06-many-events): Delete directory finally.
53595         (file-notify-test08-watched-file-in-watched-dir): Add `random' marker.
53597 2016-06-05  Stephen Berman  <stephen.berman@gmx.net>
53599         man.el: Fix links on hyphenated words (bug#23647)
53601         * lisp/man.el (Man-bgproc-sentinel): Make links work on
53602         hyphenated words.
53604 2016-06-05  K. Handa  <handa@gnu.org>
53606         Add category 'j' to more characters.
53608         * lisp/international/characters.el: Add category 'j' (Japanese)
53609         to characters in japanese-jisx0213.2004-1.
53611 2016-06-04  Tino Calancha  <f92capac@gmail.com>
53613         isearch-edit-string resumes multi isearches
53615         * lisp/isearch.el (with-isearch-suspended): Remember and restore
53616         multi-isearch variables.  (Bug#21663)
53618 2016-06-04  Eli Zaretskii  <eliz@gnu.org>
53620         Fix Eshell display when RTL characters are involved
53622         * lisp/eshell/esh-mode.el (eshell-mode): Set
53623         'bidi-paragraph-direction' to 'left-to-right'.  (Bug#23652)
53625 2016-06-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
53627         Make ses-jump with completing input.
53629         * lisp/ses.el (ses-jump): Make symbol input completing against list of
53630           named cells.
53632 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
53634         Port angle-bracket TZ settings to MS-Windows
53636         * doc/lispref/os.texi (Time Zone Rules): Document MS-Windows
53637         lack of support for numeric time zone abbreviations.
53638         * src/w32.c (sys_putenv): Convert angle-bracket TZ syntax
53639         to MS-compatible syntax if possible, and to "ZZZ" otherwise.
53640         Problem reported by Kazuhiro Ito (Bug#23600).
53642 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
53644         Avoid delving into Git internals for version
53646         * lisp/loadup.el (exec-path): Set it to nil later, so that
53647         emacs-repository-get-version can invoke git commands in the PATH.
53648         * lisp/version.el (emacs-repository--version-git-1): Remove.
53649         (emacs-repository-get-version): Let Git do it rather than
53650         delving into Git internals.
53652 2016-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
53654         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Expand less
53656 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
53658         Fix emacs-repository-get-version with packed .git
53660         * lisp/version.el (emacs-repository-get-version):
53661         Parse .git/packed-refs if it exists.
53662         Problem reported by Martin Rudalics in:
53663         https://lists.gnu.org/r/emacs-devel/2016-05/msg00554.html
53665 2016-06-01  Michael Albinus  <michael.albinus@gmx.de>
53667         Minor change in tramp.texi
53669         * doc/misc/tramp.texi (Password handling): Do not discuss
53670         anymore how to get password-cache.el.  It is bundled with
53671         Emacs.
53673 2016-06-01  Alan Mackenzie  <acm@muc.de>
53675         Correct fontification and indentation of C++'s "constexpr" expressions
53677         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "constexpr".
53678         (c-modifier-kwds): Add "constexpr".
53680 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
53682         Cosmetic change to kinsoku-eol.  (tiny change)
53684         * lisp/international/kinsoku.el (kinsoku-eol): Make the
53685         order of characters match with the comments.
53687 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
53689         Add HIRAGANA ITERATION MARK to japanese-kana-table.  (tiny change)
53691         * lisp/language/japan-util.el (japanese-kana-table): Add an
53692         entry for HIRAGANA ITERATION MARK (U+309D).
53693         (japanese-alpha-numeric-table): Fix docstring.
53695 2016-05-31  K. Handa  <handa@gnu.org>
53697         Fix incomplete handling of translation table in a coding system.
53699         * src/coding.c (get_translation): New arg NCHARS.  Even if TRANS
53700         is an alist, return a character or a vector of character.
53701         (produce_chars): Adjust for the above change.
53702         (consume_chars): Likewise.
53704 2016-05-31  Michael Albinus  <michael.albinus@gmx.de>
53706         Improve robustness for out-of-band copy in Tramp
53708         * lisp/net/tramp-adb.el (tramp-adb-execute-adb-command)
53709         * lisp/net/tramp-cmds.el (tramp-append-tramp-buffers)
53710         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
53711         Cosmetic changes.
53713         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
53714         Use local `default-directory'.  Simplify command to send.
53715         Don't check return code, this was already done in
53716         `tramp-process-actions'.
53717         (tramp-get-inline-coding): Don't set `default-directory'.
53719         * lisp/net/tramp.el (tramp-action-out-of-band):
53720         Throw `out-of-band-failed'.
53721         (tramp-process-actions): Handle `out-of-band-failed'.
53722         (tramp-call-process, tramp-call-process-region):
53723         Use local `default-directory'.
53725 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
53727         Merge from origin/emacs-25
53729         788c9b6 ; Spelling fix
53730         25c4a30 * lisp/recentf.el (recentf-dialog-mode-map): Remove follow-li...
53731         0992ec3 Correct cl-flet usage (Bug#22317)
53732         50caae3 Release MH-E manual version 8.6
53733         602bb40 Update MH-E's documentation about HTML renderers
53734         89018f0 Fx the we->the typo
53735         845ee57 Restore frames into the current display by default
53736         ee28b4c * lisp/recentf.el (recentf-open-files-item): Quick fix for (b...
53737         01c3cd1 etc/TODO: Remove out-of-place issue
53738         5e18486 Clarify doc string of 'file-name-sans-extension'
53739         bffda22 Fix the MSDOS build
53740         f907f98 * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Ca...
53741         1a2ffd0 * src/dired.c (Ffile_name_all_completions): Doc fix.  (Bug#23...
53742         f7ffc4b Fix infloop in 'number-sequence'
53743         4ab2673 ; Spelling and punctuation fixes in comments
53744         71c152e * lisp/emacs-lisp/find-func.el (find-function-library):
53746 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
53748         * lisp/emacs-lisp/autoload.el: Use radix-tree.
53750          (autoload--make-defs-autoload): Rewrite.
53751         (autoload--split-prefixes-1): Remove.
53752         (autoload-def-prefixes-max-entries): Rename from
53753         autoload-defs-autoload-max-size.
53754         (autoload-popular-prefixes): Remove.
53755         (autoload-def-prefixes-max-length): New const.
53757         * lisp/emacs-lisp/radix-tree.el: New file.
53759 2016-05-30  Ken Brown  <kbrown@cornell.edu>
53761         * src/conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Increase.
53763 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
53765         Omit IF_LINT code that no longer seems needed
53767         Nowadays GCC is smarter, or the Emacs code has mutated, or both,
53768         and now is as good a time as any to remove uses of IF_LINT that
53769         now seem to be unnecessary.
53770         * lib-src/emacsclient.c (set_local_socket):
53771         * lib-src/movemail.c (main) [MAIL_USE_MAILLOCK && HAVE_TOUCHLOCK]:
53772         * src/buffer.c (fix_start_end_in_overlays, fix_overlays_before):
53773         * src/casefiddle.c (casify_region):
53774         * src/charset.c (load_charset_map):
53775         * src/coding.c (decode_coding_object, encode_coding_object):
53776         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable)
53777         (cons_to_unsigned, cons_to_signed):
53778         * src/frame.c (make_frame, x_set_frame_parameters):
53779         * src/keyboard.c (read_event_from_main_queue):
53780         * src/regex.c (regex_compile):
53781         * src/syntax.c (back_comment):
53782         * src/window.c (Frecenter):
53783         * src/xfaces.c (Fx_list_fonts):
53784         Remove IF_LINT that no longer seems necessary.
53785         * src/image.c (png_load_body, jpeg_load_body): Simplify use of IF_LINT.
53786         * src/keyboard.c (read_char): Use IF_LINT (volatile) rather than
53787         a pragma dance to pacify GCC -Wclobbered.
53788         * src/xdisp.c (x_produce_glyphs): Rewrite to avoid need for IF_LINT.
53790         * src/xterm.c (x_connection_closed): Now _Noreturn, which should
53791         mean we do not need IF_LINT any more.
53792         (x_io_error_quitter): Now _Noreturn.  Put an 'assume (false)’
53793         at the end, to forestall warnings from older compilers.
53795 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
53797         Port --enable-gcc-warnings to Cygwin, FreeBSD
53799         These platforms have a bug where _Noreturn is empty when 'lint' is
53800         defined.  Problem reported by Ken Brown (Bug#23640).
53801         * configure.ac (GCC_LINT): Rename from 'lint'.
53802         * src/conf_post.h (IF_LINT): Use GCC_LINT, not just 'lint’.
53804 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
53806         Update from gnulib
53808         This incorporates:
53809         2016-05-30 Use GCC_LINT, not lint
53810         2016-05-29 secure_getenv: Port to many more platforms.
53811         * doc/misc/texinfo.tex, lib/secure_getenv.c, lib/verify.h:
53812         * m4/secure_getenv.m4: Copy from gnulib.
53814 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
53816         * lisp/emacs-lisp/pcase.el: Undo last change's spurious changes
53818         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Add `atom'.
53820 2016-05-30  Ken Brown  <kbrown@cornell.edu>
53822         * src/regex.c (IF_LINT): Remove; it’s in conf_post.h
53824 2016-05-30  Michael Albinus  <michael.albinus@gmx.de>
53826         Fix Bug#23631 for Tramp
53828         * lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions)
53829         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions)
53830         * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
53831         Fix caching problems.
53833         * lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions): Simplify.
53835         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
53836         Move duplicate deletion ...
53837         (tramp-smb-handle-file-name-all-completions): ... here.
53839         * lisp/net/tramp.el (tramp-handle-file-name-completion):
53840         Handle `completion-ignored-extensions'.  (Bug#23631)
53842         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
53843         Test also `completion-regexp-list' and `completion-ignored-extensions'.
53845 2016-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
53847         * lisp/wid-edit.el (link): Remove :follow-link property (bug#22434)
53849         * lisp/recentf.el (recentf-dialog-mode-map): Remove unecessary mapping.
53851 2016-05-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
53853         Fix up remainder of the mml property change
53855         * lisp/gnus/message.el (message-send-mail): Use the renamed
53856         mml-buffer-substring-no-properties-except-some function.
53857         (message-send-news): Ditto.
53859 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
53861         Allow preserving EXIF rotations when sending HTML messages
53863         * lisp/gnus/mml.el (mml--possibly-alter-image): Allow image
53864         rotation if you have exiftool installed and the image format
53865         supports it.
53866         (mml-expand-html-into-multipart-related): Use it.
53867         (mml-buffer-substring-no-properties-except-some): Renamed and
53868         copy display properties, too.
53870 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
53872         Make message-toggle-image-thumbnails work better
53874         * lisp/gnus/message.el (message-toggle-image-thumbnails): Use
53875         `insert-image' instead of `put-image' to make it possible to
53876         edit the resulting text in a sensible manner.
53878 2016-05-29  Alan Mackenzie  <acm@muc.de>
53880         Rationalize the use of c-new-BEG and c-new-END in CC Mode.
53882         Remove the now redundant c-old-BOM and c-old-EOM.
53884         * lisp/progmodes/cc-engine.el (c-macro-cache-syntactic): Change and simplify
53885         meaning.
53886         (c-macro-cache-no-comment): New variable.
53887         (c-invalidate-macro-cache, c-beginning-of-macro, c-end-of-macro): incorporate
53888         the new c-macro-cache-no-comment.
53889         (c-syntactic-end-of-macro): Make better use of c-macro-cache-syntactic.
53890         (c-no-comment-end-of-macro): New function.
53892         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
53893         c-extend-font-lock-region-for-macros to C/C++/ObjC value.
53895         * lisp/progmodes/cc-mode.el (c-old-BOM, c-old-EOM): Remove.
53896         (c-extend-region-for-CPP): Put results in c-new-BEG/END rather than
53897         c-old-BOM/EOM.
53898         (c-extend-font-lock-region-for-macros): Simplify meaning, no longer returning
53899         a cons for the new region, since the function is now called as an after-change
53900         function.  No longer adjust c-new-END for the length of inserted/deleted
53901         text.  Move the size restrictions on macros to here from
53902         c-neutralize-syntax-in-and-mark-CPP.
53903         (c-neutralize-syntax-in-and-mark-CPP): No longer adjust c-new-BEG/END here.
53904         Use c-no-comment-end-of-macro rather than c-syntactic-end-of-macro to find the
53905         upper boundary to "neutralize" syntactically obtrusive characters.
53906         (c-change-expand-fl-region): Don't set c-new-END to next BOL when already at
53907         one.
53909 2016-05-28  Ken Brown  <kbrown@cornell.edu>
53911         Avoid compiler warnings
53913         * src/cygw32.c (chdir_to_default_directory): Use "void" as
53914         argument list.  Use SSDATA instead of SDATA.
53916         * src/unexcw.c (fixup_executable): Use %td as format specifier for
53917         argument of type ptrdiff_t.  Use %zu for argument of type size_t.
53919 2016-05-28  Eli Zaretskii  <eliz@gnu.org>
53921         Fix 'next-line' and 'previous-line' during keyboard macro
53923         * lisp/simple.el (line-move-visual): Handle the case when point
53924         moves outside of the visible portion of the buffer while executing
53925         a keyboard macro.  (Bug#13452)  (Bug#23551)  (Bug#23555)
53927 2016-05-28  Alan Mackenzie  <acm@muc.de>
53929         C++ Mode: attribute in class declaration fouls up indentation.  Fix!
53931         * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Add code to skip
53932         back over noise clauses and attribute clauses.
53934         * lisp/progmodes/cc-langs.el (c-paren-nontype-key): New language variable.
53936 2016-05-28  Ken Olum  <kdo@cosmos.phy.tufts.edu>
53938         Prevent locked-file errors in Rmail
53940         * lisp/mail/rmail.el (rmail-get-new-mail-1): Lock file before
53941         calling 'rmail-insert-inbox-text'.  Unlock if
53942         'rmail-insert-inbox-text' doesn't modify buffer.
53943         (rmail-insert-inbox-text): Remove lock-checking code.  (Bug#17706)
53945 2016-05-28  Michael Albinus  <michael.albinus@gmx.de>
53947         Sync with Tramp repository.
53949         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
53950         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process)
53951         * lisp/net/tramp-smb.el (tramp-smb-handle-start-file-process):
53952         Create BUFFER if it doesn't exist.  Reported by Nikolay
53953         Kudryavtsev <nikolay.kudryavtsev@gmail.com>.
53955         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
53956         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp)
53957         (tramp-gvfs-file-attributes-with-gvfs-info-regexp): New defconst.
53958         (tramp-gvfs-get-directory-attributes)
53959         (tramp-gvfs-get-root-attributes)
53960         (tramp-gvfs-get-file-attributes): New defun.
53961         (tramp-gvfs-handle-file-attributes)
53962         (tramp-gvfs-handle-file-name-all-completions): Use them.
53963         (tramp-gvfs-handle-file-directory-p): Use `file-truename'.
53964         (tramp-gvfs-maybe-open-connection): Set :noquery flag for process.
53965         (tramp-gvfs-send-command): Add locale settings to `process-environment'.
53966         (top): Suppress D-Bus error messages during zeroconf initialization.
53968         * lisp/net/tramp.el (tramp-unknown-id-string)
53969         (tramp-unknown-id-integer): New defconst.
53970         (tramp-check-cached-permissions)
53971         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes)
53972         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
53973         (tramp-convert-file-attributes, tramp-get-remote-uid)
53974         (tramp-get-remote-gid): Use them.
53976         * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
53977         Rename from `tramp-color-escape-sequence-regexp'.
53978         (tramp-sh-handle-insert-directory)
53979         (tramp-convert-file-attributes): Adapt callees.
53980         (tramp-device-escape-sequence-regexp): New defconst.
53981         (tramp-wait-for-output): Use it.  Reported by Matthías Páll
53982         Gissurarson <icetritlo@gmail.com>.
53984         * lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
53985         Simplify.
53987         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
53988         (tramp-test28-shell-command):
53989         Use `tramp-display-escape-sequence-regexp'.
53991 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
53993         Don’t document declare-function internals
53995         Suggested by Stefan Monnier in:
53996         https://lists.gnu.org/r/emacs-devel/2016-05/msg00618.html
53997         * doc/lispref/functions.texi (Declaring Functions):
53998         * lisp/subr.el (declare-function):
53999         * lisp/emacs-lisp/bytecomp.el:
54000         (byte-compile-macroexpand-declare-function):
54001         Document as (fn file &optional arglist fileonly)
54002         even though it is really (fn file &rest args).
54004 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
54006         * src/puresize.h (BASE_PURESIZE): Increase it some more.
54008 2016-05-27  Glenn Morris  <rgm@gnu.org>
54010         * src/puresize.h (BASE_PURESIZE): Increase it by a little bit.
54012         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Tweak previous to
54013         avoid build failure.
54015 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
54017         Port to platforms where rlim_max < 0
54019         * src/emacs.c (main): Do not treat a negative rlim_max as a limit;
54020         this can happen if a special value like RLIM_INFINITY is negative.
54022 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
54024         Robustify stack-size calculation
54026         * src/emacs.c: Include getpagesize.h.
54027         (main): Check for integer overflow when computing stack size.
54028         Round new rlim_cur to pagesize boundary on all platforms, as this
54029         is easy and would have prevented Bug#23622.  If setrlimit
54030         fails, use current limit to determine re_max_failures.
54032 2016-05-27  Ken Brown  <kbrown@cornell.edu>
54034         Adjust filenotify-tests on Cygwin
54036         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
54037         Remove special case for Cygwin.
54038         (file-notify-test07-backup): Update expected results on Cygwin.
54040 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
54042         Improve define-function omitted-arg documentation
54044         * doc/lispref/functions.texi (Declaring Functions):
54045         * lisp/subr.el (declare-function):
54046         Be clearer when documenting omitted args for define-function.
54048 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
54050         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add docstring to accessors.
54052 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
54054         * lisp/subr.el (definition-prefixes): Expand docstring
54056         * lisp/emacs-lisp/autoload.el (autoload--split-prefixes):
54057         Remove unused function.
54059 2016-05-27  Phillip Lord  <phillip.lord@russet.org.uk>
54061         Fix broken viper deactivation
54063         * lisp/emulation/viper.el (viper--deactivate-advice-list): Destructure
54064           args to advice-remove.
54065           (viper--advice-add): Use cons not list.
54067         Addresses bug#23625
54069 2016-05-27  Mark Oteiza  <mvoteiza@udel.edu>
54071         Preserve buffer point in windows by default (Bug#4041).
54073         * doc/lispref/windows.texi: Mention new default.
54074         * etc/NEWS: Mention new default.
54075         * lisp/window.el (switch-to-buffer-preserve-window-point): Default to t.
54077 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
54079         Fix byte-compiler pacification for declare-function
54081         Problem reported by Michael Heerdegen in:
54082         https://lists.gnu.org/r/emacs-devel/2016-05/msg00590.html
54083         * lisp/emacs-lisp/bytecomp.el:
54084         (byte-compile-macroexpand-declare-function):
54085         Revert signature to previous value.
54086         * lisp/subr.el (declare-function): Change signature to
54087         match the reverted signature used in the byte compiler.
54089 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
54091         Update texinfo.tex
54093         This fixes Bug#23611 in a different (and presumably better) way.
54094         * doc/misc/texinfo.tex: Update from gnulib.
54096 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
54098         Pacify 'make check-declare'
54100 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
54102         Repair damage from emacs-25 merge
54104         * test/lisp/character-fold-tests.el:
54105         Remove, as it was renamed to test/lisp/char-fold-tests.el.
54106         * test/lisp/emulation/viper-tests.el:
54107         Rename from test/automated/viper-tests.el.
54109 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
54111         Merge from origin/emacs-25
54113         c3489d0 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w3...
54114         a4d882c Correct old cell name unbinding when renaming cell.
54115         6c12c53 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
54116         0be6725 Document problem: slow screen refresh on missing font.
54117         853b9b9 * admin/admin.el (add-release-logs): Basic check of existing ...
54118         5fa80cf * build-aux/gitlog-to-emacslog: Handle empty generated Change...
54119         3c79e51 * admin/admin.el (add-release-logs): Generate ChangeLog if ne...
54120         42275df * doc/misc/texinfo.tex: Revert previous change (Bug#23611).
54121         3f4a9d9 * admin/authors.el (authors): First update the ChangeLog.
54122         897fb6f ; 'Changes from the pre-25.1 API' copyedits
54123         825ca25 Rename vc-stay-local back to vc-cvs-stay-local
54124         4efb3e8 * doc/emacs/files.texi (Comparing Files): * doc/emacs/trouble...
54125         b995d1e * doc/misc/eww.texi (Advanced): Fix xref.
54126         2e589c0 Fix cross-references between manuals
54127         f3d2ded * doc/misc/vhdl-mode.texi (Sample Init File): Rename node to ...
54128         906c810 ; * admin/release-process: Move etc/HISTORY from here... ; * ...
54129         bea1b65 * admin/admin.el (add-release-logs): Also update etc/HISTORY.
54130         503e752 ; * CONTRIBUTE: Fix a typo.
54131         fbfd478 Avoid aborting due to errors in arguments of 'set-face-attrib...
54132         bdfbe6d ; * admin/release-process: Copyedits.
54133         44a6aed ; * test/automated/data-tests.el: Standardize license notice.
54134         c33ed39 ; * test/automated/viper-tests.el: Standardize license notice.
54135         df4a14b Add automated test for viper-tests.el
54136         c0139e3 Fix viper undo breakage from undo-boundary changes
54137         920d76c Fix reference to obsolete fn ps-eval-switch
54138         18a9bc1 Do not trash symlinks to init file
54139         2671179 Don't print the "decomposition" line for control chars in wha...
54140         869092c Bring back xterm pasting with middle mouse
54141         5ab0830 Provide workaround for xftfont rendering problem
54142         c9f7ec7 * lisp/desktop.el: Disable restore frameset if in non-graphic...
54143         30989a0 Mention GTK+ problems in etc/PROBLEMS
54144         421e3c4 * lisp/emacs-lisp/package.el (package-refresh-contents):
54145         dadfc30 Revert "epg: Add a way to detect gpg1 executable for tests"
54146         e41a5cb Avoid errors with Czech and Slovak input methods
54147         d4ae6d7 epg: Add a way to detect gpg1 executable for tests
54148         ebc3a94 * lisp/emacs-lisp/package.el: Fix free variable warnings.
54149         6e71295 * lisp/emacs-lisp/package.el (package--with-response-buffer):
54150         c45d9f6 Improve documentation of 'server-name'
54151         3b5e38c Modernize ASLR advice in etc/PROBLEMS
54152         1fe1e0a * lisp/char-fold.el: Rename from character-fold.el.
54154 2016-05-26  Eli Zaretskii  <eliz@gnu.org>
54156         Avoid byte-compiler warnings due to 'declare-function'
54158         * lisp/w32-fns.el (set-message-beep, w32-get-locale-info)
54159         (w32-get-valid-locale-ids):
54160         * lisp/progmodes/js.el (ido-mode): Specify arglist in
54161         'declare-function' forms, to avoid byte-compiler warnings.
54163 2016-05-26  Glenn Morris  <rgm@gnu.org>
54165         * lisp/info.el (Info-default-directory-list): Don't check /share,info.
54167         No-one puts info pages there.  If /share does exist, it's likely to
54168         contain remote file systems where access could be slow.
54170 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
54172         Merge from origin/emacs-25
54174         2d76405 etc/AUTHORS: Update the AUTHORS file
54176 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
54178         Merge from origin/emacs-25
54180         06cb28f Fix bug#23462: Crash when iconifying frame on OS X.
54182 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
54184         Merge from origin/emacs-25
54186         939eb75 Fix bug in default setting of 'ps-paper-type'
54188 2016-05-26  Glenn Morris  <rgm@gnu.org>
54190         * lisp/info.el (Info-default-directory-list): Remove obsolete suffixes.
54192 2016-05-26  Michael Albinus  <michael.albinus@gmx.de>
54194         Fix Bug#23614.
54196         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
54197         Let-bind `process-coding-system-alist' in order to suppress
54198         the value for "cmdproxy".
54200         * lisp/net/tramp.el (tramp-encoding-shell):
54201         `w32-shell-name' is a function.
54202         (tramp-encoding-command-switch)
54203         (tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'.
54205         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
54206         Suppress some tests on MS Windows.  (Bug#23614)
54208 2016-05-26  Stephen Berman  <stephen.berman@gmx.net>
54210         hl-line.el: Fix flickering of highlighted line (bug#23510)
54212         * lisp/hl-line.el (hl-line-maybe-unhighlight)
54213         (global-hl-line-highlight-all)
54214         (global-hl-line-maybe-unhighlight): New functions.
54215         (hl-line-overlay-buffer): New variable.
54216         (hl-line-mode): Use it.  Replace hl-line-unhighlight on
54217         pre-command-hook by hl-line-maybe-unhighlight on
54218         post-command-hook, to prevent hl-line from flickering.
54219         Adjust document string.
54220         (global-hl-line-mode): Use global-hl-line-highlight-all to
54221         simultaneously highlight the current line in all live windows.
54222         Replace global-hl-line-unhighlight on pre-command-hook by
54223         global-hl-line-maybe-unhighlight on post-command-hook, to
54224         prevent global-hl-line from flickering.  Remove
54225         global-hl-line-unhighlight from change-major-mode-hook on
54226         disabling the mode.  Adjust document string.
54228 2016-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
54230         Make autoloads populate a new definition-prefixes table
54232         * lisp/subr.el (definition-prefixes): New hash table.
54233         (register-definition-prefixes): New function.
54235         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): New var.
54236         (autoload--split-prefixes-1, autoload--split-prefixes)
54237         (autoload--make-defs-autoload): New functions.
54238         (autoload-defs-autoload-max-size, autoload-popular-prefixes): New vars.
54239         (autoload-generate-file-autoloads): Obey autoload-compute-prefixes.
54240         (update-directory-autoloads): Don't touch loaddefs.el if the set of
54241         autoloads hasn't changed (i.e. if only the timestamp would change).
54243         * lisp/loadup.el: Purify definition-prefixes.
54245         * lisp/w32-fns.el: Keep name space clean.
54246         (w32-set-default-process-coding-system): Rename from
54247         set-default-process-coding-system.
54248         (w32-set-system-coding-system): Rename from set-w32-system-coding-system.
54250 2016-05-24  Ken Brown  <kbrown@cornell.edu>
54252         Allow network-stream-tests to work for out-of-tree builds
54254         * test/lisp/net/network-stream-tests.el
54255         (network-stream-tests--datadir): New defconst.
54256         (make-tls-server): Use it.
54258 2016-05-24  Ken Brown  <kbrown@cornell.edu>
54260         Fix failing echo-server-nowait test
54262         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
54263         Specify IPv4 for the client, to match the family of the server.
54264         (Bug#23606)
54266 2016-05-24  Ken Brown  <kbrown@cornell.edu>
54268         Allow shr-tests to work for out-of-tree builds
54270         * test/lisp/net/shr-tests.el (shr-tests--datadir): New defconst.
54271         (shr-test, rendering): Use it.
54273 2016-05-24  Ken Brown  <kbrown@cornell.edu>
54275         Update allowable arguments for open-network-stream
54277         * src/coding.c (Ffind_operation_coding_system): Allow t as a
54278         target for open-network-stream.  (Bug #23540)
54280 2016-05-24  Dmitry Gutov  <dgutov@yandex.ru>
54282         Make js-mode's syntax highlighting work again
54284         * lisp/progmodes/js.el (js-mode): Fix the assigned
54285         font-lock-defaults value (bug#23603).
54287 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
54289         * lisp/progmodes/cc-mode.el: Add minor comments
54291         (c-change-expand-fl-region): Mark args as unused.
54293 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
54295         * lisp/url/url-http.el: Use lexical-binding
54297         (url-http-simple-after-change-function): Use buffer-size rather than `nd'.
54298         (url-http-wait-for-headers-change-function): Remove unused var
54299         `content-length'.
54300         (url-http): Remove unused vars `host' and `port'.
54302 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
54304         * lisp/widget.el (define-widget): Use `declare' (which does work now).
54306         (widget-plist-member): Mark as obsolete.
54308 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
54310         * lisp/image.el: Use lexical-binding
54312         (image-scaling-factor, imagemagick-types-inhibit)
54313         (imagemagick-enabled-types): Remove redundant :group.
54314         (image--get-image): Apply de-Morgan and use car-safe.
54315         (image-compute-scaling-factor): Use the argument.
54317 2016-05-23  Glenn Morris  <rgm@gnu.org>
54319         * lisp/image.el (image--get-image): Remove nonsensical code.
54321         * lisp/image.el (image--get-image): Avoid requiring a library for
54322         one trivial operation.
54324 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
54326         Don’t use only last protocol from getaddrinfo
54328         Problem reported by Ken Brown in:
54329         https://lists.gnu.org/r/emacs-devel/2016-05/msg00483.html
54330         * src/process.c (conv_addrinfo_to_lisp): New function.
54331         (connect_network_socket): Arg is now a list of addrinfos, not
54332         merely IP addresses.  All uses changed.  Use protocol from
54333         each addrinfo.
54334         (Fmake_network_process): Accumulate protocols into addrinfos
54335         rather than just using the last one found.
54336         (check_for_dns): Accumulate protocols here, too.
54337         * src/process.h (struct Lisp_Process): Remove ai_protocol;
54338         no longer needed.
54340 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
54342         Fix seq requirement that broke bootstrap
54344         * lisp/image.el (image--get-image): Require seq here, not at the
54345         top level, to avoid ‘(require seq) while preparing to dump’ while
54346         bootstrapping.  Suggested by Tino Calancha in:
54347         https://lists.gnu.org/r/emacs-devel/2016-05/msg00477.html
54349 2016-05-22  Nicolas Petton  <nicolas@petton.fr>
54351         Add missing dependencies to seq.el
54353         * lisp/emacs-lisp/find-func.el:
54354         * lisp/ibuffer.el:
54355         * lisp/image.el: Require seq.
54357 2016-05-22  Alp Aker  <alp@food52.com>
54359         * src/process.c (SOCK_NONBLOCK): Fix typo.
54361 2016-05-22  Etienne Prud’homme  <e.e.f.prudhomme@gmail.com>
54363         Add completion of colors in CSS mode
54365         * lisp/textmodes/css-mode.el (css-value-class-alist): Add CSS colors
54366         from "CSS Color Module Level 3".
54368         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
54369         Update test.
54371 2016-05-21  Paul Eggert  <eggert@cs.ucla.edu>
54373         Prefer SOCK_NONBLOCK to O_NONBLOCK
54375         * src/process.c (SOCK_NONBLOCK): Define to 0 if not already defined.
54376         (connect_network_socket): Create the socket with SOCK_NONBLOCK, to
54377         avoid an fcntl with O_NONBLOCK if SOCK_NONBLOCK works.  Put the
54378         SOCK_DGRAM check a bit later, to keep the logic cleaner, as
54379         the order does not matter here.
54381 2016-05-21  Alan Third  <alan@idiocy.org>
54383         Fix bug#16856, cursor leaves garbage in fringe on OS X.
54385         * src/nsterm.m (ns_draw_window_cursor): Prevent the cursor from
54386         being drawn outside the text area.
54388 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
54390         Fix compiler warnings in the MinGW build
54392         * configure.ac [mingw32]: Don't add -Wpointer-sign, and add
54393         -Wno-pointer-sign, to keep the noise level down.
54395         * nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable
54396         -Wredundant-decls, as that produces a lot of noise due to
54397         redeclaration of time-related functions by gnulib.
54398         * nt/runemacs.c (set_user_model_id): Fix argument type of
54399         'SetCurrentProcessExplicitAppUserModelID'.
54401         * src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't
54402         declare 'dpyinfo', as it is unused.
54403         (xpm_load): Fix warnings about pointer signedness.
54404         * src/w32proc.c (IsValidLocale, init_winsock): Remove redundant
54405         prototypes.
54406         (sys_spawnve): Avoid warnings about discarding 'const' qualifier.
54407         (sys_select): Provide prototype.
54408         (g_b_init_compare_string_w): Move declaration to file scope.
54409         * src/w32heap.c (dumped_data_commit): Now static.
54410         (FREEABLE_P): Avoid warnings about pointer comparison with integer.
54411         (mmap_realloc): Cast to 'char *' for arithmetics on void pointers.
54412         * src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr)
54413         (evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear):
54414         Provide prototypes.
54415         * src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove
54416         redundant prototypes.
54417         (w32_get_internal_run_time, map_w32_filename): Provide prototype.
54418         (init_environment, sys_ctime): Avoid warnings about discarding
54419         'const' qualifier.
54420         Include utimens.h.
54421         (sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir)
54422         (sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock)
54423         (sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide
54424         prototypes.
54425         (sys_rename_replace): Use %d to avoid compiler warnings.
54426         (_wsa_errlist): Make the message text 'const char *', to avoid
54427         compilation warnings.
54428         (dynlib_reset_last_error): Move prototype to file scope.
54429         (w32_get_resource): First argument is now 'const char *'.
54430         * src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype.
54431         (otf_features): Second argument is no 'const char *'.
54432         * src/w32term.c (free_frame_menubar, x_wm_set_size_hint)
54433         (x_set_window_size): Remove redundant prototypes.
54434         (XChangeGC, XGetGCValues, w32_draw_underwave)
54435         (w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave)
54436         (x_calc_absolute_position, x_destroy_window): Now static.
54437         (menubar_selection_callback): Move prototype to file scope.
54438         * src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant
54439         declaration.
54440         (w32_to_x_charset): Fix warnings about discarding 'const' qualifier.
54441         (w32font_full_name): Fix warnings about implicit conversion of
54442         'float' to 'double'.
54443         * src/w32reg.c (w32_get_rdb_resource): Fix warnings about
54444         discarding 'const' qualifier.
54445         * src/w32menu.c (syms_of_w32menu, globals_of_w32menu)
54446         (set_frame_menubar): Remove redundant prototypes.
54447         (menubar_selection_callback, w32_menu_display_help): Provide
54448         prototypes.
54449         (simple_dialog_show): Avoid warnings about discarding 'const'
54450         qualifier.
54451         * src/w32fns.c (syms_of_w32fns, globals_of_w32fns)
54452         (free_frame_menubar, w32_strerror, x_set_menu_bar_lines)
54453         (x_set_tool_bar_lines, x_set_internal_border_width): Remove
54454         redundant prototypes.
54455         (current_popup_menu): Remove redundant declaration.
54456         (colormap_t): Member 'name' is now 'const char *'.
54457         (add_system_logical_colors_to_map): Fix signed/unsigned warnings.
54458         (x_decode_color, x_set_border_pixel)
54459         (x_clear_under_internal_border, x_set_name, hook_w32_key)
54460         (reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now
54461         static.
54462         (w32_load_cursor, w32_key_to_modifier, map_keypad_keys)
54463         (w32_msg_worker, w32_last_error): Provide prototypes.
54464         (funhook, lookup_vk_code): Avoid warnings about missing
54465         parentheses.
54466         (x_default_font_parameter, Fw32_notification_notify): Avoid
54467         warnings about discarding 'const' qualifier.
54468         (Fx_create_frame): Avoid warnings about empty body of 'else'.
54469         (x_screen_planes): Ifdef away unused function.
54470         (Fx_show_tip): Remove unused variables.
54471         (Fw32_battery_status): Avoid warnings about implicit promotion
54472         from float to double.
54473         (Fw32_notification_notify): Initialize 'timeout'.
54474         * src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only
54475         define the TIMER_SETTIME_RUNNING value if it will be used.
54476         * src/w32notify.c (send_notifications): Ifdef away an empty if
54477         clause.  Remove unused variable.
54478         (watch_end, watch_completion): Provide prototypes.
54479         * src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused.
54480         * src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix
54481         warning with pointer signedness.
54482         * src/gnutls.c (gnutls_x509_crt_get_signature)
54483         (gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and
54484         don't load them from the GnuTLS library, as they are no longer
54485         used.
54486         * src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't
54487         define, as it's unused.
54488         * src/unexw32.c (open_input_file, open_output_file)
54489         (close_file_data): Remove redundant prototypes.
54490         (_start): provide prototype.
54491         (mainCRTStartup): Move prototype to file level.
54492         (find_section): Use type-cast to shut up compiler warnings.
54493         (offset_to_section, relocate_offset): Now static.
54494         (find_section): First argument is now a 'const char *'.
54495         (offset_to_section): Ifdef away, as it's unused.
54496         * src/w32heap.h (find_section): Adjust prototype.
54497         * src/dynlib.c (dynlib_reset_last_error): Provide prototype.
54498         * src/dired.c (directory_files_internal_w32_unwind): Avoid
54499         warnings about missing prototypes.
54500         (is_slow_fs) [WINDOWSNT]: Provide prototype at file level.
54501         (directory_files_internal) [WINDOWSNT]: Fix warnings about pointer
54502         signedness.
54503         * src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]:
54504         Fix warnings about pointer signedness.
54505         * src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's
54506         unused.
54507         * src/sysdep.c (_getpid): Remove redundant prototype.
54508         (sys_subshell) [DOS_NT]: Don't define 'status', it's unused.
54509         [!MSDOS]: Don't define 'st', it's unused.
54510         (init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused.
54511         (str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness.
54512         * src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define
54513         n_to_read, as it is not used.
54514         (MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused.
54515         * src/w32font.h (syms_of_w32font): Remove redundant prototype.
54516         * src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro.
54517         * src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are
54518         not used by DOS_NT builds, to avoid compiler warnings.
54519         * src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant
54520         declaration.
54521         * src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut
54522         up compiler warnings.
54523         * src/w32term.h (x_set_window_size, x_get_focus_frame)
54524         (x_make_frame_visible, x_make_frame_invisible, x_iconify_frame)
54525         (x_set_frame_alpha, x_activate_menubar, x_bitmap_icon)
54526         (x_free_frame_resources, x_real_positions)
54527         (display_x_get_resource): Remove redundant prototypes.
54529         * lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp)
54530         (sys_rename, gettimeofday): Provide prototypes.
54531         * lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant
54532         declarations.
54533         * lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'.
54534         (xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname)
54535         (close_winsock, initialize_sockets, w32_set_user_model_id)
54536         (w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add
54537         prototypes.
54538         (w32_get_resource) [WINDOWSNT]: Fix a warning about signedness
54539         difference.
54540         (w32_set_user_model_id): Update prototype of
54541         SetCurrentProcessExplicitAppUserModelID to avoid compiler
54542         warnings.
54543         (start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to
54544         shut up compiler warnings.
54545         * lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro.
54547 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
54549         Fix 'vertical-motion' and 'posn-at-point' under 'visual-line-mode'
54551         * src/xdisp.c (move_it_in_display_line_to): Don't assume we can
54552         wrap on a whitespace character if it's followed by another
54553         whitespace character.  When returning under WORD_WRAP for a screen
54554         line that is continued, restore to wrap point when atpos/atx
54555         position would be displayed on the next screen line due to
54556         line-wrap.  (Bug#23570)
54558 2016-05-21  Puneeth Chaganti  <punchagan@muse-amuse.in>
54560         * lisp/svg.el (svg-create): Fix a typo: xmlsn -> xmlns.  (Bug#23589)
54562 2016-05-20  Andrew Hyatt  <ahyatt@gmail.com>
54564         Added tests for dos unibyte decoding.
54566         The underlying bug was previously fixed by Eli Zaretskii in commit
54567         c8109d9c4057d8cac79e2c139758cadd410e7446.
54569 2016-05-20  Philipp Stephani  <phst@google.com>
54571         Fix handling of ‘mouse-on-link-p’.
54573         If ‘mouse-on-link-p’ returns a string or vector, the first element
54574         is to be used as new event.  Translation to ‘mouse-2’ should only
54575         happen if the return value is not a string or vector.  See
54576         docstring of ‘mouse-on-link-p’ and Bug#23288.
54578         * lisp/mouse.el (mouse--down-1-maybe-follows-link): Process return
54579         value of ‘mouse-on-link-p’ according to documentation.
54581         * test/lisp/mouse-tests.el (bug23288-use-return-value)
54582         (bug23288-translate-to-mouse-2): Tests for Bug#23288.
54584 2016-05-20  Daiki Ueno  <ueno@gnu.org>
54586         epg: Add a way to detect gpg1 executable for tests
54588         Fixes bug#23561.
54590         * test/automated/epg-tests.el
54591         (epg-tests-program-alist-for-passphrase-callback): New
54592         constant.
54593         (epg-tests-find-usable-gpg-configuration): New function,
54594         renamed from `epg-tests-gpg-usable'.  All callers changed.
54595         (epg-tests-gpg-usable): Remove.
54597         * lisp/epg-config.el (epg-config--program-alist): Factor out
54598         constructor element to...
54599         (epg-config--configuration-constructor-alist): ...here.
54600         (epg-find-configuration): Rename FORCE argument to NO-CACHE,
54601         and add PROGRAM-ALIST argument.
54603 2016-05-19  Mark Oteiza  <mvoteiza@udel.edu>
54605         Put point at beginning of display-time-world buffer.
54607         If display-time-world decides to popup vertically from the bottom of the
54608         frame and scroll-margin is nonzero, the top of the buffer contents are
54609         hidden due to scroll.
54610         * lisp/time.el (display-time-world-display): Move point to point-min
54611         after inserting contents.
54613 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
54615         Allow null entries in face and image cache
54617         Problem reported by Tino Calancha (Bug#23580).
54618         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID):
54619         Don’t assume that the result is non-null.
54620         * src/xdisp.c (fill_image_glyph_string):
54621         Restore check that image pointer is non-null.
54623 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
54625         Fix flyspell highlighting
54627         Problem reported by Jim Meyering (Bug#23575).
54628         * src/xdisp.c (extend_face_to_end_of_line):
54629         Fix typo in previous change.
54631 2016-05-18  Eli Zaretskii  <eliz@gnu.org>
54633         * lisp/server.el (server-name): Add autoload cookie.  (Bug#23576)
54635 2016-05-18  Sam Steingold  <sds@gnu.org>
54637         python-describe-at-point: add and bind
54639 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
54641         ‘make check-declare’ now chatters less
54643         * etc/NEWS: Document this.
54644         * lisp/emacs-lisp/check-declare.el (check-declare-locate):
54645         Return relative names, not absolute.
54646         (check-declare-scan, check-declare-verify, check-declare-warn)
54647         (check-declare-file, check-declare-directory):
54648         Generate less chatter.  Use relative file names rather than
54649         absolute.  Don’t give up on computing a good file name for a
54650         diagnostic merely because the function name was bad.  Make
54651         malformed declarations more noticeable.  Don’t warn about
54652         "ext:..." declarations if check-declare-ext-errors is nil.
54653         (check-declare-errmsg): Remove.
54654         (check-declare-warn): New optional arg LINE.
54655         (check-declare-files): Put status into mode line rather than
54656         chattering.
54658 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
54660         Pacify byte-compiler for byte-compile-macroexpand-declare-function
54662         * lisp/emacs-lisp/bytecomp.el: Change signature of
54663         byte-compile-macroexpand-declare-function to match that of
54664         declare-function.
54666 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
54668         Pacify byte-compiler for with-wrapper-hook
54670         * lisp/subr.el (subr--with-wrapper-hook-no-warnings):
54671         New macro, split out from with-wrapper-hook.
54672         * lisp/abbrev.el (abbrev--default-expand):
54673         * lisp/minibuffer.el (completion--in-region):
54674         * lisp/simple.el (buffer-substring--filter):
54675         * lisp/subr.el (with-wrapper-hook):
54676         Use it.
54678 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
54680         Pacify byte-compiler in lisp/url
54682         * lisp/url/url-misc.el, lisp/url/url-file.el (mm-disable-multibyte):
54683         Add decl.
54685 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
54687         Port --enable-gcc-warnings to GCC 6.1
54689         * configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2.
54690         * lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE):
54691         Omit test whether pointer plus a constant equals a null pointer.
54692         * src/alloc.c (compact_small_strings):
54693         Avoid pointer arithmetic on null pointers.
54694         * src/alloc.c (mark_face_cache):
54695         * src/fontset.c (free_realized_fontsets, Fset_fontset_font):
54696         * src/fringe.c (draw_fringe_bitmap_1)
54697         (Fset_fringe_bitmap_face):
54698         * src/macfont.m (macfont_draw):
54699         * src/msdos.c (IT_set_face, IT_clear_screen):
54700         * src/nsfont.m (nsfont_draw):
54701         * src/nsterm.h (FRAME_DEFAULT_FACE):
54702         * src/nsterm.m (ns_draw_window_cursor)
54703         (ns_draw_vertical_window_border, ns_draw_window_divider)
54704         (ns_dumpglyphs_box_or_relief)
54705         (ns_maybe_dumpglyphs_background, ns_dumpglyphs_image)
54706         (ns_dumpglyphs_stretch):
54707         * src/w32term.c (w32_draw_vertical_window_border)
54708         (w32_draw_window_divider, x_set_mouse_face_gc):
54709         * src/xdisp.c (estimate_mode_line_height, init_iterator)
54710         (handle_face_prop, handle_single_display_spec, pop_it)
54711         (CHAR_COMPOSED_P, get_next_display_element)
54712         (next_element_from_display_vector, extend_face_to_end_of_line)
54713         (fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING):
54714         * src/xfaces.c (Finternal_merge_in_global_face, Fface_font)
54715         (lookup_named_face):
54716         * src/xterm.c (x_draw_vertical_window_border)
54717         (x_draw_window_divider, x_set_mouse_face_gc):
54718         Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null.
54719         * src/xterm.c (try_window_id):
54720         Redo loop to convince GCC 6.1 that it is null pointer safe.
54721         (x_color_cells):
54722         Use eassume as necessary to pacify GCC 6.1.
54723         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null.
54724         (FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old
54725         behavior of the non-_OPT macro, to be used when the result
54726         might be a null pointer.
54727         * src/dispnew.c (buffer_posn_from_coords, marginal_area_string)
54728         [HAVE_WINDOW_SYSTEM]:
54729         * src/intervals.h (INTERVAL_WRITABLE_P):
54730         * src/term.c (turn_off_face):
54731         * src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string)
54732         (produce_image_glyph, produce_xwidget_glyph):
54733         * src/xfaces.c (lookup_named_face):
54734         Remove unnecessary test for null pointer.
54735         * src/keyboard.c (read_char): Suppress bogus -Wclobbered warning.
54736         * src/process.c (would_block): New function.
54737         (server_accept_connection, wait_reading_process_output, send_process):
54738         Use it.
54739         * src/xdisp.c (get_window_cursor_type, note_mouse_highlight):
54740         Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result
54741         might be null.
54743 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
54745         Sync from gnulib
54747         This incorporates:
54748         2016-05-17 manywarnings: update for GCC 6.1
54749         2016-05-13 intdiv0, memmem, nocrash, strcasestr, strstr: no exit
54750         * m4/manywarnings.m4, m4/nocrash.m4: Copy from gnulib.
54752 2016-05-16  Glenn Morris  <rgm@gnu.org>
54754         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
54755         Include more details on hydra.
54757 2016-05-16  Alan Mackenzie  <acm@muc.de>
54759         Tidy up redundant code in cc-vars.el caused by mistake in emacs-25 -> master
54761 2016-05-16  Alan Mackenzie  <acm@muc.de>
54763         Fix spurious fontification of "for (; a * b;)" in CC Mode.
54765         This fixes bug #7918 (again).
54767         * lisp/progmodes/cc-engine.el (c-delq-from-dotted-list): New function.
54768         (c-forward-decl-or-cast-1): Return a 4 element list in place of the previous
54769         cons cell - additionally, return a flag indicating whether the declaration
54770         parsed might have been an expression, and the position of the type identifier
54771         in the said declaration.
54773         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): When
54774         c-forward-decl-or-cast-1 has indicated it might have parsed an expression,
54775         check for it being a spurious declaration in a "for" statement.
54777 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
54779         Pacify ‘make check-declare’
54781         * lisp/cedet/srecode/insert.el (data-debug-new-buffer)
54782         (data-debug-insert-stuff-list, data-debug-insert-thing):
54783         * lisp/emulation/viper-ex.el (viper-change-state-to-vi)
54784         (viper-change-state-to-emacs):
54785         * lisp/emulation/viper-macs.el (viper-change-state-to-vi):
54786         * lisp/org/ob-asymptote.el (orgtbl-to-generic):
54787         * lisp/org/ob-awk.el (orgtbl-to-generic):
54788         * lisp/org/ob-core.el (org-edit-src-code, orgtbl-to-generic):
54789         * lisp/org/ob-emacs-lisp.el (orgtbl-to-generic):
54790         * lisp/org/ob-exp.el (org-element-context):
54791         * lisp/org/ob-gnuplot.el (org-time-string-to-time)
54792         (orgtbl-to-generic):
54793         * lisp/org/ob-haskell.el (org-export-to-file):
54794         * lisp/org/ob-latex.el (org-create-formula-image)
54795         (org-latex-compile):
54796         * lisp/org/ob-python.el (run-python):
54797         * lisp/org/ob-sh.el (orgtbl-to-generic):
54798         * lisp/org/ob-tangle.el (org-link-escape, org-back-to-heading):
54799         * lisp/org/org-colview.el (org-agenda-redo):
54800         * lisp/org/org-feed.el (url-retrieve-synchronously):
54801         * lisp/org/org-info.el (Info-find-node):
54802         * lisp/org/org-list.el (org-previous-line-empty-p):
54803         * lisp/org/org-macs.el (org-string-match-p):
54804         * lisp/org/org.el (org-beamer-mode):
54805         Fix prototype to match current definition.
54806         * lisp/emacs-lisp/advice.el (function-called-at-point):
54807         * lisp/progmodes/prolog.el (compilation-shell-minor-mode):
54808         Fix typo: extra '.
54809         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
54810         Insert ,' to pacify check-declare.
54811         * lisp/org/ob-comint.el (tramp-flush-directory-property):
54812         * lisp/org/ob-tangle.el (org-babel-update-block-body):
54813         * lisp/org/org-bibtex.el (org-babel-trim):
54814         * lisp/org/org-pcomplete.el (org-export-backend-options):
54815         * lisp/org/org-protocol.el (org-publish-get-project-from-filename):
54816         Fix file name in declare-function.
54817         * lisp/org/ob-comint.el (with-parsed-tramp-file-name)
54818         * lisp/org/ob-core.el (with-parsed-tramp-file-name):
54819         * lisp/org/org.el (org-beamer-mode):
54820         * lisp/url/url-http.el (gnutls-negotiate):
54821         Append ‘t’ to declare-function, since the declaration isn’t a defun.
54822         * lisp/org/ob-core.el (show-all):
54823         Declare outline-show-all instead, since it is the
54824         non-obsolete version of this function.
54825         (org-save-outline-visibility): Remove; not needed.
54826         * lisp/org/ob-scheme.el (run-geiser, geiser-mode)
54827         (geiser-eval-region, geiser-repl-exit):
54828         * lisp/org/ox-org.el (htmlize-buffer):
54829         Prepend "ext:" to file name, since it is not part of Emacs.
54830         * lisp/org/ob-sh.el (org-babel-comint-in-buffer)
54831         * lisp/org/org-gnus.el (nnimap-group-overview-filename):
54832         Remove decl, since function was removed.
54833         * lisp/org/ob-sh.el (org-babel-comint-with-output):
54834         * lisp/org/org-macro.el (org-with-wide-buffer):
54835         Omit unnecessary (and mismatching) decl.
54836         * lisp/org/org-agenda.el (calendar-absolute-from-iso):
54837         * lisp/org/org-clock.el (calendar-iso-to-absolute):
54838         Declare calendar-iso-to-absolute instead, since it is the
54839         non-obsolete version of this function.
54840         * lisp/org/org-compat.el (w32-focus-frame):
54841         Remove decl, since function is now obsolete.
54843 2016-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
54845         :max-width/height fixes for shr after the scaling changes
54847         * lisp/net/shr.el (shr-rescale-image): Ensure that we respect
54848         max-width and max-height even after the scaling changes done
54849         earlier this year.
54851 2016-05-14  Eli Zaretskii  <eliz@gnu.org>
54853         Fix reading minibuffer input in viper-mode
54855         * lisp/emulation/viper-cmd.el (viper-read-string-with-history):
54856         Restore an assignment to viper-initial that got lost when
54857         viper-cmd.el was switched to lexical-binding.  (Bug#23536)
54859 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
54861         Port autogen.sh to Git 2.4
54863         Problem reported by Michael Brand in:
54864         https://lists.gnu.org/r/emacs-devel/2016-05/msg00367.html
54865         * autogen.sh (git_config): Don't assume that git rev-parse
54866         groks --git-common-dir.
54868 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
54870         Merge from origin/emacs-25
54872         6de0715 Properly reject malformed or empty package sigs
54873         edae7d9 Remove buggy non-native image scrolling
54875 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
54877         Improve display of tex-verbatim and Info quoted
54879         Problem reported by Glenn Morris (Bug#19889).
54880         * doc/emacs/display.texi (Standard Faces):
54881         * doc/lispref/display.texi (Basic Faces):
54882         * etc/NEWS: Mention fixed-pitch-serif.
54883         * lisp/faces.el (face-font-family-alternatives):
54884         New family alias Monospace Serif.
54885         (fixed-pitch-serif): New face, which uses the new family.
54886         * lisp/info.el (Info-quoted):
54887         * lisp/textmodes/tex-mode.el (tex-verbatim): Use the new face.
54888         * test/lisp/legacy/font-parse-tests.el (font-parse-tests--data):
54889         Add test case for Monospace Serif.
54891 2016-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
54893         * lisp/net/sieve-mode.el: Handle the text:... notation
54895         Get rid of redundant :group keywords.
54896         (sieve-mode-syntax-table): Move initialization into declaration.
54897         (sieve-syntax-propertize, sieve-syntax-propertize-text): New functions.
54898         (sieve-mode): Use them.
54900 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
54902         Tweak check-declare-directory performance
54904         * lisp/emacs-lisp/check-declare.el (check-declare-directory):
54905         Use ‘find ... -exec ... +’ for speed.
54907 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
54909         Sync from gnulib
54911         This incorporates a spelling fix, plus:
54912         2016-05-09 Fix undefined behavior in gettext.h
54913         * lib/gettext.h, lib/mktime.c:
54914         Copy from gnulib.
54916 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
54918         Merge from origin/emacs-25
54920         9c2a1a2 * doc/misc/texinfo.tex: Sync from gnulib.
54921         66cd4d8 * lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al...
54922         1a5a05c Do not mistake colon at the end of regexp for slash symbol
54923         4c5a00b Make package-install-from-buffer not move point
54924         9596ea1 ; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion"
54925         f79c352 Redo the fix for bug#21839
54926         8d2f78c Don't treat JS spread as contination method call
54928 2016-05-12  Chris Feng  <chris.w.feng@gmail.com>
54930         Correct server/client address
54932         * src/process.c (Fmake_network_process): :local is for servers and :remote
54933         is for clients.
54935 2016-05-12  Ken Brown  <kbrown@cornell.edu>
54937         Autosave buffers on logout if HAVE_NTGUI
54939         * src/w32fns.c (w32_wnd_proc): Pass a WM_ENDSESSION message on to
54940         w32_read_socket.
54942         * src/w32term.c (w32_read_socket): Create an event of type
54943         END_SESSION_EVENT if a WM_ENDSESSION message is received.
54945         * src/termhooks.h [HAVE_NTGUI]: New event kind END_SESSION_EVENT.
54947         * src/keyboard.c [HAVE_NTGUI] (syms_of_keyboard): New symbol
54948         `end-session'.
54949         (kbd_buffer_get_event): Return an end-session event if an event of
54950         type END_SESSION_EVENT is read.
54951         (keys_of_keyboard): Bind the end-session event to kill-emacs in
54952         special-event-map.  (Bug#23483)
54954 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
54956         * lisp/cedet/semantic/{db-el,symref}.el: Mark unused vars
54958         * lisp/cedet/semantic/db-el.el: Use _ to mark unused vars.
54959         (object-print): Use cl-call-next-method instead of call-next-method.
54960         * lisp/cedet/semantic/symref.el: Use _ to mark unused vars.
54962 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
54964         * lisp/cedet/semantic: Silence some warnings
54966         * lisp/cedet/semantic/db-el.el (emacs-lisp-mode)
54967         (semanticdb-get-database-tables): Use make-instance to silence warnings.
54969         * lisp/cedet/semantic/symref.el: Require semantic/find since we use
54970         some macros from there.  Silence compilation warnings:
54971         Replace initargs with slot names in oref/oset.
54972         Move `SYMREF TOOLS' section earlier so definitions precede their use.
54974 2016-05-12  Lars Ingebrigtsen  <larsi@gnus.org>
54976         Support srcset in <img>
54978         * lisp/net/shr.el (shr--preferred-image): Allow <img> tags
54979         with srcset specifiers (bug#23459).
54981 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
54983         Do not autoload some functions of tramp.el
54985         * lisp/net/tramp.el (tramp-completion-file-name-handler):
54986         Autoload a shortened version of this function, avoid recursive load.
54987         (tramp-completion-file-name-handler-alist)
54988         (tramp-completion-mode-p)
54989         (tramp-completion-handle-expand-file-name)
54990         (tramp-completion-handle-file-name-all-completions)
54991         (tramp-completion-handle-file-name-completion): Do not autoload.
54993 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
54995         Avoid recursive load of tramp.el
54997         * lisp/net/tramp.el (tramp-completion-file-name-handler):
54998         Autoload a shortened version of this function, avoid recursive load.
55000 2016-05-11  Michael Albinus  <michael.albinus@gmx.de>
55002         Fix a problem of tramp-tests on hydra.
55004         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
55005         Nullify `tramp-default-method' due to hydra.
55007 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
55009         Pacify byte-compiler in lisp/vc
55011         * lisp/vc/vc-bzr.el, lisp/vc/vc-cvs.el, lisp/vc/vc-hg.el:
55012         * lisp/vc/vc-rcs.el, lisp/vc/vc-src.el:
55013         Declare functions defined elsewhere, to forestall “might not
55014         be defined at runtime” warnings.
55016 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
55018         Merge from origin/emacs-25
55020         d0d9f55 Allow newlines inside cl function arglists
55021         963541a Publicize cl--generic-all-functions
55022         3c581d5 ; Fix typo
55023         e58f900 Add some "safe-local-variable" declarations for compatibility...
55025 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
55027         'text-quoting-style' now affects only ` and '
55029         Change 'text-quoting-style' so that it no longer affects
55030         formatting of curved quotes in format arguments to functions like
55031         'message'.  In particular, when this variable's value is 'grave',
55032         all quotes in formats are output as-is.
55033         * doc/lispref/help.texi (Keys in Documentation):
55034         * doc/lispref/strings.texi (Formatting Strings):
55035         * doc/lispref/tips.texi (Documentation Tips):
55036         * etc/NEWS:
55037         * src/doc.c (syms_of_doc): Document this.
55038         * lisp/help-fns.el (describe-function-1):
55039         * src/doc.c (text_quoting_style, Fsubstitute_command_keys)
55040         (syms_of_doc):
55041         * src/editfns.c (styled_format): Omit now-unnecessary code.
55042         * src/lisp.h (LEAVE_QUOTING_STYLE): Remove.
55044 2016-05-10  Alan Mackenzie  <acm@muc.de>
55046         Revert "Fix spurious fontification of "for (; a * b;)" in CC Mode."
55048         This reverts commit 89d1776b81ab552192ee41f13ce84ff86bda4556.  It is
55049         being reverted because it slowed down CC Mode's fontification too much
55050         (factor ~3).  It was the fix to bug #7918.
55052 2016-05-09  Lars Ingebrigtsen  <larsi@gnus.org>
55054         Move "Recent messages" earlier in report-emacs-bug
55056         * lisp/mail/emacsbug.el (report-emacs-bug): Move the "Recent
55057         messages" part earlier so that users can see it and remove it
55058         if they want.
55060 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
55062         Pacify byte compiler in tramp.el
55064         * lisp/net/tramp.el (tramp-time-diff): Use `tramp-compat-funcall'.
55066 2016-05-09  Paul Eggert  <eggert@cs.ucla.edu>
55068         Merge from origin/emacs-25
55070         3b47898 Fix doc string in `insert'
55071         b479dea * doc/misc/emacs-mime.texi (time-date): Document now-builtins...
55072         cd27f73 Say 'All results processed' at the end
55073         4ffec91 Document automatic adjustment of process' logical window dime...
55074         dc66271 ; Fix typos and stylistic glitches in NEWS
55076 2016-05-09  Alan Mackenzie  <acm@muc.de>
55078         CC Mode now uses the new :after-hook feature of define-derived-mode
55080         It now runs internal variable setting functions after the mode hooks, no
55081         longer runs the mode hooks twice, and declares the configuration variables for
55082         noise macros and macros with semicolons as safe variables (when given suitable
55083         arguments).
55085         Fixes bug #16759 and bug #23476.
55087         * .dir-locals.el: Put the c-noise-macros-with-paren-names setting
55088         back into the C Mode value.
55090         * lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to
55091         c-make-macro-with-semi-re.
55092         (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move
55093         c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate)
55094         and c-update-modeline into the :after-hook form.  Remove the explicit settings
55095         of the syntax table, the abbreviation table and the local key map, since they
55096         duplicate forms generated by define-derived-mode.  Remove the explicit
55097         invocation of each mode's mode hook, since they duplicate ones generated by
55098         define-derived-mode.
55100         * lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
55101         functions.
55102         (c-noise-macro-names, c-noise-macro-with-parens-names): give the
55103         save-local-variable property c-string-list-p.
55104         (c-macro-names-with-semicolon): give the save-local-variable property
55105         c-string-or-string-list-p.
55107         * doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not
55108         necessary to call the regexp generating functions after setting the pertinent
55109         configuration values in a mode hook.
55111 2016-05-09  Dmitry Gutov  <dgutov@yandex.ru>
55113         Fix the jit-lock-fontify-now test names
55115         * test/lisp/jit-lock-tests.el
55116         (jit-lock-fontify-now-mends-the-gaps)
55117         (jit-lock-fontify-now-does-not-refontify-unnecessarily):
55118         Fix the test names.
55120 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
55122         Extend completion candidates in tramp.el
55124         * lisp/net/tramp.el (tramp-parse-default-user-host): New defun.
55125         (tramp-get-completion-function): Use it.
55127 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
55129         Revert e2f785991d0c696fbb2bc2f331f888d979b8da82 for tramp.el
55131         * lisp/net/tramp.el (tramp-time-diff): Revert previous change due to backwards
55132         compatibility.
55134 2016-05-08  Dmitry Gutov  <dgutov@yandex.ru>
55136         Emulate interactive mode
55138         * test/lisp/jit-lock-tests.el (jit-lock-tests--setup-buffer)
55139         (jit-lock-does-not-refontify-unnecessarily):
55140         Bind noninteractive to nil (bug#23278).
55142 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
55144         Simplify now that float-time etc. are built-in
55146         This was prompted by warnings about calls to now-obsolete functions.
55147         * lisp/calendar/time-date.el (encode-time-value):
55148         Use setq rather than a recursive call, to avoid a warning
55149         about calling this obsolete function.
55150         * lisp/calendar/time-date.el (encode-time-value)
55151         (with-decoded-time-value, time-to-seconds, time-to-number-of-days):
55152         * lisp/erc/erc.el (erc-emacs-time-to-erc-time):
55153         * lisp/net/rcirc.el (rcirc-float-time):
55154         * lisp/org/org-compat.el (org-float-time):
55155         Simplify now that time-add and float-time are now built-in.
55156         * lisp/calendar/time-date.el (time-add, time-subtract, time-less-p):
55157         * lisp/net/newst-backend.el (time-add):
55158         * lisp/org/org.el (time-subtract):
55159         Remove backward-compatibility definitions; they are now built-in.
55160         * lisp/calendar/timeclock.el (timeclock-time-to-seconds)
55161         (timeclock-seconds-to-time):
55162         * lisp/net/rcirc.el (rcirc-float-time):
55163         * lisp/org/org-compat.el (org-float-time):
55164         Now obsolete, since callers can just use float-time and
55165         seconds-to-time.  All uses changed.
55166         * lisp/emacs-lisp/ert.el (ert-results-pop-to-timings):
55167         * lisp/gnus/gnus-art.el (article-lapsed-string):
55168         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
55169         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
55170         * lisp/gnus/nndiary.el (nndiary-compute-reminders):
55171         * lisp/net/tramp.el (tramp-time-diff):
55172         * lisp/org/org-clock.el (org-clock-timestamps-change):
55173         Prefer the time-subtract builtin to the subtract-time alias.
55174         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
55175         * test/lisp/character-fold-tests.el (character-fold--speed-test):
55176         Prefer the float-time builtin to the time-to-seconds alias.
55177         * lisp/org/org-agenda.el, lisp/org/org-clock.el, lisp/org/org-list.el:
55178         * lisp/org/org-timer.el, lisp/org/org.el:
55179         Adjust to org-float-time deprecation.
55181 2016-05-08  Alan Mackenzie  <acm@muc.de>
55183         Add :after-hook facility to define-derived-mode.
55185         This allow a form to be evaluated _after_ a major mode's hooks have been run.
55186         It is needed to solve some problems in CC Mode, including bug #16759 and
55187         bug #23476.
55189         * lisp/emacs-lisp/derived.el (define-derived-mode): introduce the new argument
55190         `:after-hook', and generate the requisite code for it.
55191         (derived-mode-make-docstring): Take account of the possibility of :after-hook.
55193         * lisp/subr.el (delayed-after-hook-forms): New variable.
55194         (run-mode-hooks): As the last thing evaluate the forms in
55195         delayed-after-hook-forms.
55197         * doc/lispref/modes.texi (Derived Modes): Document :after-hook.
55198         (Mode Hooks): Document the new feature in run-mode-hooks.
55200         * etc/NEWS: Note the new feature.
55202 2016-05-08  Michael Albinus  <michael.albinus@gmx.de>
55204         Fix recursive load of tramp.elc
55206         * lisp/net/tramp.el (tramp-completion-file-name-handler):
55207         Check also for `tramp-completion-mode-p'.
55208         (tramp-completion-mode, tramp-completion-mode-p): Autoload them.
55210 2016-05-07  Paul Eggert  <eggert@cs.ucla.edu>
55212         Prefer grep -E/-F to egrep/fgrep
55214         POSIX marked egrep and fgrep as legacy apps in SUSv2 (1997) and
55215         withdrew them in SUSv3 (2001), and these days grep -E and grep -F
55216         are probably more portable.
55217         * lib-src/etags.c (main):
55218         * lisp/eshell/em-unix.el (eshell-grep, eshell/egrep)
55219         (eshell/fgrep):
55220         * lisp/cedet/semantic/symref.el (semantic-symref-find-text):
55221         * lisp/eshell/esh-var.el (eshell-apply-indices):
55222         * lisp/progmodes/ada-xref.el (ada-xref-search-with-egrep)
55223         (ada-find-in-src-path):
55224         * lisp/textmodes/ispell.el (ispell-grep-command):
55225         (ispell-lookup-words):
55226         Use or document grep -E and grep -F instead of egrep and fgrep.
55227         * lisp/textmodes/ispell.el (ispell-grep-options):
55228         Use -Ei on all platforms, not just MS-Windows.
55230 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
55232         Avoid unnecessary work if a chunk is empty
55234         * lisp/jit-lock.el (jit-lock-fontify-now): Avoid unnecessary work
55235         if a chunk is empty (bug#23278).
55237 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
55239         * test/lisp/jit-lock-tests.el: New file.
55241 2016-05-07  Michael Albinus  <michael.albinus@gmx.de>
55243         Continue to fix Bug#10085
55245         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist)
55246         <expand-file-name>: Add handler.
55247         (tramp-completion-handle-expand-file-name): New defun.
55248         (tramp-handle-file-name-as-directory): Handle completion mode case.
55250         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
55251         Fix test.
55252         (tramp-test24-file-name-completion): Extend test.
55254 2016-05-07  Alan Mackenzie  <acm@muc.de>
55256         Revert change 8e4595a... due to annoyance it causes the development team.
55258         Change 8e4595a438fe85dd109756886cdeaeea2e665afb from 2016-04-30 17:28:24
55259         +0000 was an enhancement to .dir-locals to allow correct fontification
55260         of certain macro constructs.
55262         * .dir-locals.el: Remove the two forms for C Mode dealing with noise macros.
55264 2016-05-07  Alan Mackenzie  <acm@muc.de>
55266         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): Give it a version number.
55268 2016-05-07  Simen Heggestøyl  <simenheg@gmail.com>
55270         Add tests for CSS mode completion
55272         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values)
55273         (css-test-property-values-no-duplicates)
55274         (css-test-value-class-lookup): Use `seq-sort'.
55275         (css-mode-tests--completions): New helper function for retrieving CSS
55276         completions.
55277         (css-test-complete-bang-rule, scss-test-complete-bang-rule)
55278         (css-test-complete-property-value, css-test-complete-pseudo-class)
55279         (css-test-complete-pseudo-element, css-test-complete-at-rule)
55280         (scss-test-complete-at-rule, css-test-complete-property)
55281         (css-test-complete-selector, css-test-complete-nested-selector)
55282         (scss-test-complete-nested-selector): New tests.
55284 2016-05-06  Alan Mackenzie  <acm@muc.de>
55286         Add an option in Edebug to prevent pauses after `h', 'f', and `o'.
55288         Requested by Paul Pogonyshev.  Also add in documentation for Edebug config
55289         variables which was missing.
55291         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): New customizable option.
55292         (edebug--display-1): Test edebug-sit-on-break before pausing 1 second.
55294         * doc/lispref/edebug.texi (Jumping): Document the effect of the new option.
55295         (Edebug Options): Document the new option.  Also add documentation for
55296         edebug-eval-macro-args, edebug-print-length, edebug-print-level,
55297         edebug-print-circle, edebug-sit-for-seconds.
55299         * etc/NEWS: Note the new feature.
55301 2016-05-07  Jorgen Schaefer  <contact@jorgenschaefer.de>
55303         scheme.el: Turn literal tabs into \t
55305         * lisp/progmodes/scheme.el: The last change to turn tabs into spaces
55306         also caught some literal tabs in character classes. Fix this by
55307         adding \t to those classes.
55309 2016-05-07  Tino Calancha  <f92capac@gmail.com>
55311         Make 'backtab' work in table-mode on text terminals
55313         * lisp/textmodes/table.el (table-cell-bindings): Bind 'backtab'
55314         explicitly.  (Bug#23456)
55316 2016-05-07  Eli Zaretskii  <eliz@gnu.org>
55318         Try to speed-up display of many all-blank lines
55320         * src/bidi.c (bidi_initialize): Use anchored regexps for
55321         paragraph start and paragraph separator sequences.  (Bug#23457)
55323 2016-05-06  Alan Mackenzie  <acm@muc.de>
55325         Correct hack-local-variables change from Thu May 5 11:05:49 2016 +0000
55327         Prevent hack-local-variables being called from the fundamental-mode mode call
55328         early in normal-mode.  This fixes bug #23460 and bug #23463.
55330         * lisp/files.el (normal-mode) Replace call to fundamental-mode with calls to
55331         the things it calls, with the exception of hack-local-variables.
55333         * etc/NEWS: Add an entry to note the calling of hack-local-variables at each
55334         major mode initialization.
55336 2016-05-06  Paul Eggert  <eggert@cs.ucla.edu>
55338         Port xref-tests to master branch
55340         Also, add a test to make this problem less likely in the future.
55341         * test/Makefile.in (check-no-automated-subdir): New rule.
55342         (check, check-expensive, check-maybe): Depend on it.
55343         * test/automated/data/xref/file1.txt: Rename to ...
55344         * test/data/xref/file1.txt: ... here.
55345         * test/automated/data/xref/file2.txt: Rename to ...
55346         * test/data/xref/file2.txt: ... here.
55347         * test/automated/xref-tests.el: Rename to ...
55348         * test/lisp/progmodes/xref-tests.el: ... here.
55349         (xref-tests-data-dir): Use EMACS_TEST_DIRECTORY.
55351 2016-05-05  Paul Eggert  <eggert@cs.ucla.edu>
55353         Merge from origin/emacs-25
55355         50650cb Doc fixes for fclist and grep
55356         5e814e0 Minor doc fixes for quoting
55357         3347a73 `nreverse' the marker pairs list
55358         1a4127d Use save-excursion in xref-location-marker more
55359         ab3ba91 shell-quote-argument DIR when appropriate
55360         922c7a3 Rework xref-query-replace-in-results
55361         3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w...
55362         0932b94 Fix todo-mode bug involving archived items (bug#23447)
55363         e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432)
55364         adc80b7 ; * test/automated/xref-tests.el: Add copyright and license.
55365         4d8fd9c Handle "empty line" regexp in xref searches
55366         f559b37 Add tests for xref-collect-matches
55367         6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc...
55368         6f82d8e Clear buffer-undo-list when showing xrefs
55369         c68a091 Note the quote translation in `message' in section "incompati...
55370         52f86a7 * etc/NEWS: Mention (message "%s" (format ...)).
55371         93703c5 (Common Keywords): Correct what missing :group means
55372         79e5800 Improve documentation of Dired's 'A' and 'Q' commands
55373         2ea2a2f Doc fixes for quoting
55374         8544b98 posnp doc clarification
55375         805204f Mention what a missing :group does
55376         ec554d7 Fix documentation of dired-aux search/replace commands
55378 2016-05-05  Simen Heggestøyl  <simenheg@gmail.com>
55380         Support completion of HTML tags in CSS selectors
55382         * lisp/textmodes/css-mode.el (css--html-tags): New variable holding a
55383         list of HTML tags for completion.
55384         (css--nested-selectors-allowed): New variable for determining whether
55385         nested selectors are allowed in the current mode.
55386         (css--complete-selector): New function for completing part of a CSS
55387         selector.
55388         (css-completion-at-point): Support completion of selectors.
55389         (scss-mode): Allow nested selectors.
55391 2016-05-05  Lars Ingebrigtsen  <larsi@gnus.org>
55393         Make `R' in eww work more reliably
55395         * lisp/net/eww.el (eww-score-readability): Protect against
55396         null children.
55398 2016-05-05  Alan Mackenzie  <acm@muc.de>
55400         Call hack-local-variables from major modes rather than from file visiting
55402         This prevents file/directory local variables from being lost when the major
55403         mode is set or changed.
55405         This fixes bug #15577 and bug #23407.
55407         * lisp/files.el (normal-mode): Call `hack-local-variables' when the major mode
55408         function hasn't already done so.
55409         (hack-local-variables): Rename parameter `mode-only' to `handle-mode', make
55410         its previous non-nil setting be t, and introduce the following action for a
55411         non-nil non-t value: apply all settings apart from `mode'.
55413         * lisp/subr.el (run-mode-hooks): call `hack-local-variables' for buffers
55414         which are visiting files.
55416         * doc/emacs/custom.texi (File Variables): Note that setting a major mode also
55417         sets file variables.
55418         (Directory Variables): Note that `mode', `eval', and `unibyte' can be set as
55419         dir local variables, but `coding' can't.
55421         * doc/lispref/modes.texi (Major Mode Conventions): Say that `run-mode-hooks'
55422         also calls `hack-local-variables'.
55423         (Auto Major Mode): Say that `find-file' no longer runs `hack-local-variables',
55424         as from 25.2.  Remove vagueness from `normal-mode' and `set-auto-mode' by
55425         saying that the mode IS SET, not merely "selected" or "chosen".
55426         (Mode Hooks): Document change to `run-mode-hooks'.
55428         * doc/lispref/variables.texi (File Local Variables): Document change to
55429         `hack-local-variables'.
55431 2016-05-05  Michael Albinus  <michael.albinus@gmx.de>
55433         tramp-sh.el: Work around a stat bug
55435         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Do not use
55436         stat versions which produce shell quoted output.  See also
55437         coreutils Bug#23422.
55439 2016-05-04  Noam Postavsky  <npostavs@gmail.com>
55441         Fix autogen.sh for separate worktrees
55443         * autogen.sh: Use the $hooks variable in the $sample_hooks loop, instead
55444         of assuming .git/hooks is a directory.
55446 2016-05-04  Alan Mackenzie  <acm@muc.de>
55448         Allow `text-quoting-style' to be `leave', i.e. no translation of quotes.
55450         * lisp/help-fns.el (describe-function-1): Don't set coding system to UTF-8
55451         when text-quoting-style is `leave'.
55453         * src/lisp.h (enum text_quoting_style): Add identifier LEAVE_QUOTING_STYLE.
55455         * src/doc.c (syms_of_doc): New symbol "leave".  Amend doc string of
55456         `text_quoting_style'.
55457         (text_quoting_style): Handle `leave' by returning LEAVE_QUOTING_STYLE.
55458         (Fsubstitute_command_keys): Don't translate quotes when quoting_style is
55459         LEAVE_QUOTING_STYLE.
55461         * src/editfns.c (styled_format): Set quoting_style to -1 when
55462         text-quoting-style is `leave'.
55464 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
55466         * lisp/emulation/viper.el:
55467         * lisp/emulation/viper-cmd.el: Use lexical-binding.
55468         (viper-change-state-to-vi, viper-change-state-to-emacs): Allow dummy
55469         args, for use in advice-add.
55470         (viper--init-message): Rename from init-message.
55471         (viper-minibuffer-standard-hook): Adjust accordingly.
55472         (viper-undo): Remove unused var `modified'.
55473         (viper-read-string-with-history, viper-set-searchstyle-toggling-macros):
55474         Don't use dynamic vars as args.
55475         (viper-submit-report): Clarify use of dynamic vars.
55477         * lisp/emulation/viper.el: Use lexical-binding and nadvice.
55478         Remove redundant :group keywords.  Group the (if viper-mode) at top-level.
55479         Use add-function rather than a `(lambda ...).
55480         (viper--advice-list): New var.
55481         (viper--advice-add, viper--deactivate-advice-list): New funs.
55482         (viper-go-away, viper-set-hooks, viper-non-hook-settings): Use them.
55483         (viper-non-hook-settings): Don't hook into find-file any more.
55485 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
55487         * lisp/vc/ediff-util.el: Use lexical-binding.
55489         * lisp/progmodes/js.el (js-syntax-propertize): Recognize shebang line.
55491 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
55493         Add an animation sanity check
55495         * lisp/image.el (image-multi-frame-p): Give up on animations
55496         if it seems like they are too slow (bug#23431).
55498 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
55500         abbrev-tests.el fix
55502         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Don't check
55503         internal implementation detail.
55505 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
55507         (shr-rescale-image): Clarify logic slightly
55509         * lisp/net/shr.el (shr-rescale-image): Clarify logic slightly.
55511 2016-05-02  Martin Rudalics  <rudalics@gmx.at>
55513         Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2
55515         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
55516         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
55517         Monnier.  (Bug#19185, Bug#20398)
55519 2016-05-02  Lee Bochicchio  <lboc.home@gmail.com>
55521         Add more abbrev tests
55523         * test/lisp/abbrev-tests.el
55524         (clear-abbrev-table-test): Use `abbrev-expansion'
55525         (abbrev-table-empty-p-test, list-abbrevs-test)
55526         (prepare-abbrev-list-buffer-test, insert-abbrevs-test)
55527         (edit-abbrevs-test, define-abbrevs-test)
55528         (read-write-abbrev-file-test)
55529         (abbrev-edit-save-to-file-test): New tests (bug#23139).
55531 2016-05-02  Philipp Stephani  <p.stephani2@gmail.com>  (tiny change)
55533         Allow eval-ing named character literals
55535         * lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over
55536         named character literals.
55537         * test/lisp/progmodes/elisp-mode-tests.el
55538         (elisp--preceding-sexp--char-name): Add test for skipping over
55539         named character literals (bug#23354).
55541 2016-05-02  Aaron Conole  <aconole@redhat.com>
55543         Call va_end in boot_error
55545         * src/gnutls.c (boot_error): A recent change added a function
55546         to signal an error or return an error code. That function uses
55547         a variadic argument list to populate an error message
55548         string. However, it missed calling va_end after using the
55549         variadic argument list.
55551           Copyright-paperwork-exempt: yes
55553 2016-05-02  Aaron Conole  <aconole@bytheb.org>
55555         Fix the call to set_network_coding_system
55557         * src/process.c (Fmake_network_process): A recent commit
55558         modified the set_network_socket_coding_system function to take
55559         arguments host, service, and name. However, those arguments
55560         appear to be swapped.
55562           Copyright-paperwork-exempt: yes
55564 2016-05-02  Lars Ingebrigtsen  <larsi@gnus.org>
55566         Revert "alas, a map can have only one parent"
55568         This reverts commit d05806fda1cbba2db112bc783597fbe9d27175b2.
55570         This had already been fixed by using `make-composed-map'.  And
55571         we don't want image-map to inherit from special-mode-map, anyway.
55573 2016-05-02  Paul Eggert  <eggert@cs.ucla.edu>
55575         Merge from origin/emacs-25
55577         bf21c84 Fix quoting problem in cc-engine debug message
55578         8f36614 Add electric-quote-string unit test
55579         6280531 Don’t electrically quote ‘'’ in Python
55580         fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits
55582 2016-05-02  Sam Steingold  <sds@gnu.org>
55584         alas, a map can have only one parent
55586         * lisp/image-mode.el (image-model-map): Cannot have two parents.
55587         * lisp/image.el (image-map): Inherit from `special-mode-map'.
55589 2016-05-02  Michael Albinus  <michael.albinus@gmx.de>
55591         Fix Bug#10085
55593         * lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
55594         Add optional arguments OPERATION and COMPETION.  Handle
55595         `file-name-as-directory', `file-name-directory' and
55596         `file-name-nondirectory' also in completion mode.
55597         (tramp-file-name-handler): Use it.  (Bug#10085)
55599         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
55600         Extend test.
55602 2016-05-01  Martin Rudalics  <rudalics@gmx.at>
55604         * src/minibuf.c (read_minibuf): Use CONSP instead of Fconsp.
55606 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55608         Tweak .gitignore
55610         * .gitignore: Remove leim/changed.misc, leim/changed.tit,
55611         as these files are no longer created.  Add gmon.out, for
55612         -pg profiling.  Sort.
55614 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55616         Sync from gnulib
55618         This incorporates:
55619         2016-05-01 mktime: port to stricter signed overflow checking
55620         2016-05-01 mktime: speed up DEBUG_MKTIME benchmarks
55621         2016-05-01 mktime: resurrect DEBUG_MKTIME testing
55622         2016-05-01 mktime: simplify DEBUG_MKTIME
55623         2016-05-01 Port mktime_internal offset to unsigned time_t
55624         2016-04-27 xstrtol: prohibit monstrosities like "1bB"
55625         2016-04-13 mktime: improve integer overflow checking
55626         2016-04-13 intprops: check two's complement assumption
55627         2016-04-13 intprops, mktime, strtol: assume two's complement
55628         * lib/intprops.h, lib/mktime-internal.h, lib/mktime.c:
55629         * lib/strtol.c, lib/timegm.c, m4/mktime.m4, m4/std-gnu11.m4:
55630         Copy from gnulib.
55632 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55634         Merge from origin/emacs-25
55636         c695fb3 ; Spelling fixes
55637         03750c0 * doc/misc/texinfo.tex: Sync from gnulib.
55638         42fed3b * lisp/isearch.el (isearch-forward-symbol-at-point): Add isea...
55640 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55642         Merge from origin/emacs-25
55644         d8affa3 Use ‘T *restrict’ proto, not ‘T[restrict]’
55645         d38d2a8 Fix documentation of 'url-retrieve-synchronously'
55646         586b213 * lisp/url/url.el (url-retrieve-synchronously): Doc fix.  (Bu...
55648         # Conflicts:
55649         #       doc/misc/url.texi
55650         #       lisp/url/url.el
55652 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55654         Merge from origin/emacs-25
55656         16e5e8e Fix last change to isearch-update (bug#23406)
55657         b755d98 Autoload cursor-sensor-inhibit (bug#23406)
55658         b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call
55659         86aa409 Followup for last commit in the user manual
55660         7004459 Improve doc string of 'set-goal-column'
55661         ccdaf04 Fix the MSDOS build
55662         ffe701c Remove \= from format string (bug#18190)
55663         1c58fa1 Fix variable-pitch font on MS-Windows
55664         c6077bf Restore follow-scroll-up/down to scrolling by the combined si...
55665         b671e21 Revert unneeded change which harms syntactic parsing.  This f...
55666         48b24c9 Correct indentation of ids in a C++ enum after a protection k...
55667         5c3534f * lisp/window.el (window--process-window-list): No-op if no p...
55668         734fb3a Port dumping to NetBSD with PaX
55669         0255a70 Don't mistake `for' inside a function for a part of array com...
55671         # Conflicts:
55672         #       src/Makefile.in
55674 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55676         Merge from origin/emacs-25
55678         71fb0e0 Improve last change to vc-git-mode-line-string
55679         6858e77 Todo mode doc bug fix
55680         e55d0db Fix revision calculation in vc-git-mode-line-string
55681         ca87b34 ; Fix errant revert ccb75d7
55682         40bfebe Add Python 3.5 keyword "await"
55683         fa7886a Add new keywords of Python 3.5
55684         ccb75d7 Partially revert previous change.
55685         8ee168a ; * etc/NEWS: Update entry about color fonts on OS X with a w...
55686         b09ca27 Say why text-quoting-style is not a user option
55688 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
55690         Merge from origin/emacs-25
55692         5a952eb Don't mention ~/.emacs.bmk literally in doc strings
55693         c338cf3 * etc/NEWS: Explain why multicolor font display is disabled o...
55694         c30d1b4 Port to Ubuntu 16.04 --enable-gcc-warnings
55696 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
55698         Mention the `find-library-name' changes
55700 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
55702         Fix text in menu in minor-mode-menu-from-indicator
55704         * lisp/mouse.el (minor-mode-menu-from-indicator): Don't
55705         capitalize "Off" in "Turn Off" (bug#11028).
55707 2016-05-01  David Engster  <deng@randomsample.de>
55709         gitmerge: Add cherry pick to gitmerge-skip-regexp
55711         * admin/gitmerge.el (gitmerge-skip-regexp): Add "cherry picked
55712         from commit", which is the string appended by 'git cherry-pick
55713         -x'.
55715 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
55717         Allow `global-set-key' to bind keys under the `M-o' map
55719         * lisp/subr.el (global-set-key): Allow binding keys under the
55720         `M-o' map (bug#9730).
55722 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
55724         Add `size-indication-mode' to the menu on `mouse-1' "Top"
55726         * lisp/bindings.el (mode-line-column-line-number-mode-map):
55727         Add `size-indication-mode' to the menu (bug#5727).
55729 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
55731         Allow finding libraries loaded manually outside the load-path
55733         * lisp/emacs-lisp/find-func.el (find-library--from-load-path):
55734         New function to find a library from a load path (bug#5661).
55735         (find-library-name): Use it.
55737         There are so many combinations of inputs and possibly entries in
55738         `load-history' that the code looks like an entry in a code obfuscation
55739         contest.  If anybody has a better implementation, please substitute.
55741         But remember that the input given may be foo, foo.el, foo.elc, and the
55742         entries in load-history may be foo.el, foo.elc and foo.el.gz, and we
55743         want to return only foo.el and foo.el.gz.  *phew*
55745 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
55747         Allow minibuffer prompts to use faces
55749         * doc/lispref/minibuf.texi (Text from Minibuffer): Document
55750         `minibuffer-prompt-properties' and explain how faces work in
55751         the minibuffer prompt.
55753         * src/minibuf.c (read_minibuf): If `face' is in
55754         `minibuffer-prompt-properties', apply it to the end of the
55755         face list to allow users to have their own faces on the
55756         prompts (bug#16136).
55758 2016-05-01  Peter Feigl  <peter.feigl@nexoid.at>  (tiny change)
55760         Add R7RS syntax forms to scheme.el
55762         * lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
55763         a number of special forms introduced in R7RS-small.
55764         * lisp/progmodes/scheme.el (scheme-indent-function): Same.
55766 2016-05-01  Alan Third  <alan@idiocy.org>
55768         Implement horizontal scroll bars on NS
55770         * lisp/scroll-bar.el (horizontal-scroll-bars-available-p): Remove NS
55771         check.
55772         * lisp/term/ns-win.el: Remove custom NS scroll-bar handlers and bind
55773         scroll-bar mouse clicks to standard handlers.
55774         * src/nsterm.h (EmacsScroller): Add 'horizontal' property and rename
55775         pixel_height to pixel_length.
55776         * src/nsterm.m (x_set_window_size): Remove left-hand scroll-bar code. It
55777         caused scroll-bars to be over-drawn and the best working solution
55778         appears to be complete removal.
55779         (ns_set_horizontal_scroll_bar): Rewrite to handle horizontal scrollers
55780         correctly.
55781         (ns_set_vertical_scroll_bar): Set width to actual scroller width.
55782         (setFrame): Handle horizontal case.
55783         (dealloc): Handle horizontal case.
55784         (judge): Handle horizontal case.
55785         (setPosition): Rename pixel_height to pixel_length.
55786         (sendScrollEventAtLoc): Handle horizontal case.
55787         (mouseDown): Handle horizontal case and general tidy up of code.
55788         (mouseDragged): Handle horizontal case. Call sendScrollEventAtLoc with
55789         absolute pixel size instead of ratio.
55790         * src/window.h: Remove NS check.
55792 2016-05-01  Michael Albinus  <michael.albinus@gmx.de>
55794         tramp.texi: Revert last change due to backward compatibility
55796 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
55798         Fix the buffer-count patch (Bug#23394)
55800         * src/buffer.c (Fgenerate_new_buffer_name): Increment count just
55801         once each time through the loop.  Reported by Lars Ingebrigtsen in:
55802         https://lists.gnu.org/r/emacs-devel/2016-04/msg00918.html
55804 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55806         cua-prefix-override-inhibit-delay doc fix
55808         * lisp/emulation/cua-base.el
55809         (cua-prefix-override-inhibit-delay): Typo fix in doc string
55810         (bug#23401).
55812 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
55814         Fix generate-new-buffer-name increment typo
55816         Problem reported by Chaitanya Koparkar (Bug#23394).
55817         * src/buffer.c (Fgenerate_new_buffer_name): Increment count when
55818         generating a new buffer.  This fixes a typo I introduced in
55819         2014-04-05T00:04:58Z!eggert@cs.ucla.edu.
55821 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55823         global-eldoc-mode doc fix
55825         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Be more
55826         specific about what "applicable" means (bug#23071).
55828 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55830         Make the legend in describe-categories a link
55832         * lisp/help-fns.el (describe-categories): Make the "see
55833         bottom" text a link (bug#22227).
55835 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55837         normal-top-level-add-subdirs-to-load-path doc fix
55839         * lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
55840         Doc fix (bug#21962).
55842 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55844         isearch-search-fun-function doc tweak
55846         * lisp/isearch.el (isearch-search-fun-function): Mention what
55847         the STRING parameter is (bug#21552).
55849 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55851         Fill some imenu--index-alist doc lines
55853         * lisp/imenu.el (imenu--index-alist): Fill some doc lines (bug#21269).
55855 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55857         Make describe-variable look up the variable in the current buffer
55859         * lisp/help-fns.el (describe-variable): Get the variable
55860         definition in the buffer we were called from (in case it only
55861         exists there) (bug#21252).
55863 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55865         Fmarker_position doc string clarification
55867         * src/marker.c (Fmarker_position): Clarify the doc string
55868         (bug#21231).
55870 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55872         Further define-obsolete-* doc fixups
55874         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
55875         Fix up last change.
55876         (define-obsolete-variable-alias): Ditto.
55878 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55880         Describe WHEN in all the define-obsolete- macros
55882         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
55883         Say more verbosely what WHEN is (bug#21225).
55884         (define-obsolete-function-alias): Describe the WHEN parameter.
55885         (define-obsolete-variable-alias): Ditto.
55887 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55889         Mention with-silent-modifications in the lispref manual
55891         * doc/lispref/text.texi (Changing Properties): Document
55892         with-silent-modifications (bug#21171).
55894 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55896         with-silent-modifications doc clarification
55898         * lisp/subr.el (with-silent-modifications): Rearrange the doc
55899         string a bit so that the most pertinent information is at the
55900         top (bug#21171).
55902 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55904         clear-visited-file-modtime doc string fix
55906         * lisp/files.el (clear-visited-file-modtime): Fix possibly
55907         confusing doc string wording (bug#21169).
55909 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55911         Document mode mode line variables
55913         * doc/lispref/modes.texi (Mode Line Variables): Document
55914         `mode-line-front-space, `mode-line-misc-info',
55915         `mode-line-end-spaces' (bug#21014).
55917 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55919         Add a cross ref to Optional Mode Line
55921         * doc/lispref/modes.texi (Mode Line Variables): Add a cross
55922         reference to the Emacs mode line node that explains things
55923         like `display-time-string' (bug#21002).
55925 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55927         Add a doc string to display-time-string
55929         * lisp/time.el: Add a doc string to `display-time-string',
55930         because it's referred to in the manual, and is too mysterious
55931         otherwise (bug#21002).
55933 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55935         custom-buffer-style doc fix
55937         * lisp/cus-edit.el (custom-buffer-style): Document the `tree'
55938         value (bug#20724).
55940 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55942         Document how to check for ImageMagick support
55944         * doc/lispref/display.texi (ImageMagick Images): Say how to
55945         check for ImageMagick support, which isn't quite obvious
55946         (bug#20702).
55948 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55950         Minor doc fix for ImageMagick/SVG builds
55952         * doc/lispref/display.texi (SVG Images): Don't imply that you
55953         have to build Emacs yourself (bug#20702).
55954         (ImageMagick Images): Ditto.
55956 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55958         Rearrange the doc of query-replace slightly
55960         * lisp/replace.el (query-replace): Move the mention of the
55961         interactive prefix arg earlier so that users can find it
55962         (bug#20654).
55964 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55966         apropos-print doc fix
55968         * lisp/apropos.el (apropos-print): Document the undocumented
55969         parameters (bug#20520).
55971 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55973         completion-table-with-predicate doc string fix
55975         * lisp/minibuffer.el (completion-table-with-predicate): t ->
55976         non-nil in the doc string (bug#20460).
55978 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55980         Fill the completion-table-with-predicate doc string
55982         * lisp/minibuffer.el (completion-table-with-predicate): Fill
55983         the doc string (bug#20460).
55985 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55987         replace-match-maybe-edit doc clarification
55989         * lisp/replace.el (replace-match-maybe-edit): Say what
55990         MATCH-DATA is (bug#20304).
55992 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55994         add-timeout doc fix
55996         * lisp/emacs-lisp/timer.el (add-timeout): Mention the return
55997         value (bug#20181).
55999 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56001         Extremely minor doc fix in Choosing Window
56003         * doc/lispref/windows.texi (Choosing Window): There's only one
56004         action alist, I think (bug#20158).
56006 2016-04-30  Alan Mackenzie  <acm@muc.de>
56008         * .dir-locals.el: Amend for correct fontification of *.[ch]
56009         containing "IF_LINT"
56011 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56013         Transform mentions of `eval-after-load' to `with-eval-after-load'
56015         * doc/lispref/loading.texi (Hooks for Loading): Update text to
56016         not mention `eval-after-load' (bug#20038).
56018 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56020         cursor-type doc fix
56022         * src/buffer.c (syms_of_buffer): Mention that cursor-type's
56023         WIDHT/HEIGHT can't exceed the frame char size (bug#19215).
56025 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56027         Add a link from Tool Bar to Images
56029         * doc/lispref/keymaps.texi (Tool Bar): Add a link to the
56030         Images node (bug#19722).
56032 2016-04-30  Alan Mackenzie  <acm@muc.de>
56034         CC Mode: Recognize a noise macro with parens after a declarator's identifier
56036         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): In the while loop
56037         following comment "Skip over type decl suffix operators." insert code also
56038         to check for noise macros with parentheses.
56040 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56042         (default-mode-line-format): More explicit obsolete info
56044         * lisp/subr.el (default-mode-line-format): Be more explicit in
56045         how default values are now handled (bug#19424).
56047 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56049         Fcompare_buffer_substrings doc string clarification
56051         * src/editfns.c (Fcompare_buffer_substrings): Extremely minor
56052         doc string clarification (bug#19255).
56054 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56056         insert-file-contents-literally doc fix
56058         * lisp/files.el (insert-file-contents-literally): Say that the
56059         parameters are explained in the other function (bug#18317).
56061 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56063         Fix custom types for cursor-in-non-selected-windows
56065         * lisp/cus-start.el (standard): Use the same custom types for
56066         cursor-in-non-selected-windows as for cursor-type (bug#19214).
56068 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56070         Doc clarification to mwheel-scroll
56072         * lisp/mwheel.el (mwheel-scroll): Mention that the restriction
56073         does not apply to Windows (bug#19209).
56075 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56077         Clarify the doc of eval-expression-print-format
56079         * lisp/simple.el (eval-expression-print-format): Doc
56080         clarification (bug#19114).
56082 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56084         (extended-command-suggest-shorter): Add a version string
56086         * lisp/simple.el (extended-command-suggest-shorter): Add a
56087         version string.
56089 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56091         Document extended-command-suggest-shorter
56093         * doc/emacs/m-x.texi (M-x): Mention
56094         extended-command-suggest-shorter (bug#19152).
56096 2016-04-30  Ivan Shmakov  <ivan@siamics.net>
56098         Add a variable to control "shorter command" suggestions
56100         * lisp/simple.el (extended-command-suggest-shorter): New variable (bug#19152).
56101         (execute-extended-command): Use it.
56103 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56105         Explictly explain that package-initialize loads the packages
56107         * lisp/emacs-lisp/package.el (package-initialize): Be explicit
56108         in saying that `package-initialize' obviates adjusting the
56109         path or requiring the packages, as this is a question that
56110         apparently comes up now and then (bug#18829).
56112 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56114         Have the doc strings of `load-path' and `require' mention each other
56116         * src/fns.c (Frequire): Mention `load-path' and fill the doc
56117         string (bug#18829).
56119         * src/lread.c (syms_of_lread): Mention that `require' uses
56120         `load-path'.
56122 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56124         Doc fix for insert-pair-alist
56126         * lisp/emacs-lisp/lisp.el (insert-pair-alist): Say what
56127         COMMAND-CHAR is (bug#18809).
56129 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56131         Move doc of backup-directory-alist to the Backup node
56133         * doc/emacs/files.texi (Backup): Move the documentation of
56134         `backup-directory-alist' here from the "Single or Numbered
56135         Backups" node, because it doesn't seem to have much to do with
56136         numbering (bug#18692).
56138 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56140         Tiny doc clarification for create-fontset-from-fontset-spec
56142         * lisp/international/fontset.el (create-fontset-from-fontset-spec):
56143         Clarify what the optional part is (bug#18686).
56145 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56147         Fill the doc string of font-lock-keywords
56149         * lisp/font-lock.el (font-lock-keywords): Fill the lines and
56150         reorganize some explanations (bug#21427).
56152 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56154         Doc fix for font-lock-remove-keywords
56156         * lisp/font-lock.el (font-lock-remove-keywords): Add a link to
56157         `font-lock-add-keywords' to describe KEYWORDS (bug#18634).
56159 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
56161         Clarify whitespace-style doc string
56163         * lisp/whitespace.el (whitespace-style): Doc clarification
56164         (bug#18296).
56166 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56168         No need to test for jka-compr
56170         * lisp/vc/ediff-util.el (ediff-file-compressed-p): jka-compr
56171         is always available; no need to test (bug#18204).
56173 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56175         Doc fixed for next-error-buffer-p
56177         * lisp/simple.el (next-error-buffer-p): Clarify doc string
56178         (bug#18202).
56180 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56182         Tiny doc fix
56184         * src/fileio.c (Ffile_accessible_directory_p): Tiny doc fix
56185         (and fill) (bug#18201).
56187 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56189         Doc fix
56191         * src/keymap.c (Fdefine_prefix_command): Clarify doc string
56192         slightly (bug#18092).
56194 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56196         delsel doc touch ups
56198         * lisp/delsel.el (delete-selection-helper): Use non-nil
56199         instead of t and clarify function return values (bug#18089).
56201 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56203         Doc fixes for menu-bar.el
56205         * lisp/menu-bar.el (clipboard-kill-ring-save): Describe the
56206         REGION parameter (bug#18028).
56207         (clipboard-kill-region): Ditto.
56209 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56211         Doc fix
56213         * lisp/rect.el (delete-whitespace-rectangle): Doc fix (bug#18026).
56215 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56217         Minor doc clarification
56219         * lisp/subr.el (y-or-n-p): Document the return value from "n"
56220         (bug#18024).
56222 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56224         Fill font-lock-mode doc string
56226         * lisp/font-core.el (font-lock-mode): Fill the text to make it
56227         narrower (bug#18008).
56229 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56231         Wrap the auto-generated doc string
56233         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Wrap a
56234         string to make it less likely that we get overlong lines
56235         (bug#17999).
56237 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56239         Clarify hi-lock-find-patterns
56241         * lisp/hi-lock.el (hi-lock-find-patterns): Doc clarification
56242         (bug#17989).
56244 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56246         Warning fix in jit-lock-mode
56248         * lisp/jit-lock.el (jit-lock-mode): Don't issue a warning when
56249         turning the mode on in an indirect buffer, if this somehow has
56250         happened (bug#17738).
56252 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56254         Add a doc string to `winner-mode'
56256         * lisp/winner.el (winner-mode): Add a doc string based on the
56257         comments in the file (bug#17716).
56259 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56261         Doc fix for align-newline-and-indent
56263         * lisp/align.el (align-newline-and-indent): Mention that
56264         alignment is done by `align' (bug#17707).
56266 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56268         Cancel the eldoc timer when switching off eldoc mode
56270         * lisp/emacs-lisp/eldoc.el (eldoc-mode): Cancel the eldoc
56271         timer when switching off eldoc mode.  It will be restarted
56272         again if needed (bug#17582).
56274 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56276         Doc fix for `kbd'
56278         * lisp/subr.el (kbd): Describe more fully the format of the
56279         parameter (bug#17039).
56281 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56283         Add a sanity check to apropos-documentation-internal
56285         * lisp/apropos.el (apropos-documentation-internal): Add a
56286         sanity check to be less fragile in the presence of invalid
56287         data (bug#16725).
56289 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56291         Doc tweak
56293         * lisp/simple.el (use-empty-active-region): Doc tweak.
56294         There's only one region (bug#16513).
56296 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56298         Clarify `read-face-name' doc and tweak the code
56300         * lisp/faces.el (read-face-name): Clarify the documentation
56301         and allow a mix of faces and faces names in all cases
56302         (bug#16483).
56304 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56306         Remove ": ?" from the read-face-name prompt
56308         * lisp/faces.el (read-face-name): Remove ": ?" from the prompt
56309         to be more backwards compatible (bug#15909).
56311 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56313         Link from (emacs)Exiting to (lisp)Killing Emacs
56315         * doc/emacs/entering.texi (Exiting): Link to the lispref
56316         manual for further customizations (bug#15445).
56318 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56320         find-lisp doc touchups
56322         * lisp/find-lisp.el (find-lisp-format): Copy over the doc
56323         string (bug#15047).
56324         (find-lisp-find-files): Clarify doc.
56326 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56328         Don't have the manual claim that it lists all CL incompatibilities
56330         * doc/misc/cl.texi (Common Lisp Compatibility): The list of
56331         incompatibilities isn't exhaustive, so don't say that it is
56332         (bug#15171).
56334 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56336         Fix call of `kmacro-display'
56338         * lisp/kmacro.el (kmacro-view-ring-2nd): Fix call of
56339         `kmacro-display' (bug#15020).
56341 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
56343         Change all occurrences of "Mouse-[0-9]" to "mouse-[0-9]"
56345         * doc/emacs/*.texi: Change all occurrences of "Mouse-[0-9]" to
56346         "mouse-[0-9]".  These are case sensitive, and the keys are lower case
56347         (bug#14554).
56349 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
56351         Rename "Directory Search" menu to "Servers"
56353         * lisp/menu-bar.el (menu-bar-tools-menu): Rename "Directory
56354         Search" to "Directory Servers".  Suggested by Eli
56355         Zaretskii. (bug#14919).
56357         * lisp/net/eudc.el: Rename ditto throughout.
56359 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
56361         Remove uses of the unused to-end parameter from simple.el
56363         * lisp/simple.el (line-move-partial): Remove usages of the
56364         unused to-end parameter, and make it optional (bug#14844).
56365         (line-move): Remove use of the unused to-end parameter.
56367 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
56369         Doc fix: _ chars are automatically removed.
56371         * lisp/cus-edit.el (custom-buffer-create): _ chars are
56372         automatically removed when displaying help, so fix the last
56373         doc change.
56374         (custom-buffer-create-other-window): Ditto.
56376 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
56378         Doc string change to enable-recursive-minibuffers
56380         * src/minibuf.c (syms_of_minibuf): Mention
56381         minibuffer-depth-indicator-mode in the doc string to
56382         enable-recursive-minibuffers (bug#14147).
56384 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
56386         Fix definition of nobreak-space
56388         * lisp/faces.el (nobreak-space): The definition to
56389         nobreak-space was inadvertantly changed by the previous checkin.
56391 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
56393         Clarify the `interactive' doc string slightly
56395         * src/callint.c (Finteractive): Clarify the doc string slightly
56396           (bug#14577).
56398 2016-04-28  Drew Adams  <drew.adams@oracle.com>
56400         Make icomplete respect `completion-ignored-extensions'
56402         * lisp/icomplete.el (icomplete-completions): Heed
56403         `completion-ignored-extensions' (bug#12939).
56405 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
56407         Make ibuffer not break on newline-embedded buffer names
56409         * lisp/ibuffer.el (name): When buffer names contain newlines,
56410         quote those newlines before displaying (bug#12378).
56412 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
56414         Add a new face for non-breaking hyphen characters
56416         * doc/emacs/display.texi (Standard Faces): Mention nobreak-hyphen.
56417         (Text Display): Ditto.
56419         * lisp/faces.el (nobreak-hyphen): New face (bug#12048).
56421         * src/xdisp.c (get_next_display_element): Use it instead of
56422         the escape-glyph face.
56424         * src/xdisp.c (syms_of_xdisp): New symbil Qnobreak_hyphen.
56426 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
56428         Make a menu less ambiguous
56430         * doc/emacs/custom.texi (Key Bindings): The Modifier Keys node
56431         is about using modifier keys, not binding them (bug#10942).
56433 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
56435         Make kill-emacs-query-functions into defcustom
56437         * lisp/files.el (save-buffers-kill-terminal): Mention
56438         `save-buffers-kill-emacs' (bug#10794).
56439         (kill-emacs-query-functions): Made into a defcustom.
56441 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
56443         Have describe-variable output multi-line values better
56445         * lisp/help-fns.el (describe-variable): When printing
56446         multi-line expressions, display them prettier (bug#10723).
56448 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
56450         Clean up custom-buffer-create code slightly
56452         * lisp/cus-edit.el (custom-buffer-create-other-window): Don't
56453         pass the unused description value on (for clarity) (bug#10540).
56454         (custom-buffer-create): Ditto
56456 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
56458         Clarify some doc strings
56460         * lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
56461         Clarify doc string (bug#8693).
56462         (syntax-propertize): Clarify doc string.
56464 2016-04-28  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
56466         Fix number-at-point in lisp buffers
56468         * lisp/thingatpt.el (number-at-point): Don't say that things
56469         like ?a are numbers in lisp mode buffers (bug#8634).
56471 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
56473         Don't consider colons to be paragraphs starting chars in strings
56475         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't
56476         consider colons to start paragraphs in (doc) strings
56477         (bug#7751).
56479 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
56481         Make `undo' of `C-x r t' put point where it should be
56483         * lisp/rect.el (string-rectangle): Make `undo' of a this
56484         command put point back where it was (bug#7522).
56486 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
56488         Add some concept index entries for custom types
56490         * doc/lispref/customize.texi (Composite Types): Add concept
56491         index entries for restricted-sexp, radio and choice (bug#7385).
56493 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
56495         Mention `lisp-indent-function' in the lispref manual
56497         * doc/lispref/macros.texi (Indenting Macros): Mention
56498         `lisp-indent-function' (bug#3393).
56500 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
56502         Clarify doc string of internal compilation function
56504         * lisp/progmodes/compile.el (compilation-get-file-structure):
56505         Clarify doc string (bug#3137).
56507 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
56509         Avoid having `C-x h' mark the prompt part of the minibuffer
56511         * lisp/simple.el (mark-whole-buffer): Don't mark the prompt
56512         part of the minibuffer (bug#2589).
56514 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
56516         Allow a prefix argument to find-library to pop to a different window
56518         * lisp/emacs-lisp/find-func.el (find-library): Allow a prefix
56519         argument to pop to a different window (bug#2270).
56521 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
56523         Move the diff command to "Operate" in ibuffer
56525         * lisp/ibuffer.el (ibuffer-mode-operate-map): Move the diff
56526         command to the "Operate" menu, and remove the customization
56527         entry to make the "View" menu more logical (bug#1150).
56529 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
56531         Make the minor modes in help buffers into buttons
56533         * lisp/help.el (describe-mode): Make the minor modes into
56534         buttons to enable easier documentation traversal (bug#1149).
56536 2016-04-27  Jorgen Schaefer  <contact@jorgenschaefer.de>
56538         Add a number of Python 3 exceptions
56540         * lisp/progmodes/python.el (python-font-lock-keywords): Clean up
56541         the exception list, adding a number of new Python 3 exceptions and
56542         moving some exceptions to the Python 2 and 3 list as Python 2.7
56543         includes them.
56545 2016-04-26  Anders Lindgren  <andlind@gmail.com>
56547         Fix bug#22891: wrong terminal width when a fringe width is zero.
56549         When either fringe width is zero, Emacs reserved one column for a
56550         continuation glyph. Terminal windows does not take this into
56551         account when the frame is resized.
56553         * lisp/window.el (window-adjust-process-window-size): Use
56554         `window-max-chars-per-line' instead of `window-body-width'.
56555         * lisp/term.el (term-window-width): Remove function. (It does the
56556         same as `window-max-chars-per-line' but without recent bug fixes.)
56557         (term-mode): Use `window-max-chars-per-line' instead of
56558         `term-window-width'.
56560 2016-04-26  Simen Heggestøyl  <simenheg@gmail.com>
56562         Add completion of `calc()' in CSS mode
56564         * lisp/textmodes/css-mode.el (css-value-class-alist): Add `calc()' as
56565         a completion candidate for several value classes.
56566         (css--value-class-lookup): Return only unique results.
56568         * test/lisp/textmodes/css-mode-tests.el
56569         (css-test-property-values-no-duplicates)
56570         (css-test-value-class-lookup): Update to reflect the above changes.
56572 2016-04-26  Paul Eggert  <eggert@cs.ucla.edu>
56574         Fix socketd fd startup bug that I introduced
56576         Problem reported by Matthew Leach in:
56577         https://lists.gnu.org/r/emacs-devel/2016-04/msg00778.html
56578         * src/emacs.c (main): Indicate more clearly the coupling between
56579         the --daemon option and init_process_emacs.
56580         * src/lisp.h: Adjust to API changes.
56581         * src/process.c (set_external_socket_descriptor):
56582         Remove, replacing by ...
56583         (init_process_emacs): ... passing the socket FD here instead.
56584         All uses changed.
56586 2016-04-25  Tao Fang  <fangtao0901@gmail.com>
56588         Fix: (void-variable url-http-response-status)
56590         * lisp/url/url-http.el
56591         (url-https-proxy-after-change-function): Display the error
56592         message before doing the callback to avoid a void variable
56593         situation (bug#23290).
56595 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56597         smtpmail would say it's done before it is
56599         * lisp/mail/smtpmail.el (smtpmail-via-smtp): Move the sending
56600         of the data end marker from here... (bug#23020).
56601         (smtpmail-send-data): ... to here, so that we don't get a
56602         "Sending done" before we've sent the final "." (which can make
56603         the SMPT server reject the email.
56605 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56607         `url-retrieve-synchronously' now takes an optional timeout parameter
56609         * doc/misc/url.texi (Retrieving URLs): Document optional parameters.
56611         * lisp/url/url.el (url-retrieve-synchronously): Allow passing
56612         in a timeout parameter (bug#22940).
56614 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56616         Include "Retype" as a comint password prompt
56618         * lisp/comint.el (comint-password-prompt-regexp): Include
56619         "Retype" to catch "Retype password for [account]:" from the
56620         "pass" utility (bug#22942).
56622 2016-04-25  Alan Mackenzie  <acm@muc.de>
56624         Fix spurious fontification of "for (; a * b;)" in CC Mode.
56626         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Check for being
56627         inside the parens of a for statement and after a semicolon near the beginning
56628         of the lambda form.
56630 2016-04-25  Paul Eggert  <eggert@cs.ucla.edu>
56632         New function ‘char-from-name’
56634         This also fixes the mishandling of "\N{CJK COMPATIBILITY
56635         IDEOGRAPH-F900}", "\N{VARIATION SELECTOR-1}", etc.
56636         Problem reported by Eli Zaretskii in:
56637         https://lists.gnu.org/r/emacs-devel/2016-04/msg00614.html
56638         * doc/lispref/nonascii.texi (Character Codes), etc/NEWS: Document this.
56639         * lisp/international/mule-cmds.el (char-from-name): New function.
56640         (read-char-by-name): Use it.  Document that "BED" is treated as
56641         a name, not as a hexadecimal number.  Reject out-of-range integers,
56642         floating-point numbers, and strings with trailing junk.
56643         * src/lread.c (character_name_to_code): Call char-from-name
56644         instead of inspecting ucs-names directly, so that we handle
56645         computed names like "VARIATION SELECTOR-1".  Do not use an auto
56646         string, since char-from-name might GC.
56647         * test/src/lread-tests.el: Add tests for new behavior, and
56648         fix some old tests that were wrong.
56650 2016-04-25  Alan Mackenzie  <acm@muc.de>
56652         c-forward-<>-arglist no longer directly applies face properties in Java Mode.
56654         This allows the calling of c-restore-<>-properties from c-common-init without
56655         the test suite giving spurious errors.
56657         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove the form that
56658         sets face properties.
56659         (c-forward-<>-arglist-recur): Reformulate the bit that handles types inside
56660         template brackets using c-inside-<>-type-key.  Don't bind
56661         c-record-type-identifiers or c-record-found-types around the recursive call,
56662         allowing positions of found types to flow back to the caller.
56664         * lisp/progmodes/cc-langs.el (c-inside-<>-type-kwds, c-inside-<>-type-key):
56665         new lang consts/var.
56667         * lisp/progmodes/cc-mode.el (c-common-init): Don't remove
56668         c-restore-<>-properties from the list of functions called at mode
56669         initialization.
56671 2016-04-25  Jun Hao  <jun_hao@aol.com>
56673         Pass in port only if provided by caller in the OS X keychain
56675         * lisp/auth-source.el (auth-source-macos-keychain-search): Pass in
56676         port only if provided (bug#23374).
56678 2016-04-25  Alan Mackenzie  <acm@muc.de>
56680         Add fontification for a C declaration which looks like a function call.
56682         For example, "t1 *fn (t2 *b);".
56684         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add new variable
56685         at-decl-start, setting it to whether the putative decl starts immediately
56686         after ; or { or }.  Accept such a construct as a decl when at-decl-start is
56687         non-nil.
56689         * lisp/progmodes/cc-langs.el (c-pre-start-tokens): New language variable.
56691 2016-04-25  Eli Zaretskii  <eliz@gnu.org>
56693         Don't mirror slashes in convert-standard-filename on MS-Windows
56695         * lisp/w32-fns.el (w32-convert-standard-filename): Don't mirror
56696         slashes into backslashes.  This avoids producing ugly file names,
56697         and is deemed no longer necessary, and should certainly be
56698         unrelated to which shell is in use.
56700 2016-04-24  Dmitry Gutov  <dgutov@yandex.ru>
56702         Revert the disputed VC change and update the tests
56704         * lisp/vc/vc-hooks.el (vc-working-revision):
56705         Remove the previous change.
56706         (vc-state): Same.  And update the old, incorrect comment about
56707         unregistered files
56708         (https://lists.gnu.org/r/emacs-devel/2016-04/msg00526.html).
56710         * test/lisp/vc/vc-tests.el (vc-test--state): Remove the check
56711         calling `vc-state' on default-directory (VC state is undefined
56712         for directories).  Check that `vc-state' returns nil where it
56713         returned `unregistered' before.  Remove all checks comparing
56714         invocations with the backend passed in explictly and without.
56715         (vc-test--working-revision): Remove all checks comparing
56716         invocations with the backend passed in explictly and without.
56717         Update comments, and add a new one.
56719 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
56721         * etc/NEWS: Grammar and punctuation improvements.
56723 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
56725         Merge from origin/emacs-25
56727         9daf1cf * etc/NEWS: Improve wording of vc-git-log-output-coding-syste...
56728         0cd2e92 Don't kill ~/ if it's the top level directory
56729         4f40f5f describe-char: fix insert char documentation
56730         87ee542 (vc-git-mode-line-string): Don't use `replace-regexp-in-string'
56732 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
56734         Merge from origin/emacs-25
56736         960f90d * etc/AUTHORS: Update the AUTHORS file
56737         b21e9d4 * admin/update_autogen: Use #!/usr/bin/env bash
56739 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
56741         Merge from origin/emacs-25
56743         78f9af7 ; ChangeLog fixes
56744         162e549 * admin/authors.el (authors-ignored-files): Additions.
56745         2b31a0c In x_set_window_size restore do_pending_window_change calls
56746         401857e Fix Alt-modified keys on some European MS-Windows keyboards
56747         a77cf24 Document 'help-go-forward'
56748         1ba947f Revert "Allow to customize names of executables used by grep.el"
56749         570e0fa Revert "Don't use 'find-program'"
56750         645f4ef Revert "Use 'grep-find-program' in check-declare.el"
56751         aa03257 Clarify documentation of 'dired-mark-files-containing-regexp'
56752         ce0d8c7 Make tmm-menubar work in correct order again
56753         b8d5a8f Remove the Meta-CVS VC backend
56755 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
56757         Don't let `css--property-values' return duplicates
56759         * lisp/textmodes/css-mode.el (css--property-values): Don't return
56760         duplicate values.
56762         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
56763         Take the above into account.
56764         (css-test-property-values-no-duplicates): Test that duplicates aren't
56765         returned by `css--property-values'.
56767 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56769         Call `make-composed-keymap' correctly
56771         * lisp/image-mode.el (image-mode-map): Call
56772         `make-composed-keymap' correctly.
56774 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56776         Use `make-composed-keymap' instead of copying the keymap
56778         * lisp/image-mode.el (image-mode-map): Use
56779         `make-composed-keymap' instead of copying the keymap.
56781 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56783         Make `q' etc work in image mode again
56785         * lisp/image-mode.el (image-mode-map): Restore
56786         special-mode-map as the parent keymap of image-mode-map (bug#23167).
56788 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56790         Fix typo in last url.texi checkin
56792 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56794         Make STARTTLS error messages better
56796         * lisp/net/network-stream.el (network-stream-open-starttls):
56797         Output a better error message when TLS negotiation fails while
56798         doing STARTTLS (bug#23027).
56800 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56802         Encode the shr tests files with trailing white space
56804 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
56806         Cache results of `css--property-values'
56808         * lisp/textmodes/css-mode.el (css--property-values): Cache computed
56809         values.
56811         * test/lisp/textmodes/css-mode-tests.el (css-test-property-value-cache):
56812         New regression test for the above.
56814 2016-04-24  Michael Albinus  <michael.albinus@gmx.de>
56816         Some improvements in vc
56818         * lisp/vc/vc-hooks.el (vc-state, vc-working-revision):
56819         Check, whether FILE is registered.
56821         * lisp/vc/vc-rcs.el (vc-rcs-checkout-model): Return `locking'
56822         for nonexistent files.
56824         * test/lisp/vc/vc-tests.el (w32-application-type): Declare.
56825         (vc-test--revision-granularity-function)
56826         (vc-test--unregister-function): Use `vc-call-backend'.
56827         (vc-test--run-maybe-unsupported-function): New defmacro.
56828         (vc-test--register, vc-test--state, vc-test--working-revision)
56829         (vc-test--checkout-model): Use it.  Fix also expected results.
56830         (vc-test-src02-state, vc-test-rcs04-checkout-model): They pass now.
56832 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56834         Document the nil/default values of url-user-agent
56836         * doc/misc/url.texi (Customization): Document the nil/default
56837         values of url-user-agent.
56839 2016-04-24  Clément Pit--Claudel  <clement.pit@gmail.com>
56841         Compute User-Agent dynamically in url-http
56843         * lisp/url/url-http.el (url-http-user-agent-string): Compute
56844         User-Agent string dynamically.
56845         (url-http--user-agent-default-string): New function.
56847         * lisp/url/url-vars.el (url-privacy-level): Allow `emacs' in list
56848         of information not to send.
56849         (url-user-agent): Add nil and `default' options; do not
56850         pre-compute value.
56852 2016-04-24  Jun Hao  <jun_hao@aol.com>
56854         Handle auth-source items with special characters on OS X
56856         * lisp/auth-source.el
56857         (auth-source-macos-keychain-search-items): Handle keychain
56858         output correctly when has special chararcters (bug#22824).
56860 2016-04-24  Magnus Henoch  <magnus.henoch@gmail.com>
56862         Implement process-attributes for Darwin
56864         * src/sysdep.c (timeval_to_timespec, make_lisp_timeval)
56865         (system_process_attributes): Implement process-attributes
56866         for Darwin (bug#16579).
56868 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56870         Use Unicode literals instead of hex values
56872         * lisp/net/shr.el (shr-tag-bdo): Use Unicode literals instead
56873         of hex values for greater readability.
56874         (shr-tag-bdi): Ditto.
56876 2016-04-24  Steve Purcell  <steve@sanityinc.com>
56878         Allow _ characters in SQL prompts
56880         * lisp/progmodes/sql.el (sql-product-alist): Allow _
56881         characters in SQL prompts (bug#22596).
56883         Fixes issue 22596, whereby "_" is now not considered a word constituent
56884         character in sql-interactive-mode, so prompts like "foo_dev# " are not
56885         correctly detected. Rather than piggy-back on the symbol table, we
56886         explicitly match against alphanumeric chars or "_".
56888 2016-04-23  Glenn Morris  <rgm@gnu.org>
56890         When autoload-timestamps is nil, use a dummy timestamp rather than "t".
56892         * lisp/emacs-lisp/autoload.el (autoload--non-timestamp): New constant.
56893         (autoload-generate-file-autoloads, autoload-find-destination)
56894         (update-directory-autoloads): Use autoload--non-timestamp.
56896 2016-04-23  Glenn Morris  <rgm@gnu.org>
56898         * test/lisp/xt-mouse-tests.el: Move from test/automated/.
56900 2016-04-22  Jö Fahlke  <jorrit@jorrit.de>  (tiny change)
56902         Regexps for matching CMake output
56904         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add
56905         regexps for matching CMake output.
56906         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add
56907         CMake test cases.
56908         * etc/compilation.txt (CMake): Add CMake examples.
56910 2016-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
56912         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
56914         Fix docstring quotes.
56916 2016-04-21  Paul Eggert  <eggert@cs.ucla.edu>
56918         Improve character name escapes
56920         * doc/lispref/nonascii.texi (Character Properties):
56921         Avoid duplication of Unicode names.  Reformat examples to fit in
56922         narrow pages.
56923         * doc/lispref/objects.texi (General Escape Syntax):
56924         Simplify and better-organize explanation of \N{...} escapes.
56925         * src/character.h (CHAR_SURROGATE_PAIR_P): Remove; unused.
56926         (char_surrogate_p): New inline function.
56927         * src/lread.c: Do not include string.h; no longer needed.
56928         (invalid_character_name, check_scalar_value): Remove; the ideas
56929         behind these functions are now bundled into character_name_to_code.
56930         (character_name_to_code): Remove undocumented support for "CJK
56931         IDEOGRAPH-XXXX" names, as "U+XXXX" suffices.  Reject monstrosities
56932         like "\N{U+-0}" and null bytes in \N escapes.  Reject floating
56933         point in \N escapes instead of returning garbage.  Use
56934         AUTO_STRING_WITH_LEN to lessen pressure on the garbage collector.
56935         * test/src/lread-tests.el (lread-char-number, lread-char-name)
56936         (lread-string-char-number, lread-string-char-name):
56937         Test runtime behavior, not compile-time, as the test framework
56938         is not set up to test compile-time.
56939         (lread-char-surrogate-1, lread-char-surrogate-2)
56940         (lread-char-surrogate-3, lread-char-surrogate-4)
56941         (lread-string-char-number-2, lread-string-char-number-3):
56942         New tests.
56943         (lread-string-char-number-1): Rename from lread-string-char-number.
56945 2016-04-21  Philipp Stephani  <phst@google.com>
56947         Use 'ucs-names' for character name escapes
56949         * src/lread.c (invalid_character_name, check_scalar_value)
56950         (parse_code_after_prefix, character_name_to_code): New helper
56951         functions that use 'ucs-names' and parsing for CJK ideographs.
56952         (read_escape): Use helper functions.
56953         (syms_of_lread): New symbol 'ucs-names'.
56954         * test/src/lread-tests.el: New tests; fix a couple of bugs in
56955         existing tests.
56957 2016-04-21  Philipp Stephani  <phst@google.com>
56959         Minor cleanups for character name escapes
56961         * src/lread.c (init_character_names): Add missing 'void'.
56962         Remove top-level 'const'.
56963         (read_escape): Simplify loop a bit.  Remove top-level 'const'.
56965 2016-04-21  Philipp Stephani  <phst@google.com>
56967         Add documentation for character name escapes
56969 2016-04-21  Philipp Stephani  <phst@google.com>
56971         Implement named character escapes, similar to Perl
56973         * src/lread.c (init_character_names): New function.
56974         (read_escape): Read Perl-style named character escape sequences.
56975         (syms_of_lread): Initialize new variable 'character_names'.
56976         * test/src/lread-tests.el (lread-char-empty-name): Add test file
56977         for src/lread.c.
56979 2016-04-21  Fabrice Popineau  <fabrice.popineau@gmail.com>
56981         Avoid run-time dependency on libwinpthread DLL on MS-Windows
56983         * nt/mingw-cfg.site (ac_cv_search_clock_gettime)
56984         (ac_cv_func_clock_gettime, ac_cv_func_clock_settime): Force to not
56985         present, so that MinGW64 builds don't depend on libwinpthread.
56986         (Bug#22959)
56988 2016-04-21  Matthew Leach  <matthew@mattleach.net>
56990         Add LIBSYSTEMD to the list of supported features
56992         * configure.ac: Add LIBSYSTEMD to EMACS_CONFIG_FEATURES and print a
56993         message at the end of configure stating whether Emacs will be build
56994         with libsystemd support.
56996 2016-04-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
56998         Support absolute column movement in 'ansi-term'
57000         * lisp/term.el (term-handle-ansi-escape): Handle the "\E[G" sequence
57001         for absolute column movement.  (Bug#23303)
57003 2016-04-21  Jorgen Schaefer  <contact@jorgenschaefer.de>
57005         Add Python 3.5 keyword "await"
57007         * lisp/progmodes/python.el (python-font-lock-keywords): Add await as
57008         keyword.
57010 2016-04-20  Simen Heggestøyl  <simenheg@gmail.com>
57012         Add "keyframes" to list of CSS at-rules
57014         * lisp/textmodes/css-mode.el (css-at-ids): Add "keyframes" at-rule.
57016 2016-04-20  Phillip Lord  <phillip.lord@russet.org.uk>
57018         Prevent bootstrap autoload backup files
57020         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Suppress
57021         backups in newly created file.
57023         (autoload-ensure-default-file): Function split into two.
57024         (autoload-ensure-file-writeable): New function from split.
57026         (Bug#23203)
57028 2016-04-20  Paul Eggert  <eggert@penguin.cs.ucla.edu>
57030         Fix org-timestamp-change typo
57032         Problem reported by Peter Münster (Bug#23299).
57033         * lisp/org/org.el (org-timestamp-change): Fix typo that relied
57034         on undocumented behavior in ‘encode-time’.  In practice the
57035         old code used local time, so use that.
57037 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
57039         Avoid AC_PREPROC_IFELSE glitch in configure.ac
57041         Problem reported by Angelo Graziosi in:
57042         https://lists.gnu.org/r/emacs-devel/2016-04/msg00545.html
57043         * configure.ac (gl_gcc_warnings): Work around an Autoconf glitch:
57044         AC_PREPROC_IFELSE doesn’t generate a simple shell command.
57046 2016-04-19  Michael Albinus  <michael.albinus@gmx.de>
57048         autorevert: Resume with polling if file is deleted
57050         * lisp/autorevert.el: Use consistent wording in comments and
57051         docstrings.
57052         (auto-revert-mode): Add local function to `kill-buffer-hook'.
57053         (auto-revert-notify-handler): Improve handling of `stopped' event.
57055         * test/lisp/autorevert-tests.el
57056         (auto-revert-test02-auto-revert-deleted-file): New test.
57057         (auto-revert-test03-auto-revert-tail-mode)
57058         (auto-revert-test04-auto-revert-mode-dired): Rename them.
57060 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
57062         Merge from origin/emacs-25
57064         5a0cbe5 Fix Bug#23276
57065         2007e32 Sync with upstream vhdl mode v3.38.1.
57066         b6d2552 Tweak configure.ac syntax in recent module patch
57068 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
57070         Merge from origin/emacs-25
57072         ac00a92 Make sh-electric-here-document-mode accessible in sh-mode-hoo...
57073         3287f48 ; Add entry to MAINTAINERS
57074         b85981f * configure.ac (HAVE_MODULES): Exclude gnu-kfreebsd from prev...
57075         0f33284 Make use of rectangle-preview custom variable.
57076         aa0d83a Make use of rectangle-preview face.
57077         33bef6e Use 'grep-find-program' in check-declare.el
57078         a8560e5 Improve "C-h S" for cl-lib symbols
57079         52e798b Fix minor issues with removing left or right fringes
57080         d6ffd64 Speed up redisplay in ansi-term mode
57081         4ab671c Simplify 8-bit character handling by terminal for 'raw-text'
57082         f3653ec * configure.ac (HAVE_MODULES): Treat gnu like gnu-linux.  (Bu...
57083         ab849b7 Fix w32 memory-management problem when extending buffer text
57085 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
57087         Merge from origin/emacs-25
57089         32364bb substitute-command-keys keeps quotes’ text props
57090         567ab52 * src/xwidget.c (x_draw_xwidget_glyph_string): More clipping ...
57091         24b87a1 Add semantic-symref-filepattern-alist entry for lisp-interact...
57092         cc0b713 Perform xref searches without visiting unopened files
57093         5045575 Revert "Prevent bootstrap autoload backup files"
57095 2016-04-18  Philipp Stephani  <p.stephani2@gmail.com>
57097         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
57099         so that it matches the actual implementation.
57100         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
57102 2016-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
57104         * lisp/textmodes/ispell.el: Compile with lexical-binding
57106         (declare-function): Don't define any more.
57107         (ispell-check-minver, ispell-looking-back): Tweak definition so that
57108         the compiler can obviously know that it's always defined.
57109         (ispell-debug-buffer): Declare var.
57110         (ispell-hunspell-fill-dictionary-entry)
57111         (ispell-parse-hunspell-affix-file, ispell-hunspell-add-multi-dic)
57112         (ispell-find-hunspell-dictionaries, ispell-set-spellchecker-params)
57113         (ispell-command-loop): Avoid add-to-list on local variables.
57115 2016-04-17  Paul Eggert  <eggert@cs.ucla.edu>
57117         Minor fixups for external socket launching
57119         * configure.ac (HAVE_LIBSYSTEMD): Change earliest version to 222.
57120         * doc/emacs/misc.texi (Emacs Server):
57121         * etc/NEWS: Spelling and doc fixes.
57122         * src/emacs.c (main) [HAVE_LIBSYSTEMD]:
57123         Check for sd_is_socket returning positive, not zero.
57124         * src/process.c (external_sock_fd): Instead of initializing here ...
57125         (init_process_emacs): ... initialize it here, so that it does the
57126         right thing after dump/restore.
57127         (connect_network_socket): Simplify socket_to_use test.
57129 2016-04-17  Simen Heggestøyl  <simenheg@gmail.com>
57131         Add HTML5 tags to HTML mode
57133         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 tags.
57134         (html-tag-help): Add short descriptions of those tags.
57136 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57138         Finish idna->puny changes in last Message patch
57140         * lisp/gnus/message.el (message-idna-to-ascii-rhs-1): Use puny
57141         instead of idna functions.
57143 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57145         Use puny.el instead of idna.el functions in Gnus
57147         * lisp/gnus/gnus-art.el (gnus-use-idna): Default to t (since
57148         Emacs comes with IDNA support built in).
57149         (article-decode-idna-rhs): Use `puny-decode-domain' instead of
57150         `idna-to-unicode'.
57152         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message): Ditto.
57154 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57156         Mention `message-use-idna' in NEWS
57158 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57160         Default `message-use-idna' to t
57162         * lisp/gnus/message.el (message-use-idna): Default to t (since
57163         Emacs comes with puny.el now).
57165 2016-04-16  Matthew Leach  <matthew@mattleach.net>
57167         Extend battery.el to exotic power supply types
57169         * lisp/battery.el (battery-linux-sysfs-regexp): Rename from
57170         'battery--linux-sysfs-regexp' and make a defcustom. All users
57171         changed.  (Bug#23216)
57173 2016-04-16  Matthew Leach  <matthew@mattleach.net>
57175         Add external socket launching support
57177         * src/process.c (connect_network_socket): Allow a pre-allocated socket
57178         descriptor to be used if passed to Emacs, avoiding the call to
57179         'socket' and 'bind'.
57180         (Fmake_network_process): Allow users to pass ':use-external-socket' in
57181         the parameter plist to use any sockets that have been passed to Emacs.
57182         (wait_reading_process_output): Call 'socket' and 'bind' every time.
57183         (syms_of_process): New symbol ':use-external-socket'.
57184         (set_external_socket_descriptor): New function.
57185         (external_sock_fd): New variable.
57186         * src/lisp.h: (set_external_socket_descriptor): New declaration.
57187         * src/emacs.c (main): Call 'sd_listen_fds' to read the number of sockets
57188         passed and call 'set_external_socket_descriptor' to set the external
57189         socket.
57190         * src/Makefile.in: Add libsystemd library and C flags to the Emacs
57191         compilation options.
57193         * configure.ac: Add new default-on option "systemd" and check for
57194         libsystemd at configure time.
57196         * lisp/server.el (server-start): Set ':use-external-socket' to 't' when
57197         calling 'make-network-process'.
57199         * etc/NEWS: Document new socket-passing functionality and the configure
57200         option to disable systemd interaction.
57202         * doc/emacs/misc.texi (Emacs Server): Document systemd socket passing
57203         functionality and provide systemd unit examples.
57204         * doc/lispref/processes.texi (Network Processes): Document new
57205         'make-network-process' option ':use-external-socket'.
57207 2016-04-16  Matthew Leach  <matthew@mattleach.net>
57209         Don't spell-check argument of 'cref' TeX macro
57211         * lisp/textmodes/ispell.el (ispell-tex-skip-alists): Add the cref
57212         macro to skip spell-checking the cref macro argument.
57214 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
57216         Simplify use of O_BINARY
57218         * src/callproc.c (call_process):
57219         * src/fileio.c (write_region):
57220         * src/filelock.c (read_lock_data):
57221         * src/image.c (x_find_image_fd):
57222         * src/lread.c (openp):
57223         * src/sysdep.c (init_random, emacs_fopen):
57224         * src/unexcw.c (unexec):
57225         Omit unnecessary use of O_BINARY, since emacs_open now arranges
57226         that for us.
57228 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
57230         * src/indent.c (Fvertical_motion): Pacify GCC
57232         5.3.1 20160406 (Red Hat 5.3.1-6) on x86-64.
57234 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
57236         Port ‘./autogen.sh git’ to non-clones
57238         Problem reported by Angelo Graziosi in:
57239         https://lists.gnu.org/r/emacs-devel/2016-04/msg00341.html
57240         * autogen.sh (do_git): Default to false when the arg is ‘all’ but
57241         there is no ‘.git’.
57242         (git_common_dir, hooks): New vars.
57243         (git_config, tailored_hooks, sample_hooks): Use them.
57245 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
57247         Do not require that .git be a directory
57249         Problem reportyed by Phillip Lord.
57250         * admin/update_autogen, autogen.sh, build-aux/gitlog-to-emacslog:
57251         * configure.ac, make-dist:
57252         Do not require that .git be a directory, as 'git worktree' makes
57253         it a file and not a directory.
57255 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
57257         Avoid now-obsolete function gmm-format-time-string
57259         * lisp/gnus/message.el (message-insert-formatted-citation-line):
57260         Use format-time-string instead of obsolete function
57261         gmm-format-time-string.
57263 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
57265         Support OFFSET and (OFFSET ABBR) time zone rules
57267         This simplifies Gnus and VC time zone support, by letting them
57268         feed the output of ‘current-time-zone’ and ‘decode time’ to
57269         primitives that accept time zone arguments.
57270         * doc/lispref/os.texi (Time Zone Rules, Time Conversion):
57271         * etc/NEWS:
57272         * lisp/gnus/message.el (message-insert-formatted-citation-line):
57273         * lisp/org/org.el (org-timestamp-format):
57274         * src/editfns.c (Fformat_time_string, Fdecode_time):
57275         (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
57276         Document new behavior.
57277         * lisp/gnus/gmm-utils.el (gmm-format-time-string):
57278         * lisp/vc/add-log.el (add-log-iso8601-time-zone):
57279         Mark as obsolete, as it is now just an alias or narrow wrapper
57280         around format-time-string.
57281         * src/editfns.c (tzlookup): Also support integer OFFSET and
57282         list (OFFSET ABBR) as time zone rules.
57283         (Fencode_time): No longer need a special case for a cons ZONE.
57284         (Fcurrent_time_zone): If the time zone string is missing, compute
57285         it the same way the other new code does.
57287 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
57289         Merge from origin/emacs-25
57291         ca50981 Improve time zone documentation
57292         c23c965 Prevent bootstrap autoload backup files
57293         9344612 Disable multicolor fonts on OS X since they are not supported...
57294         c41ce1c Capitalize “Universal Time” in documentation
57295         10597c9 Don't use 'find-program'
57297 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
57299         Merge from origin/emacs-25
57301         b134c20 Sync with gnulib
57302         bb30fa9 Fix last change on 2016-01-02
57303         488a72f ; Spelling fixes
57304         9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3
57305         0e7bcec Avoid crashes due to unreasonably large or small text scaling
57306         85f257c Improve documentation of 'with-eval-after-load'
57307         668c7bc Improve handling of non-ASCII characters in Git log messages
57308         b570769 Remove undefined behavior in OS X dumper.
57309         97211f3 Fix clipping of xwidgets
57310         e87fbc0 Improve Lisp-level documentation of tooltips
57311         9f1786e Faces names should not end in "-face".
57312         3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings.
57313         a1f221b Comint and compile no longer set EMACS
57314         5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2...
57315         a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
57316         c93ae7a Allow to customize names of executables used by grep.el
57317         f6497c6 Set locale encoding to UTF-8 when run from OS X GUI.
57318         7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt
57319         a3f1ac2 Avoid infinite loop in 'studlify-word'
57320         f36df4b Don’t recommend obsolete EMACS env var
57321         fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...
57323 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
57325         Merge from origin/emacs-25
57327         96d9e78 Fix "Beginning of buffer" error in forward-page
57328         20686f7 Add a `transient' project type
57330 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
57332         Merge from origin/emacs-25
57334         80128a7 Fix stability confusion in sort-tests
57335         1e4aa42 Avoid describe-key error with lambdas
57336         a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag...
57337         f501116 Sync with gnulib
57338         c4963f9 Fix doc for Universal Time
57340 2016-04-10  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
57342         Fix alignement rule for CSS
57344         * lisp/align.el (align-rules-list): Support CSS properties that have
57345         multiple words.
57347 2016-04-10  Tassilo Horn  <tsdh@gnu.org>
57349         New custom option for overriding mailcap choices
57351         * lisp/net/mailcap.el (mailcap--get-user-mime-data): New function.
57352         (mailcap--set-user-mime-data): New function.
57353         (mailcap-user-mime-data): New customization option.
57354         (mailcap-select-preferred-viewer): New function.
57355         (mailcap-mime-info): Use it.
57357         * doc/misc/emacs-mime.texi (mailcap): Document `mailcap-user-mime-data'.
57359 2016-04-10  Michael Albinus  <michael.albinus@gmx.de>
57361         Fix Bug#23207
57363         * src/keyboard.c (read_char): Resume idle timers in case of
57364         dbus-event, file-notify-event and config-changed-event.
57365         Reported by Johan Claesson <johanclaesson@bredband.net>.  (Bug#23207)
57367 2016-04-09  Michael Albinus  <michael.albinus@gmx.de>
57369         Add vc-backend and vc-responsible-backend tests
57371         * lisp/vc/vc-hooks.el (vc-file-setprop, vc-file-getprop)
57372         (vc-file-clearprops): Use properties on absolute files.
57374         * test/lisp/vc/vc-tests.el (vc-test--unregister-function):
57375         Clear file properties.
57376         (vc-test--register): Add tests for `vc-backend' and
57377         `vc-responsible-backend'.  Catch other errors but `vc-not-supported'.
57378         (vc-test--state, vc-test--checkout-model): Catch other errors
57379         but `vc-not-supported'.
57380         (vc-test--working-revision): Fix test for RCS and SCCS.  Catch
57381         other errors but `vc-not-supported'.
57382         (vc-test-src02-state): Mark as an expected failure.
57384 2016-04-08  Paul Eggert  <eggert@cs.ucla.edu>
57386         Minor improvements for hash function primitives
57388         * src/fns.c (hashfn_eql): Define in terms of hashfn_equal and
57389         hashfn_eq rather than reaching inside them.
57390         (hashtest_eq, hashtest_eql, hashtest_equal):
57391         Now constants with initializers.
57392         (syms_of_fns): Omit no-longer-needed initialization.
57393         * src/lisp.h (LISPSYM_INITIALLY): New macro.
57394         (DEFINE_LISP_SYMBOL): Use it.
57396 2016-04-08  Paul Pogonyshev  <pogonyshev@gmail.com>
57398         New primitives sxhash-eq, sxhash-eql
57400         * doc/lispref/hash.texi (Defining Hash), etc/NEWS: Document this.
57401         * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
57402         Add sxhash-equal, sxhash-eq, sxhash-eql.
57403         * lisp/subr.el (sxhash): Now an alias for sxhash-equal.
57404         * src/fns.c (Fsxhash_eq, Fsxhash_eql): New functions.n
57406 2016-04-08  Eli Zaretskii  <eliz@gnu.org>
57408         Teach Dired support parallel execution of commands on MS-Windows
57410         * lisp/dired-aux.el (dired-shell-stuff-it): Support
57411         parallel-in-background execution of commands on MS-Windows.
57412         Test 'w32-shell-dos-semantics' instead of the underlying OS
57413         when determining whether addition of 'wait' is needed.
57415 2016-04-08  Tino Calancha  <f92capac@gmail.com>
57417         Make 'dired-do-shell-command' wait for all background jobs
57419         * lisp/dired-aux.el (dired-shell-stuff-it): Force POSIX shells to
57420         wait until all background jobs exit.  (Bug#23206).
57422 2016-04-07  Vivek Dasmohapatra  <vivek@etla.org>
57424         Prefer 'font-lock-face to 'face in erc where appropriate
57426         * lisp/erc/erc-button.el (erc-button-add-face): Prefer
57427         'font-lock-face to 'face where appropriate.
57428         * lisp/erc/erc-capab.el (erc-capab-identify-add-prefix)
57429         * lisp/erc/erc-dcc.el (erc-dcc-chat-parse-output)
57430         * lisp/erc/erc-goodies.el (erc-controls-propertize)
57431         * lisp/erc/erc-stamp.el (erc-format-timestamp)
57432         * lisp/erc/erc-track.el (erc-faces-in)
57433         * lisp/erc/erc.el (erc-load-irc-script-lines, erc-display-msg)
57434         (erc-display-command, erc-make-notice, erc-highlight-notice)
57435         (erc-format-my-nick, erc-format-@nick, erc-format-privmessage)
57436         (erc-display-prompt, erc-display-message-highlight)
57437         (erc-log-irc-protocol): Ditto.
57439         * test/lisp/erc/erc-track-tests.el: Converted asserts into ert
57440         tests.
57442 2016-04-06  Lele Gaifax  <lele@metapensiero.it>
57444         Add new keywords of Python 3.5
57446         Python 3.5, released in mid September 2015, introduced a few new
57447         keywords to better support asynchronous code, "async" and "await"
57448         in particular. See https://www.python.org/dev/peps/pep-0492/ for
57449         details. (Bug#21783)
57450         * lisp/progmodes/python.el (python-rx-constituents): Add async
57451         def/for/with as block-start and async def as defun.
57452         * lisp/progmodes/python.el (python-font-lock-keywords): Add async
57453         def/for/with as keyword.
57454         * test/automated/python-tests.el (python-indent-after-async-block-1,
57455         python-indent-after-async-block-2, python-indent-after-async-block-3,
57456         python-nav-beginning-of-defun-3): New tests to test indentation and
57457         navigation for the async keyword.
57459 2016-04-05  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
57461         Support completion of at-rules in SCSS mode
57463         lisp/textmodes/css-mode.el (scss-at-ids): New defconst holding
57464         SCSS-specific at-rules.
57465         (css--at-ids): New buffer-local variable holding the list of at-rules
57466         for the current mode.
57467         (css--complete-at-rule): Retrieve at-rules from `css--at-ids`.
57468         (scss-mode): Set `css--at-ids'.
57470 2016-04-05  Paul Eggert  <eggert@cs.ucla.edu>
57472         Enable GCC warnings in developer builds
57474         However, do not fail; just issue the warnings.  Add an option
57475         --enable-gcc-warnings=warn-only to configure, to implement this.
57476         * INSTALL, etc/NEWS: Document this.
57477         * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
57478         (gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option.
57479         Don’t treat --with-x-toolkit=no as a special case when configuring
57480         warnings.
57482 2016-04-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57484         Inhibit querying for the encoding of the headers when resending
57486         * lisp/gnus/message.el (message-resend): Inhibit querying for
57487         the encoding of the headers when resending.
57489 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
57491         Prefer AUTO_STRING_WITH_LEN to make_formatted_string
57493         * src/buffer.c (Fgenerate_new_buffer_name):
57494         * src/filelock.c (get_boot_time):
57495         * src/minibuf.c (get_minibuffer):
57496         * src/process.c (make_process):
57497         * src/xdisp.c (ensure_echo_area_buffers):
57498         Prefer AUTO_STRING_WITH_LEN + sprintf to make_formatted_string
57499         when either will do.
57501 2016-04-04  Tao Fang  <fangtao0901@gmail.com>
57503         Allow URL using HTTPS proxies using CONNECT
57505         * lisp/url/url-http.el (url-http-find-free-connection): Allow
57506         using proxies (bug#11788).
57507         (url-http-end-of-document-sentinel): Ditto.
57508         (url-http): The protocol may change from http to https and
57509         vice versa.
57510         (url-https-proxy-connect): Allow using CONNECT proxies for https.
57512 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
57514         New C macro AUTO_STRING_WITH_LEN
57516         Put a bit less pressure on the garbage collector by defining a
57517         macro that is like AUTO_STRING but also allows null bytes in strings,
57518         and by extending AUTO_STRING to work with any unibyte string.
57519         * src/alloc.c (verify_ascii): Remove; all uses removed.
57520         AUTO_STRING can now be used on non-ASCII unibyte strings.
57521         * src/lisp.h (AUTO_STRING): Now allows non-ASCII unibyte strings.
57522         (AUTO_STRING_WITH_LEN): New macro.
57523         * src/coding.c (from_unicode_buffer):
57524         * src/editfns.c (format_time_string):
57525         * src/emacs-module.c (module_make_string, module_format_fun_env):
57526         * src/fileio.c (Fexpand_file_name):
57527         * src/font.c (font_parse_family_registry):
57528         * src/ftfont.c (ftfont_get_charset):
57529         * src/keymap.c (silly_event_symbol_error):
57530         * src/menu.c (single_menu_item):
57531         * src/sysdep.c (system_process_attributes):
57532         Use AUTO_STRING_WITH_LEN if possible.
57533         * src/emacs-module.c (module_make_function):
57534         * src/fileio.c (report_file_errno, report_file_notify_error):
57535         * src/fns.c (Flocale_info):
57536         * src/sysdep.c (system_process_attributes):
57537         Use AUTO_STRING if possible.  This is doable more often now
57538         that AUTO_STRING works on any unibyte string.
57540 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
57542         Port redirect-debugging-output to MS-Windows
57544         Suggested by Eli Zaretskii in:
57545         https://lists.gnu.org/r/emacs-devel/2016-04/msg00037.html
57546         * src/print.c [WINDOWSNT]: Include sys/socket.h.
57547         * src/w32.c (sys_dup2): Work around problem with MS-Windows _dup2.
57549 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
57551         Port redirect-debugging-output to non-GNU/Linux
57553         Problem reported by Kylie McClain for musl in:
57554         https://lists.gnu.org/r/emacs-devel/2016-03/msg01592.html
57555         * etc/DEBUG, etc/NEWS: Mention this.
57556         * src/callproc.c (child_setup) [!MSDOS]:
57557         * src/dispnew.c (init_display):
57558         * src/emacs.c (main, Fdaemon_initialized):
57559         * src/minibuf.c (read_minibuf_noninteractive):
57560         * src/regex.c (xmalloc, xrealloc):
57561         Prefer symbolic names like STDERR_FILENO to magic numbers like 2,
57562         to make file-descriptor manipulation easier to follow.
57563         * src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed
57564         now that we make sure stdin, stdout and stderr are open.  All uses
57565         removed.
57566         (main): Make sure standard FDs are OK.  Prefer symbolic names like
57567         EXIT_FAILURE to magic numbers like 1.  Use bool for boolean.
57568         * src/lisp.h (init_standard_fds): New decl.
57569         * src/print.c (WITH_REDIRECT_DEBUGGING_OUTPUT) [GNU_LINUX]:
57570         Remove; no longer needed.
57571         (Fredirect_debugging_output): Define on all platforms, not just
57572         GNU/Linux.  Redirect file descriptor, not stream, so that the code
57573         works even if stderr is not an lvalue.  Report an error if the
57574         file arg is neither a string nor nil.
57575         (syms_of_print): Always define redirect-debugging-output.
57576         * src/sysdep.c (force_open, init_standard_fds): New functions.
57578 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
57580         Spelling fixes
57582 2016-04-03  John Wiegley  <johnw@newartisans.com>
57584         Revert "Add `r'/`l' grep command history commands"
57586         This reverts commit a32eea60ac90d367435860fe3a10bf843e6f497c.
57588 2016-04-03  John Wiegley  <johnw@newartisans.com>
57590         Revert "Restore the point in grep buffers when traversing the history"
57592         This reverts commit f7c5f79ca565d3ef3feeb1e0af5ca261f1bcf58a.
57594 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
57596         Merge from origin/emacs-25
57598         787df9d ; * src/keyboard.c (read_char): Fix typos in a comment.
57600 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
57602         Merge from origin/emacs-25
57604         b787d55 More format-time-string change fixups
57605         13c8f29 make-xwidget unused arg cleanup
57606         36e05f0 Remove unused arguments from make-xwidget
57607         1042217 Document incompatible changes in 'format-time-string'
57608         7228eb8 Improve documentation of byte-code objects
57609         0020047 Adapt calls to 'format-time-string' to changes in Emacs 25
57610         17b5152 Improve vc-diff with Git backend
57611         c28f87a (js--continued-expression-p): Special-case unary plus and minus
57612         2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary.
57613         9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem...
57614         b3b523c Avoid crashes due to insanely large columns in tabulated-list...
57615         a3daa34 Teach M-x disassemble a default argument.
57616         e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
57617         df441b3 Fix OS X specific settings in tramp-tests
57618         2244331 Finish fixing a cacheing bug in CC Mode (see 2016-03-09)
57620         # Conflicts:
57621         #       lisp/net/tramp-sh.el
57622         #       lisp/progmodes/cc-engine.el
57624 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57626         Restore the point in grep buffers when traversing the history
57628         * lisp/progmodes/grep.el (grep-process-setup): Allow moving
57629         point to a specific place after finishing the grep command.
57630         (grep-mode): Use it to restore point after traversing the history.
57631         (grep--history-point): New internal variable.
57632         (grep--save-history, grep-forward-history): Use it to restore
57633         the point.
57635 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57637         Add `r'/`l' grep command history commands
57639         * doc/emacs/building.texi (Grep Searching): Mention the
57640         `r'/`l' commands.
57642         * lisp/progmodes/grep.el (grep-forward-history): New command.
57643         (grep-backward-history): Ditto.
57644         (grep--save-buffers): New function.
57645         (grep): Use it to record the history.
57646         (grep--command-history, grep--history-inhibit)
57647         (grep--history-place): New internal variables for the grep
57648         history (bug#22627).
57650 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
57652         Fix Bug#23186, again
57654         * lisp/net/tramp.el (tramp-encoding-shell)
57655         (tramp-encoding-command-switch)
57656         (tramp-encoding-command-interactive): Check for
57657         `w32-shell-name'.  (Bug#23186)
57659 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
57661         Fix Bug#23186
57663         * lisp/net/tramp.el (tramp-encoding-command-switch)
57664         (tramp-encoding-command-interactive):
57665         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
57666         `tramp-encoding-shell' could be nil.  (Bug#23186)
57668 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
57670         Fix Bug#22145
57672         * lisp/net/tramp-cache.el (tramp-get-connection-property)
57673         (tramp-set-connection-property, tramp-connection-property-p)
57674         (tramp-flush-connection-property): Improve docstring.
57676         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
57678         * lisp/net/tramp.el (tramp-get-local-locale): New defun.
57680         * test/automated/tramp-tests.el (tramp--test-utf8):
57681         Improve settings of coding systems.  (Bug#22145)
57683 2016-04-02  John Wiegley  <johnw@newartisans.com>
57685         Merge from origin/emacs-25
57687         7c1802f * doc/lispref/text.texi (Columns): Remove a nonexistent refer...
57688         9034c50 * doc/man/emacsclient.1: Document +line:column option.
57689         06495c9 Fix rare problems with echo-area display and multiple frames
57690         f99b512 In M-%, avoid making buffer-local binding of text-property-de...
57692 2016-04-02  John Wiegley  <johnw@newartisans.com>
57694         Merge from origin/emacs-25
57696         e65c307 * src/font.c (QCuser_spec): Add missing colon to :user-spec.
57697         c8b868b Don't start the 'midnight' timer twice
57698         278c8a7 * src/xwidget.c (Fxwidget_resize): Fix inappropriate use of X...
57699         e5c17f4 Fix todo-mode category movement
57700         bc70fda * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version.
57701         cf40f38 Ignore non-nil. non-cons values of unread-command-events
57702         8ee4c52 Improve documentatuon of 'truncate-partial-width-windows'
57703         fb9a62c * src/ftfont.c (ftfont_shape_by_flt): Parenthesize as per GNU...
57704         1e1ea22 Fix 'dired-goto-file' in Dired buffers produced by find-dired
57705         3a13472 Fix map-put and map-delete for alists (Bug#23105)
57706         422c3da Minor copyedits of documentation for temporary displays
57707         90fb9b3 Add customization option for using UTF-8 coordinates in xt-mouse
57708         f14d463 Minor doc string fixes in replace.el
57709         e70ee9d Fix scrolling upwards with 'xwidget-webkit-browse-url'
57710         44782de Fix display of Indic scripts
57711         326c64f Fix splash screen display at startup
57712         7ab2a97 ; In NEWS mention new display of minibuffer completions window
57713         a1cd84c Describe temporary displays in Emacs manual
57714         5ec1056 Avoid stray As next to IDLW icons
57715         45577d5 Avoid GTK 3 crash with icons and masks
57716         e99ff6e * lisp/minibuffer.el (minibuffer-completion-help): Use fit-wi...
57717         077b78c Define make_save_ptr_ptr unconditionally
57718         20a1003 Preserve current buffer when popping up TTY menus
57719         7eba90c Improve font selection by family on MS-Windows
57720         73d213f Comint, term, and compile now set EMACS
57721         9524ec5 Ignore more merges when generating ChangeLog
57722         ad250f2 Sync with gnulib
57723         c0165ea Resurrect GNUS-NEWS autogeneration
57724         1e5327c ; Backport ChangeLog.2 fixes from master
57725         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
57726         38a43f1 Fix bug in displaying header line with a box face
57727         91e6676 Fix an Isearch var to be a string (Bug#23038)
57728         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
57729         8a35f83 Render empty <ul><li><ul> correctly
57730         d8b2ce5 Ignore invalid base64 encoded embedded images
57731         52ba24b Fix <p> and <div> newlines with or without <li> in shr
57732         b8ea08b Avoid errors in 'newline'
57733         fc3cd53 Fix Bug#23032
57734         dd2737b Adjudicate review comments in abbrevs.texi
57735         26f9c50 Fixup the "normal" matcher; highlight global var symbols, too
57736         413e73b ; Small theme additions
57737         cd950da Honor prefix arg in doc-view-next-line-or-next-page
57738         ed909c0 ; Spelling fixes
57739         6da3a6d Port to strict C99 offsetof
57740         de7601f Port to GTK with strict C11 compiler
57741         658aa2d Port to GTK with strict C99 compiler
57742         1df7173 Avoid screen artifacts with new OS X visible bell after scrol...
57743         7a2edd3 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
57744         dca240a Suppress some Tramp tests for OSX, do not merge with master
57745         9094304 * lisp/progmodes/xref.el (xref-buffer-name, xref--window): Mo...
57746         cbedfc2 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it.
57747         005ac7c * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare.
57748         9ab03f2 ; Auto-commit of loaddefs files.
57749         56df617 Address compilation warnings due to 2016-01-03 mml refactoring.
57750         a1ef911 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp i...
57751         79ae7fb * lisp/dired-x.el (dired-omit-here-always): Correct error mes...
57752         253929f * lisp/dired-x.el (dired-omit-here-always): Replace undefined...
57753         ce53389 * lisp/xml.el (xml-parse-tag-1): Replace undefined function.
57754         d6d164f Avoid segfaults due to frame image cache being absent
57755         bc7f6f6 Improve documentation of glyphless-character display
57756         6b6916e ; * src/xdisp.c (with_echo_area_buffer): Fix typos in comments.
57757         ee9a1f7 Support safe navigation operator in non-SMIE indentation code
57758         c3ed95b Move xsd:base64Binary decoding fix to debbugs.el 0.9.1
57759         2036be4 Fix Ruby's operator precedence
57760         1d686c2 (ruby-interpolation-inside-another-interpolation): New failin...
57761         7950e1d Port to clang 3.7.0 on x86-64
57762         218ae59 * test/automated/package-test.el (package-test-signed): Tweak...
57763         ba33b7c Sync with gnulib
57764         38b276d Fix startup of "emacs -nw" on systems that CANNOT_DUMP
57765         dbfbedd Do not tokenize a comment before continuation as ';'
57766         0403620 Don't misindent arguments of a method call inside continuation
57767         e6776f8 * src/keyboard.c (echo_keystrokes_p): Don't test cursor_in_ec...
57768         8475f3d ASCII-only etc/NEWS etc.
57769         5cc6919 Fix a cacheing bug, which led to inordinately slow c-beginnin...
57770         0ce37ea Fix Isearch prompt when invoked with an argument
57771         f3033d4 Fix a typo in the Emacs manual
57772         4235d2d Curved quotes in etc/NEWS etc.
57773         26b56dc Fix some single quotes in documentation
57774         80ec484 Make lisp-completion-at-point's argument optional
57775         9d463ae Tweak the left precedence of '=>'
57776         5b705bc Indent '.' relative to the first sibling expression
57777         04f5525 Make '.' associative, for easier sexp navigation
57778         ba24c99 Revert "Simplify "Visit New File" to "New File""
57780 2016-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
57782         * lisp/erc/erc-backend.el: Use lexical-binding. Silence byte-compiler
57784         Use #' to quote functions.
57785         (erc-server-delayed-reconnect): Remove unused arg `event'.
57786         (erc-process-sentinel-2): Adjust accordingly.
57787         Don't pass `err' to condition-case if we don't use it.
57788         (define-erc-response-handler): Use add-hook rather than add-to-list.
57789         (NICK): Use cl-pushnew rather than add-to-list.
57790         (331): Remove unused var `topic'.
57791         (352): Remove unused var `hopcount'.
57793 2016-04-02  Paul Pogonyshev  <pogonyshev@gmail.com>
57795         Support macros in 'func-arity'
57797         * src/eval.c (Ffunc_arity): Support Lisp macros as well.
57799 2016-04-02  Andy Moreton  <andrewjmoreton@gmail.com>
57801         Fix compilation of Cygwin w32 port
57803         * src/w32xfns.c (init_crit, delete_crit) [HAVE_W32NOTIFY]: Only
57804         initialize and free the notification set if compiling with
57805         w32notify feature.
57807 2016-04-01  Paul Eggert  <eggert@penguin.cs.ucla.edu>
57809         Fix resize incompatibility with GTK+ master
57811         Problem reported by Matthias Clasen (Bug#23144).
57812         * src/xterm.c (handle_one_xevent) [USE_GTK]:
57813         Do not call xg_frame_resized.
57815 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
57817         Fix check for subscript errors in module calls
57819         * src/emacs-module.c (check_vec_index): New function.
57820         (module_vec_set, module_vec_get): Use it instead of a
57821         not-strict-enough check.
57823 2016-03-31  Simen Heggestøyl  <simenheg@gmail.com>
57825         Support completion of bang-rules in CSS mode
57827         lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable
57828         holding the list of bang-rules for the current mode.
57829         (css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids'
57830         instead of computing them.
57831         (css--complete-bang-rule): New function for completing a bang-rule.
57832         (css-completion-at-point): Add support for completing bang-rules.
57833         (scss-font-lock-keywords): Change from a variable to a function in
57834         order to recompute `css--font-lock-keywords' when `css--bang-ids' has
57835         changed.
57836         (scss-mode): Set `css--bang-ids' and recompute font-lock keywords.
57838 2016-03-30  Simen Heggestøyl  <simenheg@gmail.com>
57840         Add HTML4 tags to HTML mode
57842         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML4 tags.
57843         (html-tag-help): Add short descriptions of those tags.
57845 2016-03-29  Paul Eggert  <eggert@cs.ucla.edu>
57847         Pacify --enable-gcc-warnings for buffer-hash etc.
57849         * src/fns.c (make_digest_string): Now static.
57850         (secure_hash): Omit unused local.
57852 2016-03-29  Oleh Krehel  <ohwoeowho@gmail.com>
57854         Add support for 7z archives
57856         * lisp/dired-aux.el (dired-compress-file-suffixes): "Z" should now
57857           also work with 7z archives.
57859         The shell command should produce a single extracted directory named
57860         after the archive's name.
57862         In case the extracted directory exists, all files will be overwritten
57863         without a prompt. This matches the expected behavior with the "tar.gz"
57864         archives.
57866 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
57868         * lisp/emacs-lisp/seq.el: Require cl-lib instead of cl-extra
57870 2016-03-29  Michael Albinus  <michael.albinus@gmx.de>
57872         Fix typo in network-stream-tests.el
57874         * test/lisp/net/network-stream-tests.el
57875         (connect-to-tls-ipv6-nowait): Fix typo.
57877 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
57879         New function seq-sort-by in seq.el
57881         * lisp/emacs-lisp/seq.el (seq-sort-by): New function.
57882         * test/lisp/emacs-lisp/seq-tests.el: New test for seq-sort-by.
57883         * doc/lispref/sequences.texi: Add documentation for seq-sort-by.
57885 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57887         Mention the `M-q' changes
57889 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57891         Have `M-q' not mark buffers are changed when they haven't
57893         * lisp/textmodes/fill.el (fill-paragraph): Use `buffer-hash'
57894         to avoid marking buffers as changed when they haven't.
57896 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57898         Add a new function `buffer-hash'
57900         * doc/lispref/text.texi (Checksum/Hash): Document `buffer-hash'.
57902         * src/fns.c (Fbuffer_hash): New function.
57903         (make_digest_string): Refactored out into its own function.
57904         (secure_hash): Use it.
57906         * test/src/fns-tests.el (fns-tests-hash-buffer): New tests.
57908 2016-03-27  Paul Eggert  <eggert@cs.ucla.edu>
57910         Rename C names to match Lisp symbols better
57912         This was inspired by commit e65c3079c65595d95749348366af9811fafff062,
57913         which fixed a bug where the C name for a symbol disagreed with the
57914         symbol name itself.  Fix other instances of disagreements that I found.
57915         Although this doesn’t fix a bug, it should make code easier to follow.
57916         The remaining disagreements are idiosyncratic: Qminus, Qplus,
57917         Qsans__serif, Qbackquote, Qcomma, Qcomma_at, Qcomma_dot.
57918         All uses changed.
57919         * src/alloc.c (QAutomatic_GC): Rename from Qautomatic_gc.
57920         * src/dbusbind.c (QCsystem): Rename from QCdbus_system_bus.
57921         (QCsession): Rename from QCdbus_session_bus.
57922         (QCtimeout): Rename from QCdbus_timeout.
57923         (QCbyte): Rename from QCdbus_type_byte.
57924         (QCboolean): Rename from QCdbus_type_boolean.
57925         (QCint16): Rename from QCdbus_type_int16.
57926         (QCuint16): Rename from QCdbus_type_uint16.
57927         (QCint32): Rename from QCdbus_type_int32.
57928         (QCuint32): Rename from QCdbus_type_uint32.
57929         (QCint64): Rename from QCdbus_type_int64.
57930         (QCuint64): Rename from QCdbus_type_uint64.
57931         (QCdouble): Rename from QCdbus_type_double.
57932         (QCstring): Rename from QCdbus_type_string.
57933         (QCobject_path): Rename from QCdbus_type_object_path.
57934         (QCsignature): Rename from QCdbus_type_signature.
57935         (QCunix_fd): Rename from QCdbus_type_unix_fd.
57936         (QCarray): Rename from QCdbus_type_array.
57937         (QCvariant): Rename from QCdbus_type_variant.
57938         (QCstruct): Rename from QCdbus_type_struct.
57939         (QCdict_entry): Rename from QCdbus_type_dict_entry.
57940         (QCserial): Rename from QCdbus_registered_serial.
57941         (QCmethod): Rename from QCdbus_registered_method.
57942         (QCsignal): Rename from QCdbus_registered_signal.
57943         * src/emacs-module.c (Qinternal__module_call):
57944         Rename from Qinternal_module_call.
57945         * src/frame.c (Qwindow__pixel_to_total):
57946         Rename from Qwindow_pixel_to_total.
57947         * src/gnutls.c (QChostname): Rename from QCgnutls_bootprop_hostname.
57948         (QCpriority): Rename from QCgnutls_bootprop_priority.
57949         (QCtrustfiles): Rename from QCgnutls_bootprop_trustfiles.
57950         (QCkeylist): Rename from QCgnutls_bootprop_keylist.
57951         (QCcrlfiles): Rename from QCgnutls_bootprop_crlfiles.
57952         (QCmin_prime_bits): Rename from QCgnutls_bootprop_min_prime_bits.
57953         (QCloglevel): Rename from QCgnutls_bootprop_loglevel.
57954         (QCcomplete_negotiation): Rename from QCgnutls_complete_negotiation.
57955         (QCverify_flags): Rename from QCgnutls_bootprop_verify_flags.
57956         (QCverify_error): Rename from QCgnutls_bootprop_verify_error.
57957         * src/w32fns.c (Qfont_parameter): Rename from Qfont_param.
57958         (Qgnutls): Rename from Qgnutls_dll.
57959         (Qlibxml2): Rename from Qlibxml2_dll.
57960         (Qzlib): Rename from Qzlib_dll.
57961         * src/w32select.c (Qutf_16le_dos): Rename from QUNICODE.
57962         * src/window.c (Qwindow__resize_root_window):
57963         Rename from Qwindow_resize_root_window.
57964         (Qwindow__resize_root_window_vertically):
57965         Rename from Qwindow_resize_root_window_vertically.
57966         (Qwindow__sanitize_window_sizes):
57967         Rename from Qwindow_sanitize_window_sizes.
57968         (Qwindow__pixel_to_total): Rename from Qwindow_pixel_to_total.
57969         * src/xdisp.c (Qredisplay_internal_xC_functionx):
57970         Rename from Qredisplay_internal.
57971         * src/xfns.c (Qfont_parameter): Rename from Qfont_param.
57972         * src/xselect.c (Q_EMACS_TMP_): Rename from QEMACS_TMP.
57974 2016-03-26  Paul Eggert  <eggert@cs.ucla.edu>
57976         func-arity minor improvements
57978         * src/bytecode.c (get_byte_code_arity): Omit unnecessary
57979         runtime test for integer argument, unless debugging.
57980         Use EMACS_INT for Emacs integers.
57981         * src/eval.c (Ffunc_arity): Omit unused locals.
57982         Avoid side effects in ‘if’ expr.
57983         (lambda_arity): Use bool for boolean, and EMACS_INT for Emacs ints.
57985 2016-03-26  John Wiegley  <johnw@newartisans.com>
57987         Restore the fix to bug#18527 from commit d6868025
57989 2016-03-26  Martin Rudalics  <rudalics@gmx.at>
57991         Safely run window size change functions
57993         * src/window.c (run_window_size_change_functions): Use
57994         safe_call1 when running a size change function.
57995         (grow_mini_window, shrink_mini_window): Report error when
57996         minibuffer window cannot be resized.
57998 2016-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
58000         Implement 'func-arity'
58002         * src/eval.c (Ffunc_arity, lambda_arity): New functions.
58003         * src/bytecode.c (get_byte_code_arity): New function.
58004         * src/lisp.h (get_byte_code_arity): Add prototype.
58006         * doc/lispref/functions.texi (What Is a Function): Document
58007         'func-arity'.
58009         * etc/NEWS: Mention 'func-arity'.
58011         * test/src/fns-tests.el (fns-tests-func-arity): New test set.
58013 2016-03-25  Alan Mackenzie  <acm@muc.de>
58015         Fix absence of c-noise-macro-name-re, etc., in languages which don't use it
58017         * lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id, c-forward-type)
58018         (c-forward-declarator, c-forward-decl-or-cast-1, c-backward-over-enum-header)
58019         (c-guess-basic-syntax): Check c-opt-cpp-prefix before `looking-at'
58020         c-noise-macro-with-parens-name-re.
58022         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): The same as for
58023         cc-engine.el.
58025         * lisp/progmodes/cc-mode.el (c-basic-common-init): Add call to
58026         `c-make-noise-macro-regexps'.
58027         (c-mode, c++-mode, objc-mode): Remove calls to `c-make-noise-macro-regexps'.
58029         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
58030         (c-noise-macro-with-re): Initialize to "\\<\\>" rather than nil.
58032 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58034         (shr-insert): Respect non-breaking space in non-<pre> text
58036         * lisp/net/shr.el (shr-insert): Respect non-breaking space in
58037         non-<pre> text.
58039 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58041         parse-times-string doc string clarification
58043         * lisp/calendar/parse-time.el (parse-time-string): Note that
58044         we accept RFC2822 strings.
58046 2016-03-25  Marcin Borkowski  <mbork@mbork.pl>
58048         Doc string fix
58050         * lisp/calendar/parse-time.el (parse-time-tokenize): Clarify
58051         doc string and clean up code.
58053 2016-03-25  Michael Albinus  <michael.albinus@gmx.de>
58055         Cleanup file notification code in Tramp
58057         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
58058         Make `events' a list of symbols for "inotifywait".
58059         (tramp-sh-gvfs-monitor-dir-process-filter): Make event a list.
58060         Call `file-notify-handle-event' for better traces.
58061         (tramp-sh-inotifywait-process-filter): Check for expected events.
58062         Call `file-notify-handle-event' for better traces.
58064 2016-03-24  Michael Albinus  <michael.albinus@gmx.de>
58066         Adapt filenotify-tests.el according latest tests
58068         * test/lisp/filenotify-tests.el (file-notify-test02-events)
58069         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
58070         Remove superfluous `read-event' calls.
58071         (file-notify-test02-events): Expect different events under MS
58072         Windows 7 and 10.
58073         (file-notify-test04-file-validity): Move `file-notify-valid-p'
58074         check up.
58076 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
58078         Merge from origin/emacs-25
58080         ad250f2 Sync with gnulib
58081         c0165ea Resurrect GNUS-NEWS autogeneration
58083         # Conflicts:
58084         #       etc/GNUS-NEWS
58085         #       lisp/Makefile.in
58087 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
58089         Merge from origin/emacs-25
58091         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
58092         38a43f1 Fix bug in displaying header line with a box face
58094 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
58096         * etc/NEWS: Use straight quotes.
58098 2016-03-23  Simen Heggestøyl  <simenheg@gmail.com>
58100         Support completion of attribute values in CSS mode
58102         * lisp/textmodes/css-mode.el (css-property-alist): New defconst
58103         holding CSS identifiers and the values they can have.
58104         (css-property-ids): Compute dynamically from `css-property-alist'.
58105         (css-value-class-alist): New defconst holding property value classes
58106         and their values.
58107         (css--property-value-cache): New variable providing a cache for
58108         `css--property-values'.
58109         (css--value-class-lookup): New function for computing a list of values
58110         in a value class.
58111         (css--property-values): New function for computing a list of possible
58112         values for a CSS property.
58113         (css--complete-property-value): New function for completing a property
58114         value.
58115         (css-completion-at-point): Add support for completing property values.
58116         * test/lisp/textmodes/css-mode-tests.el: New file.
58118 2016-03-22  Wilson Snyder  <wsnyder@wsnyder.org>
58120         Sync with verilog-mode development tree.
58122         * lisp/progmodes/verilog-mode.el (verilog-imenu-generic-expression,
58123         verilog-speedbar-initialize): Automatically add verilog-mode
58124         extensions when in speedbar mode, bug1045, bug1046.  Reported by
58125         David Shleifman.
58126         (verilog-mode-map): Move `verilog-star-comment' from M-* to C-c/ to
58127         avoid conflict with `pop-tag-mark'. Reported by Ian Perryman.
58128         (verilog-read-always-signals-recurse): Fix :: notation for
58129         auto-reset signals.  Reported by Andrew Jones.
58130         (verilog-font-lock-grouping-keywords-face): Fix highlighting of
58131         grouping keywords, bug1002. Reported by Paul Sargent.
58132         (verilog-save-font-no-change-functions): Commentary and fix
58133         pre-Emacs 21 behavior.
58135 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
58137         Compute a better commit message for merges
58139         Problem reported by David Engster in:
58140         https://lists.gnu.org/r/emacs-devel/2016-03/msg01270.html
58141         * admin/gitmerge.el (gitmerge-commit-message):
58142         Truncate the computed commit message to at most 72 characters per line.
58143         (gitmerge-maybe-resume): Don’t use "-" as the commit message for
58144         merges; use the computed commit message instead.
58146 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
58148         * admin/gitmerge.el (gitmerge-skip-regexp): Add "no need to merge".
58150 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
58152         Change do-not-merge pattern to "do not merge"
58154         This should avoid the problem we recently had with
58155         automatically-generated merge messages, while still letting people
58156         specify commits not to merge.
58157         * admin/gitmerge.el (gitmerge-skip-regexp): Add "do not merge".
58158         (gitmerge-highlight-skip-regexp): Fold case when searching
58159         for gitmerge-skip-regexp.
58161 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
58163         Merge from origin/emacs-25
58165         91e6676 Fix an Isearch var to be a string (Bug#23038)
58166         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
58168 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
58170         -
58172         -
58174 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
58176         Keep "merge" commits by default in gitmerge
58178         * admin/gitmerge.el (gitmerge-skip-regexp): Omit "merge", as it
58179         causes false positives.  See:
58180         https://lists.gnu.org/r/emacs-devel/2016-03/msg01234.html
58182 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
58184         Assume NON_BLOCKING_CONNECT (Bug#22946)
58186         * lisp/proced.el (proced-signal-list): Omit comment about
58187         obsolete systems that do not support POSIX 1003.1-2001 signals.
58188         * src/process.c (NON_BLOCKING_CONNECT): Remove, since we can now
58189         assume POSIX 1003.1-2001 or better here.  Assume it’s defined.
58190         (connect_network_socket): Assume EINPROGRESS is defined,
58191         as that’s portable too now.
58192         (Fmake_network_process): Use bool for boolean.
58194 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
58196         Fix problems caused by new implementation of sub-word mode
58198         * lisp/subr.el (forward-word-strictly, backward-word-strictly):
58199         New functions.
58200         (word-move-empty-char-table): New variable.
58202         * etc/NEWS: Mention 'forward-word-strictly' and
58203         'backward-word-strictly'.
58205         * doc/lispref/positions.texi (Word Motion): Document
58206         'find-word-boundary-function-table', 'forward-word-strictly', and
58207         'backward-word-strictly'.  (Bug#22560)
58209         * src/syntax.c (syms_of_syntax)
58210         <find-word-boundary-function-table>: Doc fix.
58212         * lisp/wdired.el (wdired-xcase-word):
58213         * lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
58214         (texinfo-copy-section-title, texinfo-start-menu-description)
58215         (texinfo-copy-menu-title, texinfo-specific-section-type)
58216         (texinfo-insert-node-lines, texinfo-copy-next-section-title):
58217         * lisp/textmodes/texinfo.el (texinfo-clone-environment)
58218         (texinfo-insert-@end):
58219         * lisp/textmodes/texinfmt.el (texinfo-format-scan)
58220         (texinfo-anchor, texinfo-multitable-widths)
58221         (texinfo-multitable-item):
58222         * lisp/textmodes/tex-mode.el (latex-env-before-change):
58223         * lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
58224         * lisp/skeleton.el (skeleton-insert):
58225         * lisp/simple.el (count-words):
58226         * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
58227         (vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
58228         (vhdl-update-sensitivity-list, vhdl-template-block)
58229         (vhdl-template-break, vhdl-template-case, vhdl-template-default)
58230         (vhdl-template-default-indent, vhdl-template-for-loop)
58231         (vhdl-template-if-then-use, vhdl-template-bare-loop)
58232         (vhdl-template-nature, vhdl-template-procedural)
58233         (vhdl-template-process, vhdl-template-selected-signal-asst)
58234         (vhdl-template-type, vhdl-template-variable)
58235         (vhdl-template-while-loop, vhdl-beginning-of-block)
58236         (vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
58237         * lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
58238         (verilog-forward-sexp, verilog-beg-of-statement)
58239         (verilog-set-auto-endcomments, verilog-backward-token)
58240         (verilog-do-indent):
58241         * lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
58242         (vera-indent-block-closing):
58243         * lisp/progmodes/simula.el (simula-context)
58244         (simula-backward-up-level, simula-forward-down-level)
58245         (simula-previous-statement, simula-next-statement)
58246         (simula-skip-comment-backward, simula-calculate-indent)
58247         (simula-find-if, simula-electric-keyword):
58248         * lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
58249         * lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
58250         (ruby-smie--forward-token, ruby-smie--backward-token)
58251         (ruby-singleton-class-p, ruby-calculate-indent)
58252         (ruby-forward-sexp, ruby-backward-sexp):
58253         * lisp/progmodes/ps-mode.el (ps-run-goto-error):
58254         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
58255         (perl-syntax-propertize-special-constructs)
58256         (perl-backward-to-start-of-continued-exp):
58257         * lisp/progmodes/pascal.el (pascal-indent-declaration):
58258         * lisp/progmodes/octave.el (octave-function-file-p):
58259         * lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
58260         * lisp/progmodes/js.el (js--forward-function-decl):
58261         * lisp/progmodes/idlwave.el (idlwave-show-begin-check)
58262         (idlwave-beginning-of-block, idlwave-end-of-block)
58263         (idlwave-block-jump-out, idlwave-determine-class):
58264         * lisp/progmodes/icon.el (icon-is-continuation-line)
58265         (icon-backward-to-start-of-continued-exp, end-of-icon-defun):
58266         * lisp/progmodes/hideif.el (hide-ifdef-define):
58267         * lisp/progmodes/f90.el (f90-change-keywords):
58268         * lisp/progmodes/cperl-mode.el (cperl-electric-pod)
58269         (cperl-linefeed, cperl-electric-terminator)
58270         (cperl-find-pods-heres, cperl-fix-line-spacing)
58271         (cperl-invert-if-unless):
58272         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
58273         * lisp/progmodes/cc-align.el (c-lineup-java-inher):
58274         * lisp/progmodes/ada-mode.el (ada-compile-goto-error)
58275         (ada-adjust-case-skeleton, ada-create-case-exception)
58276         (ada-create-case-exception-substring)
58277         (ada-case-read-exceptions-from-file, ada-after-keyword-p)
58278         (ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
58279         (ada-get-indent-if, ada-get-indent-block-start)
58280         (ada-get-indent-loop, ada-get-indent-type)
58281         (ada-search-prev-end-stmt, ada-check-defun-name)
58282         (ada-goto-decl-start, ada-goto-matching-start)
58283         (ada-goto-matching-end, ada-looking-at-semi-or)
58284         (ada-looking-at-semi-private, ada-in-paramlist-p)
58285         (ada-search-ignore-complex-boolean, ada-move-to-start)
58286         (ada-move-to-end, ada-which-function, ada-gen-treat-proc):
58287         * lisp/net/quickurl.el (quickurl-grab-url):
58288         * lisp/mail/sendmail.el (mail-do-fcc):
58289         * lisp/mail/rmail.el (rmail-resend):
58290         * lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
58291         * lisp/mail/mail-extr.el (mail-extract-address-components):
58292         * lisp/json.el (json-read-keyword):
58293         * lisp/files.el (insert-directory):
58294         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
58295         * lisp/completion.el (symbol-under-point, symbol-before-point)
58296         (symbol-before-point-for-complete, next-cdabbrev)
58297         (add-completions-from-c-buffer):
58298         * lisp/cedet/semantic/texi.el (semantic-up-context)
58299         (semantic-beginning-of-context):
58300         * lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
58301         use 'forward-word-strictly' and 'backward-word-strictly' instead
58302         of 'forward-word' and 'backward-word'.
58304         [This reapplies commit c1d32a65372c72d7de4808d620eefd3214a8e92a,
58305         which was inadvertently lost by merge commit
58306         c71e7cc113ed0d5f01aaa2e441a3e3c9fbeb9fa5.]
58308 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
58310         * etc/TODO: Minor quoting and grammar fixes.
58312         [This reapplies commit 433407d8230a8a256b26c6c7615d3921b43f59ce,
58313         which was inadvertently lost by merge commit
58314         5ab243f40e4db91586ff74b01a775a5218a1d5be.]
58316 2016-03-21  Alan Mackenzie  <acm@muc.de>
58318         Don't confuse "::" with ":" when trying to parse member initializers.
58320         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
58321         more robustly for ":" token when searching backwards for it.
58323         * lisp/progmodes/cc-langs.el (c-:$-multichar-token-regexp): New
58324         language variable.
58326         [This reapplies commit 9e5452f7166e3634f2d8e943815ed722e1672714,
58327         which was inadvertently lost by merge commit
58328         7823745acbe9b87eea2db4ef434e379fc903ec35.]
58330 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
58332         Ensure positive number of glyphs for margins of positive width
58334         * src/dispnew.c (margin_glyphs_to_reserve): Always return a
58335         positive value when a non-zero width of the marginal area was
58336         requested.  (Bug#22356)
58338         [This reapplies commit 740849fe986b62a839bce4bbf67d0036fc1be0b9,
58339         which was inadvertently lost by merge commit
58340         7823745acbe9b87eea2db4ef434e379fc903ec35.]
58342 2016-03-21  Alan Mackenzie  <acm@muc.de>
58344         In comment-dwim with style `extra-line', respect indent-tabs-mode.
58346         This fixes bug #22369.
58348         * lisp/newcomment.el (comment-make-bol-ws): New function.
58349         (comment-make-extra-lines): Use new function instead of a crude `make-string'.
58351         [This reapplies commit 016b3d5894b8c424eab262aeefc646c6cd03a70a,
58352         which was inadvertently lost by merge commit
58353         7823745acbe9b87eea2db4ef434e379fc903ec35.]
58355 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
58357         Merge doc fixes for 'random' lost in previous merge
58359         [This reapplies part of commit
58360         3ffe81e245d854a694ae1734f1b6a995bdc5e724,
58361         which was inadvertently lost by merge commit
58362         7823745acbe9b87eea2db4ef434e379fc903ec35.]
58363         (Bug#22202)
58365 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
58367         Unhide the --no-line-directive option to 'etags'
58369         * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
58370         option.  (Bug#22306)
58372         * doc/man/etags.1: Document the --no-line-directive option.
58374         [This reapplies commit fee0526a189f43e8470d78e8374bd425890fbe6f,
58375         which was inadvertently lost by merge commit
58376         7823745acbe9b87eea2db4ef434e379fc903ec35.]
58378 2016-03-21  Alan J Third  <alan@idiocy.org>  (tiny change)
58380         Fix picture-mode wrt double-width characters
58382         * lisp/textmodes/picture.el (picture-insert): Check the width of
58383         the character being replaced, not just that of the replacement.
58384         (Bug#1808)
58386         [This reapplies commit b70dba4e18514411ed38b5bbb846558158842ace,
58387         which was inadvertently lost by merge commit
58388         7823745acbe9b87eea2db4ef434e379fc903ec35.]
58390 2016-03-20  Martin Rudalics  <rudalics@gmx.at>
58392         Resurrect earlier fix of resize_frame_windows
58394         * src/window.c (resize_frame_windows): Resurrect earlier fix for
58395         calculating the number of columns of the minibuffer window which
58396         was lost in subsequent merges.
58398 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58400         Move the cert files to the data directory
58402 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58404         Further empty <li> tweaks
58406         * lisp/net/shr.el (shr-tag-li): When showing several empty
58407         <li> elements, ensure that they really get inserted on a new line.
58409 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58411         Don't remove too much white space at the end of documents
58413         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): Don't
58414         remove too much white space -- leave it on the last line (in
58415         case there's a background color).
58417 2016-03-20  Alan Mackenzie  <acm@muc.de>
58419         Amend parse-partial-sexp correctly to handle two character comment delimiters
58421         Do this by adding a new field to the parser state: the syntax of the last
58422         character scanned, should that be the first char of a (potential) two char
58423         construct, nil otherwise.
58424         This should make the parser state complete.
58425         Also document element 9 of the parser state.  Also refactor the code a bit.
58427         * src/syntax.c (struct lisp_parse_state): Add a new field.
58428         (SYNTAX_FLAGS_COMSTARTEND_FIRST): New function.
58429         (internalize_parse_state): New function, extracted from scan_sexps_forward.
58430         (back_comment): Call internalize_parse_state.
58431         (forw_comment): Return the syntax of the last character scanned to the caller
58432         when that character might be the first of a two character construct.
58433         (Fforward_comment, scan_lists): New dummy variables, passed to forw_comment.
58434         (scan_sexps_forward): Remove a redundant state parameter.  Access all `state'
58435         information via the address parameter `state'.  Remove the code which converts
58436         from external to internal form of `state'.  Access buffer contents only from
58437         `from' onwards.  Reformulate code at the top of the main loop correctly to
58438         recognize comment openers when starting in the middle of one.  Call
58439         forw_comment with extra argument (for return of syntax value of possible first
58440         char of a two char construct).
58441         (Fparse_partial_sexp): Document elements 9, 10 of the parser state in the
58442         doc string.  Clarify the doc string in general.  Call
58443         internalize_parse_state.  Take account of the new elements when consing up the
58444         output parser state.
58446         * doc/lispref/syntax.texi: (Parser State): Document element 9 and the new
58447         element 10.  Minor wording corrections (remove reference to "trivial
58448         cases").
58449         (Low Level Parsing): Minor corrections.
58451         * etc/NEWS: Note new element 10, and documentation of element 9 of parser
58452         state.
58454 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58456         Allow the shr test files to have trailing blank space.
58458         * .gitattributes: Allow the shr test files to have trailing
58459         blank space.
58461 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58463         Add tests for empty <ul><li>
58465 2016-03-20  Paul Eggert  <eggert@cs.ucla.edu>
58467         * src/alloc.c (purecopy): Use AUTO_STRING.
58469 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58471         Ignore invalid base64 encoded embedded images
58473         * lisp/net/shr.el (shr-image-from-data): Ignore invalid base64
58474         encoded embedded images (bug#22928).
58476 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58478         Render empty <ul><li><ul> correctly
58480         * lisp/net/shr.el (shr-tag-ul): Render empty <ul><li><ul>
58481         correctly (bug#22964).
58483 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58485         Fix <p> and <div> newlines with or without <li> in shr
58487         * lisp/net/shr.el (shr-ensure-newline): Respect that we're in
58488         a <li>, if we are, and don't insert newlines there.
58489         (shr-ensure-paragraph): When mixing newlines and paragraph
58490         ensurements, don't insert too many blank lines.
58491         (shr-tag-div): A <div> shouldn't introduce a paragraph, but a
58492         new line.
58494 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58496         Add more shr HTML rendering tests
58498         Add a test harness for shr HTML rendering and one test
58500 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58502         Remove code left over from when overlays were used for padding
58504         * lisp/net/shr.el (shr-previous-newline-padding-width): Remove.
58505         (shr-remove-trailing-whitespace): Ditto.
58506         (shr-insert-document): Don't call them.
58508 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58510         Remove trailing blank lines in shr
58512         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): New function.
58513         (shr-insert-document): Use it to remove trailing blank lines
58514         at the end of documents, since these never seem to be very useful.
58516 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58518         Don't bug out on nil `patch-buf' arguments
58520         * lisp/vc/ediff.el (ediff-patch-file): Don't bug out on nil
58521         `patch-buf' arguments.
58523 2016-03-20  Ernest Adrogué  <nfdisco@gmail.com>
58525         Add a Catalan language environment
58527         * lisp/international/mule-cmds.el (locale-language-names): Map locale
58528           language name `ca' to language environment `Catalan'.
58530         * lisp/language/european.el: Add definition of language
58531         environment for the Catalan language.
58533         * lisp/leim/quail/latin-pre.el: Add quail rule to the
58534         `catalan-prefix' input method to support input of middle dot
58535         characters through composition (bug#18279).
58537 2016-03-19  Paul Eggert  <eggert@cs.ucla.edu>
58539         No need to block input when reading directories
58541         * src/dired.c: Don’t include blockinput.h.
58542         (open_directory, directory_files_internal_unwind)
58543         (directory_files_internal, file_attributes):
58544         Don’t block input here, as the reasons for blocking input should
58545         no longer apply.  See blockinput.h FIXME.  (Bug#22996).
58547 2016-03-19  Oscar Fuentes  <ofv@wanadoo.es>
58549         * lisp/vc/vc-hooks.el: Fix typo
58551 2016-03-19  Fabrice Popineau  <fabrice.popineau@gmail.com>
58553         Improve w32notify notifications
58555         * src/w32notify.c (DIRWATCH_BUFFER_SIZE): New macro.
58556         (struct notification): 'terminate' is now a HANDLE.
58557         (send_notifications): Argument is now a pointer to a
58558         notification.  Don't loop waiting for the notification to be
58559         acknowledged by the main thread; instead, just add the
58560         notification to the linked list of notifications waiting to be
58561         acknowledged.
58562         (watch_end): Don't close the directory handle.
58563         (watch_completion): Allocate a new notification structure to be
58564         added to the notifications set.  Call ReadDirectoryChangesW
58565         immediately after adding the new notification, and before sending
58566         a message to the main thread about them.
58567         (watch_worker): Don't loop calling ReadDirectoryChangesW; instead,
58568         call it just once -- it will be called again in watch_completion.
58569         Loop waiting for the main thread's indication to terminate.
58570         (start_watching): Create the event to be used to indicate to the
58571         worker thread that its should terminate.
58572         (remove_watch): Indicate to the worker thread that it should
58573         terminate.
58574         * src/w32term.c (queue_notifications): Loop over all the
58575         notifications in the linked list, processing all of them in one
58576         go.
58577         * src/w32inevt.c (handle_file_notifications): Loop over all the
58578         notifications in the linked list.
58579         * src/w32xfns.c (init_crit): Initialize the linked list of file
58580         notifications.
58581         (delete_crit): Free the linked list of file notifications,
58582         including any unprocessed notifications left in it.
58583         * src/w32term.h (struct notifications_se): New struct.
58585         * test/lisp/filenotify-tests.el (file-notify-test02-events)
58586         (file-notify-test05-dir-validity): Add read-event calls to
58587         facilitate event recognition by the main thread in batch mode.
58589 2016-03-17  Sam Steingold  <sds@gnu.org>
58591         make `vc-log-operation' buffer local to allow multiple simultaneous editing
58593 2016-03-17  Glenn Morris  <rgm@gnu.org>
58595         Simplify some rococo Gnus code that loads or tests for other libraries.
58597         * lisp/gnus/gnus-art.el (gnus-treat-ansi-sequences): Simplify default.
58598         * lisp/gnus/mml-smime.el (epg): Simply require it.
58599         (mml-smime-use): Simplify the default.  Doc fix.
58600         * lisp/gnus/mml2015.el (epg-config): Require it.
58601         (mml2015-use): Simplify the default.
58602         * lisp/gnus/smime.el (password-cache): Simply require it.
58603         (password-read-and-add): Remove declaration.
58605 2016-03-16  Glenn Morris  <rgm@gnu.org>
58607         * test/lisp/dabbrev-tests.el: Merge fix: move here from test/automated.
58609 2016-03-16  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
58610             Alex Harsanyi  <AlexHarsanyi@gmail.com>
58612         Sync with soap-client repository, version 3.1.1
58614         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix error
58615         message.
58616         (soap-find-port): Delete trailing whitespace.
58617         (soap-find-operation): Fix documentation and rename parameter.
58618         (soap-find-port): Likewise.
58619         (soap-operation-arity): Likewise.
58621         * lisp/net/soap-client.el: Update copyright years.
58622         (soap-warning): Fix docstring quoting.
58623         (soap-decode-date-time): Likewise.
58624         (soap-validate-xs-simple-type): Remove tabs for indentation.
58625         * lisp/net/soap-inspect.el: Update copyright years.
58627         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Do not
58628         assume xsd:base64Binary values are UTF-8 strings.
58629         (soap-decode-xs-basic-type): Likewise.
58630         (soap-invoke): Document xsd:base64Binary handling.
58632         * lisp/net/soap-client.el (soap-find-port, soap-find-operation)
58633         (soap-operation-arity): new defuns
58634         (soap-invoke-internal): use soap-find-port, soap-find-operation.
58636 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
58638         Merge from gnulib
58640         This incorporates:
58641         2016-03-15 std-gnu11: improve clang support
58642         * m4/std-gnu11.m4: Copy from gnulib.
58644 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58646         Disable MOVE more for Dovecot
58648         * lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Also
58649         disable MOVE when expirying.
58650         (nnimap-split-incoming-mail): And when splitting mail.
58652 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58654         Don't use MOVE on Dovecot
58656         * lisp/gnus/nnimap.el (nnimap-request-move-article): Don't use
58657         MOVE on Dovecot, since it's broken in many versions.
58658         (nnimap-quirks): Mark MOVE on Dovecot as non-working.
58660 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
58662         Improve diff hunk headers when maintaining Emacs
58664         * .gitattributes: Improve diff hunk header support for makefiles,
58665         shell scripts, Ada, C, C++, Objective C, HTML, SHTML, XML, Java,
58666         Perl, PHP, Python, Ruby, and TeX, all of which are used in Emacs
58667         somewhere (sometimes just in test cases).
58668         * autogen.sh: Add regexes for makefiles and shell scripts.
58670 2016-03-12  Eli Zaretskii  <eliz@gnu.org>
58672         Update handling of <bdo> per Unicode 9.0
58674         * lisp/net/shr.el (shr-tag-bdo): Wrap in FSI..PDI as well, per
58675         Unicode 9.0 changes in UAX#9, paragraph 2.7.
58677 2016-03-11  John Wiegley  <johnw@newartisans.com>
58679         Merge from origin/emacs-25
58681         facb5e2 Update Emacs manual section related to character folding
58682         4efea8e ; * etc/DEBUG: Fix a typo.  (Bug#22984)
58683         f8df21b Update admin/notes/unicode
58684         950be68 Add symref-filepattern entries for c?perl-mode
58685         8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them.
58686         985dacf ; NEWS update for the last change in etags
58687         741a6f8 Sync with gnulib
58688         7352c6c Rework C source files to avoid ^(
58689         a589e9a By default, etags produces unqualified Perl tag names
58690         72c7438 Indent methods with keyword names correctly
58691         28532a9 Propertize character literals and special global variables
58692                 differently
58693         a7d6f39 ; Fix last change in NEWS
58694         83b2a20 Change how /etc/NEWS presents character folding
58695         b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding
58696                 off by default""
58697         711ca36 Properly handle lambda as read function (bug 22961)
58698         1b9d616 Propertize operator symbol names with symbol syntax class
58699         9b16bc2 Stop recognizing :#{} as symbol in ruby-mode
58700         366ec77 Allow using the left shift operator without spaces on both sides
58701         02bf7cc Properly handle unquoting in wdired (bug 22938)
58702         16cf469 ; Spelling fix and tighten up comment
58703         f50bc04 Allow splat operator before percent literal
58704         991c801 Don't apply the return value of goto-char as syntax class
58705         6e63b3e Guard against nested percent literals
58706         066f3bc Recognize iuwu-mod after an escaped newline
58707         6f7a57c Fix symbolic mode string conversion for s and t
58708         50b9826 Update 'ucs-names' database
58709         993b2fb Improve doc string of 'shell-command'
58710         b71c717 Make the code in movemail_strftime more general
58711         cc057e4 Speed up redisplay of binary files with long series of nulls
58712         e51b27e Remove the highlighting support for quoting 'like this' inside
58713                 Lisp docstrings
58714         b1abce1 Restore leading space in movemail pop output
58715         98b8d44 Fix bidi-paragraph-direction in Rmail view buffer
58716         dc9d837 Don't misindent computed property generator methods
58717         7923112 Fix mbox files produced by movemail on MS-Windows
58718         c45a1ca doc string file descriptor exhaustion fix
58719         265141b Fix Bug#22814
58721 2016-03-11  John Wiegley  <johnw@newartisans.com>
58723         Merge from origin/emacs-25
58725         620951f Fix previous fix of enlarge-/shrink-window
58726         2e78353 * lisp/isearch.el (isearch-define-mode-toggle): Fix toggling logic
58727         66d2717 Complete temperature units in calc-convert-temperature
58728         dbb02bf Make sure to use case-sensitive search
58729         8b01e69 Prevent infinite loop on not-well-formed xml. (Bug#16344)
58730         100346a Add the missing test case for the previous patch
58731         5aba61e Use the correct dabbrev expansion
58733 2016-03-11  Michael Albinus  <michael.albinus@gmx.de>
58735         Remove compat code in Tramp
58737         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
58738         Remove compat code.
58740 2016-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
58742         * lisp/textmodes/tex-mode.el: Complete local envs.  Use #'.
58744         Use #' for function names.
58745         (latex-complete-envnames): Include existing environments in
58746         current buffer.
58747         (latex-insert-block): Use latex-complete-envnames.
58748         (tildify-foreach-ignore-environments): Declare.
58750 2016-03-10  Alain Schneble  <a.s@realize.ch>
58752         Fix asynchronous TLS connections on MS-Windows
58754         * src/w32.c (sys_write): Don't switch the socket to blocking mode
58755         if the connection attempt is in progress.  Instead, return either
58756         EWOULDBLOCK immediately if the connection is in progress, or the
58757         error code produced by '_sys_wait_connect' if the connection
58758         failed.  Switching the socket to blocking mode was found to
58759         interfere with GnuTLS handshake.  (Bug#22789)
58761 2016-03-10  Alan Mackenzie  <acm@muc.de>
58763         Clarify the documentation of nested comments.
58765         * doc/lispref/syntax.texi (Syntax Flags): State that only comments of the same
58766         style are recognized inside nestable comments.
58767         (Low-Level Parsing): Clarify that parsing will stop after the start or end of
58768         UNNESTED comments.
58770 2016-03-10  Nicolas Richard  <youngfrog@members.fsf.org>
58772         Add new function display-buffer-reuse-mode-window
58774         * lisp/window.el (display-buffer-reuse-mode-window): New function.
58775         * doc/lispref/windows.texi (Display Action Functions): Document it.
58777 2016-03-09  Paul Eggert  <eggert@cs.ucla.edu>
58779         Minor fixes for getaddrinfo_a usage
58781         * src/process.c (Fdelete_process): Check gai_cancel return value.
58782         That way, there’s no need to invoke gai_error.  Check gai_suspend
58783         return value.
58784         (Fmake_network_process): Don’t assume gai_strerror returns a UTF-8
58785         string.  Simplify call to connect_network_socket.
58786         (check_for_dns): Avoid unnecessary initialization of local.
58788 2016-03-09  Sam Steingold  <sds@gnu.org>
58790         declare `rmail-mime-entity-truncated' and `rmail-mime-render-html-function'
58792         The former avoids a compiler warning, the latter fixes a bug whereas
58793         the variable is compiled as lexical instead of dynamic.
58795 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
58797         Pacify --enable-gcc-warnings
58799         * src/xfns.c (x_create_tip_frame): Omit unused local.
58800         (Fx_show_tip): Don’t jump over auto initialization.
58802 2016-03-07  Martin Rudalics  <rudalics@gmx.at>
58804         Optionally reuse tooltip frames instead of deleting/recreating them.
58806         * src/frame.c (tooltip_reuse_hidden_frame): New option.
58807         * src/w32fns.c (x_create_tip_frame): Remove argument TEXT.  Fix
58808         handling of dividers.
58809         (x_hide_tip): New function.
58810         (Fx_show_tip): Try to reuse old tooltip frame when
58811         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
58812         have not changed.  Insert STRING here instead of passing it to
58813         x_create_tip_frame.  Compute size of tooltip window with
58814         Fwindow_text_pixel_size.  Obey Vw32_tooltip_extra_pixels when
58815         padding tooltip window.
58816         (Fx_hide_tip): Call x_hide_tip.
58817         (Vw32_tooltip_extra_pixels): New variable.
58818         * src/xdisp.c (Fwindow_text_pixel_size): Don't return negative y
58819         value.  Fix doc-string.
58820         * src/xfns.c (x_create_tip_frame): Remove argument TEXT.  Call
58821         make_frame with mini_p argument false.
58822         (x_hide_tip): New function.
58823         (Fx_show_tip): Try to reuse old tooltip frame when
58824         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
58825         have not changed.  Insert STRING here instead of passing it to
58826         x_create_tip_frame.  Compute size of tooltip window with
58827         Fwindow_text_pixel_size.
58828         (Fx_hide_tip): Call x_hide_tip.
58829         * lisp/cus-start.el (tooltip-reuse-hidden-frame): Add
58830         customization entry.
58832 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
58834         Assume getaddrinfo in C code
58836         * admin/CPP-DEFINES, configure.ac: Remove HAVE_GETADDRINFO, HAVE_H_ERRNO.
58837         All uses removed.
58838         * doc/lispref/processes.texi (Network, Network Processes), etc/NEWS:
58839         Say that port numbers can be integer strings.
58840         * lib-src/pop.c (h_errno) [!WINDOWSNT && !HAVE_H_ERRNO]: Remove decl.
58841         (socket_connection): Assume HAVE_GETADDRINFO.
58842         * lisp/mpc.el (mpc--proc-connect):
58843         * lisp/net/network-stream.el (open-network-stream):
58844         It’s now OK to use integer strings as port numbers.
58845         * src/process.c (conv_numerical_to_lisp) [!HAVE_GETADDRINFO]: Remove.
58846         (Fmake_network_process): Assume HAVE_GETADDRINFO.
58848 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
58850         Remove support for IRIX
58852         The IRIX port wasn’t really working anyway, and the code was
58853         getting in the way of other changes (e.g., getaddrinfo fixes).
58854         IRIX’s supplier dropped support for IRIX in 2013.
58855         * admin/CPP-DEFINES:
58856         * configure.ac (opsys):
58857         * doc/lispref/os.texi (System Environment):
58858         * etc/MACHINES, etc/PROBLEMS:
58859         * lisp/find-dired.el (find-grep-options):
58860         * lisp/lpr.el (lpr-lp-system):
58861         * lisp/ls-lisp.el (ls-lisp-emulation):
58862         * lisp/mail/rmail.el (rmail-spool-directory):
58863         * lisp/net/net-utils.el (ping-program-options):
58864         * lisp/progmodes/gud.el (gud-irix-p, gud-dbx-use-stopformat-p):
58865         * lisp/progmodes/ps-mode.el (ps-mode-print-function):
58866         * src/conf_post.h [IRIX6_5]:
58867         * src/emacs.c (Vsystem_type):
58868         * src/filelock.c (get_boot_time_1):
58869         * src/process.c (process_send_signal):
58870         * src/unexelf.c (unexec):
58871         Omit IRIX-specific code and/or documentation.
58872         * configure.ac (NON_GCC_TEST_OPTIONS, IRIX6_5, PREFER_VSUSP):
58873         Remove.  All uses removed.
58874         * etc/NEWS: Document the change.
58876 2016-03-06  John Wiegley  <johnw@newartisans.com>
58878         Revert "Use colors in the VC mode lines"
58880         This reverts commit 2621c293d82c15c00d9e73a8db75d70da7d0a23b.
58882 2016-03-06  Ken Brown  <kbrown@cornell.edu>
58884         Fix Cygwin-w32 build
58886         * src/w32fns.c (funhook, setup_w32_kbdhook, remove_w32_kbdhook):
58887         Define only if WINDOWSNT, and update all uses accordingly.
58888         * src/w32term.h (check_w32_winkey_state, setup_w32_kbdhook)
58889         (remove_w32_kbdhook): Declare only if WINDOWSNT.
58890         (w32_kbdhook_active): Define as 0 if not WINDOWSNT.
58892 2016-03-06  Eli Zaretskii  <eliz@gnu.org>
58894         Unbreak the MinGW64 build
58896         * nt/inc/ms-w32.h [MINGW_W64]: Undefine HAVE_GAI_STRERROR.  See
58897         https://lists.gnu.org/r/emacs-devel/2016-03/msg00130.html
58898         for the details.  Reported by Angelo Graziosi
58899         <angelo.graziosi@alice.it>.
58901 2016-03-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58903         Don't signal errors on E_AGAIN
58905         * src/gnutls.c (Fgnutls_errorp): Qgnutls_e_again is not an
58906         error now that TLS is async.
58908 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58910         Allow making TLS negotiation blocking
58912         * lisp/net/gnutls.el (gnutls-negotiate): Make negotiation blocking.
58914         * src/gnutls.c (Fgnutls_boot): Provide a new keyword,
58915         :complete-negotiation, to specify that we want complete
58916         negotiation even if the socket is non-blocking.
58917         (gnutls_try_handshake): Complete negotiation if given that keyword.
58919         * src/process.h (L): Added gnutls_complete_negotiation_p.
58921 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58923         Don't run ipv6 test on systems without ipv6
58925         * test/lisp/net/network-stream-tests.el
58926         (connect-to-tls-ipv6-nowait): Skip on systems without ipv6.
58928 2016-03-05  Eli Zaretskii  <eliz@gnu.org>
58930         Implement getaddrinfo fallback for MS-Windows
58932         See https://lists.gnu.org/r/emacs-devel/2016-02/msg01602.html
58933         for more details.
58935         * nt/mingw-cfg.site (ac_cv_func_getaddrinfo)
58936         (ac_cv_func_gai_strerror): Set to "yes", as the configure script's
58937         test program is not smart enough to auto-detect these.
58938         * nt/inc/sys/socket.h (getaddrinfo, freeaddrinfo): Redirect to
58939         sys_getaddrinfo and sys_freeaddrinfo.  Provide prototypes for
58940         sys_getaddrinfo and sys_freeaddrinfo.
58942         * src/w32.c (init_winsock): Try loading getaddrinfo and
58943         freeaddrinfo from ws2_32.dll.
58944         (sys_getaddrinfo, sys_freeaddrinfo): New functions.
58946         * lib-src/pop.c [WINDOWSNT]: Include winsock2.h, not winsock.h,
58947         and also ws2tcpip.h.
58948         (getaddrinfo, freeaddrinfo) [WINDOWSNT]: Redirect to
58949         sys_getaddrinfo and sys_freeaddrinfo, respectively.
58950         (load_ws2, sys_getaddrinfo, sys_freeaddrinfo) [WINDOWSNT]: New
58951         functions.
58953 2016-03-04  Glenn Morris  <rgm@gnu.org>
58955         * lisp/files.el: Fix recent typo.
58957         * lisp/subr.el (read-multiple-choice): Avoid free variable.
58959         * doc/lispref/files.texi (File Attributes): Fix typo.
58961 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
58963         Make the describe-key prompts clearer
58965         * lisp/help.el (describe-key-briefly): Make the prompt clearer
58966         (bug#14854).
58967         (describe-key): Ditto.
58969 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
58971         Allow scrolling while querying multiple choice
58973         * lisp/subr.el (read-multiple-choice): Allow scrolling the
58974         buffer while querying (bug#22827).
58976 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
58978         Add accessors for `file-attributes'
58980         * doc/lispref/files.texi (File Attributes): Mention the accessors.
58982         * lisp/files.el (file-attribute-type)
58983         (file-attribute-link-number, file-attribute-user-id)
58984         (file-attribute-group-id, file-attribute-access-time)
58985         (file-attribute-modification-time)
58986         (file-attribute-change-time, file-attribute-size)
58987         (file-attribute-modes, file-attribute-inode-number)
58988         (file-attribute-device-number): New functions.
58990         * src/dired.c (Ffile_attributes): Mention the accessors (bug#22890).
58992 2016-03-04  Michael Albinus  <michael.albinus@gmx.de>
58994         Fix Bug#22814
58996         * lisp/autorevert.el (global-auto-revert-mode): Do not set
58997         `auto-revert-use-notify' to nil.
58999         * etc/NEWS: Mention this.
59001         * etc/PROBLEMS: Remove problem Bug#22814.
59003         * src/kqueue.c: Include <sys/resource.h>.
59004         (Fkqueue_add_watch): Limit the number of used file descriptors.
59005         (Bug#22814)
59007         * test/lisp/filenotify-tests.el (file-notify--test-remote-enabled)
59008         (file-notify-test00-availability, file-notify-test01-add-watch)
59009         (file-notify-test02-events, file-notify-test06-many-events):
59010         Use #' read syntax for functions.
59011         (file-notify-test05-dir-validity)
59012         (file-notify-test06-many-events): Simplify directory creation.
59013         (file-notify-test09-sufficient-ressources): New test.
59015 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
59017         Fix insertion of edited servers in the dribble file
59019         * lisp/gnus/gnus-srvr.el (gnus-server-update-server): Don't
59020         insert explicit newlines, because they're quoted (bug#22903).
59022 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
59024         Move cl-seq-tests to the right place after the merge
59026         Move cl-seq-tests to the right place after the merge
59028 2016-03-03  John Wiegley  <johnw@newartisans.com>
59030         Merge from origin/emacs-25
59032         d6f6b7d * etc/AUTHORS: Update the AUTHORS file
59033         5cf7c39 authors.el updates
59034         a26f193 ; fix changelog entries
59035         fbc85c7 ; make change-history-commit
59036         06da00c Fix Bug#22859
59037         ab30bf5 ; * src/w32proc.c: Update the commentary to sys_select.
59038         1481029 Fix reordering of bidi text in an isolate inside an override
59039         60e0596 Document c-guess-basic-syntax in the CC Mode manual.
59041 2016-03-03  John Wiegley  <johnw@newartisans.com>
59043         Merge from origin/emacs-25
59045         f5d1435 Fix targets in test/automated/Makefile.in
59047 2016-03-03  John Wiegley  <johnw@newartisans.com>
59049         Merge from origin/emacs-25
59051         b6d6304 Comment on last change to define-derived-mode
59053 2016-03-03  John Wiegley  <johnw@newartisans.com>
59055         Merge from origin/emacs-25
59057         cb1e3da Also allow setting the paragraph direction to nil
59058         bbe8a89 Made the new OS X visible bell more visible.
59060 2016-03-03  John Wiegley  <johnw@newartisans.com>
59062         Merge from origin/emacs-25
59064         aae436e Uncomment the next-error-function integration in xref
59065         5f0d096 Remove the word "valid", to avoid ambiguity
59067 2016-03-03  John Wiegley  <johnw@newartisans.com>
59069         Merge from origin/emacs-25
59071         5a44bfe Set auto-revert-use-notify to nil in global-auto-revert-mode.  (Bug#22814)
59072         0d60bfc Fix ModelSim error parsing
59074 2016-03-03  John Wiegley  <johnw@newartisans.com>
59076         Merge from origin/emacs-25
59078         b13cab6 Add a eww command to toggle paragraph direction
59079         4e46128 * nextstep/WISHLIST: Merge into etc/TODO and remove.
59080         9e078e5 Fix char signedness issue in bidi code
59081         064adf6 * lib-src/pop.c (socket_connection): Fix format string.
59082         14060a9 Avoid inflooping in thing-at-point-looking-at
59083         098d47b * lisp/emacs-lisp/derived.el (define-derived-mode): Revert
59084                 indent change.
59085         b5db8e0 etc/PROBLEMS: Mention problems with using file descriptors
59086         ec10ef9 * lisp/apropos.el (apropos-variable): Doc fix.  (Bug#22813).
59087         d2dd614 Remove unneeded workaround in xftfont.c
59088         9b7593c ; * etc/NEWS: Reflect latest changes in saveplace.
59089         fde0cd1 * lisp/saveplace.el (save-place-local-mode): New minor mode
59090         06a872b Fix redisplay on a TTY after 'make-frame'
59091         95f5a43 Make double-click-1 work with unbalanced parens in CC Mode.
59092                 Fixes bug#5560.
59093         7d206fc Input method polish-slash should not use keyboard translation
59094         8be32cf Fix an assertion
59095         040e0d6 Fix 'toggle-save-place'
59096         5244db2 * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)
59098 2016-03-03  John Wiegley  <johnw@newartisans.com>
59100         Merge from origin/emacs-25
59102         e6a3819 Update HISTORY section in readme for the NextStep interface.
59103         f67f1ed ; * doc/lispref/modes.texi (Font Lock Basics): Minor rewording.
59104         7c81a0b Improve documentation of 'save-place-mode'
59105         cab3f0a Allocate glyph matrices for the initial frame
59106         e01c72f Fix white space in last checkin
59107         370eb67 Make `insert-pair' always leave the cursor where documented
59108         b594393 etc/NEWS: Mention the new second parameter to `package-install'
59110 2016-03-03  John Wiegley  <johnw@newartisans.com>
59112         Merge from origin/emacs-25
59114         bd58c13 Improve documentation of focus-related hooks
59115         00a4720 Further improve doc string of 'disable-point-adjustment'
59116         c582def Further adaptions in file-notify-tests.el for w32notify
59117         a1585e1 Don't bug out on localized dates in gnus-icalendar
59119 2016-03-03  John Wiegley  <johnw@newartisans.com>
59121         Merge from origin/emacs-25
59123         7bc4820 Make setf for frame-height/width work again
59125 2016-03-03  John Wiegley  <johnw@newartisans.com>
59127         Merge from origin/emacs-25
59129         6620944 (cl-union): Do not ignore :test argument when lists are equal.
59130         17dd3fb Add `isearch' to `basic-faces'
59131         c1ec743 Make $, : and @ "prefix characters" in ruby-mode
59132         e72a26e Make find-tag-default-bounds more strict
59133         1bc0e0a Minor fixes in filenotify.el
59135 2016-03-02  Alain Schneble  <a.s@realize.ch>
59137         Fix issue of inserting images on some systems
59139         * lisp/net/shr.el (shr-tag-img): Construct a non-empty range
59140         to pass to shr-image-fetched, to indicate where to insert the
59141         image.  Fixes the issue introduced with commit
59142         80852f843e69b81618f29cfb9aa4b074946cb3c4
59143         (bug#22789).
59145 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
59147         Ensure TLS negotiation progress
59149         * src/gnutls.h (GNUTLS_EMACS_HANDSHAKES_LIMIT): Increase the
59150         number of retries so that we try for about a minute.
59152         * src/process.c (wait_reading_process_output): Ensure progress
59153         for DNS resolution and TLS negotiation.
59155 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
59157         emacs-module.h slight simplification
59159         * src/emacs-module.c (emacs_init_function, emacs_subr): Move here ...
59160         * src/emacs-module.h: ... from here, as they don’t need to be public.
59161         (enum emacs_arity): Remove useless enum tag.  The enum value is
59162         used in ptrdiff_t contexts.
59164         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
59166 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
59168         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
59170 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
59172         emacs-module.c simplification and tuneup
59174         * src/emacs-module.c (CHECK_USER_PTR): New function.
59175         (module_get_user_ptr, module_set_user_ptr)
59176         (module_get_user_finalizer, module_set_user_finalizer): Use it.
59177         (module_make_global_ref, module_copy_string_contents)
59178         (module_make_string, module_vec_set, module_vec_get): Omit
59179         unnecessary runtime tests.  For example, vector sizes are always
59180         fixnums, so we don’t need to test that they are in fixnum range.
59182 2016-03-02  Philipp Stephani  <phst@google.com>
59184         Use standard checks whenever possible.
59186         This is possible in all functions where we catch signals anyway.
59188         * src/emacs-module.c (module_make_global_ref, module_funcall)
59189         (module_copy_string_contents, module_make_string): Use xsignal0
59190         and CHECK macros for argument checks.
59192 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
59194         Deterministic build improvements
59196         * configure.ac (BUILD_DETAILS): Rename from DETERMINISTIC_DUMP,
59197         and negate its sense.  Use it via AC_SUBST, not AC_DEFINE,
59198         and have its value be either empty or --no-build-details.
59199         All uses changed.  Change option to --disable-build-details.
59200         * doc/emacs/cmdargs.texi (Initial Options):
59201         Document --no-build-details.
59202         * doc/lispref/internals.texi (Building Emacs):
59203         * etc/NEWS:
59204         Document --disable-build-details.
59205         * doc/lispref/intro.texi (Version Info): Say that
59206         emacs-build-time can be nil.
59207         * lisp/erc/erc-compat.el (erc-emacs-build-time):
59208         Now nil if details are omitted.
59209         * lisp/erc/erc.el (erc-cmd-SV):
59210         * lisp/version.el (emacs-build-time):
59211         Now nil if no build details.
59212         (emacs-version):
59213         Output build time only if build details.
59214         * src/Makefile.in (BUILD_DETAILS): New macro.
59215         (temacs, bootstrap-emacs): Use it.
59216         * src/emacs.c (build_details): New var.
59217         (standard_args, main): Support --no-build-details.
59218         (Vdeterministic_dump): Remove; all uses replaced
59219         by !build_details.
59220         (syms_of_emacs): Set Vbuild_details to a boolean, not
59221         to a Lisp_Object.
59222         * src/lisp.h (build_details): New decl.
59223         * src/sysdep.c (init_system_name): When !build_details,
59224         set system-name to nil, not to "elided".
59226 2016-03-02  Philipp Stephani  <phst@google.com>
59228         Remove build system name from deterministic dumps
59230         * configure.ac (DETERMINISTIC_DUMP): New configuration option.
59231         * lisp/version.el (emacs-build-time): Add a comment to make the
59232         build time deterministic if requested.
59233         (emacs-build-system): Make variable deterministic if requested.
59234         * src/emacs.c (main): Initialize `deterministic-dump' from the
59235         configuration option.
59236         (syms_of_emacs): New constant `deterministic-dump'.
59237         * src/sysdep.c (init_system_name): Use a constant
59238         if a deterministic dump is requested.
59240 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
59242         Remove buggy parse-time test
59244         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
59245         Remove the iso parse test, since it doesn't work.
59247 2016-03-01  Paul Eggert  <eggert@cs.ucla.edu>
59249         * src/syntax.c (syntax_multibyte): Omit unnecessary parens.
59251 2016-02-29  Glenn Morris  <rgm@gnu.org>
59253         * lisp/emacs-lisp/autoload.el (autoload-timestamps):
59254         Experiment with setting to nil.
59256 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
59258         Make the revert command in timer-list-mode work
59260         * lisp/emacs-lisp/timer-list.el (timer-list): Make the revert
59261         command work.
59263 2016-02-29  Glenn Morris  <rgm@gnu.org>
59265         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
59266         Fix 6-week old merge error.
59268         * lisp/emacs-lisp/autoload.el (update-file-autoloads):
59269         Ensure timestamps.
59271         * lisp/emacs-lisp/package.el (package-generate-autoloads):
59272         Disable timestamps.
59274 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
59276         Allow binding `url-mime-accept-string'
59278         * lisp/url/url-http.el (url-http): Allow binding
59279         `url-mime-accept-string' (bug#22855).
59281 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
59283         Add a NEWS entry for the colorful VC indicator
59285 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
59287         Use colors in the VC mode lines
59289         * lisp/vc/vc-hooks.el: Make the mode line faces default to
59290         using colors to more clearly tell the user what the status is.
59292 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
59294         Support <bdo> and <bdi>
59296         * lisp/net/shr.el (shr-tag-bdo): New function.
59297         (shr-tag-bdi): Ditto.
59299 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
59301         Respect <html dir=auto>
59303         * lisp/net/shr.el (shr-tag-html): Respect the "auto"
59304         directional HTML setting.
59306 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
59308         Default bidi paragraph direction to nil
59310         * lisp/net/eww.el (eww-display-html): Default bidi rendering
59311         to nil, so that possibly more Arabic web pages render
59312         correctly (bug#22786).
59313         (eww-setup-buffer): Ditto.
59315 2016-02-29  Mathias Dahl  <mathias.dahl@gmail.com>
59317         Preserve current column, going up/down in thumbnail view.
59319 2016-02-29  Alan Mackenzie  <acm@muc.de>
59321         Handle "noise" macros and compiler directives.
59323         * lisp/progmodes/cc-langs.el (c-symbol-char-key): New language variable.
59325         * lisp/progmodes/cc-vars.el (c-noise-macro-names)
59326         (c-noise-macro-with-parens-names): New customizable variables.
59327         (c-noise-macro-name-re, c-noise-macro-with-parens-name-re): New variables.
59328         (c-make-noise-macro-regexps): New function.
59330         * lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Adapt to treat
59331         members of c-noise-macro-names as whitespace.
59332         (c-forward-noise-clause): New function.
59333         (c-forward-keyword-prefixed-id, c-forward-type, c-forward-declarator)
59334         (c-forward-decl-or-cast-1, c-backward-over-enum-header)
59335         (c-guess-basic-syntax CASE 5A.3, CASE 5A.5, CASE 9A):
59336         Handle "noise clauses" in parallel with, e.g., "hangon key clauses".
59338         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): Handle "noise clauses"
59339         in parallel with "prefix-spec keywords".
59341         * lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): call
59342         c-make-noise-macro-regexps to initialize the internal variables.
59344         * doc/misc/cc-mode.texi ("Noise Macros"): New section documenting the new
59345         facilities.
59347 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
59349         Stop calling res_init
59351         Emacs shouldn’t need to call res_init any more, now that nscd or
59352         equivalent is everywhere.  On modern systems, calling res_init
59353         simply slows Emacs down.  On ancient systems lacking nscd Emacs
59354         will still work well enough with this change; it’s just that it
59355         won’t respond to changes in /etc/resolv.conf.
59356         * configure.ac (HAVE_RES_INIT): Remove.  Worry about -lresolv only
59357         when configured --with-hesiod.  Hesiod is still used; see, e.g.:
59358         https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214
59359         * src/Makefile.in (LIBRESOLV): Remove.  All uses removed.
59361 2016-02-29  Glenn Morris  <rgm@gnu.org>
59363         * lisp/progmodes/grep.el (grep-save-buffers): Fix type, tweak doc.
59365         * lisp/progmodes/grep.el (grep-save-buffers): Don't autoload defcustoms.
59367 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
59369         * src/process.c (Fdelete_process): Simplify cast.
59371 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
59373         Use the correct background color when filling nested <divs>
59375         * lisp/net/shr.el (shr-face-background): Return the first
59376         background, because that's the one that's visible (bug#22680).
59378 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
59380         Make <div> in <li> not insert extra newlines
59382         * lisp/net/shr.el (shr-tag-div): Make <div> in <li> not insert
59383         extra newlines (bug#19587).
59385 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
59387         Allow reading Gnus reports from an offline cache
59389         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
59390         Allow reading bug reports from an offline cache directory.
59392 2016-02-28  Tino Calancha  <f92capac@gmail.com>
59394         Meta + shift + Fn combos are recognized by xterm>=216.
59396         * lisp/term/xterm.el (xterm-alternatives-map): Meta + shift +
59397         Fn combos are recognized by xterm>=216 (bug#22837).
59399 2016-02-28  Simen Heggestøyl  <simenheg@gmail.com>
59401         Declare $ as an expression prefix in SCSS
59403         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
59404         expression prefix (bug#22841).
59406 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
59408         Revert "Declare $ as an expression prefix in SCSS"
59410         This reverts commit ffb33264f21e8af60b8055c47baffcf0f6c300df.
59412         Revering to fix author name.
59414 2016-02-28  Simen  <simenheg@gmail.com>
59416         Declare $ as an expression prefix in SCSS
59418         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
59419         expression prefix (bug#22841).
59421 2016-02-28  Hugh Brown  <aardvark@saintaardvarkthecarpeted.com>
59423         Save buffers before running grep commands
59425         * lisp/progmodes/grep.el (grep-ask-about-save): New variable (bug#96).
59426         (grep, lgrep, rgrep): Use it (bug#96).
59428         * doc/emacs/building.texi (Grep Searching): Document
59429         `grep-save-buffers'.
59431         * lisp/progmodes/grep.el (grep-save-buffers): Rename from
59432         `grep-ask-about-save'.
59433         (grep--save-buffers): New function.
59434         (grep, lgrep, rgrep): Use it.
59436 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
59438         Allow sorting flyspell corrections
59440         * lisp/textmodes/flyspell.el (flyspell-sort): New function (bug#2405).
59441         (flyspell-sort-corrections-functionx): New variable.
59442         (flyspell-sort-corrections-alphabetically): New function.
59443         (flyspell-notify-misspell): Use them.
59444         (flyspell-auto-correct-word): Ditto.
59445         (flyspell-emacs-popup): Ditto.
59446         (flyspell-xemacs-popup): Ditto.  Suggested by Sebastien Delafond.
59448 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
59450         Wait for async DNS to complete before freeing resources
59452         * src/process.c (Fdelete_process): Wait for async DNS to
59453         complete before freeing the data structures it needs.
59455 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
59457         * lisp/faces.el: Remove duplicated functions from previous patch.
59459 2016-02-28  Eli Zaretskii  <eliz@gnu.org>
59461         Fix TLS connections on MS-Windows
59463         * src/w32.c (sys_write): If 'send' returns with WSAENOTCONN, and
59464         this is a non-blocking socket whose connection is in progress, set
59465         errno to EWOULDBLOCK, as expected by GnuTLS and other callers.
59466         Avoid overwriting the errno value from 'send' by 'ioctlsocket'.
59467         Suggested by Alain Schneble <a.s@realize.ch>.  (Bug#22789)
59469 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
59471         Add a NEWS entry for the read-color change
59473 2016-02-27  Jan Moringen  <jan.moringen@uni-bielefeld.de>
59475         Show the face colors when completing in `read-color'
59477         * lisp/faces.el (defined-colors-with-face-attributes): New function.
59478         (readable-foreground-color, defined-colors-with-face-attributes)
59479         (readable-foreground-color): Ditto.
59480         (read-color): Use them (bug#5305).
59482 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
59484         Clean up the code in parse-time-string-chars
59486         * lisp/calendar/parse-time.el (parse-time-string-chars):
59487         Clean up the code a bit.
59489 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
59491         Add some tests for parse-time.el
59493         * test/lisp/calendar/parse-time-tests.el: New file.
59495 2016-02-27  Dima Kogan  <dima@secretsauce.net>
59497         Strip out some leading whitespace when looking at logs
59499         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): When looking
59500         at expanded git logs with `vc-print-root-log' (C-x v L, then
59501         <enter> by default), Emacs was stripping out all leading
59502         whitespace from git logs.  I now strip exactly 2 leading
59503         spaces, which retains the indentation in the logs (bug#18110).
59505 2016-02-27  Dima Kogan  <dima@secretsauce.net>
59507         Use a separate history variable for align-regexp
59509         * lisp/align.el (align-regexp-history): New variable (bug#16891).
59510         (align-regexp): Use it.
59512 2016-02-27  Phil Sung  <philbert@gmail.com>
59514         Create subdirectories automatically in wdired
59516         * lisp/wdired.el (wdired-create-parent-directories): New
59517         variable (bug#6817).
59518         (wdired-create-parentdirs): New function.
59519         (wdired-do-renames): Use it.
59520         * doc/emacs/dired.texi (Wdired): Mention
59521         `wdired-create-parent-directories'
59523 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
59525         Return the correct error values from gnutls.c
59527         * src/gnutls.c (emacs_gnutls_read): Set errno to the value
59528         expected by process.c.
59529         (gnutls_try_handshake): Set gnutls_p to true earlier to avoid
59530         possible race condition with the process.c socket polling
59531         functions.
59533 2016-02-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
59535         Don't make assumptions about mkdir.  (Bug#22822)
59537         * test/Makefile.in (MKDIR_P): New, set by configure.
59538         (%.log): Use MKDIR_P.
59540 2016-02-27  Alexander Kuleshov  <kuleshovmail@gmail.com>
59542         Support switching to hexl-mode from image-mode
59544         * lisp/image-mode.el (image-toggle-hex-display)
59545         (image-mode-to-text): New functions.
59546         (image-mode-map, image-minor-mode-map): Bind "C-c C-x" to
59547         image-toggle-hex-display.
59548         (image-mode-map): New menu item "Show as Hex".
59549         (image-mode): Update doc string and echo-area message.
59550         (image-toggle-display): Support toggle to hex.  (Bug#22453)
59552         * doc/emacs/files.texi (File Conveniences): Document
59553         'image-toggle-hex-display'.
59555 2016-02-27  Eli Zaretskii  <eliz@gnu.org>
59557         Remove unused code in coding.c
59559         * src/coding.c (decode_eol): Remove unused code that handled the
59560         case of coding->dst_object being nil.  Replace it with an
59561         assertion.
59563 2016-02-26  Aurelien Aptel  <aaptel@suse.com>
59565         * src/syntax.c: Fix result of syntax_multibyte()
59567         The ?: operator has a lower precedence than ||.
59568         Bug introduced by commit 45b683a.
59570 2016-02-26  Paul Eggert  <eggert@cs.ucla.edu>
59572         --enable-gcc-warnings now uses -Wjump-misses-init
59574         When configuring with --enable-gcc-warnings, also enable
59575         -Wjump-misses-init, as it’s confusing to use a goto to skip over
59576         an initialization.  Fix the few places in the code that run afoul
59577         of this warning.
59578         * configure.ac (WERROR_CFLAGS): Add -Wjump-misses-init.
59579         * src/doc.c (Fsubstitute_command_keys):
59580         * src/image.c (svg_load_image):
59581         * src/regex.c (re_match_2_internal):
59582         * src/xdisp.c (redisplay_internal, redisplay_window):
59583         Don’t jump over initialization.
59585 2016-02-26  Jussi Lahdenniemi  <jussi@aprikoodi.fi>
59587         Improve the register-hotkey functionality on MS-Windows
59589         * src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for
59590         keyboard hook functionality.
59591         Include w32inevt.h, basetyps.h and unknwn.h.
59592         (VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros.
59593         (kbdhook): A new struct definition.
59594         (funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key)
59595         (check_w32_winkey_state, reset_w32_kbdhook_state): New functions.
59596         (modifier_set): Call check_w32_winkey_state if a Win key was
59597         pressed and the keyboard hook is active.
59598         (w32_wnd_proc): Don't handle Win key combinations if the keyboard
59599         hook is active.  Only register/unregister the hotkeys if the
59600         keyboard hook is not active.  When WM_CREATE is received, call
59601         setup_w32_kbdhook.  When WM_DESTROY is received, call
59602         reset_w32_kbdhook_state.
59603         (lookup_vk_code): When the keyboard hook is active, map
59604         alphanumeric characters to themselves.
59605         (w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key.  Map
59606         modified keys to VK_ANY if the keyboard hook is active.  Register
59607         Alt-x and Win-x combinations.
59608         (Fw32_shell_execute): Update doc string to reflect new
59609         functionality.  Bypass the code that posts the
59610         WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active.
59611         (Fw32_unregister_hot_key): Bypass the code that posts the
59612         WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active.
59613         (syms_of_w32fns) <w32-pass-lwindow-to-system>
59614         <w32-pass-rwindow-to-system, w32-phantom-key-code>
59615         <w32-lwindow-modifier, w32-rwindow-modifier>: Update doc strings
59616         to reflect the new functionality.
59617         * src/w32console.c (initialize_w32_display): Install the low-level
59618         keyboard hook.
59619         * src/w32inevt.c (key_event): Handle Win-x combinations only if
59620         the keyboard hook is not active.  If the hook is active, use
59621         check_w32_winkey_state instead.
59622         * src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook)
59623         (check_w32_winkey_state): Add prototypes.
59624         (w32_kbdhook_active): New macro.
59626         * doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the
59627         new functionality.
59629 2016-02-25  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
59631         Add forward-sexp (and related) tests
59633         * test/lisp/emacs-lisp/lisp-tests.el: New file for testing
59634         forward-sexp and related functions (bug#22800).
59636 2016-02-25  Jan Tatarik  <jan.tatarik@gmail.com>
59638         Don't use (localized) week days in dates
59640         * lisp/gnus/gnus-icalendar.el
59641         (gnus-icalendar-event:org-timestamp): Don't use (localized)
59642         week days in the dates, because that messes up things later.
59644 2016-02-25  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
59646         Update pcomplete/find
59648         * lisp/pcmpl-gnu.el (pcomplete/find): Update to newest version
59649         (bug#10487).
59651 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
59653         Make parse-time-string-chars more efficient
59655         * lisp/calendar/parse-time.el (parse-time-string-chars): The
59656         string has already been downcase, so don't care about case
59657         (bug#18522).
59659 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
59661         Remove killed buffers from the list of Gnus buffers
59663         * lisp/gnus/gnus.el (gnus-prune-buffers): Remove killed
59664         buffers from the list of Gnus buffers (bug#18522).
59666 2016-02-25  Paul Eggert  <eggert@cs.ucla.edu>
59668         Integer overflow cleanups for ports and socklen
59670         * src/process.c (struct sockaddr_and_len, conv_sockaddr_to_lisp)
59671         (get_lisp_to_sockaddr_size, Fset_process_datagram_address)
59672         (connect_network_socket):
59673         Use ptrdiff_t, not int, for signed object sizes.
59674         This addresses only a theoretical problem, as in practice these
59675         object sizes are less than 2**31, but we might as well use the
59676         same style here as elsewhere in Emacs.
59677         (string_integer_p): Remove; all uses removed.
59678         (Fmake_network_process): Check that port number is in range.
59679         When converting an integer-string service, rely on strtol
59680         rather than rechecking the string by hand.
59681         * src/process.h, src/w32.c (conv_sockaddr_to_lisp):
59682         Adjust prototypes to match.
59684 2016-02-24  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
59686         Add pcomplete support for find
59688         * lisp/pcmpl-gnu.el (pcomplete/find): Add pcomplete support
59689         for find (bug#10487).
59691 2016-02-24  Per Starbäck  <starback@stp.lingfil.uu.se>
59693         Replace XXX acronyms with draft standard ones
59695         * lisp/international/characters.el (c1-acronyms): Replace XXX
59696         entries with the acronyms PAD, HOP, SGCI from draft DIS 10646
59697         (bug#13745).
59699 2016-02-24  Kevin Ryde  <user42@zip.com.au>
59701         Make checkdoc warn about variables described as "True"
59703         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
59704         Docstrings for variables "True...", and functions "Return
59705         true...", should usually be "non-nil" (bug#15506).
59707 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
59709         Add NEWS entry for "number string" change
59711 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
59713         Allow using "number strings" as services on non-GNU systems
59715         * src/process.c (string_integer_p): New function.
59716         (Fmake_network_process): Use it to allow connecting to
59717         services specified as "993" even when getaddrbyname isn't
59718         available.
59720 2016-02-24  Michael Albinus  <michael.albinus@gmx.de>
59722         Fix problem in tramp.texi
59724         * doc/misc/tramp.texi (File name completion): Do not use
59725         @trampfn{} for IPv6 addresses.  Somehow, it results in errors
59726         during PDF creation.
59728 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
59730         Make image commands available in image-mode
59732         * lisp/image-mode.el (image-mode-map): Inherit from
59733         `image-map' so that the usual image commands work.
59735 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
59737         Move `o' to `O' in shr-map
59739         * lisp/net/shr.el (shr-map): `shr-save-contents' has moved
59740         from `o' to `O' to avoid collisions with `image-map'.
59742 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
59744         Make setting the coding system non-blocking
59746         * src/process.c (Fset_process_filter_multibyte): Defer
59747         completing coding system setup in asynchronous processes.
59748         (Fset_process_coding_system): Ditto.
59750 2016-02-23  Gregoire Jadi  <daimrod@gmail.com>
59752         Mention `proced-toggle-auto-update' in the proced-mode doc string
59754         * lisp/proced.el (proced-mode): Mention
59755         `proced-toggle-auto-update' (bug#14341).
59757 2016-02-23  Joshua Datko  <jbdatko@gmail.com>  (tiny change)
59759         Add a fortune-message command
59761         * lisp/play/fortune.el (fortune-message): Add a command to
59762         display fortunes in the echo area (bug#14915).
59764 2016-02-23  Susanne Oberhauser  <froh@suse.com>  (tiny change)
59766         Add hideshow bindings analogous to outline mode
59768         * lisp/progmodes/hideshow.el (hs-minor-mode-map): Add bindings
59769         analogous to outline mode bindings (bug#15324).
59771 2016-02-23  Bastien Guerry  <bzg@altern.org>
59773         Allow highlighting things like @math{2^{12}}
59775         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords):
59776         Allow highlighting things like @math{2^{12}} (bug#16390).
59778 2016-02-23  Per Bothner  <per@bothner.com>
59780         Make `C-{up,down,left,right}' work in term mode
59782         * lisp/term.el (term-raw-map): Define C-{up,down,left,right}
59783         to send the same escape sequence that xterm sends.  This makes
59784         backward-word and forward-word work in readline (bug#16746).
59786 2016-02-23  Dima Kogan  <dima@secretsauce.net>
59788         Allow ff-find-other-file (etc) to work with indirect clone buffers
59790         * lisp/find-file.el (ff-buffer-file-name): New function to
59791         allow the feature to work with indirect buffers, too
59792         (bug#16904).
59793         (ff-find-the-other-file): Use it.
59794         (ff-other-file-name): Ditto.
59795         (ff-get-file-name): Ditto.
59797 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
59799         Fix error in add-change-log-entry when the entry has no newline
59801         * lisp/vc/add-log.el (add-change-log-entry): The entry in the
59802         ChangeLog may end without a new line starting with blanks.
59804 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
59806         Avoid using mm-util functoins in gravatar.el
59808         * lisp/image/gravatar.el (gravatar-retrieve): Avoid using
59809         mm-util functions.
59810         (gravatar-retrieve-synchronously): Ditto.
59812 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
59814         Move low-level library files from the lisp/gnus directory
59816         The files moved from lisp/gnus are:
59818         auth-source.el -> /
59819         compface.el -> /image
59820         ecomplete.el -> /
59821         flow-fill.el -> /mail
59822         gravatar.el -> /image
59823         gssapi.el -> /net
59824         html2text.el -> /net
59825         ietf-drums.el -> /mail
59826         mail-parse.el -> /mail
59827         mail-prsvr.el -> /mail
59828         mailcap.el -> /net
59829         plstore.el -> /
59830         pop3.el -> /net
59831         qp.el -> /mail
59832         registry.el -> /
59833         rfc1843.el -> /international
59834         rfc2045.el -> /mail
59835         rfc2047.el -> /mail
59836         rfc2231.el -> /mail
59837         rtree.el -> /
59838         sieve-manage.el -> /net
59839         sieve-mode.el -> /net
59840         sieve.el -> /net
59841         starttls.el -> /net
59842         utf7.el -> /international
59843         yenc.el -> /mail
59845 2016-02-23  Tino Calancha  <f92capac@gmail.com>
59847         Allow undoing changes while doing query-replace
59849         * doc/lispref/searching.texi (Search and Replace): Mention
59850         undo (bug#21684).
59852         * lisp/replace.el (query-replace-help): Document undo.
59853         (perform-replace): Implement undo while replacing text.
59855 2016-02-23  John F. Trudeau  <JFTrudeau@aetna.com>  (tiny change)
59857         Highlight assignments in Makefiles more correctly
59859         * lisp/progmodes/make-mode.el (makefile-macroassign-regex):
59860         Highlight assignments preceded by a TAB character correctly
59861         (bug#20787).
59863 2016-02-23  Fredrik Bergroth  <fbergroth@gmail.com>  (tiny change)
59865         Use memmove instead of memcpy on overlapping regions
59867         * src/editfns.c (Ftranspose_regions): Regions may overlap, so
59868         use memmove instead of memcpy (bug#19213).
59870 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
59872         Port to --enable-gcc-warnings sans getaddrinfo_a
59874         * src/process.c (Fmake_network_process): Add ATTRIBUTE_UNUSED
59875         to a local unused when getaddrinfo_a is missing.
59876         Resize portbuf to size needed.  Do cheap test first.
59877         Move local to block where it’s needed.
59879 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
59881         Minor cleanups for async DNS etc.
59883         * src/frame.h (FRAME_WINDOW_CONFIGURATION_CHANGED):
59884         Omit unnecessary parens.
59885         * src/gnutls.c (gnutls_try_handshake, emacs_gnutls_deinit)
59886         (gnutls_verify_boot):
59887         Use bool for boolean.
59888         (ATTRIBUTE_FORMAT_PRINTF): Add printf attribute.
59889         * src/process.c (free_dns_request, Fmake_network_process):
59890         Allocate and free async request control block all in one go.
59891         (set_network_socket_coding_system, finish_after_tls_connection)
59892         (connect_network_socket):
59893         Now static.
59894         (conv_numerical_to_lisp): 2nd arg is now int, not unsigned.
59895         (Fmake_network_process): Use list1 for brevity.
59896         (wait_for_socket_fds): 2nd arg is now const ptr.
59897         * src/process.h (struct Lisp_Process.dns_request):
59898         Now struct gaicb *, not struct gaicb **, since there was always
59899         exactly one.  All uses changed.
59900         * src/window.c, src/window.h (run_window_configuration_change_hook):
59901         Now static.
59903 2016-02-23  Carlos Pita  <carlosjosepita@gmail.com>
59905         Allow more shell script defun forms
59907         * lisp/progmodes/sh-script.el (sh-mode): Allow more shell
59908         script defun forms, like function name () {...} (bug#19754).
59910 2016-02-23  Martin Rudalics  <rudalics@gmx.at>
59912         Fix `window-configuration-change-hook' and `window-size-change-functions'
59914         (1) Run `window-configuration-change-hook' if and only if at least
59915         one window was deleted or created or shows another buffer since
59916         last redisplay.
59918         (2) Run `window-size-change-functions' if and only if at least
59919         one window changed its size since last redisplay (in a few cases
59920         `window-size-change-functions' will also run when no window
59921         changed its size).
59923         (3) Provide two functions `window-pixel-height-before-size-change'
59924         and `window-pixel-width-before-size-change' that allow to easily
59925         detect which window changed size.
59927         * src/frame.h (struct frame): New boolean member
59928         window_configuration_changed.
59929         (FRAME_WINDOW_SIZES_CHANGED): Remove macro.
59930         (FRAME_WINDOW_CONFIGURATION_CHANGED): New macro.
59931         * src/frame.c (adjust_frame_size): Don't run
59932         `window-configuration-change-hook'.
59933         * src/window.h (struct window): New fields
59934         pixel_width_before_size_change and pixel_height_before_size_change.
59935         (WINDOW_INTERNAL_P): New macro.
59936         * src/window.c (Fwindow_pixel_width_before_size_change)
59937         (Fwindow_pixel_height_before_size_change): New functions.
59938         (Fdelete_other_windows_internal, Fwindow_resize_apply)
59939         (resize_frame_windows, Fsplit_window_internal)
59940         (Fdelete_window_internal, grow_mini_window)
59941         (shrink_mini_window, Fresize_mini_window_internal): Don't call
59942         FRAME_WINDOW_SIZES_CHANGED.
59943         (window_size_changed, window_set_before_size_change_sizes)
59944         (run_window_size_change_functions): New functions.
59945         (make_window): Initialize pixel_width_before_size_change and
59946         pixel_height_before_size_change.
59947         (Fdelete_window_internal): Don't call
59948         run_window_configuration_change_hook.
59949         (struct saved_window): Add pixel_height_before_size_change and
59950         pixel_width_before_size_change.
59951         (Fset_window_configuration): Try to identify window configuration
59952         changes correctly so run_window_configuration_change_hook and
59953         run_window_size_change_functions run only if configuration and size
59954         really changed.
59955         (save_window_save): Set the pixel_height_before_size_change and
59956         pixel_width_before_size_change fields.
59957         (Vwindow_size_change_functions): Move here definition from xdisp.c.
59958         * src/xdisp.c (prepare_menu_bars, redisplay_internal): Call
59959         run_window_size_change_functions.
59960         (Vwindow_size_change_functions): Move definition to window.c.
59961         * src/xfns.c (x_set_menu_bar_lines): Don't call
59962         run_window_configuration_change_hook.
59963         * doc/lispref/windows.texi (Window Sizes): Document new
59964         functions `window-pixel-height-before-size-change' and
59965         `window-pixel-width-before-size-change'.
59966         (Window Configurations): Mention that this may trigger
59967         execution of `window-size-change-functions' although no window
59968         changed size.
59969         (Window Hooks): Update descriptions of `window-size-change-functions'
59970         and `window-configuration-change-hook'.
59972 2016-02-23  Drew Adams  <drew.adams@oracle.com>
59974         (ls-lisp-insert-directory): Make -B work
59976         * lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work
59977         (bug#20776).
59979 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
59981         Fix typo in message-setup-fill-variables
59983         * lisp/gnus/message.el (message-setup-fill-variables): Fix
59984         typo in a recent checkin that used `setq-default' instead of
59985         `setq-local' (bug#22781).
59987 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
59989         `message-dont-reply-to-names' can also be a list of regexps
59991         * lisp/gnus/message.el (message-dont-reply-to-names):
59992         `message-dont-reply-to-names' can also be a list of regexps (bug#22773).
59994 2016-02-23  Vaidheeswaran C  <vaidheeswaran.chinnaraju@gmail.com>
59996         Make buttons in header lines work
59998         * lisp/help-mode.el (help-button-action): `help-xref-button' in
59999         header line doesn't work (bug#21024).
60001 2016-02-23  Vasilij Schneidermann  <v.schneidermann@gmail.com>
60003         Place apples randomly in Snake
60005         * lisp/play/snake.el (snake-score): New variable (bug#21359).
60006         (snake-set-dot): Place the apples randomly.
60008 2016-02-23  Tino Calancha  <f92capac@gmail.com>
60010         Allow optional parameter to be nil
60012         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Allow the
60013         optional parameter to be nil (bug#21576).
60015 2016-02-23  Tino Calancha  <f92capac@gmail.com>
60017         Completely ignore buffers with no name when copying file names
60019         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Completely
60020         ignore buffers with no file name. (bug#21577).
60022 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
60024         Make spelling of "Eshell" consistent
60026         * lisp/eshell/esh-mode.el (eshell-mode): Spell it "Eshell".
60027         * lisp/eshell/eshell.el (eshell-command):
60028         Spell it "Eshell" (bug#21678).
60030 2016-02-23  Simen Heggestøyl  <simenheg@gmail.com>
60032         Allow pretty lambdas in Scheme mode
60034         * lisp/progmodes/scheme.el (scheme-mode-variables): Borrow
60035         `prettify-symbols-alist' from Lisp mode (bug#21679).
60037 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
60039         Rename lisp--prettify-symbols-alist
60041         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist):
60042         Rename from `lisp--prettify-symbols-alist' since we're going
60043         to use it in Scheme mode, too.
60044         (lisp-mode-variables): Use it.
60046 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>  (tiny change)
60048         Remove spurious newline in package list
60050         * lisp/emacs-lisp/package.el (describe-package-1): Remove
60051         spurious newline (bug#21706).
60053 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
60055         Revert "Remove spurious newline in package list"
60057         This reverts commit fad14c289d36a2c61e0fd34105ebb1f62c80d71d.
60059 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>
60061         Remove spurious newline in package list
60063         * lisp/emacs-lisp/package.el (describe-package-1): Remove
60064         spurious newline (bug#21706).
60066 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
60068         Keep the position in the process buffer when deleting processes
60070         * lisp/simple.el (process-menu-delete-process): Keep the
60071         position in the buffer after killing a process (bug#21759).
60073 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
60075         Require that the buffer that we're trying to patch exist
60077         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
60078         buffer that we're trying to patch exist (bug#21852).
60080 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
60082         Require that the buffer that we're trying to patch exist
60084         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
60085         buffer that we're trying to patch exist (bug#21852).
60087 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
60089         Be more verbose when changing frame mode in ediff
60091         * lisp/vc/ediff-util.el (ediff-toggle-multiframe): Say what
60092         mode we toggled to (bug#21853).
60094 2016-02-22  Łukasz Stelmach  <stlman@poczta.fm>
60096         Encode header strings before printing
60098         * lisp/ps-print.el (ps-generate-header-line): Encode the
60099         header strings to avoid problems with non-ASCII headers
60100         (bug#22611).
60102 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
60104         Test message-strip-subject-trailing-was
60106         * test/lisp/gnus/message-tests.el (message-strip-subject-trailing-was):
60107         New test (bug#22632).
60109 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
60111         Make use of the `ert-with-function-mocked' macro
60113         * test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
60114         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9781): Use
60115         `ert-with-function-mocked' instead of implementing the fragile
60116         `unwind-protect' logic openly.
60118 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
60120         message-strip-subject-trailing-was: Refactor
60122         * lisp/gnus/message.el (message-strip-subject-trailing-was): Refactor
60123         the function replacing sequence of `if' calls with a mixture of `or'
60124         and `and' calls instead.  This makes it shorter and containing less
60125         internal state thus easier to follow.
60127 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
60129         ert-with-function-mocked: New macro
60131         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): New macro which
60132         allows evaluating code while particular function is replaced with
60133         a mock.  The original definition of said function is restored once the
60134         macro finishes.
60136 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
60138         Move Gnus functions frm rfc1843 to new file gnus-rfc1843
60140         * lisp/gnus/gnus-rfc1843.el: New file for Gnus/rfc1843
60141         interface functions.
60143         * lisp/gnus/gnus-rfc1843.el: Move all Gnus-specifig functions to
60144         gnus-rfc1843.
60146 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
60148         Don't use mm-util functions in qp.el
60150         * lisp/gnus/qp.el (quoted-printable-decode-region): Don't use
60151         mm-util functions.
60152         (quoted-printable-encode-string): Ditto.
60153         (quoted-printable-encode-region): Ditto.
60155 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
60157         Don't require mm-util
60159         * lisp/mail/ietf-drums.el (mm-util): Don't require.
60161 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
60163         Remove Gnus functions from auth-source.el
60165         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
60166         Remove usage of Gnus utility function.
60167         (mm-util, gnus-util): Don't require.
60169 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
60171         Allow deleting all non-matching cookies
60173         * lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow
60174         keeping matching cookies (bug#22720).
60176 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
60178         Make (setf (image-property ...)) return VALUE
60180         * lisp/image.el (image--set-property): Return VALUE, not IMAGE.
60182 2016-02-22  John Wiegley  <johnw@newartisans.com>
60184         Merge from origin/emacs-25
60186         a9c48d5 Additional fixes for file notification
60187         6bd9d69 Fix documentation of 'global-disable-point-adjustment'
60188         8c22ac9 ; Spelling fix
60189         2975784 Set file modes of pinentry socket for extra safety
60190         2667b3e Clarify GnuPG version compatibility chapter
60191         5e34c36 Revert "Change the default socket location for pinentry"
60192         e19c1c3 Kill off xref--display-history
60193         5698947 Keep the xref buffer visible until the user quits it explicitly
60194         e34fbde Change the default socket location for pinentry
60195         5f89658 Mention how to enable pinentry feature
60196         db51224 Sync with gnulib
60197         aa5a794 Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
60198         2d8b2fd Restore point when writing semantic table to disk
60199         27d3430 Mention pinentry.el in epa manual
60200         5baa001 Fix Bug#22736
60201         7261355 Grammar fix in doc string
60202         d0f3b18 Naming fix for consistency
60203         74ec92d Prefer customized value for GnuPG executable
60204         ea0b604 Fix memory reservation on MS-Windows
60205         c5f72aa Update NextStep readme and add wish list.
60206         6de26a7 Report also result in `file-notify--test-event-handler'
60207         5d17ae7 Improve file-notify-test08-watched-file-in-watched-dir
60208         1cb1268 Fix todo-mode item date editing bugs
60209         1e996cf Fix "[:upper:]" for non-ASCII characters
60210         896f993 Allow customizing the article mode cursor behavior
60211         24c1c1d Use pop-to-buffer-same-window in woman.el
60212         2a75f64 New filenotify test for bug#22736
60213         c9bccf7 Report critical battery errors
60214         d675db9 Make eww message toggling message clearer
60215         5e0bb40 * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment.
60216         fa8fd65 ; Improve character-folding entries in NEWS
60217         3722a69 Fix bugs in window resizing code
60218         289d5c6 Fix decoding DOS EOL in a unibyte buffer
60219         2abcb06 Correct c-parse-state cache manipulation error.
60220         14aec91 Take advantage of new GnuPG version check function
60221         e80c2a7 Make GnuPG version check robuster
60222         15a9464 Fix x-load-color-file pointer signedness
60223         132dbf0 * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct.
60224         78ab6f1 Follow convention for greek letter constants.
60225         106b5bb Add Stefan-Boltzmann constant to calc units table.
60226         b96baa8 * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode.
60227         5f91cf9 Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw.  (Bug#22669)
60228         2d40f7d Fix soffice UserInstallation-URL for Windows
60229         b1a3ebe Fix display of <pre> elements
60230         57d0e3d ; * lisp/help-fns.el: Remove outdated comment.
60231         7a0628d ; * admin/make-tarball.txt: Mention cleaning.
60233 2016-02-22  Oleh Krehel  <ohwoeowho@gmail.com>
60235         lisp/calendar/appt.el (appt-delete-window): Check if buffer is live
60237         * lisp/calendar/appt.el (appt-delete-window): Avoid trying to delete a
60238           non-existing buffer.
60240 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
60242         Mention the further asynchronousity
60244 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
60246         Fix async TLS boot problem
60248         * src/process.c (wait_reading_process_output): Verify the boot
60249         of the correct process.
60251 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
60253         Clean up forgotten text in manual
60255         * doc/lispref/display.texi (Defining Images): Remove example
60256         forgotten when making previous change.
60258 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
60260         Clean up debugging code
60262         * src/process.c (Fmake_network_process): Remove debugging printf.
60263         (wait_for_socket_fds, wait_while_connecting)
60264         (wait_for_tls_negotiation): Remove newlines from messages.
60266 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
60268         Fix merge conflicts in network-stream-tests.el
60270 2016-02-21  Paul Eggert  <eggert@penguin.cs.ucla.edu>
60272         Port recent filevercmp addition to MS-Windows
60274         Reported by Andy Moreton in:
60275         https://lists.gnu.org/r/emacs-devel/2016-02/msg01302.html
60276         * nt/gnulib.mk (libgnu_a_SOURCES): Add filevercmp.c.
60277         (EXTRA_DIST): Add filevercmp.h.
60279 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
60281         add_to_log expects Lisp parameters
60283 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
60285         Mention sentinels in conjunction with :nowait t.
60287         * doc/lispref/processes.texi (Network Processes): Mention the
60288         recommended way of using sentinels with :nowait t.
60290 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
60292         Mention in the doc strings that process functions may block
60294         (Fprocess_contact, Fprocess_datagram_address)
60295         (Fset_process_datagram_address, Fset_network_process_option)
60296         (Fprocess_send_region, Fprocess_send_string): Mention that the
60297         functions may block.
60298         (Fset_process_coding_system): Ditto.
60300 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
60302         Add blocker warnings to the *Messages* buffer
60304         * src/process.c (wait_for_socket_fds): Add warning to the log.
60305         (wait_while_connecting): Ditto.
60306         (wait_for_tls_negotiation): Ditto.
60308 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
60310         Rework the image property getter/setters
60312         * doc/lispref/display.texi (Defining Images): Document the
60313         renamed `image-get/set-property' functions.
60315         * lisp/image.el (image--set-property): Rename from
60316         image-set-property.
60317         (image-property): Declare a setf form.
60318         (image-property): Rename from `image-get-property'.
60320 2016-02-21  Paul Eggert  <eggert@cs.ucla.edu>
60322         Use Gnulib filevercmp for version comparison
60324         * admin/merge-gnulib (GNULIB_MODULES): Add filevercmp.
60325         * doc/lispref/strings.texi (Text Comparison):
60326         * etc/NEWS, src/fns.c:
60327         * test/src/fns-tests.el (fns-tests-string-version-lessp):
60328         Rename newly-introduced function to string-version-lessp, by
60329         analogy with strverscmp.
60330         * lib/filevercmp.c, lib/filevercmp.h: New files, copied from gnulib.
60331         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
60332         * src/fns.c: Include <filevercmp.h>.
60333         (gather_number_from_string): Remove.
60334         (Fstring_version_lessp): Reimplement via filevercmp.
60336 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
60338         Add a function to delete URL cookies
60340         * doc/misc/url.texi (Cookies): Document
60341         url-cookie-delete-cookies.
60343         * lisp/url/url-cookie.el (url-cookie-delete-cookies): New function.
60345 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
60347         Avoid integer overflows in string-numeric-lessp
60349         * src/fns.c (Fstring_numeric_lessp): If we have an integer
60350         overflow, compare lexicographically.
60352 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
60354         Add the string-numeric-lessp function
60356         * doc/lispref/strings.texi (Text Comparison): Document
60357         `string-numerical-lessp'.
60359         * src/fns.c (Fstring_numeric_lessp): New function.
60360         (gather_number_from_string): Helper function for that function.
60362         * test/src/fns-tests.el (fns-tests-string-numeric-lessp): Add tests.
60364 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
60366         Clarify levels of :nowait t.
60368         * doc/lispref/processes.texi (Network Processes): Mention
60369         levels of asynchronicity.
60371 2016-02-20  Alain Schneble  <a.s@realize.ch>
60373         Respect DNS timeouts
60375         * src/process.c (check_for_dns): If the async DNS request
60376         failed and the associated process is still in "connect" state,
60377         deactivate the process and set status to "failed".
60379 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
60381         Add a frame around the placeholder image in shr
60383         * lisp/net/shr.el (shr-make-placeholder-image): Add a frame
60384         around the image.
60386 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
60388         Use placeholder images in shr to avoid text moving around
60390         * lisp/net/shr.el (shr-rescale-image): Pass in width/height
60391         from the HTML.
60392         (shr-tag-img): Ditto.
60393         (shr-string-number): New function.
60394         (shr-make-placeholder-image): Make placeholder images.
60395         (shr-tag-img): Insert them if we have SVG support.
60397 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
60399         Get explicit width/height + scale computations right
60401         * src/image.c (compute_image_size): :scale should also be
60402         taken into account when :width and :height are explicitly names.
60404 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
60406         New functions for getting and setting image properties
60408         * doc/lispref/display.texi (Defining Images): Document
60409         image-get/set-property.
60411         * lisp/image.el (image-set-property): New function.
60412         (image-get-property): Ditto.
60414 2016-02-19  Alan Mackenzie  <acm@muc.de>
60416         Await the final mouse event in C-h c and C-h k.
60418         * lisp/help.el (describe-key-briefly, describe-key): On receiving a mouse
60419         event, keep reading further events until a timeout occurs, to ensure we have
60420         the complete mouse event from the user.
60422 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
60424         Add a library for creating and manipulating SVG images
60426         * doc/lispref/display.texi (SVG Images): New section.
60428         * lisp/svg.el: New file.
60430 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
60432         Fix up tests for async TLS negotiation
60434 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
60436         Fix coding system setup
60438         * src/process.c (set_network_socket_coding_system): Pass in
60439         the host/service that's been computed already.
60441 2016-02-18  Michael Albinus  <michael.albinus@gmx.de>
60443         Reference `tramp-theme' in GNU ELPA.
60445         * doc/misc/tramp.texi (Frequently Asked Questions):
60446         Reference `tramp-theme' in GNU ELPA.
60448 2016-02-17  Lars Ingebrigtsen  <larsi@gnus.org>
60450         Verify the TLS connection asynchronously
60452         * src/gnutls.c (gnutls_verify_boot): Refactor out into its own
60453         function so that we can call it asynchronously.
60454         (Fgnutls_boot): Use it.
60456         * src/process.c (wait_reading_process_output): Verify the TLS
60457         negotiation.
60459 2016-02-16  Simen Heggestøyl  <simenheg@gmail.com>
60461         Add column layout module to CSS property list
60463         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
60464         CSS Multi-column Layout Module.
60466 2016-02-16  Michael Albinus  <michael.albinus@gmx.de>
60468         Minor cleanup in CONTRIBUTE and test/README
60470         * CONTRIBUTE: Remove detailed explanation about testing; this
60471         is now in test/README.
60473         * test/README: Don't mention automated/ subdirectory.
60475 2016-02-15  Glenn Morris  <rgm@gnu.org>
60477         Provide 'term/name in lisp/term files.
60479         * lisp/term/AT386.el, lisp/term/bobcat.el, lisp/term/cygwin.el:
60480         * lisp/term/internal.el, lisp/term/iris-ansi.el, lisp/term/linux.el:
60481         * lisp/term/lk201.el, lisp/term/news.el, lisp/term/ns-win.el:
60482         * lisp/term/pc-win.el, lisp/term/rxvt.el, lisp/term/screen.el:
60483         * lisp/term/sun.el, lisp/term/tty-colors.el, lisp/term/tvi970.el:
60484         * lisp/term/vt100.el, lisp/term/vt200.el, lisp/term/w32-win.el:
60485         * lisp/term/w32console.el, lisp/term/wyse50.el, lisp/term/x-win.el:
60486         For consistency, provide 'term/name in all files that don't already.
60488 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
60490         Deactivate the correct process
60492         * src/process.c (wait_reading_process_output): Deactivate the
60493         correct process on failure.
60495 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
60497         Implement asynch TLS negotiation
60499         * src/gnutls.c (gnutls_try_handshake): Factor out into its own
60500         function.
60501         (emacs_gnutls_handshake): Use it.
60502         (emacs_gnutls_read): Just return instead of retrying the handshake.
60504         * src/process.c (finish_after_tls_connection): Factor out
60505         into its own function.
60506         (connect_network_socket): Use it.
60507         (wait_reading_process_output): Retry TLS handshakes.
60508         (wait_reading_process_output): Defer sentinel until TLS completes.
60510 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
60512         Simplify the DNS resolution loop a bit
60514         * src/process.c (wait_reading_process_output): Simplify the
60515         DNS resolution loop a bit.
60517 2016-02-15  Alain Schneble  <a.s@realize.ch>
60519         Loop over the process list instead of maintaining a separate list
60521         * src/process.c: Remove declaration/definition of dns_processes list.
60522         * src/process.c (wait_reading_process_output): Loop over all processes in
60523         Vprocess_alist instead of dns_processes, to check for completed DNS
60524         requests.
60526 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
60528         Allow setting the filter masks later
60530         * src/process.c (Fset_process_filter): Don't set the socket
60531         masks here, because we may not have a socket yet.
60532         (set_process_filter_masks): New function.
60533         (connect_network_socket): Set the filter masks here.
60535 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
60537         Remove debugging
60539 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
60541         Ensure we always free DNS resources when deleting a process
60543         * src/process.c (free_dns_request): Factor out into own function.
60544         (Fdelete_process): When deleting a process, free any DNS
60545         structures associated with it.
60546         (check_for_dns): Always free all DNS resources.
60548 2016-02-15  Alain Schneble  <a.s@realize.ch>
60550         Don't block in set-process-window-size
60552         * src/process.c (set-process-window-size): Explicitly return Qnil when
60553         called with network processes as set_window_size won't work anyway on
60554         socket fds.  As a welcome side effect, this makes the blocking
60555         wait_for_socket_fds call obsolete.
60557 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
60559         Do most of the coding system setup earlier
60561         * src/process.c (Fmake_network_process): Set the read/write
60562         coding systems here, so that special bindings work.
60563         (Fmake_network_process): Complete the coding system setup here.
60565 2016-02-15  John Wiegley  <johnw@newartisans.com>
60567         Merge from origin/emacs-25
60569         d4b93e1 Minor fixes in global-auto-composition-mode
60570         02b037b Allow arithmetic operators inside C++ template constructs.
60571         44b16f6 Avoid crashes in semi-malformed 'condition-case'
60572         652e5b4 Allow arithmetic operators inside C++ template constructs.
60573         d9ea795 Fix regression with 'recent-keys' and keyboard macros
60574         903603f Fix wording in a doc-view.el comment
60575         cf79616 ; Spelling fixes
60576         f8bf1b3 CONTRIBUTE cleanups and updates
60577         f3aaca3 Port USE_STACK_LISP_OBJECTS fix to Clang
60578         1834ac7 Port to x86 GCC 4.3.1 and earlier
60579         8482949 Fix point movement under 'scroll-conservatively'
60580         c1313b5 Replace colon in file name (not legal on Windows)
60581         f7af26c Fix a typo in edt.texi
60582         8badf95 Make 'mmap_realloc' on MS-Windows more reliable
60583         856cd94 Grep alias `all' shall not match parent directory
60585 2016-02-15  John Wiegley  <johnw@newartisans.com>
60587         Merge from origin/emacs-25
60589         dacde7e * etc/AUTHORS: Update the AUTHORS file
60590         478ca5d ; fix changelog entries
60591         2b7d006 ; make change-history-commit
60592         851decb * lisp/dired-aux.el: Require cl-lib.  (Bug#22613)
60593         47896c8 ; Improve commentary in insdel.c
60594         53ca1e1 Index tilde characters in names of backup files
60595         d97f522 Document deprecation of hi-lock-mode's 'C-x w' bindings
60596         b55f06d ; * etc/NEWS: Use double spaces to end a sentence.
60597         28bb214 Announce that the `C-x w' bindings are deprecated
60598         1c98f98 Suppress GNUstep hardening
60599         d82f24b Fix redisplay after a large insertion
60600         85a2753 Revert "Fix gnus-group-get-new-news-this-group on group with
60601                 closed server"
60602         e8e3db0 ; Improve merge documentation in CONTRIBUTE
60603         5be9989 * lib-src/make-docfile.c: Include stdarg.h.
60604         c95ebbf Extend gpm-mouse-mode's doc string and doc to point out
60605                 limitations.
60607 2016-02-15  John Wiegley  <johnw@newartisans.com>
60609         Merge from origin/emacs-25
60611         f5d6b9b Revert "Support integer image rotation and respect EXIF rotations"
60612         afe7d1f Revert "Document EXIF image rotation"
60613         c6f377c Document OS X LANG default
60614         eb4a18c Set locale when run from OS X GUI
60615         456c0a3 make-docfile cleanup for I/O, etc.
60616         25ec995 Memory-management cleanup in make-docfile
60617         02d925e Kevin Gallagher has new email address
60618         4ef153b Improve doc strings of 'forward/backward-word-strictly'
60619         3ad05a0 Describe Makefile test targets in test/README
60621 2016-02-15  John Wiegley  <johnw@newartisans.com>
60623         Merge from origin/emacs-25
60625         10b8ed2 Document EXIF image rotation
60626         0f60049 Support integer image rotation and respect EXIF rotations
60627         7dd45b6 Quote table names for postgres listings (sql-mode)
60628         6bac035 * lisp/replace.el (replace-match-maybe-edit): Make arg
60629                 `backward' optional.
60630         ee909aa * lisp/simple.el (next-line-or-history-element): Reset
60631                 temporary-goal-column.
60632         0a289d3 Suppress ACL ops if configured with --disable-acl
60633         1a9dbf5 Mention web bugs
60634         fa55da2 Make mm-html-blocked-images default to "" again
60636 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
60638         Protect against initial handshake failures
60640         * src/process.c (connect_network_socket): Mark the connection
60641         as failed if the handshake didn't succeed yet.  This should be
60642         reworked later.
60644 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
60646         Call the network security manager after doing TLS negotiation
60648         * lisp/net/network-stream.el (network-stream-open-tls):
60649         Postpone NSM verification when running async.
60651         * src/process.c (Fset_process_filter): This function doesn't
60652         need to wait.
60653         (connect_network_socket): Set the process status to "run" only
60654         after TLS negotiation.
60655         (wait_for_socket_fds): Take a name parameter for more debugging.
60656         (wait_reading_process_output): Don't change status to "run"
60657         unless TLS negotiation has finished.
60658         (send_process): Wait for the process here instead of
60659         send_process_string.
60660         (connect_network_socket): Call the network security manager.
60662 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
60664         Remove some #ifdefs and update documentation
60666         * doc/lispref/processes.texi (Network Processes): Remove
60667         mention of `dns'.
60669         * lisp/net/network-stream.el (open-network-stream): Remove
60670         mention of `dns'.
60672         * src/process.c (Fset_process_filter)
60673         (Fset_process_window_size, Fprocess_contact)
60674         (Fprocess_datagram_address, Fset_process_datagram_address)
60675         (Fset_network_process_option, Fprocess_send_region)
60676         (Fprocess_send_string, Fset_process_coding_system)
60677         (Fset_process_filter_multibyte): Remove the #ifdef
60678         HAVE_GETADDRINFO_A checks.
60679         (Fprocess_send_string): Wait for TLS negotiation.
60680         (wait_for_tls_negotiation): New function.
60681         (send_process): Remove the TLS boot check.
60683         * src/process.c (Fmake_network_process): Ditto.
60685 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
60687         Use :nowait t in url-gw
60689         * lisp/url/url-gw.el (url-open-stream): Just use :nowait t,
60690         since we're not differentiating.
60692 2016-02-14  Alain Schneble  <a.s@realize.ch>
60694         Add blockers to process functions
60696         * src/process.c (set-process-filter, set-process-window-size,
60697         process-contact, process-datagram-address, set-process-datagram-address,
60698         set-network-process-option): Make functions wait (block) on network
60699         process until pending DNS requests have been processed and associated
60700         socket initialized.
60702         * src/process.c (process-send-region, process-send-string,
60703         process-send-eof): Make functions wait (block) while network process is
60704         in connect state.
60706 2016-02-14  Simen Heggestøyl  <simenheg@gmail.com>
60708         Add fragmentation module to CSS property list
60710         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
60711         CSS Fragmentation Module Level 3.
60713 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
60715         * doc/lispref/sequences.texi: Add documentation for seq-map-indexed
60717 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
60719         New function seq-map-indexed
60721         * lisp/emacs-lisp/seq.el (seq-map-indexed): New function.
60722         * test/lisp/emacs-lisp/seq-tests.el: Add tests for seq-map-indexed.
60724 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60726         * lisp/gnus/mm-util.el: Remove the mm-string-as-multibyte alias.
60728 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60730         Fix problem with wrong encoding of non-ASCII message bodies
60732         * lisp/gnus/mml.el (mml-generate-mime-1): Disable
60733         multibyteness before encoding the data.
60735 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60737         Remove codepage setup code from mm-util
60739         * lisp/gnus/mm-util.el (mm-codepage-setup): Remove.
60740         (mm-codepage-iso-8859-list): Remove.
60741         (mm-codepage-ibm-list, mm-setup-codepage-iso-8859)
60742         (mm-setup-codepage-ibm): Remove.
60743         (mm-charset-eval-alist): Remove the code pages from the
60744         default value.
60746 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60748         Remove compat code for older Emacsen
60750         * lisp/gnus/gnus-art.el (gnus-button-url-regexp): Remove
60751         XEmacs compat code.
60753         * lisp/gnus/gnus-sync.el (gnus-sync-json-alist-p): Remove
60754         unused compat function.
60755         (gnus-sync-json-plist-p): Ditto.
60757         * lisp/gnus/message.el (message-default-charset): Make obsolete.
60758         (message-info): Remove compat code.
60759         (message-setup-fill-variables): Remove kludge needed earlier
60760         to not overwrite `normal-auto-fill-function'.
60761         (message-split-line): Remove compat code.
60763         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Remove
60764         compat code.
60766 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60768         Remove some compat functions from gmm-utils.el
60770         * lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Remove
60771         compat code.
60772         (gmm-image-search-load-path): Remove.
60773         (gmm-image-load-path-for-library): Remove.
60775 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60777         Remove the gmm-lazy and nnmail-lazy compat widgets
60779         * lisp/gnus/gmm-utils.el (gmm-lazy): Remove.
60781         * lisp/gnus/nnmail.el (nnmail-lazy): Remove.
60783 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60785         Clean up nnimap-request-move-article slightly
60787         * lisp/gnus/nnheader.el (subr-x): Require.
60789         * lisp/gnus/nnimap.el (nnimap-request-move-article): Clean up
60790         the code slightly.
60792 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60794         Use open-network-stream instead of open-protocol-stream
60796         * lisp/gnus/nnimap.el: Use open-network-stream instead of
60797         open-protocol-stream.
60799         * lisp/gnus/nntp.el: Ditto.
60801         * lisp/gnus/pop3.el: Ditto.
60803         * lisp/net/sieve-manage.el: Ditto.
60805         * lisp/net/network-stream.el (open-protocol-stream): Make obsolete.
60807 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60809         Remove compat code that relies on (featurep 'mule)
60811         * lisp/gnus/gnus-group.el (gnus-group-name-decode): Remove
60812         compat code.
60814         * lisp/gnus/gnus-start.el (gnus-read-descriptions-file):
60815         Remove compat code.
60817         * lisp/gnus/mm-bodies.el (mm-decode-body, mm-decode-string):
60818         Remove compat code.
60820         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
60821         Remove compat code.
60822         (mm-w3m-standalone-supports-m17n-p): Ditto.
60824 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60826         Remove compat functions from starttls.el
60828         * lisp/net/starttls.el
60829         (starttls-set-process-query-on-exit-flag): Remove.
60831 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60833         Remove compat functions from smime.el
60835         * lisp/gnus/smime.el (smime-replace-in-string): Remove.
60836         (smime-make-temp-file): Remove.
60838 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60840         Remove compat code from smiley
60842         * lisp/gnus/smiley.el (smiley-style): Remove compat code.
60844 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60846         Remove compat code from rfc2047
60848         * lisp/mail/rfc2047.el (rfc2047-encode-message-header): Remove
60849         compat code.
60850         (rfc2047-decode-string): Ditto.
60852 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60854         Remove compat function from pop3
60856         * lisp/gnus/pop3.el (pop3-set-process-query-on-exit-flag): Remove.
60858 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60860         Remove compat code in Gnus backends
60862         * lisp/gnus/nndiary.el (nndiary-error): Remove.
60864         * lisp/gnus/nndraft.el (nndraft-request-associate-buffer): Ditto.
60866         * lisp/gnus/nnfolder.el (nnfolder-read-folder): Ditto.
60868         * lisp/gnus/nnheader.el (nnheader-find-file-noselect): Ditto.
60870         * lisp/gnus/nnimap.el (nnimap-log-buffer): Remove compat code.
60872 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60874         Remove compat code from some mml files
60876         * lisp/gnus/mml-sec.el (mml-secure-passphrase-cache-expiry):
60877         Remove compat code.
60879         * lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query):
60880         Always use `mail-extract-address-components', since this isn't
60881         time critical.
60882         (mml-smime-get-dns-cert): Ditto.
60884         * lisp/gnus/mml.el (mml-preview): Remove compat code.
60886 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60888         Remove compat code and compat functions from mm-util.el
60890         * lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): Remove
60891         compat code.
60892         (mm-coding-system-priorities)
60893         (mm-mule-charset-to-mime-charset, mm-charset-after)
60894         (mm-mime-charset, mm-iso-8859-x-to-15-region): Remove compat code.
60895         (mm-detect-coding-region): Define unconditionally.
60896         (mm-detect-mime-charset-region): Ditto.
60897         (mm-coding-system-to-mime-charset): It's 'mime-charset now.
60898         (coding-system-name)
60899         (find-file-coding-system-for-read-from-filename)
60900         (find-operation-coding-system): Remove aliases.
60902 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60904         Remove some compat code from mm-*.el
60906         * lisp/gnus/mm-bodies.el (mm-decode-body): Ditto.
60908         * lisp/gnus/mm-decode.el (mm-tmp-directory)
60909         (mm-valid-image-format-p): Remove compat code.
60911         * lisp/gnus/mm-url.el (mm-url-insert-file-contents): Remove
60912         "Connection" "Close" workaround for older Emacsen.
60914 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60916         Remove compat code and functions from message.el
60918         * lisp/gnus/message.el (message-send-mail-function): Remove
60919         compat code.
60920         (message-dont-reply-to-names, message-mode)
60921         (message-setup-fill-variables, message-fill-paragraph)
60922         (message-remove-blank-cited-lines, message-make-from)
60923         (message-forward-rmail-make-body, message-tool-bar-gnome)
60924         (message-tab): Remove compat code.
60925         (message-completion-in-region): Remove.
60926         (message-read-from-minibuffer): Remove compat code.
60928 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60930         Declare rfc1843 instead of autoloading
60932         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Declare
60933         instead of autoload.
60935 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
60937         Avoid signaling an error in 'dired-do-find-regexp-and-replace'
60939         * lisp/dired-aux.el: Require cl-lib, so that 'cl-mapcan' is
60940         autoloaded correctly.  (Bug#22613)
60942 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
60944         Fix network-stream-tests.el for MS-Windows
60946         * test/lisp/net/network-stream-tests.el
60947         (connect-to-tls-ipv6-nowait): Skip for MS-Windows builds.
60948         (connect-to-tls-ipv4-wait): Add a 0.1 sleep-for.
60950 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60952         Remove some Message compat functions
60954         * lisp/gnus/message.el (message-kill-all-overlays): Define
60955         unconditionally.
60956         (message-window-inside-pixel-edges): Remove.
60957         (mail-dont-reply-to): Remove.
60959 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60961         Remove some Gnus compat code
60963         * lisp/gnus/gnus-art.el (gnus-mime-inline-part): Remove compat code.
60964         (gnus-mm-display-part): Ditto.
60966         * lisp/gnus/gnus-start.el (gnus-dribble-read-file): Remove
60967         compat code.
60969 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60971         Sort groups before inserting them into the group buffer
60973         * lisp/gnus/gnus-group.el (gnus-group-describe-all-groups):
60974         Sort groups before inserting them.
60976 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60978         Make "unseen" tracking work again in Gnus
60980         * lisp/gnus/gnus-sum.el (gnus-update-marks): Make "unseen"
60981         tracking work again.
60983 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60985         Remove Gnus compat functions defined in gnus.el
60987         * lisp/gnus/gnus.el (gnus-extent-detached-p): Remove.
60988         (gnus-extent-start-open, gnus-character-to-event)
60989         (gnus-assq-delete-all, gnus-add-text-properties)
60990         (gnus-put-text-property, gnus-key-press-event-p):
60992 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60994         Remove compat code from gnus-uu and win
60996         * lisp/gnus/gnus-util.el (gnus-image-type-available-p): Remove
60997         compat code.
60999         * lisp/gnus/gnus-uu.el (gnus-uu-tmp-dir): Remove compat code.
61001         * lisp/gnus/gnus-win.el (gnus-frames-on-display-list): Remove.
61003 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61005         Remove several gnus-util compat functions
61007         * lisp/gnus/gnus-util.el (gnus-set-process-query-on-exit-flag): Remove.
61008         (gnus-read-shell-command): Remove.
61009         (gnus-match-substitute-replacement): Remove.
61010         (gnus-string-match-p): Remove.
61011         (gnus-string-prefix-p): Remove.
61013 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61015         Remove the gnus-merge alias
61017         * lisp/gnus/gnus-util.el (gnus-merge): Remove.
61019 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61021         Remove the gnus-union alias
61023         * lisp/gnus/gnus-util.el (gnus-union): Remove.
61025 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61027         Remove the gnus-delete-alist alias
61029         * lisp/gnus/gnus-util.el (gnus-run-mode-hooks): Remove compat code.
61030         (gnus-delete-alist): Remove.
61032 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61034         Remove the gnus-float-time alias
61036         * lisp/gnus/gnus-util.el (gnus-completion-styles): Remove
61037         compat code.
61038         (gnus-float-time): Remove.
61040 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61042         Remove compat code from gnus-srvr, start and sum
61044         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Remove
61045         compat code.
61047         * lisp/gnus/gnus-start.el (gnus-check-reasonable-setup):
61048         Remove compat code.
61050         * lisp/gnus/gnus-sum.el (gnus-summary-display-arrow)
61051         (gnus-summary-make-menu-bar, gnus-summary-make-tool-bar)
61052         (gnus-recenter)
61053         (gnus-summary-limit-strange-charsets-predicate)
61054         (gnus-summary-show-thread): Remove compat code.
61056 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61058         Remove compat code from gnus-spec.el
61060         * lisp/gnus/gnus-spec.el (gnus-lrm-string-p): Remove compat code.
61061         (gnus-balloon-face-function): Remove compat code.
61063 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61065         Fix compat change in last check-in
61067         * lisp/gnus/gnus-group.el
61068         (gnus-group-name-charset-group-alist): `find-coding-system'
61069         doesn't exist in Emacs.
61071 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61073         Always use url-queue
61075         * lisp/gnus/gnus-html.el (gnus-html-schedule-image-fetching):
61076         Always use url-queue.
61078 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61080         Remove compat functions from gnus-html.el
61082         * lisp/gnus/gnus-html.el (gnus-html-encode-url-chars): Remove.
61084 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61086         Remove compat code from gnus-group.el
61088         * lisp/gnus/gnus-group.el (gnus-group-name-charset-group-alist)
61089         (gnus-group-make-tool-bar, gnus-group-update-tool-bar): Remove compat code.
61091 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61093         Define gnus-diary-kill-entire-line unconditionally
61095         * lisp/gnus/gnus-diary.el (gnus-diary-kill-entire-line):
61096         Define unconditionally.
61098 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61100         Remove compat code from gnus-cache and gnus-bookmark
61102         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map): Ditto.
61104         * lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-name):
61105         Remove compat code.
61107 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61109         Remove compat code from gnus-art.el
61111         * lisp/gnus/gnus-art.el (gnus-article-prepare)
61112         (gnus-mime-copy-part, gnus-output-to-file)
61113         (gnus-article-reply-with-original)
61114         (gnus-button-handle-apropos-variable)
61115         (gnus-button-handle-apropos-documentation):
61117 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61119         Remove compat code from gnus-agent.el
61121         * lisp/gnus/gnus-agent.el (gnus-agent-make-mode-line-string):
61122         Remove compat code.
61124 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61126         Rewrite gmm-labels usage to use cl-labels
61128         * lisp/gnus/gmm-utils.el (gmm-tool-bar-style): Remove compat code.
61129         (gmm-labels): Remove.
61131 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61133         Remove compat code from canlock.el
61135         * lisp/gnus/canlock.el (defmacro): Remove
61137 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61139         Remove compat code from auth-source
61141         * lisp/gnus/auth-source.el (auth-source-read-char-choice):
61142         Remove compat code.
61144 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61146         Fix gnus-group.el compilation warnings about unprefixed variables
61148         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): Avoid
61149         compilation warnings by passing in the dynamic variables as
61150         explicit lexical parameters to `eval'.
61152 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61154         Fix the :tracker slot name
61156         * lisp/gnus/registry.el (registry-lookup-secondary): The
61157         `tracker' slot is called `tracker', not `:tracker'.
61159 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61161         Fix compilation warnings in gnus-art.el
61163         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Autoload.
61164         (gnus-article-hide): Avoid compilation warnings.
61166 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61168         Fix compilation warning in gnus-score.el
61170         * lisp/gnus/gnus-score.el (gnus-art): Require to silence byte
61171         compiler.
61173 2016-02-12  Andreas Schwab  <schwab@linux-m68k.org>
61175         Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
61177         This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e.
61179         This makes nnimap groups not be activated.
61181 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61183         Fix encoding problem introduced by previous patch series
61185         * lisp/mail/rfc2047.el: Ditto (bug#22648).
61187         * lisp/mail/rfc2231.el: Fix problem created by the
61188         mm-replace-in-string conversion.
61190 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
61192         Revert "Avoid defvarring prefix-less variables"
61194         This reverts commit 303390bda34f98b400798d5383cf0d722e35ba19.
61196         The defvars are needed if we're doing lexical-binding
61198 2016-02-12  Glenn Morris  <rgm@gnu.org>
61200         * test/lisp/url/url-auth-tests.el (url-auth-test-digest-auth):
61201         Make it pass.
61203         * test/lisp/url/url-auth-tests.el
61204         (url-auth-test-digest-auth-retrieve-cache): Fix obvious typo.
61206 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61208         Finish up cl-defmethoding registry,el
61210         * lisp/gnus/registry.el (initialize-instance): Use cl-defmethod.
61212 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61214         Revert the gnus-replace-in-string change, fix arguments, reapply
61216 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61218         Silence more message.el compilation warnings
61220         * lisp/gnus/message.el (message-generate-headers): Don't use
61221         variable values directly to get the header values, because
61222         that breaks with lexical binding (without unprefixed defvars).
61224 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61226         Fix various compilation warnings in message.el
61228         * lisp/gnus/message.el (message-fix-before-sending): Use
61229         read-multiple-choice instead of gnus-multiple-choice.
61230         (mm-util): Require.
61231         (rfc2047): Require.
61232         (message-remove-blank-cited-lines): Use message instead of
61233         gnus-message.
61234         (message-send): Use y-or-n-p instead of gnus-y-or-n-p.
61236 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61238         Silence compilation warning in mm-view
61240         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Silence
61241         compilation warning.
61243 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61245         Fix epg-related compilation warnings in mml-sec
61247         * lisp/gnus/mml-sec.el: Fix compilation warnings from the epg
61248         library.
61250 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61252         rmail-dont-reply-to-names is obsolete
61254         * lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Don't bind
61255         the obsolete `rmail-dont-reply-to-names' variable.
61257 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61259         Partially revert the defmethod->cl-defmethod change in registry.el
61261         * lisp/gnus/registry.el (initialize-instance): Use defmethod,
61262         since cl-defmethod doesn't work with :after.
61263         (initialize-instance): Ditto, but with :before.
61265 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61267         Avoid obsolete function in plstore
61269         * lisp/gnus/plstore.el (plstore--insert-buffer): Use setf
61270         instead of the obsolete epg-context-set-armor.
61272 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61274         Use cl-defmethod in registry.el
61276         * lisp/gnus/registry.el: Use cl-defmethod instead of the
61277         obsolete defmethod.
61279 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61281         Make sieve-manage require sasl
61283         * lisp/net/sieve-manage.el: Fix compilation warning by
61284         requiring sasl.
61286 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61288         Avoid defvarring prefix-less variable
61290         * lisp/gnus/mm-uu.el (mm-uu-entry): Rename from `entry'.
61292 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61294         * lisp/gnus/mailcap.el: Remove usage of mailcap-delete-duplicates.
61296 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61298         Don't use the obsolete char-valid-p function
61300         * lisp/gnus/mm-url.el (mm-url-decode-entities): Don't use the
61301         obsolete char-valid-p function.
61303 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61305         Fix missed translation in a previous commit
61307         * lisp/gnus/mailcap.el (mailcap-mime-types): Fix missed
61308         translation of mailcap-delete-duplicates.
61310 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61312         Avoid using mm-make-temp-file
61314         * lisp/gnus/mail-source.el (mail-source-delete-crash-box): Ditto.
61316         * lisp/gnus/mm-decode.el (mm-display-external): Ditto.
61318         * lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Ditto.
61320 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61322         Fix compilation warning in gnus-start
61324         * lisp/gnus/gnus-start.el (gnus-slave-save-newsrc): Avoid
61325         mm-make-temp-file.
61327 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61329         Avoid the obsoleted defmethod
61331         * lisp/gnus/gnus-icalendar.el: Use cl-defmethod instead of
61332         defmethod.
61334 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61336         Avoid defvarring prefix-less variables
61338         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): We
61339         don't need to `defvar' the short variables to allow `eval' to
61340         use them.
61342 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61344         nnweb doesn't need unibyte buffers
61346         * lisp/gnus/nnweb.el (nnweb-retrieve-headers)
61347         (nnweb-read-overview, nnweb-request-article)
61348         (nnweb-google-reference): Unibyte buffers are not needed here.
61350 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61352         Encode before sending from nnspool
61354         * lisp/gnus/nnspool.el (nnspool-request-post): Encode data
61355         before sending it to the news server.
61357 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61359         nnrss buffers don't have to be unibyte
61361         * lisp/gnus/nnrss.el (nnrss-insert): The buffer doesn't have
61362         to be unibyte just to receive data, I think.
61364 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61366         Don't use mm-with-unibyte-current-buffer in mml2015
61368         * lisp/gnus/mml2015.el (mml2015-mailcrypt-encrypt): Don't use
61369         mm-with-unibyte-current-buffer.
61371 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61373         Don't use mm-with-unibyte-current in mml1991
61375         * lisp/gnus/mml1991.el (mml1991-epg-sign): Don't use
61376         mm-with-unibyte-current.
61378 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61380         Don't use mm-with-unibyte-current in mml1991
61382         * lisp/gnus/mml1991.el (mml1991-pgg-sign): Don't use
61383         mm-with-unibyte-current.
61385 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61387         Don't use mm-with-unibyte-buffer in utf7
61389         * lisp/international/utf7.el (utf7-fragment-encode): Don't use
61390         mm-with-unibyte-buffer.
61392 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61394         Remove XEmacs compat code from Gnus helper libraries
61396         * lisp/gnus/plstore.el (plstore-called-interactively-p): Remove.
61398         * lisp/gnus/pop3.el (pop3-make-date): Remove XEmacs compat.
61400         * lisp/gnus/sieve-mode.el: Remove XEmacs compat.
61402         * lisp/gnus/spam-stat.el (spam-stat-called-interactively-p): Remove.
61404 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61406         Remove XEmacs compat code from Gnus backends
61408         * lisp/gnus/mm-view.el (mm-inline-image-xemacs): Remove.
61409         (mm-inline-image): Rename from mm-inline-image-emacs.
61411         * lisp/gnus/mml.el: Remove XEmacs compat code.
61413         * lisp/gnus/nnheader.el: Remove XEmacs compat code.
61415         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Remove
61416         XEmacs compat code.
61418         * lisp/gnus/nnir.el (nnir-run-gmane): Remove XEmacs compat code.
61420         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system): Remove
61421         XEmacs compat code.
61423         * lisp/gnus/nnmairix.el: Remove XEmacs compat code.
61425         * lisp/gnus/nnrss.el: Remove XEmacs compat code.
61427         * lisp/gnus/nntp.el: Remove XEmacs compat code.
61429 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61431         Remove XEmacs compat functions from mm-util.el
61433         * lisp/gnus/mm-util.el (mm-special-display-p): Remove.
61434         (mm-decode-coding-string, mm-encode-coding-string)
61435         (mm-decode-coding-region, mm-encode-coding-region): Remove.
61436         (mm-string-to-multibyte): Remove.
61437         (mm-char-or-char-int-p): Remove.
61438         (mm-ucs-to-char): Remove compat versions of the function.
61439         (mm-read-coding-system): Remove.
61440         (mm-coding-system-p): Remove compat code.
61441         (mm-enrich-utf-8-by-mule-ucs): Remove.
61442         (mm-enable-multibyte, mm-disable-multibyte): Remove compat versions.
61443         (mm-delete-duplicates): Remove.
61444         (mm-multibyte-p): Remove compat versions.
61445         (mm-xemacs-find-mime-charset-1): Remove.
61446         (mm-xemacs-find-mime-charset): Remove.
61447         (mm-make-temp-file): Made obsolete.
61448         (mm-find-buffer-file-coding-system): Remove XEmacs compat.
61450 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
61452         Remove Message and mm-decode XEmacs compat code
61454         * lisp/gnus/message.el: Remove XEmacs compat code.
61456         * lisp/gnus/mm-decode.el (mm-create-image-xemacs): Remove.
61458         * lisp/gnus/mm-util.el: Remove some XEmacs compat code.
61460 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
61462         Remove som XEmacs compat code from message.el
61464         * lisp/gnus/message.el: Remove some XEmacs compat code.
61466 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
61468         Remove XEmacs compat code from ietf-drums.el
61470         * lisp/mail/ietf-drums.el (ietf-drums-syntax-table): Drop
61471         XEmacs compat.
61473 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
61475         Remove XEmacs compat code from gravatar.el
61477         * lisp/gnus/gravatar.el: Remove XEmacs compat code from
61478         gravatar.el.
61480 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
61482         Remove more XEmacs compat code from Gnus
61484         * lisp/gnus/gnus-util.el (gnus-bound-and-true-p): Remove.
61485         (gnus-timer--function): Remove.
61487         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Remove XEmacs
61488         19.2 compat.
61490         * lisp/gnus/gnus-win.el: Remove XEmacs compat code.
61492 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
61494         Remove more XEmacs compat functions from gnus-util.el
61496         * lisp/gnus/gnus-util.el (gnus-put-display-table): Remove.
61497         (gnus-get-display-table): Remove.
61498         (gnus-format-message): Remove.
61500 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
61502         Remove more XEmacs compat functions from Gnus
61504         * lisp/gnus/gnus-util.el (gnus-next-char-property-change): Remove.
61505         (gnus-previous-char-property-change): Remove.
61506         (gnus-graphic-display-p): Remove.
61507         (gnus-select-frame-set-input-focus): Remove.
61509 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
61511         Remove more XEmacs compat code from gnus-util
61513         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
61514         all its usages).
61515         (gnus-invisible-p): Remove.
61517 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
61519         Remove gnus-make-local-hook
61521         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
61522         all its usages).
61524 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
61526         gnus-replace-in-string -> replace-regexp-in-string
61528         * lisp/gnus/gnus-util.el (gnus-replace-in-string): Declare
61529         obsolete.  Transform all usages of it into
61530         replace-regexp-in-string.
61532         * lisp/gnus/mailcap.el (mailcap-replace-in-string): Remove.
61534 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
61536         Remove Gnus XEmacs compat
61538         * lisp/gnus/gnus-start.el (gnus-dribble-enter): Remove comment
61539         about code that doesn't work in XEmacs.
61541         * lisp/gnus/gnus-sum.el: Remove XEmacs compat.
61543         * lisp/gnus/gnus-topic.el: Remove XEmacs compat.
61545 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
61547         Remove compat functions in gnus-spec.el
61549         * lisp/gnus/gnus-spec.el (gnus-string-width-function): Remove.
61550         (gnus-substring-function): Remove.
61551         (gnus-use-correct-string-widths): Remove.
61552         (gnus-make-format-preserve-properties): Remove.
61553         (gnus-xmas-format): Remove.
61555         * lisp/gnus/gnus-srvr.el (gnus-server-mode): Remove XEmacs compat.
61557 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
61559         Remove Gnus XEmacs compat functions
61561         * lisp/gnus/gnus-registry.el: Remove XEmacs compat.
61563         * lisp/gnus/gnus-salt.el: Remove XEmacs compat.
61565         * lisp/gnus/gnus-score.el (gnus-decay-score): Remove XEmacs compat.
61567 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
61569         Remove Gnus XEmacs compatibility
61571         * lisp/gnus/gnus-demon.el (gnus-demon-idle-since): Remove
61572         XEmacs compat.
61574         * lisp/gnus/gnus-dired.el: Remove XEmacs compat.
61576         * lisp/gnus/gnus-draft.el: Remove XEmacs compat.
61578         * lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): Remove
61579         XEmacs compat.
61581         * lisp/gnus/gnus-group.el: Remove XEmacs compat.
61583         * lisp/gnus/gnus-html.el: Remove XEmacs compat.
61585         * lisp/gnus/gnus-ml.el: Remove XEmacs compat.
61587         * lisp/gnus/gnus-picon.el (gnus-picon-style): Remove XEmacs comment.
61589 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
61591         Don't use image-map if it isn't defined
61593         * lisp/net/shr.el (shr-image-map): Only use image-map as a
61594         parent if it's defined (bug#22614).
61596 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
61598         Check for MagickAutoOrientImage
61600         * configure.ac: Check for MagickAutoOrientImage.
61602         * src/image.c (imagemagick_load_image): Don't use
61603         MagickAutoOrientImage unless it's available.
61605 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
61607         Document EXIF image rotation
61609         * doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation.
61611 2016-02-10  Dima Kogan  <dima@secretsauce.net>
61613         Support integer image rotation and respect EXIF rotations
61615         * src/image.c (imagemagick_load_image): Allow integer rotations in
61616         addition to floating point rotations (bug#22591).
61617         * src/image.c (imagemagick_load_image): Images that have an
61618         orientation given in EXIF and have no explicit :rotation tag are now
61619         pre-rotated.  All information such as width/height is reported for the
61620         rotated image.
61622 2016-02-10  Wolfgang Jenkner  <wjenkner@inode.at>
61624         * lisp/net/shr.el (image-map): Defvar it.  (Bug#22614)
61626 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61628         * lisp/gnus/gnus-cite.el: Remove XEmacs compat code.
61630 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61632         Remove compat code from gnus-bookmark.el
61634         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-mouse-available-p): Remove.
61635         (gnus-bookmark-remove-properties): Remove.
61637 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61639         Remove XEmacs compat code from gnus-a*.el
61641         * lisp/gnus/gnus-agent.el: Remove compat code.
61643         * lisp/gnus/gnus-art.el: Remove compat code.
61645         * lisp/gnus/gnus-async.el: Remove compat code.
61647 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61649         Remove gmm compat functions
61651         * lisp/gnus/gmm-utils.el (gmm-image-search-load-path): Remove.
61652         (gmm-write-region): Remove.
61653         (gmm-called-interactively-p): Remove.
61655 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61657         * lisp/gnus/ecomplete.el: Remove XEmacs compat code.
61659 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61661         Remove compat code from compface.el
61663         * lisp/image/compface.el: Remove XEmacs compat code throughout.
61665 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61667         Remove the now empty gnus-ems.el and references to it
61669 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61671         Remove Gnus compat names for mouse bindings
61673         * lisp/gnus/gnus-ems.el (gnus-widget-button-keymap): Remove.
61674         (gnus-down-mouse-2): Remove.
61675         (gnus-down-mouse-3): Remove.
61677 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61679         Drop Gnus compat functions
61681         * lisp/gnus/gnus-ems.el (gnus-mule-max-width-function): Remove.
61683         * lisp/gnus/gnus-util.el (gnus-kill-all-overlays): Move here.
61685         * lisp/gnus/gnus.el (gnus-mode-line-modified): Remove.
61687 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61689         Get rid of gnus-ems-redefine
61691         * lisp/gnus/gnus-ems.el (gnus-mouse-face-prop): Remove.
61693 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61695         * lisp/gnus/gnus-spec.el: Move definition here from gnus-ems.el.
61697 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61699         Remove Gnus compat code
61701         * lisp/gnus/gnus-ems.el (gnus-ems-redefine): Remove
61702         transitional code from ten years ago.
61704 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61706         Allow interactively scaling past :max-width etc
61708         * lisp/image.el (image--current-scaling)
61709         (image--image-without-parameters): New functions.
61710         (image--change-size): Use them to allow changing the size of a
61711         image even if it has :width/:max-width (etc.) already set.
61713 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61715         * lisp/gnus/mm-decode.el (shr-image-map): Compilation fix.
61717 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61719         Allow accessing the image commands via shr
61721         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Allow
61722         accessing the image commands.
61724         * lisp/net/shr.el (shr-image-map): New map used for images.
61725         (shr-urlify): Don't overwrite image maps when applying URL maps.
61727 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61729         Use a sparse image keymap
61731         * lisp/image.el (image-map): Use a sparse keymap.
61733 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61735         Put a keymap on images created with insert-image and friends
61737         * lisp/image.el (image-save): New command.
61738         (image-rotate): Ditto.
61739         (image-map): New keymap.
61740         (insert-image): Put the image-map on all images.
61741         (insert-sliced-image): Ditto.
61742         * doc/lispref/display.texi (Showing Images): Document the
61743         image map.
61745 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61747         Fix some folding issues in read-multiple-choice
61749         * lisp/subr.el (read-multiple-choice): Fix folding when you
61750         have many items.
61752 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61754         Fix typo in last checkin
61756 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61758         Remove Gnus compat functions
61760         * lisp/gnus/gnus-ems.el (gnus-mark-active-p)
61761         (gnus-region-active-p, gnus-select-lowest-window)
61762         (gnus-summary-display-table, gnus-max-width-function): Remove
61763         compat functions.
61765 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61767         Move non-compat Gnus functions to gnus-util.el
61769         * lisp/gnus/gnus-util.el (gnus-remove-image, gnus-put-image)
61770         (gnus-create-image, gnus-image-type-available-p): Move here
61771         from gnus-ems.el, since these aren't compat functions.
61773 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
61775         Omit valloc decl if redundant
61777         * src/gmalloc.c (valloc): Omit decl if malloc.h is included,
61778         to pacify --enable-gcc-warnings.
61780 2016-02-09  Wolfgang Jenkner  <wjenkner@inode.at>
61782         Restore the calloc family.
61784         * src/gmalloc.c (calloc, gcalloc, hybrid_calloc): Restore definitions.
61785         They were lost in a4817d8 but calloc is still (marginally) used in
61786         code statically liked with emacs, so hybrid_calloc is needed.
61787         Also, in the non-hybrid case, we can't get rid of calloc anyway as
61788         other libraries liked with emacs may need it.
61789         * src/conf_post.h: Restore redefinition of calloc to hybrid_calloc.
61791 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
61793         Remove some Gnus compat functions
61795         * lisp/gnus/gnus-ems.el (gnus-string-mark-left-to-right)
61796         (gnus-window-inside-pixel-edges, gnus-set-process-plist)
61797         (gnus-process-plist, gnus-process-get, gnus-process-put): Remove.
61799 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
61801         -
61803         -
61805 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
61807         Merge from origin/emacs-25
61809         4feb962 * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring
61810         cc419fb Don't inloop gnus-uu-mark-thread on the last thread
61811         51c77a2 Display non-ASCII group names better in prompts
61812         f93d669 Default to gpg2 instead of gpg
61814 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
61816         Merge from origin/emacs-25
61818         9ffe7dd * lisp/isearch.el (isearch-define-mode-toggle): Improve logic
61819         16140f7 * lisp/menu-bar.el (menu-bar-options-menu): New search submenu
61820         3db6adb * lisp/isearch.el (search-default-mode)
61821         4ea1ea7 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
61822         c77ffc8 Use monitor's resolution for positioning tooltips
61823         49e5749 Fix file-notify-test on MS-Windows
61824         be1d874 Fix issues found by auditing w32notify code
61825         87ae218 Extend etags Ruby support for accessors
61826         aa35257 Update publicsuffix.txt.
61827         6816bff Ensure that Gnus dribble handling allows removing entries
61828         691feae Be consistent when using encoded strings in nnimap data
61829         3ed423b Display the decoded Gnus group name
61830         5428b5b Use completion-ignore-case instead of defining command
61832 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
61834         Merge from origin/emacs-25
61836         1eaf68f * test/automated/file-notify-tests.el (file-notify-test06-many-events):
61837         d333716 ; * etc/NEWS: Expand news entry for scss-mode
61838         c32c16f ; Better document changes in ls-lisp default behavior
61839         dc6eed2 Fix doc string of tls-program
61841 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
61843         Merge from origin/emacs-25
61845         2c117fc * etc/NEWS: Document new mpc.el features
61846         71a0496 * lisp/custom.el (defface): Revert indentation change.  (Bug#22524)
61847         9dfece1 Correctly fontify C++ initializations which "look like" functions.
61848         4485222 Improve newsticker-treeview-selection-face
61849         4236944 Minor fix in tagging Ruby accessors by etags
61850         35fc77d Spelling fixes
61851         3dda110 Remove 'def X' from the example
61853 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
61855         Fix network-stream-tests on MS-Windows
61857         * test/lisp/net/network-stream-tests.el (make-local-unix-server):
61858         Skip if local sockets are not supported.
61860 2016-02-09  Michael Albinus  <michael.albinus@gmx.de>
61862         * admin/notes/bug-triage: Fix bug priorities.  Explain colors in debbugs-gnu.
61864 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
61866         Disable 'timer-list'
61868         * lisp/emacs-lisp/timer-list.el: Make 'timer-list' a disabled
61869         command.
61871 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
61873         Avoid aligned_alloc static/extern collision
61875         * src/alloc.c (aligned_alloc): Define to private name when a
61876         static function, to avoid collision with lisp.h extern decl.
61877         Reported by John Yates in:
61878         https://lists.gnu.org/r/emacs-devel/2016-02/msg00439.html
61880 2016-02-08  David Edmondson  <dme@dme.org>
61882         src/process.c Correctly convert AF_INET6 addresses
61884         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
61885         converted to a list of 16 bit quantities by
61886         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
61887         same scheme rather than expecting a (longer) list of 8 bit
61888         quantities.
61890 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
61892         Make `message-beginning-of-line' aware of folded headers
61894         * lisp/gnus/message.el (message-beginning-of-header): New function which
61895         moves point to the beginning of a mail header.  The function is aware of
61896         folded headers and with non-nil argument looks for the true beginning of
61897         a header while with nil argument moves to the indented text of header's
61898         value.
61899         (message-beginning-of-line): Function is now aware of folded headers and
61900         either moves point to the indention of a header or, in visual-line-mode,
61901         searches for the beginning of the header.
61903 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
61905         Optimize ‘point in message header’ check
61907         * lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
61908         regular expression matches with a single bound string match thus
61909         reducing amount of work the function is doing.
61911 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
61913         Make the `R' command get the correct relative <img>s
61915         * lisp/net/eww.el (eww-readable): Preserve the base URL so
61916         that image expansions are fetched from the right place (bug#22605).
61918 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
61920         Add a mode to list and cancel timers
61922         * doc/lispref/os.texi (Timers): Menton `timer-list'.
61924         * lisp/emacs-lisp/timer-list.el: New file.
61926 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
61928         Add new commands to allow changing the size of images
61930         * lisp/image.el (image-increase-size, image-decrease-size):
61931         New commands.
61932         (image-change-size): New function.
61934 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
61936         Allow the image scale to be a floating point number
61938         * src/image.c (compute_image_size): The scale can be a
61939         floating point number.
61941 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
61943         Add an IPv6 test
61945         * test/lisp/net/network-stream-tests.el
61946         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
61948 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
61950         Use gnutls-serv instead of openssh
61952         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
61953         gnutls-serv instead of openssh.
61955 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
61957         Skip TLS tests if we don't have openssl
61959         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
61960         TLS tests if we don't have openssl and GnuTLS.
61962 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
61964         Add an IPv6 test
61966         * test/lisp/net/network-stream-tests.el
61967         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
61969 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
61971         Use gnutls-serv instead of openssh
61973         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
61974         gnutls-serv instead of openssh.
61976 2016-02-08  Daniel Colascione  <dancol@dancol.org>
61978         Performance improvements for vc-hg
61980         Teach vc-hg how to read some Mercurial internal data structures,
61981         allowing us to avoid the need to run hg status -A, which is very slow
61982         for large repositories.  Fall back to running hg if anything looks
61983         funny.  vc-hg now puts the _working directory_ revision in the
61984         modeline instead of the file revision, which greatly improves
61985         performance and which allows us to again skip running hg in the case
61986         that we have an active bookmark.
61988         * lisp/vc/vc-hg.el (vc-hg-state): Try calling `vc-hg-statefast'
61989         (vc-hg-symbolic-revision-styles)
61990         (vc-hg-use-file-version-for-mode-line-version)
61991         (vc-hg-parse-hg-data-structures): New user preferences
61992         (vc-hg--active-bookmark-internal, vc-hg--run-log)
61993         (vc-hg--symbolic-revision, vc-hg-mode-line-string)
61994         (vc-hg--read-u8, vc-hg--read-u32-be)
61995         (vc-hg--raw-dirstate-search, vc-hg--cached-dirstate-search)
61996         (vc-hg--parts-to-string, vc-hg--pcre-to-elisp-re)
61997         (vc-hg--glob-to-pcre, vc-hg--hgignore-add-pcre)
61998         (vc-hg--hgignore-add-glob, vc-hg--hgignore-add-path)
61999         (vc-hg--slurp-hgignore-1, vc-hg--slurp-hgignore)
62000         (vc-hg--ignore-patterns-valid-p)
62001         (vc-hg--ignore-patterns-ignored-p, vc-hg--time-to-fixnum)
62002         (vc-hg--file-ignored-p, vc-hg--read-repo-requirements)
62003         (vc-hg--requirements-understood-p, vc-hg--dirstate-scan-cache)
62004         (vc-hg-state-fast): New functions.
62005         (vc-hg--hgignore-patterns, vc-hg--hgignore-filenames)
62006         (vc-hg--cached-ignore-patterns, vc-hg--dirstate-scan-cache)
62007         (vc-hg--dirstate-scan-cache): New internal variables.
62008         * lisp/vc/vc-hooks.el (vc-refresh-state): Invoke vc find-file-hook
62009         before updating modeline.
62011 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
62013         Skip TLS tests if we don't have openssl
62015         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
62016         TLS tests if we don't have openssl and GnuTLS.
62018 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
62020         Automatically scale images up on high-density screens
62022         * doc/lispref/display.texi (ImageMagick Images): Mention :scale.
62023         (Defining Images): Mention image-scaling-factor.
62025         * lisp/image.el (image-compute-scaling-factor): New function
62026         (bug#22172).
62027         (create-image): Use it.
62028         (image-scaling-factor): New variable.
62030         * src/image.c (compute_image_size): Take :scale into account.
62032 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
62034         Ensure progress when fetching from the queue
62036         * lisp/url/url-queue.el (url-queue-check-progress): Ensure
62037         that we have progress when fetching queued requests (bug#22576).
62039 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
62041         Make mail-extract-address-components return the user name more
62043         * lisp/mail/mail-extr.el (mail-extract-address-components):
62044         Return the name even if it's the same as the mailbox name (if
62045         `mail-extr-ignore-single-names' isn't set) (bug#22594).
62047 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
62049         Message no longer warns about unknown top level domains
62051 2016-02-07  Jarno Malmari  <jarno@malmari.fi>
62053         Add tests for url-auth
62055         * test/lisp/url/url-auth-tests.el: New file.
62057 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
62059         Add a TLS connection test
62061         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
62062         a TLS connection test.
62064 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
62066         Add more network tests
62068         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
62069         New test.
62071 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
62073         Add network tests
62075         * test/lisp/net/network-stream-tests.el: New suite of network tests.
62077 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
62079         Add a TLS connection test
62081         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
62082         a TLS connection test.
62084 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
62086         Add more network tests
62088         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
62089         New test.
62091 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
62093         Add network tests
62095         * test/lisp/net/network-stream-tests.el: New suite of network tests.
62097 2016-02-07  Rasmus Pank Roulund  <rasmus@gmx.us>
62099         Allow various Gnus and Message address variables to be functions
62101         * doc/misc/gnus.texi (To From Newsgroups):
62102         gnus-ignored-from-addresses can be a function.
62104         * doc/misc/message.texi (Wide Reply):
62105         message-dont-reply-to-names can be a function.
62107         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-identities):
62108         message-alternative-emails can be a function.
62110         * lisp/gnus/gnus-notifications.el (gnus-notifications):
62111         message-alternative-emails can be a function (bug#22315).
62113         * lisp/gnus/gnus-sum.el
62114         (gnus-summary-from-or-to-or-newsgroups):
62115         gnus-ignored-from-addresses can be a function (bug#22315).
62117 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
62119         Fix typo in Gnus regexp
62121         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Fix
62122         typo in last change to this regexp (bug#22592).
62124 2016-02-07  Paul Eggert  <eggert@cs.ucla.edu>
62126         Port to FreeBSD x86
62128         Reported by Herbert J. Skuhra in:
62129         https://lists.gnu.org/r/emacs-devel/2016-02/msg00336.html
62130         * src/lisp.h (NONPOINTER_BITS) [__FreeBSD__]: Zero in this case too,
62131         since malloc always returns a multiple of 8 in FreeBSD.
62133 2016-02-07  Alan Mackenzie  <acm@muc.de>
62135         On leaving CC Mode, clean up by removing character properties.
62137         * lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Remove from the buffer
62138         all instances of the text properties/extents category, syntax-table,
62139         c-is-sws, c-in-sws, c-type, and c-awk-NL-prop.
62141 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
62143         message-valid-fqdn-regexp no longer exists
62145         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Don't use
62146         the no-longer-existing message-valid-fqdn-regexp variable.
62148 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
62150         Remove message-valid-fqdn-regexp, since it changes too much now
62152         * lisp/gnus/message.el (message-valid-fqdn-regexp): Remove.
62153         (message-bogus-recipient-p): Don't use it any more.
62154         (message-make-fqdn): Ditto.  Suggested by Lars-Johan Liman.
62156 2016-02-06  Paul van der Walt  <paul@denknerd.org>
62158         Match "Re :" as a "Re:" prefix
62160         * lisp/gnus/message.el (message-subject-re-regexp): Also match
62161         "Re :" as a "Re:" prefix (commonly used in France).
62163 2016-02-06  Adam Sjøgren  <asjo@koldfront.dk>
62165         lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
62167         * lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
62169 2016-02-06  David Edmondson  <dme@dme.org>
62171         src/process.c Correctly convert AF_INET6 addresses
62173         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
62174         converted to a list of 16 bit quantities by
62175         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
62176         same scheme rather than expecting a (longer) list of 8 bit
62177         quantities.
62179 2016-02-05  Martin Jesper Low Madsen  <martin@martinjlowm.dk>
62181         Search for host/port combinations in auth-source on OS X
62183         * lisp/gnus/auth-source.el (auth-source-macos-keychain-search):
62184         Search for all host/port (or protocol) combinations for a match in
62185         the OS X keychain.
62187 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
62189         Remove nonsensical setting of gnus-newsgroup-unseen
62191         * lisp/gnus/gnus-sum.el (gnus-update-marks): Remove nonsensical
62192         setting of gnus-newsgroup-unseen.
62194 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
62196         Use underline on all terminals that support it
62198         * lisp/subr.el (read-multiple-choice): Use
62199         display-supports-face-attributes-p instead of
62200         display-graphic-p to determine whether we can use underlining.
62202 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
62204         Make the nsm query say what it did after the user interaction
62206         * lisp/net/nsm.el (nsm-query): Issue a message about
62207         aborting/accepting messages (suggested by N. Jackson)
62208         (bug#22531).
62210 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
62212         Omit XLI (init) == 0 optimization in make-vector
62214         * src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init)
62215         == 0) case, as this optimization is probably not worth the hassle.
62216         Just for the record, the test for that case could have been
62217         (XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!),
62218         assuming the typical platform with no padding bits and where
62219         conversion to int omits the most significant bits.
62221 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
62223         * autogen.sh: Port to dash (Bug#22556).
62225 2016-02-05  Michael Albinus  <michael.albinus@gmx.de>
62227         Minor cleanup for Tramp "doas".
62229         * doc/misc/tramp.texi (Inline methods): Add "doas" method.
62231         * etc/NEWS: Add Tramp connection method "doas".
62233         * lisp/net/tramp-sh.el (tramp-methods) <doas>:
62234         Add `tramp-remote-shell-args'.
62236 2016-02-05  Xi Lu  <lx@shellcodes.org>
62238         * lisp/net/tramp-sh.el (tramp-methods) <doas>: Add.  (Bug#22542)
62240         (tramp-default-user-alist): Add rule for "doas".
62241         (top): Completion function for "doas" is
62242         `tramp-completion-function-alist-su'.
62244 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
62246         Restore the window configuration
62248         * lisp/net/nsm.el (nsm-query-user): Restore the window
62249         configuration (bug#22532).
62251 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
62253         Use an X popup in read-multiple-choice if running from a mouse command
62255         * lisp/subr.el (read-multiple-choice): Use an X popup if
62256         called from a mouse action (bug#19368).
62258 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
62260         Display cursor in echo area when prompting
62262         * lisp/subr.el (read-multiple-choice): Display the cursor in
62263         the echo area when prompting (bug#19368).
62265 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
62267         Make NSM prompting clearer
62269         * lisp/net/nsm.el (nsm-query-user): Use read-multiple-choice
62270         to prompt in a nicer way (bug#19368).
62272 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
62274         Underline read-multiple-choice-face
62276         * lisp/faces.el (read-multiple-choice-face): Also underline
62277         the choice.
62279 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
62281         Make url.el use async DNS
62283         * lisp/url/url-gw.el (url-open-stream): Use non-blocking DNS.
62285         * src/process.c (syms_of_process): Add a `dns' subfeature for
62286         make-network-process.
62288 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
62290         Only do async DNS if requested with :nowait 'dns
62292         * doc/lispref/processes.texi (Network Processes): Mention the
62293         dns value of :nowait.
62295         * src/process.c (Fmake_network_process): Only do async DNS if
62296         :nowait is `dns'.
62298 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
62300         Add sanity check for checking async DNS
62302         * src/process.c (check_for_dns): Disregard processes that have
62303         already been killed.
62305 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
62307         Make the read-multiple-choice prompt a bit prettier
62309         * doc/lispref/commands.texi (Reading One Event): Mention
62310         read-multiple-choice-face.
62312         * lisp/subr.el (read-multiple-choice): Make the prompting a bit
62313         prettier.
62315 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
62317         Prefer memcpy and memset to doing it by hand
62319         * src/alloc.c (Fmake_vector):
62320         * src/ccl.c (setup_ccl_program):
62321         Use memset to clear array.
62322         * src/alloc.c (Fvector, Fmake_byte_code):
62323         * src/charset.c (Fdefine_charset_internal):
62324         Use memcpy to copy array.
62326 2016-02-04  Nicolas Petton  <nicolas@petton.fr>
62328         Do not ignore redirections of 301, 302 and 307 status codes
62330         The current version of HTTP/1.1 (RFC 7231) no longer requires
62331         confirmation on 301, 302 or 307 status codes, therefore we do not have
62332         to ignore redirects for other requests than GET and HEAD.
62334         * lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
62335         and 307 redirects for other requests than GET and HEAD.
62337 2016-02-04  Mark Oteiza  <mvoteiza@udel.edu>
62339         * lisp/net/eww.el (eww-switch-to-buffer): Use pop-to-buffer-same-window instead.
62341 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
62343         Simplify USE_ALIGNED_ALLOC
62345         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify, now that we’ve merged
62346         in the emacs-25 changes.  Omit no-longer-needed decl for aligned_alloc.
62348 2016-02-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
62350         Honor docstring of gnus-group-get-new-news
62352         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg
62353         is t, but non-numeric, unconditionally consider all groups to need
62354         updating.
62356 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
62358         New function read-multiple-choice
62360         * doc/lispref/commands.texi (Reading One Event): Document
62361         read-multiple-choice.
62363         * lisp/faces.el (read-multiple-choice-face): New face.
62365         * lisp/subr.el (read-multiple-choice): New function.
62367 2016-02-03  John Wiegley  <johnw@newartisans.com>
62369         Merge from origin/emacs-25
62371         ee73997 Make erc work better when encountering unknown prefix chars
62372         b99141d Make erc completion case-insensitive again
62373         66c4620 Make complection in erc use consistent casing
62374         8c562b2 Make /QUIT in erc more robust
62375         d93d2c5 Make tracking faces in Emacs work more reliably
62376         af6ab7e Make shr not bug out on images on non-graphical displays
62377         3311f40 Fix bookmark display widths
62378         d90ab1e Fix typo in eww-make-unique-file-name
62379         7f81825 Make it possible to TAB to input fields
62380         a43a1dc Insert complete alt texts when images are disabled
62381         56ed4e1 Allow eww text fields to grow
62382         66b315c Make erc work when subword-mode is switched on
62383         255b68f Fix IMAP doc example
62384         91557f5 Quoting fixes in doc strings and diagnostics
62385         2c0dc9f Fix warning message in hack-local-variables
62386         504696d Etags: yet another improvement in Ruby tags
62387         8784ebf Fix x-popup-menu on TTYs without a mouse
62388         8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the
62389                 pcase macro
62390         6191003 Use pop-to-buffer-same-window in eww
62391         fe321fd * autogen.sh: Revert all recent changes.
62392         74ebd4a * make-dist: Updates related to nt/.
62393         737193a * make-dist: Add modules/.
62394         3696bf2 * make-dist: Update for super-special file that can't live in etc/.
62395         a4278e2 Fix failure to compile ns-win.el in parallel builds
62396         860da4d Fix names of tags generated for Ruby accessors
62397         f6213ce Fix file-name recognition in 'etags'
62398         e42e662 Change Ruby file names and extensions recognized by 'etags'
62399         58bfb6a More improvements for Ruby support in 'etags'
62400         c04e911 Add --git-config option to autogen.sh
62401         5713466 Fix editing undo changes in eww fields
62402         51362d6 Allow the user more control of popping up the eww window
62403         ee0fbd8 Make eww-browse-url with new-window parameter work again
62404         9c3142d Clean up eww code slightly
62405         cb035f3 Don't insert nil faces in shr
62406         4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary.
62407         93f2153 Improve the custom type of some user options.
62408         9f60d7e Mark some risky calendar variables.
62409         1d07dcd Highlight two additional SCSS keywords
62410         ee8b466 Recommend enabling integrity-checking in git
62411         e639e10 Some corrections in Elisp manual
62412         d766ca8 Chatter when autogen.sh changes Git configuration
62413         3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
62414         43cb9f8 Omit unnecessary history from Lisp intro
62415         2fbd1da * etc/HISTORY: Add some more history, plus git tags.
62416         c90e1b4 Improve elisp “Security Considerations” doc
62417         cedd7ca autogen.sh now arranges for git to check hashes
62418         86ce76b ; Fix ChangeLog.2 commit ID.
62419         7b1d2b1 Fix (c & 040) typo in emergency escapes
62420         a8273da Fix display of overlay strings with 'display' and 'box' property
62421         fc48106 Fix imap-starttls-open
62422         cdecbed Fix return value of imap-starttls-open
62423         20c7e34 ; * etc/NEWS: Fix renamed command name
62424         98bdbdb Correct reference to DARWIN_OS preprocessor symbol
62425         b250d29 Spelling fix
62426         b920a0e Spelling fixes
62427         93b144b Pacify GCC on C library without glibc API
62429 2016-02-03  John Wiegley  <johnw@newartisans.com>
62431         Merge from origin/emacs-25
62433         ea26c8a * lisp/net/browse-url.el (browse-url-default-browser): Lower
62434                 priority of non-free Chrome.
62435         0fac75f Improve the custom type of some user options.
62436         2df0e04 Highlight CSS variables with variable name face
62437         3cf5e81 * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not
62438                 user-serviceable.
62439         2a5233c Mark some user options that can get evalled as risky.
62440         39b166f Disable DebPrint in sys_read on MS-Windows
62441         9fd0189 ;Fix ChangeLog entry
62442         4bb7233 Fix typos in Introduction to Emacs Lisp manual
62444 2016-02-03  Mark Oteiza  <mvoteiza@udel.edu>
62446         Add a new command to switch between erc buffers
62448         * doc/misc/eww.texi: Document eww-switch-to-buffer and its keybinding
62449         * etc/NEWS: Mention new command
62450         * lisp/net/eww.el (eww-mode-map): Bind eww-switch-to-buffer to "s"
62451         (eww-mode-map): Add menu item
62452         (eww-switch-to-buffer): New command
62454 2016-02-03  David Edmondson  <dme@dme.org>
62456         Make erc work better when encountering unknown prefix chars
62458         * lisp/erc/erc.el (erc-channel-receive-names): Output a warning
62459         instead of erroring out on unknown prefix chars (bug#22380).
62461 2016-02-03  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
62463         Allow sending empty hidden values in eww
62465         * lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
62466         values (bug#22388).
62468 2016-02-03  Andrew Hyatt  <ahyatt@gmail.com>
62470         Remove packages obsoleted before Emacs 24.
62472         In accordance with the policy discussed in the emacs-devel list,
62473         packages that have been obsoleted for a full major release cycle are up
62474         for deletion.
62476         This removes almost all packages that are now eligible for deletion,
62477         with the exception of "cl-compat", which seems it is likely to still be
62478         used, and "optional", which offers some functionality that doesn't have
62479         a replacement yet.
62481 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
62483         Mention context when resume from emergency escape
62485         That way, if the user has been doing something else for a while,
62486         they are reminded of the situation when restarting Emacs,
62487         and are more likely to understand the two questions.
62488         * doc/emacs/trouble.texi (Emergency Escape): Document this.
62489         * src/keyboard.c (handle_interrupt): Implement this.
62491 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
62493         Port aligned_alloc decl to Cygwin.
62495         Problem reported by Ken Brown (Bug#22522#38).
62496         * configure.ac (aligned_alloc): Check for decl too.
62497         * src/lisp.h (aligned_alloc): Declare if not already declared.
62499 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
62501         autogen.sh now configures git only on request
62503         * autogen.sh (do_autoconf, do_git): New vars.
62504         Support new arguments --help, all, autoconf, git.
62505         By default, just do autoconf-related configuration, not git.
62506         Prefer 'echo' to 'cat <<EOF ...', as this tends to avoid temp files.
62507         If GNU cp is available, use it to backup .git/config before
62508         changing it.  When configuring git, chatter about what is being
62509         done, and configure git to check hashes.  Avoid some duplicate
62510         file name specification when creating git hooks.
62512         * GNUmakefile (ALL_IF_GIT): New macro.
62513         (configure): Use it.
62514         * INSTALL.REPO: Suggest './autogen.sh all'.
62516 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
62518         Doc fixes and refactorings based on comments from Eli Zaretskii
62520         * doc/lispref/processes.texi (Network Processes): Clarify the
62521         meaning of :tls-parameters.
62523         * lisp/net/gnutls.el (open-gnutls-stream): Clarify :nowait.
62525         * lisp/net/gnutls.el (gnutls-boot-parameters): Factor out into
62526         own function.
62527         (gnutls-negotiate): Use it.
62528         (open-gnutls-stream): Ditto.
62530         * src/eval.c (vformat_string): Refactor out the printing bits
62531         from verror.
62532         (verror): Use it.
62534         * src/gnutls.c (boot_error): Mark failed processes with the
62535         real error message.
62537         * src/lisp.h: Declare vformat_string.
62539 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
62541         Build with C11 if available
62543         * admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
62544         * m4/std-gnu11.m4: New file, from gnulib.
62545         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
62547 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
62549         Update gnulib copy
62551         * doc/misc/texinfo.tex: Copy from gnulib.
62553 2016-02-02  Glenn Morris  <rgm@gnu.org>
62555         * lisp/vc/add-log.el (change-log-directory-files, find-change-log):
62556         Doc tweaks.
62558 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
62560         Port better to platforms lacking aligned_alloc
62562         Problem reported by Ken Brown (Bug#22522).
62563         * src/lisp.h (hybrid_aligned_alloc)
62564         [HYBRID_MALLOC && !HAVE_ALIGNED_ALLOC]: New decl.
62566 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
62568         Port malloc.h hygiene fix to LTO
62570         * src/alloc.c (__malloc_initialize_hook):
62571         Make it externally visible (Bug#22522).
62573 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
62575         Build fix for --enable-check-lisp-object-type
62577         * src/process.c (check_for_dns): Type fix reported by YAMAMOTO
62578         Mitsuharu.
62580 2016-02-01  Glenn Morris  <rgm@gnu.org>
62582         Make find-change-log prefer a VCS root, if no ChangeLog exists.
62584         * lisp/vc/add-log.el (change-log-directory-files): New option.
62585         (find-change-log): Respect change-log-directory-files.
62586         * doc/emacs/maintaining.texi (Change Log Commands):
62587         Mention change-log-directory-files.
62589 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
62591         Boot parameter check fix
62593         * src/process.c (send_process): Fix test for boot parameters noted
62594         by Andy Moreton.
62596 2016-02-01  Paul Eggert  <eggert@cs.ucla.edu>
62598         Double static heap size.
62600         * src/sheap.h (STATIC_HEAP_SIZE): Double it, since it was too
62601         small on FreeBSD (Bug#22086).
62603 2016-02-01  Michael Albinus  <michael.albinus@gmx.de>
62605         Fix Bug#20821
62607         * lisp/net/tramp.el (tramp-file-name-handler):
62608         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
62609         Use `tramp-drop-volume-letter'.  (Bug#20821)
62611 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
62613         Style fix
62615 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
62617         Return the correct server port number
62619         * src/process.c (connect_network_socket): Return the correct
62620         server port number.
62622 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
62624         Fix autoconf test for getaddrinfo_a
62626         * configure.ac: Make the test for getaddrinfo_a work.
62628 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
62630         Better async error reporting
62632         * src/process.c (connect_network_socket): Mark failed processes
62633         with a better error message.
62634         (check_for_dns): Ditto.
62636 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
62638         Clarify :tls-parameters.
62640 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
62642         Always boot TLS if given parameters
62644         * src/process.c (connect_network_socket): If we have the TLS
62645         parameters, then boot the socket.
62647 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
62649         Add documentation for :tls-parameters
62651         * doc/lispref/processes.texi (Network Processes): Mention
62652         :tls-parameters.
62654         * src/process.c (Fmake_network_process): Document the
62655         :tls-parameters parameter.
62657 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
62659         Build fix for glibc systems.
62661 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
62663         Make network connections work again on non-glibc systems
62665         * lisp/net/gnutls.el (open-gnutls-stream): Pass the TLS
62666         keywords in directly so that they can be used when doing
62667         synchronous DNS on non-synchronous connections.
62669         * lisp/net/network-stream.el (open-network-stream): Allow
62670         passing in the TLS parameters directly.
62672         * src/process.c (conv_numerical_to_lisp): New function to convert
62673         numerical addresses to Lisp.
62674         (Fmake_network_process): Rework the non-HAVE_ADDRINFO code
62675         paths so that they work again.
62676         (syms_of_process): Build fix for non-glibc systems.
62678 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
62680         Windows build fix
62682         * src/process.c (Fmake_network_process): Build fix for systems
62683         without local sockets.
62685 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
62687         Use XCAR/XCDR instead of Fcar etc
62689 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
62691         Fix GC problem in async TLS connection
62693         * src/process.h: All Lisp_Object slots have to come first,
62694         otherwise they won't be protected from gc.
62696 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
62698         Further TLS async work
62700         * src/gnutls.c (boot_error): New function to either signal an
62701         error or return an error code.
62702         (Fgnutls_boot): Don't signal errors when running asynchronously.
62704         * src/process.h (pset_status): Move here from process.c to be
62705         able to use from gnutls.c.
62707         * src/process.c (connect_network_socket): Do the TLS boot here
62708         when running asynchronously.
62709         (wait_reading_process_output): Rework the dns_processes
62710         handling for more safety.
62712 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
62714         Clean up dead code
62716         * lisp/net/gnutls.el (gnutls-async-sentinel): Remove.
62718 2016-01-31  Dave Barker  <kzar@kzar.co.uk>
62720         Add ability to give rcirc servers an alias name
62722         * lisp/net/rcirc.el (rcirc-server-alist): Add :server-alias
62723         customization option.
62724         (rcirc, rcirc-connect): Take server alias into account.
62726 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
62728         Port new hybrid malloc to FreeBSD
62730         Problem reported by Wolfgang Jenkner in: https://bugs.gnu.org/22086#118
62731         * src/gmalloc.c (__malloc_initialize_hook, __after_morecore_hook)
62732         (__morecore) [HYBRID_MALLOC]: Define in this case too.
62734 2016-01-31  Wolfgang Jenkner  <wjenkner@inode.at>
62736         * configure.ac: Stop using mmap for buffers for FreeBSD.
62738 2016-01-31  Michael Albinus  <michael.albinus@gmx.de>
62740         Merge changes from Tramp repository
62742         * doc/misc/Makefile.in (${buildinfodir}/tramp.info tramp.html):
62743         No EXTRA_OPTS needed.
62745         * doc/misc/tramp.texi: Merge changes from Emacsemacs-25
62746         branch, especially for @trampfn{}.
62747         (Top): Move @ifnottex down.
62748         (History): XEmacs support has been removed.
62749         (GVFS based methods, Remote processes): Do not use emacsgvfs flag.
62750         (Auto-save and Backup): Use both syntax versions.
62751         (File name Syntax): Remark on IPv6 adresses is valid for
62752         unified syntax only.
62754         * doc/misc/trampver.texi: Do not set emacsgvfs flag.
62756 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62758         Spelling fixes
62760 2016-01-30  Glenn Morris  <rgm@gnu.org>
62762         * lisp/vc/add-log.el (find-change-log): Use locate-dominating-file.
62764 2016-01-30  Matthew Carter  <m@ahungry.com>
62766         Quote table names for postgres listings (sql-mode)
62768         * lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
62769           unquoted table names to the completion list.
62771 2016-01-30  Glenn Morris  <rgm@gnu.org>
62773         Change Smerge "Mine" and "Other" for "Upper" and "Lower.  (Bug#20878)
62775         * lisp/vc/smerge-mode.el (smerge-diff-switches)
62776         (smerge-context-menu, smerge-match-conflict, smerge-swap): Doc fixes.
62777         (smerge-upper, smerge-upper-face, smerge-keep-upper)
62778         (smerge-diff-base-upper): Rename from smerge-mine, smerge-mine-face,
62779         smerge-keep-mine, smerge-diff-base-mine.  Update all uses.
62780         (smerge-mine-face, smerge-other-face): Remove obsolete face aliases.
62781         (smerge-lower, smerge-lower-face, smerge-lower-re, smerge-keep-lower)
62782         (smerge-diff-base-lower): Rename from smerge-other, smerge-other-face,
62783         smerge-other-re, smerge-keep-other, smerge-diff-base-lower.
62784         Update all uses.
62785         (smerge-basic-map): Add "l" and "u" bindings.
62786         (smerge-mode-menu): Update menu bindings for renaming.
62787         (smerge-font-lock-keywords): Update face names.
62788         (smerge-match-names): Update names.
62789         (smerge-diff-upper-lower): Rename from smerge-diff-mine-other.
62790         (smerge-match-conflict, smerge-ediff): Rename local variables.
62791         (smerge-makeup-conflict): Relabel markers.
62792         (smerge-parsep-re): Use renamed variables.
62794 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62796         Port recent my_edata change to MS-Windows
62798         * src/lastfile.c (my_edata): Also define if WINDOWSNT.
62800 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
62802         Rework the mechanisms for async GnuTLS connections
62804         * lisp/net/gnutls.el (open-gnutls-stream): Compute the
62805         gnutls-boot parameters and pass them to the process object.
62806         (gnutls-negotiate): New parameter :return-keywords that won't
62807         connect to anything, just compute the keywords.
62809         * lisp/url/url-http.el (url-http): Revert async TLS sentinel
62810         hack, which is no longer necessary.
62812         * src/gnutls.c (Fgnutls_asynchronous_parameters): Rename from
62813         gnutls-mark-process.
62815         * src/process.c (connect_network_socket): If we're connecting to
62816         an asynchronous TLS socket, complete the GnuTLS boot sequence here.
62818         * src/process.h: New parameter gnutls_async_parameters.
62820 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
62822         Fix segfault from double free
62824         * src/process.c (check_for_dns): Protect against double free
62825         issues.
62827 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
62829         Remove debugging
62831 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
62833         Implement asynchronous GnuTLS connections
62835         * doc/misc/emacs-gnutls.texi (Help For Developers): Mention
62836         the nowait parameter.
62838         * lisp/net/gnutls.el (open-gnutls-stream): Allow asynchronous
62839         connections with the new nowait parameter.
62841         * lisp/net/network-stream.el (network-stream-open-tls): Pass
62842         on :nowait to open-gnutls-stream.
62844         * lisp/url/url-http.el (url-http): Don't overwrite the
62845         sentinel created by open-gnutls-stream.
62847         * src/gnutls.c (Fgnutls_mark_process): New function.
62849         * src/process.c (send_process): Don't write to GnuTLS sockets that
62850         haven't been initialized yed.
62852         * src/process.h: New slot gnutls_wait_p.
62854 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62856         Tell Automake the new lib/Makefile.am is OK
62858         * lib/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
62860 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62862         Make it easy to override preferred-branch test
62864         * Makefile.in (preferred-branch-is-current):
62865         Rename from emacs-25-branch-is-current.  All uses changed.
62866         (PREFERRED_BRANCH): New macro.
62868 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62870         Shrink static heap a bit
62872         * src/sheap.h: Include lisp.h, for Lisp_Object.
62873         (STATIC_HEAP_SIZE): Now an enum constant, not a macro.
62874         Make it 2 MiB * sizeof (Lisp_Object), which is a bit more
62875         conservative than the old value.
62876         (Bug#22086)
62878 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62880         Fix extern symbols defined and not used
62882         * src/alloc.c: Always include <signal.h>.
62883         (malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]:
62884         Do not define; unused.
62885         * src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static.
62886         * src/gmalloc.c (gdefault_morecore): Rename from __default_morecore,
62887         to avoid collision with glibc.  Now static.  All uses changed.
62888         * src/lastfile.c (my_edata): Define only if
62889         ((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined
62890         WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS).
62891         (Bug#22086)
62893 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62895         Build lib/e-*.o only on platforms that need it
62897         * configure.ac (hybrid malloc): Simplify configuration.
62898         (SHEAP_OBJ): Remove; no longer needed.
62899         (HYBRID_MALLOC): New var. Subst it.
62900         (HYBRID_MALLOC_LIB): New Automake conditional.
62901         * lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if
62902         HYBRID_MALLOC_LIB.
62903         (libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed.
62904         (MOSTLYCLEANFILES): Add libegnu.a.
62905         * src/Makefile.in (SHEAP_OBJ): Remove.
62906         (HYBRID_MALLOC): New macro.
62907         (base_obj): Use it to conditionally add sheap.o.
62908         (LIBEGNU_ARCHIVE): New macro.
62909         ($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a.
62910         All uses of the latter replaced by the former.
62911         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration.
62912         Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC.
62913         * src/gmalloc.c: Update comment.
62914         * src/lisp.h (aligned_alloc)
62915         [!DOUG_LEA_MALLOC && !HYBRID_MALLOC && !SYSTEM_MALLOC]:
62916         New decl.
62917         (Bug#22086)
62919 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62921         Include <malloc.h> when advisable
62923         This should help insulate us better from future glibc changes.
62924         It is good hygiene to include .h files for APIs that Emacs uses.
62925         Fix type clashes between Emacs and GNU <malloc.h> (Bug#22086).
62926         * configure.ac: Check for malloc.h.
62927         * src/alloc.c: Include <malloc.h> depending on HAVE_MALLOC_H,
62928         not on DOUG_LEA_MALLOC.
62929         * src/emacs.c, src/gmalloc.c (malloc_enable_thread):
62930         Remove decl (now in lisp.h).
62931         * src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t.
62932         [emacs]: Include lisp.h.
62933         [HAVE_MALLOC_H]: Include <malloc.h>.
62934         (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
62935         (__after_morecore_hook, __malloc_initialize_hook, __morecore)
62936         (__default_morecore):
62937         [!HAVE_MALLOC_H]: New decls near non-inclusion of <malloc.h>.
62938         (calloc): Make it clear that the macro should not be used.
62939         Remove unused decl.
62940         (malloc_info): New macro, to avoid clash with glibc <malloc.h>.
62941         (__morecore, __default_morecore, __after_morecore_hook)
62942         (__malloc_extra_blocks, __malloc_initialize_hook, __free_hook)
62943         (__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings):
62944         Remove later decls.
62945         (gmalloc_hook, gfree_hook, grealloc_hook):
62946         Rename from __malloc_hook, __free_hook, __realloc_hook to
62947         avoid type collision with glibc <malloc.h>.  All uses changed.
62948         (gmalloc_hook):
62949         (__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]:
62950         Now static.
62951         (gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC].
62952         (__malloc_initialize_hook, __after_morecore_hook):
62953         Declare with types compatible with glibc.
62954         (__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]:
62955         Remove.  All uses removed.
62956         * src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls.
62957         * src/ralloc.c, src/vm-limit.c:
62958         Simplify includes and include <malloc.h> if available.
62960 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62962         * src/alloc.c: Include "sheap.h".
62964         (alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]:
62965         Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin.
62966         * src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]:
62967         Declare unconditionally.
62968         * src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl.
62969         (unexec): Don’t set or clear bss_sbrk_did_unexec;
62970         the caller now does this.
62971         (Bug#22086)
62973 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62975         Pacify --enable-gcc-warnings when HYBRID_MALLOC
62977         * src/buffer.c (init_buffer):
62978         * src/emacs.c (main):
62979         * src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
62980         Use emacs_get_current_dir_name, not get_current_dir_name.
62981         * src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro.
62982         (HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove.
62983         * src/emacs.c: Include "sheap.h".
62984         (report_sheap_usage): Remove decl.
62985         (Fdump_emacs) [HYBRID_MALLOC]: Report usage directly.
62986         Don't assume ptrdiff_t can be printed as int.
62987         * src/gmalloc.c [HYBRID_MALLOC]:
62988         Include "sheap.h" rather than declaring its contents by hand.
62989         (get_current_dir_name, gget_current_dir_name)
62990         (hybrid_get_current_dir_name): Remove.
62991         (emacs_abort): Remove duplicate decl.
62992         (aligned_alloc): Undef, like malloc etc.
62993         (ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro.
62994         Make it a bit more efficient.
62995         (malloc_find_object_address): Remove unused decl.
62996         (enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats)
62997         (mstats, memory_warnings): Declare only if GC_MCHECK.
62998         * src/lisp.h (emacs_get_current_dir_name):
62999         New decl, replacing get_current_dir_name.
63000         * src/sheap.c: Include sheap.h first.
63001         (STATIC_HEAP_SIZE): Remove; now in sheap.h.
63002         (debug_sheap): Now static.
63003         (bss_sbrk_buffer_end): Remove; no longer used.
63004         (bss_sbrk_ptr): Now static and private.
63005         (bss_sbrk_did_unexec): Now bool.
63006         (BLOCKSIZE): Remove, to avoid GCC warning about its not being used.
63007         (bss_sbrk): Don't treat request_size 0 as special, since the code
63008         works without this being a special case.
63009         Avoid overflow if request size exceeds INT_MAX.
63010         (report_sheap_usage): Remove; now done in emacs.c.
63011         * src/sheap.h: New file.
63012         * src/sysdep.c (get_current_dir_name): Remove macro.
63013         Include "sheap.h".
63014         (emacs_get_current_dir_name): Rename function from
63015         get_current_dir_name.  Handle HYBRID_MALLOC here;
63016         this is simpler.
63017         (Bug#22086)
63019 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
63021         Report static heap usage on non-Cygwin, too
63023         * src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ...
63024         * src/unexcw.c (unexec): ... instead of here, since sheap can be used
63025         on platforms other than Cygwin (Bug#22086).
63027 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
63029         Pacify GCC on extern decls
63031         * src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level
63032         to pacify recent GCC (Bug#22086).
63034 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
63036         Add musl patch to support HYBRID_MALLOC on elf systems
63038         * src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case.
63039         (__default_morecore): Here, in particular.
63040         * configure.ac: Define HYBRID_MALLOC when unexelf.o is used.
63041         New variable SHEAP_OBJ.
63042         * src/Makefile.in: Use it.
63043         (Bug#22086)
63045 2016-01-30  Rich Felker  <dalias@libc.org>  (tiny change)
63047         unexelf.c hook to support HYBRID_MALLOC on ELF
63049         * src/unexelf.c (unexec) [HYBRID_MALLOC]:
63050         Define bss_sbrk_did_unexec (Bug#22086).
63052 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
63054         Link temacs with gnulib compiled with -Demacs
63056         This is done to support HYBRID_MALLOC, since some static variables
63057         (e.g., last_environ in putenv.c) hold pointers to memory malloced
63058         before dumping (Bug#22086).
63059         * lib/Makefile.am: Add incantation to install libegnu.a.
63060         * src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
63061         (temacs$(EXEEXT)): Use it.
63063 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
63065         Internal linkage for gmalloc etc. if HYBRID_MALLOC
63067         This avoids clashes with symbols if the after-dump malloc is
63068         derived from Doug Lea's implementation (Bug#22086).
63070         * src/gmalloc.c (emacs_abort, __morecore, __default_morecore):
63071         Move declarations up.  For HYBRID_MALLOC, turn all `extern'
63072         declarations below to `static' ones.
63073         (aligned_alloc): Declare for !MSDOS as well.
63074         (heapsize, _fraghead): Move resp. copy declaration downwards.
63075         For HYBRID_MALLOC, conditionalize out the other definitions,
63076         since the previous `static' declarations double as tentative
63077         definitions, anyway.
63078         (_malloc, _free, _realloc, __free_hook, _aligned_blocks)
63079         (__realloc_hook, __memalign_hook): Conditionalize out.
63080         (cfree, memalign, valloc): Ditto.
63082 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
63084         -
63086         -
63088         -
63090 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
63092         Merge from origin/emacs-25
63094         3f481ad Rename xref-query-replace to xref-query-replace-in-results
63095         62f4ed4 Update cl-defgeneric and cl-defmethod docstrings
63096         2111e0e Comment out next-error-function integration in xref
63097         4e11ad3 Correct a use of "which" in intro.texi
63098         a1865bc Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
63099         76045f7 Don't operate on menu bar of nonexistent frame
63100         c32f3bc Unbreak the GNUstep build.
63102 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
63104         -
63106         -
63108 2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>
63110         Re-enable checks in member, memql, delete to complain about non-lists
63112         * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
63114 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
63116         Clean up compilation warnings
63118 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
63120         Make async resolution more efficient
63122         * src/process.c (wait_reading_process_output): Use a list of
63123         process objects instead of looping through an array to check
63124         for name resolution.  This should be much faster.
63126 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
63128         More async memory leaks
63130         * src/process.c (check_for_dns): Free even more allocated async stuff.
63132 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
63134         Compilation for for systems with getaddrinfo_a
63136         * src/process.c (Fmake_network_process): Make stuff work again on
63137         systems with getaddrinfo_a.
63139 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
63141         Save correct server data
63143         * src/process.c (connect_network_socket): Save the correct contact
63144         info for servers.
63146 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
63148         Compilation for for non-GNU systems
63150         * src/process.c (Fmake_network_process): Make compilation work
63151         again on hosts that don't have getaddrinfo_a.
63153 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
63155         Avoid memory leaks in async DNS
63157         * src/process.c (check_for_dns): Free async DNS resources after
63158         they've been used.
63160 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
63162         * src/process.c (check_for_dns): Free the result data.
63164 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
63166         Fix server connections
63168         * src/process.c (Fmake_network_process): Make creating server
63169         listening ports work again.
63171 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
63173         Further make_network_process clean up
63175         * src/process.c (Fmake_network_process): Remove setting of unused
63176         family variable.
63178 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
63180         Clean up GETADDRINFO usage in make-network-process
63182         * src/process.c (Fmake_network_process): Clean up the GETADDRINFO
63183         handling.
63185 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
63187         Implement asynchronous name resolution
63189         * src/process.c (Fmake_network_process): Do asynchronous DNS
63190         lookups if we have getaddrinfo_a and the user requests :nowait.
63191         (check_for_dns): New function.
63192         (wait_reading_process_output): Check for pending name
63193         resolution in the idle loop.
63195         * src/process.h: Add structure for async DNS.
63197 2016-01-28  Glenn Morris  <rgm@gnu.org>
63199         Remove some useless-use-of eval.
63201         * lisp/gnus/gnus.el (gnus-load-hook): Don't use eval.
63202         * lisp/gnus/nnrss.el (xml): Simply require it.
63203         (xml-rpc-method-call): Use declare-function.
63205 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
63207         Fix memory leak
63209         * src/process.c (connect_network_socket): Free previous sockaddr
63210         before allocating a new one.
63212 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
63214         Return IP addresses in the correct order
63216         * src/process.c (Fmake_network_process): Return the IP addresses
63217         in the same order as getaddrinfo does.
63218         (set_network_socket_coding_system): Clean up the code slightly.
63220 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
63222         Add checks for getaddrinfo_a
63224         * configure.ac: Detect getaddrinfo_a.
63226 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
63228         Refactor make_network_process
63230         * src/process.c (set_network_socket_coding_system)
63231         (connect_network_socket): Refactor out of
63232         make_network_process to allow calling connect_network_socket
63233         asynchronously.
63234         (Fmake_network_process): Do nothing but parsing the parameters
63235         and name resolution, leaving the connection to
63236         connect_network_socket.
63238 2016-01-28  Glenn Morris  <rgm@gnu.org>
63240         * lisp/emacs-lisp/bytecomp.el (byte-compile-nogroup-warn):
63241         Warn if defcustom has no type.  (Bug#16276)
63243 2016-01-27  Glenn Morris  <rgm@gnu.org>
63245         * test/lisp/vc/vc-hg-tests.el: Move from test/automated/.
63247 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
63249         (rng-c-fix-escaped-newlines): Use subst-char-in-string
63251         * lisp/nxml/rng-cmpct.el (rng-c-fix-escaped-newlines):
63252         Use subst-char-in-string.
63254 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
63256         * lisp/textmodes/sgml-mode.el (sgml-forward-sexp): New function
63258         (sgml-cursor-sensor, sgml-pretty-print, sgml-parse-tag-backward)
63259         (sgml-calculate-indent): Use it.
63261 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
63263         * lisp/org: Fix some compiler warnings
63265         * lisp/org/ob-core.el (org-babel-check-confirm-evaluate)
63266         (org-babel-map-src-blocks): Don't emit warnings if added vars are not used.
63267         (*this*): Declare as dyn-bound.
63268         (org-babel-expand-src-block, org-babel-load-in-session)
63269         (org-babel-switch-to-session-with-code, org-babel-get-rownames):
63270         Mark unused args.
63271         (org-babel-combine-header-arg-lists): Remove unused var `args'.
63272         (org-babel-find-named-block): Remove unused var `msg'.
63274         * lisp/org/org-src.el (org-inhibit-startup, org-src-fontify-natively):
63275         Declare as dyn-bound.
63276         (org-edit-src-code): Remove unused var `lfmt'.
63277         (org-edit-fixed-width-region): Remove unused var `preserve-indentation'.
63279 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
63281         * lisp/font-lock.el: Use #' to quote function symbols
63283 2016-01-23  Michael Albinus  <michael.albinus@gmx.de>
63285         Improve user name completion in Tramp
63287         * lisp/net/tramp.el (tramp-parse-passwd, tramp-parse-etc-group):
63288         Call also "getent passwd" or "getent group", if possible.
63289         (tramp-parse-putty): Cache the result.
63291 2016-01-22  Michael Albinus  <michael.albinus@gmx.de>
63293         * etc/NEWS: Move kqueue entries to Emacs 25.1 sections.
63295 2016-01-20  Glenn Morris  <rgm@gnu.org>
63297         Remove handling of non-string time-stamp formats, obsolete for 20 years.
63299         * lisp/time-stamp.el (time-stamp-format): Doc fix.
63300         (time-stamp-old-format-warn, time-stamp-fconcat): Remove.
63301         (time-stamp-string): Ignore non-string formats.
63303 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
63305         Anoter fix for problematic merge from emacs-25
63307         * src/w32fns.c (globals_of_w32fns): Move initialization of
63308         resetstkoflw to a non-Cygwin part.
63310 2016-01-20  Michael Albinus  <michael.albinus@gmx.de>
63312         * test/Makefile.in (mostlyclean): Use ${LOGFILES}.
63314 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
63316         Fix MS-Windows build broken by a botched merge from emacs-25
63318         * src/w32.c (w32_crypto_hprov): New static variable.
63319         (globals_of_w32): Initialize w32_crypto_hprov.
63320         (w32_init_crypt_random, w32_init_random): New functions.
63321         Include wincrypt.h.
63322         * src/w32.h (w32_init_random): Add prototype.
63324 2016-01-19  Vincent Belaïche  <vincentb1@users.sourceforge.net>
63326         Correct a whole bunch of bugs coming with renamed cell relocation.
63328         * lisp/ses.el (ses-localvars): rename variable
63329         `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
63330         and adjust the comment about it.
63331         (ses-plist-delq): new defun.
63332         (ses--ses-buffer-list): new defvar.
63333         (ses--unbind-cell-name): new defun.
63334         (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
63335         (ses-relocate-formula): Undo change of
63336         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
63337         preventing relocation for named cell --- now doing this is delegated
63338         to function `ses-relocate-symbol'.
63339         (ses-relocate-range): In docstring, undo change of
63340         2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
63341         lower case as it is not a variable.
63342         (ses-relocate-all): Cell name relocation : 1) check that cell is a
63343         renamed cell by testing `ses-cell' property to :ses-named, rather than
63344         comparing name to corresponding standard name. Set rowcol of renamed
63345         cell into the hashmap --- `ses-cell' property must not be used for
63346         that as the same name can be used for different locations in different
63347         SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
63348         `local-variable-p' to check if cell name is already in use in this
63349         sheet or needs initialization.
63350         (ses-relocate-all): Cell value relocation : 1) like for name
63351         relocation use the `ses-cell' property rather than comparing actual
63352         name to corresponding standard name. 2) Correct bug introduced in
63353         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
63354         made the other way round than the intention --- ie value relocation
63355         was disabled for standard cell, not for renamed cell as was the
63356         intention.
63357         (ses-relocate-all): Add loop for unbinding deleted renamed cells
63358         names.
63359         (ses-killbuffer-hook): new defun.
63360         (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
63361         kill buffer hook, plus pushing current buffer if new in list.
63362         (ses-delete-row, ses-delete-column): Collect deleted renamed cells
63363         into `ses--in-killing-named-cell-list'.
63364         (ses-rename-cell): Remove update of variable
63365         `ses--renamed-cell-symb-list', this variable is renamed to
63366         `ses--in-killing-named-cell-list', and its setting is done in
63367         functions `ses-delete-row' and , `ses-delete-column' now.
63368         (ses-rename-cell): Change correction of
63369         2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
63370         computation of the range over which `cursor-intangible' property was
63371         to be updated. This correction was ok for non spilling cells, but not
63372         for cells spilling over following blank cells. Simply use
63373         `next-single-property-change' rather than computing the end column
63374         from column widths.
63376 2016-01-18  John Wiegley  <johnw@newartisans.com>
63378         -
63380 2016-01-18  John Wiegley  <johnw@newartisans.com>
63382         Merge from origin/emacs-25
63384         3ae7934 ; * etc/NEWS: Mark entries that don't need further treatment.
63385         6165c36 * lisp/files.el (dir-locals--all-files): Respect absolute file-names
63386         2ffdf15 * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
63387         71ecd62 * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
63388         f0b82b3 * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
63389         86e4513 Fix incompatbilities with MS-Windows 2000 and older
63390         4e96521 Mention in PROBLEMS an issue with MS-Windows NT4
63391         15c23aa Ensure 8-byte aligned memory allocation on MS-Windows 9X
63392         39afa42 Fix tests for active region in hideif.el
63393         05df666 Fix interactive specs in some hideif.el commands
63395 2016-01-18  John Wiegley  <johnw@newartisans.com>
63397         -
63399 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
63401         Avoid stdio in SIGINT handler
63403         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
63404         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
63405         * lib/ignore-value.h: New file, from gnulib.
63406         * src/keyboard.c: Include it.
63407         (write_stdout, read_stdin): New functions.
63408         (handle_interrupt): Use them instead of printf and getchar,
63409         and avoid fflush when handling signals.
63411 2016-01-18  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
63413         Refactor mml-smime.el, mml1991.el, mml2015.el
63415         (Maybe this is the last merge from Gnus git to Emacs git)
63417         Cf. discussion on ding mailing list, messages in
63418         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
63419         Common code from the three files mml-smime.el, mml1991.el, and
63420         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
63421         to gnus-util.el.
63423         The code is supported by test cases with necessary test keys.
63425         Documentation in message.texi is updated.
63427         * doc/misc/message.texi (Security, Using S/MIME):
63428         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
63429         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
63430         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
63432         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
63433         New functions.
63435         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
63436         (epa--select-keys): Autoload.
63437         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
63438         (mml-secure-openpgp-signers): New user option;
63439         make mml1991-signers and mml2015-signers obsolete aliases to it.
63440         (mml-secure-smime-signers): New user option;
63441         make mml-smime-signers an obsolete alias to it.
63442         (mml-secure-openpgp-encrypt-to-self): New user option;
63443         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
63444         aliases to it.
63445         (mml-secure-smime-encrypt-to-self): New user option;
63446         make mml-smime-encrypt-to-self an obsolete alias to it.
63447         (mml-secure-openpgp-sign-with-sender): New user option;
63448         make mml2015-sign-with-sender an obsolete alias to it.
63449         (mml-secure-smime-sign-with-sender): New user option;
63450         make mml-smime-sign-with-sender an obsolete alias to it.
63451         (mml-secure-openpgp-always-trust): New user option;
63452         make mml2015-always-trust an obsolete alias to it.
63453         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
63454         New user options.
63455         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
63456         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
63457         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
63458         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
63459         (mml-secure-passphrase-callback, mml-secure-check-user-id)
63460         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
63461         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
63462         (mml-secure-fingerprint, mml-secure-filter-keys)
63463         (mml-secure-normalize-cust-name, mml-secure-select-keys)
63464         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
63465         (mml-secure-self-recipients, mml-secure-recipients)
63466         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
63468         * lisp/gnus/mml-smime.el: Require epg;
63469         refactor declaration and autoloading of epg functions.
63470         (mml-smime-use): Doc fix.
63471         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
63472         Obsolete.
63473         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
63474         Use format instead of gnus-format-message.
63475         (mml-smime-epg-secret-key-id-list): Remove variable.
63476         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
63477         (mml-smime-epg-find-usable-secret-key): Remove functions.
63478         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
63480         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
63481         (mml1991-passphrase-cache-expiry): Obsolete.
63482         (mml1991-epg-secret-key-id-list): Remove variable.
63483         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
63484         (mml1991-epg-find-usable-secret-key): Remove functions.
63485         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
63487         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
63488         (mml2015-passphrase-cache-expiry): Obsolete.
63489         (mml2015-epg-secret-key-id-list): Remove variable.
63490         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
63491         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
63492         (mml2015-epg-find-usable-secret-key): Remove functions.
63493         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
63494         (mml2015-epg-encrypt): Refactor.
63496 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
63498         Merge from gnulib
63500         This mostly just updates copyright dates of gnulib files.
63501         It also updates to the latest version of texinfo.tex.
63503 2016-01-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
63505         Move variables to inner loop, preparing for Mac port merge
63507         * src/keyboard.c (command_loop_1): Move variables `cmd',
63508         `keybuf', and `i' to inner loop.
63510 2016-01-17  Bill Wohler  <wohler@newt.com>
63512         * lisp/mh-e/mh-e.el (mh-version): Add +git to version.
63514 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
63516         * lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
63518         (syntax-ppss):
63519         * lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
63521 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
63523         lisp/nxml: Use syntax-tables for comments
63525         * lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
63526         (nxml-mode): Set syntax-ppss-table.
63527         Use sgml-syntax-propertize-function for syntax-propertize-function.
63528         Let font-lock highlight strings and comments.
63529         (nxml-degrade): Don't touch "nxml-inside" property any more.
63530         (nxml-after-change, nxml-after-change1): Remove functions.
63531         (comment): Don't set fontify rule any more.
63532         (nxml-fontify-attribute): Don't highlight the value any more.
63533         (nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
63534         (nxml-comment-delimiter, nxml-comment-content): Remove faces.
63536         * lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
63537         (nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
63538         (nxml-clear-inside, nxml-set-inside): Remove.
63539         (nxml-scan-after-change): Remove function.
63540         (nxml-scan-prolog, nxml-tokenize-forward): Simplify.
63541         (nxml-ensure-scan-up-to-date): Use syntax-propertize.
63542         (nxml-move-outside-backwards):
63543         * lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
63544         nxml-inside-start behavior.
63546         * lisp/nxml/nxml-util.el (nxml-debug-set-inside)
63547         (nxml-debug-clear-inside): Remove macros.
63549         * lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
63550         (xmltok-scan-after-comment-open): Simplify.
63552 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
63554         * lisp/progmodes/elisp-mode.el
63555         (elisp--font-lock-flush-elisp-buffers): Fix comment
63557 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
63559         * lisp/nxml: Use standard completion; it also works for company-mode
63561         * lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
63562         (nxml-completion-at-point-function): Remove.
63563         (nxml-mode): Don't set completion-at-point-functions.
63564         * lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
63565         (rng-completion-at-point): Rename from rng-complete and mark it
63566         non-interactive.  It is now to be used as completion-at-point-function.
63567         (rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
63568         (rng-complete-attribute-value): Don't perform completion, but return
63569         completion data instead.
63570         (rng-complete-qname-function, rng-generate-qname-list): Add a few
63571         arguments, previously passed via dynamic coping.
63572         (rng-strings-to-completion-table): Rename from
63573         rng-strings-to-completion-alist.  Don't return an alist.  Don't both
63574         sorting and uniquifying.
63576         * lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
63577         (rng-completion-exact-p, rng-quote-string): Delete functions.
63579         * lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
63580         (rng-missing-attributes-message, rng-missing-element-message)
63581         (rng-mark-missing-end-tags): Use explicit ".." in formats rather than
63582         calling rng-quote-string everywhere.
63584 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
63586         Use sgml-electric-tag-pair-mode also in nxml-mode
63588         * lisp/nxml/rng-nxml.el: Require sgml-mode.
63589         (rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
63590         (rng-complete-qname-function): Use complete-with-action.
63592         * lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
63593         Let-bind forward-sexp-function, since nxml-mode binds it to
63594         something incompatible.
63596         * lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.
63598 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
63600         * lisp/nxml/xmltok.el: Mark the "sole --" rather than the comment
63601         opener.
63603         * lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
63604         marker on the "sole --" rather than on the comment opener.
63606 2016-01-15  Sam Steingold  <sds@gnu.org>
63608         replace `tramp-compat-split-string' (removed) with `split-string'
63610         (python-shell-tramp-refresh-process-environment)
63611         (python-shell-calculate-pythonpath): use `split-string'
63612         instead of defunct `tramp-compat-split-string'
63614 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
63616         Update nXML to use Emacs's Unicode support, and lexical-binding
63618         * etc/nxml/*.el: Remove obsolete char-name files.
63619         * lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
63620         var `next'.
63621         * lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
63622         * lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
63623         * lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
63624         (nxml-target-section-pos, nxml-depth-in-target-section)
63625         (nxml-outline-state-transform-alist)
63626         (nxml-outline-display-section-tag-function): Move decl before first use.
63627         * lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
63628         (nxml-char-name-alist, nxml-char-name-table)
63629         (nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
63630         (nxml-enable-char-name-set, nxml-disable-char-name-set)
63631         (nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
63632         (nxml-define-char-name-set, nxml-get-char-name): Remove functions.
63633         (nxml-insert-named-char): Use read-char-by-name instead.
63634         (nxml-char-ref-display-extra): Use get-char-code-property.
63635         * lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
63636         Remove function.
63637         * lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.
63639 2016-01-15  Michael Albinus  <michael.albinus@gmx.de>
63641         Add "sg" method to Tramp
63643         * doc/misc/tramp.texi (Inline methods): Add "sg" method.
63644         (Customizing Completion): Add function `tramp-parse-etc-group'.
63646         * lisp/net/tramp-sh.el (tramp-methods) <sg>: Add.  (Bug#22329)
63647         (tramp-completion-function-alist-sg): New defconst.
63648         (top): Completion function for "sg" is
63649         `tramp-completion-function-alist-sg'.
63651         * lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
63652         (tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.
63654 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
63656         Remove XEmacs compatibility in Tramp
63658         * doc/misc/tramp.texi: Replace flags by their hard coded name.
63659         Remove unused flags and the enclosed alternative text for XEmacs.
63661         * doc/misc/trampver.texi: Use "Tramp" CamelCase.  Rename "emacs"
63662         and "xemacs" flags to "unified" and "separate".  Remove flags
63663         "emacsgw", "emacsname", "emacsdir", "ftppackagename",
63664         "emacsothername", "emacsotherdir" and "emacsotherfilename".
63665         (trampver):
63666         * lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".
63668         * lisp/net/tramp.el (bkup-backup-directory-info)
63669         (directory-sep-char, ls-lisp-use-insert-directory-program)
63670         (outline-regexp, tramp-backup-directory-alist)
63671         (tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
63672         (tramp-file-name-regexp-unified)
63673         (tramp-file-name-regexp-separate)
63674         (tramp-completion-file-name-regexp-unified)
63675         (tramp-completion-file-name-regexp-separate, tramp-chunksize)
63676         (tramp-get-method-parameter, tramp-find-method, tramp-find-user)
63677         (tramp-debug-message, tramp-progress-reporter-update)
63678         (with-tramp-progress-reporter)
63679         (tramp-rfn-eshadow-setup-minibuffer)
63680         (rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
63681         (tramp-rfn-eshadow-update-overlay)
63682         (rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
63683         (tramp-file-name-for-operation)
63684         (tramp-completion-file-name-handler)
63685         (tramp-autoload-file-name-handler, tramp-completion-mode-p)
63686         (tramp-handle-directory-files)
63687         (tramp-handle-directory-files-and-attributes)
63688         (tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
63689         (tramp-handle-insert-file-contents, tramp-handle-load)
63690         (tramp-handle-shell-command)
63691         (tramp-handle-verify-visited-file-modtime)
63692         (tramp-handle-file-notify-valid-p, tramp-accept-process-output)
63693         (tramp-check-for-regexp, tramp-wait-for-regexp)
63694         (tramp-send-string, tramp-mode-string-to-int)
63695         (tramp-get-local-gid, tramp-check-cached-permissions)
63696         (tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
63697         (auto-save-file-name-transforms)
63698         (tramp-handle-make-auto-save-file-name, tramp-read-passwd)
63699         (tramp-clear-passwd, tramp-time-diff):
63700         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
63701         (directory-sep-char, tramp-adb-file-name-handler-alist)
63702         (tramp-adb-parse-device-names)
63703         (tramp-adb-handle-expand-file-name)
63704         (tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
63705         (tramp-adb-handle-file-local-copy)
63706         (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
63707         (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
63708         (tramp-adb-handle-shell-command)
63709         (tramp-adb-handle-start-file-process, tramp-adb-get-device)
63710         (tramp-adb-maybe-open-connection):
63711         * lisp/net/tramp-cache.el (tramp-persistency-file-name)
63712         (tramp-cache-print):
63713         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
63714         (tramp-bug, tramp-reporter-dump-variable)
63715         (tramp-load-report-modules, tramp-append-tramp-buffers):
63716         * lisp/net/tramp-compat.el (tramp-compat-funcall)
63717         (tramp-advice-file-expand-wildcards)
63718         (tramp-compat-temporary-file-directory)
63719         (tramp-compat-make-temp-file, tramp-compat-copy-file)
63720         (tramp-compat-delete-directory, )
63721         (tramp-compat-process-running-p):
63722         * lisp/net/tramp-ftp.el (tramp-methods) <ftp>:
63723         (tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
63724         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
63725         (tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
63726         (tramp-gvfs-handle-file-local-copy)
63727         (tramp-gvfs-handle-file-name-all-completions)
63728         (tramp-gvfs-handle-file-notify-add-watch)
63729         (tramp-gvfs-monitor-file-process-filter)
63730         (tramp-gvfs-handle-file-readable-p)
63731         (tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
63732         (tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
63733         (tramp-gvfs-maybe-open-connection)
63734         (tramp-gvfs-parse-device-names):
63735         * lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
63736         (tramp-gw-open-connection, tramp-gw-open-network-stream):
63737         * lisp/net/tramp-sh.el (directory-sep-char)
63738         (tramp-sh-file-name-handler-alist)
63739         (tramp-sh-handle-file-truename)
63740         (tramp-sh-handle-set-visited-file-modtime)
63741         (tramp-sh-handle-verify-visited-file-modtime)
63742         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
63743         (tramp-sh-handle-file-acl)
63744         (tramp-sh-handle-file-name-all-completions)
63745         (tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
63746         (tramp-do-copy-or-rename-file-directly)
63747         (tramp-do-copy-or-rename-file-out-of-band)
63748         (dired-compress-file-suffixes, dired-remove-file)
63749         (tramp-sh-handle-dired-compress-file)
63750         (tramp-sh-handle-insert-directory)
63751         (tramp-sh-handle-expand-file-name)
63752         (tramp-sh-handle-start-file-process)
63753         (tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
63754         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
63755         (tramp-sh-handle-file-notify-add-watch)
63756         (tramp-sh-gvfs-monitor-dir-process-filter)
63757         (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
63758         (tramp-find-executable)
63759         (tramp-open-connection-setup-interactive-shell)
63760         (tramp-find-inline-encoding, tramp-compute-multi-hops)
63761         (tramp-maybe-open-connection, tramp-convert-file-attributes)
63762         (tramp-get-remote-path, tramp-get-remote-touch):
63763         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
63764         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
63765         (tramp-smb-handle-delete-directory)
63766         (tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
63767         (tramp-smb-handle-make-directory-internal)
63768         (tramp-smb-handle-process-file, tramp-smb-handle-rename-file)
63769         (tramp-smb-handle-set-file-acl, tramp-smb-handle-set-file-modes)
63770         (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
63771         (tramp-smb-get-cifs-capabilities)
63772         (tramp-smb-maybe-open-connection):
63773         * lisp/net/trampver.el (tramp-repository-get-version):
63774         Remove XEmacs compat code.
63776         * lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
63777         (reporter-dump-variable): Declare functions.
63779         * lisp/net/tramp.el (tramp-bkup-backup-directory-info)
63780         (tramp-advice-minibuffer-electric-separator)
63781         (tramp-advice-minibuffer-electric-tilde)
63782         (tramp-handle-unhandled-file-name-directory):
63783         * lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
63784         (tramp-compat-font-lock-add-keywords)
63785         (tramp-compat-load, tramp-compat-number-sequence)
63786         (tramp-compat-split-string, tramp-compat-delete-dups):
63787         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
63788         Remove.
63790         * lisp/net/tramp-sh.el (tramp-methods) <psftp>: This does not work
63791         recursively.
63793 2016-01-14  K. Handa  <handa@gnu.org>
63795         fix previous change of src/ftfont.c (ftfont_shape_by_flt)
63797         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
63798         second glyph only when there are enough glyphs.
63800 2016-01-13  Glenn Morris  <rgm@gnu.org>
63802         * src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,
63804         or its hook, to move point.  (Bug#22348)
63806 2016-01-12  Michael Albinus  <michael.albinus@gmx.de>
63808         Merge missing commit from emacs-25 branch
63810         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
63811         New variables.
63812         (check-expensive, check-doit): New targets.
63814         * Makefile.in (check-expensive): New target.
63816         * test/lisp/autorevert-tests.el
63817         (auto-revert-test01-auto-revert-several-files):
63818         * test/lisp/filenotify-tests.el (file-notify--deftest-remote)
63819         (file-notify-test06-many-events):
63820         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
63821         (tramp-test27-start-file-process, tramp-test28-shell-command)
63822         (tramp-test29-vc-registered)
63823         (tramp-test31-special-characters-with-stat)
63824         (tramp-test31-special-characters-with-perl)
63825         (tramp-test31-special-characters-with-ls)
63826         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
63827         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
63828         (tramp-test35-unload): Tag the tests as :expensive-test.
63830 2016-01-11  John Wiegley  <johnw@newartisans.com>
63832         Merge from origin/emacs-25
63834         1f6898d test/automated/vc-hg.el: Support out-of-tree build
63835         3adb56e Minor change in tramp-tests.el
63836         2b535ba ; * etc/NEWS: Update the js.el entry.
63837         76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
63838         b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
63839         36b9539 Avoid an infloop when we run out of memory
63840         2006752 Avoid unnecessary failures of auto-saving after fatal error
63841         eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
63842         552694a Revert attempt to use 'noexcept' in typedef
63843         6ad0d39 Update documentation of 'indirect-function'
63844         c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
63845         303141a Update documentation for obsoleting 'syntax-begin-function'
63846         4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
63847         e667bbb Document new features if Eshell
63848         9c4e4e0 ; * etc/NEWS: Update EUDC entries.
63849         1089dc9 Handle too long commands in Tramp
63850         684eb58 * .gitattributes: *.cur and *.pif are binary files too.
63851         d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
63852         bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
63853         09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
63854         cca0f93 ; Account for spaces before the filename
63855         c71e1e8 Use short date for 'hg annotate', and output the author
63856         f50027b Spelling fix
63857         c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
63858         cc140bc Document user-level functions in project.el
63859         f8208b6 Document the user-level features of the Xref package
63860         b131fb8 * loading.texi: Add `define-type' entry for load-history
63861         db3c2a8 Improve doc strings and prompts in xref.el
63862         f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
63863         90fd798 Fix coding system for Tramp on OS X.
63864         e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
63865         9dfcbf0 Update 'load-history' docs
63866         207e191 Fix (error ...) error
63867         457738f Correctly analyze brace arguments in templated C++ function declarations.
63868         d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
63869         2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
63870         1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
63871         8be046f Respect fontification region calculated by major mode.  Fixes bug #22316.
63872         4b37cba Improve documentation of Delete Selection mode
63873         a034dd3 Fix two project-find-file issues
63874         30abf29 Clarify doc string of 'dired-current-directory'
63875         e990bb2 Use the face of preceding text for displaying the ellipsis
63876         5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
63877         eeb710a ; * lisp/startup.el: Sentences end with two spaces.
63878         428b3de * admin/admin.el (set-version): Also handle the NEWS file.
63879         648de81 ; Add NEWS entry for project.el
63880         671862f apropos-library: Skip obvious duplicates; don't error on generics
63881         51668a5 ; Grammar fix
63882         ed41d11 Add project-find-file and project-or-external-find-file
63883         056da45 ; Improve commentary in 'setup_for_ellipsis'
63884         269d008 ; Improve docstring for `inhibit-startup-echo-area-message'
63886 2016-01-11  John Wiegley  <johnw@newartisans.com>
63888         Merge from origin/emacs-25
63890         ce4a052 Add defvar-local to lisp-imenu-generic-expression
63891         a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
63892         76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
63893         1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
63894         b6b47af Properly encode/decode base64Binary data in SOAP
63895         c632466 Obey coding-system-for-write when writing stdout/stderr in batch
63896         2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
63897                 Update the URI of MELPA and marmalade-repo.
63898                 Reported by CHENG Goa <chenggao@royau.me> in
63899                 https://lists.gnu.org/r/emacs-devel/2016-01/msg00390.html.
63900         d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
63901         5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
63902         7380990 Remove function wrongly on AWK Mode value of context
63903         fontification hook.
63904         d400753 * src/buffer.c: Stick with ASCII in doc string.
63905         221240c Reword transient-mark-mode doc string
63906         977d3ea Update doc string of 'selective-display'
63907         229c3fa Make C++ buffers writeable when writing their initial text
63908                 properties.
63909         f5c762c Additional changes for "make check-expensive"
63910         1729cf3 ; * admin/MAINTAINERS: Remove myself.
63911         33219d3 Apply text properties for <, > in new after-change function
63912                 (C++ Java Modes).
63914 2016-01-11  John Wiegley  <johnw@newartisans.com>
63916         Merge from origin/emacs-25
63918         9fb185a shr-tag-video bug fix
63919         6300655 Minor fixes in tramp-tests.el
63920         50575b1 Ensure redisplay when 'truncate-lines' is set
63921         0d9e80d Fix a doc string of 'transient-mark-mode'
63922         0000ae5 MS-Windows followup to latest gnulib update
63923         4bc5e02 Spelling fix
63924         f1093f7 Do secure signed Bcc handling
63926 2016-01-11  John Wiegley  <johnw@newartisans.com>
63928         Merge from origin/emacs-25
63930         861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
63931         46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
63932         71ea138 * lisp/align.el (align): Simplify a lambda
63933         5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
63934         1f680db Fix compilation next-error in buffers with selective-display
63935         d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
63936         1da116f Add SHA1 warnings for high network security settings
63937         e48bacd ; * etc/NEWS: Typo fix.
63939 2016-01-11  John Wiegley  <johnw@newartisans.com>
63941         Merge from origin/emacs-25
63943         43662a2 ; Clarify that xref is still experimental
63944         0a6e6ca ; * admin/release-process: Remove some obsolete records.
63945         c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
63946         8637f3d (semantic-symref-derive-find-filepatterns): Return a list
63947         0a7ad07 ; Re-arrange xref-related entries in NEWS.
63948         fe903ef Fix xref-find-references on MS-Windows
63949         55a28d8 ; Fixed visual bell artifact problem on NextStep.
63950         d064034 Document new features of tildify-mode
63951         964bea7 Document new features of Whitespace mode
63952         cd68f47 Improve documentation of new Hide-IfDef features
63953         723b8bf Fix regression in font-locking cl-assert and cl-check-type
63955 2016-01-11  John Wiegley  <johnw@newartisans.com>
63957         Merge from origin/emacs-25
63959         ef33bc7 Spelling and grammar fixes
63960         9c3dbab Fix copyright years by hand
63961         0e96320 Update copyright year to 2016
63963 2016-01-11  John Wiegley  <johnw@newartisans.com>
63965         Merge from origin/emacs-25
63967         9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
63968         526d80c Port chart.el methods to cl-generic.
63969         410bb69 Add nt/INSTALL.W64 build instructions
63970         8f5b524 Add new input method 'programmer-dvorak'
63971         6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
63972         bb83bb1 Fix EWW rendering of long RTL lines
63973         b1a8509 fix  bug#21054
63974         ce5ad12 Clean up cairo printing code
63976 2016-01-11  John Wiegley  <johnw@newartisans.com>
63978         Merge from origin/emacs-25
63980         6ee327d Add handle_user_signal_hook
63981         47580e0 Avoid writing to purespace
63982         0588be7 Remove unused variable
63983         89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
63984         3b95e9c Use posix_openpt instead of openpty on Darwin
63985         86312ff Document support for ':documentation' in Lisp mode
63986         c930e75b Document new features of TeX mode
63987         7c83d84 Clarify docs of hscroll in RTL text
63988         4c8f8db Fix rendering of HTML pages that use character composition
63989         a8d37ca Avoid some compiler warnings in w32.c
63990         ce106f3de Undo ill-advised change
63991         be0bba4 Unbreak completion in python-mode buffers
63993 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
63995         Adding example replies to bug-triage.
63997         * admin/notes/bug-triage: Added example replies. Also, as requested,
63998           making the process notes into more of a checklist.
64000 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
64002         Rename the notes/admin/triage file to bug-triage.
64004         * CONTRIBUTE: Change reference to the triage file name.
64005         * admin/notes/triage: Rename file to admin/notes/bug-triage.
64007 2016-01-08  K. Handa  <handa@gnu.org>
64009         Fix outdated comments.
64011 2016-01-06  Glenn Morris  <rgm@gnu.org>
64013         Allow creation of loaddefs files without timestamps.
64015         * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
64016         (autoload-generate-file-autoloads, update-directory-autoloads):
64017         If autoload-timestamps is nil, write "t" instead of file timestamp.
64018         (autoload-find-destination, update-directory-autoloads):
64019         If timestamp is "t", use the modtime of the output file instead.
64021 2016-01-06  Glenn Morris  <rgm@gnu.org>
64023         Doc tweaks.
64025         * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
64026         * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
64027         (calendar-iso-from-absolute):
64028         * lisp/calendar/cal-tex.el (cal-tex-comment):
64029         * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
64031 2016-01-06  Glenn Morris  <rgm@gnu.org>
64033         Build tweaks related to tags files.
64035         * lib-src/Makefile.in (tagsfiles): New variable.
64036         (TAGS): Also depend on the source files.  Use our own etags program.
64037         * lisp/Makefile.in (ETAGS): Add EXEEXT.
64038         (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
64039         Remove.
64040         (tagsfiles): New, replacing lisptagsfiles1 etc.
64041         Remove irrelevant source files here rather than in the TAGS rule.
64042         (${ETAGS}): New rule.
64043         (TAGS): Also depend on the etags executable.
64044         * lwlib/Makefile.in (EXEEXT): New, set by configure.
64045         (ETAGS): Add EXEEXT.
64046         (${ETAGS}): New rule.
64047         (ctagsfiles): Use "wildcard".
64048         (TAGS): Also depend on the etags executable.
64049         * nt/Makefile.in (ETAGS, tagsfiles): New variables.
64050         (${ETAGS}): New rule.
64051         (TAGS): Fix dependencies.
64052         * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
64053         (ETAGS): New variable, replacing $TAGS.  Use our own etags program.
64054         Remove "-t" argument.
64055         (${ETAGS}): New rule.
64056         (tagsfiles): New variable.
64057         (TAGS): New rule, with proper dependencies.
64058         * src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
64059         (ctagsfiles1, ctagsfiles2): Use "wildcard".
64060         (ctagsfiles3): Remove.
64061         (TAGS): Depend on etags.
64062         (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
64063         directories decide if updates are needed.
64065 2016-01-06  Glenn Morris  <rgm@gnu.org>
64067         * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
64069 2016-01-06  Glenn Morris  <rgm@gnu.org>
64071         * test/lisp/emacs-lisp/package-tests.el
64073         (package-test-macro-compilation): Fixup branch merge.
64075 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
64077         Fix fallout from merging emacs-25 branch in test/
64079         * .gitignore: Update for the new place of biditest.txt.
64080         * test/automated/: Directory removed.  All files moved to their
64081         proper places.
64082         * test/etags/: Directory removed.  All files moved to their proper
64083         places.
64084         * test/automated/url-parse-tests.el: File removed; it was an exact
64085         copy of the same file in test/lisp/url/.
64086         * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
64088 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
64090         Spelling fixes
64092 2016-01-04  Daniel Colascione  <dancol@dancol.org>
64094         Let users disable unsafe signal handling code
64096         * src/keyboard.c (syms_of_keyboard): New user variables
64097         `attempt-stack-overflow-recovery' and
64098         `attempt-orderly-shutdown-on-fatal-signal'.
64099         * src/sysdep.c (stack_overflow): Check
64100         `attempt-stack-overflow-recovery'.
64101         * src/emacs.c (terminate_due_to_signal): Check
64102         `attempt-orderly-shutdown-on-fatal-signal'.
64104 2016-01-03  Michael Albinus  <michael.albinus@gmx.de>
64106         * configure.ac: Add error message for gfile on Nextstep.
64108 2016-01-02  John Wiegley  <johnw@newartisans.com>
64110         Merge branch 'emacs-25-merge'
64112 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
64114         Align textually on fix done for emacs-25 branch for bug#21054
64116         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
64117         and useless `(if t ...)' in order to align textually on fix done for
64118         emacs-25 branch for bug#21054.
64120 2016-01-01  K. Handa  <handa@gnu.org>
64122         support rendering of wider range of combinging characters by ftfont backend
64124         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
64125         supports rendering of combining characters, call
64126         font-shape-gstring.
64128         * src/font.c (Ffont_get): Handle `combining-capability' property.
64129         (syms_of_font): New symbol ":combining-capability'.
64131         * src/font.h (struct font_driver): New member combining_capability.
64133         * src/ftfont.c: Include "category.h".
64134         (ftfont_driver): Initialize combining_capability to
64135         ftfont_combining_capability.
64136         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
64137         FLT in advance.
64138         (ftfont_combining_capability): New function.
64140 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
64142         Add notes on bug triage procedure
64144         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
64145         * admin/notes/triage: New file explaining triage procedure.
64147 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
64149         Correct ses-rename-cell cursor-intangible text prop updating.
64151         There were two problems:
64153         - First ses-rename-cell has to work when called non interactively
64154           (with non-nil CELL argument), so in this case the start pos of
64155           put-text-property cannot be plainly (point), you need a
64156           ses-goto-print call before
64158         - Second, the range itself was computed erronously, only the first
64159           char was affected instead of the full cell width. This was not
64160           noticeable prior to changes (Deprecate `intangible' and
64161           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
64163         * lisp/ses.el (ses-rename-cell): Correct computation of position range
64164         to which the 'cursor-intangible text property has to be set to cell
64165         new name.
64167 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
64169         Don't fake empty cells value by "" when printing with a lambda.
64171         When using a lambda expression printer function the user should be
64172         free to format differently a really empty cell, ie. containing nil,
64173         from a cell containing an empty string "".
64175         * lisp/ses.el (ses-call-printer): Replace `(or value "")' by just
64176         `value' in the case of a lambda expression printer function.
64178         * doc/misc/ses.texi (Printer functions): Add example and
64179         description about lambda expression printer function handling all
64180         the possible values, including unexpected ones.
64182 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
64184         Quick temporary hack to fix curcell refreshing.
64186         The problem was caused by change: 2015-04-13 Deprecate `intangible'
64187         and `point-entered' properties. The problem is that this change has
64188         removed the (setq ses--curcell t) setting in the ses-command-hook
64189         function.
64191         * lisp/ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
64192         a condition to call function `ses-set-curcell'. Comment this as a quick
64193         temporary hack to make it work, as I don't know yet whether a definite
64194         correction would be to make the ses-set-curcell at every ses-check-curcell,
64195         or to revert to the previous approach, ie marking ses--curcell as out-of-date
64196         at every potentially cursor motion command.
64198 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
64200         Restrictive URL checking tweaks
64202         * lisp/net/eww.el (eww): Check whether the domain is
64203         restrictive instead of the string
64204         (http://македонија.icom.museum is restrictive even if each
64205         part is from a different script).
64207 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
64209         New function `puny-highly-restrictive-domain-p'
64211         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
64212         (puny-highly-restrictive-domain-p): New function.
64214 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
64216         eww build fix (require puny)
64218 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
64220         Transform non-restrictive domains to punycode for display
64222         * lisp/net/eww.el (eww): Check whether the domain is Highly
64223         Restrictive in the Unicode IDNA sense.
64225 2015-12-29  John Wiegley  <johnw@newartisans.com>
64227         Merge emacs-25 into master (using imerge)
64229 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
64231         Further Unicode restrictive fixups
64233         * lisp/net/puny.el (puny-highly-restrictive-p): Include the extra
64234         identifier characters from table 3.
64236 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
64238         Add a new function to say whether a string is restrictive
64240         * lisp/net/puny.el (puny-highly-restrictive-p): New function.
64242 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
64244         Mention the new puny.el library
64246 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
64248         IDNA-related fixes for the URL library
64250         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
64251         the Host: header.
64253         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
64254         domain names, but leave them as UTF-8, so that they can be
64255         IDNA-encoded later when contacting the host.
64257 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
64259         IDNA-encode all domain names in `open-network-stream'
64261         * lisp/net/network-stream.el (open-network-stream)
64262         (network-stream-open-plain, network-stream-open-starttls):
64263         IDNA-encode all domain names, if needed.
64265 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
64267         Fix puny-encoding all-non-ASCII domains
64269         * lisp/net/puny.el (puny-encode-string): Fix the all-non-ASCII
64270         encoding case.
64272 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
64274         shr link traversal fixup
64276         * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
64278 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
64280         Reconnect erc even on server errors
64282         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
64283         reconnect even if a server error has occurred (bug#18527).
64285 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
64287         Fix punycode short circuit logic
64289         * lisp/net//puny.el (puny-encode-domain): Fix short-circuit logic.
64291 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
64293         IDNA speed up
64295         * lisp/net/puny.el (puny-encode-domain): Make the common non-IDNA case faster
64297 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
64299         Add IDNA domain encode/decode functions
64301         * lisp/net/puny.el (puny-decode-domain): New function.
64302         (puny-encode-domain): Ditto.
64303         (puny-decode-digit): Fix digit decoding error.
64305 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
64307         Rename idna.el to puny.el
64309         * lisp/net/puny.el: Renamed from idna.el to avoid name collisions with
64310         the external idna.el library.
64312 2015-12-27  Katsumi Yamaoka  <yamaoka@jpl.org>
64314         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
64316         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
64317         Don't use split-string with 4th arg for old Emacsen compatibility.
64319 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
64321         * lisp/net/idna.el (idna-decode-string-internal): Implement
64322         decoding.
64324 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
64326         Further IDNA tweaks
64328         (idna-encode-string): Make idna-encode-string safe for
64329         non-ASCII use.
64331 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
64333         Clean up the code slightly
64335 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
64337         Added basic idna encoding support
64339         * lisp/net/idna.el: New file.
64341 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
64343         Disconnection fixes for erc
64345         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
64346         reconnect if the user has disconnected explicitly (bug#4589).
64348 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
64350         Further erc asynch fixes
64352         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
64353         erc-server-connect to return even if the connection is not
64354         ready.  Then erc-open and erc-server-reconnect do the
64355         same. (bug#5650).
64357 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
64359         Make erc connect asynchronously
64361         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
64362         reconnect asynchronously.
64364         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
64366 2015-12-27  David Edmondson  <dme@dme.org>
64368         Proxy error in erc with multiple clients
64370         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
64371         generated when multiple IRC clients talk to a single IRC proxy
64372         (bug#19034).
64374 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
64376         Fix mml-sec build warnings
64378         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
64379         (bug#18718).
64381 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
64383         (eww-setup-buffer): Restore left-to-right defaults
64385         * eww.el (eww-setup-buffer): Restore left-to-right defaults.
64387 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
64389         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
64391 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
64393         Identify unsafe combinations of Bcc and encryption
64395         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
64396         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
64397         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
64399 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
64401         * shr.el (shr-descend): Allow using lambdas in external functions.
64403 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
64405         * admin/gitmerge.el: Tweaks that seemed necessary
64407         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
64408         (gitmerge-maybe-resume): Provide explicit empty commit message.
64410 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
64412         Use a different port for TLS erc
64414         * lisp/erc/erc.el (erc-default-port-tls): New variable
64415         (bug#19497).
64416         * lisp/erc/erc.el (erc-tls): Use it.
64418 2015-12-25  Alain Schneble  <a.s@realize.ch>
64420         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
64422         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
64423         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
64424         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
64425         information in URL-struct.
64426         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
64427         path and query into nil path and query, respectively.
64428         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
64429         empty path into an absolute ("/") path.
64430         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
64431         fragment-only URIs. Do not just return them unchanged.
64432         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
64433         reference URI should not drop the last segment.
64435 2015-12-25  Alain Schneble  <a.s@realize.ch>
64437         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
64439         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
64440         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
64441         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
64442         information in URL-struct.
64443         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
64444         path and query into nil path and query, respectively.
64445         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
64446         empty path into an absolute ("/") path.
64447         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
64448         fragment-only URIs. Do not just return them unchanged.
64449         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
64450         reference URI should not drop the last segment.
64452 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
64454         Let url use default file modes when copying files
64456         * lisp/url/url-handlers.el (url-copy-file): Use default file
64457         modes when copying files (bug#11400).
64459 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
64461         Doc fix for url-http
64463         * lisp/url/url-http.el (url-http): Document better return values
64464           (bug#13187) (tiny change)
64466 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
64468         * eww.el (eww-display-html): Support <button> tags (bug#20485).
64470 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
64472         Made ffap-url-p a defun instead of a defsubst
64474         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
64475         since there doesn't seem to be much of a reason for it to be a
64476         defsubst (bug#18203).
64478 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
64480         Add a command to view files in the browser to dired
64482         * lisp/dired.el (dired-mode-map): Add the `W' command
64483         (bug#18810).
64485 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
64487         Allow http://user:pass@foo/ URLs again
64489         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
64490         user/passwords in URLs (bug#19046).
64492 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
64494         * eww.el (eww-mode-map): Fix command name of eww-toggle-colors.
64496 2015-12-25  Samer Masterson  <samer@samertm.com>
64498         Autoload url-insert-buffer-contents
64500         * lisp/url/url-handlers.el: Add autoload cookie so that
64501         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
64503 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
64505         Allow toggling colors in eww
64507         * doc/misc/eww.texi (Basics): Mention "C".
64509         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
64511         * lisp/net/shr.el (shr-use-colors): New variable.
64512         (shr-colorize-region): Use it.
64514 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
64516         Follow meta refresh tags in eww
64518         * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
64520 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
64522         More eww file name coding fixes
64524         * eww.el (eww-decode-url-file-name): Use the base coding
64525         system to check for encodability.
64527 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
64529         Always save eww history
64531         * eww.el (eww-setup-buffer): Always save history, even when
64532         called from outside the eww buffer (bug#19638).
64534 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
64536         Default web pages to right-to-left
64538         * eww.el (eww-mode): Most web pages are left-to-right, so make
64539         that the default (bug#19801).
64541         * shr.el (shr-tag-html): Respect "dir" attributes
64542         (left-to-right, right-to-left).
64544 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
64546         Make toggling checkboxes work again
64548         * eww.el (eww-update-field): Make toggling checkboxes work
64549         again (bug#21881).
64551 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
64553         Don't store cookies with empty names
64555         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
64556         cookies with empty names (bug#21936).
64558 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
64560         Stop rendering HTML before specdlr exhaustion
64562         Fixes: 22117
64564         * shr.el (shr-descend): Stop rendering before we run out of
64565         specpdl room (bug#22117).
64567 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
64569         Use cl-reduce, not reduce.
64571 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
64573         Allow several <tbody> tags in shr
64575         * shr.el (shr-table-body): New function to find the real body
64576         of a table.
64577         (shr-tag-table): Use it to render several <tbody> tags in a
64578         table (bug#22170).
64580 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
64582         Make prettier unique file names in eww
64584         (eww-make-unique-file-name): Make unique file names by making
64585         files like foo(2).jpg instead of foo(1)(2).jpg.
64587 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
64589         Decode hex-encoded URLs before using them as file names
64591         * eww.el (eww-decode-url-file-name): New function.
64592         (eww-download-callback): Use it to decode file names before
64593         saving them.
64595 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>
64597         Add FreeBSD cert bundle
64599         * doc/misc/emacs-gnutls.texi (Help For Users): Document
64600         FreeBSD bundle.
64602         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
64604 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
64606         Allow overriding shr functions from eww
64608         * eww.el (eww-display-html): Allow overriding elements in
64609         `shr-external-rendering-functions'.
64611 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
64613         Ignore invalid SVG images
64615         * shr.el (shr-tag-svg): Ignore SVG images that have no width
64616         or height, because these can't be displayed by ImageMagick,
64617         anyway.
64619 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
64621         shr table rendering fix
64623         * shr.el (shr-tag-table): Allow rendering body-less tables
64624         that have headers.
64626 2015-12-22  Sam Steingold  <sds@gnu.org>
64628         clipboard should still work even if interprogram-* is disabled
64630         (clipboard-yank): When `interprogram-cut-function' is nil,
64631         bind it to `gui-selection-value' - the default value.
64632         (clipboard-kill-region, clipboard-kill-ring-save): When
64633         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
64634         the default value.
64636 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
64638         Fix bootstrap issue with dired-loaddefs
64640         * lisp/dired.el: Autoloads for secondary files loaded optionally.
64642 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
64644         dired generate autoloads to non-versioned file.
64646         * lisp/dired.el: Remove autoloads.
64647         * lisp/Makefile.in: Add dired to autogenel.
64648         * lisp/dired-aux.el, lisp/dired-x.el: Update file local.
64649         * test/lisp/dired-tests.el: Add new test.
64651 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
64653         eieio generate autoloads to non-versioned file.
64655         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
64656         * lisp/emacs-lisp/eieio.el, lisp/emacs-lisp/eieio-core.el:
64657           Remove autoloads.
64658         * lisp/emacs-lisp/eieio-compat.el, lisp/emacs-lisp/eieio-custom.el,
64659           lisp/emacs-lisp/eieio-opt.el: Update file local.
64660         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
64662 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
64664         htmlfontify generate autoload to non-versioned file.
64666         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
64667         * lisp/hfy-cmap.el: Update file local.
64668         * lisp/htmlfontify.el: Remove autoloads, add require.
64669         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
64671 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
64673         ibuffer generate autoloads to non-versioned file.
64675         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
64676         * lisp/ibuf-ext.el: Update file local.
64677         * lisp/ibuffer.el: Remove autoloads and add a require.
64678         * test/lisp/ibuffer-tests.el: Test that autoload is working.
64680 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
64682         rmail generate autoloads to non-versioned file.
64684         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
64685         * lisp/mail/rmail.el: Remove autoloads, add require.
64686         * lisp/mail/rmailedit.el, lisp/mail/rmailkwd.el:
64687         * lisp/mail/rmailmm.el, lisp/mail/rmailmsc.el:
64688         * lisp/mail/rmailsort.el, lisp/mail/rmailsum.el:
64689         * lisp/mail/undigest.el: Update file-local.
64690         * test/lisp/mail/rmail-tests.el:
64692 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
64694         Add autoload-force target.
64696         * lisp/Makefile.in (autoload-force): New target.
64698 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
64700         ps-print generate autoloads to non versioned file.
64702         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
64703         * lisp/ps-print.el: Remove autoloads.
64704         * lisp/ps-mule.el: Update file-local.
64705         * test/lisp/ps-print-tests.el: Test autoload functionality.
64707 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
64709         reftex generate autoloads to non versioned file.
64711         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
64712         * lisp/textmodes/reftex.el: Remove autoloads.
64713         * lisp/textmodes/reftex-auc.el, lisp/textmodes/reftex-cite.el:
64714         * lisp/textmodes/reftex-dcr.el, lisp/textmodes/reftex-global.el:
64715         * lisp/textmodes/reftex-index.el, lisp/textmodes/reftex-parse.el:
64716         * lisp/textmodes/reftex-ref.el, lisp/textmodes/reftex-sel.el:
64717         * lisp/textmodes/reftex-toc.el: Update autoload file-local.
64718         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
64719           function.
64721 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
64723         * lisp/calculator.el (calculator-define-key): Undo last change
64725         Make map argument mandatory instead (bug#22106).
64726         (calculator-add-operators): Pass the argument that's not optional any more.
64728 2015-12-03  Glenn Morris  <rgm@gnu.org>
64730         * Makefile.in: Avoid duplication.
64732         (have-tests): New rule.
64733         (check, check-maybe): Use it.
64735 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
64737         make check unconditional, check-maybe top-level.
64739          * Makefile.in: Add check-maybe target.
64740          * test/Makefile.in: Restore unconditional behavior to make check.
64742 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
64744         Tests now support out-of-source-build.
64746          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
64747            about current working directory.
64749 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
64751         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
64753 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
64755         Improve documentation and clean up.
64757          * test/Makefile.in: Improve documentation, use EMACS variable
64758            correctly, and clean up makefile rules.
64760 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
64762         Update file headers for name change.
64764          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
64766 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
64768         Test files renamed to new scheme.
64770          * (finalizer-tests.el): Now renamed alloc-tests.el
64771          * (zlib-tests.el): Now renamed decompress-tests.el.
64773 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
64775         Tests now depend on source files
64777          * test/Makefile.in: Include dependences from tests to source files.
64778          * test/make-test-deps.emacs-lisp: New file
64779          * .gitignore: Ignore generated make include file
64781 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
64783         * lisp/progmodes/which-func.el: Improve disabling the mode
64785         Use lexical-binding.
64786         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
64787         (which-func, which-func-format): Remove redundant :group arg.
64788         (which-func-try-to-enable): New function.
64789         (which-func-ff-hook, which-function-mode): Use it.
64790         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
64791         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
64793 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
64795         * lisp/calculator.el (calculator-define-key): Silence warning
64797         ...about unknown calculator-mode-map.
64799 2015-11-29  Eli Barzilay  <eli@barzilay.org>
64801         * lisp/calculator.el: more improvements and bugfixes.
64803         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
64804           effect anyway.)
64806         - Simplify `calculator-number-to-string' by throwing most of the work
64807           onto `number-to-string', leaving just some tweaks for decimal inputs.
64808           This leads to some minor changes, for example, pasting "1x1" in hex
64809           mode would warn that "x" is ignored and result in "11" (and it wasn't
64810           done in decimal mode), whereas now it just ignores everything from the
64811           "x" and on and result in a "1" just like in decimal input mode.  Also,
64812           overflows are left for `number-to-string' to deal with.
64814         - `calculator-paste' is very simple as a result.
64816         - Extend the simplified `calculator-paste': with a prefix argument it
64817           pastes a string as if the characters were entered.  This can be used
64818           to reduce expressions, but note that it's a simple literal operation,
64819           so precedence can be messed, a number can be paster while entering a
64820           number, spaces and newlines matter, etc.
64822         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
64823           operator.
64825         - Fix a bug in `calculator-put-value': avoid grouping in the display
64826           that is used to construct `calculator-curnum'.  This would trigger
64827           when pasting or getting a value from a register in some radix mode
64828           with a large enough value.  Another fix: make the output radix equal
64829           the input one, otherwise numbers could be converted twice.
64831 2015-11-29  Eli Barzilay  <eli@barzilay.org>
64833         * lisp/calculator.el: Re-do key bindings.
64835         Use a helper function that arranges a parent keymap that binds alternate
64836         case keys so if some letter key is unbound and it's un/shifted version
64837         is, it will get used.  This makes the global-map trickery unnecessary.
64839         Also switch to passing strings that name keys through `kbd'.
64841 2015-11-29  Eli Barzilay  <eli@barzilay.org>
64843         * lisp/calculator.el: improve radix modes
64845         Fix prompt for some input radix with decimal output (eg, "BD" instead of
64846         the incorrect "B="); also, some minor docstring tweaks for these.
64848 2015-11-29  Eli Barzilay  <eli@barzilay.org>
64850         * lisp/calculator.el: better reading of register names
64852         Use `register-read-with-preview' with a dynamically bound
64853         `register-alist' and a proper preview function to read register names.
64855 2015-11-29  Eli Barzilay  <eli@barzilay.org>
64857         * lisp/calculator.el: General improvements
64859         Use things like `when', `unless', and `push'.
64861         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
64862         non-electric mode.
64864 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
64866         Fix a problem with gfilenotify in filenotify-tests.el
64868         * test/lisp/filenotify-tests.el
64869         (file-notify--test-expected-events): Remove.
64870         (file-notify--test-cleanup): Do not set that variable.
64871         (file-notify--test-with-events): EVENTS can also be a list of lists.
64872         (file-notify-test02-events, file-notify-test04-file-validity):
64873         Adapt expected result.
64875 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
64877         * .gitignore: Adjust to changes in 'test' directory structure.
64879 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
64881         Fix test/manual/etags/Makefile
64883         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
64884         changes in 'test' directory structure.
64886 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
64888         Exclude resource dirs from search for tests.
64890         * test/Makefile.in: Test file locations are now found with find
64891           rather than using finds native functions.
64893 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
64895         Add test targets without directory names.
64897          * (test/Makefile.in): Extend test_template to add two targets for each
64898            file.
64900 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
64902         * lisp/emacs-lisp/package.el: Require url-handlers
64904 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
64906         Move elisp-mode-tests to new function names.
64908          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
64909          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
64911 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
64913         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
64915 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
64917         Merge branch 'feature/standard-test-location'
64919 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
64921         * lisp/emacs-lisp/eieio.el: Add some default implementations
64923         (standard-class): Mark it obsolete.
64924         (slot-missing): Give it a default implementation.
64925         (destructor): Simplify and mark it obsolete.
64926         (object-print): Give it a default implementation.
64927         (eieio-change-class): Rename from change-class.
64928         (change-class): Redefine as obsolete alias.
64930 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64932         Mention kqueue in NEWS
64934 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64936         Merge from scratch/kqueue
64938         bec57a4 Some final fixes in file notification before merging with master
64939         0247489 Rework file notifications, kqueue has problems with directory monitors
64940         5154781 Continie with pending events
64941         6b490c0 Improve loops in file-notify-test06-many-events
64942         c8e266f Handle more complex rename operation in kqueue
64943         5044bdf New test with a larger number of events.
64944         65ba5a9 Further fixes for kqueue.
64945         13f3508 Code cleanup of kqueue.c
64946         99aa855 Doc changes for kqueue
64947         8deebe1 Finish implementation in kqueue.c
64948         90d6c69 * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
64949         e95b309 More work on kqueue
64950         41d9bd0 Implement directory events
64951         c571fc1 Build fixes for kqueue support.
64952         e0a68f2 Continue kqueue implementation
64953         7543d1c Work on kqueue
64954         e3354e2 Add kqueue support
64955         c6457ce Minor fix to comment indentation and typo in last commit
64956         b92307f linum-mode plays more nicely with other margin-setting extensions
64957         58e6235 * lisp/image-mode.el: Support encrypted file
64958         9375652 * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
64959         47f83b6 ; ChangeLog.2 fixes
64960         7cc233e * lisp/emacs-lisp/package.el: Fix a decoding issue
64961         5f9153f * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
64962         353f5e7 * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
64963         70f1fda ; Auto-commit of ChangeLog files.
64964         ae0653b * CONTRIBUTE: Remove information about feature freeze.
64965         9459456 Merge branch 'release-process-lowercase'
64966         9a4aa0f Document the release process
64967         f8cc14b * admin/release-process: Rename from admin/FOR-RELEASE.
64968         dcd5877 gitmerge: Fix git log command
64969         2ac79ae gitmerge: Try to detect cherry-picks
64970         5f7a2a9 Increment Emacs version on master branch
64971         ed2e7e2 Mention CONTRIBUTE in README
64972         9e00a02 Update verilog-mode.el to 2015-11-09-b121d60-vpo.
64973         138ad3d ; Fix warnings
64974         7126e9a ; Update xref-etags-mode for the latest change
64975         246d660 Use generic dispatch for xref backends
64976         31f6e93 Support rectangular regions for more commands
64977         f103a27 Handle multiple matches on the same line; add highlighting
64978         fe973fc Replace xref-match-bounds with xref-match-length
64979         92a5010 Merge from gnulib
64980         04ac097 Spruce up ftfont.c memory allocation
64981         4c4b520 Port recent XCB changes to 64-bit ‘long int’
64982         4f0ce9c * src/undo.c (run_undoable_change): Now static.
64983         695a6f9 Remove support for ':timeout' from w32 tray notifications
64984         a731c2f * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
64985         2b4c0c0 * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
64986         66b9f7b * src/undo.c: Small fixes for previous change
64987         2fac30e Add a few more variables to redisplay--variables
64988         04f69f1 * lisp/loadup.el: Enlarge the size of the hash table to 80000.
64989         e221d32 Fix point positioning after transposing with negative arg
64990         35f5afb Fix last change in shr.el
64991         508e77b Fix last change
64992         d60ed3f Another fix for MinGW64 and Cygwin builds due to notifications
64993         805a39b Remove intern calls and XXX comments from Fx_export_frames
64994         9463abf shr: don't invoke unbound function (Bug#21895)
64995         6e5186e * test/automated/keymaps-test.el: Fix test to make it repeatable
64996         0c92826 * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
64997         39dbd1c : Tests for undo-auto functionality.
64998         20aa42e ; Merge branch 'fix/no-undo-boundary-on-secondary-buffer-change'
64999         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'.
65000         d2f73db Bind [?\S-\ ] to previous line command in Dired-like modes.
65001         c1bc6e5 Fix the MinGW64 and Cygwin-w32 builds
65002         1e363a8 Enable sorting of JSON object keys when encoding
65003         9dd7da9 * test/automated/keymap-tests.el: New test file
65004         aa17de9 Speed up x_real_pos_and_offsets using XCB
65005         a838c83 Enable use of XCB for checking window manager state
65006         c7f2b6a Detect XCB and save a connection handle
65007         e1c27db Reduce some data dependencies between X calls
65008         25e32bd Use color cache for creating bitmap
65009         851be0f Add "^" to the interactive specs of `dired-next/previous-line'
65010         055ca3a Sync with soap-client repository, version 3.0.2
65011         e0f64e7 CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
65012         952395d * lisp/obarray.el: Fix shadowed variables
65013         436d330 Avoid error in submitting a form with EWW
65014         e887f6e ; * doc/lispref/os.texi: Fix indentation of sample code.
65015         51d840a Rename seq-p and map-p to seqp and mapp
65016         23036ba Rename obarray-p to obarrayp
65017         20aea42 Rename obarray-foreach to obarray-map
65018         a3b2101 New file with obarray functions.
65019         9d43941 Implement tray notifications for MS-Windows
65021 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
65023         Some final fixes in file notification before merging with master
65025         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
65026         (file-notify-callback): Improve check for `stopped' event.  Call
65027         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
65028         (file-notify-add-watch): In case FILE is not a directory, call the
65029         file monitor for the kqueue backend.  Otherwise, call the
65030         directory monitor for the upper directory.
65032         * src/inotify.c (inotifyevent_to_event): Extract file name from
65033         watch_object if the event doesn't provide it.
65034         (Finotify_add_watch): Add file name to watch_object.
65036         * test/automated/file-notify-tests.el (file-notify--test-timeout):
65037         Use different timeouts for different libraries.
65038         (file-notify--test-with-events): Suppress lock files.  Flush
65039         outstanding events before running the body.
65040         (file-notify-test02-events, file-notify-test04-file-validity): Do
65041         not skip cygwin tests.  Add additional test for file creation.
65042         Adapt expected result for different backends.
65043         (file-notify-test03-autorevert): Some of the tests don't work for
65044         w32notify.
65045         (file-notify-test06-many-events): Rename into both directions.
65047 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
65049         Rework file notifications, kqueue has problems with directory monitors
65051         * lisp/filenotify.el (file-notify-add-watch): Call the native
65052         add-watch function on the file, not on the dir.
65054         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
65055         about already deleted entries.
65057         * test/automated/auto-revert-tests.el
65058         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
65059         since this deletes the target file first.
65061         * test/automated/file-notify-tests.el (file-notify--test-event-test):
65062         Make stronger checks.
65063         (file-notify-test01-add-watch, file-notify-test02-events)
65064         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
65065         Rewrite in order to call file monitors but directory monitors.
65066         (file-notify-test06-many-events): Ler rename work in both directions.
65068 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
65070         Continie with pending events
65072         * src/kqueue.c (pending_events): Remove global variable.
65073         (kqueue_compare_dir_list): Create `write' event for not used
65074         pending events.
65075         (globals_of_kqueue): Remove initialization of pending_events.
65077 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
65079         Improve loops in file-notify-test06-many-events
65081         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
65082         Use `read-event' pauses for the `write-file' loops; otherwise
65083         events are lost in inotify and gfilenotify cases.
65085 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
65087         Handle more complex rename operation in kqueue
65089         * src/kqueue.c (pending_events): New variable.
65090         (kqueue_compare_dir_list): Handle more complex rename operation.
65091         (globals_of_kqueue): Initialize pending_events.
65093         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
65094         Adapt expected events in the `rename-file' case.
65095         (file-notify-test06-many-events-remote): Declare.
65097 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
65099         New test with a larger number of events.
65101         * test/automated/file-notify-tests.el (file-notify--test-with-events):
65102         Make timeout heuristically depend on the number of events.
65104         (file-notify-test06-many-events): Use it for new test.
65106 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
65108         Further fixes for kqueue.
65110         * lisp/filenotify.el (file-notify-callback): Raise also event if
65111         directory name matches.
65112         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
65114         * src/kqueue.c (kqueue_generate_event): Use watch_object as
65115         argument instead of ident.  Remove callback argument.  Adapt
65116         callees.  Check actions whether they are monitored flags.
65118         * test/automated/file-notify-tests.el (file-notify--test-library):
65119         New defun.
65120         (file-notify-test00-availability, file-notify-test02-events)
65121         (file-notify-test04-file-validity)
65122         (file-notify-test05-dir-validity): Use it.
65123         (file-notify-test02-events, file-notify-test04-file-validity): Add
65124         `read-event' calls between different file actions, in order to
65125         give the backends a chance to rais an event.  Needed especially
65126         for kqueue.  In case of deleting a directory, there are two
65127         `deleted' events.
65129 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
65131         Code cleanup of kqueue.c
65133         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
65134         (kqueue_compare_dir_list): Do not loop when calling
65135         directory_files_internal.  Remove checks for "." and "..", this is
65136         done in kqueue_directory_listing now.
65137         (Fkqueue_add_watch): Check for proper emacs_open flags.
65139 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
65141         Doc changes for kqueue
65143         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
65144         Fix some glitches in the example.
65146 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
65148         Finish implementation in kqueue.c
65150         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
65151         Simplify access to list.
65152         (kqueue_compare_dir_list): Simplify access to list.  Raise
65153         `delete' event if directory does not exist any longer.  Otherwise,
65154         wait until directory contents has changed.  Fix error in check.
65156 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
65158         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
65160 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
65162         More work on kqueue
65164         * lisp/filenotify.el (file-notify-callback): Handle also the
65165         `rename' event from kqueue.
65166         (file-notify-add-watch): Do not register an entry twice.
65168         * src/kqueue.c (kqueue_directory_listing): New function.
65169         (kqueue_generate_event): New argument FILE1.  Adapt callees.
65170         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
65172 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
65174         Implement directory events
65176         * lisp/filenotify.el (file-notify-handle-event)
65177         (file-notify-callback): Remove traces.
65179         * src/kqueue.c: Include <sys/time.h>.
65180         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
65181         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
65182         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
65183         Compute initial directory listing.  Close file descriptor in case
65184         of errors.
65185         (syms_of_kqueue): Declare Qcreate.
65187 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
65189         Build fixes for kqueue support.
65191         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
65192         flag.
65194         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
65195         kqueue on *BSD.
65197 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
65199         Continue kqueue implementation
65201         * lisp/filenotify.el (file-notify-handle-event)
65202         (file-notify-callback): Enable trace messages.
65204         * src/kqueue.c: Include also <sys/types.h>.
65205         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
65206         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
65207         (syms_of_kqueue): Add them.
65209 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
65211         Work on kqueue
65213         * lisp/filenotify.el (file-notify--library)
65214         (file-notify-descriptors, file-notify-callback)
65215         (file-notify-add-watch, file-notify-rm-watch)
65216         (file-notify-valid-p): Add kqueue support.
65218         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
65220 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
65222         Add kqueue support
65224         * configure.ac (--with-file-notification): Add kqueue.
65225         (top): Remove special test for "${HAVE_NS}" and
65226         ${with_file_notification}, this is handled inside gfilenotify
65227         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
65228         instead of library specific variables.
65230         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
65232         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
65234         * src/kqueue.c: New file.
65236         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
65238 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
65240         Some final fixes in file notification before merging with master
65242         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
65243         (file-notify-callback): Improve check for `stopped' event.  Call
65244         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
65245         (file-notify-add-watch): In case FILE is not a directory, call the
65246         file monitor for the kqueue backend.  Otherwise, call the
65247         directory monitor for the upper directory.
65249         * src/inotify.c (inotifyevent_to_event): Extract file name from
65250         watch_object if the event doesn't provide it.
65251         (Finotify_add_watch): Add file name to watch_object.
65253         * test/automated/file-notify-tests.el (file-notify--test-timeout):
65254         Use different timeouts for different libraries.
65255         (file-notify--test-with-events): Suppress lock files.  Flush
65256         outstanding events before running the body.
65257         (file-notify-test02-events, file-notify-test04-file-validity): Do
65258         not skip cygwin tests.  Add additional test for file creation.
65259         Adapt expected result for different backends.
65260         (file-notify-test03-autorevert): Some of the tests don't work for
65261         w32notify.
65262         (file-notify-test06-many-events): Rename into both directions.
65264 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
65266         Update elisp-mode-tests for changed file location.
65268          * test/lisp/progmodes/elisp-mode-tests.el:
65270 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
65272         Exclude manual tests from Makefile
65274          * test/Makefile.in:
65276 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
65278         Move package test files to new directory.
65280          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
65281          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
65283 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
65285         Restore delete Makefiles and fix .gitignore.
65287          * .gitignore: Update Makefiles to changed locations
65288          * test/lisp/progmodes/flymake-resources/Makefile,
65289            test/manual/etags/Makefile,
65290            test/manual/etags/make-src/Makefile,
65291            test/manual/indent/Makefile: Restored and moved to new location.
65293 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
65295         Test infrastructure: updates after directory move
65297          * (test/Makefile.in): Support directories several levels deep.
65298          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
65299          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
65301 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
65303         Rename all test files to reflect source layout.
65305         * CONTRIBUTE, Makefile.in, configure.ac: Update to reflect
65306         test directory moves.
65307         * test/file-organisation.org: New file.
65308         * test/automated/Makefile.in:
65309         * test/automated/data/decompress/foo.gz:
65310         * test/automated/data/epg/pubkey.asc:
65311         * test/automated/data/epg/seckey.asc:
65312         * test/automated/data/files-bug18141.el.gz:
65313         * test/automated/data/flymake/test.c:
65314         * test/automated/data/flymake/test.pl:
65315         * test/automated/data/package/archive-contents:
65316         * test/automated/data/package/key.pub:
65317         * test/automated/data/package/key.sec:
65318         * test/automated/data/package/multi-file-0.2.3.tar:
65319         * test/automated/data/package/multi-file-readme.txt:
65320         * test/automated/data/package/newer-versions/archive-contents:
65321         * test/automated/data/package/newer-versions/new-pkg-1.0.el:
65322         * test/automated/data/package/newer-versions/simple-single-1.4.el:
65323         * test/automated/data/package/package-test-server.py:
65324         * test/automated/data/package/signed/archive-contents:
65325         * test/automated/data/package/signed/archive-contents.sig:
65326         * test/automated/data/package/signed/signed-bad-1.0.el:
65327         * test/automated/data/package/signed/signed-bad-1.0.el.sig:
65328         * test/automated/data/package/signed/signed-good-1.0.el:
65329         * test/automated/data/package/signed/signed-good-1.0.el.sig:
65330         * test/automated/data/package/simple-depend-1.0.el:
65331         * test/automated/data/package/simple-single-1.3.el:
65332         * test/automated/data/package/simple-single-readme.txt:
65333         * test/automated/data/package/simple-two-depend-1.1.el:
65334         * test/automated/abbrev-tests.el:
65335         * test/automated/auto-revert-tests.el:
65336         * test/automated/calc-tests.el:
65337         * test/automated/icalendar-tests.el:
65338         * test/automated/character-fold-tests.el:
65339         * test/automated/comint-testsuite.el:
65340         * test/automated/descr-text-test.el:
65341         * test/automated/electric-tests.el:
65342         * test/automated/cl-generic-tests.el:
65343         * test/automated/cl-lib-tests.el:
65344         * test/automated/eieio-test-methodinvoke.el:
65345         * test/automated/eieio-test-persist.el:
65346         * test/automated/eieio-tests.el:
65347         * test/automated/ert-tests.el:
65348         * test/automated/ert-x-tests.el:
65349         * test/automated/generator-tests.el:
65350         * test/automated/let-alist.el:
65351         * test/automated/map-tests.el:
65352         * test/automated/advice-tests.el:
65353         * test/automated/package-test.el:
65354         * test/automated/pcase-tests.el:
65355         * test/automated/regexp-tests.el:
65356         * test/automated/seq-tests.el:
65357         * test/automated/subr-x-tests.el:
65358         * test/automated/tabulated-list-test.el:
65359         * test/automated/thunk-tests.el:
65360         * test/automated/timer-tests.el:
65361         * test/automated/epg-tests.el:
65362         * test/automated/eshell.el:
65363         * test/automated/faces-tests.el:
65364         * test/automated/file-notify-tests.el:
65365         * test/automated/auth-source-tests.el:
65366         * test/automated/gnus-tests.el:
65367         * test/automated/message-mode-tests.el:
65368         * test/automated/help-fns.el:
65369         * test/automated/imenu-test.el:
65370         * test/automated/info-xref.el:
65371         * test/automated/mule-util.el:
65372         * test/automated/isearch-tests.el:
65373         * test/automated/json-tests.el:
65374         * test/automated/bytecomp-tests.el:
65375         * test/automated/coding-tests.el:
65376         * test/automated/core-elisp-tests.el:
65377         * test/automated/decoder-tests.el:
65378         * test/automated/files.el:
65379         * test/automated/font-parse-tests.el:
65380         * test/automated/lexbind-tests.el:
65381         * test/automated/occur-tests.el:
65382         * test/automated/process-tests.el:
65383         * test/automated/syntax-tests.el:
65384         * test/automated/textprop-tests.el:
65385         * test/automated/undo-tests.el:
65386         * test/automated/man-tests.el:
65387         * test/automated/completion-tests.el:
65388         * test/automated/dbus-tests.el:
65389         * test/automated/newsticker-tests.el:
65390         * test/automated/sasl-scram-rfc-tests.el:
65391         * test/automated/tramp-tests.el:
65392         * test/automated/obarray-tests.el:
65393         * test/automated/compile-tests.el:
65394         * test/automated/elisp-mode-tests.el:
65395         * test/automated/f90.el:
65396         * test/automated/flymake-tests.el:
65397         * test/automated/python-tests.el:
65398         * test/automated/ruby-mode-tests.el:
65399         * test/automated/subword-tests.el:
65400         * test/automated/replace-tests.el:
65401         * test/automated/simple-test.el:
65402         * test/automated/sort-tests.el:
65403         * test/automated/subr-tests.el:
65404         * test/automated/reftex-tests.el:
65405         * test/automated/sgml-mode-tests.el:
65406         * test/automated/tildify-tests.el:
65407         * test/automated/thingatpt.el:
65408         * test/automated/url-future-tests.el:
65409         * test/automated/url-util-tests.el:
65410         * test/automated/add-log-tests.el:
65411         * test/automated/vc-bzr.el:
65412         * test/automated/vc-tests.el:
65413         * test/automated/xml-parse-tests.el:
65414         * test/BidiCharacterTest.txt:
65415         * test/biditest.el:
65416         * test/cedet/cedet-utests.el:
65417         * test/cedet/ede-tests.el:
65418         * test/cedet/semantic-ia-utest.el:
65419         * test/cedet/semantic-tests.el:
65420         * test/cedet/semantic-utest-c.el:
65421         * test/cedet/semantic-utest.el:
65422         * test/cedet/srecode-tests.el:
65423         * test/cedet/tests/test.c:
65424         * test/cedet/tests/test.el:
65425         * test/cedet/tests/test.make:
65426         * test/cedet/tests/testdoublens.cpp:
65427         * test/cedet/tests/testdoublens.hpp:
65428         * test/cedet/tests/testfriends.cpp:
65429         * test/cedet/tests/testjavacomp.java:
65430         * test/cedet/tests/testnsp.cpp:
65431         * test/cedet/tests/testpolymorph.cpp:
65432         * test/cedet/tests/testspp.c:
65433         * test/cedet/tests/testsppcomplete.c:
65434         * test/cedet/tests/testsppreplace.c:
65435         * test/cedet/tests/testsppreplaced.c:
65436         * test/cedet/tests/testsubclass.cpp:
65437         * test/cedet/tests/testsubclass.hh:
65438         * test/cedet/tests/testtypedefs.cpp:
65439         * test/cedet/tests/testvarnames.c:
65440         * test/etags/CTAGS.good:
65441         * test/etags/ETAGS.good_1:
65442         * test/etags/ETAGS.good_2:
65443         * test/etags/ETAGS.good_3:
65444         * test/etags/ETAGS.good_4:
65445         * test/etags/ETAGS.good_5:
65446         * test/etags/ETAGS.good_6:
65447         * test/etags/a-src/empty.zz:
65448         * test/etags/a-src/empty.zz.gz:
65449         * test/etags/ada-src/2ataspri.adb:
65450         * test/etags/ada-src/2ataspri.ads:
65451         * test/etags/ada-src/etags-test-for.ada:
65452         * test/etags/ada-src/waroquiers.ada:
65453         * test/etags/c-src/a/b/b.c:
65454         * test/etags/c-src/abbrev.c:
65455         * test/etags/c-src/c.c:
65456         * test/etags/c-src/dostorture.c:
65457         * test/etags/c-src/emacs/src/gmalloc.c:
65458         * test/etags/c-src/emacs/src/keyboard.c:
65459         * test/etags/c-src/emacs/src/lisp.h:
65460         * test/etags/c-src/emacs/src/regex.h:
65461         * test/etags/c-src/etags.c:
65462         * test/etags/c-src/exit.c:
65463         * test/etags/c-src/exit.strange_suffix:
65464         * test/etags/c-src/fail.c:
65465         * test/etags/c-src/getopt.h:
65466         * test/etags/c-src/h.h:
65467         * test/etags/c-src/machsyscalls.c:
65468         * test/etags/c-src/machsyscalls.h:
65469         * test/etags/c-src/sysdep.h:
65470         * test/etags/c-src/tab.c:
65471         * test/etags/c-src/torture.c:
65472         * test/etags/cp-src/MDiagArray2.h:
65473         * test/etags/cp-src/Range.h:
65474         * test/etags/cp-src/burton.cpp:
65475         * test/etags/cp-src/c.C:
65476         * test/etags/cp-src/clheir.cpp.gz:
65477         * test/etags/cp-src/clheir.hpp:
65478         * test/etags/cp-src/conway.cpp:
65479         * test/etags/cp-src/conway.hpp:
65480         * test/etags/cp-src/fail.C:
65481         * test/etags/cp-src/functions.cpp:
65482         * test/etags/cp-src/screen.cpp:
65483         * test/etags/cp-src/screen.hpp:
65484         * test/etags/cp-src/x.cc:
65485         * test/etags/el-src/TAGTEST.EL:
65486         * test/etags/el-src/emacs/lisp/progmodes/etags.el:
65487         * test/etags/erl-src/gs_dialog.erl:
65488         * test/etags/f-src/entry.for:
65489         * test/etags/f-src/entry.strange.gz:
65490         * test/etags/f-src/entry.strange_suffix:
65491         * test/etags/forth-src/test-forth.fth:
65492         * test/etags/html-src/algrthms.html:
65493         * test/etags/html-src/index.shtml:
65494         * test/etags/html-src/software.html:
65495         * test/etags/html-src/softwarelibero.html:
65496         * test/etags/lua-src/allegro.lua:
65497         * test/etags/objc-src/PackInsp.h:
65498         * test/etags/objc-src/PackInsp.m:
65499         * test/etags/objc-src/Subprocess.h:
65500         * test/etags/objc-src/Subprocess.m:
65501         * test/etags/objcpp-src/SimpleCalc.H:
65502         * test/etags/objcpp-src/SimpleCalc.M:
65503         * test/etags/pas-src/common.pas:
65504         * test/etags/perl-src/htlmify-cystic:
65505         * test/etags/perl-src/kai-test.pl:
65506         * test/etags/perl-src/yagrip.pl:
65507         * test/etags/php-src/lce_functions.php:
65508         * test/etags/php-src/ptest.php:
65509         * test/etags/php-src/sendmail.php:
65510         * test/etags/prol-src/natded.prolog:
65511         * test/etags/prol-src/ordsets.prolog:
65512         * test/etags/ps-src/rfc1245.ps:
65513         * test/etags/pyt-src/server.py:
65514         * test/etags/tex-src/gzip.texi:
65515         * test/etags/tex-src/nonewline.tex:
65516         * test/etags/tex-src/testenv.tex:
65517         * test/etags/tex-src/texinfo.tex:
65518         * test/etags/y-src/atest.y:
65519         * test/etags/y-src/cccp.c:
65520         * test/etags/y-src/cccp.y:
65521         * test/etags/y-src/parse.c:
65522         * test/etags/y-src/parse.y:
65523         * test/indent/css-mode.css:
65524         * test/indent/js-indent-init-dynamic.js:
65525         * test/indent/js-indent-init-t.js:
65526         * test/indent/js-jsx.js:
65527         * test/indent/js.js:
65528         * test/indent/latex-mode.tex:
65529         * test/indent/modula2.mod:
65530         * test/indent/nxml.xml:
65531         * test/indent/octave.m:
65532         * test/indent/pascal.pas:
65533         * test/indent/perl.perl:
65534         * test/indent/prolog.prolog:
65535         * test/indent/ps-mode.ps:
65536         * test/indent/ruby.rb:
65537         * test/indent/scheme.scm:
65538         * test/indent/scss-mode.scss:
65539         * test/indent/sgml-mode-attribute.html:
65540         * test/indent/shell.rc:
65541         * test/indent/shell.sh:
65542         * test/redisplay-testsuite.el:
65543         * test/rmailmm.el:
65544         * test/automated/buffer-tests.el:
65545         * test/automated/cmds-tests.el:
65546         * test/automated/data-tests.el:
65547         * test/automated/finalizer-tests.el:
65548         * test/automated/fns-tests.el:
65549         * test/automated/inotify-test.el:
65550         * test/automated/keymap-tests.el:
65551         * test/automated/print-tests.el:
65552         * test/automated/libxml-tests.el:
65553         * test/automated/zlib-tests.el: Files Moved.
65555 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
65557         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
65559         * lisp/progmodes/verilog-mode.el
65560         (verilog-save-font-no-change-functions): Commentary and fix
65561         pre-Emacs 21 behavior.
65563 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
65565         Rework file notifications, kqueue has problems with directory monitors
65567         * lisp/filenotify.el (file-notify-add-watch): Call the native
65568         add-watch function on the file, not on the dir.
65570         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
65571         about already deleted entries.
65573         * test/automated/auto-revert-tests.el
65574         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
65575         since this deletes the target file first.
65577         * test/automated/file-notify-tests.el (file-notify--test-event-test):
65578         Make stronger checks.
65579         (file-notify-test01-add-watch, file-notify-test02-events)
65580         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
65581         Rewrite in order to call file monitors but directory monitors.
65582         (file-notify-test06-many-events): Ler rename work in both directions.
65584 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
65586         Use obarray functions from obarray.
65588         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
65589           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
65590           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
65591           delegate to obarray.el functions.
65592         * lisp/loadup.el: load obarray before abbrev
65593         * test/automated/abbrev-tests.el: new tests
65595 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
65597         Continie with pending events
65599         * src/kqueue.c (pending_events): Remove global variable.
65600         (kqueue_compare_dir_list): Create `write' event for not used
65601         pending events.
65602         (globals_of_kqueue): Remove initialization of pending_events.
65604 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
65606         Improve loops in file-notify-test06-many-events
65608         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
65609         Use `read-event' pauses for the `write-file' loops; otherwise
65610         events are lost in inotify and gfilenotify cases.
65612 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
65614         Handle more complex rename operation in kqueue
65616         * src/kqueue.c (pending_events): New variable.
65617         (kqueue_compare_dir_list): Handle more complex rename operation.
65618         (globals_of_kqueue): Initialize pending_events.
65620         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
65621         Adapt expected events in the `rename-file' case.
65622         (file-notify-test06-many-events-remote): Declare.
65624 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
65626         epa.el: Add option to replace original text
65628         * lisp/epa.el (epa-replace-original-text): New user option.
65629         (Bug#21947)
65631 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
65633         Add interactive seek command.
65635         * lisp/mpc.el (mpc-cmd-seekcur): New function.
65636         (mpc-seek-current): New command.
65637         (mpc-mode-menu): Add entry for mpc-seek-current
65638         (mpc-mode-map): Bind mpc-seek-current to "g"
65640 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
65642         Fix issue where a new tempfile was created every refresh
65644         * lisp/mpc.el (mpc-format): Leave dir as relative path
65646 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
65648         New test with a larger number of events.
65650         * test/automated/file-notify-tests.el (file-notify--test-with-events):
65651         Make timeout heuristically depend on the number of events.
65653         (file-notify-test06-many-events): Use it for new test.
65655 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
65657         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
65659         (c-save-buffer-state): Use with-silent-modifications when available.
65660         (c--macroexpand-all): Check macroexpand-all directly rather than
65661         c--mapcan-status.
65663 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
65665         * lisp/loadup.el: Set max-lisp-eval-depth here
65667         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
65668         (BYTE_COMPILE_FLAGS): Adjust accordingly.
65670 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
65672         Further fixes for kqueue.
65674         * lisp/filenotify.el (file-notify-callback): Raise also event if
65675         directory name matches.
65676         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
65678         * src/kqueue.c (kqueue_generate_event): Use watch_object as
65679         argument instead of ident.  Remove callback argument.  Adapt
65680         callees.  Check actions whether they are monitored flags.
65682         * test/automated/file-notify-tests.el (file-notify--test-library):
65683         New defun.
65684         (file-notify-test00-availability, file-notify-test02-events)
65685         (file-notify-test04-file-validity)
65686         (file-notify-test05-dir-validity): Use it.
65687         (file-notify-test02-events, file-notify-test04-file-validity): Add
65688         `read-event' calls between different file actions, in order to
65689         give the backends a chance to rais an event.  Needed especially
65690         for kqueue.  In case of deleting a directory, there are two
65691         `deleted' events.
65693 2015-11-17  João Távora  <joaotavora@gmail.com>
65695         Minor fix to comment indentation and typo in last commit
65697         * lisp/linum.el (linum-update-window): Fix comment indentation and
65698         a typo.
65700 2015-11-17  João Távora  <joaotavora@gmail.com>
65702         linum-mode plays more nicely with other margin-setting extensions
65704         linum.el will only modify the left margin if it needs to, and will
65705         only reset the it back to 0 if it guesses that no-one has touched that
65706         margin in the meantime.
65708         As such, this is a more of a workaround than an actual fix, but fixes
65709         the problems described in bug#20674 regarding the interaction with
65710         modes such as darkroom-mode and olivetti-mode.
65712         A similar fix was commited to nlinum.el in ELPA.git's
65713         e7f5f549fbfb740b911fb7f33b42381ecece56d8
65715         * lisp/linum.el (linum-delete-overlays): Restore margins more
65716         criteriously.
65717         (linum-update-window): Set margins more criteriously.
65719 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
65721         Code cleanup of kqueue.c
65723         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
65724         (kqueue_compare_dir_list): Do not loop when calling
65725         directory_files_internal.  Remove checks for "." and "..", this is
65726         done in kqueue_directory_listing now.
65727         (Fkqueue_add_watch): Check for proper emacs_open flags.
65729 2015-11-16  Daiki Ueno  <ueno@gnu.org>
65731         * lisp/image-mode.el: Support encrypted file
65733         (image-toggle-display-image): Read content from the buffer instead
65734         of the file, if the buffer holds a decrypted data.  (Bug#21870)
65736 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
65738         Doc changes for kqueue
65740         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
65741         Fix some glitches in the example.
65743 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
65745         Finish implementation in kqueue.c
65747         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
65748         Simplify access to list.
65749         (kqueue_compare_dir_list): Simplify access to list.  Raise
65750         `delete' event if directory does not exist any longer.  Otherwise,
65751         wait until directory contents has changed.  Fix error in check.
65753 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
65755         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
65757 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
65759         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
65761 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
65763         * lisp/emacs-lisp/package.el: Fix a decoding issue
65765         (package--with-response-buffer): Use `url-insert-buffer-contents'.
65766         The previous code had some issues with decoding. Refactoring that
65767         function allows us to use the decoding from url-handlers while still
65768         treating both sync and async requests the same.
65770         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
65771         `url-insert-buffer-contents'.
65772         (url-insert-buffer-contents): New function
65774 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
65776         * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
65778         (package--with-work-buffer-async): Reimplement as
65779         `package--with-response-buffer'.
65780         (package--with-work-buffer): Mark obsolete.
65781         (package--with-response-buffer): New macro. This is a more self
65782         contained and less contrived version of
65783         `package--with-work-buffer-async'.  It uses keyword arguments,
65784         doesn't have async on the name, doesn't fallback on
65785         `package--with-work-buffer', and has _much_ simpler error
65786         handling.
65788         (package--check-signature, package--download-one-archive)
65789         (package-install-from-archive, describe-package-1): Use it.
65791         (package--download-and-read-archives): Let
65792         `package--download-one-archive' take care of calling
65793         `package--update-downloads-in-progress'.
65795 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
65797         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
65799         (verilog-save-buffer-state): Use with-silent-modifications when available.
65800         (verilog-save-font-no-change-functions): Don't bind
65801         before/after-change-functions if it's not needed.
65803 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
65805         More work on kqueue
65807         * lisp/filenotify.el (file-notify-callback): Handle also the
65808         `rename' event from kqueue.
65809         (file-notify-add-watch): Do not register an entry twice.
65811         * src/kqueue.c (kqueue_directory_listing): New function.
65812         (kqueue_generate_event): New argument FILE1.  Adapt callees.
65813         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
65815 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
65817         * CONTRIBUTE: Remove information about feature freeze.
65819         Merge branch 'release-process-lowercase'
65821 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
65823         Document the release process
65825         * admin/notes/versioning: Add information about RC releases.
65826         * admin/release-process: Document the release process.
65827         * admin/authors.el (authors-ignored-files):
65828         * admin/README: Change FOR-RELEASE to release-process.
65829         * CONTRIBUTE:
65830         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
65832 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
65834         * admin/release-process: Rename from admin/FOR-RELEASE.
65836 2015-11-14  David Engster  <deng@randomsample.de>
65838         gitmerge: Fix git log command
65840         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
65841         only want commits from the branch that is to be merged.
65842         (gitmerge-setup-log-buffer): Use the same symmetric range as in
65843         `gitmerge-missing'.
65845 2015-11-14  David Engster  <deng@randomsample.de>
65847         gitmerge: Try to detect cherry-picks
65849         * admin/gitmerge.el (gitmerge-default-branch): Change to
65850         origin/emacs-25.
65851         (gitmerge-missing): Use symmetric difference ('...') between
65852         branch and master so that cherry-picks can be detected.
65854 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
65856         Implement directory events
65858         * lisp/filenotify.el (file-notify-handle-event)
65859         (file-notify-callback): Remove traces.
65861         * src/kqueue.c: Include <sys/time.h>.
65862         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
65863         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
65864         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
65865         Compute initial directory listing.  Close file descriptor in case
65866         of errors.
65867         (syms_of_kqueue): Declare Qcreate.
65869 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
65871         Increment Emacs version on master branch
65873         * lisp/cus-edit.el (customize-changed-options-previous-release):
65874         Increase previous version to 24.5.
65876         * configure.ac:
65877         * msdos/sed2v2.inp: Bump version to 25.1.50.
65879 2015-11-13  Xue Fuqiao  <xfq.free@gmail.com>
65881         Mention CONTRIBUTE in README
65883         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
65884         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
65885         * README: Mention CONTRIBUTE.
65887 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
65889         Update verilog-mode.el to 2015-11-09-b121d60-vpo.
65891         * lisp/progmodes/verilog-mode.el (verilog-auto, verilog-delete-auto)
65892         (verilog-modi-cache-results, verilog-save-buffer-state)
65893         (verilog-save-font-no-change-functions): When internally suppressing change
65894         functions, use `inhibit-modification-hooks' and call
65895         `after-change-funtions' to more nicely work with user hooks.  Reported by
65896         Stefan Monnier.
65898         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
65899         Create `verilog-delete-auto-buffer' to avoid double-calling
65900         fontification hooks.
65902         (verilog-restore-buffer-modified-p, verilog-auto)
65903         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
65904         set-buffer-modified-p. Reported by Stefan Monnier.
65906         (verilog-diff-auto, verilog-diff-buffers-p)
65907         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
65909         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
65910         AUTOINST with unpacked dimensional parameters, bug981. Reported by
65911         by Amol Nagapurkar.
65913         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
65914         properties inside internal structures. No functional change
65915         intended.
65917 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
65919         Build fixes for kqueue support.
65921         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
65922         flag.
65924         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
65925         kqueue on *BSD.
65927 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
65929         Continue kqueue implementation
65931         * lisp/filenotify.el (file-notify-handle-event)
65932         (file-notify-callback): Enable trace messages.
65934         * src/kqueue.c: Include also <sys/types.h>.
65935         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
65936         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
65937         (syms_of_kqueue): Add them.
65939 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
65941         Work on kqueue
65943         * lisp/filenotify.el (file-notify--library)
65944         (file-notify-descriptors, file-notify-callback)
65945         (file-notify-add-watch, file-notify-rm-watch)
65946         (file-notify-valid-p): Add kqueue support.
65948         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
65950 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
65952         Add kqueue support
65954         * configure.ac (--with-file-notification): Add kqueue.
65955         (top): Remove special test for "${HAVE_NS}" and
65956         ${with_file_notification}, this is handled inside gfilenotify
65957         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
65958         instead of library specific variables.
65960         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
65962         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
65964         * src/kqueue.c: New file.
65966         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
65968 This file records repository revisions from
65969 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
65970 commit eca2677b1db94a126b6d2871526a1d6fce98353d (inclusive).
65971 See ChangeLog.1 for earlier changes.
65973 ;; Local Variables:
65974 ;; coding: utf-8
65975 ;; End:
65977   Copyright (C) 2015-2019 Free Software Foundation, Inc.
65979   This file is part of GNU Emacs.
65981   GNU Emacs is free software: you can redistribute it and/or modify
65982   it under the terms of the GNU General Public License as published by
65983   the Free Software Foundation, either version 3 of the License, or
65984   (at your option) any later version.
65986   GNU Emacs is distributed in the hope that it will be useful,
65987   but WITHOUT ANY WARRANTY; without even the implied warranty of
65988   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
65989   GNU General Public License for more details.
65991   You should have received a copy of the GNU General Public License
65992   along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.